@flarehr/workflows-app 4.33.0 → 4.34.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tests.js +21 -21
- package/dist/workflows-app.js +1 -1
- package/package.json +1 -1
package/dist/tests.js
CHANGED
|
@@ -27,7 +27,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
27
27
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
28
28
|
|
|
29
29
|
"use strict";
|
|
30
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InviteBrandingDto: () => (/* binding */ InviteBrandingDto),\n/* harmony export */ InviteBrandingDto$reflection: () => (/* binding */ InviteBrandingDto$reflection),\n/* harmony export */ InviteBrandingDtoModule_ofDomain: () => (/* binding */ InviteBrandingDtoModule_ofDomain),\n/* harmony export */ InviteBrandingDtoModule_toDomain: () => (/* binding */ InviteBrandingDtoModule_toDomain),\n/* harmony export */ SupportDto: () => (/* binding */ SupportDto),\n/* harmony export */ SupportDto$reflection: () => (/* binding */ SupportDto$reflection),\n/* harmony export */ SupportDtoModule_ofDomain: () => (/* binding */ SupportDtoModule_ofDomain),\n/* harmony export */ SupportDtoModule_toDomain: () => (/* binding */ SupportDtoModule_toDomain)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n\n\n\n\n\nclass InviteBrandingDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_1__.Record {\n constructor(CompanyName, Logo, Support) {\n super();\n this.CompanyName = CompanyName;\n this.Logo = Logo;\n this.Support = Support;\n }\n}\n\nfunction InviteBrandingDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.record_type)(\"Workflows.Business.Aggregates.CommonDto.InviteBrandingDto\", [], InviteBrandingDto, () => [[\"CompanyName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.string_type)], [\"Logo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.string_type)], [\"Support\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(SupportDto$reflection())]]);\n}\n\nclass SupportDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_1__.Record {\n constructor(Email, Phone) {\n super();\n this.Email = Email;\n this.Phone = Phone;\n }\n}\n\nfunction SupportDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.record_type)(\"Workflows.Business.Aggregates.CommonDto.SupportDto\", [], SupportDto, () => [[\"Email\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.string_type)], [\"Phone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.string_type)]]);\n}\n\nfunction SupportDtoModule_toDomain(dto) {\n let input_8;\n const input_1 = dto.Email;\n if (input_1 != null) {\n const input_2 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.EmailModule_create)(input_1);\n input_8 = ((input_2.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_2.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_2.fields[0])));\n }\n else {\n input_8 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_8.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_8.fields[0]);\n }\n else {\n let input_6;\n const input_4 = dto.Phone;\n if (input_4 != null) {\n const input_5 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.PhoneModule_create)(input_4);\n input_6 = ((input_5.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_5.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_5.fields[0])));\n }\n else {\n input_6 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_6.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_6.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, new _Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.Support(input_8.fields[0], input_6.fields[0]));\n }\n }\n}\n\nfunction SupportDtoModule_ofDomain(domain) {\n let x_1, x_3;\n return new SupportDto((x_1 = domain.Email, (x_1 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.EmailModule_value)(x_1)), (x_3 = domain.Phone, (x_3 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.PhoneModule_value)(x_3)));\n}\n\nfunction InviteBrandingDtoModule_toDomain(dto) {\n let input_13;\n const input_1 = dto.Logo;\n if (input_1 != null) {\n const input_2 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.LogoModule_create)(input_1);\n input_13 = ((input_2.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_2.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_2.fields[0])));\n }\n else {\n input_13 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_13.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_13.fields[0]);\n }\n else {\n let input_11;\n const input_4 = dto.CompanyName;\n if (input_4 != null) {\n const input_5 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.CompanyNameModule_create)(input_4);\n input_11 = ((input_5.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_5.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_5.fields[0])));\n }\n else {\n input_11 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_11.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_11.fields[0]);\n }\n else {\n let input_9;\n const input_7 = dto.Support;\n if (input_7 != null) {\n const input_8 = SupportDtoModule_toDomain(input_7);\n input_9 = ((input_8.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_8.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_8.fields[0])));\n }\n else {\n input_9 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_9.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_9.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, new _Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.InviteBranding(input_11.fields[0], input_13.fields[0], input_9.fields[0]));\n }\n }\n }\n}\n\nfunction InviteBrandingDtoModule_ofDomain(domain) {\n let x_1, x_3, x_5;\n return new InviteBrandingDto((x_1 = domain.CompanyName, (x_1 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.CompanyNameModule_value)(x_1)), (x_3 = domain.Logo, (x_3 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.LogoModule_value)(x_3)), (x_5 = domain.Support, (x_5 == null) ? (void 0) : SupportDtoModule_ofDomain(x_5)));\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvQ29tbW9uRHRvLmZzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFpSDtBQUNvQztBQUMwRTtBQUNyRzs7QUFFbkgsZ0NBQWdDLHNIQUFNO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxvSUFBVyw0R0FBNEcsb0lBQVcsQ0FBQyxnSUFBVyxhQUFhLG9JQUFXLENBQUMsZ0lBQVcsZ0JBQWdCLG9JQUFXO0FBQ3hOOztBQUVPLHlCQUF5QixzSEFBTTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLG9JQUFXLHdGQUF3RixvSUFBVyxDQUFDLGdJQUFXLGNBQWMsb0lBQVcsQ0FBQyxnSUFBVztBQUMxSzs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpRUFBa0I7QUFDMUMsOENBQThDLCtIQUFjLCtCQUErQiwrSEFBYztBQUN6RztBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjO0FBQ3JDO0FBQ0E7QUFDQSxtQkFBbUIsK0hBQWM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixpRUFBa0I7QUFDOUMsa0RBQWtELCtIQUFjLCtCQUErQiwrSEFBYztBQUM3RztBQUNBO0FBQ0EsMkJBQTJCLCtIQUFjO0FBQ3pDO0FBQ0E7QUFDQSx1QkFBdUIsK0hBQWM7QUFDckM7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLGtEQUFPO0FBQ3BEO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0EsMEVBQTBFLGdFQUFpQix3REFBd0QsZ0VBQWlCO0FBQ3BLOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdFQUFpQjtBQUN6QywrQ0FBK0MsK0hBQWMsK0JBQStCLCtIQUFjO0FBQzFHO0FBQ0E7QUFDQSx3QkFBd0IsK0hBQWM7QUFDdEM7QUFDQTtBQUNBLG1CQUFtQiwrSEFBYztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHVFQUF3QjtBQUNwRCxtREFBbUQsK0hBQWMsK0JBQStCLCtIQUFjO0FBQzlHO0FBQ0E7QUFDQSw0QkFBNEIsK0hBQWM7QUFDMUM7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QsK0hBQWMsK0JBQStCLCtIQUFjO0FBQ2pIO0FBQ0E7QUFDQSwrQkFBK0IsK0hBQWM7QUFDN0M7QUFDQTtBQUNBLDJCQUEyQiwrSEFBYztBQUN6QztBQUNBO0FBQ0EsMkJBQTJCLCtIQUFjLFFBQVEseURBQWM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBLHVGQUF1RixzRUFBdUIsdURBQXVELCtEQUFnQjtBQUNyTCIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvQ29tbW9uRHRvLmZzLmpzPzdhYjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSBcIi4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9UeXBlcy5qc1wiO1xuaW1wb3J0IHsgcmVjb3JkX3R5cGUsIG9wdGlvbl90eXBlLCBzdHJpbmdfdHlwZSB9IGZyb20gXCIuLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvUmVmbGVjdGlvbi5qc1wiO1xuaW1wb3J0IHsgTG9nb01vZHVsZV92YWx1ZSwgQ29tcGFueU5hbWVNb2R1bGVfdmFsdWUsIEludml0ZUJyYW5kaW5nLCBDb21wYW55TmFtZU1vZHVsZV9jcmVhdGUsIExvZ29Nb2R1bGVfY3JlYXRlLCBQaG9uZU1vZHVsZV92YWx1ZSwgRW1haWxNb2R1bGVfdmFsdWUsIFN1cHBvcnQsIFBob25lTW9kdWxlX2NyZWF0ZSwgRW1haWxNb2R1bGVfY3JlYXRlIH0gZnJvbSBcIi4vQ29tbW9uLmZzLmpzXCI7XG5pbXBvcnQgeyBGU2hhcnBSZXN1bHQkMiB9IGZyb20gXCIuLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBJbnZpdGVCcmFuZGluZ0R0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQ29tcGFueU5hbWUsIExvZ28sIFN1cHBvcnQpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5Db21wYW55TmFtZSA9IENvbXBhbnlOYW1lO1xuICAgICAgICB0aGlzLkxvZ28gPSBMb2dvO1xuICAgICAgICB0aGlzLlN1cHBvcnQgPSBTdXBwb3J0O1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEludml0ZUJyYW5kaW5nRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuQ29tbW9uRHRvLkludml0ZUJyYW5kaW5nRHRvXCIsIFtdLCBJbnZpdGVCcmFuZGluZ0R0bywgKCkgPT4gW1tcIkNvbXBhbnlOYW1lXCIsIG9wdGlvbl90eXBlKHN0cmluZ190eXBlKV0sIFtcIkxvZ29cIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiU3VwcG9ydFwiLCBvcHRpb25fdHlwZShTdXBwb3J0RHRvJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBTdXBwb3J0RHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihFbWFpbCwgUGhvbmUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5FbWFpbCA9IEVtYWlsO1xuICAgICAgICB0aGlzLlBob25lID0gUGhvbmU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3VwcG9ydER0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLkNvbW1vbkR0by5TdXBwb3J0RHRvXCIsIFtdLCBTdXBwb3J0RHRvLCAoKSA9PiBbW1wiRW1haWxcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiUGhvbmVcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU3VwcG9ydER0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBsZXQgaW5wdXRfODtcbiAgICBjb25zdCBpbnB1dF8xID0gZHRvLkVtYWlsO1xuICAgIGlmIChpbnB1dF8xICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgaW5wdXRfMiA9IEVtYWlsTW9kdWxlX2NyZWF0ZShpbnB1dF8xKTtcbiAgICAgICAgaW5wdXRfOCA9ICgoaW5wdXRfMi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF8yLmZpZWxkc1swXSkpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGlucHV0XzggPSAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCkpO1xuICAgIH1cbiAgICBpZiAoaW5wdXRfOC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF84LmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBsZXQgaW5wdXRfNjtcbiAgICAgICAgY29uc3QgaW5wdXRfNCA9IGR0by5QaG9uZTtcbiAgICAgICAgaWYgKGlucHV0XzQgIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfNSA9IFBob25lTW9kdWxlX2NyZWF0ZShpbnB1dF80KTtcbiAgICAgICAgICAgIGlucHV0XzYgPSAoKGlucHV0XzUudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNS5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfNS5maWVsZHNbMF0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpbnB1dF82ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5wdXRfNi50YWcgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNi5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgU3VwcG9ydChpbnB1dF84LmZpZWxkc1swXSwgaW5wdXRfNi5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN1cHBvcnREdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgbGV0IHhfMSwgeF8zO1xuICAgIHJldHVybiBuZXcgU3VwcG9ydER0bygoeF8xID0gZG9tYWluLkVtYWlsLCAoeF8xID09IG51bGwpID8gKHZvaWQgMCkgOiBFbWFpbE1vZHVsZV92YWx1ZSh4XzEpKSwgKHhfMyA9IGRvbWFpbi5QaG9uZSwgKHhfMyA9PSBudWxsKSA/ICh2b2lkIDApIDogUGhvbmVNb2R1bGVfdmFsdWUoeF8zKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSW52aXRlQnJhbmRpbmdEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgbGV0IGlucHV0XzEzO1xuICAgIGNvbnN0IGlucHV0XzEgPSBkdG8uTG9nbztcbiAgICBpZiAoaW5wdXRfMSAhPSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGlucHV0XzIgPSBMb2dvTW9kdWxlX2NyZWF0ZShpbnB1dF8xKTtcbiAgICAgICAgaW5wdXRfMTMgPSAoKGlucHV0XzIudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMi5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfMi5maWVsZHNbMF0pKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBpbnB1dF8xMyA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKSk7XG4gICAgfVxuICAgIGlmIChpbnB1dF8xMy50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xMy5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGV0IGlucHV0XzExO1xuICAgICAgICBjb25zdCBpbnB1dF80ID0gZHRvLkNvbXBhbnlOYW1lO1xuICAgICAgICBpZiAoaW5wdXRfNCAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF81ID0gQ29tcGFueU5hbWVNb2R1bGVfY3JlYXRlKGlucHV0XzQpO1xuICAgICAgICAgICAgaW5wdXRfMTEgPSAoKGlucHV0XzUudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNS5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfNS5maWVsZHNbMF0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpbnB1dF8xMSA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlucHV0XzExLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xMS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IGlucHV0Xzk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF83ID0gZHRvLlN1cHBvcnQ7XG4gICAgICAgICAgICBpZiAoaW5wdXRfNyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfOCA9IFN1cHBvcnREdG9Nb2R1bGVfdG9Eb21haW4oaW5wdXRfNyk7XG4gICAgICAgICAgICAgICAgaW5wdXRfOSA9ICgoaW5wdXRfOC50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF84LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF84LmZpZWxkc1swXSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlucHV0XzkgPSAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlucHV0XzkudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF85LmZpZWxkc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBJbnZpdGVCcmFuZGluZyhpbnB1dF8xMS5maWVsZHNbMF0sIGlucHV0XzEzLmZpZWxkc1swXSwgaW5wdXRfOS5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEludml0ZUJyYW5kaW5nRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIGxldCB4XzEsIHhfMywgeF81O1xuICAgIHJldHVybiBuZXcgSW52aXRlQnJhbmRpbmdEdG8oKHhfMSA9IGRvbWFpbi5Db21wYW55TmFtZSwgKHhfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogQ29tcGFueU5hbWVNb2R1bGVfdmFsdWUoeF8xKSksICh4XzMgPSBkb21haW4uTG9nbywgKHhfMyA9PSBudWxsKSA/ICh2b2lkIDApIDogTG9nb01vZHVsZV92YWx1ZSh4XzMpKSwgKHhfNSA9IGRvbWFpbi5TdXBwb3J0LCAoeF81ID09IG51bGwpID8gKHZvaWQgMCkgOiBTdXBwb3J0RHRvTW9kdWxlX29mRG9tYWluKHhfNSkpKTtcbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/CommonDto.fs.js\n");
|
|
30
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InviteBrandingDto: () => (/* binding */ InviteBrandingDto),\n/* harmony export */ InviteBrandingDto$reflection: () => (/* binding */ InviteBrandingDto$reflection),\n/* harmony export */ InviteBrandingDtoModule_ofDomain: () => (/* binding */ InviteBrandingDtoModule_ofDomain),\n/* harmony export */ InviteBrandingDtoModule_toDomain: () => (/* binding */ InviteBrandingDtoModule_toDomain),\n/* harmony export */ SupportDto: () => (/* binding */ SupportDto),\n/* harmony export */ SupportDto$reflection: () => (/* binding */ SupportDto$reflection),\n/* harmony export */ SupportDtoModule_ofDomain: () => (/* binding */ SupportDtoModule_ofDomain),\n/* harmony export */ SupportDtoModule_toDomain: () => (/* binding */ SupportDtoModule_toDomain)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n\n\n\n\n\nclass InviteBrandingDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_1__.Record {\n constructor(CompanyName, Logo, Support) {\n super();\n this.CompanyName = CompanyName;\n this.Logo = Logo;\n this.Support = Support;\n }\n}\n\nfunction InviteBrandingDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.record_type)(\"Workflows.Business.Aggregates.CommonDto.InviteBrandingDto\", [], InviteBrandingDto, () => [[\"CompanyName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.string_type)], [\"Logo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.string_type)], [\"Support\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(SupportDto$reflection())]]);\n}\n\nclass SupportDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_1__.Record {\n constructor(Email, Phone) {\n super();\n this.Email = Email;\n this.Phone = Phone;\n }\n}\n\nfunction SupportDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.record_type)(\"Workflows.Business.Aggregates.CommonDto.SupportDto\", [], SupportDto, () => [[\"Email\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.string_type)], [\"Phone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_2__.string_type)]]);\n}\n\nfunction SupportDtoModule_toDomain(dto) {\n let input_8;\n const input_1 = dto.Email;\n if (input_1 != null) {\n const input_2 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.EmailModule_create)(input_1);\n input_8 = ((input_2.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_2.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_2.fields[0])));\n }\n else {\n input_8 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_8.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_8.fields[0]);\n }\n else {\n let input_6;\n const input_4 = dto.Phone;\n if (input_4 != null) {\n const input_5 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.PhoneModule_create)(input_4);\n input_6 = ((input_5.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_5.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_5.fields[0])));\n }\n else {\n input_6 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_6.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_6.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, new _Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.Support(input_8.fields[0], input_6.fields[0]));\n }\n }\n}\n\nfunction SupportDtoModule_ofDomain(domain) {\n let input_1, input_3;\n return new SupportDto((input_1 = domain.Email, (input_1 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.EmailModule_value)(input_1)), (input_3 = domain.Phone, (input_3 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.PhoneModule_value)(input_3)));\n}\n\nfunction InviteBrandingDtoModule_toDomain(dto) {\n let input_13;\n const input_1 = dto.Logo;\n if (input_1 != null) {\n const input_2 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.LogoModule_create)(input_1);\n input_13 = ((input_2.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_2.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_2.fields[0])));\n }\n else {\n input_13 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_13.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_13.fields[0]);\n }\n else {\n let input_11;\n const input_4 = dto.CompanyName;\n if (input_4 != null) {\n const input_5 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.CompanyNameModule_create)(input_4);\n input_11 = ((input_5.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_5.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_5.fields[0])));\n }\n else {\n input_11 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_11.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_11.fields[0]);\n }\n else {\n let input_9;\n const input_7 = dto.Support;\n if (input_7 != null) {\n const input_8 = SupportDtoModule_toDomain(input_7);\n input_9 = ((input_8.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_8.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, input_8.fields[0])));\n }\n else {\n input_9 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, void 0));\n }\n if (input_9.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(1, input_9.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_3__.FSharpResult$2(0, new _Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.InviteBranding(input_11.fields[0], input_13.fields[0], input_9.fields[0]));\n }\n }\n }\n}\n\nfunction InviteBrandingDtoModule_ofDomain(domain) {\n let input_1, input_3, input_5;\n return new InviteBrandingDto((input_1 = domain.CompanyName, (input_1 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.CompanyNameModule_value)(input_1)), (input_3 = domain.Logo, (input_3 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_0__.LogoModule_value)(input_3)), (input_5 = domain.Support, (input_5 == null) ? (void 0) : SupportDtoModule_ofDomain(input_5)));\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvQ29tbW9uRHRvLmZzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFpSDtBQUNvQztBQUMwRTtBQUNyRzs7QUFFbkgsZ0NBQWdDLHNIQUFNO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxvSUFBVyw0R0FBNEcsb0lBQVcsQ0FBQyxnSUFBVyxhQUFhLG9JQUFXLENBQUMsZ0lBQVcsZ0JBQWdCLG9JQUFXO0FBQ3hOOztBQUVPLHlCQUF5QixzSEFBTTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLG9JQUFXLHdGQUF3RixvSUFBVyxDQUFDLGdJQUFXLGNBQWMsb0lBQVcsQ0FBQyxnSUFBVztBQUMxSzs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixpRUFBa0I7QUFDMUMsOENBQThDLCtIQUFjLCtCQUErQiwrSEFBYztBQUN6RztBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjO0FBQ3JDO0FBQ0E7QUFDQSxtQkFBbUIsK0hBQWM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixpRUFBa0I7QUFDOUMsa0RBQWtELCtIQUFjLCtCQUErQiwrSEFBYztBQUM3RztBQUNBO0FBQ0EsMkJBQTJCLCtIQUFjO0FBQ3pDO0FBQ0E7QUFDQSx1QkFBdUIsK0hBQWM7QUFDckM7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLGtEQUFPO0FBQ3BEO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0Esa0ZBQWtGLGdFQUFpQixvRUFBb0UsZ0VBQWlCO0FBQ3hMOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdFQUFpQjtBQUN6QywrQ0FBK0MsK0hBQWMsK0JBQStCLCtIQUFjO0FBQzFHO0FBQ0E7QUFDQSx3QkFBd0IsK0hBQWM7QUFDdEM7QUFDQTtBQUNBLG1CQUFtQiwrSEFBYztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHVFQUF3QjtBQUNwRCxtREFBbUQsK0hBQWMsK0JBQStCLCtIQUFjO0FBQzlHO0FBQ0E7QUFDQSw0QkFBNEIsK0hBQWM7QUFDMUM7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QsK0hBQWMsK0JBQStCLCtIQUFjO0FBQ2pIO0FBQ0E7QUFDQSwrQkFBK0IsK0hBQWM7QUFDN0M7QUFDQTtBQUNBLDJCQUEyQiwrSEFBYztBQUN6QztBQUNBO0FBQ0EsMkJBQTJCLCtIQUFjLFFBQVEseURBQWM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBLCtGQUErRixzRUFBdUIsbUVBQW1FLCtEQUFnQjtBQUN6TSIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvQ29tbW9uRHRvLmZzLmpzPzdhYjYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjb3JkIH0gZnJvbSBcIi4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9UeXBlcy5qc1wiO1xuaW1wb3J0IHsgcmVjb3JkX3R5cGUsIG9wdGlvbl90eXBlLCBzdHJpbmdfdHlwZSB9IGZyb20gXCIuLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvUmVmbGVjdGlvbi5qc1wiO1xuaW1wb3J0IHsgTG9nb01vZHVsZV92YWx1ZSwgQ29tcGFueU5hbWVNb2R1bGVfdmFsdWUsIEludml0ZUJyYW5kaW5nLCBDb21wYW55TmFtZU1vZHVsZV9jcmVhdGUsIExvZ29Nb2R1bGVfY3JlYXRlLCBQaG9uZU1vZHVsZV92YWx1ZSwgRW1haWxNb2R1bGVfdmFsdWUsIFN1cHBvcnQsIFBob25lTW9kdWxlX2NyZWF0ZSwgRW1haWxNb2R1bGVfY3JlYXRlIH0gZnJvbSBcIi4vQ29tbW9uLmZzLmpzXCI7XG5pbXBvcnQgeyBGU2hhcnBSZXN1bHQkMiB9IGZyb20gXCIuLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBJbnZpdGVCcmFuZGluZ0R0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQ29tcGFueU5hbWUsIExvZ28sIFN1cHBvcnQpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5Db21wYW55TmFtZSA9IENvbXBhbnlOYW1lO1xuICAgICAgICB0aGlzLkxvZ28gPSBMb2dvO1xuICAgICAgICB0aGlzLlN1cHBvcnQgPSBTdXBwb3J0O1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEludml0ZUJyYW5kaW5nRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuQ29tbW9uRHRvLkludml0ZUJyYW5kaW5nRHRvXCIsIFtdLCBJbnZpdGVCcmFuZGluZ0R0bywgKCkgPT4gW1tcIkNvbXBhbnlOYW1lXCIsIG9wdGlvbl90eXBlKHN0cmluZ190eXBlKV0sIFtcIkxvZ29cIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiU3VwcG9ydFwiLCBvcHRpb25fdHlwZShTdXBwb3J0RHRvJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBTdXBwb3J0RHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihFbWFpbCwgUGhvbmUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5FbWFpbCA9IEVtYWlsO1xuICAgICAgICB0aGlzLlBob25lID0gUGhvbmU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3VwcG9ydER0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLkNvbW1vbkR0by5TdXBwb3J0RHRvXCIsIFtdLCBTdXBwb3J0RHRvLCAoKSA9PiBbW1wiRW1haWxcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiUGhvbmVcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU3VwcG9ydER0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBsZXQgaW5wdXRfODtcbiAgICBjb25zdCBpbnB1dF8xID0gZHRvLkVtYWlsO1xuICAgIGlmIChpbnB1dF8xICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgaW5wdXRfMiA9IEVtYWlsTW9kdWxlX2NyZWF0ZShpbnB1dF8xKTtcbiAgICAgICAgaW5wdXRfOCA9ICgoaW5wdXRfMi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF8yLmZpZWxkc1swXSkpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGlucHV0XzggPSAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCkpO1xuICAgIH1cbiAgICBpZiAoaW5wdXRfOC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF84LmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBsZXQgaW5wdXRfNjtcbiAgICAgICAgY29uc3QgaW5wdXRfNCA9IGR0by5QaG9uZTtcbiAgICAgICAgaWYgKGlucHV0XzQgIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfNSA9IFBob25lTW9kdWxlX2NyZWF0ZShpbnB1dF80KTtcbiAgICAgICAgICAgIGlucHV0XzYgPSAoKGlucHV0XzUudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNS5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfNS5maWVsZHNbMF0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpbnB1dF82ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5wdXRfNi50YWcgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNi5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgU3VwcG9ydChpbnB1dF84LmZpZWxkc1swXSwgaW5wdXRfNi5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN1cHBvcnREdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgbGV0IGlucHV0XzEsIGlucHV0XzM7XG4gICAgcmV0dXJuIG5ldyBTdXBwb3J0RHRvKChpbnB1dF8xID0gZG9tYWluLkVtYWlsLCAoaW5wdXRfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogRW1haWxNb2R1bGVfdmFsdWUoaW5wdXRfMSkpLCAoaW5wdXRfMyA9IGRvbWFpbi5QaG9uZSwgKGlucHV0XzMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFBob25lTW9kdWxlX3ZhbHVlKGlucHV0XzMpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBJbnZpdGVCcmFuZGluZ0R0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBsZXQgaW5wdXRfMTM7XG4gICAgY29uc3QgaW5wdXRfMSA9IGR0by5Mb2dvO1xuICAgIGlmIChpbnB1dF8xICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgaW5wdXRfMiA9IExvZ29Nb2R1bGVfY3JlYXRlKGlucHV0XzEpO1xuICAgICAgICBpbnB1dF8xMyA9ICgoaW5wdXRfMi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF8yLmZpZWxkc1swXSkpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGlucHV0XzEzID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICB9XG4gICAgaWYgKGlucHV0XzEzLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEzLmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBsZXQgaW5wdXRfMTE7XG4gICAgICAgIGNvbnN0IGlucHV0XzQgPSBkdG8uQ29tcGFueU5hbWU7XG4gICAgICAgIGlmIChpbnB1dF80ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzUgPSBDb21wYW55TmFtZU1vZHVsZV9jcmVhdGUoaW5wdXRfNCk7XG4gICAgICAgICAgICBpbnB1dF8xMSA9ICgoaW5wdXRfNS50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF81LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF81LmZpZWxkc1swXSkpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlucHV0XzExID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5wdXRfMTEudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzExLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgaW5wdXRfOTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzcgPSBkdG8uU3VwcG9ydDtcbiAgICAgICAgICAgIGlmIChpbnB1dF83ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF84ID0gU3VwcG9ydER0b01vZHVsZV90b0RvbWFpbihpbnB1dF83KTtcbiAgICAgICAgICAgICAgICBpbnB1dF85ID0gKChpbnB1dF84LnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzguZmllbGRzWzBdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGlucHV0XzguZmllbGRzWzBdKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaW5wdXRfOSA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaW5wdXRfOS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzkuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IEludml0ZUJyYW5kaW5nKGlucHV0XzExLmZpZWxkc1swXSwgaW5wdXRfMTMuZmllbGRzWzBdLCBpbnB1dF85LmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSW52aXRlQnJhbmRpbmdEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgbGV0IGlucHV0XzEsIGlucHV0XzMsIGlucHV0XzU7XG4gICAgcmV0dXJuIG5ldyBJbnZpdGVCcmFuZGluZ0R0bygoaW5wdXRfMSA9IGRvbWFpbi5Db21wYW55TmFtZSwgKGlucHV0XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6IENvbXBhbnlOYW1lTW9kdWxlX3ZhbHVlKGlucHV0XzEpKSwgKGlucHV0XzMgPSBkb21haW4uTG9nbywgKGlucHV0XzMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IExvZ29Nb2R1bGVfdmFsdWUoaW5wdXRfMykpLCAoaW5wdXRfNSA9IGRvbWFpbi5TdXBwb3J0LCAoaW5wdXRfNSA9PSBudWxsKSA/ICh2b2lkIDApIDogU3VwcG9ydER0b01vZHVsZV9vZkRvbWFpbihpbnB1dF81KSkpO1xufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/CommonDto.fs.js\n");
|
|
31
31
|
|
|
32
32
|
/***/ }),
|
|
33
33
|
|
|
@@ -38,7 +38,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
38
38
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
39
39
|
|
|
40
40
|
"use strict";
|
|
41
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ApiDomain_Backend_ProcessInstanceCommand: () => (/* binding */ ApiDomain_Backend_ProcessInstanceCommand),\n/* harmony export */ ApiDomain_Backend_ProcessInstanceCommand$reflection: () => (/* binding */ ApiDomain_Backend_ProcessInstanceCommand$reflection),\n/* harmony export */ ApiDomain_Backend_ProcessInstanceContext: () => (/* binding */ ApiDomain_Backend_ProcessInstanceContext),\n/* harmony export */ ApiDomain_Backend_ProcessInstanceContext$reflection: () => (/* binding */ ApiDomain_Backend_ProcessInstanceContext$reflection),\n/* harmony export */ ApiDto_Backend_ProcessInstanceCommandDto: () => (/* binding */ ApiDto_Backend_ProcessInstanceCommandDto),\n/* harmony export */ ApiDto_Backend_ProcessInstanceCommandDto$reflection: () => (/* binding */ ApiDto_Backend_ProcessInstanceCommandDto$reflection),\n/* harmony export */ ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDomain: () => (/* binding */ ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDomain),\n/* harmony export */ ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDto: () => (/* binding */ ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDto),\n/* harmony export */ ApiDto_Backend_Read_Branding: () => (/* binding */ ApiDto_Backend_Read_Branding),\n/* harmony export */ ApiDto_Backend_Read_Branding$reflection: () => (/* binding */ ApiDto_Backend_Read_Branding$reflection),\n/* harmony export */ ApiDto_Backend_Read_BrandingModule_ofDomain: () => (/* binding */ ApiDto_Backend_Read_BrandingModule_ofDomain),\n/* harmony export */ ApiDto_Backend_Read_BrandingModule_toDomain: () => (/* binding */ ApiDto_Backend_Read_BrandingModule_toDomain),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceContextDto: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceContextDto),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceContextDto$reflection: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceContextDto$reflection),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceContextDtoModule_toDomain: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceContextDtoModule_toDomain),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceDtoModule_ofDomain: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceDtoModule_ofDomain),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceDtoModule_toDomain: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceDtoModule_toDomain),\n/* harmony export */ ApiDto_Backend_Read_Support: () => (/* binding */ ApiDto_Backend_Read_Support),\n/* harmony export */ ApiDto_Backend_Read_Support$reflection: () => (/* binding */ ApiDto_Backend_Read_Support$reflection),\n/* harmony export */ ApiDto_Backend_Write_WorkflowAnalyticsEventDto: () => (/* binding */ ApiDto_Backend_Write_WorkflowAnalyticsEventDto),\n/* harmony export */ ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection: () => (/* binding */ ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDto: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDto),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDto$reflection: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDto$reflection),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDtoModule_toDomain: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDtoModule_toDomain),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDto_get_Default: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDto_get_Default),\n/* harmony export */ ApiDto_External_JourneyTypeDto: () => (/* binding */ ApiDto_External_JourneyTypeDto),\n/* harmony export */ ApiDto_External_JourneyTypeDto$reflection: () => (/* binding */ ApiDto_External_JourneyTypeDto$reflection),\n/* harmony export */ ApiDto_External_JourneyTypeDtoModule_ofDomain: () => (/* binding */ ApiDto_External_JourneyTypeDtoModule_ofDomain),\n/* harmony export */ ApiDto_External_JourneyTypeDtoModule_toDomain: () => (/* binding */ ApiDto_External_JourneyTypeDtoModule_toDomain),\n/* harmony export */ ApiDto_External_JourneyTypeDto_GetDefaultValue: () => (/* binding */ ApiDto_External_JourneyTypeDto_GetDefaultValue),\n/* harmony export */ ApiDto_External_Read_ActiveProcessInstance: () => (/* binding */ ApiDto_External_Read_ActiveProcessInstance),\n/* harmony export */ ApiDto_External_Read_ActiveProcessInstance$reflection: () => (/* binding */ ApiDto_External_Read_ActiveProcessInstance$reflection),\n/* harmony export */ ApiDto_External_Read_ActiveProcessInstanceModule_ofDomain: () => (/* binding */ ApiDto_External_Read_ActiveProcessInstanceModule_ofDomain),\n/* harmony export */ ApiDto_External_Read_ActiveProcessInstanceModule_ofDto: () => (/* binding */ ApiDto_External_Read_ActiveProcessInstanceModule_ofDto),\n/* harmony export */ ApiDto_External_Read_CompletedStep: () => (/* binding */ ApiDto_External_Read_CompletedStep),\n/* harmony export */ ApiDto_External_Read_CompletedStep$reflection: () => (/* binding */ ApiDto_External_Read_CompletedStep$reflection),\n/* harmony export */ ApiDto_External_Read_ProcessInstance: () => (/* binding */ ApiDto_External_Read_ProcessInstance),\n/* harmony export */ ApiDto_External_Read_ProcessInstance$reflection: () => (/* binding */ ApiDto_External_Read_ProcessInstance$reflection),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceModule_mapPaySetupComplete: () => (/* binding */ ApiDto_External_Read_ProcessInstanceModule_mapPaySetupComplete),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceModule_ofDomain: () => (/* binding */ ApiDto_External_Read_ProcessInstanceModule_ofDomain),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceStatus: () => (/* binding */ ApiDto_External_Read_ProcessInstanceStatus),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceStatus$reflection: () => (/* binding */ ApiDto_External_Read_ProcessInstanceStatus$reflection),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceStatusModule_ofDomain: () => (/* binding */ ApiDto_External_Read_ProcessInstanceStatusModule_ofDomain),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceStatusModule_ofDto: () => (/* binding */ ApiDto_External_Read_ProcessInstanceStatusModule_ofDto),\n/* harmony export */ ApiDto_External_ShowOptions: () => (/* binding */ ApiDto_External_ShowOptions),\n/* harmony export */ ApiDto_External_ShowOptions$reflection: () => (/* binding */ ApiDto_External_ShowOptions$reflection),\n/* harmony export */ ApiDto_External_StepsConfiguration: () => (/* binding */ ApiDto_External_StepsConfiguration),\n/* harmony export */ ApiDto_External_StepsConfiguration$reflection: () => (/* binding */ ApiDto_External_StepsConfiguration$reflection),\n/* harmony export */ ApiDto_External_StepsConfigurationDto_ofDomain: () => (/* binding */ ApiDto_External_StepsConfigurationDto_ofDomain),\n/* harmony export */ ApiDto_External_StepsConfigurationDto_toDomain: () => (/* binding */ ApiDto_External_StepsConfigurationDto_toDomain),\n/* harmony export */ ApiDto_External_UnusedDto: () => (/* binding */ ApiDto_External_UnusedDto),\n/* harmony export */ ApiDto_External_UnusedDto$reflection: () => (/* binding */ ApiDto_External_UnusedDto$reflection),\n/* harmony export */ ApiDto_External_UnusedDto_get_Default: () => (/* binding */ ApiDto_External_UnusedDto_get_Default),\n/* harmony export */ ApiDto_External_Write_CreateInstance: () => (/* binding */ ApiDto_External_Write_CreateInstance),\n/* harmony export */ ApiDto_External_Write_CreateInstance$reflection: () => (/* binding */ ApiDto_External_Write_CreateInstance$reflection),\n/* harmony export */ ApiDto_External_Write_Invite: () => (/* binding */ ApiDto_External_Write_Invite),\n/* harmony export */ ApiDto_External_Write_Invite$reflection: () => (/* binding */ ApiDto_External_Write_Invite$reflection),\n/* harmony export */ ApiDto_External_Write_InviteBranding: () => (/* binding */ ApiDto_External_Write_InviteBranding),\n/* harmony export */ ApiDto_External_Write_InviteBranding$reflection: () => (/* binding */ ApiDto_External_Write_InviteBranding$reflection),\n/* harmony export */ ApiDto_External_Write_InviteBrandingModule_toDomain: () => (/* binding */ ApiDto_External_Write_InviteBrandingModule_toDomain),\n/* harmony export */ ApiDto_External_Write_InviteSupport: () => (/* binding */ ApiDto_External_Write_InviteSupport),\n/* harmony export */ ApiDto_External_Write_InviteSupport$reflection: () => (/* binding */ ApiDto_External_Write_InviteSupport$reflection),\n/* harmony export */ ApiDto_External_Write_TagDto: () => (/* binding */ ApiDto_External_Write_TagDto),\n/* harmony export */ ApiDto_External_Write_TagDto$reflection: () => (/* binding */ ApiDto_External_Write_TagDto$reflection),\n/* harmony export */ ApiDto_Internal_Write_AbandonInstance: () => (/* binding */ ApiDto_Internal_Write_AbandonInstance),\n/* harmony export */ ApiDto_Internal_Write_AbandonInstance$reflection: () => (/* binding */ ApiDto_Internal_Write_AbandonInstance$reflection)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Dto.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Dto.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../CommonDto.fs.js */ \"../Workflows.Business/Aggregates/CommonDto.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n\n\n\n\n\n\n\n\n\nclass ApiDomain_Backend_ProcessInstanceCommand extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CompleteStep\", \"CompleteStepV2\", \"Complete\", \"ViewPaySetupPage\", \"CompletePaySetup\", \"ResumePaySetup\"];\n }\n}\n\nfunction ApiDomain_Backend_ProcessInstanceCommand$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDomain.Backend.ProcessInstanceCommand\", [], ApiDomain_Backend_ProcessInstanceCommand, () => [[[\"Item\", (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepId$reflection)()]], [[\"Item\", (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepId$reflection)()]], [], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]]]);\n}\n\nclass ApiDomain_Backend_ProcessInstanceContext extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(CssOverrides, ProcessInstance, IsBenefitsEnabled, Branding) {\n super();\n this.CssOverrides = CssOverrides;\n this.ProcessInstance = ProcessInstance;\n this.IsBenefitsEnabled = IsBenefitsEnabled;\n this.Branding = Branding;\n }\n}\n\nfunction ApiDomain_Backend_ProcessInstanceContext$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDomain.Backend.ProcessInstanceContext\", [], ApiDomain_Backend_ProcessInstanceContext, () => [[\"CssOverrides\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"ProcessInstance\", (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)()], [\"IsBenefitsEnabled\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBranding$reflection)())]]);\n}\n\nclass ApiDto_Backend_ProcessInstanceCommandDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CompleteStep\", \"CompleteStepV2\", \"Complete\", \"ViewPaySetupPage\", \"CompletePaySetup\", \"ResumePaySetup\"];\n }\n}\n\nfunction ApiDto_Backend_ProcessInstanceCommandDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.ProcessInstanceCommandDto\", [], ApiDto_Backend_ProcessInstanceCommandDto, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]], [], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]]]);\n}\n\nfunction ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDto(processInstanceId, apiDto) {\n switch (apiDto.tag) {\n case 1: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(1, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n case 2: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(2, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId));\n }\n case 3: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(3, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n case 4: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(4, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n case 5: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(5, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n default: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(0, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n }\n}\n\nfunction ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDomain(command) {\n switch (command.tag) {\n case 1: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(1, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(command.fields[0]));\n }\n case 2: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(2);\n }\n case 3: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(3, command.fields[0]);\n }\n case 4: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(4, command.fields[0]);\n }\n case 5: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(5, command.fields[0]);\n }\n default: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(0, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(command.fields[0]));\n }\n }\n}\n\nconst ApiDto_Backend_Read_ProcessInstanceDtoModule_ofDomain = _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceDtoModule_ofDomain;\n\nconst ApiDto_Backend_Read_ProcessInstanceDtoModule_toDomain = _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceDtoModule_toDomain;\n\nclass ApiDto_Backend_Read_ProcessInstanceContextDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(CssOverrides, ProcessInstanceDto, IsBenefitsEnabled, Branding) {\n super();\n this.CssOverrides = CssOverrides;\n this.ProcessInstanceDto = ProcessInstanceDto;\n this.IsBenefitsEnabled = IsBenefitsEnabled;\n this.Branding = Branding;\n }\n}\n\nfunction ApiDto_Backend_Read_ProcessInstanceContextDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.Read.ProcessInstanceContextDto\", [], ApiDto_Backend_Read_ProcessInstanceContextDto, () => [[\"CssOverrides\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"ProcessInstanceDto\", (0,_Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceDto$reflection)()], [\"IsBenefitsEnabled\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_Backend_Read_Branding$reflection())]]);\n}\n\nclass ApiDto_Backend_Read_Branding extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(CompanyName, Logo, Support) {\n super();\n this.CompanyName = CompanyName;\n this.Logo = Logo;\n this.Support = Support;\n }\n}\n\nfunction ApiDto_Backend_Read_Branding$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.Read.Branding\", [], ApiDto_Backend_Read_Branding, () => [[\"CompanyName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Logo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Support\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_Backend_Read_Support$reflection())]]);\n}\n\nclass ApiDto_Backend_Read_Support extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Email, Phone) {\n super();\n this.Email = Email;\n this.Phone = Phone;\n }\n}\n\nfunction ApiDto_Backend_Read_Support$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.Read.Support\", [], ApiDto_Backend_Read_Support, () => [[\"Email\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Phone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nfunction ApiDto_Backend_Read_BrandingModule_ofDomain(domain) {\n let x_1, x_3, x_9, s, x_5, x_7;\n return new ApiDto_Backend_Read_Branding((x_1 = domain.CompanyName, (x_1 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.CompanyNameModule_value)(x_1)), (x_3 = domain.Logo, (x_3 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.LogoModule_value)(x_3)), (x_9 = domain.Support, (x_9 == null) ? (void 0) : ((s = x_9, new ApiDto_Backend_Read_Support((x_5 = s.Email, (x_5 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.EmailModule_value)(x_5)), (x_7 = s.Phone, (x_7 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.PhoneModule_value)(x_7)))))));\n}\n\nfunction ApiDto_Backend_Read_BrandingModule_toDomain(dto) {\n let result_1, input, x_1, input_2, result_3, input_3, x_6, input_4, x_21, s, result_5, input_5, x_11, input_6, result_7, input_7, x_16, input_8;\n return new _Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBranding((result_1 = ((input = ((x_1 = dto.CompanyName, (x_1 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.CompanyNameModule_create)(x_1))), (input != null) ? ((input_2 = input, (input_2.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(1, input_2.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, input_2.fields[0])))) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, void 0)))), (result_1.tag === 1) ? (void 0) : result_1.fields[0]), (result_3 = ((input_3 = ((x_6 = dto.Logo, (x_6 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.LogoModule_create)(x_6))), (input_3 != null) ? ((input_4 = input_3, (input_4.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(1, input_4.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, input_4.fields[0])))) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, void 0)))), (result_3.tag === 1) ? (void 0) : result_3.fields[0]), (x_21 = dto.Support, (x_21 == null) ? (void 0) : ((s = x_21, new _Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.Support((result_5 = ((input_5 = ((x_11 = s.Email, (x_11 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.EmailModule_create)(x_11))), (input_5 != null) ? ((input_6 = input_5, (input_6.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(1, input_6.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, input_6.fields[0])))) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, void 0)))), (result_5.tag === 1) ? (void 0) : result_5.fields[0]), (result_7 = ((input_7 = ((x_16 = s.Phone, (x_16 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.PhoneModule_create)(x_16))), (input_7 != null) ? ((input_8 = input_7, (input_8.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(1, input_8.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, input_8.fields[0])))) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, void 0)))), (result_7.tag === 1) ? (void 0) : result_7.fields[0]))))));\n}\n\nfunction ApiDto_Backend_Read_ProcessInstanceContextDtoModule_toDomain(processInstanceContextDto) {\n let res_1, x_3;\n return new ApiDomain_Backend_ProcessInstanceContext(processInstanceContextDto.CssOverrides, (res_1 = (0,_Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceDtoModule_toDomain)(processInstanceContextDto.ProcessInstanceDto), (res_1.tag === 1) ? (() => {\n throw (new Error(res_1.fields[0]));\n })() : res_1.fields[0]), processInstanceContextDto.IsBenefitsEnabled, (x_3 = processInstanceContextDto.Branding, (x_3 == null) ? (void 0) : ApiDto_Backend_Read_BrandingModule_toDomain(x_3)));\n}\n\nclass ApiDto_Backend_Write_WorkflowAnalyticsEventDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"WorkflowInstanceStepActivated\", \"BenefitsStepActivated\", \"BenefitsStepCompleted\"];\n }\n}\n\nfunction ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.Write.WorkflowAnalyticsEventDto\", [], ApiDto_Backend_Write_WorkflowAnalyticsEventDto, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]], [], []]);\n}\n\nclass ApiDto_External_StepsConfiguration extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(BenefitsOnboarding) {\n super();\n this.BenefitsOnboarding = BenefitsOnboarding;\n }\n}\n\nfunction ApiDto_External_StepsConfiguration$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.StepsConfiguration\", [], ApiDto_External_StepsConfiguration, () => [[\"BenefitsOnboarding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Show\", ApiDto_External_ShowOptions$reflection()]))]]);\n}\n\nclass ApiDto_External_ShowOptions extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"WhenEnabled\", \"Always\"];\n }\n}\n\nfunction ApiDto_External_ShowOptions$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.ShowOptions\", [], ApiDto_External_ShowOptions, () => [[], []]);\n}\n\nfunction ApiDto_External_StepsConfigurationDto_toDomain(dto) {\n let x_1, bo;\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.StepsConfiguration((x_1 = dto.BenefitsOnboarding, (x_1 == null) ? (void 0) : ((bo = x_1, {\n Show: (bo.Show.tag === 1) ? (new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ShowOptions(1)) : (new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ShowOptions(0)),\n }))));\n}\n\nfunction ApiDto_External_StepsConfigurationDto_ofDomain(domain) {\n let x_1, bo;\n return new ApiDto_External_StepsConfiguration((x_1 = domain.BenefitsOnboarding, (x_1 == null) ? (void 0) : ((bo = x_1, {\n Show: (bo.Show.tag === 1) ? (new ApiDto_External_ShowOptions(1)) : (new ApiDto_External_ShowOptions(0)),\n }))));\n}\n\nclass ApiDto_External_UnusedDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(UnusedValue) {\n super();\n this.UnusedValue = UnusedValue;\n }\n}\n\nfunction ApiDto_External_UnusedDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.UnusedDto\", [], ApiDto_External_UnusedDto, () => [[\"UnusedValue\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nfunction ApiDto_External_UnusedDto_get_Default() {\n return new ApiDto_External_UnusedDto(void 0);\n}\n\nclass ApiDto_External_JourneyTypeDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Default\", \"InfoRequest\", \"AppInvite\", \"BenefitsExisting\", \"BenefitsOnboarding\"];\n }\n}\n\nfunction ApiDto_External_JourneyTypeDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.JourneyTypeDto\", [], ApiDto_External_JourneyTypeDto, () => [[[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]], [[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]], [[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]], [[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]], [[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]]]);\n}\n\nclass ApiDto_External_JourneyTypeDetailsDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Category) {\n super();\n this.Category = Category;\n }\n}\n\nfunction ApiDto_External_JourneyTypeDetailsDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.JourneyTypeDetailsDto\", [], ApiDto_External_JourneyTypeDetailsDto, () => [[\"Category\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nfunction ApiDto_External_JourneyTypeDto_GetDefaultValue() {\n return new ApiDto_External_JourneyTypeDto(0, ApiDto_External_JourneyTypeDetailsDto_get_Default());\n}\n\nfunction ApiDto_External_JourneyTypeDetailsDto_get_Default() {\n return new ApiDto_External_JourneyTypeDetailsDto(void 0);\n}\n\nfunction ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyTypeDetails(dto.Category);\n}\n\nfunction ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(details) {\n return new ApiDto_External_JourneyTypeDetailsDto(details.Category);\n}\n\nfunction ApiDto_External_JourneyTypeDtoModule_toDomain(dto) {\n switch (dto.tag) {\n case 1: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(1, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n case 2: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(2, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n case 3: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(3, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n case 4: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(4, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n default: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(0, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n }\n}\n\nfunction ApiDto_External_JourneyTypeDtoModule_ofDomain(journeyType) {\n switch (journeyType.tag) {\n case 1: {\n return new ApiDto_External_JourneyTypeDto(1, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 2: {\n return new ApiDto_External_JourneyTypeDto(2, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 3: {\n return new ApiDto_External_JourneyTypeDto(3, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 4: {\n return new ApiDto_External_JourneyTypeDto(4, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n default: {\n return new ApiDto_External_JourneyTypeDto(0, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n }\n}\n\nclass ApiDto_External_Write_TagDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Name, Value) {\n super();\n this.Name = Name;\n this.Value = Value;\n }\n}\n\nfunction ApiDto_External_Write_TagDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.TagDto\", [], ApiDto_External_Write_TagDto, () => [[\"Name\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"Value\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]);\n}\n\nclass ApiDto_External_Write_CreateInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Type, Tags, Creator, StepsConfiguration, Journey) {\n super();\n this.Type = Type;\n this.Tags = Tags;\n this.Creator = Creator;\n this.StepsConfiguration = StepsConfiguration;\n this.Journey = Journey;\n }\n}\n\nfunction ApiDto_External_Write_CreateInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.CreateInstance\", [], ApiDto_External_Write_CreateInstance, () => [[\"Type\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.Guid\")], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(ApiDto_External_Write_TagDto$reflection()))], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_StepsConfiguration$reflection())], [\"Journey\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_JourneyTypeDto$reflection())]]);\n}\n\nclass ApiDto_External_Write_Invite extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Branding) {\n super();\n this.Branding = Branding;\n }\n}\n\nfunction ApiDto_External_Write_Invite$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.Invite\", [], ApiDto_External_Write_Invite, () => [[\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_Write_InviteBranding$reflection())]]);\n}\n\nclass ApiDto_External_Write_InviteBranding extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(CompanyName, Logo, Support) {\n super();\n this.CompanyName = CompanyName;\n this.Logo = Logo;\n this.Support = Support;\n }\n}\n\nfunction ApiDto_External_Write_InviteBranding$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.InviteBranding\", [], ApiDto_External_Write_InviteBranding, () => [[\"CompanyName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Logo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Support\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_Write_InviteSupport$reflection())]]);\n}\n\nclass ApiDto_External_Write_InviteSupport extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Email, Phone) {\n super();\n this.Email = Email;\n this.Phone = Phone;\n }\n}\n\nfunction ApiDto_External_Write_InviteSupport$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.InviteSupport\", [], ApiDto_External_Write_InviteSupport, () => [[\"Email\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Phone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nfunction ApiDto_External_Write_InviteBrandingModule_toDomain(apiDto) {\n let x_1, apiDto_1;\n return (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteBrandingDtoModule_toDomain)(new _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteBrandingDto(apiDto.CompanyName, apiDto.Logo, (x_1 = apiDto.Support, (x_1 == null) ? (void 0) : ((apiDto_1 = x_1, new _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_3__.SupportDto(apiDto_1.Email, apiDto_1.Phone))))));\n}\n\nclass ApiDto_External_Read_CompletedStep extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Type, Date$) {\n super();\n this.Type = Type;\n this.Date = Date$;\n }\n}\n\nfunction ApiDto_External_Read_CompletedStep$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Read.CompletedStep\", [], ApiDto_External_Read_CompletedStep, () => [[\"Type\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"Date\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]]);\n}\n\nclass ApiDto_External_Read_ActiveProcessInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(ActivatedDates, CompletedSteps) {\n super();\n this.ActivatedDates = ActivatedDates;\n this.CompletedSteps = CompletedSteps;\n }\n}\n\nfunction ApiDto_External_Read_ActiveProcessInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Read.ActiveProcessInstance\", [], ApiDto_External_Read_ActiveProcessInstance, () => [[\"ActivatedDates\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\"))], [\"CompletedSteps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(ApiDto_External_Read_CompletedStep$reflection())]]);\n}\n\nfunction ApiDto_External_Read_ActiveProcessInstanceModule_ofDto(activeProcessInstance) {\n return new ApiDto_External_Read_ActiveProcessInstance(activeProcessInstance.ActivatedDates, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.map)((tupledArg) => (new ApiDto_External_Read_CompletedStep(tupledArg[0], tupledArg[1])), activeProcessInstance.CompletedSteps));\n}\n\nfunction ApiDto_External_Read_ActiveProcessInstanceModule_ofDomain(activeProcessInstance) {\n return new ApiDto_External_Read_ActiveProcessInstance(activeProcessInstance.ActivatedDates, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.map)((tupledArg) => (new ApiDto_External_Read_CompletedStep((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(tupledArg[0]), tupledArg[1])), activeProcessInstance.CompletedSteps));\n}\n\nclass ApiDto_External_Read_ProcessInstanceStatus extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Inactive\", \"Active\", \"Complete\", \"Abandoned\"];\n }\n}\n\nfunction ApiDto_External_Read_ProcessInstanceStatus$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Read.ProcessInstanceStatus\", [], ApiDto_External_Read_ProcessInstanceStatus, () => [[], [[\"Item\", ApiDto_External_Read_ActiveProcessInstance$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]]]);\n}\n\nfunction ApiDto_External_Read_ProcessInstanceStatusModule_ofDto(processInstanceStatus) {\n switch (processInstanceStatus.tag) {\n case 1: {\n return new ApiDto_External_Read_ProcessInstanceStatus(1, ApiDto_External_Read_ActiveProcessInstanceModule_ofDto(processInstanceStatus.fields[0]));\n }\n case 2: {\n return new ApiDto_External_Read_ProcessInstanceStatus(2, processInstanceStatus.fields[0]);\n }\n case 3: {\n return new ApiDto_External_Read_ProcessInstanceStatus(3, processInstanceStatus.fields[0]);\n }\n default: {\n return new ApiDto_External_Read_ProcessInstanceStatus(0);\n }\n }\n}\n\nfunction ApiDto_External_Read_ProcessInstanceStatusModule_ofDomain(processInstanceStatus) {\n switch (processInstanceStatus.tag) {\n case 1: {\n return new ApiDto_External_Read_ProcessInstanceStatus(1, ApiDto_External_Read_ActiveProcessInstanceModule_ofDomain(processInstanceStatus.fields[0]));\n }\n case 2: {\n return new ApiDto_External_Read_ProcessInstanceStatus(2, processInstanceStatus.fields[0]);\n }\n case 3: {\n return new ApiDto_External_Read_ProcessInstanceStatus(3, processInstanceStatus.fields[0]);\n }\n default: {\n return new ApiDto_External_Read_ProcessInstanceStatus(0);\n }\n }\n}\n\nclass ApiDto_External_Read_ProcessInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Type, Status, StepsConfiguration, PaySetupComplete) {\n super();\n this.Id = (Id | 0);\n this.Type = Type;\n this.Status = Status;\n this.StepsConfiguration = StepsConfiguration;\n this.PaySetupComplete = PaySetupComplete;\n }\n}\n\nfunction ApiDto_External_Read_ProcessInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Read.ProcessInstance\", [], ApiDto_External_Read_ProcessInstance, () => [[\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.int32_type], [\"Type\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.Guid\")], [\"Status\", ApiDto_External_Read_ProcessInstanceStatus$reflection()], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_StepsConfiguration$reflection())], [\"PaySetupComplete\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]]);\n}\n\nfunction ApiDto_External_Read_ProcessInstanceModule_mapPaySetupComplete(processInstance) {\n const matchValue = processInstance.PaySetupComplete;\n if (matchValue == null) {\n if ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfig__get_IsPaySetupCompatible)(processInstance.Configuration)) {\n if ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceModule_isActiveAndAllStepsAreCompleted)(processInstance)) {\n return true;\n }\n else {\n return (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceModule_isComplete)(processInstance);\n }\n }\n else {\n return false;\n }\n }\n else {\n return matchValue;\n }\n}\n\nfunction ApiDto_External_Read_ProcessInstanceModule_ofDomain(processInstance) {\n let x_1;\n return new ApiDto_External_Read_ProcessInstance((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstance.Id), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfigIdModule_value)(processInstance.Configuration.Id), ApiDto_External_Read_ProcessInstanceStatusModule_ofDomain(processInstance.Status), (x_1 = processInstance.StepsConfiguration, (x_1 == null) ? (void 0) : ApiDto_External_StepsConfigurationDto_ofDomain(x_1)), ApiDto_External_Read_ProcessInstanceModule_mapPaySetupComplete(processInstance));\n}\n\nclass ApiDto_Internal_Write_AbandonInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Type, CreatedDate) {\n super();\n this.Type = Type;\n this.CreatedDate = CreatedDate;\n }\n}\n\nfunction ApiDto_Internal_Write_AbandonInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Internal.Write.AbandonInstance\", [], ApiDto_Internal_Write_AbandonInstance, () => [[\"Type\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.Guid\")], [\"CreatedDate\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]]);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9BcGkuZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTJIO0FBQ3NQO0FBQzlJO0FBQ3dCO0FBQzlGO0FBQ2hDO0FBQ3hCO0FBQ1c7O0FBRXpHLHVEQUF1RCxxSEFBSztBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLG1JQUFVLDhKQUE4Six1RUFBd0IsZ0JBQWdCLHVFQUF3QixvQkFBb0IsOEhBQVMsY0FBYyw4SEFBUyxjQUFjLDhIQUFTO0FBQzlUOztBQUVPLHVEQUF1RCxzSEFBTTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxvSUFBVyxxS0FBcUssa0lBQVMsQ0FBQyxnSUFBVyx3QkFBd0IseUVBQTBCLDJCQUEyQiw4SEFBUyxnQkFBZ0Isb0lBQVcsQ0FBQyx3RUFBeUI7QUFDM1Y7O0FBRU8sdURBQXVELHFIQUFLO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsbUlBQVUsOEpBQThKLGdJQUFXLGNBQWMsZ0lBQVcsa0JBQWtCLDhIQUFTLGNBQWMsOEhBQVMsY0FBYyw4SEFBUztBQUNoUzs7QUFFTztBQUNQO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLEtBQUssNEVBQTZCO0FBQ2xGO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLElBQUksNEVBQTZCO0FBQ2pGO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLEtBQUssNEVBQTZCO0FBQ2xGO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLEtBQUssNEVBQTZCO0FBQ2xGO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLEtB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O0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQSxvREFBb0QsNEVBQTZCLHNCQUFzQiwwRUFBMkI7QUFDbEk7O0FBRU8sb0RBQW9ELHNIQUFNO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsdUpBQXVKLG1JQUFVLGtDQUFrQyxtSUFBVTtBQUNuTyIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9BcGkuZnMuanM/YzU1NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWNvcmQsIFVuaW9uIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9UeXBlcy5qc1wiO1xuaW1wb3J0IHsgUHJvY2Vzc0NvbmZpZ0lkTW9kdWxlX3ZhbHVlLCBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfaXNDb21wbGV0ZSwgUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2lzQWN0aXZlQW5kQWxsU3RlcHNBcmVDb21wbGV0ZWQsIFByb2Nlc3NDb25maWdfX2dldF9Jc1BheVNldHVwQ29tcGF0aWJsZSwgSm91cm5leVR5cGUsIEpvdXJuZXlUeXBlRGV0YWlscywgU3RlcHNDb25maWd1cmF0aW9uLCBTaG93T3B0aW9ucywgUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZSwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUsIFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi9Eb21haW4uZnMuanNcIjtcbmltcG9ydCB7IGludDMyX3R5cGUsIGNsYXNzX3R5cGUsIGFub25SZWNvcmRfdHlwZSwgcmVjb3JkX3R5cGUsIG9wdGlvbl90eXBlLCBsaXN0X3R5cGUsIHN0cmluZ190eXBlLCB1bmlvbl90eXBlLCBib29sX3R5cGUgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1JlZmxlY3Rpb24uanNcIjtcbmltcG9ydCB7IEludml0ZUJyYW5kaW5nLCBTdXBwb3J0LCBQaG9uZU1vZHVsZV9jcmVhdGUsIEVtYWlsTW9kdWxlX2NyZWF0ZSwgTG9nb01vZHVsZV9jcmVhdGUsIENvbXBhbnlOYW1lTW9kdWxlX2NyZWF0ZSwgUGhvbmVNb2R1bGVfdmFsdWUsIEVtYWlsTW9kdWxlX3ZhbHVlLCBMb2dvTW9kdWxlX3ZhbHVlLCBDb21wYW55TmFtZU1vZHVsZV92YWx1ZSwgSW52aXRlQnJhbmRpbmckcmVmbGVjdGlvbiB9IGZyb20gXCIuLi9Db21tb24uZnMuanNcIjtcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZUR0byRyZWZsZWN0aW9uLCBQcm9jZXNzSW5zdGFuY2VEdG9Nb2R1bGVfdG9Eb21haW4sIFByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV9vZkRvbWFpbiwgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0byB9IGZyb20gXCIuL0R0by5mcy5qc1wiO1xuaW1wb3J0IHsgRlNoYXJwUmVzdWx0JDIgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgSW52aXRlQnJhbmRpbmdEdG8sIFN1cHBvcnREdG8sIEludml0ZUJyYW5kaW5nRHRvTW9kdWxlX3RvRG9tYWluIH0gZnJvbSBcIi4uL0NvbW1vbkR0by5mcy5qc1wiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9MaXN0LmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBBcGlEb21haW5fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJDb21wbGV0ZVN0ZXBcIiwgXCJDb21wbGV0ZVN0ZXBWMlwiLCBcIkNvbXBsZXRlXCIsIFwiVmlld1BheVNldHVwUGFnZVwiLCBcIkNvbXBsZXRlUGF5U2V0dXBcIiwgXCJSZXN1bWVQYXlTZXR1cFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEb21haW5fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaURvbWFpbi5CYWNrZW5kLlByb2Nlc3NJbnN0YW5jZUNvbW1hbmRcIiwgW10sIEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmQsICgpID0+IFtbW1wiSXRlbVwiLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKV1dLCBbXSwgW1tcIkl0ZW1cIiwgYm9vbF90eXBlXV0sIFtbXCJJdGVtXCIsIGJvb2xfdHlwZV1dLCBbW1wiSXRlbVwiLCBib29sX3R5cGVdXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRG9tYWluX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29udGV4dCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQ3NzT3ZlcnJpZGVzLCBQcm9jZXNzSW5zdGFuY2UsIElzQmVuZWZpdHNFbmFibGVkLCBCcmFuZGluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkNzc092ZXJyaWRlcyA9IENzc092ZXJyaWRlcztcbiAgICAgICAgdGhpcy5Qcm9jZXNzSW5zdGFuY2UgPSBQcm9jZXNzSW5zdGFuY2U7XG4gICAgICAgIHRoaXMuSXNCZW5lZml0c0VuYWJsZWQgPSBJc0JlbmVmaXRzRW5hYmxlZDtcbiAgICAgICAgdGhpcy5CcmFuZGluZyA9IEJyYW5kaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaURvbWFpbi5CYWNrZW5kLlByb2Nlc3NJbnN0YW5jZUNvbnRleHRcIiwgW10sIEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHQsICgpID0+IFtbXCJDc3NPdmVycmlkZXNcIiwgbGlzdF90eXBlKHN0cmluZ190eXBlKV0sIFtcIlByb2Nlc3NJbnN0YW5jZVwiLCBQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpXSwgW1wiSXNCZW5lZml0c0VuYWJsZWRcIiwgYm9vbF90eXBlXSwgW1wiQnJhbmRpbmdcIiwgb3B0aW9uX3R5cGUoSW52aXRlQnJhbmRpbmckcmVmbGVjdGlvbigpKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8gZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkNvbXBsZXRlU3RlcFwiLCBcIkNvbXBsZXRlU3RlcFYyXCIsIFwiQ29tcGxldGVcIiwgXCJWaWV3UGF5U2V0dXBQYWdlXCIsIFwiQ29tcGxldGVQYXlTZXR1cFwiLCBcIlJlc3VtZVBheVNldHVwXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkJhY2tlbmQuUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0b1wiLCBbXSwgQXBpRHRvX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0bywgKCkgPT4gW1tbXCJJdGVtXCIsIHN0cmluZ190eXBlXV0sIFtbXCJJdGVtXCIsIHN0cmluZ190eXBlXV0sIFtdLCBbW1wiSXRlbVwiLCBib29sX3R5cGVdXSwgW1tcIkl0ZW1cIiwgYm9vbF90eXBlXV0sIFtbXCJJdGVtXCIsIGJvb2xfdHlwZV1dXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvTW9kdWxlX29mRHRvKHByb2Nlc3NJbnN0YW5jZUlkLCBhcGlEdG8pIHtcbiAgICBzd2l0Y2ggKGFwaUR0by50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8oMSwgW1Byb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSwgYXBpRHRvLmZpZWxkc1swXV0pO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDIsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8oMywgW1Byb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSwgYXBpRHRvLmZpZWxkc1swXV0pO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDQsIFtQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShwcm9jZXNzSW5zdGFuY2VJZCksIGFwaUR0by5maWVsZHNbMF1dKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0byg1LCBbUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUocHJvY2Vzc0luc3RhbmNlSWQpLCBhcGlEdG8uZmllbGRzWzBdXSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDAsIFtQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShwcm9jZXNzSW5zdGFuY2VJZCksIGFwaUR0by5maWVsZHNbMF1dKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG9Nb2R1bGVfb2ZEb21haW4oY29tbWFuZCkge1xuICAgIHN3aXRjaCAoY29tbWFuZC50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8oMSwgUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZShjb21tYW5kLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDIpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDMsIGNvbW1hbmQuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXBpRHRvX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0byg0LCBjb21tYW5kLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8oNSwgY29tbWFuZC5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXBpRHRvX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0bygwLCBQcm9jZXNzU3RlcElkTW9kdWxlX3ZhbHVlKGNvbW1hbmQuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBcGlEdG9fQmFja2VuZF9SZWFkX1Byb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV9vZkRvbWFpbiA9IFByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV9vZkRvbWFpbjtcblxuZXhwb3J0IGNvbnN0IEFwaUR0b19CYWNrZW5kX1JlYWRfUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluID0gUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluO1xuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihDc3NPdmVycmlkZXMsIFByb2Nlc3NJbnN0YW5jZUR0bywgSXNCZW5lZml0c0VuYWJsZWQsIEJyYW5kaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQ3NzT3ZlcnJpZGVzID0gQ3NzT3ZlcnJpZGVzO1xuICAgICAgICB0aGlzLlByb2Nlc3NJbnN0YW5jZUR0byA9IFByb2Nlc3NJbnN0YW5jZUR0bztcbiAgICAgICAgdGhpcy5Jc0JlbmVmaXRzRW5hYmxlZCA9IElzQmVuZWZpdHNFbmFibGVkO1xuICAgICAgICB0aGlzLkJyYW5kaW5nID0gQnJhbmRpbmc7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uQmFja2VuZC5SZWFkLlByb2Nlc3NJbnN0YW5jZUNvbnRleHREdG9cIiwgW10sIEFwaUR0b19CYWNrZW5kX1JlYWRfUHJvY2Vzc0luc3RhbmNlQ29udGV4dER0bywgKCkgPT4gW1tcIkNzc092ZXJyaWRlc1wiLCBsaXN0X3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiUHJvY2Vzc0luc3RhbmNlRHRvXCIsIFByb2Nlc3NJbnN0YW5jZUR0byRyZWZsZWN0aW9uKCldLCBbXCJJc0JlbmVmaXRzRW5hYmxlZFwiLCBib29sX3R5cGVdLCBbXCJCcmFuZGluZ1wiLCBvcHRpb25fdHlwZShBcGlEdG9fQmFja2VuZF9SZWFkX0JyYW5kaW5nJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fQmFja2VuZF9SZWFkX0JyYW5kaW5nIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihDb21wYW55TmFtZSwgTG9nbywgU3VwcG9ydCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkNvbXBhbnlOYW1lID0gQ29tcGFueU5hbWU7XG4gICAgICAgIHRoaXMuTG9nbyA9IExvZ287XG4gICAgICAgIHRoaXMuU3VwcG9ydCA9IFN1cHBvcnQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0JhY2tlbmRfUmVhZF9CcmFuZGluZyRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkJhY2tlbmQuUmVhZC5CcmFuZGluZ1wiLCBbXSwgQXBpRHRvX0JhY2tlbmRfUmVhZF9CcmFuZGluZywgKCkgPT4gW1tcIkNvbXBhbnlOYW1lXCIsIG9wdGlvbl90eXBlKHN0cmluZ190eXBlKV0sIFtcIkxvZ29cIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiU3VwcG9ydFwiLCBvcHRpb25fdHlwZShBcGlEdG9fQmFja2VuZF9SZWFkX1N1cHBvcnQkcmVmbGVjdGlvbigpKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19CYWNrZW5kX1JlYWRfU3VwcG9ydCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoRW1haWwsIFBob25lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuRW1haWwgPSBFbWFpbDtcbiAgICAgICAgdGhpcy5QaG9uZSA9IFBob25lO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19CYWNrZW5kX1JlYWRfU3VwcG9ydCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkJhY2tlbmQuUmVhZC5TdXBwb3J0XCIsIFtdLCBBcGlEdG9fQmFja2VuZF9SZWFkX1N1cHBvcnQsICgpID0+IFtbXCJFbWFpbFwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJQaG9uZVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fQmFja2VuZF9SZWFkX0JyYW5kaW5nTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIGxldCB4XzEsIHhfMywgeF85LCBzLCB4XzUsIHhfNztcbiAgICByZXR1cm4gbmV3IEFwaUR0b19CYWNrZW5kX1JlYWRfQnJhbmRpbmcoKHhfMSA9IGRvbWFpbi5Db21wYW55TmFtZSwgKHhfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogQ29tcGFueU5hbWVNb2R1bGVfdmFsdWUoeF8xKSksICh4XzMgPSBkb21haW4uTG9nbywgKHhfMyA9PSBudWxsKSA/ICh2b2lkIDApIDogTG9nb01vZHVsZV92YWx1ZSh4XzMpKSwgKHhfOSA9IGRvbWFpbi5TdXBwb3J0LCAoeF85ID09IG51bGwpID8gKHZvaWQgMCkgOiAoKHMgPSB4XzksIG5ldyBBcGlEdG9fQmFja2VuZF9SZWFkX1N1cHBvcnQoKHhfNSA9IHMuRW1haWwsICh4XzUgPT0gbnVsbCkgPyAodm9pZCAwKSA6IEVtYWlsTW9kdWxlX3ZhbHVlKHhfNSkpLCAoeF83ID0gcy5QaG9uZSwgKHhfNyA9PSBudWxsKSA/ICh2b2lkIDApIDogUGhvbmVNb2R1bGVfdmFsdWUoeF83KSkpKSkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19CYWNrZW5kX1JlYWRfQnJhbmRpbmdNb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgbGV0IHJlc3VsdF8xLCBpbnB1dCwgeF8xLCBpbnB1dF8yLCByZXN1bHRfMywgaW5wdXRfMywgeF82LCBpbnB1dF80LCB4XzIxLCBzLCByZXN1bHRfNSwgaW5wdXRfNSwgeF8xMSwgaW5wdXRfNiwgcmVzdWx0XzcsIGlucHV0XzcsIHhfMTYsIGlucHV0Xzg7XG4gICAgcmV0dXJuIG5ldyBJbnZpdGVCcmFuZGluZygocmVzdWx0XzEgPSAoKGlucHV0ID0gKCh4XzEgPSBkdG8uQ29tcGFueU5hbWUsICh4XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6IENvbXBhbnlOYW1lTW9kdWxlX2NyZWF0ZSh4XzEpKSksIChpbnB1dCAhPSBudWxsKSA/ICgoaW5wdXRfMiA9IGlucHV0LCAoaW5wdXRfMi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF8yLmZpZWxkc1swXSkpKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCkpKSksIChyZXN1bHRfMS50YWcgPT09IDEpID8gKHZvaWQgMCkgOiByZXN1bHRfMS5maWVsZHNbMF0pLCAocmVzdWx0XzMgPSAoKGlucHV0XzMgPSAoKHhfNiA9IGR0by5Mb2dvLCAoeF82ID09IG51bGwpID8gKHZvaWQgMCkgOiBMb2dvTW9kdWxlX2NyZWF0ZSh4XzYpKSksIChpbnB1dF8zICE9IG51bGwpID8gKChpbnB1dF80ID0gaW5wdXRfMywgKGlucHV0XzQudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNC5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfNC5maWVsZHNbMF0pKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKSkpLCAocmVzdWx0XzMudGFnID09PSAxKSA/ICh2b2lkIDApIDogcmVzdWx0XzMuZmllbGRzWzBdKSwgKHhfMjEgPSBkdG8uU3VwcG9ydCwgKHhfMjEgPT0gbnVsbCkgPyAodm9pZCAwKSA6ICgocyA9IHhfMjEsIG5ldyBTdXBwb3J0KChyZXN1bHRfNSA9ICgoaW5wdXRfNSA9ICgoeF8xMSA9IHMuRW1haWwsICh4XzExID09IG51bGwpID8gKHZvaWQgMCkgOiBFbWFpbE1vZHVsZV9jcmVhdGUoeF8xMSkpKSwgKGlucHV0XzUgIT0gbnVsbCkgPyAoKGlucHV0XzYgPSBpbnB1dF81LCAoaW5wdXRfNi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF82LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF82LmZpZWxkc1swXSkpKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCkpKSksIChyZXN1bHRfNS50YWcgPT09IDEpID8gKHZvaWQgMCkgOiByZXN1bHRfNS5maWVsZHNbMF0pLCAocmVzdWx0XzcgPSAoKGlucHV0XzcgPSAoKHhfMTYgPSBzLlBob25lLCAoeF8xNiA9PSBudWxsKSA/ICh2b2lkIDApIDogUGhvbmVNb2R1bGVfY3JlYXRlKHhfMTYpKSksIChpbnB1dF83ICE9IG51bGwpID8gKChpbnB1dF84ID0gaW5wdXRfNywgKGlucHV0XzgudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfOC5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfOC5maWVsZHNbMF0pKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKSkpLCAocmVzdWx0XzcudGFnID09PSAxKSA/ICh2b2lkIDApIDogcmVzdWx0XzcuZmllbGRzWzBdKSkpKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvTW9kdWxlX3RvRG9tYWluKHByb2Nlc3NJbnN0YW5jZUNvbnRleHREdG8pIHtcbiAgICBsZXQgcmVzXzEsIHhfMztcbiAgICByZXR1cm4gbmV3IEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHQocHJvY2Vzc0luc3RhbmNlQ29udGV4dER0by5Dc3NPdmVycmlkZXMsIChyZXNfMSA9IFByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV90b0RvbWFpbihwcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvLlByb2Nlc3NJbnN0YW5jZUR0byksIChyZXNfMS50YWcgPT09IDEpID8gKCgpID0+IHtcbiAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihyZXNfMS5maWVsZHNbMF0pKTtcbiAgICB9KSgpIDogcmVzXzEuZmllbGRzWzBdKSwgcHJvY2Vzc0luc3RhbmNlQ29udGV4dER0by5Jc0JlbmVmaXRzRW5hYmxlZCwgKHhfMyA9IHByb2Nlc3NJbnN0YW5jZUNvbnRleHREdG8uQnJhbmRpbmcsICh4XzMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IEFwaUR0b19CYWNrZW5kX1JlYWRfQnJhbmRpbmdNb2R1bGVfdG9Eb21haW4oeF8zKSkpO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0JhY2tlbmRfV3JpdGVfV29ya2Zsb3dBbmFseXRpY3NFdmVudER0byBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiV29ya2Zsb3dJbnN0YW5jZVN0ZXBBY3RpdmF0ZWRcIiwgXCJCZW5lZml0c1N0ZXBBY3RpdmF0ZWRcIiwgXCJCZW5lZml0c1N0ZXBDb21wbGV0ZWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0JhY2tlbmRfV3JpdGVfV29ya2Zsb3dBbmFseXRpY3NFdmVudER0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uQmFja2VuZC5Xcml0ZS5Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvXCIsIFtdLCBBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvLCAoKSA9PiBbW1tcIkl0ZW1cIiwgc3RyaW5nX3R5cGVdXSwgW10sIFtdXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfU3RlcHNDb25maWd1cmF0aW9uIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihCZW5lZml0c09uYm9hcmRpbmcpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5CZW5lZml0c09uYm9hcmRpbmcgPSBCZW5lZml0c09uYm9hcmRpbmc7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1N0ZXBzQ29uZmlndXJhdGlvbiRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLlN0ZXBzQ29uZmlndXJhdGlvblwiLCBbXSwgQXBpRHRvX0V4dGVybmFsX1N0ZXBzQ29uZmlndXJhdGlvbiwgKCkgPT4gW1tcIkJlbmVmaXRzT25ib2FyZGluZ1wiLCBvcHRpb25fdHlwZShhbm9uUmVjb3JkX3R5cGUoW1wiU2hvd1wiLCBBcGlEdG9fRXh0ZXJuYWxfU2hvd09wdGlvbnMkcmVmbGVjdGlvbigpXSkpXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0V4dGVybmFsX1Nob3dPcHRpb25zIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJXaGVuRW5hYmxlZFwiLCBcIkFsd2F5c1wiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfU2hvd09wdGlvbnMkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLlNob3dPcHRpb25zXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfU2hvd09wdGlvbnMsICgpID0+IFtbXSwgW11dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9TdGVwc0NvbmZpZ3VyYXRpb25EdG9fdG9Eb21haW4oZHRvKSB7XG4gICAgbGV0IHhfMSwgYm87XG4gICAgcmV0dXJuIG5ldyBTdGVwc0NvbmZpZ3VyYXRpb24oKHhfMSA9IGR0by5CZW5lZml0c09uYm9hcmRpbmcsICh4XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6ICgoYm8gPSB4XzEsIHtcbiAgICAgICAgU2hvdzogKGJvLlNob3cudGFnID09PSAxKSA/IChuZXcgU2hvd09wdGlvbnMoMSkpIDogKG5ldyBTaG93T3B0aW9ucygwKSksXG4gICAgfSkpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfU3RlcHNDb25maWd1cmF0aW9uRHRvX29mRG9tYWluKGRvbWFpbikge1xuICAgIGxldCB4XzEsIGJvO1xuICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX1N0ZXBzQ29uZmlndXJhdGlvbigoeF8xID0gZG9tYWluLkJlbmVmaXRzT25ib2FyZGluZywgKHhfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogKChibyA9IHhfMSwge1xuICAgICAgICBTaG93OiAoYm8uU2hvdy50YWcgPT09IDEpID8gKG5ldyBBcGlEdG9fRXh0ZXJuYWxfU2hvd09wdGlvbnMoMSkpIDogKG5ldyBBcGlEdG9fRXh0ZXJuYWxfU2hvd09wdGlvbnMoMCkpLFxuICAgIH0pKSkpO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0V4dGVybmFsX1VudXNlZER0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoVW51c2VkVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5VbnVzZWRWYWx1ZSA9IFVudXNlZFZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9VbnVzZWREdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaUR0by5FeHRlcm5hbC5VbnVzZWREdG9cIiwgW10sIEFwaUR0b19FeHRlcm5hbF9VbnVzZWREdG8sICgpID0+IFtbXCJVbnVzZWRWYWx1ZVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfVW51c2VkRHRvX2dldF9EZWZhdWx0KCkge1xuICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX1VudXNlZER0byh2b2lkIDApO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJEZWZhdWx0XCIsIFwiSW5mb1JlcXVlc3RcIiwgXCJBcHBJbnZpdGVcIiwgXCJCZW5lZml0c0V4aXN0aW5nXCIsIFwiQmVuZWZpdHNPbmJvYXJkaW5nXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZUR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uRXh0ZXJuYWwuSm91cm5leVR5cGVEdG9cIiwgW10sIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZUR0bywgKCkgPT4gW1tbXCJJdGVtXCIsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKENhdGVnb3J5KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQ2F0ZWdvcnkgPSBDYXRlZ29yeTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uRXh0ZXJuYWwuSm91cm5leVR5cGVEZXRhaWxzRHRvXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvLCAoKSA9PiBbW1wiQ2F0ZWdvcnlcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvX0dldERlZmF1bHRWYWx1ZSgpIHtcbiAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZUR0bygwLCBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvX2dldF9EZWZhdWx0KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b19nZXRfRGVmYXVsdCgpIHtcbiAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG8odm9pZCAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgcmV0dXJuIG5ldyBKb3VybmV5VHlwZURldGFpbHMoZHRvLkNhdGVnb3J5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfb2ZEb21haW4oZGV0YWlscykge1xuICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0byhkZXRhaWxzLkNhdGVnb3J5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZUR0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBzd2l0Y2ggKGR0by50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDEsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfdG9Eb21haW4oZHRvLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBKb3VybmV5VHlwZSgyLCBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX3RvRG9tYWluKGR0by5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGUoMywgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkdG8uZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDQsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfdG9Eb21haW4oZHRvLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGUoMCwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkdG8uZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEdG9Nb2R1bGVfb2ZEb21haW4oam91cm5leVR5cGUpIHtcbiAgICBzd2l0Y2ggKGpvdXJuZXlUeXBlLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvKDEsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfb2ZEb21haW4oam91cm5leVR5cGUuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZUR0bygyLCBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX29mRG9tYWluKGpvdXJuZXlUeXBlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEdG8oMywgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV9vZkRvbWFpbihqb3VybmV5VHlwZS5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvKDQsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfb2ZEb21haW4oam91cm5leVR5cGUuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEdG8oMCwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV9vZkRvbWFpbihqb3VybmV5VHlwZS5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9UYWdEdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKE5hbWUsIFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgICAgIHRoaXMuVmFsdWUgPSBWYWx1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfVGFnRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uRXh0ZXJuYWwuV3JpdGUuVGFnRHRvXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfVGFnRHRvLCAoKSA9PiBbW1wiTmFtZVwiLCBzdHJpbmdfdHlwZV0sIFtcIlZhbHVlXCIsIHN0cmluZ190eXBlXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0V4dGVybmFsX1dyaXRlX0NyZWF0ZUluc3RhbmNlIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihUeXBlLCBUYWdzLCBDcmVhdG9yLCBTdGVwc0NvbmZpZ3VyYXRpb24sIEpvdXJuZXkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5UeXBlID0gVHlwZTtcbiAgICAgICAgdGhpcy5UYWdzID0gVGFncztcbiAgICAgICAgdGhpcy5DcmVhdG9yID0gQ3JlYXRvcjtcbiAgICAgICAgdGhpcy5TdGVwc0NvbmZpZ3VyYXRpb24gPSBTdGVwc0NvbmZpZ3VyYXRpb247XG4gICAgICAgIHRoaXMuSm91cm5leSA9IEpvdXJuZXk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1dyaXRlX0NyZWF0ZUluc3RhbmNlJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uRXh0ZXJuYWwuV3JpdGUuQ3JlYXRlSW5zdGFuY2VcIiwgW10sIEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9DcmVhdGVJbnN0YW5jZSwgKCkgPT4gW1tcIlR5cGVcIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5HdWlkXCIpXSwgW1wiVGFnc1wiLCBvcHRpb25fdHlwZShsaXN0X3R5cGUoQXBpRHRvX0V4dGVybmFsX1dyaXRlX1RhZ0R0byRyZWZsZWN0aW9uKCkpKV0sIFtcIkNyZWF0b3JcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiU3RlcHNDb25maWd1cmF0aW9uXCIsIG9wdGlvbl90eXBlKEFwaUR0b19FeHRlcm5hbF9TdGVwc0NvbmZpZ3VyYXRpb24kcmVmbGVjdGlvbigpKV0sIFtcIkpvdXJuZXlcIiwgb3B0aW9uX3R5cGUoQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfSW52aXRlIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihCcmFuZGluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkJyYW5kaW5nID0gQnJhbmRpbmc7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1dyaXRlX0ludml0ZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLldyaXRlLkludml0ZVwiLCBbXSwgQXBpRHRvX0V4dGVybmFsX1dyaXRlX0ludml0ZSwgKCkgPT4gW1tcIkJyYW5kaW5nXCIsIG9wdGlvbl90eXBlKEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9JbnZpdGVCcmFuZGluZyRyZWZsZWN0aW9uKCkpXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0V4dGVybmFsX1dyaXRlX0ludml0ZUJyYW5kaW5nIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihDb21wYW55TmFtZSwgTG9nbywgU3VwcG9ydCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkNvbXBhbnlOYW1lID0gQ29tcGFueU5hbWU7XG4gICAgICAgIHRoaXMuTG9nbyA9IExvZ287XG4gICAgICAgIHRoaXMuU3VwcG9ydCA9IFN1cHBvcnQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1dyaXRlX0ludml0ZUJyYW5kaW5nJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uRXh0ZXJuYWwuV3JpdGUuSW52aXRlQnJhbmRpbmdcIiwgW10sIEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9JbnZpdGVCcmFuZGluZywgKCkgPT4gW1tcIkNvbXBhbnlOYW1lXCIsIG9wdGlvbl90eXBlKHN0cmluZ190eXBlKV0sIFtcIkxvZ29cIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiU3VwcG9ydFwiLCBvcHRpb25fdHlwZShBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfSW52aXRlU3VwcG9ydCRyZWZsZWN0aW9uKCkpXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0V4dGVybmFsX1dyaXRlX0ludml0ZVN1cHBvcnQgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKEVtYWlsLCBQaG9uZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkVtYWlsID0gRW1haWw7XG4gICAgICAgIHRoaXMuUGhvbmUgPSBQaG9uZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfSW52aXRlU3VwcG9ydCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLldyaXRlLkludml0ZVN1cHBvcnRcIiwgW10sIEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9JbnZpdGVTdXBwb3J0LCAoKSA9PiBbW1wiRW1haWxcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiUGhvbmVcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1dyaXRlX0ludml0ZUJyYW5kaW5nTW9kdWxlX3RvRG9tYWluKGFwaUR0bykge1xuICAgIGxldCB4XzEsIGFwaUR0b18xO1xuICAgIHJldHVybiBJbnZpdGVCcmFuZGluZ0R0b01vZHVsZV90b0RvbWFpbihuZXcgSW52aXRlQnJhbmRpbmdEdG8oYXBpRHRvLkNvbXBhbnlOYW1lLCBhcGlEdG8uTG9nbywgKHhfMSA9IGFwaUR0by5TdXBwb3J0LCAoeF8xID09IG51bGwpID8gKHZvaWQgMCkgOiAoKGFwaUR0b18xID0geF8xLCBuZXcgU3VwcG9ydER0byhhcGlEdG9fMS5FbWFpbCwgYXBpRHRvXzEuUGhvbmUpKSkpKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Db21wbGV0ZWRTdGVwIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihUeXBlLCBEYXRlJCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLlR5cGUgPSBUeXBlO1xuICAgICAgICB0aGlzLkRhdGUgPSBEYXRlJDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Db21wbGV0ZWRTdGVwJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uRXh0ZXJuYWwuUmVhZC5Db21wbGV0ZWRTdGVwXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Db21wbGV0ZWRTdGVwLCAoKSA9PiBbW1wiVHlwZVwiLCBzdHJpbmdfdHlwZV0sIFtcIkRhdGVcIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZSBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQWN0aXZhdGVkRGF0ZXMsIENvbXBsZXRlZFN0ZXBzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQWN0aXZhdGVkRGF0ZXMgPSBBY3RpdmF0ZWREYXRlcztcbiAgICAgICAgdGhpcy5Db21wbGV0ZWRTdGVwcyA9IENvbXBsZXRlZFN0ZXBzO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLlJlYWQuQWN0aXZlUHJvY2Vzc0luc3RhbmNlXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9BY3RpdmVQcm9jZXNzSW5zdGFuY2UsICgpID0+IFtbXCJBY3RpdmF0ZWREYXRlc1wiLCBsaXN0X3R5cGUoY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKSldLCBbXCJDb21wbGV0ZWRTdGVwc1wiLCBsaXN0X3R5cGUoQXBpRHRvX0V4dGVybmFsX1JlYWRfQ29tcGxldGVkU3RlcCRyZWZsZWN0aW9uKCkpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1JlYWRfQWN0aXZlUHJvY2Vzc0luc3RhbmNlTW9kdWxlX29mRHRvKGFjdGl2ZVByb2Nlc3NJbnN0YW5jZSkge1xuICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX1JlYWRfQWN0aXZlUHJvY2Vzc0luc3RhbmNlKGFjdGl2ZVByb2Nlc3NJbnN0YW5jZS5BY3RpdmF0ZWREYXRlcywgbWFwKCh0dXBsZWRBcmcpID0+IChuZXcgQXBpRHRvX0V4dGVybmFsX1JlYWRfQ29tcGxldGVkU3RlcCh0dXBsZWRBcmdbMF0sIHR1cGxlZEFyZ1sxXSkpLCBhY3RpdmVQcm9jZXNzSW5zdGFuY2UuQ29tcGxldGVkU3RlcHMpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZU1vZHVsZV9vZkRvbWFpbihhY3RpdmVQcm9jZXNzSW5zdGFuY2UpIHtcbiAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZShhY3RpdmVQcm9jZXNzSW5zdGFuY2UuQWN0aXZhdGVkRGF0ZXMsIG1hcCgodHVwbGVkQXJnKSA9PiAobmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX0NvbXBsZXRlZFN0ZXAoUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZSh0dXBsZWRBcmdbMF0pLCB0dXBsZWRBcmdbMV0pKSwgYWN0aXZlUHJvY2Vzc0luc3RhbmNlLkNvbXBsZXRlZFN0ZXBzKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2VTdGF0dXMgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkluYWN0aXZlXCIsIFwiQWN0aXZlXCIsIFwiQ29tcGxldGVcIiwgXCJBYmFuZG9uZWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1JlYWRfUHJvY2Vzc0luc3RhbmNlU3RhdHVzJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaUR0by5FeHRlcm5hbC5SZWFkLlByb2Nlc3NJbnN0YW5jZVN0YXR1c1wiLCBbXSwgQXBpRHRvX0V4dGVybmFsX1JlYWRfUHJvY2Vzc0luc3RhbmNlU3RhdHVzLCAoKSA9PiBbW10sIFtbXCJJdGVtXCIsIEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKV1dLCBbW1wiSXRlbVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpXV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9vZkR0byhwcm9jZXNzSW5zdGFuY2VTdGF0dXMpIHtcbiAgICBzd2l0Y2ggKHByb2Nlc3NJbnN0YW5jZVN0YXR1cy50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygxLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9BY3RpdmVQcm9jZXNzSW5zdGFuY2VNb2R1bGVfb2ZEdG8ocHJvY2Vzc0luc3RhbmNlU3RhdHVzLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2VTdGF0dXMoMiwgcHJvY2Vzc0luc3RhbmNlU3RhdHVzLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygzLCBwcm9jZXNzSW5zdGFuY2VTdGF0dXMuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9vZkRvbWFpbihwcm9jZXNzSW5zdGFuY2VTdGF0dXMpIHtcbiAgICBzd2l0Y2ggKHByb2Nlc3NJbnN0YW5jZVN0YXR1cy50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygxLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9BY3RpdmVQcm9jZXNzSW5zdGFuY2VNb2R1bGVfb2ZEb21haW4ocHJvY2Vzc0luc3RhbmNlU3RhdHVzLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2VTdGF0dXMoMiwgcHJvY2Vzc0luc3RhbmNlU3RhdHVzLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygzLCBwcm9jZXNzSW5zdGFuY2VTdGF0dXMuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZSBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSWQsIFR5cGUsIFN0YXR1cywgU3RlcHNDb25maWd1cmF0aW9uLCBQYXlTZXR1cENvbXBsZXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSWQgPSAoSWQgfCAwKTtcbiAgICAgICAgdGhpcy5UeXBlID0gVHlwZTtcbiAgICAgICAgdGhpcy5TdGF0dXMgPSBTdGF0dXM7XG4gICAgICAgIHRoaXMuU3RlcHNDb25maWd1cmF0aW9uID0gU3RlcHNDb25maWd1cmF0aW9uO1xuICAgICAgICB0aGlzLlBheVNldHVwQ29tcGxldGUgPSBQYXlTZXR1cENvbXBsZXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLlJlYWQuUHJvY2Vzc0luc3RhbmNlXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2UsICgpID0+IFtbXCJJZFwiLCBpbnQzMl90eXBlXSwgW1wiVHlwZVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkd1aWRcIildLCBbXCJTdGF0dXNcIiwgQXBpRHRvX0V4dGVybmFsX1JlYWRfUHJvY2Vzc0luc3RhbmNlU3RhdHVzJHJlZmxlY3Rpb24oKV0sIFtcIlN0ZXBzQ29uZmlndXJhdGlvblwiLCBvcHRpb25fdHlwZShBcGlEdG9fRXh0ZXJuYWxfU3RlcHNDb25maWd1cmF0aW9uJHJlZmxlY3Rpb24oKSldLCBbXCJQYXlTZXR1cENvbXBsZXRlXCIsIGJvb2xfdHlwZV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZU1vZHVsZV9tYXBQYXlTZXR1cENvbXBsZXRlKHByb2Nlc3NJbnN0YW5jZSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBwcm9jZXNzSW5zdGFuY2UuUGF5U2V0dXBDb21wbGV0ZTtcbiAgICBpZiAobWF0Y2hWYWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIGlmIChQcm9jZXNzQ29uZmlnX19nZXRfSXNQYXlTZXR1cENvbXBhdGlibGUocHJvY2Vzc0luc3RhbmNlLkNvbmZpZ3VyYXRpb24pKSB7XG4gICAgICAgICAgICBpZiAoUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2lzQWN0aXZlQW5kQWxsU3RlcHNBcmVDb21wbGV0ZWQocHJvY2Vzc0luc3RhbmNlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NJbnN0YW5jZU1vZHVsZV9pc0NvbXBsZXRlKHByb2Nlc3NJbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBtYXRjaFZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZU1vZHVsZV9vZkRvbWFpbihwcm9jZXNzSW5zdGFuY2UpIHtcbiAgICBsZXQgeF8xO1xuICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX1JlYWRfUHJvY2Vzc0luc3RhbmNlKFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZS5JZCksIFByb2Nlc3NDb25maWdJZE1vZHVsZV92YWx1ZShwcm9jZXNzSW5zdGFuY2UuQ29uZmlndXJhdGlvbi5JZCksIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9vZkRvbWFpbihwcm9jZXNzSW5zdGFuY2UuU3RhdHVzKSwgKHhfMSA9IHByb2Nlc3NJbnN0YW5jZS5TdGVwc0NvbmZpZ3VyYXRpb24sICh4XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6IEFwaUR0b19FeHRlcm5hbF9TdGVwc0NvbmZpZ3VyYXRpb25EdG9fb2ZEb21haW4oeF8xKSksIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZU1vZHVsZV9tYXBQYXlTZXR1cENvbXBsZXRlKHByb2Nlc3NJbnN0YW5jZSkpO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0ludGVybmFsX1dyaXRlX0FiYW5kb25JbnN0YW5jZSBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoVHlwZSwgQ3JlYXRlZERhdGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5UeXBlID0gVHlwZTtcbiAgICAgICAgdGhpcy5DcmVhdGVkRGF0ZSA9IENyZWF0ZWREYXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19JbnRlcm5hbF9Xcml0ZV9BYmFuZG9uSW5zdGFuY2UkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaUR0by5JbnRlcm5hbC5Xcml0ZS5BYmFuZG9uSW5zdGFuY2VcIiwgW10sIEFwaUR0b19JbnRlcm5hbF9Xcml0ZV9BYmFuZG9uSW5zdGFuY2UsICgpID0+IFtbXCJUeXBlXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uR3VpZFwiKV0sIFtcIkNyZWF0ZWREYXRlXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIildXSk7XG59XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js\n");
|
|
41
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ApiDomain_Backend_ProcessInstanceCommand: () => (/* binding */ ApiDomain_Backend_ProcessInstanceCommand),\n/* harmony export */ ApiDomain_Backend_ProcessInstanceCommand$reflection: () => (/* binding */ ApiDomain_Backend_ProcessInstanceCommand$reflection),\n/* harmony export */ ApiDomain_Backend_ProcessInstanceContext: () => (/* binding */ ApiDomain_Backend_ProcessInstanceContext),\n/* harmony export */ ApiDomain_Backend_ProcessInstanceContext$reflection: () => (/* binding */ ApiDomain_Backend_ProcessInstanceContext$reflection),\n/* harmony export */ ApiDto_Backend_ProcessInstanceCommandDto: () => (/* binding */ ApiDto_Backend_ProcessInstanceCommandDto),\n/* harmony export */ ApiDto_Backend_ProcessInstanceCommandDto$reflection: () => (/* binding */ ApiDto_Backend_ProcessInstanceCommandDto$reflection),\n/* harmony export */ ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDomain: () => (/* binding */ ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDomain),\n/* harmony export */ ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDto: () => (/* binding */ ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDto),\n/* harmony export */ ApiDto_Backend_Read_Branding: () => (/* binding */ ApiDto_Backend_Read_Branding),\n/* harmony export */ ApiDto_Backend_Read_Branding$reflection: () => (/* binding */ ApiDto_Backend_Read_Branding$reflection),\n/* harmony export */ ApiDto_Backend_Read_BrandingModule_ofDomain: () => (/* binding */ ApiDto_Backend_Read_BrandingModule_ofDomain),\n/* harmony export */ ApiDto_Backend_Read_BrandingModule_toDomain: () => (/* binding */ ApiDto_Backend_Read_BrandingModule_toDomain),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceContextDto: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceContextDto),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceContextDto$reflection: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceContextDto$reflection),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceContextDtoModule_toDomain: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceContextDtoModule_toDomain),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceDtoModule_ofDomain: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceDtoModule_ofDomain),\n/* harmony export */ ApiDto_Backend_Read_ProcessInstanceDtoModule_toDomain: () => (/* binding */ ApiDto_Backend_Read_ProcessInstanceDtoModule_toDomain),\n/* harmony export */ ApiDto_Backend_Read_Support: () => (/* binding */ ApiDto_Backend_Read_Support),\n/* harmony export */ ApiDto_Backend_Read_Support$reflection: () => (/* binding */ ApiDto_Backend_Read_Support$reflection),\n/* harmony export */ ApiDto_Backend_Write_WorkflowAnalyticsEventDto: () => (/* binding */ ApiDto_Backend_Write_WorkflowAnalyticsEventDto),\n/* harmony export */ ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection: () => (/* binding */ ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDto: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDto),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDto$reflection: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDto$reflection),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDtoModule_toDomain: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDtoModule_toDomain),\n/* harmony export */ ApiDto_External_JourneyTypeDetailsDto_get_Default: () => (/* binding */ ApiDto_External_JourneyTypeDetailsDto_get_Default),\n/* harmony export */ ApiDto_External_JourneyTypeDto: () => (/* binding */ ApiDto_External_JourneyTypeDto),\n/* harmony export */ ApiDto_External_JourneyTypeDto$reflection: () => (/* binding */ ApiDto_External_JourneyTypeDto$reflection),\n/* harmony export */ ApiDto_External_JourneyTypeDtoModule_ofDomain: () => (/* binding */ ApiDto_External_JourneyTypeDtoModule_ofDomain),\n/* harmony export */ ApiDto_External_JourneyTypeDtoModule_toDomain: () => (/* binding */ ApiDto_External_JourneyTypeDtoModule_toDomain),\n/* harmony export */ ApiDto_External_JourneyTypeDto_GetDefaultValue: () => (/* binding */ ApiDto_External_JourneyTypeDto_GetDefaultValue),\n/* harmony export */ ApiDto_External_Read_ActiveProcessInstance: () => (/* binding */ ApiDto_External_Read_ActiveProcessInstance),\n/* harmony export */ ApiDto_External_Read_ActiveProcessInstance$reflection: () => (/* binding */ ApiDto_External_Read_ActiveProcessInstance$reflection),\n/* harmony export */ ApiDto_External_Read_ActiveProcessInstanceModule_ofDomain: () => (/* binding */ ApiDto_External_Read_ActiveProcessInstanceModule_ofDomain),\n/* harmony export */ ApiDto_External_Read_ActiveProcessInstanceModule_ofDto: () => (/* binding */ ApiDto_External_Read_ActiveProcessInstanceModule_ofDto),\n/* harmony export */ ApiDto_External_Read_CompletedStep: () => (/* binding */ ApiDto_External_Read_CompletedStep),\n/* harmony export */ ApiDto_External_Read_CompletedStep$reflection: () => (/* binding */ ApiDto_External_Read_CompletedStep$reflection),\n/* harmony export */ ApiDto_External_Read_ProcessInstance: () => (/* binding */ ApiDto_External_Read_ProcessInstance),\n/* harmony export */ ApiDto_External_Read_ProcessInstance$reflection: () => (/* binding */ ApiDto_External_Read_ProcessInstance$reflection),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceModule_mapPaySetupComplete: () => (/* binding */ ApiDto_External_Read_ProcessInstanceModule_mapPaySetupComplete),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceModule_ofDomain: () => (/* binding */ ApiDto_External_Read_ProcessInstanceModule_ofDomain),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceStatus: () => (/* binding */ ApiDto_External_Read_ProcessInstanceStatus),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceStatus$reflection: () => (/* binding */ ApiDto_External_Read_ProcessInstanceStatus$reflection),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceStatusModule_ofDomain: () => (/* binding */ ApiDto_External_Read_ProcessInstanceStatusModule_ofDomain),\n/* harmony export */ ApiDto_External_Read_ProcessInstanceStatusModule_ofDto: () => (/* binding */ ApiDto_External_Read_ProcessInstanceStatusModule_ofDto),\n/* harmony export */ ApiDto_External_ShowOptions: () => (/* binding */ ApiDto_External_ShowOptions),\n/* harmony export */ ApiDto_External_ShowOptions$reflection: () => (/* binding */ ApiDto_External_ShowOptions$reflection),\n/* harmony export */ ApiDto_External_StepsConfiguration: () => (/* binding */ ApiDto_External_StepsConfiguration),\n/* harmony export */ ApiDto_External_StepsConfiguration$reflection: () => (/* binding */ ApiDto_External_StepsConfiguration$reflection),\n/* harmony export */ ApiDto_External_StepsConfigurationDto_ofDomain: () => (/* binding */ ApiDto_External_StepsConfigurationDto_ofDomain),\n/* harmony export */ ApiDto_External_StepsConfigurationDto_toDomain: () => (/* binding */ ApiDto_External_StepsConfigurationDto_toDomain),\n/* harmony export */ ApiDto_External_UnusedDto: () => (/* binding */ ApiDto_External_UnusedDto),\n/* harmony export */ ApiDto_External_UnusedDto$reflection: () => (/* binding */ ApiDto_External_UnusedDto$reflection),\n/* harmony export */ ApiDto_External_UnusedDto_get_Default: () => (/* binding */ ApiDto_External_UnusedDto_get_Default),\n/* harmony export */ ApiDto_External_Write_CreateInstance: () => (/* binding */ ApiDto_External_Write_CreateInstance),\n/* harmony export */ ApiDto_External_Write_CreateInstance$reflection: () => (/* binding */ ApiDto_External_Write_CreateInstance$reflection),\n/* harmony export */ ApiDto_External_Write_Invite: () => (/* binding */ ApiDto_External_Write_Invite),\n/* harmony export */ ApiDto_External_Write_Invite$reflection: () => (/* binding */ ApiDto_External_Write_Invite$reflection),\n/* harmony export */ ApiDto_External_Write_InviteBranding: () => (/* binding */ ApiDto_External_Write_InviteBranding),\n/* harmony export */ ApiDto_External_Write_InviteBranding$reflection: () => (/* binding */ ApiDto_External_Write_InviteBranding$reflection),\n/* harmony export */ ApiDto_External_Write_InviteBrandingModule_toDomain: () => (/* binding */ ApiDto_External_Write_InviteBrandingModule_toDomain),\n/* harmony export */ ApiDto_External_Write_InviteSupport: () => (/* binding */ ApiDto_External_Write_InviteSupport),\n/* harmony export */ ApiDto_External_Write_InviteSupport$reflection: () => (/* binding */ ApiDto_External_Write_InviteSupport$reflection),\n/* harmony export */ ApiDto_External_Write_TagDto: () => (/* binding */ ApiDto_External_Write_TagDto),\n/* harmony export */ ApiDto_External_Write_TagDto$reflection: () => (/* binding */ ApiDto_External_Write_TagDto$reflection),\n/* harmony export */ ApiDto_Internal_Write_AbandonInstance: () => (/* binding */ ApiDto_Internal_Write_AbandonInstance),\n/* harmony export */ ApiDto_Internal_Write_AbandonInstance$reflection: () => (/* binding */ ApiDto_Internal_Write_AbandonInstance$reflection)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Dto.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Dto.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../CommonDto.fs.js */ \"../Workflows.Business/Aggregates/CommonDto.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n\n\n\n\n\n\n\n\n\nclass ApiDomain_Backend_ProcessInstanceCommand extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CompleteStep\", \"CompleteStepV2\", \"Complete\", \"ViewPaySetupPage\", \"CompletePaySetup\", \"ResumePaySetup\"];\n }\n}\n\nfunction ApiDomain_Backend_ProcessInstanceCommand$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDomain.Backend.ProcessInstanceCommand\", [], ApiDomain_Backend_ProcessInstanceCommand, () => [[[\"Item\", (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepId$reflection)()]], [[\"Item\", (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepId$reflection)()]], [], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]]]);\n}\n\nclass ApiDomain_Backend_ProcessInstanceContext extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(CssOverrides, ProcessInstance, IsBenefitsEnabled, Branding) {\n super();\n this.CssOverrides = CssOverrides;\n this.ProcessInstance = ProcessInstance;\n this.IsBenefitsEnabled = IsBenefitsEnabled;\n this.Branding = Branding;\n }\n}\n\nfunction ApiDomain_Backend_ProcessInstanceContext$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDomain.Backend.ProcessInstanceContext\", [], ApiDomain_Backend_ProcessInstanceContext, () => [[\"CssOverrides\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"ProcessInstance\", (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)()], [\"IsBenefitsEnabled\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBranding$reflection)())]]);\n}\n\nclass ApiDto_Backend_ProcessInstanceCommandDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CompleteStep\", \"CompleteStepV2\", \"Complete\", \"ViewPaySetupPage\", \"CompletePaySetup\", \"ResumePaySetup\"];\n }\n}\n\nfunction ApiDto_Backend_ProcessInstanceCommandDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.ProcessInstanceCommandDto\", [], ApiDto_Backend_ProcessInstanceCommandDto, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]], [], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]]]);\n}\n\nfunction ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDto(processInstanceId, apiDto) {\n switch (apiDto.tag) {\n case 1: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(1, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n case 2: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(2, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId));\n }\n case 3: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(3, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n case 4: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(4, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n case 5: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(5, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n default: {\n return new _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceCommandDto(0, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId), apiDto.fields[0]]);\n }\n }\n}\n\nfunction ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDomain(command) {\n switch (command.tag) {\n case 1: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(1, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(command.fields[0]));\n }\n case 2: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(2);\n }\n case 3: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(3, command.fields[0]);\n }\n case 4: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(4, command.fields[0]);\n }\n case 5: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(5, command.fields[0]);\n }\n default: {\n return new ApiDto_Backend_ProcessInstanceCommandDto(0, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(command.fields[0]));\n }\n }\n}\n\nconst ApiDto_Backend_Read_ProcessInstanceDtoModule_ofDomain = _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceDtoModule_ofDomain;\n\nconst ApiDto_Backend_Read_ProcessInstanceDtoModule_toDomain = _Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceDtoModule_toDomain;\n\nclass ApiDto_Backend_Read_ProcessInstanceContextDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(CssOverrides, ProcessInstanceDto, IsBenefitsEnabled, Branding) {\n super();\n this.CssOverrides = CssOverrides;\n this.ProcessInstanceDto = ProcessInstanceDto;\n this.IsBenefitsEnabled = IsBenefitsEnabled;\n this.Branding = Branding;\n }\n}\n\nfunction ApiDto_Backend_Read_ProcessInstanceContextDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.Read.ProcessInstanceContextDto\", [], ApiDto_Backend_Read_ProcessInstanceContextDto, () => [[\"CssOverrides\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"ProcessInstanceDto\", (0,_Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceDto$reflection)()], [\"IsBenefitsEnabled\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_Backend_Read_Branding$reflection())]]);\n}\n\nclass ApiDto_Backend_Read_Branding extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(CompanyName, Logo, Support) {\n super();\n this.CompanyName = CompanyName;\n this.Logo = Logo;\n this.Support = Support;\n }\n}\n\nfunction ApiDto_Backend_Read_Branding$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.Read.Branding\", [], ApiDto_Backend_Read_Branding, () => [[\"CompanyName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Logo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Support\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_Backend_Read_Support$reflection())]]);\n}\n\nclass ApiDto_Backend_Read_Support extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Email, Phone) {\n super();\n this.Email = Email;\n this.Phone = Phone;\n }\n}\n\nfunction ApiDto_Backend_Read_Support$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.Read.Support\", [], ApiDto_Backend_Read_Support, () => [[\"Email\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Phone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nfunction ApiDto_Backend_Read_BrandingModule_ofDomain(domain) {\n let input_1, input_3, input_9, s, input_5, input_7;\n return new ApiDto_Backend_Read_Branding((input_1 = domain.CompanyName, (input_1 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.CompanyNameModule_value)(input_1)), (input_3 = domain.Logo, (input_3 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.LogoModule_value)(input_3)), (input_9 = domain.Support, (input_9 == null) ? (void 0) : ((s = input_9, new ApiDto_Backend_Read_Support((input_5 = s.Email, (input_5 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.EmailModule_value)(input_5)), (input_7 = s.Phone, (input_7 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.PhoneModule_value)(input_7)))))));\n}\n\nfunction ApiDto_Backend_Read_BrandingModule_toDomain(dto) {\n let result_1, input_2, input_1, input_3, result_3, input_6, input_5, input_7, input_17, s, result_5, input_10, input_9, input_11, result_7, input_14, input_13, input_15;\n return new _Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBranding((result_1 = ((input_2 = ((input_1 = dto.CompanyName, (input_1 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.CompanyNameModule_create)(input_1))), (input_2 != null) ? ((input_3 = input_2, (input_3.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(1, input_3.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, input_3.fields[0])))) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, void 0)))), (result_1.tag === 1) ? (void 0) : result_1.fields[0]), (result_3 = ((input_6 = ((input_5 = dto.Logo, (input_5 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.LogoModule_create)(input_5))), (input_6 != null) ? ((input_7 = input_6, (input_7.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(1, input_7.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, input_7.fields[0])))) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, void 0)))), (result_3.tag === 1) ? (void 0) : result_3.fields[0]), (input_17 = dto.Support, (input_17 == null) ? (void 0) : ((s = input_17, new _Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.Support((result_5 = ((input_10 = ((input_9 = s.Email, (input_9 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.EmailModule_create)(input_9))), (input_10 != null) ? ((input_11 = input_10, (input_11.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(1, input_11.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, input_11.fields[0])))) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, void 0)))), (result_5.tag === 1) ? (void 0) : result_5.fields[0]), (result_7 = ((input_14 = ((input_13 = s.Phone, (input_13 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.PhoneModule_create)(input_13))), (input_14 != null) ? ((input_15 = input_14, (input_15.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(1, input_15.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, input_15.fields[0])))) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_6__.FSharpResult$2(0, void 0)))), (result_7.tag === 1) ? (void 0) : result_7.fields[0]))))));\n}\n\nfunction ApiDto_Backend_Read_ProcessInstanceContextDtoModule_toDomain(processInstanceContextDto) {\n let res_1, input_1;\n return new ApiDomain_Backend_ProcessInstanceContext(processInstanceContextDto.CssOverrides, (res_1 = (0,_Dto_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProcessInstanceDtoModule_toDomain)(processInstanceContextDto.ProcessInstanceDto), (res_1.tag === 1) ? (() => {\n throw (new Error(res_1.fields[0]));\n })() : res_1.fields[0]), processInstanceContextDto.IsBenefitsEnabled, (input_1 = processInstanceContextDto.Branding, (input_1 == null) ? (void 0) : ApiDto_Backend_Read_BrandingModule_toDomain(input_1)));\n}\n\nclass ApiDto_Backend_Write_WorkflowAnalyticsEventDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"WorkflowInstanceStepActivated\", \"BenefitsStepActivated\", \"BenefitsStepCompleted\"];\n }\n}\n\nfunction ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Backend.Write.WorkflowAnalyticsEventDto\", [], ApiDto_Backend_Write_WorkflowAnalyticsEventDto, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]], [], []]);\n}\n\nclass ApiDto_External_StepsConfiguration extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(BenefitsOnboarding) {\n super();\n this.BenefitsOnboarding = BenefitsOnboarding;\n }\n}\n\nfunction ApiDto_External_StepsConfiguration$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.StepsConfiguration\", [], ApiDto_External_StepsConfiguration, () => [[\"BenefitsOnboarding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Show\", ApiDto_External_ShowOptions$reflection()]))]]);\n}\n\nclass ApiDto_External_ShowOptions extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"WhenEnabled\", \"Always\"];\n }\n}\n\nfunction ApiDto_External_ShowOptions$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.ShowOptions\", [], ApiDto_External_ShowOptions, () => [[], []]);\n}\n\nfunction ApiDto_External_StepsConfigurationDto_toDomain(dto) {\n let input_1, bo;\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.StepsConfiguration((input_1 = dto.BenefitsOnboarding, (input_1 == null) ? (void 0) : ((bo = input_1, {\n Show: (bo.Show.tag === 1) ? (new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ShowOptions(1)) : (new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ShowOptions(0)),\n }))));\n}\n\nfunction ApiDto_External_StepsConfigurationDto_ofDomain(domain) {\n let input_1, bo;\n return new ApiDto_External_StepsConfiguration((input_1 = domain.BenefitsOnboarding, (input_1 == null) ? (void 0) : ((bo = input_1, {\n Show: (bo.Show.tag === 1) ? (new ApiDto_External_ShowOptions(1)) : (new ApiDto_External_ShowOptions(0)),\n }))));\n}\n\nclass ApiDto_External_UnusedDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(UnusedValue) {\n super();\n this.UnusedValue = UnusedValue;\n }\n}\n\nfunction ApiDto_External_UnusedDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.UnusedDto\", [], ApiDto_External_UnusedDto, () => [[\"UnusedValue\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nfunction ApiDto_External_UnusedDto_get_Default() {\n return new ApiDto_External_UnusedDto(void 0);\n}\n\nclass ApiDto_External_JourneyTypeDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Default\", \"InfoRequest\", \"AppInvite\", \"BenefitsExisting\", \"BenefitsOnboarding\"];\n }\n}\n\nfunction ApiDto_External_JourneyTypeDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.JourneyTypeDto\", [], ApiDto_External_JourneyTypeDto, () => [[[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]], [[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]], [[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]], [[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]], [[\"Item\", ApiDto_External_JourneyTypeDetailsDto$reflection()]]]);\n}\n\nclass ApiDto_External_JourneyTypeDetailsDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Category) {\n super();\n this.Category = Category;\n }\n}\n\nfunction ApiDto_External_JourneyTypeDetailsDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.JourneyTypeDetailsDto\", [], ApiDto_External_JourneyTypeDetailsDto, () => [[\"Category\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nfunction ApiDto_External_JourneyTypeDto_GetDefaultValue() {\n return new ApiDto_External_JourneyTypeDto(0, ApiDto_External_JourneyTypeDetailsDto_get_Default());\n}\n\nfunction ApiDto_External_JourneyTypeDetailsDto_get_Default() {\n return new ApiDto_External_JourneyTypeDetailsDto(void 0);\n}\n\nfunction ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyTypeDetails(dto.Category);\n}\n\nfunction ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(details) {\n return new ApiDto_External_JourneyTypeDetailsDto(details.Category);\n}\n\nfunction ApiDto_External_JourneyTypeDtoModule_toDomain(dto) {\n switch (dto.tag) {\n case 1: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(1, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n case 2: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(2, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n case 3: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(3, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n case 4: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(4, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n default: {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(0, ApiDto_External_JourneyTypeDetailsDtoModule_toDomain(dto.fields[0]));\n }\n }\n}\n\nfunction ApiDto_External_JourneyTypeDtoModule_ofDomain(journeyType) {\n switch (journeyType.tag) {\n case 1: {\n return new ApiDto_External_JourneyTypeDto(1, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 2: {\n return new ApiDto_External_JourneyTypeDto(2, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 3: {\n return new ApiDto_External_JourneyTypeDto(3, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 4: {\n return new ApiDto_External_JourneyTypeDto(4, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n default: {\n return new ApiDto_External_JourneyTypeDto(0, ApiDto_External_JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n }\n}\n\nclass ApiDto_External_Write_TagDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Name, Value) {\n super();\n this.Name = Name;\n this.Value = Value;\n }\n}\n\nfunction ApiDto_External_Write_TagDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.TagDto\", [], ApiDto_External_Write_TagDto, () => [[\"Name\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"Value\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]);\n}\n\nclass ApiDto_External_Write_CreateInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Type, Tags, Creator, StepsConfiguration, Journey) {\n super();\n this.Type = Type;\n this.Tags = Tags;\n this.Creator = Creator;\n this.StepsConfiguration = StepsConfiguration;\n this.Journey = Journey;\n }\n}\n\nfunction ApiDto_External_Write_CreateInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.CreateInstance\", [], ApiDto_External_Write_CreateInstance, () => [[\"Type\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.Guid\")], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(ApiDto_External_Write_TagDto$reflection()))], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_StepsConfiguration$reflection())], [\"Journey\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_JourneyTypeDto$reflection())]]);\n}\n\nclass ApiDto_External_Write_Invite extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Branding) {\n super();\n this.Branding = Branding;\n }\n}\n\nfunction ApiDto_External_Write_Invite$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.Invite\", [], ApiDto_External_Write_Invite, () => [[\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_Write_InviteBranding$reflection())]]);\n}\n\nclass ApiDto_External_Write_InviteBranding extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(CompanyName, Logo, Support) {\n super();\n this.CompanyName = CompanyName;\n this.Logo = Logo;\n this.Support = Support;\n }\n}\n\nfunction ApiDto_External_Write_InviteBranding$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.InviteBranding\", [], ApiDto_External_Write_InviteBranding, () => [[\"CompanyName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Logo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Support\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_Write_InviteSupport$reflection())]]);\n}\n\nclass ApiDto_External_Write_InviteSupport extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Email, Phone) {\n super();\n this.Email = Email;\n this.Phone = Phone;\n }\n}\n\nfunction ApiDto_External_Write_InviteSupport$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Write.InviteSupport\", [], ApiDto_External_Write_InviteSupport, () => [[\"Email\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Phone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nfunction ApiDto_External_Write_InviteBrandingModule_toDomain(apiDto) {\n let input_1, apiDto_1;\n return (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteBrandingDtoModule_toDomain)(new _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteBrandingDto(apiDto.CompanyName, apiDto.Logo, (input_1 = apiDto.Support, (input_1 == null) ? (void 0) : ((apiDto_1 = input_1, new _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_3__.SupportDto(apiDto_1.Email, apiDto_1.Phone))))));\n}\n\nclass ApiDto_External_Read_CompletedStep extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Type, Date$) {\n super();\n this.Type = Type;\n this.Date = Date$;\n }\n}\n\nfunction ApiDto_External_Read_CompletedStep$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Read.CompletedStep\", [], ApiDto_External_Read_CompletedStep, () => [[\"Type\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"Date\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]]);\n}\n\nclass ApiDto_External_Read_ActiveProcessInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(ActivatedDates, CompletedSteps) {\n super();\n this.ActivatedDates = ActivatedDates;\n this.CompletedSteps = CompletedSteps;\n }\n}\n\nfunction ApiDto_External_Read_ActiveProcessInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Read.ActiveProcessInstance\", [], ApiDto_External_Read_ActiveProcessInstance, () => [[\"ActivatedDates\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\"))], [\"CompletedSteps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(ApiDto_External_Read_CompletedStep$reflection())]]);\n}\n\nfunction ApiDto_External_Read_ActiveProcessInstanceModule_ofDto(activeProcessInstance) {\n return new ApiDto_External_Read_ActiveProcessInstance(activeProcessInstance.ActivatedDates, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.map)((tupledArg) => (new ApiDto_External_Read_CompletedStep(tupledArg[0], tupledArg[1])), activeProcessInstance.CompletedSteps));\n}\n\nfunction ApiDto_External_Read_ActiveProcessInstanceModule_ofDomain(activeProcessInstance) {\n return new ApiDto_External_Read_ActiveProcessInstance(activeProcessInstance.ActivatedDates, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.map)((tupledArg) => (new ApiDto_External_Read_CompletedStep((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(tupledArg[0]), tupledArg[1])), activeProcessInstance.CompletedSteps));\n}\n\nclass ApiDto_External_Read_ProcessInstanceStatus extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Inactive\", \"Active\", \"Complete\", \"Abandoned\"];\n }\n}\n\nfunction ApiDto_External_Read_ProcessInstanceStatus$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Read.ProcessInstanceStatus\", [], ApiDto_External_Read_ProcessInstanceStatus, () => [[], [[\"Item\", ApiDto_External_Read_ActiveProcessInstance$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]]]);\n}\n\nfunction ApiDto_External_Read_ProcessInstanceStatusModule_ofDto(processInstanceStatus) {\n switch (processInstanceStatus.tag) {\n case 1: {\n return new ApiDto_External_Read_ProcessInstanceStatus(1, ApiDto_External_Read_ActiveProcessInstanceModule_ofDto(processInstanceStatus.fields[0]));\n }\n case 2: {\n return new ApiDto_External_Read_ProcessInstanceStatus(2, processInstanceStatus.fields[0]);\n }\n case 3: {\n return new ApiDto_External_Read_ProcessInstanceStatus(3, processInstanceStatus.fields[0]);\n }\n default: {\n return new ApiDto_External_Read_ProcessInstanceStatus(0);\n }\n }\n}\n\nfunction ApiDto_External_Read_ProcessInstanceStatusModule_ofDomain(processInstanceStatus) {\n switch (processInstanceStatus.tag) {\n case 1: {\n return new ApiDto_External_Read_ProcessInstanceStatus(1, ApiDto_External_Read_ActiveProcessInstanceModule_ofDomain(processInstanceStatus.fields[0]));\n }\n case 2: {\n return new ApiDto_External_Read_ProcessInstanceStatus(2, processInstanceStatus.fields[0]);\n }\n case 3: {\n return new ApiDto_External_Read_ProcessInstanceStatus(3, processInstanceStatus.fields[0]);\n }\n default: {\n return new ApiDto_External_Read_ProcessInstanceStatus(0);\n }\n }\n}\n\nclass ApiDto_External_Read_ProcessInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Type, Status, StepsConfiguration, PaySetupComplete) {\n super();\n this.Id = (Id | 0);\n this.Type = Type;\n this.Status = Status;\n this.StepsConfiguration = StepsConfiguration;\n this.PaySetupComplete = PaySetupComplete;\n }\n}\n\nfunction ApiDto_External_Read_ProcessInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.External.Read.ProcessInstance\", [], ApiDto_External_Read_ProcessInstance, () => [[\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.int32_type], [\"Type\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.Guid\")], [\"Status\", ApiDto_External_Read_ProcessInstanceStatus$reflection()], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(ApiDto_External_StepsConfiguration$reflection())], [\"PaySetupComplete\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type]]);\n}\n\nfunction ApiDto_External_Read_ProcessInstanceModule_mapPaySetupComplete(processInstance) {\n const matchValue = processInstance.PaySetupComplete;\n if (matchValue == null) {\n if ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfig__get_IsPaySetupCompatible)(processInstance.Configuration)) {\n if ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceModule_isActiveAndAllStepsAreCompleted)(processInstance)) {\n return true;\n }\n else {\n return (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceModule_isComplete)(processInstance);\n }\n }\n else {\n return false;\n }\n }\n else {\n return matchValue;\n }\n}\n\nfunction ApiDto_External_Read_ProcessInstanceModule_ofDomain(processInstance) {\n let input_1;\n return new ApiDto_External_Read_ProcessInstance((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstance.Id), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfigIdModule_value)(processInstance.Configuration.Id), ApiDto_External_Read_ProcessInstanceStatusModule_ofDomain(processInstance.Status), (input_1 = processInstance.StepsConfiguration, (input_1 == null) ? (void 0) : ApiDto_External_StepsConfigurationDto_ofDomain(input_1)), ApiDto_External_Read_ProcessInstanceModule_mapPaySetupComplete(processInstance));\n}\n\nclass ApiDto_Internal_Write_AbandonInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Type, CreatedDate) {\n super();\n this.Type = Type;\n this.CreatedDate = CreatedDate;\n }\n}\n\nfunction ApiDto_Internal_Write_AbandonInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.ApiDto.Internal.Write.AbandonInstance\", [], ApiDto_Internal_Write_AbandonInstance, () => [[\"Type\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.Guid\")], [\"CreatedDate\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]]);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9BcGkuZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTJIO0FBQ3NQO0FBQzlJO0FBQ3dCO0FBQzlGO0FBQ2hDO0FBQ3hCO0FBQ1c7O0FBRXpHLHVEQUF1RCxxSEFBSztBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLG1JQUFVLDhKQUE4Six1RUFBd0IsZ0JBQWdCLHVFQUF3QixvQkFBb0IsOEhBQVMsY0FBYyw4SEFBUyxjQUFjLDhIQUFTO0FBQzlUOztBQUVPLHVEQUF1RCxzSEFBTTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxvSUFBVyxxS0FBcUssa0lBQVMsQ0FBQyxnSUFBVyx3QkFBd0IseUVBQTBCLDJCQUEyQiw4SEFBUyxnQkFBZ0Isb0lBQVcsQ0FBQyx3RUFBeUI7QUFDM1Y7O0FBRU8sdURBQXVELHFIQUFLO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsbUlBQVUsOEpBQThKLGdJQUFXLGNBQWMsZ0lBQVcsa0JBQWtCLDhIQUFTLGNBQWMsOEhBQVMsY0FBYyw4SEFBUztBQUNoUzs7QUFFTztBQUNQO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLEtBQUssNEVBQTZCO0FBQ2xGO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLElBQUksNEVBQTZCO0FBQ2pGO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLEtBQUssNEVBQTZCO0FBQ2xGO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLEtBQUssNEVBQTZCO0FBQ2xGO0FBQ0E7QUFDQSx1QkFBdUIsaUVBQXlCLEtB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O0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQSxvREFBb0QsNEVBQTZCLHNCQUFzQiwwRUFBMkI7QUFDbEk7O0FBRU8sb0RBQW9ELHNIQUFNO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsdUpBQXVKLG1JQUFVLGtDQUFrQyxtSUFBVTtBQUNuTyIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9BcGkuZnMuanM/YzU1NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWNvcmQsIFVuaW9uIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9UeXBlcy5qc1wiO1xuaW1wb3J0IHsgUHJvY2Vzc0NvbmZpZ0lkTW9kdWxlX3ZhbHVlLCBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfaXNDb21wbGV0ZSwgUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2lzQWN0aXZlQW5kQWxsU3RlcHNBcmVDb21wbGV0ZWQsIFByb2Nlc3NDb25maWdfX2dldF9Jc1BheVNldHVwQ29tcGF0aWJsZSwgSm91cm5leVR5cGUsIEpvdXJuZXlUeXBlRGV0YWlscywgU3RlcHNDb25maWd1cmF0aW9uLCBTaG93T3B0aW9ucywgUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZSwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUsIFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi9Eb21haW4uZnMuanNcIjtcbmltcG9ydCB7IGludDMyX3R5cGUsIGNsYXNzX3R5cGUsIGFub25SZWNvcmRfdHlwZSwgcmVjb3JkX3R5cGUsIG9wdGlvbl90eXBlLCBsaXN0X3R5cGUsIHN0cmluZ190eXBlLCB1bmlvbl90eXBlLCBib29sX3R5cGUgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1JlZmxlY3Rpb24uanNcIjtcbmltcG9ydCB7IEludml0ZUJyYW5kaW5nLCBTdXBwb3J0LCBQaG9uZU1vZHVsZV9jcmVhdGUsIEVtYWlsTW9kdWxlX2NyZWF0ZSwgTG9nb01vZHVsZV9jcmVhdGUsIENvbXBhbnlOYW1lTW9kdWxlX2NyZWF0ZSwgUGhvbmVNb2R1bGVfdmFsdWUsIEVtYWlsTW9kdWxlX3ZhbHVlLCBMb2dvTW9kdWxlX3ZhbHVlLCBDb21wYW55TmFtZU1vZHVsZV92YWx1ZSwgSW52aXRlQnJhbmRpbmckcmVmbGVjdGlvbiB9IGZyb20gXCIuLi9Db21tb24uZnMuanNcIjtcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZUR0byRyZWZsZWN0aW9uLCBQcm9jZXNzSW5zdGFuY2VEdG9Nb2R1bGVfdG9Eb21haW4sIFByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV9vZkRvbWFpbiwgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0byB9IGZyb20gXCIuL0R0by5mcy5qc1wiO1xuaW1wb3J0IHsgRlNoYXJwUmVzdWx0JDIgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgSW52aXRlQnJhbmRpbmdEdG8sIFN1cHBvcnREdG8sIEludml0ZUJyYW5kaW5nRHRvTW9kdWxlX3RvRG9tYWluIH0gZnJvbSBcIi4uL0NvbW1vbkR0by5mcy5qc1wiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9MaXN0LmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBBcGlEb21haW5fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJDb21wbGV0ZVN0ZXBcIiwgXCJDb21wbGV0ZVN0ZXBWMlwiLCBcIkNvbXBsZXRlXCIsIFwiVmlld1BheVNldHVwUGFnZVwiLCBcIkNvbXBsZXRlUGF5U2V0dXBcIiwgXCJSZXN1bWVQYXlTZXR1cFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEb21haW5fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaURvbWFpbi5CYWNrZW5kLlByb2Nlc3NJbnN0YW5jZUNvbW1hbmRcIiwgW10sIEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmQsICgpID0+IFtbW1wiSXRlbVwiLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKV1dLCBbXSwgW1tcIkl0ZW1cIiwgYm9vbF90eXBlXV0sIFtbXCJJdGVtXCIsIGJvb2xfdHlwZV1dLCBbW1wiSXRlbVwiLCBib29sX3R5cGVdXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRG9tYWluX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29udGV4dCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQ3NzT3ZlcnJpZGVzLCBQcm9jZXNzSW5zdGFuY2UsIElzQmVuZWZpdHNFbmFibGVkLCBCcmFuZGluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkNzc092ZXJyaWRlcyA9IENzc092ZXJyaWRlcztcbiAgICAgICAgdGhpcy5Qcm9jZXNzSW5zdGFuY2UgPSBQcm9jZXNzSW5zdGFuY2U7XG4gICAgICAgIHRoaXMuSXNCZW5lZml0c0VuYWJsZWQgPSBJc0JlbmVmaXRzRW5hYmxlZDtcbiAgICAgICAgdGhpcy5CcmFuZGluZyA9IEJyYW5kaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaURvbWFpbi5CYWNrZW5kLlByb2Nlc3NJbnN0YW5jZUNvbnRleHRcIiwgW10sIEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHQsICgpID0+IFtbXCJDc3NPdmVycmlkZXNcIiwgbGlzdF90eXBlKHN0cmluZ190eXBlKV0sIFtcIlByb2Nlc3NJbnN0YW5jZVwiLCBQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpXSwgW1wiSXNCZW5lZml0c0VuYWJsZWRcIiwgYm9vbF90eXBlXSwgW1wiQnJhbmRpbmdcIiwgb3B0aW9uX3R5cGUoSW52aXRlQnJhbmRpbmckcmVmbGVjdGlvbigpKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8gZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkNvbXBsZXRlU3RlcFwiLCBcIkNvbXBsZXRlU3RlcFYyXCIsIFwiQ29tcGxldGVcIiwgXCJWaWV3UGF5U2V0dXBQYWdlXCIsIFwiQ29tcGxldGVQYXlTZXR1cFwiLCBcIlJlc3VtZVBheVNldHVwXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkJhY2tlbmQuUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0b1wiLCBbXSwgQXBpRHRvX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0bywgKCkgPT4gW1tbXCJJdGVtXCIsIHN0cmluZ190eXBlXV0sIFtbXCJJdGVtXCIsIHN0cmluZ190eXBlXV0sIFtdLCBbW1wiSXRlbVwiLCBib29sX3R5cGVdXSwgW1tcIkl0ZW1cIiwgYm9vbF90eXBlXV0sIFtbXCJJdGVtXCIsIGJvb2xfdHlwZV1dXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvTW9kdWxlX29mRHRvKHByb2Nlc3NJbnN0YW5jZUlkLCBhcGlEdG8pIHtcbiAgICBzd2l0Y2ggKGFwaUR0by50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8oMSwgW1Byb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSwgYXBpRHRvLmZpZWxkc1swXV0pO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDIsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8oMywgW1Byb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSwgYXBpRHRvLmZpZWxkc1swXV0pO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDQsIFtQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShwcm9jZXNzSW5zdGFuY2VJZCksIGFwaUR0by5maWVsZHNbMF1dKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0byg1LCBbUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUocHJvY2Vzc0luc3RhbmNlSWQpLCBhcGlEdG8uZmllbGRzWzBdXSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDAsIFtQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShwcm9jZXNzSW5zdGFuY2VJZCksIGFwaUR0by5maWVsZHNbMF1dKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG9Nb2R1bGVfb2ZEb21haW4oY29tbWFuZCkge1xuICAgIHN3aXRjaCAoY29tbWFuZC50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8oMSwgUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZShjb21tYW5kLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDIpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvKDMsIGNvbW1hbmQuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXBpRHRvX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0byg0LCBjb21tYW5kLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG8oNSwgY29tbWFuZC5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXBpRHRvX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0bygwLCBQcm9jZXNzU3RlcElkTW9kdWxlX3ZhbHVlKGNvbW1hbmQuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBBcGlEdG9fQmFja2VuZF9SZWFkX1Byb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV9vZkRvbWFpbiA9IFByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV9vZkRvbWFpbjtcblxuZXhwb3J0IGNvbnN0IEFwaUR0b19CYWNrZW5kX1JlYWRfUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluID0gUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluO1xuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihDc3NPdmVycmlkZXMsIFByb2Nlc3NJbnN0YW5jZUR0bywgSXNCZW5lZml0c0VuYWJsZWQsIEJyYW5kaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQ3NzT3ZlcnJpZGVzID0gQ3NzT3ZlcnJpZGVzO1xuICAgICAgICB0aGlzLlByb2Nlc3NJbnN0YW5jZUR0byA9IFByb2Nlc3NJbnN0YW5jZUR0bztcbiAgICAgICAgdGhpcy5Jc0JlbmVmaXRzRW5hYmxlZCA9IElzQmVuZWZpdHNFbmFibGVkO1xuICAgICAgICB0aGlzLkJyYW5kaW5nID0gQnJhbmRpbmc7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uQmFja2VuZC5SZWFkLlByb2Nlc3NJbnN0YW5jZUNvbnRleHREdG9cIiwgW10sIEFwaUR0b19CYWNrZW5kX1JlYWRfUHJvY2Vzc0luc3RhbmNlQ29udGV4dER0bywgKCkgPT4gW1tcIkNzc092ZXJyaWRlc1wiLCBsaXN0X3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiUHJvY2Vzc0luc3RhbmNlRHRvXCIsIFByb2Nlc3NJbnN0YW5jZUR0byRyZWZsZWN0aW9uKCldLCBbXCJJc0JlbmVmaXRzRW5hYmxlZFwiLCBib29sX3R5cGVdLCBbXCJCcmFuZGluZ1wiLCBvcHRpb25fdHlwZShBcGlEdG9fQmFja2VuZF9SZWFkX0JyYW5kaW5nJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fQmFja2VuZF9SZWFkX0JyYW5kaW5nIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihDb21wYW55TmFtZSwgTG9nbywgU3VwcG9ydCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkNvbXBhbnlOYW1lID0gQ29tcGFueU5hbWU7XG4gICAgICAgIHRoaXMuTG9nbyA9IExvZ287XG4gICAgICAgIHRoaXMuU3VwcG9ydCA9IFN1cHBvcnQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0JhY2tlbmRfUmVhZF9CcmFuZGluZyRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkJhY2tlbmQuUmVhZC5CcmFuZGluZ1wiLCBbXSwgQXBpRHRvX0JhY2tlbmRfUmVhZF9CcmFuZGluZywgKCkgPT4gW1tcIkNvbXBhbnlOYW1lXCIsIG9wdGlvbl90eXBlKHN0cmluZ190eXBlKV0sIFtcIkxvZ29cIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiU3VwcG9ydFwiLCBvcHRpb25fdHlwZShBcGlEdG9fQmFja2VuZF9SZWFkX1N1cHBvcnQkcmVmbGVjdGlvbigpKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19CYWNrZW5kX1JlYWRfU3VwcG9ydCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoRW1haWwsIFBob25lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuRW1haWwgPSBFbWFpbDtcbiAgICAgICAgdGhpcy5QaG9uZSA9IFBob25lO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19CYWNrZW5kX1JlYWRfU3VwcG9ydCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkJhY2tlbmQuUmVhZC5TdXBwb3J0XCIsIFtdLCBBcGlEdG9fQmFja2VuZF9SZWFkX1N1cHBvcnQsICgpID0+IFtbXCJFbWFpbFwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJQaG9uZVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fQmFja2VuZF9SZWFkX0JyYW5kaW5nTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIGxldCBpbnB1dF8xLCBpbnB1dF8zLCBpbnB1dF85LCBzLCBpbnB1dF81LCBpbnB1dF83O1xuICAgIHJldHVybiBuZXcgQXBpRHRvX0JhY2tlbmRfUmVhZF9CcmFuZGluZygoaW5wdXRfMSA9IGRvbWFpbi5Db21wYW55TmFtZSwgKGlucHV0XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6IENvbXBhbnlOYW1lTW9kdWxlX3ZhbHVlKGlucHV0XzEpKSwgKGlucHV0XzMgPSBkb21haW4uTG9nbywgKGlucHV0XzMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IExvZ29Nb2R1bGVfdmFsdWUoaW5wdXRfMykpLCAoaW5wdXRfOSA9IGRvbWFpbi5TdXBwb3J0LCAoaW5wdXRfOSA9PSBudWxsKSA/ICh2b2lkIDApIDogKChzID0gaW5wdXRfOSwgbmV3IEFwaUR0b19CYWNrZW5kX1JlYWRfU3VwcG9ydCgoaW5wdXRfNSA9IHMuRW1haWwsIChpbnB1dF81ID09IG51bGwpID8gKHZvaWQgMCkgOiBFbWFpbE1vZHVsZV92YWx1ZShpbnB1dF81KSksIChpbnB1dF83ID0gcy5QaG9uZSwgKGlucHV0XzcgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFBob25lTW9kdWxlX3ZhbHVlKGlucHV0XzcpKSkpKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0JhY2tlbmRfUmVhZF9CcmFuZGluZ01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBsZXQgcmVzdWx0XzEsIGlucHV0XzIsIGlucHV0XzEsIGlucHV0XzMsIHJlc3VsdF8zLCBpbnB1dF82LCBpbnB1dF81LCBpbnB1dF83LCBpbnB1dF8xNywgcywgcmVzdWx0XzUsIGlucHV0XzEwLCBpbnB1dF85LCBpbnB1dF8xMSwgcmVzdWx0XzcsIGlucHV0XzE0LCBpbnB1dF8xMywgaW5wdXRfMTU7XG4gICAgcmV0dXJuIG5ldyBJbnZpdGVCcmFuZGluZygocmVzdWx0XzEgPSAoKGlucHV0XzIgPSAoKGlucHV0XzEgPSBkdG8uQ29tcGFueU5hbWUsIChpbnB1dF8xID09IG51bGwpID8gKHZvaWQgMCkgOiBDb21wYW55TmFtZU1vZHVsZV9jcmVhdGUoaW5wdXRfMSkpKSwgKGlucHV0XzIgIT0gbnVsbCkgPyAoKGlucHV0XzMgPSBpbnB1dF8yLCAoaW5wdXRfMy50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8zLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF8zLmZpZWxkc1swXSkpKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCkpKSksIChyZXN1bHRfMS50YWcgPT09IDEpID8gKHZvaWQgMCkgOiByZXN1bHRfMS5maWVsZHNbMF0pLCAocmVzdWx0XzMgPSAoKGlucHV0XzYgPSAoKGlucHV0XzUgPSBkdG8uTG9nbywgKGlucHV0XzUgPT0gbnVsbCkgPyAodm9pZCAwKSA6IExvZ29Nb2R1bGVfY3JlYXRlKGlucHV0XzUpKSksIChpbnB1dF82ICE9IG51bGwpID8gKChpbnB1dF83ID0gaW5wdXRfNiwgKGlucHV0XzcudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNy5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfNy5maWVsZHNbMF0pKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKSkpLCAocmVzdWx0XzMudGFnID09PSAxKSA/ICh2b2lkIDApIDogcmVzdWx0XzMuZmllbGRzWzBdKSwgKGlucHV0XzE3ID0gZHRvLlN1cHBvcnQsIChpbnB1dF8xNyA9PSBudWxsKSA/ICh2b2lkIDApIDogKChzID0gaW5wdXRfMTcsIG5ldyBTdXBwb3J0KChyZXN1bHRfNSA9ICgoaW5wdXRfMTAgPSAoKGlucHV0XzkgPSBzLkVtYWlsLCAoaW5wdXRfOSA9PSBudWxsKSA/ICh2b2lkIDApIDogRW1haWxNb2R1bGVfY3JlYXRlKGlucHV0XzkpKSksIChpbnB1dF8xMCAhPSBudWxsKSA/ICgoaW5wdXRfMTEgPSBpbnB1dF8xMCwgKGlucHV0XzExLnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzExLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF8xMS5maWVsZHNbMF0pKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKSkpLCAocmVzdWx0XzUudGFnID09PSAxKSA/ICh2b2lkIDApIDogcmVzdWx0XzUuZmllbGRzWzBdKSwgKHJlc3VsdF83ID0gKChpbnB1dF8xNCA9ICgoaW5wdXRfMTMgPSBzLlBob25lLCAoaW5wdXRfMTMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFBob25lTW9kdWxlX2NyZWF0ZShpbnB1dF8xMykpKSwgKGlucHV0XzE0ICE9IG51bGwpID8gKChpbnB1dF8xNSA9IGlucHV0XzE0LCAoaW5wdXRfMTUudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTUuZmllbGRzWzBdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGlucHV0XzE1LmZpZWxkc1swXSkpKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCkpKSksIChyZXN1bHRfNy50YWcgPT09IDEpID8gKHZvaWQgMCkgOiByZXN1bHRfNy5maWVsZHNbMF0pKSkpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fQmFja2VuZF9SZWFkX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHREdG9Nb2R1bGVfdG9Eb21haW4ocHJvY2Vzc0luc3RhbmNlQ29udGV4dER0bykge1xuICAgIGxldCByZXNfMSwgaW5wdXRfMTtcbiAgICByZXR1cm4gbmV3IEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHQocHJvY2Vzc0luc3RhbmNlQ29udGV4dER0by5Dc3NPdmVycmlkZXMsIChyZXNfMSA9IFByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV90b0RvbWFpbihwcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvLlByb2Nlc3NJbnN0YW5jZUR0byksIChyZXNfMS50YWcgPT09IDEpID8gKCgpID0+IHtcbiAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihyZXNfMS5maWVsZHNbMF0pKTtcbiAgICB9KSgpIDogcmVzXzEuZmllbGRzWzBdKSwgcHJvY2Vzc0luc3RhbmNlQ29udGV4dER0by5Jc0JlbmVmaXRzRW5hYmxlZCwgKGlucHV0XzEgPSBwcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvLkJyYW5kaW5nLCAoaW5wdXRfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogQXBpRHRvX0JhY2tlbmRfUmVhZF9CcmFuZGluZ01vZHVsZV90b0RvbWFpbihpbnB1dF8xKSkpO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0JhY2tlbmRfV3JpdGVfV29ya2Zsb3dBbmFseXRpY3NFdmVudER0byBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiV29ya2Zsb3dJbnN0YW5jZVN0ZXBBY3RpdmF0ZWRcIiwgXCJCZW5lZml0c1N0ZXBBY3RpdmF0ZWRcIiwgXCJCZW5lZml0c1N0ZXBDb21wbGV0ZWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0JhY2tlbmRfV3JpdGVfV29ya2Zsb3dBbmFseXRpY3NFdmVudER0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uQmFja2VuZC5Xcml0ZS5Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvXCIsIFtdLCBBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvLCAoKSA9PiBbW1tcIkl0ZW1cIiwgc3RyaW5nX3R5cGVdXSwgW10sIFtdXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfU3RlcHNDb25maWd1cmF0aW9uIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihCZW5lZml0c09uYm9hcmRpbmcpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5CZW5lZml0c09uYm9hcmRpbmcgPSBCZW5lZml0c09uYm9hcmRpbmc7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1N0ZXBzQ29uZmlndXJhdGlvbiRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLlN0ZXBzQ29uZmlndXJhdGlvblwiLCBbXSwgQXBpRHRvX0V4dGVybmFsX1N0ZXBzQ29uZmlndXJhdGlvbiwgKCkgPT4gW1tcIkJlbmVmaXRzT25ib2FyZGluZ1wiLCBvcHRpb25fdHlwZShhbm9uUmVjb3JkX3R5cGUoW1wiU2hvd1wiLCBBcGlEdG9fRXh0ZXJuYWxfU2hvd09wdGlvbnMkcmVmbGVjdGlvbigpXSkpXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0V4dGVybmFsX1Nob3dPcHRpb25zIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJXaGVuRW5hYmxlZFwiLCBcIkFsd2F5c1wiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfU2hvd09wdGlvbnMkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLlNob3dPcHRpb25zXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfU2hvd09wdGlvbnMsICgpID0+IFtbXSwgW11dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9TdGVwc0NvbmZpZ3VyYXRpb25EdG9fdG9Eb21haW4oZHRvKSB7XG4gICAgbGV0IGlucHV0XzEsIGJvO1xuICAgIHJldHVybiBuZXcgU3RlcHNDb25maWd1cmF0aW9uKChpbnB1dF8xID0gZHRvLkJlbmVmaXRzT25ib2FyZGluZywgKGlucHV0XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6ICgoYm8gPSBpbnB1dF8xLCB7XG4gICAgICAgIFNob3c6IChiby5TaG93LnRhZyA9PT0gMSkgPyAobmV3IFNob3dPcHRpb25zKDEpKSA6IChuZXcgU2hvd09wdGlvbnMoMCkpLFxuICAgIH0pKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1N0ZXBzQ29uZmlndXJhdGlvbkR0b19vZkRvbWFpbihkb21haW4pIHtcbiAgICBsZXQgaW5wdXRfMSwgYm87XG4gICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfU3RlcHNDb25maWd1cmF0aW9uKChpbnB1dF8xID0gZG9tYWluLkJlbmVmaXRzT25ib2FyZGluZywgKGlucHV0XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6ICgoYm8gPSBpbnB1dF8xLCB7XG4gICAgICAgIFNob3c6IChiby5TaG93LnRhZyA9PT0gMSkgPyAobmV3IEFwaUR0b19FeHRlcm5hbF9TaG93T3B0aW9ucygxKSkgOiAobmV3IEFwaUR0b19FeHRlcm5hbF9TaG93T3B0aW9ucygwKSksXG4gICAgfSkpKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfVW51c2VkRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihVbnVzZWRWYWx1ZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLlVudXNlZFZhbHVlID0gVW51c2VkVmFsdWU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1VudXNlZER0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLlVudXNlZER0b1wiLCBbXSwgQXBpRHRvX0V4dGVybmFsX1VudXNlZER0bywgKCkgPT4gW1tcIlVudXNlZFZhbHVlXCIsIG9wdGlvbl90eXBlKHN0cmluZ190eXBlKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9VbnVzZWREdG9fZ2V0X0RlZmF1bHQoKSB7XG4gICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfVW51c2VkRHRvKHZvaWQgMCk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEdG8gZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkRlZmF1bHRcIiwgXCJJbmZvUmVxdWVzdFwiLCBcIkFwcEludml0ZVwiLCBcIkJlbmVmaXRzRXhpc3RpbmdcIiwgXCJCZW5lZml0c09uYm9hcmRpbmdcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaUR0by5FeHRlcm5hbC5Kb3VybmV5VHlwZUR0b1wiLCBbXSwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvLCAoKSA9PiBbW1tcIkl0ZW1cIiwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0byRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0byRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0byRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0byRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0byRyZWZsZWN0aW9uKCldXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQ2F0ZWdvcnkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5DYXRlZ29yeSA9IENhdGVnb3J5O1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaUR0by5FeHRlcm5hbC5Kb3VybmV5VHlwZURldGFpbHNEdG9cIiwgW10sIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG8sICgpID0+IFtbXCJDYXRlZ29yeVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEdG9fR2V0RGVmYXVsdFZhbHVlKCkge1xuICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvKDAsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG9fZ2V0X0RlZmF1bHQoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvX2dldF9EZWZhdWx0KCkge1xuICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0byh2b2lkIDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlRGV0YWlscyhkdG8uQ2F0ZWdvcnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV9vZkRvbWFpbihkZXRhaWxzKSB7XG4gICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvKGRldGFpbHMuQ2F0ZWdvcnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIHN3aXRjaCAoZHRvLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGUoMSwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkdG8uZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDIsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfdG9Eb21haW4oZHRvLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBKb3VybmV5VHlwZSgzLCBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX3RvRG9tYWluKGR0by5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGUoNCwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkdG8uZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBKb3VybmV5VHlwZSgwLCBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX3RvRG9tYWluKGR0by5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZUR0b01vZHVsZV9vZkRvbWFpbihqb3VybmV5VHlwZSkge1xuICAgIHN3aXRjaCAoam91cm5leVR5cGUudGFnKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEdG8oMSwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV9vZkRvbWFpbihqb3VybmV5VHlwZS5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRHRvKDIsIEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfb2ZEb21haW4oam91cm5leVR5cGUuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZUR0bygzLCBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX29mRG9tYWluKGpvdXJuZXlUeXBlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEdG8oNCwgQXBpRHRvX0V4dGVybmFsX0pvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV9vZkRvbWFpbihqb3VybmV5VHlwZS5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9Kb3VybmV5VHlwZUR0bygwLCBBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX29mRG9tYWluKGpvdXJuZXlUeXBlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXBpRHRvX0V4dGVybmFsX1dyaXRlX1RhZ0R0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoTmFtZSwgVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICAgICAgdGhpcy5WYWx1ZSA9IFZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9UYWdEdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaUR0by5FeHRlcm5hbC5Xcml0ZS5UYWdEdG9cIiwgW10sIEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9UYWdEdG8sICgpID0+IFtbXCJOYW1lXCIsIHN0cmluZ190eXBlXSwgW1wiVmFsdWVcIiwgc3RyaW5nX3R5cGVdXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfQ3JlYXRlSW5zdGFuY2UgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKFR5cGUsIFRhZ3MsIENyZWF0b3IsIFN0ZXBzQ29uZmlndXJhdGlvbiwgSm91cm5leSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLlR5cGUgPSBUeXBlO1xuICAgICAgICB0aGlzLlRhZ3MgPSBUYWdzO1xuICAgICAgICB0aGlzLkNyZWF0b3IgPSBDcmVhdG9yO1xuICAgICAgICB0aGlzLlN0ZXBzQ29uZmlndXJhdGlvbiA9IFN0ZXBzQ29uZmlndXJhdGlvbjtcbiAgICAgICAgdGhpcy5Kb3VybmV5ID0gSm91cm5leTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfQ3JlYXRlSW5zdGFuY2UkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaUR0by5FeHRlcm5hbC5Xcml0ZS5DcmVhdGVJbnN0YW5jZVwiLCBbXSwgQXBpRHRvX0V4dGVybmFsX1dyaXRlX0NyZWF0ZUluc3RhbmNlLCAoKSA9PiBbW1wiVHlwZVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkd1aWRcIildLCBbXCJUYWdzXCIsIG9wdGlvbl90eXBlKGxpc3RfdHlwZShBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfVGFnRHRvJHJlZmxlY3Rpb24oKSkpXSwgW1wiQ3JlYXRvclwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJTdGVwc0NvbmZpZ3VyYXRpb25cIiwgb3B0aW9uX3R5cGUoQXBpRHRvX0V4dGVybmFsX1N0ZXBzQ29uZmlndXJhdGlvbiRyZWZsZWN0aW9uKCkpXSwgW1wiSm91cm5leVwiLCBvcHRpb25fdHlwZShBcGlEdG9fRXh0ZXJuYWxfSm91cm5leVR5cGVEdG8kcmVmbGVjdGlvbigpKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9JbnZpdGUgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKEJyYW5kaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQnJhbmRpbmcgPSBCcmFuZGluZztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfSW52aXRlJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uRXh0ZXJuYWwuV3JpdGUuSW52aXRlXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfSW52aXRlLCAoKSA9PiBbW1wiQnJhbmRpbmdcIiwgb3B0aW9uX3R5cGUoQXBpRHRvX0V4dGVybmFsX1dyaXRlX0ludml0ZUJyYW5kaW5nJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfSW52aXRlQnJhbmRpbmcgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKENvbXBhbnlOYW1lLCBMb2dvLCBTdXBwb3J0KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQ29tcGFueU5hbWUgPSBDb21wYW55TmFtZTtcbiAgICAgICAgdGhpcy5Mb2dvID0gTG9nbztcbiAgICAgICAgdGhpcy5TdXBwb3J0ID0gU3VwcG9ydDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfSW52aXRlQnJhbmRpbmckcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaUR0by5FeHRlcm5hbC5Xcml0ZS5JbnZpdGVCcmFuZGluZ1wiLCBbXSwgQXBpRHRvX0V4dGVybmFsX1dyaXRlX0ludml0ZUJyYW5kaW5nLCAoKSA9PiBbW1wiQ29tcGFueU5hbWVcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiTG9nb1wiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJTdXBwb3J0XCIsIG9wdGlvbl90eXBlKEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9JbnZpdGVTdXBwb3J0JHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfSW52aXRlU3VwcG9ydCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoRW1haWwsIFBob25lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuRW1haWwgPSBFbWFpbDtcbiAgICAgICAgdGhpcy5QaG9uZSA9IFBob25lO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9Xcml0ZV9JbnZpdGVTdXBwb3J0JHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uRXh0ZXJuYWwuV3JpdGUuSW52aXRlU3VwcG9ydFwiLCBbXSwgQXBpRHRvX0V4dGVybmFsX1dyaXRlX0ludml0ZVN1cHBvcnQsICgpID0+IFtbXCJFbWFpbFwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJQaG9uZVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfV3JpdGVfSW52aXRlQnJhbmRpbmdNb2R1bGVfdG9Eb21haW4oYXBpRHRvKSB7XG4gICAgbGV0IGlucHV0XzEsIGFwaUR0b18xO1xuICAgIHJldHVybiBJbnZpdGVCcmFuZGluZ0R0b01vZHVsZV90b0RvbWFpbihuZXcgSW52aXRlQnJhbmRpbmdEdG8oYXBpRHRvLkNvbXBhbnlOYW1lLCBhcGlEdG8uTG9nbywgKGlucHV0XzEgPSBhcGlEdG8uU3VwcG9ydCwgKGlucHV0XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6ICgoYXBpRHRvXzEgPSBpbnB1dF8xLCBuZXcgU3VwcG9ydER0byhhcGlEdG9fMS5FbWFpbCwgYXBpRHRvXzEuUGhvbmUpKSkpKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Db21wbGV0ZWRTdGVwIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihUeXBlLCBEYXRlJCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLlR5cGUgPSBUeXBlO1xuICAgICAgICB0aGlzLkRhdGUgPSBEYXRlJDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Db21wbGV0ZWRTdGVwJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uRXh0ZXJuYWwuUmVhZC5Db21wbGV0ZWRTdGVwXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Db21wbGV0ZWRTdGVwLCAoKSA9PiBbW1wiVHlwZVwiLCBzdHJpbmdfdHlwZV0sIFtcIkRhdGVcIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZSBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQWN0aXZhdGVkRGF0ZXMsIENvbXBsZXRlZFN0ZXBzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQWN0aXZhdGVkRGF0ZXMgPSBBY3RpdmF0ZWREYXRlcztcbiAgICAgICAgdGhpcy5Db21wbGV0ZWRTdGVwcyA9IENvbXBsZXRlZFN0ZXBzO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLlJlYWQuQWN0aXZlUHJvY2Vzc0luc3RhbmNlXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9BY3RpdmVQcm9jZXNzSW5zdGFuY2UsICgpID0+IFtbXCJBY3RpdmF0ZWREYXRlc1wiLCBsaXN0X3R5cGUoY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKSldLCBbXCJDb21wbGV0ZWRTdGVwc1wiLCBsaXN0X3R5cGUoQXBpRHRvX0V4dGVybmFsX1JlYWRfQ29tcGxldGVkU3RlcCRyZWZsZWN0aW9uKCkpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1JlYWRfQWN0aXZlUHJvY2Vzc0luc3RhbmNlTW9kdWxlX29mRHRvKGFjdGl2ZVByb2Nlc3NJbnN0YW5jZSkge1xuICAgIHJldHVybiBuZXcgQXBpRHRvX0V4dGVybmFsX1JlYWRfQWN0aXZlUHJvY2Vzc0luc3RhbmNlKGFjdGl2ZVByb2Nlc3NJbnN0YW5jZS5BY3RpdmF0ZWREYXRlcywgbWFwKCh0dXBsZWRBcmcpID0+IChuZXcgQXBpRHRvX0V4dGVybmFsX1JlYWRfQ29tcGxldGVkU3RlcCh0dXBsZWRBcmdbMF0sIHR1cGxlZEFyZ1sxXSkpLCBhY3RpdmVQcm9jZXNzSW5zdGFuY2UuQ29tcGxldGVkU3RlcHMpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZU1vZHVsZV9vZkRvbWFpbihhY3RpdmVQcm9jZXNzSW5zdGFuY2UpIHtcbiAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZShhY3RpdmVQcm9jZXNzSW5zdGFuY2UuQWN0aXZhdGVkRGF0ZXMsIG1hcCgodHVwbGVkQXJnKSA9PiAobmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX0NvbXBsZXRlZFN0ZXAoUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZSh0dXBsZWRBcmdbMF0pLCB0dXBsZWRBcmdbMV0pKSwgYWN0aXZlUHJvY2Vzc0luc3RhbmNlLkNvbXBsZXRlZFN0ZXBzKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2VTdGF0dXMgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkluYWN0aXZlXCIsIFwiQWN0aXZlXCIsIFwiQ29tcGxldGVcIiwgXCJBYmFuZG9uZWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXBpRHRvX0V4dGVybmFsX1JlYWRfUHJvY2Vzc0luc3RhbmNlU3RhdHVzJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkFwaUR0by5FeHRlcm5hbC5SZWFkLlByb2Nlc3NJbnN0YW5jZVN0YXR1c1wiLCBbXSwgQXBpRHRvX0V4dGVybmFsX1JlYWRfUHJvY2Vzc0luc3RhbmNlU3RhdHVzLCAoKSA9PiBbW10sIFtbXCJJdGVtXCIsIEFwaUR0b19FeHRlcm5hbF9SZWFkX0FjdGl2ZVByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKV1dLCBbW1wiSXRlbVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpXV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9vZkR0byhwcm9jZXNzSW5zdGFuY2VTdGF0dXMpIHtcbiAgICBzd2l0Y2ggKHByb2Nlc3NJbnN0YW5jZVN0YXR1cy50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygxLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9BY3RpdmVQcm9jZXNzSW5zdGFuY2VNb2R1bGVfb2ZEdG8ocHJvY2Vzc0luc3RhbmNlU3RhdHVzLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2VTdGF0dXMoMiwgcHJvY2Vzc0luc3RhbmNlU3RhdHVzLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygzLCBwcm9jZXNzSW5zdGFuY2VTdGF0dXMuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9vZkRvbWFpbihwcm9jZXNzSW5zdGFuY2VTdGF0dXMpIHtcbiAgICBzd2l0Y2ggKHByb2Nlc3NJbnN0YW5jZVN0YXR1cy50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygxLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9BY3RpdmVQcm9jZXNzSW5zdGFuY2VNb2R1bGVfb2ZEb21haW4ocHJvY2Vzc0luc3RhbmNlU3RhdHVzLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2VTdGF0dXMoMiwgcHJvY2Vzc0luc3RhbmNlU3RhdHVzLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygzLCBwcm9jZXNzSW5zdGFuY2VTdGF0dXMuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZVN0YXR1cygwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZSBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSWQsIFR5cGUsIFN0YXR1cywgU3RlcHNDb25maWd1cmF0aW9uLCBQYXlTZXR1cENvbXBsZXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSWQgPSAoSWQgfCAwKTtcbiAgICAgICAgdGhpcy5UeXBlID0gVHlwZTtcbiAgICAgICAgdGhpcy5TdGF0dXMgPSBTdGF0dXM7XG4gICAgICAgIHRoaXMuU3RlcHNDb25maWd1cmF0aW9uID0gU3RlcHNDb25maWd1cmF0aW9uO1xuICAgICAgICB0aGlzLlBheVNldHVwQ29tcGxldGUgPSBQYXlTZXR1cENvbXBsZXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuQXBpRHRvLkV4dGVybmFsLlJlYWQuUHJvY2Vzc0luc3RhbmNlXCIsIFtdLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2UsICgpID0+IFtbXCJJZFwiLCBpbnQzMl90eXBlXSwgW1wiVHlwZVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkd1aWRcIildLCBbXCJTdGF0dXNcIiwgQXBpRHRvX0V4dGVybmFsX1JlYWRfUHJvY2Vzc0luc3RhbmNlU3RhdHVzJHJlZmxlY3Rpb24oKV0sIFtcIlN0ZXBzQ29uZmlndXJhdGlvblwiLCBvcHRpb25fdHlwZShBcGlEdG9fRXh0ZXJuYWxfU3RlcHNDb25maWd1cmF0aW9uJHJlZmxlY3Rpb24oKSldLCBbXCJQYXlTZXR1cENvbXBsZXRlXCIsIGJvb2xfdHlwZV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZU1vZHVsZV9tYXBQYXlTZXR1cENvbXBsZXRlKHByb2Nlc3NJbnN0YW5jZSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBwcm9jZXNzSW5zdGFuY2UuUGF5U2V0dXBDb21wbGV0ZTtcbiAgICBpZiAobWF0Y2hWYWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIGlmIChQcm9jZXNzQ29uZmlnX19nZXRfSXNQYXlTZXR1cENvbXBhdGlibGUocHJvY2Vzc0luc3RhbmNlLkNvbmZpZ3VyYXRpb24pKSB7XG4gICAgICAgICAgICBpZiAoUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2lzQWN0aXZlQW5kQWxsU3RlcHNBcmVDb21wbGV0ZWQocHJvY2Vzc0luc3RhbmNlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NJbnN0YW5jZU1vZHVsZV9pc0NvbXBsZXRlKHByb2Nlc3NJbnN0YW5jZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBtYXRjaFZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZU1vZHVsZV9vZkRvbWFpbihwcm9jZXNzSW5zdGFuY2UpIHtcbiAgICBsZXQgaW5wdXRfMTtcbiAgICByZXR1cm4gbmV3IEFwaUR0b19FeHRlcm5hbF9SZWFkX1Byb2Nlc3NJbnN0YW5jZShQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShwcm9jZXNzSW5zdGFuY2UuSWQpLCBQcm9jZXNzQ29uZmlnSWRNb2R1bGVfdmFsdWUocHJvY2Vzc0luc3RhbmNlLkNvbmZpZ3VyYXRpb24uSWQpLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2VTdGF0dXNNb2R1bGVfb2ZEb21haW4ocHJvY2Vzc0luc3RhbmNlLlN0YXR1cyksIChpbnB1dF8xID0gcHJvY2Vzc0luc3RhbmNlLlN0ZXBzQ29uZmlndXJhdGlvbiwgKGlucHV0XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6IEFwaUR0b19FeHRlcm5hbF9TdGVwc0NvbmZpZ3VyYXRpb25EdG9fb2ZEb21haW4oaW5wdXRfMSkpLCBBcGlEdG9fRXh0ZXJuYWxfUmVhZF9Qcm9jZXNzSW5zdGFuY2VNb2R1bGVfbWFwUGF5U2V0dXBDb21wbGV0ZShwcm9jZXNzSW5zdGFuY2UpKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFwaUR0b19JbnRlcm5hbF9Xcml0ZV9BYmFuZG9uSW5zdGFuY2UgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKFR5cGUsIENyZWF0ZWREYXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuVHlwZSA9IFR5cGU7XG4gICAgICAgIHRoaXMuQ3JlYXRlZERhdGUgPSBDcmVhdGVkRGF0ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcGlEdG9fSW50ZXJuYWxfV3JpdGVfQWJhbmRvbkluc3RhbmNlJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5BcGlEdG8uSW50ZXJuYWwuV3JpdGUuQWJhbmRvbkluc3RhbmNlXCIsIFtdLCBBcGlEdG9fSW50ZXJuYWxfV3JpdGVfQWJhbmRvbkluc3RhbmNlLCAoKSA9PiBbW1wiVHlwZVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkd1aWRcIildLCBbXCJDcmVhdGVkRGF0ZVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpXV0pO1xufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js\n");
|
|
42
42
|
|
|
43
43
|
/***/ }),
|
|
44
44
|
|
|
@@ -49,7 +49,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
49
49
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
50
50
|
|
|
51
51
|
"use strict";
|
|
52
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $007CProcessInstanceId$007C: () => (/* binding */ $007CProcessInstanceId$007C),\n/* harmony export */ ActiveProcessInstance: () => (/* binding */ ActiveProcessInstance),\n/* harmony export */ ActiveProcessInstance$reflection: () => (/* binding */ ActiveProcessInstance$reflection),\n/* harmony export */ CompleteStepV2CommandPayload: () => (/* binding */ CompleteStepV2CommandPayload),\n/* harmony export */ CompleteStepV2CommandPayload$reflection: () => (/* binding */ CompleteStepV2CommandPayload$reflection),\n/* harmony export */ CreateV2CommandPayload: () => (/* binding */ CreateV2CommandPayload),\n/* harmony export */ CreateV2CommandPayload$reflection: () => (/* binding */ CreateV2CommandPayload$reflection),\n/* harmony export */ CreatedV2Payload: () => (/* binding */ CreatedV2Payload),\n/* harmony export */ CreatedV2Payload$reflection: () => (/* binding */ CreatedV2Payload$reflection),\n/* harmony export */ CreationData_$007CProfile$007C: () => (/* binding */ CreationData_$007CProfile$007C),\n/* harmony export */ CreationData_Creator: () => (/* binding */ CreationData_Creator),\n/* harmony export */ CreationData_Creator$reflection: () => (/* binding */ CreationData_Creator$reflection),\n/* harmony export */ CreationData_Profile: () => (/* binding */ CreationData_Profile),\n/* harmony export */ CreationData_Profile$reflection: () => (/* binding */ CreationData_Profile$reflection),\n/* harmony export */ CreationData_ProfileModule_create: () => (/* binding */ CreationData_ProfileModule_create),\n/* harmony export */ CreationData_ProfileModule_value: () => (/* binding */ CreationData_ProfileModule_value),\n/* harmony export */ CreationData_ProfileName: () => (/* binding */ CreationData_ProfileName),\n/* harmony export */ CreationData_ProfileName$reflection: () => (/* binding */ CreationData_ProfileName$reflection),\n/* harmony export */ JourneyType: () => (/* binding */ JourneyType),\n/* harmony export */ JourneyType$reflection: () => (/* binding */ JourneyType$reflection),\n/* harmony export */ JourneyTypeDetails: () => (/* binding */ JourneyTypeDetails),\n/* harmony export */ JourneyTypeDetails$reflection: () => (/* binding */ JourneyTypeDetails$reflection),\n/* harmony export */ JourneyTypeDetails_get_Default: () => (/* binding */ JourneyTypeDetails_get_Default),\n/* harmony export */ JourneyType_GetDefault: () => (/* binding */ JourneyType_GetDefault),\n/* harmony export */ JourneyType_GetValueOrDefault_512ECC11: () => (/* binding */ JourneyType_GetValueOrDefault_512ECC11),\n/* harmony export */ JourneyType__GetName: () => (/* binding */ JourneyType__GetName),\n/* harmony export */ Metadata_createNew: () => (/* binding */ Metadata_createNew),\n/* harmony export */ ProcessConfig: () => (/* binding */ ProcessConfig),\n/* harmony export */ ProcessConfig$reflection: () => (/* binding */ ProcessConfig$reflection),\n/* harmony export */ ProcessConfigId: () => (/* binding */ ProcessConfigId),\n/* harmony export */ ProcessConfigId$reflection: () => (/* binding */ ProcessConfigId$reflection),\n/* harmony export */ ProcessConfigIdModule_tryCreate: () => (/* binding */ ProcessConfigIdModule_tryCreate),\n/* harmony export */ ProcessConfigIdModule_value: () => (/* binding */ ProcessConfigIdModule_value),\n/* harmony export */ ProcessConfigModule_BsConfiguration: () => (/* binding */ ProcessConfigModule_BsConfiguration),\n/* harmony export */ ProcessConfigModule_DefaultConfiguration: () => (/* binding */ ProcessConfigModule_DefaultConfiguration),\n/* harmony export */ ProcessConfigModule_DiscreteBenefitsConfiguration: () => (/* binding */ ProcessConfigModule_DiscreteBenefitsConfiguration),\n/* harmony export */ ProcessConfigModule_PbaConfiguration: () => (/* binding */ ProcessConfigModule_PbaConfiguration),\n/* harmony export */ ProcessConfigModule_PbtsConfiguration: () => (/* binding */ ProcessConfigModule_PbtsConfiguration),\n/* harmony export */ ProcessConfigModule_PbtspoIdConfiguration: () => (/* binding */ ProcessConfigModule_PbtspoIdConfiguration),\n/* harmony export */ ProcessConfigModule_PebsConfiguration: () => (/* binding */ ProcessConfigModule_PebsConfiguration),\n/* harmony export */ ProcessConfigModule_PebspoConfiguration: () => (/* binding */ ProcessConfigModule_PebspoConfiguration),\n/* harmony export */ ProcessConfigModule_PebtsConfiguration: () => (/* binding */ ProcessConfigModule_PebtsConfiguration),\n/* harmony export */ ProcessConfigModule_PebtspoConfiguration: () => (/* binding */ ProcessConfigModule_PebtspoConfiguration),\n/* harmony export */ ProcessConfigModule_PesConfiguration: () => (/* binding */ ProcessConfigModule_PesConfiguration),\n/* harmony export */ ProcessConfigModule_PespoConfiguration: () => (/* binding */ ProcessConfigModule_PespoConfiguration),\n/* harmony export */ ProcessConfigModule_PetsConfiguration: () => (/* binding */ ProcessConfigModule_PetsConfiguration),\n/* harmony export */ ProcessConfigModule_PetspoConfiguration: () => (/* binding */ ProcessConfigModule_PetspoConfiguration),\n/* harmony export */ ProcessConfigModule_PsConfiguration: () => (/* binding */ ProcessConfigModule_PsConfiguration),\n/* harmony export */ ProcessConfigModule_SuperOnlyConfiguration: () => (/* binding */ ProcessConfigModule_SuperOnlyConfiguration),\n/* harmony export */ ProcessConfigModule_TaxOnlyConfiguration: () => (/* binding */ ProcessConfigModule_TaxOnlyConfiguration),\n/* harmony export */ ProcessConfigModule_configs: () => (/* binding */ ProcessConfigModule_configs),\n/* harmony export */ ProcessConfigModule_get: () => (/* binding */ ProcessConfigModule_get),\n/* harmony export */ ProcessConfigModule_requiresFullProfile: () => (/* binding */ ProcessConfigModule_requiresFullProfile),\n/* harmony export */ ProcessConfig__IsJourneyTypeAllowedOnThisConfiguration_Z1F9469: () => (/* binding */ ProcessConfig__IsJourneyTypeAllowedOnThisConfiguration_Z1F9469),\n/* harmony export */ ProcessConfig__get_IncludesDiscreteBenefitsStep: () => (/* binding */ ProcessConfig__get_IncludesDiscreteBenefitsStep),\n/* harmony export */ ProcessConfig__get_IsPaySetupCompatible: () => (/* binding */ ProcessConfig__get_IsPaySetupCompatible),\n/* harmony export */ ProcessInstance: () => (/* binding */ ProcessInstance),\n/* harmony export */ ProcessInstance$reflection: () => (/* binding */ ProcessInstance$reflection),\n/* harmony export */ ProcessInstanceCommand: () => (/* binding */ ProcessInstanceCommand),\n/* harmony export */ ProcessInstanceCommand$reflection: () => (/* binding */ ProcessInstanceCommand$reflection),\n/* harmony export */ ProcessInstanceEvent: () => (/* binding */ ProcessInstanceEvent),\n/* harmony export */ ProcessInstanceEvent$reflection: () => (/* binding */ ProcessInstanceEvent$reflection),\n/* harmony export */ ProcessInstanceEventModule_getInstanceId: () => (/* binding */ ProcessInstanceEventModule_getInstanceId),\n/* harmony export */ ProcessInstanceId: () => (/* binding */ ProcessInstanceId),\n/* harmony export */ ProcessInstanceId$reflection: () => (/* binding */ ProcessInstanceId$reflection),\n/* harmony export */ ProcessInstanceIdModule_create: () => (/* binding */ ProcessInstanceIdModule_create),\n/* harmony export */ ProcessInstanceIdModule_decrement: () => (/* binding */ ProcessInstanceIdModule_decrement),\n/* harmony export */ ProcessInstanceIdModule_increment: () => (/* binding */ ProcessInstanceIdModule_increment),\n/* harmony export */ ProcessInstanceIdModule_value: () => (/* binding */ ProcessInstanceIdModule_value),\n/* harmony export */ ProcessInstanceInviteEvent: () => (/* binding */ ProcessInstanceInviteEvent),\n/* harmony export */ ProcessInstanceInviteEvent$reflection: () => (/* binding */ ProcessInstanceInviteEvent$reflection),\n/* harmony export */ ProcessInstanceInviteEventModule_getInstanceId: () => (/* binding */ ProcessInstanceInviteEventModule_getInstanceId),\n/* harmony export */ ProcessInstanceList: () => (/* binding */ ProcessInstanceList),\n/* harmony export */ ProcessInstanceList$reflection: () => (/* binding */ ProcessInstanceList$reflection),\n/* harmony export */ ProcessInstanceListEvent: () => (/* binding */ ProcessInstanceListEvent),\n/* harmony export */ ProcessInstanceListEvent$reflection: () => (/* binding */ ProcessInstanceListEvent$reflection),\n/* harmony export */ ProcessInstanceListEventModule_getProcessInstanceId: () => (/* binding */ ProcessInstanceListEventModule_getProcessInstanceId),\n/* harmony export */ ProcessInstanceListMetadata: () => (/* binding */ ProcessInstanceListMetadata),\n/* harmony export */ ProcessInstanceListMetadata$reflection: () => (/* binding */ ProcessInstanceListMetadata$reflection),\n/* harmony export */ ProcessInstanceListModule_create: () => (/* binding */ ProcessInstanceListModule_create),\n/* harmony export */ ProcessInstanceListModule_createProcessInstance: () => (/* binding */ ProcessInstanceListModule_createProcessInstance),\n/* harmony export */ ProcessInstanceListModule_findInProgressInstance: () => (/* binding */ ProcessInstanceListModule_findInProgressInstance),\n/* harmony export */ ProcessInstanceListModule_getIncompleteProcessInstance: () => (/* binding */ ProcessInstanceListModule_getIncompleteProcessInstance),\n/* harmony export */ ProcessInstanceListModule_getLatestInstanceId: () => (/* binding */ ProcessInstanceListModule_getLatestInstanceId),\n/* harmony export */ ProcessInstanceListModule_getLatestProcessInstance: () => (/* binding */ ProcessInstanceListModule_getLatestProcessInstance),\n/* harmony export */ ProcessInstanceListModule_getProcessInstance: () => (/* binding */ ProcessInstanceListModule_getProcessInstance),\n/* harmony export */ ProcessInstanceListModule_incrementVersion: () => (/* binding */ ProcessInstanceListModule_incrementVersion),\n/* harmony export */ ProcessInstanceListModule_markUpdated: () => (/* binding */ ProcessInstanceListModule_markUpdated),\n/* harmony export */ ProcessInstanceListModule_tryGetLatestProcessInstance: () => (/* binding */ ProcessInstanceListModule_tryGetLatestProcessInstance),\n/* harmony export */ ProcessInstanceListModule_tryGetProcessInstance: () => (/* binding */ ProcessInstanceListModule_tryGetProcessInstance),\n/* harmony export */ ProcessInstanceModule_canActivate: () => (/* binding */ ProcessInstanceModule_canActivate),\n/* harmony export */ ProcessInstanceModule_create: () => (/* binding */ ProcessInstanceModule_create),\n/* harmony export */ ProcessInstanceModule_dateFallsWithinLifetimeOfInstance: () => (/* binding */ ProcessInstanceModule_dateFallsWithinLifetimeOfInstance),\n/* harmony export */ ProcessInstanceModule_getCompletedSteps: () => (/* binding */ ProcessInstanceModule_getCompletedSteps),\n/* harmony export */ ProcessInstanceModule_getCurrentStep: () => (/* binding */ ProcessInstanceModule_getCurrentStep),\n/* harmony export */ ProcessInstanceModule_getProcessConfig: () => (/* binding */ ProcessInstanceModule_getProcessConfig),\n/* harmony export */ ProcessInstanceModule_getProcessConfigByTagName: () => (/* binding */ ProcessInstanceModule_getProcessConfigByTagName),\n/* harmony export */ ProcessInstanceModule_isActiveAndAllStepsAreCompleted: () => (/* binding */ ProcessInstanceModule_isActiveAndAllStepsAreCompleted),\n/* harmony export */ ProcessInstanceModule_isComplete: () => (/* binding */ ProcessInstanceModule_isComplete),\n/* harmony export */ ProcessInstanceStatus: () => (/* binding */ ProcessInstanceStatus),\n/* harmony export */ ProcessInstanceStatus$reflection: () => (/* binding */ ProcessInstanceStatus$reflection),\n/* harmony export */ ProcessInstanceStatusModule_isActive: () => (/* binding */ ProcessInstanceStatusModule_isActive),\n/* harmony export */ ProcessInstanceStatusModule_isComplete: () => (/* binding */ ProcessInstanceStatusModule_isComplete),\n/* harmony export */ ProcessInstanceStatusModule_isInProgress: () => (/* binding */ ProcessInstanceStatusModule_isInProgress),\n/* harmony export */ ProcessStepConfig: () => (/* binding */ ProcessStepConfig),\n/* harmony export */ ProcessStepConfig$reflection: () => (/* binding */ ProcessStepConfig$reflection),\n/* harmony export */ ProcessStepConfigModule_BankStep: () => (/* binding */ ProcessStepConfigModule_BankStep),\n/* harmony export */ ProcessStepConfigModule_BenefitsOnboardingStep: () => (/* binding */ ProcessStepConfigModule_BenefitsOnboardingStep),\n/* harmony export */ ProcessStepConfigModule_BenefitsOnboardingStepId: () => (/* binding */ ProcessStepConfigModule_BenefitsOnboardingStepId),\n/* harmony export */ ProcessStepConfigModule_DiscreteBenefitsStep: () => (/* binding */ ProcessStepConfigModule_DiscreteBenefitsStep),\n/* harmony export */ ProcessStepConfigModule_EmergencyContactsStep: () => (/* binding */ ProcessStepConfigModule_EmergencyContactsStep),\n/* harmony export */ ProcessStepConfigModule_PersonalDetailsStep: () => (/* binding */ ProcessStepConfigModule_PersonalDetailsStep),\n/* harmony export */ ProcessStepConfigModule_SuperStep: () => (/* binding */ ProcessStepConfigModule_SuperStep),\n/* harmony export */ ProcessStepConfigModule_TaxStep: () => (/* binding */ ProcessStepConfigModule_TaxStep),\n/* harmony export */ ProcessStepConfigModule_WorkplaceLinkingStep: () => (/* binding */ ProcessStepConfigModule_WorkplaceLinkingStep),\n/* harmony export */ ProcessStepConfigModule_WorkplacePoliciesStep: () => (/* binding */ ProcessStepConfigModule_WorkplacePoliciesStep),\n/* harmony export */ ProcessStepId: () => (/* binding */ ProcessStepId),\n/* harmony export */ ProcessStepId$reflection: () => (/* binding */ ProcessStepId$reflection),\n/* harmony export */ ProcessStepIdModule_create: () => (/* binding */ ProcessStepIdModule_create),\n/* harmony export */ ProcessStepIdModule_value: () => (/* binding */ ProcessStepIdModule_value),\n/* harmony export */ ShowOptions: () => (/* binding */ ShowOptions),\n/* harmony export */ ShowOptions$reflection: () => (/* binding */ ShowOptions$reflection),\n/* harmony export */ StepsConfiguration: () => (/* binding */ StepsConfiguration),\n/* harmony export */ StepsConfiguration$reflection: () => (/* binding */ StepsConfiguration$reflection),\n/* harmony export */ Tag: () => (/* binding */ Tag),\n/* harmony export */ Tag$reflection: () => (/* binding */ Tag$reflection),\n/* harmony export */ TagModule_create: () => (/* binding */ TagModule_create),\n/* harmony export */ TagName: () => (/* binding */ TagName),\n/* harmony export */ TagName$reflection: () => (/* binding */ TagName$reflection),\n/* harmony export */ TagNameModule_create: () => (/* binding */ TagNameModule_create),\n/* harmony export */ TagNameModule_value: () => (/* binding */ TagNameModule_value),\n/* harmony export */ TagValue: () => (/* binding */ TagValue),\n/* harmony export */ TagValue$reflection: () => (/* binding */ TagValue$reflection),\n/* harmony export */ TagValueModule_create: () => (/* binding */ TagValueModule_create),\n/* harmony export */ TagValueModule_value: () => (/* binding */ TagValueModule_value)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Guid.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Guid.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_MutableMap_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MutableMap.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MutableMap.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MapUtil.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MapUtil.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Seq.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Seq.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n/* harmony import */ var _Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Invite/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Domain.fs.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Date.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Date.js\");\n/* harmony import */ var _DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../DomainPrimitives.fs.js */ \"../Workflows.Business/DomainPrimitives.fs.js\");\n/* harmony import */ var _Utils_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.fs.js */ \"../Workflows.Business/Utils.fs.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass ProcessStepId extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ProcessStepId\"];\n }\n}\n\nfunction ProcessStepId$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessStepId\", [], ProcessStepId, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]]);\n}\n\nclass ProcessStepConfig extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, DisplayName, ComponentTagName) {\n super();\n this.Id = Id;\n this.DisplayName = DisplayName;\n this.ComponentTagName = ComponentTagName;\n }\n}\n\nfunction ProcessStepConfig$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessStepConfig\", [], ProcessStepConfig, () => [[\"Id\", ProcessStepId$reflection()], [\"DisplayName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"ComponentTagName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]);\n}\n\nconst ProcessStepConfigModule_PersonalDetailsStep = new ProcessStepConfig(new ProcessStepId(0, \"personal-details\"), \"Personal Details\", \"apollo-personal-details-app\");\n\nconst ProcessStepConfigModule_EmergencyContactsStep = new ProcessStepConfig(new ProcessStepId(0, \"emergency-contacts\"), \"Emergency Contacts\", \"apollo-emergency-contacts-app\");\n\nconst ProcessStepConfigModule_BankStep = new ProcessStepConfig(new ProcessStepId(0, \"bank\"), \"Bank\", \"bank-component\");\n\nconst ProcessStepConfigModule_TaxStep = new ProcessStepConfig(new ProcessStepId(0, \"tax\"), \"Tax\", \"tax-component\");\n\nconst ProcessStepConfigModule_SuperStep = new ProcessStepConfig(new ProcessStepId(0, \"super\"), \"Super\", \"super-selection-app\");\n\nconst ProcessStepConfigModule_WorkplaceLinkingStep = new ProcessStepConfig(new ProcessStepId(0, \"app-workplace-linking\"), \"App Workplace Linking\", \"workplace-link\");\n\nconst ProcessStepConfigModule_BenefitsOnboardingStepId = new ProcessStepId(0, \"benefits-onboarding\");\n\nconst ProcessStepConfigModule_BenefitsOnboardingStep = new ProcessStepConfig(ProcessStepConfigModule_BenefitsOnboardingStepId, \"Benefits\", \"benefits-onboarding\");\n\nconst ProcessStepConfigModule_WorkplacePoliciesStep = new ProcessStepConfig(new ProcessStepId(0, \"workplace-policy\"), \"Workplace-policy\", \"apollo-workplace-policies-app\");\n\nconst ProcessStepConfigModule_DiscreteBenefitsStep = new ProcessStepConfig(new ProcessStepId(0, \"Benefits-Discrete\"), \"Benefits\", \"benefits-onboarding\");\n\nfunction ProcessStepIdModule_create(arg) {\n return new ProcessStepId(0, arg);\n}\n\nfunction ProcessStepIdModule_value(_arg) {\n return _arg.fields[0];\n}\n\nclass ProcessConfigId extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ProcessConfigId\"];\n }\n}\n\nfunction ProcessConfigId$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessConfigId\", [], ProcessConfigId, () => [[[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.Guid\")]]]);\n}\n\nclass ProcessConfig extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Name, Steps) {\n super();\n this.Id = Id;\n this.Name = Name;\n this.Steps = Steps;\n }\n}\n\nfunction ProcessConfig$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessConfig\", [], ProcessConfig, () => [[\"Id\", ProcessConfigId$reflection()], [\"Name\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"Steps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(ProcessStepConfig$reflection())]]);\n}\n\nconst ProcessConfigModule_DefaultConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000000\")), \"onboarding-default\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PebtsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000001\")), \"PEBTS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000002\")), \"PS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_BsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000003\")), \"BS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_BankStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_SuperOnlyConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000004\")), \"Super\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(ProcessStepConfigModule_SuperStep));\n\nconst ProcessConfigModule_PbaConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0001-000000000000\")), \"App Workplace Linking\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(ProcessStepConfigModule_WorkplaceLinkingStep));\n\nconst ProcessConfigModule_TaxOnlyConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000005\")), \"Tax\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(ProcessStepConfigModule_TaxStep));\n\nconst ProcessConfigModule_PbtsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000006\")), \"PBTS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PebtspoConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000007\")), \"PEBTSPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_PebspoConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000008\")), \"PEBSPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_PespoConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000009\")), \"PESPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_PetspoConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000010\")), \"PETSPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_DiscreteBenefitsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0002-000000000000\")), \"Bo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(ProcessStepConfigModule_DiscreteBenefitsStep));\n\nconst ProcessConfigModule_PetsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000011\")), \"PETS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PebsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000012\")), \"PEBS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PesConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000013\")), \"PES\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PbtspoIdConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000014\")), \"PBTSPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_configs = new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_MutableMap_js__WEBPACK_IMPORTED_MODULE_8__.Dictionary([[ProcessConfigModule_DefaultConfiguration.Id, ProcessConfigModule_DefaultConfiguration], [ProcessConfigModule_PebtsConfiguration.Id, ProcessConfigModule_PebtsConfiguration], [ProcessConfigModule_PsConfiguration.Id, ProcessConfigModule_PsConfiguration], [ProcessConfigModule_BsConfiguration.Id, ProcessConfigModule_BsConfiguration], [ProcessConfigModule_SuperOnlyConfiguration.Id, ProcessConfigModule_SuperOnlyConfiguration], [ProcessConfigModule_PbaConfiguration.Id, ProcessConfigModule_PbaConfiguration], [ProcessConfigModule_TaxOnlyConfiguration.Id, ProcessConfigModule_TaxOnlyConfiguration], [ProcessConfigModule_PbtsConfiguration.Id, ProcessConfigModule_PbtsConfiguration], [ProcessConfigModule_PebtspoConfiguration.Id, ProcessConfigModule_PebtspoConfiguration], [ProcessConfigModule_PebspoConfiguration.Id, ProcessConfigModule_PebspoConfiguration], [ProcessConfigModule_PespoConfiguration.Id, ProcessConfigModule_PespoConfiguration], [ProcessConfigModule_PetspoConfiguration.Id, ProcessConfigModule_PetspoConfiguration], [ProcessConfigModule_DiscreteBenefitsConfiguration.Id, ProcessConfigModule_DiscreteBenefitsConfiguration], [ProcessConfigModule_PetsConfiguration.Id, ProcessConfigModule_PetsConfiguration], [ProcessConfigModule_PebsConfiguration.Id, ProcessConfigModule_PebsConfiguration], [ProcessConfigModule_PesConfiguration.Id, ProcessConfigModule_PesConfiguration], [ProcessConfigModule_PbtspoIdConfiguration.Id, ProcessConfigModule_PbtspoIdConfiguration]], {\n Equals: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals,\n GetHashCode: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.safeHash,\n});\n\nfunction ProcessConfigModule_get(configId) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_10__.getItemFromDict)(ProcessConfigModule_configs, configId);\n}\n\nfunction ProcessConfigModule_requiresFullProfile(configId) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.contains)(configId, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessConfigModule_DefaultConfiguration.Id, ProcessConfigModule_BsConfiguration.Id, ProcessConfigModule_SuperOnlyConfiguration.Id, ProcessConfigModule_TaxOnlyConfiguration.Id]), {\n Equals: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals,\n GetHashCode: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.safeHash,\n });\n}\n\nfunction ProcessConfig__get_IncludesDiscreteBenefitsStep(this$) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((step) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(step.Id, ProcessStepConfigModule_DiscreteBenefitsStep.Id), this$.Steps) != null;\n}\n\nfunction ProcessConfig__get_IsPaySetupCompatible(this$) {\n if (!(0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(this$, ProcessConfigModule_DiscreteBenefitsConfiguration)) {\n return !(0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(this$, ProcessConfigModule_PbaConfiguration);\n }\n else {\n return false;\n }\n}\n\nfunction ProcessConfigIdModule_tryCreate(guid) {\n const matchValue = new ProcessConfigId(0, guid);\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.contains)(matchValue, ProcessConfigModule_configs.keys(), {\n Equals: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals,\n GetHashCode: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.safeHash,\n })) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, matchValue);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.interpolate)(\"Invalid Type %A%P()\", [guid])));\n }\n}\n\nfunction ProcessConfigIdModule_value(_arg) {\n return _arg.fields[0];\n}\n\nclass ActiveProcessInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(ActivatedDates, CompletedSteps) {\n super();\n this.ActivatedDates = ActivatedDates;\n this.CompletedSteps = CompletedSteps;\n }\n}\n\nfunction ActiveProcessInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ActiveProcessInstance\", [], ActiveProcessInstance, () => [[\"ActivatedDates\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\"))], [\"CompletedSteps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessStepId$reflection(), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")))]]);\n}\n\nclass ProcessInstanceStatus extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Inactive\", \"Active\", \"Complete\", \"Abandoned\"];\n }\n}\n\nfunction ProcessInstanceStatus$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceStatus\", [], ProcessInstanceStatus, () => [[], [[\"Item\", ActiveProcessInstance$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]]]);\n}\n\nfunction ProcessInstanceStatusModule_isInProgress(_arg) {\n switch (_arg.tag) {\n case 0:\n case 1: {\n return true;\n }\n default: {\n return false;\n }\n }\n}\n\nfunction ProcessInstanceStatusModule_isActive(_arg) {\n if (_arg.tag === 1) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction ProcessInstanceStatusModule_isComplete(_arg) {\n if (_arg.tag === 2) {\n return true;\n }\n else {\n return false;\n }\n}\n\nclass ProcessInstanceId extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ProcessInstanceId\"];\n }\n}\n\nfunction ProcessInstanceId$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceId\", [], ProcessInstanceId, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.int32_type]]]);\n}\n\nfunction ProcessInstanceIdModule_create(arg) {\n return new ProcessInstanceId(0, arg);\n}\n\nfunction ProcessInstanceIdModule_value(_arg) {\n return _arg.fields[0];\n}\n\nfunction ProcessInstanceIdModule_increment(processInstanceId) {\n return ProcessInstanceIdModule_create(ProcessInstanceIdModule_value(processInstanceId) + 1);\n}\n\nfunction ProcessInstanceIdModule_decrement(processInstanceId) {\n return ProcessInstanceIdModule_create(ProcessInstanceIdModule_value(processInstanceId) - 1);\n}\n\nconst $007CProcessInstanceId$007C = ProcessInstanceIdModule_value;\n\nclass Tag extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Name, Value) {\n super();\n this.Name = Name;\n this.Value = Value;\n }\n}\n\nfunction Tag$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.Tag\", [], Tag, () => [[\"Name\", TagName$reflection()], [\"Value\", TagValue$reflection()]]);\n}\n\nclass TagName extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"TagName\"];\n }\n}\n\nfunction TagName$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.TagName\", [], TagName, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]]);\n}\n\nclass TagValue extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"TagValue\"];\n }\n}\n\nfunction TagValue$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.TagValue\", [], TagValue, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]]);\n}\n\nfunction TagNameModule_create(tagName) {\n const matchValue = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.isNullOrWhiteSpace)(tagName);\n if (matchValue) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"Tag name is empty\");\n }\n else if (tagName.length < 100) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new TagName(0, tagName));\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"Tag name is too long\");\n }\n}\n\nfunction TagNameModule_value(_arg) {\n return _arg.fields[0];\n}\n\nfunction TagValueModule_create(tagValue) {\n const matchValue = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.isNullOrWhiteSpace)(tagValue);\n if (matchValue) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"Tag value is empty\");\n }\n else if (tagValue.length < 100) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new TagValue(0, tagValue));\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"Tag value is too long\");\n }\n}\n\nfunction TagValueModule_value(_arg) {\n return _arg.fields[0];\n}\n\nfunction TagModule_create(name, value) {\n const input_2 = TagNameModule_create(name);\n if (input_2.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, input_2.fields[0]);\n }\n else {\n const input = TagValueModule_create(value);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new Tag(input_2.fields[0], input.fields[0]));\n }\n }\n}\n\nclass ProcessInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Configuration, DateCreated, Status, Invite, Tags, Creator, StepsConfiguration, JourneyType, IsBenefitsStepEnabled, PaySetupComplete) {\n super();\n this.Id = Id;\n this.Configuration = Configuration;\n this.DateCreated = DateCreated;\n this.Status = Status;\n this.Invite = Invite;\n this.Tags = Tags;\n this.Creator = Creator;\n this.StepsConfiguration = StepsConfiguration;\n this.JourneyType = JourneyType;\n this.IsBenefitsStepEnabled = IsBenefitsStepEnabled;\n this.PaySetupComplete = PaySetupComplete;\n }\n}\n\nfunction ProcessInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstance\", [], ProcessInstance, () => [[\"Id\", ProcessInstanceId$reflection()], [\"Configuration\", ProcessConfig$reflection()], [\"DateCreated\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")], [\"Status\", ProcessInstanceStatus$reflection()], [\"Invite\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.Invite$reflection)())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection()))], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileId$reflection)())], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(StepsConfiguration$reflection())], [\"JourneyType\", JourneyType$reflection()], [\"IsBenefitsStepEnabled\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type)], [\"PaySetupComplete\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type)]]);\n}\n\nclass StepsConfiguration extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(BenefitsOnboarding) {\n super();\n this.BenefitsOnboarding = BenefitsOnboarding;\n }\n}\n\nfunction StepsConfiguration$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.StepsConfiguration\", [], StepsConfiguration, () => [[\"BenefitsOnboarding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Show\", ShowOptions$reflection()]))]]);\n}\n\nclass JourneyType extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Default\", \"InfoRequest\", \"AppInvite\", \"BenefitsExisting\", \"BenefitsOnboarding\"];\n }\n}\n\nfunction JourneyType$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.JourneyType\", [], JourneyType, () => [[[\"Item\", JourneyTypeDetails$reflection()]], [[\"Item\", JourneyTypeDetails$reflection()]], [[\"Item\", JourneyTypeDetails$reflection()]], [[\"Item\", JourneyTypeDetails$reflection()]], [[\"Item\", JourneyTypeDetails$reflection()]]]);\n}\n\nclass JourneyTypeDetails extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Category) {\n super();\n this.Category = Category;\n }\n}\n\nfunction JourneyTypeDetails$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.JourneyTypeDetails\", [], JourneyTypeDetails, () => [[\"Category\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nclass ShowOptions extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"WhenEnabled\", \"Always\"];\n }\n}\n\nfunction ShowOptions$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ShowOptions\", [], ShowOptions, () => [[], []]);\n}\n\nfunction JourneyType_GetDefault() {\n return new JourneyType(0, JourneyTypeDetails_get_Default());\n}\n\nfunction JourneyType_GetValueOrDefault_512ECC11(journeyType, processConfigId) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_14__.defaultArg)(journeyType, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(processConfigId, ProcessConfigModule_DiscreteBenefitsConfiguration.Id) ? (new JourneyType(4, JourneyTypeDetails_get_Default())) : JourneyType_GetDefault());\n}\n\nfunction JourneyType__GetName(this$) {\n switch (this$.tag) {\n case 1: {\n return \"InfoRequest\";\n }\n case 2: {\n return \"AppInvite\";\n }\n case 3: {\n return \"BenefitsExisting\";\n }\n case 4: {\n return \"BenefitsOnboarding\";\n }\n default: {\n return \"Default\";\n }\n }\n}\n\nfunction JourneyTypeDetails_get_Default() {\n return new JourneyTypeDetails(void 0);\n}\n\nfunction ProcessConfig__IsJourneyTypeAllowedOnThisConfiguration_Z1F9469(this$, journeyType) {\n const matchValue = [journeyType, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(this$.Id, ProcessConfigModule_DiscreteBenefitsConfiguration.Id)];\n let pattern_matching_result;\n if (matchValue[0].tag === 3) {\n if (matchValue[1]) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 2;\n }\n }\n else if (matchValue[0].tag === 4) {\n if (matchValue[1]) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 2;\n }\n }\n else if (matchValue[1]) {\n pattern_matching_result = 1;\n }\n else {\n pattern_matching_result = 3;\n }\n switch (pattern_matching_result) {\n case 0: {\n return true;\n }\n case 1: {\n return false;\n }\n case 2: {\n return false;\n }\n case 3: {\n return true;\n }\n }\n}\n\nfunction ProcessInstanceModule_create(id, configuration, tags, creator, dateCreated, stepsConfiguration, journeyType) {\n const matchValue = ProcessConfig__IsJourneyTypeAllowedOnThisConfiguration_Z1F9469(configuration, journeyType);\n if (matchValue) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new ProcessInstance(id, configuration, dateCreated, new ProcessInstanceStatus(0), void 0, tags, creator, stepsConfiguration, journeyType, void 0, void 0));\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, `JourneyType:${JourneyType__GetName(journeyType)} is not allowed for this workflow type`);\n }\n}\n\nfunction ProcessInstanceModule_canActivate(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 0: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, void 0);\n }\n case 2: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"ProcessInstance is Complete.\");\n }\n case 3: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"ProcessInstance is Abandoned.\");\n }\n default: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, void 0);\n }\n }\n}\n\nfunction ProcessInstanceModule_getProcessConfig(stepId, instance) {\n const option = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((step) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(step.Id, stepId), instance.Configuration.Steps);\n const error = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.interpolate)(\"Invalid ProcessStep Id %A%P()\", [stepId]));\n const option_1 = option;\n if (option_1 == null) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, error);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, option_1);\n }\n}\n\nfunction ProcessInstanceModule_getProcessConfigByTagName(componentTagName, isBenefitsEnabled, instance) {\n const option = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((step) => ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.compare)(step.ComponentTagName, componentTagName, 5) === 0), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.toList)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.delay)(() => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.append)(instance.Configuration.Steps, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.delay)(() => (isBenefitsEnabled ? (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.singleton)(ProcessStepConfigModule_BenefitsOnboardingStep) : (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.empty)()))))));\n const error = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.interpolate)(\"Invalid ComponentTagName %A%P()\", [componentTagName]));\n const option_1 = option;\n if (option_1 == null) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, error);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, option_1);\n }\n}\n\nfunction ProcessInstanceModule_getCurrentStep(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 0:\n case 2:\n case 3: {\n return void 0;\n }\n default: {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryHead)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.filter)((configuredStep) => (!(0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.exists)((tupledArg) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(configuredStep.Id, tupledArg[0]), matchValue.fields[0].CompletedSteps)), instance.Configuration.Steps));\n }\n }\n}\n\nfunction ProcessInstanceModule_getCompletedSteps(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 2: {\n return instance.Configuration.Steps;\n }\n case 3:\n case 0: {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.empty)();\n }\n default: {\n const stepIds = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.map)((tupledArg) => tupledArg[0], matchValue.fields[0].CompletedSteps);\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.filter)((step) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.contains)(step.Id, stepIds, {\n Equals: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals,\n GetHashCode: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.safeHash,\n }), instance.Configuration.Steps);\n }\n }\n}\n\nfunction ProcessInstanceModule_isActiveAndAllStepsAreCompleted(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 2:\n case 3:\n case 0: {\n return false;\n }\n default: {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.length)(matchValue.fields[0].CompletedSteps) === (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.length)(instance.Configuration.Steps);\n }\n }\n}\n\nfunction ProcessInstanceModule_isComplete(instance) {\n if (instance.Status.tag === 2) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction ProcessInstanceModule_dateFallsWithinLifetimeOfInstance(date, processInstance) {\n const matchValue = processInstance.Status;\n let pattern_matching_result, endDate;\n switch (matchValue.tag) {\n case 0: {\n pattern_matching_result = 0;\n break;\n }\n case 2: {\n pattern_matching_result = 1;\n endDate = matchValue.fields[0];\n break;\n }\n case 3: {\n pattern_matching_result = 1;\n endDate = matchValue.fields[0];\n break;\n }\n default: pattern_matching_result = 0}\n switch (pattern_matching_result) {\n case 0: {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_15__.compare)(processInstance.DateCreated, date) <= 0;\n }\n case 1: {\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_15__.compare)(processInstance.DateCreated, date) <= 0) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_15__.compare)(endDate, date) > 0;\n }\n else {\n return false;\n }\n }\n }\n}\n\nclass ProcessInstanceList extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Metadata, NextId, ProcessInstances) {\n super();\n this.Metadata = Metadata;\n this.NextId = NextId;\n this.ProcessInstances = ProcessInstances;\n }\n}\n\nfunction ProcessInstanceList$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceList\", [], ProcessInstanceList, () => [[\"Metadata\", (0,_DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__.Metadata$1$reflection)(ProcessInstanceListMetadata$reflection())], [\"NextId\", ProcessInstanceId$reflection()], [\"ProcessInstances\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(ProcessInstance$reflection())]]);\n}\n\nclass ProcessInstanceListMetadata extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(AccountId, ProfileId) {\n super();\n this.AccountId = AccountId;\n this.ProfileId = ProfileId;\n }\n}\n\nfunction ProcessInstanceListMetadata$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceListMetadata\", [], ProcessInstanceListMetadata, () => [[\"AccountId\", (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.AccountId$reflection)()], [\"ProfileId\", (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileId$reflection)()]]);\n}\n\nfunction Metadata_createNew(dateCreated, domainMetadata) {\n return (0,_DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__.Metadata_create)((0,_DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__.StreamIdModule_create)((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileIdModule_value)(domainMetadata.ProfileId)), 0, domainMetadata, dateCreated);\n}\n\nfunction ProcessInstanceListModule_create(metadata) {\n return new ProcessInstanceList(metadata, new ProcessInstanceId(0, 1), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.empty)());\n}\n\nfunction ProcessInstanceListModule_incrementVersion(delta, aggregate) {\n return new ProcessInstanceList((0,_DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__.Metadata_incrementVersion)(delta, aggregate.Metadata), aggregate.NextId, aggregate.ProcessInstances);\n}\n\nfunction ProcessInstanceListModule_markUpdated(aggregate) {\n return ProcessInstanceListModule_incrementVersion(0, aggregate);\n}\n\nfunction ProcessInstanceListModule_findInProgressInstance(configId, journeyType, instanceList) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((instance) => {\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(instance.Configuration.Id, configId) && (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(instance.JourneyType, journeyType)) {\n return ProcessInstanceStatusModule_isInProgress(instance.Status);\n }\n else {\n return false;\n }\n }, instanceList.ProcessInstances);\n}\n\nfunction ProcessInstanceListModule_createProcessInstance(aggregate, id, configuration, tags, creator, dateCreated, stepsConfiguration, journeyType) {\n const input = ProcessInstanceModule_create(id, configuration, tags, creator, dateCreated, stepsConfiguration, journeyType);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new ProcessInstanceList(aggregate.Metadata, ProcessInstanceIdModule_increment(id), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.append)(aggregate.ProcessInstances, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(input.fields[0]))));\n }\n}\n\nfunction ProcessInstanceListModule_tryGetProcessInstance(aggregate, processInstanceId) {\n const option = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((processInstance) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(processInstance.Id, processInstanceId), aggregate.ProcessInstances);\n const error = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.interpolate)(\"Invalid ProcessInstance Id %A%P()\", [processInstanceId]));\n const option_1 = option;\n if (option_1 == null) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, error);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, option_1);\n }\n}\n\nfunction ProcessInstanceListModule_getLatestInstanceId(aggregate) {\n return ProcessInstanceIdModule_decrement(aggregate.NextId);\n}\n\nfunction ProcessInstanceListModule_tryGetLatestProcessInstance(aggregate) {\n return ProcessInstanceListModule_tryGetProcessInstance(aggregate, ProcessInstanceListModule_getLatestInstanceId(aggregate));\n}\n\nfunction ProcessInstanceListModule_getProcessInstance(aggregate, processInstanceId) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.find)((processInstance) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(processInstance.Id, processInstanceId), aggregate.ProcessInstances);\n}\n\nfunction ProcessInstanceListModule_getLatestProcessInstance(aggregate) {\n return ProcessInstanceListModule_getProcessInstance(aggregate, ProcessInstanceListModule_getLatestInstanceId(aggregate));\n}\n\nfunction ProcessInstanceListModule_getIncompleteProcessInstance(processConfigId, incompleteAsAtDate, aggregate) {\n const x_1 = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((instance) => {\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(instance.Configuration.Id, processConfigId)) {\n return ProcessInstanceModule_dateFallsWithinLifetimeOfInstance(incompleteAsAtDate, instance);\n }\n else {\n return false;\n }\n }, aggregate.ProcessInstances);\n if (x_1 == null) {\n return void 0;\n }\n else {\n const instance_1 = x_1;\n const matchValue = instance_1.Status;\n switch (matchValue.tag) {\n case 0: {\n return instance_1;\n }\n case 2:\n case 3: {\n return void 0;\n }\n default: {\n return instance_1;\n }\n }\n }\n}\n\nclass CreationData_ProfileName extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(FirstName, MiddleName, LastName) {\n super();\n this.FirstName = FirstName;\n this.MiddleName = MiddleName;\n this.LastName = LastName;\n }\n}\n\nfunction CreationData_ProfileName$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreationData.ProfileName\", [], CreationData_ProfileName, () => [[\"FirstName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"MiddleName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"LastName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]);\n}\n\nclass CreationData_Profile extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Profile\"];\n }\n}\n\nfunction CreationData_Profile$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreationData.Profile\", [], CreationData_Profile, () => [[[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Email\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"ExternalId\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"MobilePhone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Name\", CreationData_ProfileName$reflection()])]]]);\n}\n\nclass CreationData_Creator extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Name, Email) {\n super();\n this.Id = Id;\n this.Name = Name;\n this.Email = Email;\n }\n}\n\nfunction CreationData_Creator$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreationData.Creator\", [], CreationData_Creator, () => [[\"Id\", (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileId$reflection)()], [\"Name\", CreationData_ProfileName$reflection()], [\"Email\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]);\n}\n\nfunction CreationData_ProfileModule_create(name, externalId, email, mobilePhone) {\n let x_1;\n return new CreationData_Profile(0, {\n Email: email,\n ExternalId: externalId,\n MobilePhone: (x_1 = mobilePhone, (x_1 == null) ? (void 0) : (0,_Utils_fs_js__WEBPACK_IMPORTED_MODULE_3__.Require_mobilePhone)(x_1)),\n Name: name,\n });\n}\n\nfunction CreationData_ProfileModule_value(_arg) {\n return _arg.fields[0];\n}\n\nconst CreationData_$007CProfile$007C = CreationData_ProfileModule_value;\n\nclass CreatedV2Payload extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Config, Profile, Creator, Tags, StepsConfiguration, JourneyType) {\n super();\n this.Id = Id;\n this.Config = Config;\n this.Profile = Profile;\n this.Creator = Creator;\n this.Tags = Tags;\n this.StepsConfiguration = StepsConfiguration;\n this.JourneyType = JourneyType;\n }\n}\n\nfunction CreatedV2Payload$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreatedV2Payload\", [], CreatedV2Payload, () => [[\"Id\", ProcessInstanceId$reflection()], [\"Config\", ProcessConfig$reflection()], [\"Profile\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(CreationData_Profile$reflection())], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(CreationData_Creator$reflection())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection()))], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(StepsConfiguration$reflection())], [\"JourneyType\", JourneyType$reflection()]]);\n}\n\nclass ProcessInstanceCommand extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CreateV2\", \"AddTags\", \"Activate\", \"CompleteStep\", \"CompleteStepV2\", \"ViewPaySetupPage\", \"CompletePaySetup\", \"ResumePaySetup\", \"Complete\", \"Abandon\"];\n }\n}\n\nfunction ProcessInstanceCommand$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceCommand\", [], ProcessInstanceCommand, () => [[[\"Item\", CreateV2CommandPayload$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Id\", ProcessInstanceId$reflection()], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection())])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"IsBenefitsStepEnabled\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), ProcessStepId$reflection())]], [[\"Item\", CompleteStepV2CommandPayload$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", ProcessInstanceId$reflection()]], [[\"Item\", ProcessInstanceId$reflection()]]]);\n}\n\nclass CreateV2CommandPayload extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Config, Profile, Creator, Tags, StepsConfiguration, JourneyType) {\n super();\n this.Id = Id;\n this.Config = Config;\n this.Profile = Profile;\n this.Creator = Creator;\n this.Tags = Tags;\n this.StepsConfiguration = StepsConfiguration;\n this.JourneyType = JourneyType;\n }\n}\n\nfunction CreateV2CommandPayload$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreateV2CommandPayload\", [], CreateV2CommandPayload, () => [[\"Id\", ProcessInstanceId$reflection()], [\"Config\", ProcessConfig$reflection()], [\"Profile\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(CreationData_Profile$reflection())], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(CreationData_Creator$reflection())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection()))], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(StepsConfiguration$reflection())], [\"JourneyType\", JourneyType$reflection()]]);\n}\n\nclass CompleteStepV2CommandPayload extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(ProcessInstanceId, ProcessStepId) {\n super();\n this.ProcessInstanceId = ProcessInstanceId;\n this.ProcessStepId = ProcessStepId;\n }\n}\n\nfunction CompleteStepV2CommandPayload$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CompleteStepV2CommandPayload\", [], CompleteStepV2CommandPayload, () => [[\"ProcessInstanceId\", ProcessInstanceId$reflection()], [\"ProcessStepId\", ProcessStepId$reflection()]]);\n}\n\nclass ProcessInstanceEvent extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Created\", \"CreatedV2\", \"TagsAdded\", \"Activated\", \"StepCompleted\", \"PaySetupPageViewed\", \"PaySetupCompleted\", \"PaySetupResumed\", \"Completed\", \"Abandoned\"];\n }\n}\n\nfunction ProcessInstanceEvent$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceEvent\", [], ProcessInstanceEvent, () => [[[\"Item\", ProcessConfig$reflection()]], [[\"Item\", CreatedV2Payload$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Id\", ProcessInstanceId$reflection()], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection())])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"IsBenefitsStepEnabled\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type)], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), ProcessStepId$reflection())]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", ProcessInstanceId$reflection()]], [[\"Item\", ProcessInstanceId$reflection()]]]);\n}\n\nclass ProcessInstanceInviteEvent extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"InviteCreated\", \"SecondFactorCodeIssued\", \"SecondFactorAttempted\", \"SecondFactorSucceeded\"];\n }\n}\n\nfunction ProcessInstanceInviteEvent$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceInviteEvent\", [], ProcessInstanceInviteEvent, () => [[[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteCode$reflection)(), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBranding$reflection)()), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.EmailSendOption$reflection)())]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteCode$reflection)(), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactorCode$reflection)(), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.EmailSendOption$reflection)())]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteCode$reflection)(), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactorCode$reflection)())]], [[\"Item\", ProcessInstanceId$reflection()]]]);\n}\n\nfunction ProcessInstanceEventModule_getInstanceId(_arg) {\n let pattern_matching_result, id;\n switch (_arg.tag) {\n case 1: {\n pattern_matching_result = 1;\n break;\n }\n case 2: {\n pattern_matching_result = 2;\n break;\n }\n case 3: {\n pattern_matching_result = 3;\n break;\n }\n case 5: {\n pattern_matching_result = 4;\n break;\n }\n case 6: {\n pattern_matching_result = 5;\n break;\n }\n case 7: {\n pattern_matching_result = 6;\n break;\n }\n case 4: {\n pattern_matching_result = 7;\n id = _arg.fields[0][0];\n break;\n }\n case 8: {\n pattern_matching_result = 7;\n id = _arg.fields[0];\n break;\n }\n case 9: {\n pattern_matching_result = 7;\n id = _arg.fields[0];\n break;\n }\n default: pattern_matching_result = 0}\n switch (pattern_matching_result) {\n case 0: {\n return void 0;\n }\n case 1: {\n return _arg.fields[0].Id;\n }\n case 2: {\n return _arg.fields[0].Id;\n }\n case 3: {\n return _arg.fields[0].ProcessInstanceId;\n }\n case 4: {\n return _arg.fields[0].ProcessInstanceId;\n }\n case 5: {\n return _arg.fields[0].ProcessInstanceId;\n }\n case 6: {\n return _arg.fields[0].ProcessInstanceId;\n }\n case 7: {\n return id;\n }\n }\n}\n\nfunction ProcessInstanceInviteEventModule_getInstanceId(_arg) {\n let pattern_matching_result, id;\n switch (_arg.tag) {\n case 1: {\n pattern_matching_result = 0;\n id = _arg.fields[0][0];\n break;\n }\n case 2: {\n pattern_matching_result = 0;\n id = _arg.fields[0][0];\n break;\n }\n case 3: {\n pattern_matching_result = 0;\n id = _arg.fields[0];\n break;\n }\n default: {\n pattern_matching_result = 0;\n id = _arg.fields[0][0];\n }\n }\n switch (pattern_matching_result) {\n case 0: {\n return id;\n }\n }\n}\n\nclass ProcessInstanceListEvent extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"InstanceEvent\", \"InstanceInviteEvent\"];\n }\n}\n\nfunction ProcessInstanceListEvent$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceListEvent\", [], ProcessInstanceListEvent, () => [[[\"Item\", ProcessInstanceEvent$reflection()]], [[\"Item\", ProcessInstanceInviteEvent$reflection()]]]);\n}\n\nfunction ProcessInstanceListEventModule_getProcessInstanceId(event) {\n if (event.tag === 1) {\n return ProcessInstanceInviteEventModule_getInstanceId(event.fields[0]);\n }\n else {\n return ProcessInstanceEventModule_getInstanceId(event.fields[0]);\n }\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9Eb21haW4uZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEySDtBQUNvSDtBQUM3SDtBQUNrSDtBQUN2RztBQUNBO0FBQ0U7QUFDMkQ7QUFDN0Q7QUFDa0M7QUFDNUM7QUFDbUM7QUFDN0I7QUFDUTtBQUNPO0FBQ2hGOztBQUVqRCw0QkFBNEIscUhBQUs7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxtSUFBVSwrR0FBK0csZ0lBQVc7QUFDL0k7O0FBRU8sZ0NBQWdDLHNIQUFNO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxvSUFBVyxpS0FBaUssZ0lBQVcsd0JBQXdCLGdJQUFXO0FBQ3JPOztBQUVPOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU8sOEJBQThCLHFIQUFLO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsbUlBQVUsbUhBQW1ILG1JQUFVO0FBQ2xKOztBQUVPLDRCQUE0QixzSEFBTTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsb0pBQW9KLGdJQUFXLGFBQWEsa0lBQVM7QUFDM007O0FBRU8sMEZBQTBGLHdIQUFLLGlFQUFpRSwwSEFBTzs7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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTyx1Q0FBdUMscUhBQUs7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxtSUFBVTtBQUNyQjs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGZsYXJlaHIvd29ya2Zsb3dzLWFwcC8uLi9Xb3JrZmxvd3MuQnVzaW5lc3MvQWdncmVnYXRlcy9Qcm9jZXNzSW5zdGFuY2VMaXN0L0RvbWFpbi5mcy5qcz9iNzgxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY29yZCwgVW5pb24gfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1R5cGVzLmpzXCI7XG5pbXBvcnQgeyBhbm9uUmVjb3JkX3R5cGUsIGJvb2xfdHlwZSwgb3B0aW9uX3R5cGUsIGludDMyX3R5cGUsIHR1cGxlX3R5cGUsIGxpc3RfdHlwZSwgY2xhc3NfdHlwZSwgcmVjb3JkX3R5cGUsIHVuaW9uX3R5cGUsIHN0cmluZ190eXBlIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9SZWZsZWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvR3VpZC5qc1wiO1xuaW1wb3J0IHsgZmluZCwgYXBwZW5kIGFzIGFwcGVuZF8xLCBsZW5ndGgsIG1hcCwgZW1wdHkgYXMgZW1wdHlfMSwgZXhpc3RzLCBmaWx0ZXIsIHRyeUhlYWQsIHRyeUZpbmQsIGNvbnRhaW5zLCBzaW5nbGV0b24sIG9mQXJyYXkgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0xpc3QuanNcIjtcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL011dGFibGVNYXAuanNcIjtcbmltcG9ydCB7IHNhZmVIYXNoLCBlcXVhbHMgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1V0aWwuanNcIjtcbmltcG9ydCB7IGdldEl0ZW1Gcm9tRGljdCB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvTWFwVXRpbC5qc1wiO1xuaW1wb3J0IHsgZW1wdHksIHNpbmdsZXRvbiBhcyBzaW5nbGV0b25fMSwgYXBwZW5kLCBkZWxheSwgdG9MaXN0LCBjb250YWlucyBhcyBjb250YWluc18xIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9TZXEuanNcIjtcbmltcG9ydCB7IEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9DaG9pY2UuanNcIjtcbmltcG9ydCB7IGNvbXBhcmUsIGlzTnVsbE9yV2hpdGVTcGFjZSwgaW50ZXJwb2xhdGUsIHRvVGV4dCB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvU3RyaW5nLmpzXCI7XG5pbXBvcnQgeyBTZWNvbmRGYWN0b3JDb2RlJHJlZmxlY3Rpb24sIEVtYWlsU2VuZE9wdGlvbiRyZWZsZWN0aW9uLCBJbnZpdGUkcmVmbGVjdGlvbiB9IGZyb20gXCIuL0ludml0ZS9Eb21haW4uZnMuanNcIjtcbmltcG9ydCB7IEludml0ZUJyYW5kaW5nJHJlZmxlY3Rpb24sIEludml0ZUNvZGUkcmVmbGVjdGlvbiwgUHJvZmlsZUlkTW9kdWxlX3ZhbHVlLCBBY2NvdW50SWQkcmVmbGVjdGlvbiwgUHJvZmlsZUlkJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi4vQ29tbW9uLmZzLmpzXCI7XG5pbXBvcnQgeyBkZWZhdWx0QXJnIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9PcHRpb24uanNcIjtcbmltcG9ydCB7IGNvbXBhcmUgYXMgY29tcGFyZV8xIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9EYXRlLmpzXCI7XG5pbXBvcnQgeyBNZXRhZGF0YV9pbmNyZW1lbnRWZXJzaW9uLCBTdHJlYW1JZE1vZHVsZV9jcmVhdGUsIE1ldGFkYXRhX2NyZWF0ZSwgTWV0YWRhdGEkMSRyZWZsZWN0aW9uIH0gZnJvbSBcIi4uLy4uL0RvbWFpblByaW1pdGl2ZXMuZnMuanNcIjtcbmltcG9ydCB7IFJlcXVpcmVfbW9iaWxlUGhvbmUgfSBmcm9tIFwiLi4vLi4vVXRpbHMuZnMuanNcIjtcblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NTdGVwSWQgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIlByb2Nlc3NTdGVwSWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc1N0ZXBJZCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uUHJvY2Vzc1N0ZXBJZFwiLCBbXSwgUHJvY2Vzc1N0ZXBJZCwgKCkgPT4gW1tbXCJJdGVtXCIsIHN0cmluZ190eXBlXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NTdGVwQ29uZmlnIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihJZCwgRGlzcGxheU5hbWUsIENvbXBvbmVudFRhZ05hbWUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5JZCA9IElkO1xuICAgICAgICB0aGlzLkRpc3BsYXlOYW1lID0gRGlzcGxheU5hbWU7XG4gICAgICAgIHRoaXMuQ29tcG9uZW50VGFnTmFtZSA9IENvbXBvbmVudFRhZ05hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc1N0ZXBDb25maWckcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzU3RlcENvbmZpZ1wiLCBbXSwgUHJvY2Vzc1N0ZXBDb25maWcsICgpID0+IFtbXCJJZFwiLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKV0sIFtcIkRpc3BsYXlOYW1lXCIsIHN0cmluZ190eXBlXSwgW1wiQ29tcG9uZW50VGFnTmFtZVwiLCBzdHJpbmdfdHlwZV1dKTtcbn1cblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAgPSBuZXcgUHJvY2Vzc1N0ZXBDb25maWcobmV3IFByb2Nlc3NTdGVwSWQoMCwgXCJwZXJzb25hbC1kZXRhaWxzXCIpLCBcIlBlcnNvbmFsIERldGFpbHNcIiwgXCJhcG9sbG8tcGVyc29uYWwtZGV0YWlscy1hcHBcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAgPSBuZXcgUHJvY2Vzc1N0ZXBDb25maWcobmV3IFByb2Nlc3NTdGVwSWQoMCwgXCJlbWVyZ2VuY3ktY29udGFjdHNcIiksIFwiRW1lcmdlbmN5IENvbnRhY3RzXCIsIFwiYXBvbGxvLWVtZXJnZW5jeS1jb250YWN0cy1hcHBcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CYW5rU3RlcCA9IG5ldyBQcm9jZXNzU3RlcENvbmZpZyhuZXcgUHJvY2Vzc1N0ZXBJZCgwLCBcImJhbmtcIiksIFwiQmFua1wiLCBcImJhbmstY29tcG9uZW50XCIpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfVGF4U3RlcCA9IG5ldyBQcm9jZXNzU3RlcENvbmZpZyhuZXcgUHJvY2Vzc1N0ZXBJZCgwLCBcInRheFwiKSwgXCJUYXhcIiwgXCJ0YXgtY29tcG9uZW50XCIpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwID0gbmV3IFByb2Nlc3NTdGVwQ29uZmlnKG5ldyBQcm9jZXNzU3RlcElkKDAsIFwic3VwZXJcIiksIFwiU3VwZXJcIiwgXCJzdXBlci1zZWxlY3Rpb24tYXBwXCIpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlTGlua2luZ1N0ZXAgPSBuZXcgUHJvY2Vzc1N0ZXBDb25maWcobmV3IFByb2Nlc3NTdGVwSWQoMCwgXCJhcHAtd29ya3BsYWNlLWxpbmtpbmdcIiksIFwiQXBwIFdvcmtwbGFjZSBMaW5raW5nXCIsIFwid29ya3BsYWNlLWxpbmtcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CZW5lZml0c09uYm9hcmRpbmdTdGVwSWQgPSBuZXcgUHJvY2Vzc1N0ZXBJZCgwLCBcImJlbmVmaXRzLW9uYm9hcmRpbmdcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CZW5lZml0c09uYm9hcmRpbmdTdGVwID0gbmV3IFByb2Nlc3NTdGVwQ29uZmlnKFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JlbmVmaXRzT25ib2FyZGluZ1N0ZXBJZCwgXCJCZW5lZml0c1wiLCBcImJlbmVmaXRzLW9uYm9hcmRpbmdcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VQb2xpY2llc1N0ZXAgPSBuZXcgUHJvY2Vzc1N0ZXBDb25maWcobmV3IFByb2Nlc3NTdGVwSWQoMCwgXCJ3b3JrcGxhY2UtcG9saWN5XCIpLCBcIldvcmtwbGFjZS1wb2xpY3lcIiwgXCJhcG9sbG8td29ya3BsYWNlLXBvbGljaWVzLWFwcFwiKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwID0gbmV3IFByb2Nlc3NTdGVwQ29uZmlnKG5ldyBQcm9jZXNzU3RlcElkKDAsIFwiQmVuZWZpdHMtRGlzY3JldGVcIiksIFwiQmVuZWZpdHNcIiwgXCJiZW5lZml0cy1vbmJvYXJkaW5nXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc1N0ZXBJZE1vZHVsZV9jcmVhdGUoYXJnKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzU3RlcElkKDAsIGFyZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzU3RlcElkTW9kdWxlX3ZhbHVlKF9hcmcpIHtcbiAgICByZXR1cm4gX2FyZy5maWVsZHNbMF07XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzQ29uZmlnSWQgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIlByb2Nlc3NDb25maWdJZFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnSWQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlByb2Nlc3NDb25maWdJZFwiLCBbXSwgUHJvY2Vzc0NvbmZpZ0lkLCAoKSA9PiBbW1tcIkl0ZW1cIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5HdWlkXCIpXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NDb25maWcgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKElkLCBOYW1lLCBTdGVwcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLklkID0gSWQ7XG4gICAgICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgICAgIHRoaXMuU3RlcHMgPSBTdGVwcztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uUHJvY2Vzc0NvbmZpZ1wiLCBbXSwgUHJvY2Vzc0NvbmZpZywgKCkgPT4gW1tcIklkXCIsIFByb2Nlc3NDb25maWdJZCRyZWZsZWN0aW9uKCldLCBbXCJOYW1lXCIsIHN0cmluZ190eXBlXSwgW1wiU3RlcHNcIiwgbGlzdF90eXBlKFByb2Nlc3NTdGVwQ29uZmlnJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzQ29uZmlnTW9kdWxlX0RlZmF1bHRDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMFwiKSksIFwib25ib2FyZGluZy1kZWZhdWx0XCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JhbmtTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9UYXhTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9TdXBlclN0ZXBdKSk7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzQ29uZmlnTW9kdWxlX1BlYnRzQ29uZmlndXJhdGlvbiA9IG5ldyBQcm9jZXNzQ29uZmlnKG5ldyBQcm9jZXNzQ29uZmlnSWQoMCwgcGFyc2UoXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDFcIikpLCBcIlBFQlRTXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUHNDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMlwiKSksIFwiUFNcIiwgb2ZBcnJheShbUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfUGVyc29uYWxEZXRhaWxzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9Cc0NvbmZpZ3VyYXRpb24gPSBuZXcgUHJvY2Vzc0NvbmZpZyhuZXcgUHJvY2Vzc0NvbmZpZ0lkKDAsIHBhcnNlKFwiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAzXCIpKSwgXCJCU1wiLCBvZkFycmF5KFtQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CYW5rU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9TdXBlck9ubHlDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwNFwiKSksIFwiU3VwZXJcIiwgc2luZ2xldG9uKFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcCkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QYmFDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAxLTAwMDAwMDAwMDAwMFwiKSksIFwiQXBwIFdvcmtwbGFjZSBMaW5raW5nXCIsIHNpbmdsZXRvbihQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VMaW5raW5nU3RlcCkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9UYXhPbmx5Q29uZmlndXJhdGlvbiA9IG5ldyBQcm9jZXNzQ29uZmlnKG5ldyBQcm9jZXNzQ29uZmlnSWQoMCwgcGFyc2UoXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDVcIikpLCBcIlRheFwiLCBzaW5nbGV0b24oUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfVGF4U3RlcCkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QYnRzQ29uZmlndXJhdGlvbiA9IG5ldyBQcm9jZXNzQ29uZmlnKG5ldyBQcm9jZXNzQ29uZmlnSWQoMCwgcGFyc2UoXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDZcIikpLCBcIlBCVFNcIiwgb2ZBcnJheShbUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfUGVyc29uYWxEZXRhaWxzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUGVidHNwb0NvbmZpZ3VyYXRpb24gPSBuZXcgUHJvY2Vzc0NvbmZpZyhuZXcgUHJvY2Vzc0NvbmZpZ0lkKDAsIHBhcnNlKFwiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDA3XCIpKSwgXCJQRUJUU1BvXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlUG9saWNpZXNTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZWJzcG9Db25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwOFwiKSksIFwiUEVCU1BvXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlUG9saWNpZXNTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXNwb0NvbmZpZ3VyYXRpb24gPSBuZXcgUHJvY2Vzc0NvbmZpZyhuZXcgUHJvY2Vzc0NvbmZpZ0lkKDAsIHBhcnNlKFwiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDA5XCIpKSwgXCJQRVNQb1wiLCBvZkFycmF5KFtQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9QZXJzb25hbERldGFpbHNTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlUG9saWNpZXNTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXRzcG9Db25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAxMFwiKSksIFwiUEVUU1BvXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfVGF4U3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VQb2xpY2llc1N0ZXBdKSk7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAyLTAwMDAwMDAwMDAwMFwiKSksIFwiQm9cIiwgc2luZ2xldG9uKFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwKSk7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzQ29uZmlnTW9kdWxlX1BldHNDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAxMVwiKSksIFwiUEVUU1wiLCBvZkFycmF5KFtQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9QZXJzb25hbERldGFpbHNTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUGVic0NvbmZpZ3VyYXRpb24gPSBuZXcgUHJvY2Vzc0NvbmZpZyhuZXcgUHJvY2Vzc0NvbmZpZ0lkKDAsIHBhcnNlKFwiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDEyXCIpKSwgXCJQRUJTXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUGVzQ29uZmlndXJhdGlvbiA9IG5ldyBQcm9jZXNzQ29uZmlnKG5ldyBQcm9jZXNzQ29uZmlnSWQoMCwgcGFyc2UoXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMTNcIikpLCBcIlBFU1wiLCBvZkFycmF5KFtQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9QZXJzb25hbERldGFpbHNTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUGJ0c3BvSWRDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAxNFwiKSksIFwiUEJUU1BvXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JhbmtTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9UYXhTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9TdXBlclN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1dvcmtwbGFjZVBvbGljaWVzU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfY29uZmlncyA9IG5ldyBEaWN0aW9uYXJ5KFtbUHJvY2Vzc0NvbmZpZ01vZHVsZV9EZWZhdWx0Q29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9EZWZhdWx0Q29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1BlYnRzQ29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZWJ0c0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9Qc0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUHNDb25maWd1cmF0aW9uXSwgW1Byb2Nlc3NDb25maWdNb2R1bGVfQnNDb25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX0JzQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1N1cGVyT25seUNvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfU3VwZXJPbmx5Q29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1BiYUNvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGJhQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1RheE9ubHlDb25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX1RheE9ubHlDb25maWd1cmF0aW9uXSwgW1Byb2Nlc3NDb25maWdNb2R1bGVfUGJ0c0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGJ0c0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZWJ0c3BvQ29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZWJ0c3BvQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1BlYnNwb0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGVic3BvQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1Blc3BvQ29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXNwb0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXRzcG9Db25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX1BldHNwb0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9EaXNjcmV0ZUJlbmVmaXRzQ29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9EaXNjcmV0ZUJlbmVmaXRzQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1BldHNDb25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX1BldHNDb25maWd1cmF0aW9uXSwgW1Byb2Nlc3NDb25maWdNb2R1bGVfUGVic0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGVic0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXNDb25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX1Blc0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9QYnRzcG9JZENvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGJ0c3BvSWRDb25maWd1cmF0aW9uXV0sIHtcbiAgICBFcXVhbHM6IGVxdWFscyxcbiAgICBHZXRIYXNoQ29kZTogc2FmZUhhc2gsXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NDb25maWdNb2R1bGVfZ2V0KGNvbmZpZ0lkKSB7XG4gICAgcmV0dXJuIGdldEl0ZW1Gcm9tRGljdChQcm9jZXNzQ29uZmlnTW9kdWxlX2NvbmZpZ3MsIGNvbmZpZ0lkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NDb25maWdNb2R1bGVfcmVxdWlyZXNGdWxsUHJvZmlsZShjb25maWdJZCkge1xuICAgIHJldHVybiBjb250YWlucyhjb25maWdJZCwgb2ZBcnJheShbUHJvY2Vzc0NvbmZpZ01vZHVsZV9EZWZhdWx0Q29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9Cc0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfU3VwZXJPbmx5Q29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9UYXhPbmx5Q29uZmlndXJhdGlvbi5JZF0pLCB7XG4gICAgICAgIEVxdWFsczogZXF1YWxzLFxuICAgICAgICBHZXRIYXNoQ29kZTogc2FmZUhhc2gsXG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnX19nZXRfSW5jbHVkZXNEaXNjcmV0ZUJlbmVmaXRzU3RlcCh0aGlzJCkge1xuICAgIHJldHVybiB0cnlGaW5kKChzdGVwKSA9PiBlcXVhbHMoc3RlcC5JZCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfRGlzY3JldGVCZW5lZml0c1N0ZXAuSWQpLCB0aGlzJC5TdGVwcykgIT0gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NDb25maWdfX2dldF9Jc1BheVNldHVwQ29tcGF0aWJsZSh0aGlzJCkge1xuICAgIGlmICghZXF1YWxzKHRoaXMkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNDb25maWd1cmF0aW9uKSkge1xuICAgICAgICByZXR1cm4gIWVxdWFscyh0aGlzJCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QYmFDb25maWd1cmF0aW9uKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnSWRNb2R1bGVfdHJ5Q3JlYXRlKGd1aWQpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gbmV3IFByb2Nlc3NDb25maWdJZCgwLCBndWlkKTtcbiAgICBpZiAoY29udGFpbnNfMShtYXRjaFZhbHVlLCBQcm9jZXNzQ29uZmlnTW9kdWxlX2NvbmZpZ3Mua2V5cygpLCB7XG4gICAgICAgIEVxdWFsczogZXF1YWxzLFxuICAgICAgICBHZXRIYXNoQ29kZTogc2FmZUhhc2gsXG4gICAgfSkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgdG9UZXh0KGludGVycG9sYXRlKFwiSW52YWxpZCBUeXBlICVBJVAoKVwiLCBbZ3VpZF0pKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0NvbmZpZ0lkTW9kdWxlX3ZhbHVlKF9hcmcpIHtcbiAgICByZXR1cm4gX2FyZy5maWVsZHNbMF07XG59XG5cbmV4cG9ydCBjbGFzcyBBY3RpdmVQcm9jZXNzSW5zdGFuY2UgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKEFjdGl2YXRlZERhdGVzLCBDb21wbGV0ZWRTdGVwcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkFjdGl2YXRlZERhdGVzID0gQWN0aXZhdGVkRGF0ZXM7XG4gICAgICAgIHRoaXMuQ29tcGxldGVkU3RlcHMgPSBDb21wbGV0ZWRTdGVwcztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBY3RpdmVQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5BY3RpdmVQcm9jZXNzSW5zdGFuY2VcIiwgW10sIEFjdGl2ZVByb2Nlc3NJbnN0YW5jZSwgKCkgPT4gW1tcIkFjdGl2YXRlZERhdGVzXCIsIGxpc3RfdHlwZShjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpKV0sIFtcIkNvbXBsZXRlZFN0ZXBzXCIsIGxpc3RfdHlwZSh0dXBsZV90eXBlKFByb2Nlc3NTdGVwSWQkcmVmbGVjdGlvbigpLCBjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpKSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSW5zdGFuY2VTdGF0dXMgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkluYWN0aXZlXCIsIFwiQWN0aXZlXCIsIFwiQ29tcGxldGVcIiwgXCJBYmFuZG9uZWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlU3RhdHVzJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzSW5zdGFuY2VTdGF0dXNcIiwgW10sIFByb2Nlc3NJbnN0YW5jZVN0YXR1cywgKCkgPT4gW1tdLCBbW1wiSXRlbVwiLCBBY3RpdmVQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIildXSwgW1tcIkl0ZW1cIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKV1dXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VTdGF0dXNNb2R1bGVfaXNJblByb2dyZXNzKF9hcmcpIHtcbiAgICBzd2l0Y2ggKF9hcmcudGFnKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VTdGF0dXNNb2R1bGVfaXNBY3RpdmUoX2FyZykge1xuICAgIGlmIChfYXJnLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VTdGF0dXNNb2R1bGVfaXNDb21wbGV0ZShfYXJnKSB7XG4gICAgaWYgKF9hcmcudGFnID09PSAyKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZUlkIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uUHJvY2Vzc0luc3RhbmNlSWRcIiwgW10sIFByb2Nlc3NJbnN0YW5jZUlkLCAoKSA9PiBbW1tcIkl0ZW1cIiwgaW50MzJfdHlwZV1dXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoYXJnKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VJZCgwLCBhcmcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoX2FyZykge1xuICAgIHJldHVybiBfYXJnLmZpZWxkc1swXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2luY3JlbWVudChwcm9jZXNzSW5zdGFuY2VJZCkge1xuICAgIHJldHVybiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUocHJvY2Vzc0luc3RhbmNlSWQpICsgMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9kZWNyZW1lbnQocHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICByZXR1cm4gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSAtIDEpO1xufVxuXG5leHBvcnQgY29uc3QgJDAwN0NQcm9jZXNzSW5zdGFuY2VJZCQwMDdDID0gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWU7XG5cbmV4cG9ydCBjbGFzcyBUYWcgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKE5hbWUsIFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgICAgIHRoaXMuVmFsdWUgPSBWYWx1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYWckcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5UYWdcIiwgW10sIFRhZywgKCkgPT4gW1tcIk5hbWVcIiwgVGFnTmFtZSRyZWZsZWN0aW9uKCldLCBbXCJWYWx1ZVwiLCBUYWdWYWx1ZSRyZWZsZWN0aW9uKCldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBUYWdOYW1lIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJUYWdOYW1lXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRhZ05hbWUkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlRhZ05hbWVcIiwgW10sIFRhZ05hbWUsICgpID0+IFtbW1wiSXRlbVwiLCBzdHJpbmdfdHlwZV1dXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBUYWdWYWx1ZSBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiVGFnVmFsdWVcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVGFnVmFsdWUkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlRhZ1ZhbHVlXCIsIFtdLCBUYWdWYWx1ZSwgKCkgPT4gW1tbXCJJdGVtXCIsIHN0cmluZ190eXBlXV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRhZ05hbWVNb2R1bGVfY3JlYXRlKHRhZ05hbWUpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gaXNOdWxsT3JXaGl0ZVNwYWNlKHRhZ05hbWUpO1xuICAgIGlmIChtYXRjaFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgXCJUYWcgbmFtZSBpcyBlbXB0eVwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGFnTmFtZS5sZW5ndGggPCAxMDApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgVGFnTmFtZSgwLCB0YWdOYW1lKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiVGFnIG5hbWUgaXMgdG9vIGxvbmdcIik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVGFnTmFtZU1vZHVsZV92YWx1ZShfYXJnKSB7XG4gICAgcmV0dXJuIF9hcmcuZmllbGRzWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVGFnVmFsdWVNb2R1bGVfY3JlYXRlKHRhZ1ZhbHVlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGlzTnVsbE9yV2hpdGVTcGFjZSh0YWdWYWx1ZSk7XG4gICAgaWYgKG1hdGNoVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBcIlRhZyB2YWx1ZSBpcyBlbXB0eVwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGFnVmFsdWUubGVuZ3RoIDwgMTAwKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFRhZ1ZhbHVlKDAsIHRhZ1ZhbHVlKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiVGFnIHZhbHVlIGlzIHRvbyBsb25nXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRhZ1ZhbHVlTW9kdWxlX3ZhbHVlKF9hcmcpIHtcbiAgICByZXR1cm4gX2FyZy5maWVsZHNbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYWdNb2R1bGVfY3JlYXRlKG5hbWUsIHZhbHVlKSB7XG4gICAgY29uc3QgaW5wdXRfMiA9IFRhZ05hbWVNb2R1bGVfY3JlYXRlKG5hbWUpO1xuICAgIGlmIChpbnB1dF8yLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzIuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gVGFnVmFsdWVNb2R1bGVfY3JlYXRlKHZhbHVlKTtcbiAgICAgICAgaWYgKGlucHV0LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dC5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgVGFnKGlucHV0XzIuZmllbGRzWzBdLCBpbnB1dC5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZSBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSWQsIENvbmZpZ3VyYXRpb24sIERhdGVDcmVhdGVkLCBTdGF0dXMsIEludml0ZSwgVGFncywgQ3JlYXRvciwgU3RlcHNDb25maWd1cmF0aW9uLCBKb3VybmV5VHlwZSwgSXNCZW5lZml0c1N0ZXBFbmFibGVkLCBQYXlTZXR1cENvbXBsZXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSWQgPSBJZDtcbiAgICAgICAgdGhpcy5Db25maWd1cmF0aW9uID0gQ29uZmlndXJhdGlvbjtcbiAgICAgICAgdGhpcy5EYXRlQ3JlYXRlZCA9IERhdGVDcmVhdGVkO1xuICAgICAgICB0aGlzLlN0YXR1cyA9IFN0YXR1cztcbiAgICAgICAgdGhpcy5JbnZpdGUgPSBJbnZpdGU7XG4gICAgICAgIHRoaXMuVGFncyA9IFRhZ3M7XG4gICAgICAgIHRoaXMuQ3JlYXRvciA9IENyZWF0b3I7XG4gICAgICAgIHRoaXMuU3RlcHNDb25maWd1cmF0aW9uID0gU3RlcHNDb25maWd1cmF0aW9uO1xuICAgICAgICB0aGlzLkpvdXJuZXlUeXBlID0gSm91cm5leVR5cGU7XG4gICAgICAgIHRoaXMuSXNCZW5lZml0c1N0ZXBFbmFibGVkID0gSXNCZW5lZml0c1N0ZXBFbmFibGVkO1xuICAgICAgICB0aGlzLlBheVNldHVwQ29tcGxldGUgPSBQYXlTZXR1cENvbXBsZXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlByb2Nlc3NJbnN0YW5jZVwiLCBbXSwgUHJvY2Vzc0luc3RhbmNlLCAoKSA9PiBbW1wiSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSwgW1wiQ29uZmlndXJhdGlvblwiLCBQcm9jZXNzQ29uZmlnJHJlZmxlY3Rpb24oKV0sIFtcIkRhdGVDcmVhdGVkXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIildLCBbXCJTdGF0dXNcIiwgUHJvY2Vzc0luc3RhbmNlU3RhdHVzJHJlZmxlY3Rpb24oKV0sIFtcIkludml0ZVwiLCBvcHRpb25fdHlwZShJbnZpdGUkcmVmbGVjdGlvbigpKV0sIFtcIlRhZ3NcIiwgb3B0aW9uX3R5cGUobGlzdF90eXBlKFRhZyRyZWZsZWN0aW9uKCkpKV0sIFtcIkNyZWF0b3JcIiwgb3B0aW9uX3R5cGUoUHJvZmlsZUlkJHJlZmxlY3Rpb24oKSldLCBbXCJTdGVwc0NvbmZpZ3VyYXRpb25cIiwgb3B0aW9uX3R5cGUoU3RlcHNDb25maWd1cmF0aW9uJHJlZmxlY3Rpb24oKSldLCBbXCJKb3VybmV5VHlwZVwiLCBKb3VybmV5VHlwZSRyZWZsZWN0aW9uKCldLCBbXCJJc0JlbmVmaXRzU3RlcEVuYWJsZWRcIiwgb3B0aW9uX3R5cGUoYm9vbF90eXBlKV0sIFtcIlBheVNldHVwQ29tcGxldGVcIiwgb3B0aW9uX3R5cGUoYm9vbF90eXBlKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFN0ZXBzQ29uZmlndXJhdGlvbiBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQmVuZWZpdHNPbmJvYXJkaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQmVuZWZpdHNPbmJvYXJkaW5nID0gQmVuZWZpdHNPbmJvYXJkaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBzQ29uZmlndXJhdGlvbiRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlN0ZXBzQ29uZmlndXJhdGlvblwiLCBbXSwgU3RlcHNDb25maWd1cmF0aW9uLCAoKSA9PiBbW1wiQmVuZWZpdHNPbmJvYXJkaW5nXCIsIG9wdGlvbl90eXBlKGFub25SZWNvcmRfdHlwZShbXCJTaG93XCIsIFNob3dPcHRpb25zJHJlZmxlY3Rpb24oKV0pKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEpvdXJuZXlUeXBlIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJEZWZhdWx0XCIsIFwiSW5mb1JlcXVlc3RcIiwgXCJBcHBJbnZpdGVcIiwgXCJCZW5lZml0c0V4aXN0aW5nXCIsIFwiQmVuZWZpdHNPbmJvYXJkaW5nXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvdXJuZXlUeXBlJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Kb3VybmV5VHlwZVwiLCBbXSwgSm91cm5leVR5cGUsICgpID0+IFtbW1wiSXRlbVwiLCBKb3VybmV5VHlwZURldGFpbHMkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEpvdXJuZXlUeXBlRGV0YWlscyRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgSm91cm5leVR5cGVEZXRhaWxzJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBKb3VybmV5VHlwZURldGFpbHMkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEpvdXJuZXlUeXBlRGV0YWlscyRyZWZsZWN0aW9uKCldXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgSm91cm5leVR5cGVEZXRhaWxzIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihDYXRlZ29yeSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkNhdGVnb3J5ID0gQ2F0ZWdvcnk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVEZXRhaWxzJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uSm91cm5leVR5cGVEZXRhaWxzXCIsIFtdLCBKb3VybmV5VHlwZURldGFpbHMsICgpID0+IFtbXCJDYXRlZ29yeVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBTaG93T3B0aW9ucyBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiV2hlbkVuYWJsZWRcIiwgXCJBbHdheXNcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU2hvd09wdGlvbnMkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlNob3dPcHRpb25zXCIsIFtdLCBTaG93T3B0aW9ucywgKCkgPT4gW1tdLCBbXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVfR2V0RGVmYXVsdCgpIHtcbiAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDAsIEpvdXJuZXlUeXBlRGV0YWlsc19nZXRfRGVmYXVsdCgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvdXJuZXlUeXBlX0dldFZhbHVlT3JEZWZhdWx0XzUxMkVDQzExKGpvdXJuZXlUeXBlLCBwcm9jZXNzQ29uZmlnSWQpIHtcbiAgICByZXR1cm4gZGVmYXVsdEFyZyhqb3VybmV5VHlwZSwgZXF1YWxzKHByb2Nlc3NDb25maWdJZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9EaXNjcmV0ZUJlbmVmaXRzQ29uZmlndXJhdGlvbi5JZCkgPyAobmV3IEpvdXJuZXlUeXBlKDQsIEpvdXJuZXlUeXBlRGV0YWlsc19nZXRfRGVmYXVsdCgpKSkgOiBKb3VybmV5VHlwZV9HZXREZWZhdWx0KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVfX0dldE5hbWUodGhpcyQpIHtcbiAgICBzd2l0Y2ggKHRoaXMkLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkluZm9SZXF1ZXN0XCI7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gXCJBcHBJbnZpdGVcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkJlbmVmaXRzRXhpc3RpbmdcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkJlbmVmaXRzT25ib2FyZGluZ1wiO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkRlZmF1bHRcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvdXJuZXlUeXBlRGV0YWlsc19nZXRfRGVmYXVsdCgpIHtcbiAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlRGV0YWlscyh2b2lkIDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0NvbmZpZ19fSXNKb3VybmV5VHlwZUFsbG93ZWRPblRoaXNDb25maWd1cmF0aW9uX1oxRjk0NjkodGhpcyQsIGpvdXJuZXlUeXBlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IFtqb3VybmV5VHlwZSwgZXF1YWxzKHRoaXMkLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNDb25maWd1cmF0aW9uLklkKV07XG4gICAgbGV0IHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0O1xuICAgIGlmIChtYXRjaFZhbHVlWzBdLnRhZyA9PT0gMykge1xuICAgICAgICBpZiAobWF0Y2hWYWx1ZVsxXSkge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKG1hdGNoVmFsdWVbMF0udGFnID09PSA0KSB7XG4gICAgICAgIGlmIChtYXRjaFZhbHVlWzFdKSB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAobWF0Y2hWYWx1ZVsxXSkge1xuICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDM7XG4gICAgfVxuICAgIHN3aXRjaCAocGF0dGVybl9tYXRjaGluZ19yZXN1bHQpIHtcbiAgICAgICAgY2FzZSAwOiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2NyZWF0ZShpZCwgY29uZmlndXJhdGlvbiwgdGFncywgY3JlYXRvciwgZGF0ZUNyZWF0ZWQsIHN0ZXBzQ29uZmlndXJhdGlvbiwgam91cm5leVR5cGUpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gUHJvY2Vzc0NvbmZpZ19fSXNKb3VybmV5VHlwZUFsbG93ZWRPblRoaXNDb25maWd1cmF0aW9uX1oxRjk0NjkoY29uZmlndXJhdGlvbiwgam91cm5leVR5cGUpO1xuICAgIGlmIChtYXRjaFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZShpZCwgY29uZmlndXJhdGlvbiwgZGF0ZUNyZWF0ZWQsIG5ldyBQcm9jZXNzSW5zdGFuY2VTdGF0dXMoMCksIHZvaWQgMCwgdGFncywgY3JlYXRvciwgc3RlcHNDb25maWd1cmF0aW9uLCBqb3VybmV5VHlwZSwgdm9pZCAwLCB2b2lkIDApKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgYEpvdXJuZXlUeXBlOiR7Sm91cm5leVR5cGVfX0dldE5hbWUoam91cm5leVR5cGUpfSBpcyBub3QgYWxsb3dlZCBmb3IgdGhpcyB3b3JrZmxvdyB0eXBlYCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2NhbkFjdGl2YXRlKGluc3RhbmNlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGluc3RhbmNlLlN0YXR1cztcbiAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBcIlByb2Nlc3NJbnN0YW5jZSBpcyBDb21wbGV0ZS5cIik7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiUHJvY2Vzc0luc3RhbmNlIGlzIEFiYW5kb25lZC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2dldFByb2Nlc3NDb25maWcoc3RlcElkLCBpbnN0YW5jZSkge1xuICAgIGNvbnN0IG9wdGlvbiA9IHRyeUZpbmQoKHN0ZXApID0+IGVxdWFscyhzdGVwLklkLCBzdGVwSWQpLCBpbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzKTtcbiAgICBjb25zdCBlcnJvciA9IHRvVGV4dChpbnRlcnBvbGF0ZShcIkludmFsaWQgUHJvY2Vzc1N0ZXAgSWQgJUElUCgpXCIsIFtzdGVwSWRdKSk7XG4gICAgY29uc3Qgb3B0aW9uXzEgPSBvcHRpb247XG4gICAgaWYgKG9wdGlvbl8xID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBlcnJvcik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG9wdGlvbl8xKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZ2V0UHJvY2Vzc0NvbmZpZ0J5VGFnTmFtZShjb21wb25lbnRUYWdOYW1lLCBpc0JlbmVmaXRzRW5hYmxlZCwgaW5zdGFuY2UpIHtcbiAgICBjb25zdCBvcHRpb24gPSB0cnlGaW5kKChzdGVwKSA9PiAoY29tcGFyZShzdGVwLkNvbXBvbmVudFRhZ05hbWUsIGNvbXBvbmVudFRhZ05hbWUsIDUpID09PSAwKSwgdG9MaXN0KGRlbGF5KCgpID0+IGFwcGVuZChpbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzLCBkZWxheSgoKSA9PiAoaXNCZW5lZml0c0VuYWJsZWQgPyBzaW5nbGV0b25fMShQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CZW5lZml0c09uYm9hcmRpbmdTdGVwKSA6IGVtcHR5KCkpKSkpKSk7XG4gICAgY29uc3QgZXJyb3IgPSB0b1RleHQoaW50ZXJwb2xhdGUoXCJJbnZhbGlkIENvbXBvbmVudFRhZ05hbWUgJUElUCgpXCIsIFtjb21wb25lbnRUYWdOYW1lXSkpO1xuICAgIGNvbnN0IG9wdGlvbl8xID0gb3B0aW9uO1xuICAgIGlmIChvcHRpb25fMSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgZXJyb3IpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBvcHRpb25fMSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2dldEN1cnJlbnRTdGVwKGluc3RhbmNlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGluc3RhbmNlLlN0YXR1cztcbiAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIHRyeUhlYWQoZmlsdGVyKChjb25maWd1cmVkU3RlcCkgPT4gKCFleGlzdHMoKHR1cGxlZEFyZykgPT4gZXF1YWxzKGNvbmZpZ3VyZWRTdGVwLklkLCB0dXBsZWRBcmdbMF0pLCBtYXRjaFZhbHVlLmZpZWxkc1swXS5Db21wbGV0ZWRTdGVwcykpLCBpbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZ2V0Q29tcGxldGVkU3RlcHMoaW5zdGFuY2UpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gaW5zdGFuY2UuU3RhdHVzO1xuICAgIHN3aXRjaCAobWF0Y2hWYWx1ZS50YWcpIHtcbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2UuQ29uZmlndXJhdGlvbi5TdGVwcztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIGVtcHR5XzEoKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBjb25zdCBzdGVwSWRzID0gbWFwKCh0dXBsZWRBcmcpID0+IHR1cGxlZEFyZ1swXSwgbWF0Y2hWYWx1ZS5maWVsZHNbMF0uQ29tcGxldGVkU3RlcHMpO1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlcigoc3RlcCkgPT4gY29udGFpbnMoc3RlcC5JZCwgc3RlcElkcywge1xuICAgICAgICAgICAgICAgIEVxdWFsczogZXF1YWxzLFxuICAgICAgICAgICAgICAgIEdldEhhc2hDb2RlOiBzYWZlSGFzaCxcbiAgICAgICAgICAgIH0pLCBpbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZU1vZHVsZV9pc0FjdGl2ZUFuZEFsbFN0ZXBzQXJlQ29tcGxldGVkKGluc3RhbmNlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGluc3RhbmNlLlN0YXR1cztcbiAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gbGVuZ3RoKG1hdGNoVmFsdWUuZmllbGRzWzBdLkNvbXBsZXRlZFN0ZXBzKSA9PT0gbGVuZ3RoKGluc3RhbmNlLkNvbmZpZ3VyYXRpb24uU3RlcHMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2lzQ29tcGxldGUoaW5zdGFuY2UpIHtcbiAgICBpZiAoaW5zdGFuY2UuU3RhdHVzLnRhZyA9PT0gMikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZGF0ZUZhbGxzV2l0aGluTGlmZXRpbWVPZkluc3RhbmNlKGRhdGUsIHByb2Nlc3NJbnN0YW5jZSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBwcm9jZXNzSW5zdGFuY2UuU3RhdHVzO1xuICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCwgZW5kRGF0ZTtcbiAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDE7XG4gICAgICAgICAgICBlbmREYXRlID0gbWF0Y2hWYWx1ZS5maWVsZHNbMF07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMTtcbiAgICAgICAgICAgIGVuZERhdGUgPSBtYXRjaFZhbHVlLmZpZWxkc1swXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMH1cbiAgICBzd2l0Y2ggKHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0KSB7XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVfMShwcm9jZXNzSW5zdGFuY2UuRGF0ZUNyZWF0ZWQsIGRhdGUpIDw9IDA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICBpZiAoY29tcGFyZV8xKHByb2Nlc3NJbnN0YW5jZS5EYXRlQ3JlYXRlZCwgZGF0ZSkgPD0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb21wYXJlXzEoZW5kRGF0ZSwgZGF0ZSkgPiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlTGlzdCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoTWV0YWRhdGEsIE5leHRJZCwgUHJvY2Vzc0luc3RhbmNlcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLk1ldGFkYXRhID0gTWV0YWRhdGE7XG4gICAgICAgIHRoaXMuTmV4dElkID0gTmV4dElkO1xuICAgICAgICB0aGlzLlByb2Nlc3NJbnN0YW5jZXMgPSBQcm9jZXNzSW5zdGFuY2VzO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3QkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzSW5zdGFuY2VMaXN0XCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VMaXN0LCAoKSA9PiBbW1wiTWV0YWRhdGFcIiwgTWV0YWRhdGEkMSRyZWZsZWN0aW9uKFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YSRyZWZsZWN0aW9uKCkpXSwgW1wiTmV4dElkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0sIFtcIlByb2Nlc3NJbnN0YW5jZXNcIiwgbGlzdF90eXBlKFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCkpXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihBY2NvdW50SWQsIFByb2ZpbGVJZCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkFjY291bnRJZCA9IEFjY291bnRJZDtcbiAgICAgICAgdGhpcy5Qcm9maWxlSWQgPSBQcm9maWxlSWQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VMaXN0TWV0YWRhdGEsICgpID0+IFtbXCJBY2NvdW50SWRcIiwgQWNjb3VudElkJHJlZmxlY3Rpb24oKV0sIFtcIlByb2ZpbGVJZFwiLCBQcm9maWxlSWQkcmVmbGVjdGlvbigpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTWV0YWRhdGFfY3JlYXRlTmV3KGRhdGVDcmVhdGVkLCBkb21haW5NZXRhZGF0YSkge1xuICAgIHJldHVybiBNZXRhZGF0YV9jcmVhdGUoU3RyZWFtSWRNb2R1bGVfY3JlYXRlKFByb2ZpbGVJZE1vZHVsZV92YWx1ZShkb21haW5NZXRhZGF0YS5Qcm9maWxlSWQpKSwgMCwgZG9tYWluTWV0YWRhdGEsIGRhdGVDcmVhdGVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfY3JlYXRlKG1ldGFkYXRhKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0KG1ldGFkYXRhLCBuZXcgUHJvY2Vzc0luc3RhbmNlSWQoMCwgMSksIGVtcHR5XzEoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0TW9kdWxlX2luY3JlbWVudFZlcnNpb24oZGVsdGEsIGFnZ3JlZ2F0ZSkge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdChNZXRhZGF0YV9pbmNyZW1lbnRWZXJzaW9uKGRlbHRhLCBhZ2dyZWdhdGUuTWV0YWRhdGEpLCBhZ2dyZWdhdGUuTmV4dElkLCBhZ2dyZWdhdGUuUHJvY2Vzc0luc3RhbmNlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0TW9kdWxlX21hcmtVcGRhdGVkKGFnZ3JlZ2F0ZSkge1xuICAgIHJldHVybiBQcm9jZXNzSW5zdGFuY2VMaXN0TW9kdWxlX2luY3JlbWVudFZlcnNpb24oMCwgYWdncmVnYXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfZmluZEluUHJvZ3Jlc3NJbnN0YW5jZShjb25maWdJZCwgam91cm5leVR5cGUsIGluc3RhbmNlTGlzdCkge1xuICAgIHJldHVybiB0cnlGaW5kKChpbnN0YW5jZSkgPT4ge1xuICAgICAgICBpZiAoZXF1YWxzKGluc3RhbmNlLkNvbmZpZ3VyYXRpb24uSWQsIGNvbmZpZ0lkKSAmJiBlcXVhbHMoaW5zdGFuY2UuSm91cm5leVR5cGUsIGpvdXJuZXlUeXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9pc0luUHJvZ3Jlc3MoaW5zdGFuY2UuU3RhdHVzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sIGluc3RhbmNlTGlzdC5Qcm9jZXNzSW5zdGFuY2VzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfY3JlYXRlUHJvY2Vzc0luc3RhbmNlKGFnZ3JlZ2F0ZSwgaWQsIGNvbmZpZ3VyYXRpb24sIHRhZ3MsIGNyZWF0b3IsIGRhdGVDcmVhdGVkLCBzdGVwc0NvbmZpZ3VyYXRpb24sIGpvdXJuZXlUeXBlKSB7XG4gICAgY29uc3QgaW5wdXQgPSBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfY3JlYXRlKGlkLCBjb25maWd1cmF0aW9uLCB0YWdzLCBjcmVhdG9yLCBkYXRlQ3JlYXRlZCwgc3RlcHNDb25maWd1cmF0aW9uLCBqb3VybmV5VHlwZSk7XG4gICAgaWYgKGlucHV0LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0LmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0KGFnZ3JlZ2F0ZS5NZXRhZGF0YSwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfaW5jcmVtZW50KGlkKSwgYXBwZW5kXzEoYWdncmVnYXRlLlByb2Nlc3NJbnN0YW5jZXMsIHNpbmdsZXRvbihpbnB1dC5maWVsZHNbMF0pKSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfdHJ5R2V0UHJvY2Vzc0luc3RhbmNlKGFnZ3JlZ2F0ZSwgcHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICBjb25zdCBvcHRpb24gPSB0cnlGaW5kKChwcm9jZXNzSW5zdGFuY2UpID0+IGVxdWFscyhwcm9jZXNzSW5zdGFuY2UuSWQsIHByb2Nlc3NJbnN0YW5jZUlkKSwgYWdncmVnYXRlLlByb2Nlc3NJbnN0YW5jZXMpO1xuICAgIGNvbnN0IGVycm9yID0gdG9UZXh0KGludGVycG9sYXRlKFwiSW52YWxpZCBQcm9jZXNzSW5zdGFuY2UgSWQgJUElUCgpXCIsIFtwcm9jZXNzSW5zdGFuY2VJZF0pKTtcbiAgICBjb25zdCBvcHRpb25fMSA9IG9wdGlvbjtcbiAgICBpZiAob3B0aW9uXzEgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGVycm9yKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgb3B0aW9uXzEpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfZ2V0TGF0ZXN0SW5zdGFuY2VJZChhZ2dyZWdhdGUpIHtcbiAgICByZXR1cm4gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfZGVjcmVtZW50KGFnZ3JlZ2F0ZS5OZXh0SWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV90cnlHZXRMYXRlc3RQcm9jZXNzSW5zdGFuY2UoYWdncmVnYXRlKSB7XG4gICAgcmV0dXJuIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfdHJ5R2V0UHJvY2Vzc0luc3RhbmNlKGFnZ3JlZ2F0ZSwgUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRMYXRlc3RJbnN0YW5jZUlkKGFnZ3JlZ2F0ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRQcm9jZXNzSW5zdGFuY2UoYWdncmVnYXRlLCBwcm9jZXNzSW5zdGFuY2VJZCkge1xuICAgIHJldHVybiBmaW5kKChwcm9jZXNzSW5zdGFuY2UpID0+IGVxdWFscyhwcm9jZXNzSW5zdGFuY2UuSWQsIHByb2Nlc3NJbnN0YW5jZUlkKSwgYWdncmVnYXRlLlByb2Nlc3NJbnN0YW5jZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRMYXRlc3RQcm9jZXNzSW5zdGFuY2UoYWdncmVnYXRlKSB7XG4gICAgcmV0dXJuIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfZ2V0UHJvY2Vzc0luc3RhbmNlKGFnZ3JlZ2F0ZSwgUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRMYXRlc3RJbnN0YW5jZUlkKGFnZ3JlZ2F0ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRJbmNvbXBsZXRlUHJvY2Vzc0luc3RhbmNlKHByb2Nlc3NDb25maWdJZCwgaW5jb21wbGV0ZUFzQXREYXRlLCBhZ2dyZWdhdGUpIHtcbiAgICBjb25zdCB4XzEgPSB0cnlGaW5kKChpbnN0YW5jZSkgPT4ge1xuICAgICAgICBpZiAoZXF1YWxzKGluc3RhbmNlLkNvbmZpZ3VyYXRpb24uSWQsIHByb2Nlc3NDb25maWdJZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZGF0ZUZhbGxzV2l0aGluTGlmZXRpbWVPZkluc3RhbmNlKGluY29tcGxldGVBc0F0RGF0ZSwgaW5zdGFuY2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfSwgYWdncmVnYXRlLlByb2Nlc3NJbnN0YW5jZXMpO1xuICAgIGlmICh4XzEgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5zdGFuY2VfMSA9IHhfMTtcbiAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGluc3RhbmNlXzEuU3RhdHVzO1xuICAgICAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5zdGFuY2VfMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlXzE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGlvbkRhdGFfUHJvZmlsZU5hbWUgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKEZpcnN0TmFtZSwgTWlkZGxlTmFtZSwgTGFzdE5hbWUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5GaXJzdE5hbWUgPSBGaXJzdE5hbWU7XG4gICAgICAgIHRoaXMuTWlkZGxlTmFtZSA9IE1pZGRsZU5hbWU7XG4gICAgICAgIHRoaXMuTGFzdE5hbWUgPSBMYXN0TmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGlvbkRhdGFfUHJvZmlsZU5hbWUkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5DcmVhdGlvbkRhdGEuUHJvZmlsZU5hbWVcIiwgW10sIENyZWF0aW9uRGF0YV9Qcm9maWxlTmFtZSwgKCkgPT4gW1tcIkZpcnN0TmFtZVwiLCBzdHJpbmdfdHlwZV0sIFtcIk1pZGRsZU5hbWVcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiTGFzdE5hbWVcIiwgc3RyaW5nX3R5cGVdXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGlvbkRhdGFfUHJvZmlsZSBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiUHJvZmlsZVwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGlvbkRhdGFfUHJvZmlsZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uQ3JlYXRpb25EYXRhLlByb2ZpbGVcIiwgW10sIENyZWF0aW9uRGF0YV9Qcm9maWxlLCAoKSA9PiBbW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkVtYWlsXCIsIHN0cmluZ190eXBlXSwgW1wiRXh0ZXJuYWxJZFwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJNb2JpbGVQaG9uZVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJOYW1lXCIsIENyZWF0aW9uRGF0YV9Qcm9maWxlTmFtZSRyZWZsZWN0aW9uKCldKV1dXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGlvbkRhdGFfQ3JlYXRvciBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSWQsIE5hbWUsIEVtYWlsKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSWQgPSBJZDtcbiAgICAgICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICAgICAgdGhpcy5FbWFpbCA9IEVtYWlsO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0aW9uRGF0YV9DcmVhdG9yJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uQ3JlYXRpb25EYXRhLkNyZWF0b3JcIiwgW10sIENyZWF0aW9uRGF0YV9DcmVhdG9yLCAoKSA9PiBbW1wiSWRcIiwgUHJvZmlsZUlkJHJlZmxlY3Rpb24oKV0sIFtcIk5hbWVcIiwgQ3JlYXRpb25EYXRhX1Byb2ZpbGVOYW1lJHJlZmxlY3Rpb24oKV0sIFtcIkVtYWlsXCIsIHN0cmluZ190eXBlXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRpb25EYXRhX1Byb2ZpbGVNb2R1bGVfY3JlYXRlKG5hbWUsIGV4dGVybmFsSWQsIGVtYWlsLCBtb2JpbGVQaG9uZSkge1xuICAgIGxldCB4XzE7XG4gICAgcmV0dXJuIG5ldyBDcmVhdGlvbkRhdGFfUHJvZmlsZSgwLCB7XG4gICAgICAgIEVtYWlsOiBlbWFpbCxcbiAgICAgICAgRXh0ZXJuYWxJZDogZXh0ZXJuYWxJZCxcbiAgICAgICAgTW9iaWxlUGhvbmU6ICh4XzEgPSBtb2JpbGVQaG9uZSwgKHhfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogUmVxdWlyZV9tb2JpbGVQaG9uZSh4XzEpKSxcbiAgICAgICAgTmFtZTogbmFtZSxcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0aW9uRGF0YV9Qcm9maWxlTW9kdWxlX3ZhbHVlKF9hcmcpIHtcbiAgICByZXR1cm4gX2FyZy5maWVsZHNbMF07XG59XG5cbmV4cG9ydCBjb25zdCBDcmVhdGlvbkRhdGFfJDAwN0NQcm9maWxlJDAwN0MgPSBDcmVhdGlvbkRhdGFfUHJvZmlsZU1vZHVsZV92YWx1ZTtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZWRWMlBheWxvYWQgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKElkLCBDb25maWcsIFByb2ZpbGUsIENyZWF0b3IsIFRhZ3MsIFN0ZXBzQ29uZmlndXJhdGlvbiwgSm91cm5leVR5cGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5JZCA9IElkO1xuICAgICAgICB0aGlzLkNvbmZpZyA9IENvbmZpZztcbiAgICAgICAgdGhpcy5Qcm9maWxlID0gUHJvZmlsZTtcbiAgICAgICAgdGhpcy5DcmVhdG9yID0gQ3JlYXRvcjtcbiAgICAgICAgdGhpcy5UYWdzID0gVGFncztcbiAgICAgICAgdGhpcy5TdGVwc0NvbmZpZ3VyYXRpb24gPSBTdGVwc0NvbmZpZ3VyYXRpb247XG4gICAgICAgIHRoaXMuSm91cm5leVR5cGUgPSBKb3VybmV5VHlwZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGVkVjJQYXlsb2FkJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uQ3JlYXRlZFYyUGF5bG9hZFwiLCBbXSwgQ3JlYXRlZFYyUGF5bG9hZCwgKCkgPT4gW1tcIklkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0sIFtcIkNvbmZpZ1wiLCBQcm9jZXNzQ29uZmlnJHJlZmxlY3Rpb24oKV0sIFtcIlByb2ZpbGVcIiwgb3B0aW9uX3R5cGUoQ3JlYXRpb25EYXRhX1Byb2ZpbGUkcmVmbGVjdGlvbigpKV0sIFtcIkNyZWF0b3JcIiwgb3B0aW9uX3R5cGUoQ3JlYXRpb25EYXRhX0NyZWF0b3IkcmVmbGVjdGlvbigpKV0sIFtcIlRhZ3NcIiwgb3B0aW9uX3R5cGUobGlzdF90eXBlKFRhZyRyZWZsZWN0aW9uKCkpKV0sIFtcIlN0ZXBzQ29uZmlndXJhdGlvblwiLCBvcHRpb25fdHlwZShTdGVwc0NvbmZpZ3VyYXRpb24kcmVmbGVjdGlvbigpKV0sIFtcIkpvdXJuZXlUeXBlXCIsIEpvdXJuZXlUeXBlJHJlZmxlY3Rpb24oKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZUNvbW1hbmQgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkNyZWF0ZVYyXCIsIFwiQWRkVGFnc1wiLCBcIkFjdGl2YXRlXCIsIFwiQ29tcGxldGVTdGVwXCIsIFwiQ29tcGxldGVTdGVwVjJcIiwgXCJWaWV3UGF5U2V0dXBQYWdlXCIsIFwiQ29tcGxldGVQYXlTZXR1cFwiLCBcIlJlc3VtZVBheVNldHVwXCIsIFwiQ29tcGxldGVcIiwgXCJBYmFuZG9uXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUNvbW1hbmQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlByb2Nlc3NJbnN0YW5jZUNvbW1hbmRcIiwgW10sIFByb2Nlc3NJbnN0YW5jZUNvbW1hbmQsICgpID0+IFtbW1wiSXRlbVwiLCBDcmVhdGVWMkNvbW1hbmRQYXlsb2FkJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSwgW1wiVGFnc1wiLCBsaXN0X3R5cGUoVGFnJHJlZmxlY3Rpb24oKSldKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSXNCZW5lZml0c1N0ZXBFbmFibGVkXCIsIGJvb2xfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0pXV0sIFtbXCJJdGVtXCIsIHR1cGxlX3R5cGUoUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKSldXSwgW1tcIkl0ZW1cIiwgQ29tcGxldGVTdGVwVjJDb21tYW5kUGF5bG9hZCRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSldXSwgW1tcIkl0ZW1cIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV1dXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVWMkNvbW1hbmRQYXlsb2FkIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihJZCwgQ29uZmlnLCBQcm9maWxlLCBDcmVhdG9yLCBUYWdzLCBTdGVwc0NvbmZpZ3VyYXRpb24sIEpvdXJuZXlUeXBlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSWQgPSBJZDtcbiAgICAgICAgdGhpcy5Db25maWcgPSBDb25maWc7XG4gICAgICAgIHRoaXMuUHJvZmlsZSA9IFByb2ZpbGU7XG4gICAgICAgIHRoaXMuQ3JlYXRvciA9IENyZWF0b3I7XG4gICAgICAgIHRoaXMuVGFncyA9IFRhZ3M7XG4gICAgICAgIHRoaXMuU3RlcHNDb25maWd1cmF0aW9uID0gU3RlcHNDb25maWd1cmF0aW9uO1xuICAgICAgICB0aGlzLkpvdXJuZXlUeXBlID0gSm91cm5leVR5cGU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlVjJDb21tYW5kUGF5bG9hZCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLkNyZWF0ZVYyQ29tbWFuZFBheWxvYWRcIiwgW10sIENyZWF0ZVYyQ29tbWFuZFBheWxvYWQsICgpID0+IFtbXCJJZFwiLCBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCldLCBbXCJDb25maWdcIiwgUHJvY2Vzc0NvbmZpZyRyZWZsZWN0aW9uKCldLCBbXCJQcm9maWxlXCIsIG9wdGlvbl90eXBlKENyZWF0aW9uRGF0YV9Qcm9maWxlJHJlZmxlY3Rpb24oKSldLCBbXCJDcmVhdG9yXCIsIG9wdGlvbl90eXBlKENyZWF0aW9uRGF0YV9DcmVhdG9yJHJlZmxlY3Rpb24oKSldLCBbXCJUYWdzXCIsIG9wdGlvbl90eXBlKGxpc3RfdHlwZShUYWckcmVmbGVjdGlvbigpKSldLCBbXCJTdGVwc0NvbmZpZ3VyYXRpb25cIiwgb3B0aW9uX3R5cGUoU3RlcHNDb25maWd1cmF0aW9uJHJlZmxlY3Rpb24oKSldLCBbXCJKb3VybmV5VHlwZVwiLCBKb3VybmV5VHlwZSRyZWZsZWN0aW9uKCldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBDb21wbGV0ZVN0ZXBWMkNvbW1hbmRQYXlsb2FkIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihQcm9jZXNzSW5zdGFuY2VJZCwgUHJvY2Vzc1N0ZXBJZCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLlByb2Nlc3NJbnN0YW5jZUlkID0gUHJvY2Vzc0luc3RhbmNlSWQ7XG4gICAgICAgIHRoaXMuUHJvY2Vzc1N0ZXBJZCA9IFByb2Nlc3NTdGVwSWQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ29tcGxldGVTdGVwVjJDb21tYW5kUGF5bG9hZCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLkNvbXBsZXRlU3RlcFYyQ29tbWFuZFBheWxvYWRcIiwgW10sIENvbXBsZXRlU3RlcFYyQ29tbWFuZFBheWxvYWQsICgpID0+IFtbXCJQcm9jZXNzSW5zdGFuY2VJZFwiLCBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCldLCBbXCJQcm9jZXNzU3RlcElkXCIsIFByb2Nlc3NTdGVwSWQkcmVmbGVjdGlvbigpXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlRXZlbnQgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkNyZWF0ZWRcIiwgXCJDcmVhdGVkVjJcIiwgXCJUYWdzQWRkZWRcIiwgXCJBY3RpdmF0ZWRcIiwgXCJTdGVwQ29tcGxldGVkXCIsIFwiUGF5U2V0dXBQYWdlVmlld2VkXCIsIFwiUGF5U2V0dXBDb21wbGV0ZWRcIiwgXCJQYXlTZXR1cFJlc3VtZWRcIiwgXCJDb21wbGV0ZWRcIiwgXCJBYmFuZG9uZWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRXZlbnQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlByb2Nlc3NJbnN0YW5jZUV2ZW50XCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VFdmVudCwgKCkgPT4gW1tbXCJJdGVtXCIsIFByb2Nlc3NDb25maWckcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIENyZWF0ZWRWMlBheWxvYWQkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJZFwiLCBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCldLCBbXCJUYWdzXCIsIGxpc3RfdHlwZShUYWckcmVmbGVjdGlvbigpKV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJc0JlbmVmaXRzU3RlcEVuYWJsZWRcIiwgb3B0aW9uX3R5cGUoYm9vbF90eXBlKV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0pXV0sIFtbXCJJdGVtXCIsIHR1cGxlX3R5cGUoUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSldXSwgW1tcIkl0ZW1cIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV1dXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSW5zdGFuY2VJbnZpdGVFdmVudCBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiSW52aXRlQ3JlYXRlZFwiLCBcIlNlY29uZEZhY3RvckNvZGVJc3N1ZWRcIiwgXCJTZWNvbmRGYWN0b3JBdHRlbXB0ZWRcIiwgXCJTZWNvbmRGYWN0b3JTdWNjZWVkZWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlSW52aXRlRXZlbnQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlByb2Nlc3NJbnN0YW5jZUludml0ZUV2ZW50XCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VJbnZpdGVFdmVudCwgKCkgPT4gW1tbXCJJdGVtXCIsIHR1cGxlX3R5cGUoUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpLCBJbnZpdGVDb2RlJHJlZmxlY3Rpb24oKSwgb3B0aW9uX3R5cGUoSW52aXRlQnJhbmRpbmckcmVmbGVjdGlvbigpKSwgRW1haWxTZW5kT3B0aW9uJHJlZmxlY3Rpb24oKSldXSwgW1tcIkl0ZW1cIiwgdHVwbGVfdHlwZShQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCksIEludml0ZUNvZGUkcmVmbGVjdGlvbigpLCBTZWNvbmRGYWN0b3JDb2RlJHJlZmxlY3Rpb24oKSwgRW1haWxTZW5kT3B0aW9uJHJlZmxlY3Rpb24oKSldXSwgW1tcIkl0ZW1cIiwgdHVwbGVfdHlwZShQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCksIEludml0ZUNvZGUkcmVmbGVjdGlvbigpLCBTZWNvbmRGYWN0b3JDb2RlJHJlZmxlY3Rpb24oKSldXSwgW1tcIkl0ZW1cIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUV2ZW50TW9kdWxlX2dldEluc3RhbmNlSWQoX2FyZykge1xuICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCwgaWQ7XG4gICAgc3dpdGNoIChfYXJnLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAyO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gNDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNjoge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSA1O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDY7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gNztcbiAgICAgICAgICAgIGlkID0gX2FyZy5maWVsZHNbMF1bMF07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDg6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gNztcbiAgICAgICAgICAgIGlkID0gX2FyZy5maWVsZHNbMF07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDk6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gNztcbiAgICAgICAgICAgIGlkID0gX2FyZy5maWVsZHNbMF07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDB9XG4gICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCkge1xuICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gX2FyZy5maWVsZHNbMF0uSWQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gX2FyZy5maWVsZHNbMF0uSWQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gX2FyZy5maWVsZHNbMF0uUHJvY2Vzc0luc3RhbmNlSWQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICByZXR1cm4gX2FyZy5maWVsZHNbMF0uUHJvY2Vzc0luc3RhbmNlSWQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICByZXR1cm4gX2FyZy5maWVsZHNbMF0uUHJvY2Vzc0luc3RhbmNlSWQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICByZXR1cm4gX2FyZy5maWVsZHNbMF0uUHJvY2Vzc0luc3RhbmNlSWQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICByZXR1cm4gaWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VJbnZpdGVFdmVudE1vZHVsZV9nZXRJbnN0YW5jZUlkKF9hcmcpIHtcbiAgICBsZXQgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQsIGlkO1xuICAgIHN3aXRjaCAoX2FyZy50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDA7XG4gICAgICAgICAgICBpZCA9IF9hcmcuZmllbGRzWzBdWzBdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDA7XG4gICAgICAgICAgICBpZCA9IF9hcmcuZmllbGRzWzBdWzBdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDA7XG4gICAgICAgICAgICBpZCA9IF9hcmcuZmllbGRzWzBdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgaWQgPSBfYXJnLmZpZWxkc1swXVswXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2ggKHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0KSB7XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50IGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJJbnN0YW5jZUV2ZW50XCIsIFwiSW5zdGFuY2VJbnZpdGVFdmVudFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudFwiLCBbXSwgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50LCAoKSA9PiBbW1tcIkl0ZW1cIiwgUHJvY2Vzc0luc3RhbmNlRXZlbnQkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIFByb2Nlc3NJbnN0YW5jZUludml0ZUV2ZW50JHJlZmxlY3Rpb24oKV1dXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnRNb2R1bGVfZ2V0UHJvY2Vzc0luc3RhbmNlSWQoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBQcm9jZXNzSW5zdGFuY2VJbnZpdGVFdmVudE1vZHVsZV9nZXRJbnN0YW5jZUlkKGV2ZW50LmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gUHJvY2Vzc0luc3RhbmNlRXZlbnRNb2R1bGVfZ2V0SW5zdGFuY2VJZChldmVudC5maWVsZHNbMF0pO1xuICAgIH1cbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\n");
|
|
52
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $007CProcessInstanceId$007C: () => (/* binding */ $007CProcessInstanceId$007C),\n/* harmony export */ ActiveProcessInstance: () => (/* binding */ ActiveProcessInstance),\n/* harmony export */ ActiveProcessInstance$reflection: () => (/* binding */ ActiveProcessInstance$reflection),\n/* harmony export */ CompleteStepV2CommandPayload: () => (/* binding */ CompleteStepV2CommandPayload),\n/* harmony export */ CompleteStepV2CommandPayload$reflection: () => (/* binding */ CompleteStepV2CommandPayload$reflection),\n/* harmony export */ CreateV2CommandPayload: () => (/* binding */ CreateV2CommandPayload),\n/* harmony export */ CreateV2CommandPayload$reflection: () => (/* binding */ CreateV2CommandPayload$reflection),\n/* harmony export */ CreatedV2Payload: () => (/* binding */ CreatedV2Payload),\n/* harmony export */ CreatedV2Payload$reflection: () => (/* binding */ CreatedV2Payload$reflection),\n/* harmony export */ CreationData_$007CProfile$007C: () => (/* binding */ CreationData_$007CProfile$007C),\n/* harmony export */ CreationData_Creator: () => (/* binding */ CreationData_Creator),\n/* harmony export */ CreationData_Creator$reflection: () => (/* binding */ CreationData_Creator$reflection),\n/* harmony export */ CreationData_Profile: () => (/* binding */ CreationData_Profile),\n/* harmony export */ CreationData_Profile$reflection: () => (/* binding */ CreationData_Profile$reflection),\n/* harmony export */ CreationData_ProfileModule_create: () => (/* binding */ CreationData_ProfileModule_create),\n/* harmony export */ CreationData_ProfileModule_value: () => (/* binding */ CreationData_ProfileModule_value),\n/* harmony export */ CreationData_ProfileName: () => (/* binding */ CreationData_ProfileName),\n/* harmony export */ CreationData_ProfileName$reflection: () => (/* binding */ CreationData_ProfileName$reflection),\n/* harmony export */ JourneyType: () => (/* binding */ JourneyType),\n/* harmony export */ JourneyType$reflection: () => (/* binding */ JourneyType$reflection),\n/* harmony export */ JourneyTypeDetails: () => (/* binding */ JourneyTypeDetails),\n/* harmony export */ JourneyTypeDetails$reflection: () => (/* binding */ JourneyTypeDetails$reflection),\n/* harmony export */ JourneyTypeDetails_get_Default: () => (/* binding */ JourneyTypeDetails_get_Default),\n/* harmony export */ JourneyType_GetDefault: () => (/* binding */ JourneyType_GetDefault),\n/* harmony export */ JourneyType_GetValueOrDefault_512ECC11: () => (/* binding */ JourneyType_GetValueOrDefault_512ECC11),\n/* harmony export */ JourneyType__GetName: () => (/* binding */ JourneyType__GetName),\n/* harmony export */ Metadata_createNew: () => (/* binding */ Metadata_createNew),\n/* harmony export */ ProcessConfig: () => (/* binding */ ProcessConfig),\n/* harmony export */ ProcessConfig$reflection: () => (/* binding */ ProcessConfig$reflection),\n/* harmony export */ ProcessConfigId: () => (/* binding */ ProcessConfigId),\n/* harmony export */ ProcessConfigId$reflection: () => (/* binding */ ProcessConfigId$reflection),\n/* harmony export */ ProcessConfigIdModule_tryCreate: () => (/* binding */ ProcessConfigIdModule_tryCreate),\n/* harmony export */ ProcessConfigIdModule_value: () => (/* binding */ ProcessConfigIdModule_value),\n/* harmony export */ ProcessConfigModule_BsConfiguration: () => (/* binding */ ProcessConfigModule_BsConfiguration),\n/* harmony export */ ProcessConfigModule_DefaultConfiguration: () => (/* binding */ ProcessConfigModule_DefaultConfiguration),\n/* harmony export */ ProcessConfigModule_DiscreteBenefitsConfiguration: () => (/* binding */ ProcessConfigModule_DiscreteBenefitsConfiguration),\n/* harmony export */ ProcessConfigModule_PbaConfiguration: () => (/* binding */ ProcessConfigModule_PbaConfiguration),\n/* harmony export */ ProcessConfigModule_PbtsConfiguration: () => (/* binding */ ProcessConfigModule_PbtsConfiguration),\n/* harmony export */ ProcessConfigModule_PbtspoIdConfiguration: () => (/* binding */ ProcessConfigModule_PbtspoIdConfiguration),\n/* harmony export */ ProcessConfigModule_PebsConfiguration: () => (/* binding */ ProcessConfigModule_PebsConfiguration),\n/* harmony export */ ProcessConfigModule_PebspoConfiguration: () => (/* binding */ ProcessConfigModule_PebspoConfiguration),\n/* harmony export */ ProcessConfigModule_PebtsConfiguration: () => (/* binding */ ProcessConfigModule_PebtsConfiguration),\n/* harmony export */ ProcessConfigModule_PebtspoConfiguration: () => (/* binding */ ProcessConfigModule_PebtspoConfiguration),\n/* harmony export */ ProcessConfigModule_PesConfiguration: () => (/* binding */ ProcessConfigModule_PesConfiguration),\n/* harmony export */ ProcessConfigModule_PespoConfiguration: () => (/* binding */ ProcessConfigModule_PespoConfiguration),\n/* harmony export */ ProcessConfigModule_PetsConfiguration: () => (/* binding */ ProcessConfigModule_PetsConfiguration),\n/* harmony export */ ProcessConfigModule_PetspoConfiguration: () => (/* binding */ ProcessConfigModule_PetspoConfiguration),\n/* harmony export */ ProcessConfigModule_PsConfiguration: () => (/* binding */ ProcessConfigModule_PsConfiguration),\n/* harmony export */ ProcessConfigModule_SuperOnlyConfiguration: () => (/* binding */ ProcessConfigModule_SuperOnlyConfiguration),\n/* harmony export */ ProcessConfigModule_TaxOnlyConfiguration: () => (/* binding */ ProcessConfigModule_TaxOnlyConfiguration),\n/* harmony export */ ProcessConfigModule_configs: () => (/* binding */ ProcessConfigModule_configs),\n/* harmony export */ ProcessConfigModule_get: () => (/* binding */ ProcessConfigModule_get),\n/* harmony export */ ProcessConfigModule_requiresFullProfile: () => (/* binding */ ProcessConfigModule_requiresFullProfile),\n/* harmony export */ ProcessConfig__IsJourneyTypeAllowedOnThisConfiguration_Z1F9469: () => (/* binding */ ProcessConfig__IsJourneyTypeAllowedOnThisConfiguration_Z1F9469),\n/* harmony export */ ProcessConfig__get_IncludesDiscreteBenefitsStep: () => (/* binding */ ProcessConfig__get_IncludesDiscreteBenefitsStep),\n/* harmony export */ ProcessConfig__get_IsPaySetupCompatible: () => (/* binding */ ProcessConfig__get_IsPaySetupCompatible),\n/* harmony export */ ProcessInstance: () => (/* binding */ ProcessInstance),\n/* harmony export */ ProcessInstance$reflection: () => (/* binding */ ProcessInstance$reflection),\n/* harmony export */ ProcessInstanceCommand: () => (/* binding */ ProcessInstanceCommand),\n/* harmony export */ ProcessInstanceCommand$reflection: () => (/* binding */ ProcessInstanceCommand$reflection),\n/* harmony export */ ProcessInstanceEvent: () => (/* binding */ ProcessInstanceEvent),\n/* harmony export */ ProcessInstanceEvent$reflection: () => (/* binding */ ProcessInstanceEvent$reflection),\n/* harmony export */ ProcessInstanceEventModule_getInstanceId: () => (/* binding */ ProcessInstanceEventModule_getInstanceId),\n/* harmony export */ ProcessInstanceId: () => (/* binding */ ProcessInstanceId),\n/* harmony export */ ProcessInstanceId$reflection: () => (/* binding */ ProcessInstanceId$reflection),\n/* harmony export */ ProcessInstanceIdModule_create: () => (/* binding */ ProcessInstanceIdModule_create),\n/* harmony export */ ProcessInstanceIdModule_decrement: () => (/* binding */ ProcessInstanceIdModule_decrement),\n/* harmony export */ ProcessInstanceIdModule_increment: () => (/* binding */ ProcessInstanceIdModule_increment),\n/* harmony export */ ProcessInstanceIdModule_value: () => (/* binding */ ProcessInstanceIdModule_value),\n/* harmony export */ ProcessInstanceInviteEvent: () => (/* binding */ ProcessInstanceInviteEvent),\n/* harmony export */ ProcessInstanceInviteEvent$reflection: () => (/* binding */ ProcessInstanceInviteEvent$reflection),\n/* harmony export */ ProcessInstanceInviteEventModule_getInstanceId: () => (/* binding */ ProcessInstanceInviteEventModule_getInstanceId),\n/* harmony export */ ProcessInstanceList: () => (/* binding */ ProcessInstanceList),\n/* harmony export */ ProcessInstanceList$reflection: () => (/* binding */ ProcessInstanceList$reflection),\n/* harmony export */ ProcessInstanceListEvent: () => (/* binding */ ProcessInstanceListEvent),\n/* harmony export */ ProcessInstanceListEvent$reflection: () => (/* binding */ ProcessInstanceListEvent$reflection),\n/* harmony export */ ProcessInstanceListEventModule_getProcessInstanceId: () => (/* binding */ ProcessInstanceListEventModule_getProcessInstanceId),\n/* harmony export */ ProcessInstanceListMetadata: () => (/* binding */ ProcessInstanceListMetadata),\n/* harmony export */ ProcessInstanceListMetadata$reflection: () => (/* binding */ ProcessInstanceListMetadata$reflection),\n/* harmony export */ ProcessInstanceListModule_create: () => (/* binding */ ProcessInstanceListModule_create),\n/* harmony export */ ProcessInstanceListModule_createProcessInstance: () => (/* binding */ ProcessInstanceListModule_createProcessInstance),\n/* harmony export */ ProcessInstanceListModule_findInProgressInstance: () => (/* binding */ ProcessInstanceListModule_findInProgressInstance),\n/* harmony export */ ProcessInstanceListModule_getIncompleteProcessInstance: () => (/* binding */ ProcessInstanceListModule_getIncompleteProcessInstance),\n/* harmony export */ ProcessInstanceListModule_getLatestInstanceId: () => (/* binding */ ProcessInstanceListModule_getLatestInstanceId),\n/* harmony export */ ProcessInstanceListModule_getLatestProcessInstance: () => (/* binding */ ProcessInstanceListModule_getLatestProcessInstance),\n/* harmony export */ ProcessInstanceListModule_getProcessInstance: () => (/* binding */ ProcessInstanceListModule_getProcessInstance),\n/* harmony export */ ProcessInstanceListModule_incrementVersion: () => (/* binding */ ProcessInstanceListModule_incrementVersion),\n/* harmony export */ ProcessInstanceListModule_markUpdated: () => (/* binding */ ProcessInstanceListModule_markUpdated),\n/* harmony export */ ProcessInstanceListModule_tryGetLatestProcessInstance: () => (/* binding */ ProcessInstanceListModule_tryGetLatestProcessInstance),\n/* harmony export */ ProcessInstanceListModule_tryGetProcessInstance: () => (/* binding */ ProcessInstanceListModule_tryGetProcessInstance),\n/* harmony export */ ProcessInstanceModule_canActivate: () => (/* binding */ ProcessInstanceModule_canActivate),\n/* harmony export */ ProcessInstanceModule_create: () => (/* binding */ ProcessInstanceModule_create),\n/* harmony export */ ProcessInstanceModule_dateFallsWithinLifetimeOfInstance: () => (/* binding */ ProcessInstanceModule_dateFallsWithinLifetimeOfInstance),\n/* harmony export */ ProcessInstanceModule_getCompletedSteps: () => (/* binding */ ProcessInstanceModule_getCompletedSteps),\n/* harmony export */ ProcessInstanceModule_getCurrentStep: () => (/* binding */ ProcessInstanceModule_getCurrentStep),\n/* harmony export */ ProcessInstanceModule_getProcessConfig: () => (/* binding */ ProcessInstanceModule_getProcessConfig),\n/* harmony export */ ProcessInstanceModule_getProcessConfigByTagName: () => (/* binding */ ProcessInstanceModule_getProcessConfigByTagName),\n/* harmony export */ ProcessInstanceModule_isActiveAndAllStepsAreCompleted: () => (/* binding */ ProcessInstanceModule_isActiveAndAllStepsAreCompleted),\n/* harmony export */ ProcessInstanceModule_isComplete: () => (/* binding */ ProcessInstanceModule_isComplete),\n/* harmony export */ ProcessInstanceStatus: () => (/* binding */ ProcessInstanceStatus),\n/* harmony export */ ProcessInstanceStatus$reflection: () => (/* binding */ ProcessInstanceStatus$reflection),\n/* harmony export */ ProcessInstanceStatusModule_isActive: () => (/* binding */ ProcessInstanceStatusModule_isActive),\n/* harmony export */ ProcessInstanceStatusModule_isComplete: () => (/* binding */ ProcessInstanceStatusModule_isComplete),\n/* harmony export */ ProcessInstanceStatusModule_isInProgress: () => (/* binding */ ProcessInstanceStatusModule_isInProgress),\n/* harmony export */ ProcessStepConfig: () => (/* binding */ ProcessStepConfig),\n/* harmony export */ ProcessStepConfig$reflection: () => (/* binding */ ProcessStepConfig$reflection),\n/* harmony export */ ProcessStepConfigModule_BankStep: () => (/* binding */ ProcessStepConfigModule_BankStep),\n/* harmony export */ ProcessStepConfigModule_BenefitsOnboardingStep: () => (/* binding */ ProcessStepConfigModule_BenefitsOnboardingStep),\n/* harmony export */ ProcessStepConfigModule_BenefitsOnboardingStepId: () => (/* binding */ ProcessStepConfigModule_BenefitsOnboardingStepId),\n/* harmony export */ ProcessStepConfigModule_DiscreteBenefitsStep: () => (/* binding */ ProcessStepConfigModule_DiscreteBenefitsStep),\n/* harmony export */ ProcessStepConfigModule_EmergencyContactsStep: () => (/* binding */ ProcessStepConfigModule_EmergencyContactsStep),\n/* harmony export */ ProcessStepConfigModule_PersonalDetailsStep: () => (/* binding */ ProcessStepConfigModule_PersonalDetailsStep),\n/* harmony export */ ProcessStepConfigModule_SuperStep: () => (/* binding */ ProcessStepConfigModule_SuperStep),\n/* harmony export */ ProcessStepConfigModule_TaxStep: () => (/* binding */ ProcessStepConfigModule_TaxStep),\n/* harmony export */ ProcessStepConfigModule_WorkplaceLinkingStep: () => (/* binding */ ProcessStepConfigModule_WorkplaceLinkingStep),\n/* harmony export */ ProcessStepConfigModule_WorkplacePoliciesStep: () => (/* binding */ ProcessStepConfigModule_WorkplacePoliciesStep),\n/* harmony export */ ProcessStepId: () => (/* binding */ ProcessStepId),\n/* harmony export */ ProcessStepId$reflection: () => (/* binding */ ProcessStepId$reflection),\n/* harmony export */ ProcessStepIdModule_create: () => (/* binding */ ProcessStepIdModule_create),\n/* harmony export */ ProcessStepIdModule_value: () => (/* binding */ ProcessStepIdModule_value),\n/* harmony export */ ShowOptions: () => (/* binding */ ShowOptions),\n/* harmony export */ ShowOptions$reflection: () => (/* binding */ ShowOptions$reflection),\n/* harmony export */ StepsConfiguration: () => (/* binding */ StepsConfiguration),\n/* harmony export */ StepsConfiguration$reflection: () => (/* binding */ StepsConfiguration$reflection),\n/* harmony export */ Tag: () => (/* binding */ Tag),\n/* harmony export */ Tag$reflection: () => (/* binding */ Tag$reflection),\n/* harmony export */ TagModule_create: () => (/* binding */ TagModule_create),\n/* harmony export */ TagName: () => (/* binding */ TagName),\n/* harmony export */ TagName$reflection: () => (/* binding */ TagName$reflection),\n/* harmony export */ TagNameModule_create: () => (/* binding */ TagNameModule_create),\n/* harmony export */ TagNameModule_value: () => (/* binding */ TagNameModule_value),\n/* harmony export */ TagValue: () => (/* binding */ TagValue),\n/* harmony export */ TagValue$reflection: () => (/* binding */ TagValue$reflection),\n/* harmony export */ TagValueModule_create: () => (/* binding */ TagValueModule_create),\n/* harmony export */ TagValueModule_value: () => (/* binding */ TagValueModule_value)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Guid.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Guid.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_MutableMap_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MutableMap.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MutableMap.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MapUtil.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MapUtil.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Seq.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Seq.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n/* harmony import */ var _Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Invite/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Domain.fs.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Date.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Date.js\");\n/* harmony import */ var _DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../DomainPrimitives.fs.js */ \"../Workflows.Business/DomainPrimitives.fs.js\");\n/* harmony import */ var _Utils_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils.fs.js */ \"../Workflows.Business/Utils.fs.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass ProcessStepId extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ProcessStepId\"];\n }\n}\n\nfunction ProcessStepId$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessStepId\", [], ProcessStepId, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]]);\n}\n\nclass ProcessStepConfig extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, DisplayName, ComponentTagName) {\n super();\n this.Id = Id;\n this.DisplayName = DisplayName;\n this.ComponentTagName = ComponentTagName;\n }\n}\n\nfunction ProcessStepConfig$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessStepConfig\", [], ProcessStepConfig, () => [[\"Id\", ProcessStepId$reflection()], [\"DisplayName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"ComponentTagName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]);\n}\n\nconst ProcessStepConfigModule_PersonalDetailsStep = new ProcessStepConfig(new ProcessStepId(0, \"personal-details\"), \"Personal Details\", \"apollo-personal-details-app\");\n\nconst ProcessStepConfigModule_EmergencyContactsStep = new ProcessStepConfig(new ProcessStepId(0, \"emergency-contacts\"), \"Emergency Contacts\", \"apollo-emergency-contacts-app\");\n\nconst ProcessStepConfigModule_BankStep = new ProcessStepConfig(new ProcessStepId(0, \"bank\"), \"Bank\", \"bank-component\");\n\nconst ProcessStepConfigModule_TaxStep = new ProcessStepConfig(new ProcessStepId(0, \"tax\"), \"Tax\", \"tax-component\");\n\nconst ProcessStepConfigModule_SuperStep = new ProcessStepConfig(new ProcessStepId(0, \"super\"), \"Super\", \"super-selection-app\");\n\nconst ProcessStepConfigModule_WorkplaceLinkingStep = new ProcessStepConfig(new ProcessStepId(0, \"app-workplace-linking\"), \"App Workplace Linking\", \"workplace-link\");\n\nconst ProcessStepConfigModule_BenefitsOnboardingStepId = new ProcessStepId(0, \"benefits-onboarding\");\n\nconst ProcessStepConfigModule_BenefitsOnboardingStep = new ProcessStepConfig(ProcessStepConfigModule_BenefitsOnboardingStepId, \"Benefits\", \"benefits-onboarding\");\n\nconst ProcessStepConfigModule_WorkplacePoliciesStep = new ProcessStepConfig(new ProcessStepId(0, \"workplace-policy\"), \"Workplace-policy\", \"apollo-workplace-policies-app\");\n\nconst ProcessStepConfigModule_DiscreteBenefitsStep = new ProcessStepConfig(new ProcessStepId(0, \"Benefits-Discrete\"), \"Benefits\", \"benefits-onboarding\");\n\nfunction ProcessStepIdModule_create(arg) {\n return new ProcessStepId(0, arg);\n}\n\nfunction ProcessStepIdModule_value(_arg) {\n return _arg.fields[0];\n}\n\nclass ProcessConfigId extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ProcessConfigId\"];\n }\n}\n\nfunction ProcessConfigId$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessConfigId\", [], ProcessConfigId, () => [[[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.Guid\")]]]);\n}\n\nclass ProcessConfig extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Name, Steps) {\n super();\n this.Id = Id;\n this.Name = Name;\n this.Steps = Steps;\n }\n}\n\nfunction ProcessConfig$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessConfig\", [], ProcessConfig, () => [[\"Id\", ProcessConfigId$reflection()], [\"Name\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"Steps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(ProcessStepConfig$reflection())]]);\n}\n\nconst ProcessConfigModule_DefaultConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000000\")), \"onboarding-default\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PebtsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000001\")), \"PEBTS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000002\")), \"PS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_BsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000003\")), \"BS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_BankStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_SuperOnlyConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000004\")), \"Super\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(ProcessStepConfigModule_SuperStep));\n\nconst ProcessConfigModule_PbaConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0001-000000000000\")), \"App Workplace Linking\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(ProcessStepConfigModule_WorkplaceLinkingStep));\n\nconst ProcessConfigModule_TaxOnlyConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000005\")), \"Tax\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(ProcessStepConfigModule_TaxStep));\n\nconst ProcessConfigModule_PbtsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000006\")), \"PBTS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PebtspoConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000007\")), \"PEBTSPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_PebspoConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000008\")), \"PEBSPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_PespoConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000009\")), \"PESPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_PetspoConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000010\")), \"PETSPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_DiscreteBenefitsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0002-000000000000\")), \"Bo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(ProcessStepConfigModule_DiscreteBenefitsStep));\n\nconst ProcessConfigModule_PetsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000011\")), \"PETS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PebsConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000012\")), \"PEBS\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PesConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000013\")), \"PES\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_EmergencyContactsStep, ProcessStepConfigModule_SuperStep]));\n\nconst ProcessConfigModule_PbtspoIdConfiguration = new ProcessConfig(new ProcessConfigId(0, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_6__.parse)(\"00000000-0000-0000-0000-000000000014\")), \"PBTSPo\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessStepConfigModule_PersonalDetailsStep, ProcessStepConfigModule_BankStep, ProcessStepConfigModule_TaxStep, ProcessStepConfigModule_SuperStep, ProcessStepConfigModule_WorkplacePoliciesStep]));\n\nconst ProcessConfigModule_configs = new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_MutableMap_js__WEBPACK_IMPORTED_MODULE_8__.Dictionary([[ProcessConfigModule_DefaultConfiguration.Id, ProcessConfigModule_DefaultConfiguration], [ProcessConfigModule_PebtsConfiguration.Id, ProcessConfigModule_PebtsConfiguration], [ProcessConfigModule_PsConfiguration.Id, ProcessConfigModule_PsConfiguration], [ProcessConfigModule_BsConfiguration.Id, ProcessConfigModule_BsConfiguration], [ProcessConfigModule_SuperOnlyConfiguration.Id, ProcessConfigModule_SuperOnlyConfiguration], [ProcessConfigModule_PbaConfiguration.Id, ProcessConfigModule_PbaConfiguration], [ProcessConfigModule_TaxOnlyConfiguration.Id, ProcessConfigModule_TaxOnlyConfiguration], [ProcessConfigModule_PbtsConfiguration.Id, ProcessConfigModule_PbtsConfiguration], [ProcessConfigModule_PebtspoConfiguration.Id, ProcessConfigModule_PebtspoConfiguration], [ProcessConfigModule_PebspoConfiguration.Id, ProcessConfigModule_PebspoConfiguration], [ProcessConfigModule_PespoConfiguration.Id, ProcessConfigModule_PespoConfiguration], [ProcessConfigModule_PetspoConfiguration.Id, ProcessConfigModule_PetspoConfiguration], [ProcessConfigModule_DiscreteBenefitsConfiguration.Id, ProcessConfigModule_DiscreteBenefitsConfiguration], [ProcessConfigModule_PetsConfiguration.Id, ProcessConfigModule_PetsConfiguration], [ProcessConfigModule_PebsConfiguration.Id, ProcessConfigModule_PebsConfiguration], [ProcessConfigModule_PesConfiguration.Id, ProcessConfigModule_PesConfiguration], [ProcessConfigModule_PbtspoIdConfiguration.Id, ProcessConfigModule_PbtspoIdConfiguration]], {\n Equals: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals,\n GetHashCode: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.safeHash,\n});\n\nfunction ProcessConfigModule_get(configId) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_10__.getItemFromDict)(ProcessConfigModule_configs, configId);\n}\n\nfunction ProcessConfigModule_requiresFullProfile(configId) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.contains)(configId, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.ofArray)([ProcessConfigModule_DefaultConfiguration.Id, ProcessConfigModule_BsConfiguration.Id, ProcessConfigModule_SuperOnlyConfiguration.Id, ProcessConfigModule_TaxOnlyConfiguration.Id]), {\n Equals: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals,\n GetHashCode: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.safeHash,\n });\n}\n\nfunction ProcessConfig__get_IncludesDiscreteBenefitsStep(this$) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((step) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(step.Id, ProcessStepConfigModule_DiscreteBenefitsStep.Id), this$.Steps) != null;\n}\n\nfunction ProcessConfig__get_IsPaySetupCompatible(this$) {\n if (!(0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(this$, ProcessConfigModule_DiscreteBenefitsConfiguration)) {\n return !(0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(this$, ProcessConfigModule_PbaConfiguration);\n }\n else {\n return false;\n }\n}\n\nfunction ProcessConfigIdModule_tryCreate(guid) {\n const matchValue = new ProcessConfigId(0, guid);\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.contains)(matchValue, ProcessConfigModule_configs.keys(), {\n Equals: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals,\n GetHashCode: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.safeHash,\n })) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, matchValue);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.interpolate)(\"Invalid Type %A%P()\", [guid])));\n }\n}\n\nfunction ProcessConfigIdModule_value(_arg) {\n return _arg.fields[0];\n}\n\nclass ActiveProcessInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(ActivatedDates, CompletedSteps) {\n super();\n this.ActivatedDates = ActivatedDates;\n this.CompletedSteps = CompletedSteps;\n }\n}\n\nfunction ActiveProcessInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ActiveProcessInstance\", [], ActiveProcessInstance, () => [[\"ActivatedDates\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\"))], [\"CompletedSteps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessStepId$reflection(), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")))]]);\n}\n\nclass ProcessInstanceStatus extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Inactive\", \"Active\", \"Complete\", \"Abandoned\"];\n }\n}\n\nfunction ProcessInstanceStatus$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceStatus\", [], ProcessInstanceStatus, () => [[], [[\"Item\", ActiveProcessInstance$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")]]]);\n}\n\nfunction ProcessInstanceStatusModule_isInProgress(_arg) {\n switch (_arg.tag) {\n case 0:\n case 1: {\n return true;\n }\n default: {\n return false;\n }\n }\n}\n\nfunction ProcessInstanceStatusModule_isActive(_arg) {\n if (_arg.tag === 1) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction ProcessInstanceStatusModule_isComplete(_arg) {\n if (_arg.tag === 2) {\n return true;\n }\n else {\n return false;\n }\n}\n\nclass ProcessInstanceId extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ProcessInstanceId\"];\n }\n}\n\nfunction ProcessInstanceId$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceId\", [], ProcessInstanceId, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.int32_type]]]);\n}\n\nfunction ProcessInstanceIdModule_create(arg) {\n return new ProcessInstanceId(0, arg);\n}\n\nfunction ProcessInstanceIdModule_value(_arg) {\n return _arg.fields[0];\n}\n\nfunction ProcessInstanceIdModule_increment(processInstanceId) {\n return ProcessInstanceIdModule_create(ProcessInstanceIdModule_value(processInstanceId) + 1);\n}\n\nfunction ProcessInstanceIdModule_decrement(processInstanceId) {\n return ProcessInstanceIdModule_create(ProcessInstanceIdModule_value(processInstanceId) - 1);\n}\n\nconst $007CProcessInstanceId$007C = ProcessInstanceIdModule_value;\n\nclass Tag extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Name, Value) {\n super();\n this.Name = Name;\n this.Value = Value;\n }\n}\n\nfunction Tag$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.Tag\", [], Tag, () => [[\"Name\", TagName$reflection()], [\"Value\", TagValue$reflection()]]);\n}\n\nclass TagName extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"TagName\"];\n }\n}\n\nfunction TagName$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.TagName\", [], TagName, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]]);\n}\n\nclass TagValue extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"TagValue\"];\n }\n}\n\nfunction TagValue$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.TagValue\", [], TagValue, () => [[[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]]);\n}\n\nfunction TagNameModule_create(tagName) {\n const matchValue = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.isNullOrWhiteSpace)(tagName);\n if (matchValue) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"Tag name is empty\");\n }\n else if (tagName.length < 100) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new TagName(0, tagName));\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"Tag name is too long\");\n }\n}\n\nfunction TagNameModule_value(_arg) {\n return _arg.fields[0];\n}\n\nfunction TagValueModule_create(tagValue) {\n const matchValue = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.isNullOrWhiteSpace)(tagValue);\n if (matchValue) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"Tag value is empty\");\n }\n else if (tagValue.length < 100) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new TagValue(0, tagValue));\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"Tag value is too long\");\n }\n}\n\nfunction TagValueModule_value(_arg) {\n return _arg.fields[0];\n}\n\nfunction TagModule_create(name, value) {\n const input_2 = TagNameModule_create(name);\n if (input_2.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, input_2.fields[0]);\n }\n else {\n const input = TagValueModule_create(value);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new Tag(input_2.fields[0], input.fields[0]));\n }\n }\n}\n\nclass ProcessInstance extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Configuration, DateCreated, Status, Invite, Tags, Creator, StepsConfiguration, JourneyType, IsBenefitsStepEnabled, PaySetupComplete) {\n super();\n this.Id = Id;\n this.Configuration = Configuration;\n this.DateCreated = DateCreated;\n this.Status = Status;\n this.Invite = Invite;\n this.Tags = Tags;\n this.Creator = Creator;\n this.StepsConfiguration = StepsConfiguration;\n this.JourneyType = JourneyType;\n this.IsBenefitsStepEnabled = IsBenefitsStepEnabled;\n this.PaySetupComplete = PaySetupComplete;\n }\n}\n\nfunction ProcessInstance$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstance\", [], ProcessInstance, () => [[\"Id\", ProcessInstanceId$reflection()], [\"Configuration\", ProcessConfig$reflection()], [\"DateCreated\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.class_type)(\"System.DateTime\")], [\"Status\", ProcessInstanceStatus$reflection()], [\"Invite\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.Invite$reflection)())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection()))], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileId$reflection)())], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(StepsConfiguration$reflection())], [\"JourneyType\", JourneyType$reflection()], [\"IsBenefitsStepEnabled\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type)], [\"PaySetupComplete\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type)]]);\n}\n\nclass StepsConfiguration extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(BenefitsOnboarding) {\n super();\n this.BenefitsOnboarding = BenefitsOnboarding;\n }\n}\n\nfunction StepsConfiguration$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.StepsConfiguration\", [], StepsConfiguration, () => [[\"BenefitsOnboarding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Show\", ShowOptions$reflection()]))]]);\n}\n\nclass JourneyType extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Default\", \"InfoRequest\", \"AppInvite\", \"BenefitsExisting\", \"BenefitsOnboarding\"];\n }\n}\n\nfunction JourneyType$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.JourneyType\", [], JourneyType, () => [[[\"Item\", JourneyTypeDetails$reflection()]], [[\"Item\", JourneyTypeDetails$reflection()]], [[\"Item\", JourneyTypeDetails$reflection()]], [[\"Item\", JourneyTypeDetails$reflection()]], [[\"Item\", JourneyTypeDetails$reflection()]]]);\n}\n\nclass JourneyTypeDetails extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Category) {\n super();\n this.Category = Category;\n }\n}\n\nfunction JourneyTypeDetails$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.JourneyTypeDetails\", [], JourneyTypeDetails, () => [[\"Category\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)]]);\n}\n\nclass ShowOptions extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"WhenEnabled\", \"Always\"];\n }\n}\n\nfunction ShowOptions$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ShowOptions\", [], ShowOptions, () => [[], []]);\n}\n\nfunction JourneyType_GetDefault() {\n return new JourneyType(0, JourneyTypeDetails_get_Default());\n}\n\nfunction JourneyType_GetValueOrDefault_512ECC11(journeyType, processConfigId) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_14__.defaultArg)(journeyType, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(processConfigId, ProcessConfigModule_DiscreteBenefitsConfiguration.Id) ? (new JourneyType(4, JourneyTypeDetails_get_Default())) : JourneyType_GetDefault());\n}\n\nfunction JourneyType__GetName(this$) {\n switch (this$.tag) {\n case 1: {\n return \"InfoRequest\";\n }\n case 2: {\n return \"AppInvite\";\n }\n case 3: {\n return \"BenefitsExisting\";\n }\n case 4: {\n return \"BenefitsOnboarding\";\n }\n default: {\n return \"Default\";\n }\n }\n}\n\nfunction JourneyTypeDetails_get_Default() {\n return new JourneyTypeDetails(void 0);\n}\n\nfunction ProcessConfig__IsJourneyTypeAllowedOnThisConfiguration_Z1F9469(this$, journeyType) {\n const matchValue = [journeyType, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(this$.Id, ProcessConfigModule_DiscreteBenefitsConfiguration.Id)];\n let pattern_matching_result;\n if (matchValue[0].tag === 3) {\n if (matchValue[1]) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 2;\n }\n }\n else if (matchValue[0].tag === 4) {\n if (matchValue[1]) {\n pattern_matching_result = 0;\n }\n else {\n pattern_matching_result = 2;\n }\n }\n else if (matchValue[1]) {\n pattern_matching_result = 1;\n }\n else {\n pattern_matching_result = 3;\n }\n switch (pattern_matching_result) {\n case 0: {\n return true;\n }\n case 1: {\n return false;\n }\n case 2: {\n return false;\n }\n case 3: {\n return true;\n }\n }\n}\n\nfunction ProcessInstanceModule_create(id, configuration, tags, creator, dateCreated, stepsConfiguration, journeyType) {\n const matchValue = ProcessConfig__IsJourneyTypeAllowedOnThisConfiguration_Z1F9469(configuration, journeyType);\n if (matchValue) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new ProcessInstance(id, configuration, dateCreated, new ProcessInstanceStatus(0), void 0, tags, creator, stepsConfiguration, journeyType, void 0, void 0));\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, `JourneyType:${JourneyType__GetName(journeyType)} is not allowed for this workflow type`);\n }\n}\n\nfunction ProcessInstanceModule_canActivate(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 0: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, void 0);\n }\n case 2: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"ProcessInstance is Complete.\");\n }\n case 3: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, \"ProcessInstance is Abandoned.\");\n }\n default: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, void 0);\n }\n }\n}\n\nfunction ProcessInstanceModule_getProcessConfig(stepId, instance) {\n const option = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((step) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(step.Id, stepId), instance.Configuration.Steps);\n const error = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.interpolate)(\"Invalid ProcessStep Id %A%P()\", [stepId]));\n const option_1 = option;\n if (option_1 == null) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, error);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, option_1);\n }\n}\n\nfunction ProcessInstanceModule_getProcessConfigByTagName(componentTagName, isBenefitsEnabled, instance) {\n const option = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((step) => ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.compare)(step.ComponentTagName, componentTagName, 5) === 0), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.toList)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.delay)(() => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.append)(instance.Configuration.Steps, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.delay)(() => (isBenefitsEnabled ? (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.singleton)(ProcessStepConfigModule_BenefitsOnboardingStep) : (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_11__.empty)()))))));\n const error = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.interpolate)(\"Invalid ComponentTagName %A%P()\", [componentTagName]));\n const option_1 = option;\n if (option_1 == null) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, error);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, option_1);\n }\n}\n\nfunction ProcessInstanceModule_getCurrentStep(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 0:\n case 2:\n case 3: {\n return void 0;\n }\n default: {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryHead)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.filter)((configuredStep) => (!(0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.exists)((tupledArg) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(configuredStep.Id, tupledArg[0]), matchValue.fields[0].CompletedSteps)), instance.Configuration.Steps));\n }\n }\n}\n\nfunction ProcessInstanceModule_getCompletedSteps(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 2: {\n return instance.Configuration.Steps;\n }\n case 3:\n case 0: {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.empty)();\n }\n default: {\n const stepIds = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.map)((tupledArg) => tupledArg[0], matchValue.fields[0].CompletedSteps);\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.filter)((step) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.contains)(step.Id, stepIds, {\n Equals: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals,\n GetHashCode: _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.safeHash,\n }), instance.Configuration.Steps);\n }\n }\n}\n\nfunction ProcessInstanceModule_isActiveAndAllStepsAreCompleted(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 2:\n case 3:\n case 0: {\n return false;\n }\n default: {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.length)(matchValue.fields[0].CompletedSteps) === (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.length)(instance.Configuration.Steps);\n }\n }\n}\n\nfunction ProcessInstanceModule_isComplete(instance) {\n if (instance.Status.tag === 2) {\n return true;\n }\n else {\n return false;\n }\n}\n\nfunction ProcessInstanceModule_dateFallsWithinLifetimeOfInstance(date, processInstance) {\n const matchValue = processInstance.Status;\n let pattern_matching_result, endDate;\n switch (matchValue.tag) {\n case 0: {\n pattern_matching_result = 0;\n break;\n }\n case 2: {\n pattern_matching_result = 1;\n endDate = matchValue.fields[0];\n break;\n }\n case 3: {\n pattern_matching_result = 1;\n endDate = matchValue.fields[0];\n break;\n }\n default: pattern_matching_result = 0}\n switch (pattern_matching_result) {\n case 0: {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_15__.compare)(processInstance.DateCreated, date) <= 0;\n }\n case 1: {\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_15__.compare)(processInstance.DateCreated, date) <= 0) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_15__.compare)(endDate, date) > 0;\n }\n else {\n return false;\n }\n }\n }\n}\n\nclass ProcessInstanceList extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Metadata, NextId, ProcessInstances) {\n super();\n this.Metadata = Metadata;\n this.NextId = NextId;\n this.ProcessInstances = ProcessInstances;\n }\n}\n\nfunction ProcessInstanceList$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceList\", [], ProcessInstanceList, () => [[\"Metadata\", (0,_DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__.Metadata$1$reflection)(ProcessInstanceListMetadata$reflection())], [\"NextId\", ProcessInstanceId$reflection()], [\"ProcessInstances\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(ProcessInstance$reflection())]]);\n}\n\nclass ProcessInstanceListMetadata extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(AccountId, ProfileId) {\n super();\n this.AccountId = AccountId;\n this.ProfileId = ProfileId;\n }\n}\n\nfunction ProcessInstanceListMetadata$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceListMetadata\", [], ProcessInstanceListMetadata, () => [[\"AccountId\", (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.AccountId$reflection)()], [\"ProfileId\", (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileId$reflection)()]]);\n}\n\nfunction Metadata_createNew(dateCreated, domainMetadata) {\n return (0,_DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__.Metadata_create)((0,_DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__.StreamIdModule_create)((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileIdModule_value)(domainMetadata.ProfileId)), 0, domainMetadata, dateCreated);\n}\n\nfunction ProcessInstanceListModule_create(metadata) {\n return new ProcessInstanceList(metadata, new ProcessInstanceId(0, 1), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.empty)());\n}\n\nfunction ProcessInstanceListModule_incrementVersion(delta, aggregate) {\n return new ProcessInstanceList((0,_DomainPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_2__.Metadata_incrementVersion)(delta, aggregate.Metadata), aggregate.NextId, aggregate.ProcessInstances);\n}\n\nfunction ProcessInstanceListModule_markUpdated(aggregate) {\n return ProcessInstanceListModule_incrementVersion(0, aggregate);\n}\n\nfunction ProcessInstanceListModule_findInProgressInstance(configId, journeyType, instanceList) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((instance) => {\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(instance.Configuration.Id, configId) && (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(instance.JourneyType, journeyType)) {\n return ProcessInstanceStatusModule_isInProgress(instance.Status);\n }\n else {\n return false;\n }\n }, instanceList.ProcessInstances);\n}\n\nfunction ProcessInstanceListModule_createProcessInstance(aggregate, id, configuration, tags, creator, dateCreated, stepsConfiguration, journeyType) {\n const input = ProcessInstanceModule_create(id, configuration, tags, creator, dateCreated, stepsConfiguration, journeyType);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, new ProcessInstanceList(aggregate.Metadata, ProcessInstanceIdModule_increment(id), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.append)(aggregate.ProcessInstances, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.singleton)(input.fields[0]))));\n }\n}\n\nfunction ProcessInstanceListModule_tryGetProcessInstance(aggregate, processInstanceId) {\n const option = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((processInstance) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(processInstance.Id, processInstanceId), aggregate.ProcessInstances);\n const error = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.interpolate)(\"Invalid ProcessInstance Id %A%P()\", [processInstanceId]));\n const option_1 = option;\n if (option_1 == null) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(1, error);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_12__.FSharpResult$2(0, option_1);\n }\n}\n\nfunction ProcessInstanceListModule_getLatestInstanceId(aggregate) {\n return ProcessInstanceIdModule_decrement(aggregate.NextId);\n}\n\nfunction ProcessInstanceListModule_tryGetLatestProcessInstance(aggregate) {\n return ProcessInstanceListModule_tryGetProcessInstance(aggregate, ProcessInstanceListModule_getLatestInstanceId(aggregate));\n}\n\nfunction ProcessInstanceListModule_getProcessInstance(aggregate, processInstanceId) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.find)((processInstance) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(processInstance.Id, processInstanceId), aggregate.ProcessInstances);\n}\n\nfunction ProcessInstanceListModule_getLatestProcessInstance(aggregate) {\n return ProcessInstanceListModule_getProcessInstance(aggregate, ProcessInstanceListModule_getLatestInstanceId(aggregate));\n}\n\nfunction ProcessInstanceListModule_getIncompleteProcessInstance(processConfigId, incompleteAsAtDate, aggregate) {\n const input_1 = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_7__.tryFind)((instance) => {\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_9__.equals)(instance.Configuration.Id, processConfigId)) {\n return ProcessInstanceModule_dateFallsWithinLifetimeOfInstance(incompleteAsAtDate, instance);\n }\n else {\n return false;\n }\n }, aggregate.ProcessInstances);\n if (input_1 == null) {\n return void 0;\n }\n else {\n const instance_1 = input_1;\n const matchValue = instance_1.Status;\n switch (matchValue.tag) {\n case 0: {\n return instance_1;\n }\n case 2:\n case 3: {\n return void 0;\n }\n default: {\n return instance_1;\n }\n }\n }\n}\n\nclass CreationData_ProfileName extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(FirstName, MiddleName, LastName) {\n super();\n this.FirstName = FirstName;\n this.MiddleName = MiddleName;\n this.LastName = LastName;\n }\n}\n\nfunction CreationData_ProfileName$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreationData.ProfileName\", [], CreationData_ProfileName, () => [[\"FirstName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"MiddleName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"LastName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]);\n}\n\nclass CreationData_Profile extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Profile\"];\n }\n}\n\nfunction CreationData_Profile$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreationData.Profile\", [], CreationData_Profile, () => [[[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Email\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type], [\"ExternalId\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"MobilePhone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type)], [\"Name\", CreationData_ProfileName$reflection()])]]]);\n}\n\nclass CreationData_Creator extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Name, Email) {\n super();\n this.Id = Id;\n this.Name = Name;\n this.Email = Email;\n }\n}\n\nfunction CreationData_Creator$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreationData.Creator\", [], CreationData_Creator, () => [[\"Id\", (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.ProfileId$reflection)()], [\"Name\", CreationData_ProfileName$reflection()], [\"Email\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.string_type]]);\n}\n\nfunction CreationData_ProfileModule_create(name, externalId, email, mobilePhone) {\n let input_1;\n return new CreationData_Profile(0, {\n Email: email,\n ExternalId: externalId,\n MobilePhone: (input_1 = mobilePhone, (input_1 == null) ? (void 0) : (0,_Utils_fs_js__WEBPACK_IMPORTED_MODULE_3__.Require_mobilePhone)(input_1)),\n Name: name,\n });\n}\n\nfunction CreationData_ProfileModule_value(_arg) {\n return _arg.fields[0];\n}\n\nconst CreationData_$007CProfile$007C = CreationData_ProfileModule_value;\n\nclass CreatedV2Payload extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Config, Profile, Creator, Tags, StepsConfiguration, JourneyType) {\n super();\n this.Id = Id;\n this.Config = Config;\n this.Profile = Profile;\n this.Creator = Creator;\n this.Tags = Tags;\n this.StepsConfiguration = StepsConfiguration;\n this.JourneyType = JourneyType;\n }\n}\n\nfunction CreatedV2Payload$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreatedV2Payload\", [], CreatedV2Payload, () => [[\"Id\", ProcessInstanceId$reflection()], [\"Config\", ProcessConfig$reflection()], [\"Profile\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(CreationData_Profile$reflection())], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(CreationData_Creator$reflection())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection()))], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(StepsConfiguration$reflection())], [\"JourneyType\", JourneyType$reflection()]]);\n}\n\nclass ProcessInstanceCommand extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CreateV2\", \"AddTags\", \"Activate\", \"CompleteStep\", \"CompleteStepV2\", \"ViewPaySetupPage\", \"CompletePaySetup\", \"ResumePaySetup\", \"Complete\", \"Abandon\"];\n }\n}\n\nfunction ProcessInstanceCommand$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceCommand\", [], ProcessInstanceCommand, () => [[[\"Item\", CreateV2CommandPayload$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Id\", ProcessInstanceId$reflection()], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection())])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"IsBenefitsStepEnabled\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), ProcessStepId$reflection())]], [[\"Item\", CompleteStepV2CommandPayload$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", ProcessInstanceId$reflection()]], [[\"Item\", ProcessInstanceId$reflection()]]]);\n}\n\nclass CreateV2CommandPayload extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(Id, Config, Profile, Creator, Tags, StepsConfiguration, JourneyType) {\n super();\n this.Id = Id;\n this.Config = Config;\n this.Profile = Profile;\n this.Creator = Creator;\n this.Tags = Tags;\n this.StepsConfiguration = StepsConfiguration;\n this.JourneyType = JourneyType;\n }\n}\n\nfunction CreateV2CommandPayload$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CreateV2CommandPayload\", [], CreateV2CommandPayload, () => [[\"Id\", ProcessInstanceId$reflection()], [\"Config\", ProcessConfig$reflection()], [\"Profile\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(CreationData_Profile$reflection())], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(CreationData_Creator$reflection())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection()))], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(StepsConfiguration$reflection())], [\"JourneyType\", JourneyType$reflection()]]);\n}\n\nclass CompleteStepV2CommandPayload extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Record {\n constructor(ProcessInstanceId, ProcessStepId) {\n super();\n this.ProcessInstanceId = ProcessInstanceId;\n this.ProcessStepId = ProcessStepId;\n }\n}\n\nfunction CompleteStepV2CommandPayload$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.CompleteStepV2CommandPayload\", [], CompleteStepV2CommandPayload, () => [[\"ProcessInstanceId\", ProcessInstanceId$reflection()], [\"ProcessStepId\", ProcessStepId$reflection()]]);\n}\n\nclass ProcessInstanceEvent extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Created\", \"CreatedV2\", \"TagsAdded\", \"Activated\", \"StepCompleted\", \"PaySetupPageViewed\", \"PaySetupCompleted\", \"PaySetupResumed\", \"Completed\", \"Abandoned\"];\n }\n}\n\nfunction ProcessInstanceEvent$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceEvent\", [], ProcessInstanceEvent, () => [[[\"Item\", ProcessConfig$reflection()]], [[\"Item\", CreatedV2Payload$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"Id\", ProcessInstanceId$reflection()], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.list_type)(Tag$reflection())])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"IsBenefitsStepEnabled\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type)], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), ProcessStepId$reflection())]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.bool_type], [\"ProcessInstanceId\", ProcessInstanceId$reflection()])]], [[\"Item\", ProcessInstanceId$reflection()]], [[\"Item\", ProcessInstanceId$reflection()]]]);\n}\n\nclass ProcessInstanceInviteEvent extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"InviteCreated\", \"SecondFactorCodeIssued\", \"SecondFactorAttempted\", \"SecondFactorSucceeded\"];\n }\n}\n\nfunction ProcessInstanceInviteEvent$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceInviteEvent\", [], ProcessInstanceInviteEvent, () => [[[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteCode$reflection)(), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.option_type)((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBranding$reflection)()), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.EmailSendOption$reflection)())]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteCode$reflection)(), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactorCode$reflection)(), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.EmailSendOption$reflection)())]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.tuple_type)(ProcessInstanceId$reflection(), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteCode$reflection)(), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactorCode$reflection)())]], [[\"Item\", ProcessInstanceId$reflection()]]]);\n}\n\nfunction ProcessInstanceEventModule_getInstanceId(_arg) {\n let pattern_matching_result, id;\n switch (_arg.tag) {\n case 1: {\n pattern_matching_result = 1;\n break;\n }\n case 2: {\n pattern_matching_result = 2;\n break;\n }\n case 3: {\n pattern_matching_result = 3;\n break;\n }\n case 5: {\n pattern_matching_result = 4;\n break;\n }\n case 6: {\n pattern_matching_result = 5;\n break;\n }\n case 7: {\n pattern_matching_result = 6;\n break;\n }\n case 4: {\n pattern_matching_result = 7;\n id = _arg.fields[0][0];\n break;\n }\n case 8: {\n pattern_matching_result = 7;\n id = _arg.fields[0];\n break;\n }\n case 9: {\n pattern_matching_result = 7;\n id = _arg.fields[0];\n break;\n }\n default: pattern_matching_result = 0}\n switch (pattern_matching_result) {\n case 0: {\n return void 0;\n }\n case 1: {\n return _arg.fields[0].Id;\n }\n case 2: {\n return _arg.fields[0].Id;\n }\n case 3: {\n return _arg.fields[0].ProcessInstanceId;\n }\n case 4: {\n return _arg.fields[0].ProcessInstanceId;\n }\n case 5: {\n return _arg.fields[0].ProcessInstanceId;\n }\n case 6: {\n return _arg.fields[0].ProcessInstanceId;\n }\n case 7: {\n return id;\n }\n }\n}\n\nfunction ProcessInstanceInviteEventModule_getInstanceId(_arg) {\n let pattern_matching_result, id;\n switch (_arg.tag) {\n case 1: {\n pattern_matching_result = 0;\n id = _arg.fields[0][0];\n break;\n }\n case 2: {\n pattern_matching_result = 0;\n id = _arg.fields[0][0];\n break;\n }\n case 3: {\n pattern_matching_result = 0;\n id = _arg.fields[0];\n break;\n }\n default: {\n pattern_matching_result = 0;\n id = _arg.fields[0][0];\n }\n }\n switch (pattern_matching_result) {\n case 0: {\n return id;\n }\n }\n}\n\nclass ProcessInstanceListEvent extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"InstanceEvent\", \"InstanceInviteEvent\"];\n }\n}\n\nfunction ProcessInstanceListEvent$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_5__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Domain.ProcessInstanceListEvent\", [], ProcessInstanceListEvent, () => [[[\"Item\", ProcessInstanceEvent$reflection()]], [[\"Item\", ProcessInstanceInviteEvent$reflection()]]]);\n}\n\nfunction ProcessInstanceListEventModule_getProcessInstanceId(event) {\n if (event.tag === 1) {\n return ProcessInstanceInviteEventModule_getInstanceId(event.fields[0]);\n }\n else {\n return ProcessInstanceEventModule_getInstanceId(event.fields[0]);\n }\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9Eb21haW4uZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEySDtBQUNvSDtBQUM3SDtBQUNrSDtBQUN2RztBQUNBO0FBQ0U7QUFDMkQ7QUFDN0Q7QUFDa0M7QUFDNUM7QUFDbUM7QUFDN0I7QUFDUTtBQUNPO0FBQ2hGOztBQUVqRCw0QkFBNEIscUhBQUs7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxtSUFBVSwrR0FBK0csZ0lBQVc7QUFDL0k7O0FBRU8sZ0NBQWdDLHNIQUFNO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxvSUFBVyxpS0FBaUssZ0lBQVcsd0JBQXdCLGdJQUFXO0FBQ3JPOztBQUVPOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU8sOEJBQThCLHFIQUFLO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsbUlBQVUsbUhBQW1ILG1JQUFVO0FBQ2xKOztBQUVPLDRCQUE0QixzSEFBTTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsb0pBQW9KLGdJQUFXLGFBQWEsa0lBQVM7QUFDM007O0FBRU8sMEZBQTBGLHdIQUFLLGlFQUFpRSwwSEFBTzs7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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTyx1Q0FBdUMscUhBQUs7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxtSUFBVTtBQUNyQjs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGZsYXJlaHIvd29ya2Zsb3dzLWFwcC8uLi9Xb3JrZmxvd3MuQnVzaW5lc3MvQWdncmVnYXRlcy9Qcm9jZXNzSW5zdGFuY2VMaXN0L0RvbWFpbi5mcy5qcz9iNzgxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY29yZCwgVW5pb24gfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1R5cGVzLmpzXCI7XG5pbXBvcnQgeyBhbm9uUmVjb3JkX3R5cGUsIGJvb2xfdHlwZSwgb3B0aW9uX3R5cGUsIGludDMyX3R5cGUsIHR1cGxlX3R5cGUsIGxpc3RfdHlwZSwgY2xhc3NfdHlwZSwgcmVjb3JkX3R5cGUsIHVuaW9uX3R5cGUsIHN0cmluZ190eXBlIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9SZWZsZWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvR3VpZC5qc1wiO1xuaW1wb3J0IHsgZmluZCwgYXBwZW5kIGFzIGFwcGVuZF8xLCBsZW5ndGgsIG1hcCwgZW1wdHkgYXMgZW1wdHlfMSwgZXhpc3RzLCBmaWx0ZXIsIHRyeUhlYWQsIHRyeUZpbmQsIGNvbnRhaW5zLCBzaW5nbGV0b24sIG9mQXJyYXkgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0xpc3QuanNcIjtcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL011dGFibGVNYXAuanNcIjtcbmltcG9ydCB7IHNhZmVIYXNoLCBlcXVhbHMgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1V0aWwuanNcIjtcbmltcG9ydCB7IGdldEl0ZW1Gcm9tRGljdCB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvTWFwVXRpbC5qc1wiO1xuaW1wb3J0IHsgZW1wdHksIHNpbmdsZXRvbiBhcyBzaW5nbGV0b25fMSwgYXBwZW5kLCBkZWxheSwgdG9MaXN0LCBjb250YWlucyBhcyBjb250YWluc18xIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9TZXEuanNcIjtcbmltcG9ydCB7IEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9DaG9pY2UuanNcIjtcbmltcG9ydCB7IGNvbXBhcmUsIGlzTnVsbE9yV2hpdGVTcGFjZSwgaW50ZXJwb2xhdGUsIHRvVGV4dCB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvU3RyaW5nLmpzXCI7XG5pbXBvcnQgeyBTZWNvbmRGYWN0b3JDb2RlJHJlZmxlY3Rpb24sIEVtYWlsU2VuZE9wdGlvbiRyZWZsZWN0aW9uLCBJbnZpdGUkcmVmbGVjdGlvbiB9IGZyb20gXCIuL0ludml0ZS9Eb21haW4uZnMuanNcIjtcbmltcG9ydCB7IEludml0ZUJyYW5kaW5nJHJlZmxlY3Rpb24sIEludml0ZUNvZGUkcmVmbGVjdGlvbiwgUHJvZmlsZUlkTW9kdWxlX3ZhbHVlLCBBY2NvdW50SWQkcmVmbGVjdGlvbiwgUHJvZmlsZUlkJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi4vQ29tbW9uLmZzLmpzXCI7XG5pbXBvcnQgeyBkZWZhdWx0QXJnIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9PcHRpb24uanNcIjtcbmltcG9ydCB7IGNvbXBhcmUgYXMgY29tcGFyZV8xIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9EYXRlLmpzXCI7XG5pbXBvcnQgeyBNZXRhZGF0YV9pbmNyZW1lbnRWZXJzaW9uLCBTdHJlYW1JZE1vZHVsZV9jcmVhdGUsIE1ldGFkYXRhX2NyZWF0ZSwgTWV0YWRhdGEkMSRyZWZsZWN0aW9uIH0gZnJvbSBcIi4uLy4uL0RvbWFpblByaW1pdGl2ZXMuZnMuanNcIjtcbmltcG9ydCB7IFJlcXVpcmVfbW9iaWxlUGhvbmUgfSBmcm9tIFwiLi4vLi4vVXRpbHMuZnMuanNcIjtcblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NTdGVwSWQgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIlByb2Nlc3NTdGVwSWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc1N0ZXBJZCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uUHJvY2Vzc1N0ZXBJZFwiLCBbXSwgUHJvY2Vzc1N0ZXBJZCwgKCkgPT4gW1tbXCJJdGVtXCIsIHN0cmluZ190eXBlXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NTdGVwQ29uZmlnIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihJZCwgRGlzcGxheU5hbWUsIENvbXBvbmVudFRhZ05hbWUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5JZCA9IElkO1xuICAgICAgICB0aGlzLkRpc3BsYXlOYW1lID0gRGlzcGxheU5hbWU7XG4gICAgICAgIHRoaXMuQ29tcG9uZW50VGFnTmFtZSA9IENvbXBvbmVudFRhZ05hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc1N0ZXBDb25maWckcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzU3RlcENvbmZpZ1wiLCBbXSwgUHJvY2Vzc1N0ZXBDb25maWcsICgpID0+IFtbXCJJZFwiLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKV0sIFtcIkRpc3BsYXlOYW1lXCIsIHN0cmluZ190eXBlXSwgW1wiQ29tcG9uZW50VGFnTmFtZVwiLCBzdHJpbmdfdHlwZV1dKTtcbn1cblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAgPSBuZXcgUHJvY2Vzc1N0ZXBDb25maWcobmV3IFByb2Nlc3NTdGVwSWQoMCwgXCJwZXJzb25hbC1kZXRhaWxzXCIpLCBcIlBlcnNvbmFsIERldGFpbHNcIiwgXCJhcG9sbG8tcGVyc29uYWwtZGV0YWlscy1hcHBcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAgPSBuZXcgUHJvY2Vzc1N0ZXBDb25maWcobmV3IFByb2Nlc3NTdGVwSWQoMCwgXCJlbWVyZ2VuY3ktY29udGFjdHNcIiksIFwiRW1lcmdlbmN5IENvbnRhY3RzXCIsIFwiYXBvbGxvLWVtZXJnZW5jeS1jb250YWN0cy1hcHBcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CYW5rU3RlcCA9IG5ldyBQcm9jZXNzU3RlcENvbmZpZyhuZXcgUHJvY2Vzc1N0ZXBJZCgwLCBcImJhbmtcIiksIFwiQmFua1wiLCBcImJhbmstY29tcG9uZW50XCIpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfVGF4U3RlcCA9IG5ldyBQcm9jZXNzU3RlcENvbmZpZyhuZXcgUHJvY2Vzc1N0ZXBJZCgwLCBcInRheFwiKSwgXCJUYXhcIiwgXCJ0YXgtY29tcG9uZW50XCIpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwID0gbmV3IFByb2Nlc3NTdGVwQ29uZmlnKG5ldyBQcm9jZXNzU3RlcElkKDAsIFwic3VwZXJcIiksIFwiU3VwZXJcIiwgXCJzdXBlci1zZWxlY3Rpb24tYXBwXCIpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlTGlua2luZ1N0ZXAgPSBuZXcgUHJvY2Vzc1N0ZXBDb25maWcobmV3IFByb2Nlc3NTdGVwSWQoMCwgXCJhcHAtd29ya3BsYWNlLWxpbmtpbmdcIiksIFwiQXBwIFdvcmtwbGFjZSBMaW5raW5nXCIsIFwid29ya3BsYWNlLWxpbmtcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CZW5lZml0c09uYm9hcmRpbmdTdGVwSWQgPSBuZXcgUHJvY2Vzc1N0ZXBJZCgwLCBcImJlbmVmaXRzLW9uYm9hcmRpbmdcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CZW5lZml0c09uYm9hcmRpbmdTdGVwID0gbmV3IFByb2Nlc3NTdGVwQ29uZmlnKFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JlbmVmaXRzT25ib2FyZGluZ1N0ZXBJZCwgXCJCZW5lZml0c1wiLCBcImJlbmVmaXRzLW9uYm9hcmRpbmdcIik7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VQb2xpY2llc1N0ZXAgPSBuZXcgUHJvY2Vzc1N0ZXBDb25maWcobmV3IFByb2Nlc3NTdGVwSWQoMCwgXCJ3b3JrcGxhY2UtcG9saWN5XCIpLCBcIldvcmtwbGFjZS1wb2xpY3lcIiwgXCJhcG9sbG8td29ya3BsYWNlLXBvbGljaWVzLWFwcFwiKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwID0gbmV3IFByb2Nlc3NTdGVwQ29uZmlnKG5ldyBQcm9jZXNzU3RlcElkKDAsIFwiQmVuZWZpdHMtRGlzY3JldGVcIiksIFwiQmVuZWZpdHNcIiwgXCJiZW5lZml0cy1vbmJvYXJkaW5nXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc1N0ZXBJZE1vZHVsZV9jcmVhdGUoYXJnKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzU3RlcElkKDAsIGFyZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzU3RlcElkTW9kdWxlX3ZhbHVlKF9hcmcpIHtcbiAgICByZXR1cm4gX2FyZy5maWVsZHNbMF07XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzQ29uZmlnSWQgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIlByb2Nlc3NDb25maWdJZFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnSWQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlByb2Nlc3NDb25maWdJZFwiLCBbXSwgUHJvY2Vzc0NvbmZpZ0lkLCAoKSA9PiBbW1tcIkl0ZW1cIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5HdWlkXCIpXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NDb25maWcgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKElkLCBOYW1lLCBTdGVwcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLklkID0gSWQ7XG4gICAgICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgICAgIHRoaXMuU3RlcHMgPSBTdGVwcztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uUHJvY2Vzc0NvbmZpZ1wiLCBbXSwgUHJvY2Vzc0NvbmZpZywgKCkgPT4gW1tcIklkXCIsIFByb2Nlc3NDb25maWdJZCRyZWZsZWN0aW9uKCldLCBbXCJOYW1lXCIsIHN0cmluZ190eXBlXSwgW1wiU3RlcHNcIiwgbGlzdF90eXBlKFByb2Nlc3NTdGVwQ29uZmlnJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzQ29uZmlnTW9kdWxlX0RlZmF1bHRDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMFwiKSksIFwib25ib2FyZGluZy1kZWZhdWx0XCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JhbmtTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9UYXhTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9TdXBlclN0ZXBdKSk7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzQ29uZmlnTW9kdWxlX1BlYnRzQ29uZmlndXJhdGlvbiA9IG5ldyBQcm9jZXNzQ29uZmlnKG5ldyBQcm9jZXNzQ29uZmlnSWQoMCwgcGFyc2UoXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDFcIikpLCBcIlBFQlRTXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUHNDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMlwiKSksIFwiUFNcIiwgb2ZBcnJheShbUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfUGVyc29uYWxEZXRhaWxzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9Cc0NvbmZpZ3VyYXRpb24gPSBuZXcgUHJvY2Vzc0NvbmZpZyhuZXcgUHJvY2Vzc0NvbmZpZ0lkKDAsIHBhcnNlKFwiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAzXCIpKSwgXCJCU1wiLCBvZkFycmF5KFtQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CYW5rU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9TdXBlck9ubHlDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwNFwiKSksIFwiU3VwZXJcIiwgc2luZ2xldG9uKFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcCkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QYmFDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAxLTAwMDAwMDAwMDAwMFwiKSksIFwiQXBwIFdvcmtwbGFjZSBMaW5raW5nXCIsIHNpbmdsZXRvbihQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VMaW5raW5nU3RlcCkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9UYXhPbmx5Q29uZmlndXJhdGlvbiA9IG5ldyBQcm9jZXNzQ29uZmlnKG5ldyBQcm9jZXNzQ29uZmlnSWQoMCwgcGFyc2UoXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDVcIikpLCBcIlRheFwiLCBzaW5nbGV0b24oUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfVGF4U3RlcCkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QYnRzQ29uZmlndXJhdGlvbiA9IG5ldyBQcm9jZXNzQ29uZmlnKG5ldyBQcm9jZXNzQ29uZmlnSWQoMCwgcGFyc2UoXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDZcIikpLCBcIlBCVFNcIiwgb2ZBcnJheShbUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfUGVyc29uYWxEZXRhaWxzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUGVidHNwb0NvbmZpZ3VyYXRpb24gPSBuZXcgUHJvY2Vzc0NvbmZpZyhuZXcgUHJvY2Vzc0NvbmZpZ0lkKDAsIHBhcnNlKFwiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDA3XCIpKSwgXCJQRUJUU1BvXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlUG9saWNpZXNTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZWJzcG9Db25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwOFwiKSksIFwiUEVCU1BvXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlUG9saWNpZXNTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXNwb0NvbmZpZ3VyYXRpb24gPSBuZXcgUHJvY2Vzc0NvbmZpZyhuZXcgUHJvY2Vzc0NvbmZpZ0lkKDAsIHBhcnNlKFwiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDA5XCIpKSwgXCJQRVNQb1wiLCBvZkFycmF5KFtQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9QZXJzb25hbERldGFpbHNTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlUG9saWNpZXNTdGVwXSkpO1xuXG5leHBvcnQgY29uc3QgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXRzcG9Db25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAxMFwiKSksIFwiUEVUU1BvXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfVGF4U3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VQb2xpY2llc1N0ZXBdKSk7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAyLTAwMDAwMDAwMDAwMFwiKSksIFwiQm9cIiwgc2luZ2xldG9uKFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwKSk7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzQ29uZmlnTW9kdWxlX1BldHNDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAxMVwiKSksIFwiUEVUU1wiLCBvZkFycmF5KFtQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9QZXJzb25hbERldGFpbHNTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUGVic0NvbmZpZ3VyYXRpb24gPSBuZXcgUHJvY2Vzc0NvbmZpZyhuZXcgUHJvY2Vzc0NvbmZpZ0lkKDAsIHBhcnNlKFwiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDEyXCIpKSwgXCJQRUJTXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUGVzQ29uZmlndXJhdGlvbiA9IG5ldyBQcm9jZXNzQ29uZmlnKG5ldyBQcm9jZXNzQ29uZmlnSWQoMCwgcGFyc2UoXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMTNcIikpLCBcIlBFU1wiLCBvZkFycmF5KFtQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9QZXJzb25hbERldGFpbHNTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfUGJ0c3BvSWRDb25maWd1cmF0aW9uID0gbmV3IFByb2Nlc3NDb25maWcobmV3IFByb2Nlc3NDb25maWdJZCgwLCBwYXJzZShcIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAxNFwiKSksIFwiUEJUU1BvXCIsIG9mQXJyYXkoW1Byb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JhbmtTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9UYXhTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9TdXBlclN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1dvcmtwbGFjZVBvbGljaWVzU3RlcF0pKTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NDb25maWdNb2R1bGVfY29uZmlncyA9IG5ldyBEaWN0aW9uYXJ5KFtbUHJvY2Vzc0NvbmZpZ01vZHVsZV9EZWZhdWx0Q29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9EZWZhdWx0Q29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1BlYnRzQ29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZWJ0c0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9Qc0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUHNDb25maWd1cmF0aW9uXSwgW1Byb2Nlc3NDb25maWdNb2R1bGVfQnNDb25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX0JzQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1N1cGVyT25seUNvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfU3VwZXJPbmx5Q29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1BiYUNvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGJhQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1RheE9ubHlDb25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX1RheE9ubHlDb25maWd1cmF0aW9uXSwgW1Byb2Nlc3NDb25maWdNb2R1bGVfUGJ0c0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGJ0c0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZWJ0c3BvQ29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZWJ0c3BvQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1BlYnNwb0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGVic3BvQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1Blc3BvQ29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXNwb0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXRzcG9Db25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX1BldHNwb0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9EaXNjcmV0ZUJlbmVmaXRzQ29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9EaXNjcmV0ZUJlbmVmaXRzQ29uZmlndXJhdGlvbl0sIFtQcm9jZXNzQ29uZmlnTW9kdWxlX1BldHNDb25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX1BldHNDb25maWd1cmF0aW9uXSwgW1Byb2Nlc3NDb25maWdNb2R1bGVfUGVic0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGVic0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9QZXNDb25maWd1cmF0aW9uLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX1Blc0NvbmZpZ3VyYXRpb25dLCBbUHJvY2Vzc0NvbmZpZ01vZHVsZV9QYnRzcG9JZENvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfUGJ0c3BvSWRDb25maWd1cmF0aW9uXV0sIHtcbiAgICBFcXVhbHM6IGVxdWFscyxcbiAgICBHZXRIYXNoQ29kZTogc2FmZUhhc2gsXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NDb25maWdNb2R1bGVfZ2V0KGNvbmZpZ0lkKSB7XG4gICAgcmV0dXJuIGdldEl0ZW1Gcm9tRGljdChQcm9jZXNzQ29uZmlnTW9kdWxlX2NvbmZpZ3MsIGNvbmZpZ0lkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NDb25maWdNb2R1bGVfcmVxdWlyZXNGdWxsUHJvZmlsZShjb25maWdJZCkge1xuICAgIHJldHVybiBjb250YWlucyhjb25maWdJZCwgb2ZBcnJheShbUHJvY2Vzc0NvbmZpZ01vZHVsZV9EZWZhdWx0Q29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9Cc0NvbmZpZ3VyYXRpb24uSWQsIFByb2Nlc3NDb25maWdNb2R1bGVfU3VwZXJPbmx5Q29uZmlndXJhdGlvbi5JZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9UYXhPbmx5Q29uZmlndXJhdGlvbi5JZF0pLCB7XG4gICAgICAgIEVxdWFsczogZXF1YWxzLFxuICAgICAgICBHZXRIYXNoQ29kZTogc2FmZUhhc2gsXG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnX19nZXRfSW5jbHVkZXNEaXNjcmV0ZUJlbmVmaXRzU3RlcCh0aGlzJCkge1xuICAgIHJldHVybiB0cnlGaW5kKChzdGVwKSA9PiBlcXVhbHMoc3RlcC5JZCwgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfRGlzY3JldGVCZW5lZml0c1N0ZXAuSWQpLCB0aGlzJC5TdGVwcykgIT0gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NDb25maWdfX2dldF9Jc1BheVNldHVwQ29tcGF0aWJsZSh0aGlzJCkge1xuICAgIGlmICghZXF1YWxzKHRoaXMkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNDb25maWd1cmF0aW9uKSkge1xuICAgICAgICByZXR1cm4gIWVxdWFscyh0aGlzJCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9QYmFDb25maWd1cmF0aW9uKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnSWRNb2R1bGVfdHJ5Q3JlYXRlKGd1aWQpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gbmV3IFByb2Nlc3NDb25maWdJZCgwLCBndWlkKTtcbiAgICBpZiAoY29udGFpbnNfMShtYXRjaFZhbHVlLCBQcm9jZXNzQ29uZmlnTW9kdWxlX2NvbmZpZ3Mua2V5cygpLCB7XG4gICAgICAgIEVxdWFsczogZXF1YWxzLFxuICAgICAgICBHZXRIYXNoQ29kZTogc2FmZUhhc2gsXG4gICAgfSkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgdG9UZXh0KGludGVycG9sYXRlKFwiSW52YWxpZCBUeXBlICVBJVAoKVwiLCBbZ3VpZF0pKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0NvbmZpZ0lkTW9kdWxlX3ZhbHVlKF9hcmcpIHtcbiAgICByZXR1cm4gX2FyZy5maWVsZHNbMF07XG59XG5cbmV4cG9ydCBjbGFzcyBBY3RpdmVQcm9jZXNzSW5zdGFuY2UgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKEFjdGl2YXRlZERhdGVzLCBDb21wbGV0ZWRTdGVwcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkFjdGl2YXRlZERhdGVzID0gQWN0aXZhdGVkRGF0ZXM7XG4gICAgICAgIHRoaXMuQ29tcGxldGVkU3RlcHMgPSBDb21wbGV0ZWRTdGVwcztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBY3RpdmVQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5BY3RpdmVQcm9jZXNzSW5zdGFuY2VcIiwgW10sIEFjdGl2ZVByb2Nlc3NJbnN0YW5jZSwgKCkgPT4gW1tcIkFjdGl2YXRlZERhdGVzXCIsIGxpc3RfdHlwZShjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpKV0sIFtcIkNvbXBsZXRlZFN0ZXBzXCIsIGxpc3RfdHlwZSh0dXBsZV90eXBlKFByb2Nlc3NTdGVwSWQkcmVmbGVjdGlvbigpLCBjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpKSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSW5zdGFuY2VTdGF0dXMgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkluYWN0aXZlXCIsIFwiQWN0aXZlXCIsIFwiQ29tcGxldGVcIiwgXCJBYmFuZG9uZWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlU3RhdHVzJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzSW5zdGFuY2VTdGF0dXNcIiwgW10sIFByb2Nlc3NJbnN0YW5jZVN0YXR1cywgKCkgPT4gW1tdLCBbW1wiSXRlbVwiLCBBY3RpdmVQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIildXSwgW1tcIkl0ZW1cIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKV1dXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VTdGF0dXNNb2R1bGVfaXNJblByb2dyZXNzKF9hcmcpIHtcbiAgICBzd2l0Y2ggKF9hcmcudGFnKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VTdGF0dXNNb2R1bGVfaXNBY3RpdmUoX2FyZykge1xuICAgIGlmIChfYXJnLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VTdGF0dXNNb2R1bGVfaXNDb21wbGV0ZShfYXJnKSB7XG4gICAgaWYgKF9hcmcudGFnID09PSAyKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZUlkIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uUHJvY2Vzc0luc3RhbmNlSWRcIiwgW10sIFByb2Nlc3NJbnN0YW5jZUlkLCAoKSA9PiBbW1tcIkl0ZW1cIiwgaW50MzJfdHlwZV1dXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoYXJnKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VJZCgwLCBhcmcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoX2FyZykge1xuICAgIHJldHVybiBfYXJnLmZpZWxkc1swXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2luY3JlbWVudChwcm9jZXNzSW5zdGFuY2VJZCkge1xuICAgIHJldHVybiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUocHJvY2Vzc0luc3RhbmNlSWQpICsgMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9kZWNyZW1lbnQocHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICByZXR1cm4gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSAtIDEpO1xufVxuXG5leHBvcnQgY29uc3QgJDAwN0NQcm9jZXNzSW5zdGFuY2VJZCQwMDdDID0gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWU7XG5cbmV4cG9ydCBjbGFzcyBUYWcgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKE5hbWUsIFZhbHVlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgICAgIHRoaXMuVmFsdWUgPSBWYWx1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYWckcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5UYWdcIiwgW10sIFRhZywgKCkgPT4gW1tcIk5hbWVcIiwgVGFnTmFtZSRyZWZsZWN0aW9uKCldLCBbXCJWYWx1ZVwiLCBUYWdWYWx1ZSRyZWZsZWN0aW9uKCldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBUYWdOYW1lIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJUYWdOYW1lXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRhZ05hbWUkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlRhZ05hbWVcIiwgW10sIFRhZ05hbWUsICgpID0+IFtbW1wiSXRlbVwiLCBzdHJpbmdfdHlwZV1dXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBUYWdWYWx1ZSBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiVGFnVmFsdWVcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVGFnVmFsdWUkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlRhZ1ZhbHVlXCIsIFtdLCBUYWdWYWx1ZSwgKCkgPT4gW1tbXCJJdGVtXCIsIHN0cmluZ190eXBlXV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRhZ05hbWVNb2R1bGVfY3JlYXRlKHRhZ05hbWUpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gaXNOdWxsT3JXaGl0ZVNwYWNlKHRhZ05hbWUpO1xuICAgIGlmIChtYXRjaFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgXCJUYWcgbmFtZSBpcyBlbXB0eVwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGFnTmFtZS5sZW5ndGggPCAxMDApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgVGFnTmFtZSgwLCB0YWdOYW1lKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiVGFnIG5hbWUgaXMgdG9vIGxvbmdcIik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVGFnTmFtZU1vZHVsZV92YWx1ZShfYXJnKSB7XG4gICAgcmV0dXJuIF9hcmcuZmllbGRzWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVGFnVmFsdWVNb2R1bGVfY3JlYXRlKHRhZ1ZhbHVlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGlzTnVsbE9yV2hpdGVTcGFjZSh0YWdWYWx1ZSk7XG4gICAgaWYgKG1hdGNoVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBcIlRhZyB2YWx1ZSBpcyBlbXB0eVwiKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGFnVmFsdWUubGVuZ3RoIDwgMTAwKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFRhZ1ZhbHVlKDAsIHRhZ1ZhbHVlKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiVGFnIHZhbHVlIGlzIHRvbyBsb25nXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRhZ1ZhbHVlTW9kdWxlX3ZhbHVlKF9hcmcpIHtcbiAgICByZXR1cm4gX2FyZy5maWVsZHNbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYWdNb2R1bGVfY3JlYXRlKG5hbWUsIHZhbHVlKSB7XG4gICAgY29uc3QgaW5wdXRfMiA9IFRhZ05hbWVNb2R1bGVfY3JlYXRlKG5hbWUpO1xuICAgIGlmIChpbnB1dF8yLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzIuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gVGFnVmFsdWVNb2R1bGVfY3JlYXRlKHZhbHVlKTtcbiAgICAgICAgaWYgKGlucHV0LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dC5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgVGFnKGlucHV0XzIuZmllbGRzWzBdLCBpbnB1dC5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZSBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSWQsIENvbmZpZ3VyYXRpb24sIERhdGVDcmVhdGVkLCBTdGF0dXMsIEludml0ZSwgVGFncywgQ3JlYXRvciwgU3RlcHNDb25maWd1cmF0aW9uLCBKb3VybmV5VHlwZSwgSXNCZW5lZml0c1N0ZXBFbmFibGVkLCBQYXlTZXR1cENvbXBsZXRlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSWQgPSBJZDtcbiAgICAgICAgdGhpcy5Db25maWd1cmF0aW9uID0gQ29uZmlndXJhdGlvbjtcbiAgICAgICAgdGhpcy5EYXRlQ3JlYXRlZCA9IERhdGVDcmVhdGVkO1xuICAgICAgICB0aGlzLlN0YXR1cyA9IFN0YXR1cztcbiAgICAgICAgdGhpcy5JbnZpdGUgPSBJbnZpdGU7XG4gICAgICAgIHRoaXMuVGFncyA9IFRhZ3M7XG4gICAgICAgIHRoaXMuQ3JlYXRvciA9IENyZWF0b3I7XG4gICAgICAgIHRoaXMuU3RlcHNDb25maWd1cmF0aW9uID0gU3RlcHNDb25maWd1cmF0aW9uO1xuICAgICAgICB0aGlzLkpvdXJuZXlUeXBlID0gSm91cm5leVR5cGU7XG4gICAgICAgIHRoaXMuSXNCZW5lZml0c1N0ZXBFbmFibGVkID0gSXNCZW5lZml0c1N0ZXBFbmFibGVkO1xuICAgICAgICB0aGlzLlBheVNldHVwQ29tcGxldGUgPSBQYXlTZXR1cENvbXBsZXRlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlByb2Nlc3NJbnN0YW5jZVwiLCBbXSwgUHJvY2Vzc0luc3RhbmNlLCAoKSA9PiBbW1wiSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSwgW1wiQ29uZmlndXJhdGlvblwiLCBQcm9jZXNzQ29uZmlnJHJlZmxlY3Rpb24oKV0sIFtcIkRhdGVDcmVhdGVkXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIildLCBbXCJTdGF0dXNcIiwgUHJvY2Vzc0luc3RhbmNlU3RhdHVzJHJlZmxlY3Rpb24oKV0sIFtcIkludml0ZVwiLCBvcHRpb25fdHlwZShJbnZpdGUkcmVmbGVjdGlvbigpKV0sIFtcIlRhZ3NcIiwgb3B0aW9uX3R5cGUobGlzdF90eXBlKFRhZyRyZWZsZWN0aW9uKCkpKV0sIFtcIkNyZWF0b3JcIiwgb3B0aW9uX3R5cGUoUHJvZmlsZUlkJHJlZmxlY3Rpb24oKSldLCBbXCJTdGVwc0NvbmZpZ3VyYXRpb25cIiwgb3B0aW9uX3R5cGUoU3RlcHNDb25maWd1cmF0aW9uJHJlZmxlY3Rpb24oKSldLCBbXCJKb3VybmV5VHlwZVwiLCBKb3VybmV5VHlwZSRyZWZsZWN0aW9uKCldLCBbXCJJc0JlbmVmaXRzU3RlcEVuYWJsZWRcIiwgb3B0aW9uX3R5cGUoYm9vbF90eXBlKV0sIFtcIlBheVNldHVwQ29tcGxldGVcIiwgb3B0aW9uX3R5cGUoYm9vbF90eXBlKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFN0ZXBzQ29uZmlndXJhdGlvbiBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQmVuZWZpdHNPbmJvYXJkaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQmVuZWZpdHNPbmJvYXJkaW5nID0gQmVuZWZpdHNPbmJvYXJkaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBzQ29uZmlndXJhdGlvbiRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlN0ZXBzQ29uZmlndXJhdGlvblwiLCBbXSwgU3RlcHNDb25maWd1cmF0aW9uLCAoKSA9PiBbW1wiQmVuZWZpdHNPbmJvYXJkaW5nXCIsIG9wdGlvbl90eXBlKGFub25SZWNvcmRfdHlwZShbXCJTaG93XCIsIFNob3dPcHRpb25zJHJlZmxlY3Rpb24oKV0pKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEpvdXJuZXlUeXBlIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJEZWZhdWx0XCIsIFwiSW5mb1JlcXVlc3RcIiwgXCJBcHBJbnZpdGVcIiwgXCJCZW5lZml0c0V4aXN0aW5nXCIsIFwiQmVuZWZpdHNPbmJvYXJkaW5nXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvdXJuZXlUeXBlJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Kb3VybmV5VHlwZVwiLCBbXSwgSm91cm5leVR5cGUsICgpID0+IFtbW1wiSXRlbVwiLCBKb3VybmV5VHlwZURldGFpbHMkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEpvdXJuZXlUeXBlRGV0YWlscyRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgSm91cm5leVR5cGVEZXRhaWxzJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBKb3VybmV5VHlwZURldGFpbHMkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEpvdXJuZXlUeXBlRGV0YWlscyRyZWZsZWN0aW9uKCldXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgSm91cm5leVR5cGVEZXRhaWxzIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihDYXRlZ29yeSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkNhdGVnb3J5ID0gQ2F0ZWdvcnk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVEZXRhaWxzJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uSm91cm5leVR5cGVEZXRhaWxzXCIsIFtdLCBKb3VybmV5VHlwZURldGFpbHMsICgpID0+IFtbXCJDYXRlZ29yeVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBTaG93T3B0aW9ucyBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiV2hlbkVuYWJsZWRcIiwgXCJBbHdheXNcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU2hvd09wdGlvbnMkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLlNob3dPcHRpb25zXCIsIFtdLCBTaG93T3B0aW9ucywgKCkgPT4gW1tdLCBbXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVfR2V0RGVmYXVsdCgpIHtcbiAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDAsIEpvdXJuZXlUeXBlRGV0YWlsc19nZXRfRGVmYXVsdCgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvdXJuZXlUeXBlX0dldFZhbHVlT3JEZWZhdWx0XzUxMkVDQzExKGpvdXJuZXlUeXBlLCBwcm9jZXNzQ29uZmlnSWQpIHtcbiAgICByZXR1cm4gZGVmYXVsdEFyZyhqb3VybmV5VHlwZSwgZXF1YWxzKHByb2Nlc3NDb25maWdJZCwgUHJvY2Vzc0NvbmZpZ01vZHVsZV9EaXNjcmV0ZUJlbmVmaXRzQ29uZmlndXJhdGlvbi5JZCkgPyAobmV3IEpvdXJuZXlUeXBlKDQsIEpvdXJuZXlUeXBlRGV0YWlsc19nZXRfRGVmYXVsdCgpKSkgOiBKb3VybmV5VHlwZV9HZXREZWZhdWx0KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVfX0dldE5hbWUodGhpcyQpIHtcbiAgICBzd2l0Y2ggKHRoaXMkLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkluZm9SZXF1ZXN0XCI7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gXCJBcHBJbnZpdGVcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkJlbmVmaXRzRXhpc3RpbmdcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkJlbmVmaXRzT25ib2FyZGluZ1wiO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkRlZmF1bHRcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvdXJuZXlUeXBlRGV0YWlsc19nZXRfRGVmYXVsdCgpIHtcbiAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlRGV0YWlscyh2b2lkIDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0NvbmZpZ19fSXNKb3VybmV5VHlwZUFsbG93ZWRPblRoaXNDb25maWd1cmF0aW9uX1oxRjk0NjkodGhpcyQsIGpvdXJuZXlUeXBlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IFtqb3VybmV5VHlwZSwgZXF1YWxzKHRoaXMkLklkLCBQcm9jZXNzQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNDb25maWd1cmF0aW9uLklkKV07XG4gICAgbGV0IHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0O1xuICAgIGlmIChtYXRjaFZhbHVlWzBdLnRhZyA9PT0gMykge1xuICAgICAgICBpZiAobWF0Y2hWYWx1ZVsxXSkge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKG1hdGNoVmFsdWVbMF0udGFnID09PSA0KSB7XG4gICAgICAgIGlmIChtYXRjaFZhbHVlWzFdKSB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAobWF0Y2hWYWx1ZVsxXSkge1xuICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDM7XG4gICAgfVxuICAgIHN3aXRjaCAocGF0dGVybl9tYXRjaGluZ19yZXN1bHQpIHtcbiAgICAgICAgY2FzZSAwOiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2NyZWF0ZShpZCwgY29uZmlndXJhdGlvbiwgdGFncywgY3JlYXRvciwgZGF0ZUNyZWF0ZWQsIHN0ZXBzQ29uZmlndXJhdGlvbiwgam91cm5leVR5cGUpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gUHJvY2Vzc0NvbmZpZ19fSXNKb3VybmV5VHlwZUFsbG93ZWRPblRoaXNDb25maWd1cmF0aW9uX1oxRjk0NjkoY29uZmlndXJhdGlvbiwgam91cm5leVR5cGUpO1xuICAgIGlmIChtYXRjaFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZShpZCwgY29uZmlndXJhdGlvbiwgZGF0ZUNyZWF0ZWQsIG5ldyBQcm9jZXNzSW5zdGFuY2VTdGF0dXMoMCksIHZvaWQgMCwgdGFncywgY3JlYXRvciwgc3RlcHNDb25maWd1cmF0aW9uLCBqb3VybmV5VHlwZSwgdm9pZCAwLCB2b2lkIDApKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgYEpvdXJuZXlUeXBlOiR7Sm91cm5leVR5cGVfX0dldE5hbWUoam91cm5leVR5cGUpfSBpcyBub3QgYWxsb3dlZCBmb3IgdGhpcyB3b3JrZmxvdyB0eXBlYCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2NhbkFjdGl2YXRlKGluc3RhbmNlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGluc3RhbmNlLlN0YXR1cztcbiAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBcIlByb2Nlc3NJbnN0YW5jZSBpcyBDb21wbGV0ZS5cIik7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiUHJvY2Vzc0luc3RhbmNlIGlzIEFiYW5kb25lZC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2dldFByb2Nlc3NDb25maWcoc3RlcElkLCBpbnN0YW5jZSkge1xuICAgIGNvbnN0IG9wdGlvbiA9IHRyeUZpbmQoKHN0ZXApID0+IGVxdWFscyhzdGVwLklkLCBzdGVwSWQpLCBpbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzKTtcbiAgICBjb25zdCBlcnJvciA9IHRvVGV4dChpbnRlcnBvbGF0ZShcIkludmFsaWQgUHJvY2Vzc1N0ZXAgSWQgJUElUCgpXCIsIFtzdGVwSWRdKSk7XG4gICAgY29uc3Qgb3B0aW9uXzEgPSBvcHRpb247XG4gICAgaWYgKG9wdGlvbl8xID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBlcnJvcik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG9wdGlvbl8xKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZ2V0UHJvY2Vzc0NvbmZpZ0J5VGFnTmFtZShjb21wb25lbnRUYWdOYW1lLCBpc0JlbmVmaXRzRW5hYmxlZCwgaW5zdGFuY2UpIHtcbiAgICBjb25zdCBvcHRpb24gPSB0cnlGaW5kKChzdGVwKSA9PiAoY29tcGFyZShzdGVwLkNvbXBvbmVudFRhZ05hbWUsIGNvbXBvbmVudFRhZ05hbWUsIDUpID09PSAwKSwgdG9MaXN0KGRlbGF5KCgpID0+IGFwcGVuZChpbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzLCBkZWxheSgoKSA9PiAoaXNCZW5lZml0c0VuYWJsZWQgPyBzaW5nbGV0b25fMShQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CZW5lZml0c09uYm9hcmRpbmdTdGVwKSA6IGVtcHR5KCkpKSkpKSk7XG4gICAgY29uc3QgZXJyb3IgPSB0b1RleHQoaW50ZXJwb2xhdGUoXCJJbnZhbGlkIENvbXBvbmVudFRhZ05hbWUgJUElUCgpXCIsIFtjb21wb25lbnRUYWdOYW1lXSkpO1xuICAgIGNvbnN0IG9wdGlvbl8xID0gb3B0aW9uO1xuICAgIGlmIChvcHRpb25fMSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgZXJyb3IpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBvcHRpb25fMSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2dldEN1cnJlbnRTdGVwKGluc3RhbmNlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGluc3RhbmNlLlN0YXR1cztcbiAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIHRyeUhlYWQoZmlsdGVyKChjb25maWd1cmVkU3RlcCkgPT4gKCFleGlzdHMoKHR1cGxlZEFyZykgPT4gZXF1YWxzKGNvbmZpZ3VyZWRTdGVwLklkLCB0dXBsZWRBcmdbMF0pLCBtYXRjaFZhbHVlLmZpZWxkc1swXS5Db21wbGV0ZWRTdGVwcykpLCBpbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZ2V0Q29tcGxldGVkU3RlcHMoaW5zdGFuY2UpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gaW5zdGFuY2UuU3RhdHVzO1xuICAgIHN3aXRjaCAobWF0Y2hWYWx1ZS50YWcpIHtcbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2UuQ29uZmlndXJhdGlvbi5TdGVwcztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIGVtcHR5XzEoKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBjb25zdCBzdGVwSWRzID0gbWFwKCh0dXBsZWRBcmcpID0+IHR1cGxlZEFyZ1swXSwgbWF0Y2hWYWx1ZS5maWVsZHNbMF0uQ29tcGxldGVkU3RlcHMpO1xuICAgICAgICAgICAgcmV0dXJuIGZpbHRlcigoc3RlcCkgPT4gY29udGFpbnMoc3RlcC5JZCwgc3RlcElkcywge1xuICAgICAgICAgICAgICAgIEVxdWFsczogZXF1YWxzLFxuICAgICAgICAgICAgICAgIEdldEhhc2hDb2RlOiBzYWZlSGFzaCxcbiAgICAgICAgICAgIH0pLCBpbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZU1vZHVsZV9pc0FjdGl2ZUFuZEFsbFN0ZXBzQXJlQ29tcGxldGVkKGluc3RhbmNlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGluc3RhbmNlLlN0YXR1cztcbiAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gbGVuZ3RoKG1hdGNoVmFsdWUuZmllbGRzWzBdLkNvbXBsZXRlZFN0ZXBzKSA9PT0gbGVuZ3RoKGluc3RhbmNlLkNvbmZpZ3VyYXRpb24uU3RlcHMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2lzQ29tcGxldGUoaW5zdGFuY2UpIHtcbiAgICBpZiAoaW5zdGFuY2UuU3RhdHVzLnRhZyA9PT0gMikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZGF0ZUZhbGxzV2l0aGluTGlmZXRpbWVPZkluc3RhbmNlKGRhdGUsIHByb2Nlc3NJbnN0YW5jZSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBwcm9jZXNzSW5zdGFuY2UuU3RhdHVzO1xuICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCwgZW5kRGF0ZTtcbiAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDE7XG4gICAgICAgICAgICBlbmREYXRlID0gbWF0Y2hWYWx1ZS5maWVsZHNbMF07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMTtcbiAgICAgICAgICAgIGVuZERhdGUgPSBtYXRjaFZhbHVlLmZpZWxkc1swXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMH1cbiAgICBzd2l0Y2ggKHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0KSB7XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVfMShwcm9jZXNzSW5zdGFuY2UuRGF0ZUNyZWF0ZWQsIGRhdGUpIDw9IDA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICBpZiAoY29tcGFyZV8xKHByb2Nlc3NJbnN0YW5jZS5EYXRlQ3JlYXRlZCwgZGF0ZSkgPD0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb21wYXJlXzEoZW5kRGF0ZSwgZGF0ZSkgPiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlTGlzdCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoTWV0YWRhdGEsIE5leHRJZCwgUHJvY2Vzc0luc3RhbmNlcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLk1ldGFkYXRhID0gTWV0YWRhdGE7XG4gICAgICAgIHRoaXMuTmV4dElkID0gTmV4dElkO1xuICAgICAgICB0aGlzLlByb2Nlc3NJbnN0YW5jZXMgPSBQcm9jZXNzSW5zdGFuY2VzO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3QkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzSW5zdGFuY2VMaXN0XCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VMaXN0LCAoKSA9PiBbW1wiTWV0YWRhdGFcIiwgTWV0YWRhdGEkMSRyZWZsZWN0aW9uKFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YSRyZWZsZWN0aW9uKCkpXSwgW1wiTmV4dElkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0sIFtcIlByb2Nlc3NJbnN0YW5jZXNcIiwgbGlzdF90eXBlKFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCkpXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihBY2NvdW50SWQsIFByb2ZpbGVJZCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkFjY291bnRJZCA9IEFjY291bnRJZDtcbiAgICAgICAgdGhpcy5Qcm9maWxlSWQgPSBQcm9maWxlSWQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VMaXN0TWV0YWRhdGEsICgpID0+IFtbXCJBY2NvdW50SWRcIiwgQWNjb3VudElkJHJlZmxlY3Rpb24oKV0sIFtcIlByb2ZpbGVJZFwiLCBQcm9maWxlSWQkcmVmbGVjdGlvbigpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTWV0YWRhdGFfY3JlYXRlTmV3KGRhdGVDcmVhdGVkLCBkb21haW5NZXRhZGF0YSkge1xuICAgIHJldHVybiBNZXRhZGF0YV9jcmVhdGUoU3RyZWFtSWRNb2R1bGVfY3JlYXRlKFByb2ZpbGVJZE1vZHVsZV92YWx1ZShkb21haW5NZXRhZGF0YS5Qcm9maWxlSWQpKSwgMCwgZG9tYWluTWV0YWRhdGEsIGRhdGVDcmVhdGVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfY3JlYXRlKG1ldGFkYXRhKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0KG1ldGFkYXRhLCBuZXcgUHJvY2Vzc0luc3RhbmNlSWQoMCwgMSksIGVtcHR5XzEoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0TW9kdWxlX2luY3JlbWVudFZlcnNpb24oZGVsdGEsIGFnZ3JlZ2F0ZSkge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdChNZXRhZGF0YV9pbmNyZW1lbnRWZXJzaW9uKGRlbHRhLCBhZ2dyZWdhdGUuTWV0YWRhdGEpLCBhZ2dyZWdhdGUuTmV4dElkLCBhZ2dyZWdhdGUuUHJvY2Vzc0luc3RhbmNlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0TW9kdWxlX21hcmtVcGRhdGVkKGFnZ3JlZ2F0ZSkge1xuICAgIHJldHVybiBQcm9jZXNzSW5zdGFuY2VMaXN0TW9kdWxlX2luY3JlbWVudFZlcnNpb24oMCwgYWdncmVnYXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfZmluZEluUHJvZ3Jlc3NJbnN0YW5jZShjb25maWdJZCwgam91cm5leVR5cGUsIGluc3RhbmNlTGlzdCkge1xuICAgIHJldHVybiB0cnlGaW5kKChpbnN0YW5jZSkgPT4ge1xuICAgICAgICBpZiAoZXF1YWxzKGluc3RhbmNlLkNvbmZpZ3VyYXRpb24uSWQsIGNvbmZpZ0lkKSAmJiBlcXVhbHMoaW5zdGFuY2UuSm91cm5leVR5cGUsIGpvdXJuZXlUeXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NJbnN0YW5jZVN0YXR1c01vZHVsZV9pc0luUHJvZ3Jlc3MoaW5zdGFuY2UuU3RhdHVzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sIGluc3RhbmNlTGlzdC5Qcm9jZXNzSW5zdGFuY2VzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfY3JlYXRlUHJvY2Vzc0luc3RhbmNlKGFnZ3JlZ2F0ZSwgaWQsIGNvbmZpZ3VyYXRpb24sIHRhZ3MsIGNyZWF0b3IsIGRhdGVDcmVhdGVkLCBzdGVwc0NvbmZpZ3VyYXRpb24sIGpvdXJuZXlUeXBlKSB7XG4gICAgY29uc3QgaW5wdXQgPSBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfY3JlYXRlKGlkLCBjb25maWd1cmF0aW9uLCB0YWdzLCBjcmVhdG9yLCBkYXRlQ3JlYXRlZCwgc3RlcHNDb25maWd1cmF0aW9uLCBqb3VybmV5VHlwZSk7XG4gICAgaWYgKGlucHV0LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0LmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0KGFnZ3JlZ2F0ZS5NZXRhZGF0YSwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfaW5jcmVtZW50KGlkKSwgYXBwZW5kXzEoYWdncmVnYXRlLlByb2Nlc3NJbnN0YW5jZXMsIHNpbmdsZXRvbihpbnB1dC5maWVsZHNbMF0pKSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfdHJ5R2V0UHJvY2Vzc0luc3RhbmNlKGFnZ3JlZ2F0ZSwgcHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICBjb25zdCBvcHRpb24gPSB0cnlGaW5kKChwcm9jZXNzSW5zdGFuY2UpID0+IGVxdWFscyhwcm9jZXNzSW5zdGFuY2UuSWQsIHByb2Nlc3NJbnN0YW5jZUlkKSwgYWdncmVnYXRlLlByb2Nlc3NJbnN0YW5jZXMpO1xuICAgIGNvbnN0IGVycm9yID0gdG9UZXh0KGludGVycG9sYXRlKFwiSW52YWxpZCBQcm9jZXNzSW5zdGFuY2UgSWQgJUElUCgpXCIsIFtwcm9jZXNzSW5zdGFuY2VJZF0pKTtcbiAgICBjb25zdCBvcHRpb25fMSA9IG9wdGlvbjtcbiAgICBpZiAob3B0aW9uXzEgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGVycm9yKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgb3B0aW9uXzEpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfZ2V0TGF0ZXN0SW5zdGFuY2VJZChhZ2dyZWdhdGUpIHtcbiAgICByZXR1cm4gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfZGVjcmVtZW50KGFnZ3JlZ2F0ZS5OZXh0SWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV90cnlHZXRMYXRlc3RQcm9jZXNzSW5zdGFuY2UoYWdncmVnYXRlKSB7XG4gICAgcmV0dXJuIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfdHJ5R2V0UHJvY2Vzc0luc3RhbmNlKGFnZ3JlZ2F0ZSwgUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRMYXRlc3RJbnN0YW5jZUlkKGFnZ3JlZ2F0ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRQcm9jZXNzSW5zdGFuY2UoYWdncmVnYXRlLCBwcm9jZXNzSW5zdGFuY2VJZCkge1xuICAgIHJldHVybiBmaW5kKChwcm9jZXNzSW5zdGFuY2UpID0+IGVxdWFscyhwcm9jZXNzSW5zdGFuY2UuSWQsIHByb2Nlc3NJbnN0YW5jZUlkKSwgYWdncmVnYXRlLlByb2Nlc3NJbnN0YW5jZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRMYXRlc3RQcm9jZXNzSW5zdGFuY2UoYWdncmVnYXRlKSB7XG4gICAgcmV0dXJuIFByb2Nlc3NJbnN0YW5jZUxpc3RNb2R1bGVfZ2V0UHJvY2Vzc0luc3RhbmNlKGFnZ3JlZ2F0ZSwgUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRMYXRlc3RJbnN0YW5jZUlkKGFnZ3JlZ2F0ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1vZHVsZV9nZXRJbmNvbXBsZXRlUHJvY2Vzc0luc3RhbmNlKHByb2Nlc3NDb25maWdJZCwgaW5jb21wbGV0ZUFzQXREYXRlLCBhZ2dyZWdhdGUpIHtcbiAgICBjb25zdCBpbnB1dF8xID0gdHJ5RmluZCgoaW5zdGFuY2UpID0+IHtcbiAgICAgICAgaWYgKGVxdWFscyhpbnN0YW5jZS5Db25maWd1cmF0aW9uLklkLCBwcm9jZXNzQ29uZmlnSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2RhdGVGYWxsc1dpdGhpbkxpZmV0aW1lT2ZJbnN0YW5jZShpbmNvbXBsZXRlQXNBdERhdGUsIGluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sIGFnZ3JlZ2F0ZS5Qcm9jZXNzSW5zdGFuY2VzKTtcbiAgICBpZiAoaW5wdXRfMSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBpbnN0YW5jZV8xID0gaW5wdXRfMTtcbiAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGluc3RhbmNlXzEuU3RhdHVzO1xuICAgICAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5zdGFuY2VfMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlXzE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGlvbkRhdGFfUHJvZmlsZU5hbWUgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKEZpcnN0TmFtZSwgTWlkZGxlTmFtZSwgTGFzdE5hbWUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5GaXJzdE5hbWUgPSBGaXJzdE5hbWU7XG4gICAgICAgIHRoaXMuTWlkZGxlTmFtZSA9IE1pZGRsZU5hbWU7XG4gICAgICAgIHRoaXMuTGFzdE5hbWUgPSBMYXN0TmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGlvbkRhdGFfUHJvZmlsZU5hbWUkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5DcmVhdGlvbkRhdGEuUHJvZmlsZU5hbWVcIiwgW10sIENyZWF0aW9uRGF0YV9Qcm9maWxlTmFtZSwgKCkgPT4gW1tcIkZpcnN0TmFtZVwiLCBzdHJpbmdfdHlwZV0sIFtcIk1pZGRsZU5hbWVcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiTGFzdE5hbWVcIiwgc3RyaW5nX3R5cGVdXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGlvbkRhdGFfUHJvZmlsZSBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiUHJvZmlsZVwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGlvbkRhdGFfUHJvZmlsZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uQ3JlYXRpb25EYXRhLlByb2ZpbGVcIiwgW10sIENyZWF0aW9uRGF0YV9Qcm9maWxlLCAoKSA9PiBbW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkVtYWlsXCIsIHN0cmluZ190eXBlXSwgW1wiRXh0ZXJuYWxJZFwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJNb2JpbGVQaG9uZVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJOYW1lXCIsIENyZWF0aW9uRGF0YV9Qcm9maWxlTmFtZSRyZWZsZWN0aW9uKCldKV1dXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGlvbkRhdGFfQ3JlYXRvciBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSWQsIE5hbWUsIEVtYWlsKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSWQgPSBJZDtcbiAgICAgICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICAgICAgdGhpcy5FbWFpbCA9IEVtYWlsO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0aW9uRGF0YV9DcmVhdG9yJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5Eb21haW4uQ3JlYXRpb25EYXRhLkNyZWF0b3JcIiwgW10sIENyZWF0aW9uRGF0YV9DcmVhdG9yLCAoKSA9PiBbW1wiSWRcIiwgUHJvZmlsZUlkJHJlZmxlY3Rpb24oKV0sIFtcIk5hbWVcIiwgQ3JlYXRpb25EYXRhX1Byb2ZpbGVOYW1lJHJlZmxlY3Rpb24oKV0sIFtcIkVtYWlsXCIsIHN0cmluZ190eXBlXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRpb25EYXRhX1Byb2ZpbGVNb2R1bGVfY3JlYXRlKG5hbWUsIGV4dGVybmFsSWQsIGVtYWlsLCBtb2JpbGVQaG9uZSkge1xuICAgIGxldCBpbnB1dF8xO1xuICAgIHJldHVybiBuZXcgQ3JlYXRpb25EYXRhX1Byb2ZpbGUoMCwge1xuICAgICAgICBFbWFpbDogZW1haWwsXG4gICAgICAgIEV4dGVybmFsSWQ6IGV4dGVybmFsSWQsXG4gICAgICAgIE1vYmlsZVBob25lOiAoaW5wdXRfMSA9IG1vYmlsZVBob25lLCAoaW5wdXRfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogUmVxdWlyZV9tb2JpbGVQaG9uZShpbnB1dF8xKSksXG4gICAgICAgIE5hbWU6IG5hbWUsXG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGlvbkRhdGFfUHJvZmlsZU1vZHVsZV92YWx1ZShfYXJnKSB7XG4gICAgcmV0dXJuIF9hcmcuZmllbGRzWzBdO1xufVxuXG5leHBvcnQgY29uc3QgQ3JlYXRpb25EYXRhXyQwMDdDUHJvZmlsZSQwMDdDID0gQ3JlYXRpb25EYXRhX1Byb2ZpbGVNb2R1bGVfdmFsdWU7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVkVjJQYXlsb2FkIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihJZCwgQ29uZmlnLCBQcm9maWxlLCBDcmVhdG9yLCBUYWdzLCBTdGVwc0NvbmZpZ3VyYXRpb24sIEpvdXJuZXlUeXBlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSWQgPSBJZDtcbiAgICAgICAgdGhpcy5Db25maWcgPSBDb25maWc7XG4gICAgICAgIHRoaXMuUHJvZmlsZSA9IFByb2ZpbGU7XG4gICAgICAgIHRoaXMuQ3JlYXRvciA9IENyZWF0b3I7XG4gICAgICAgIHRoaXMuVGFncyA9IFRhZ3M7XG4gICAgICAgIHRoaXMuU3RlcHNDb25maWd1cmF0aW9uID0gU3RlcHNDb25maWd1cmF0aW9uO1xuICAgICAgICB0aGlzLkpvdXJuZXlUeXBlID0gSm91cm5leVR5cGU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlZFYyUGF5bG9hZCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRG9tYWluLkNyZWF0ZWRWMlBheWxvYWRcIiwgW10sIENyZWF0ZWRWMlBheWxvYWQsICgpID0+IFtbXCJJZFwiLCBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCldLCBbXCJDb25maWdcIiwgUHJvY2Vzc0NvbmZpZyRyZWZsZWN0aW9uKCldLCBbXCJQcm9maWxlXCIsIG9wdGlvbl90eXBlKENyZWF0aW9uRGF0YV9Qcm9maWxlJHJlZmxlY3Rpb24oKSldLCBbXCJDcmVhdG9yXCIsIG9wdGlvbl90eXBlKENyZWF0aW9uRGF0YV9DcmVhdG9yJHJlZmxlY3Rpb24oKSldLCBbXCJUYWdzXCIsIG9wdGlvbl90eXBlKGxpc3RfdHlwZShUYWckcmVmbGVjdGlvbigpKSldLCBbXCJTdGVwc0NvbmZpZ3VyYXRpb25cIiwgb3B0aW9uX3R5cGUoU3RlcHNDb25maWd1cmF0aW9uJHJlZmxlY3Rpb24oKSldLCBbXCJKb3VybmV5VHlwZVwiLCBKb3VybmV5VHlwZSRyZWZsZWN0aW9uKCldXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJDcmVhdGVWMlwiLCBcIkFkZFRhZ3NcIiwgXCJBY3RpdmF0ZVwiLCBcIkNvbXBsZXRlU3RlcFwiLCBcIkNvbXBsZXRlU3RlcFYyXCIsIFwiVmlld1BheVNldHVwUGFnZVwiLCBcIkNvbXBsZXRlUGF5U2V0dXBcIiwgXCJSZXN1bWVQYXlTZXR1cFwiLCBcIkNvbXBsZXRlXCIsIFwiQWJhbmRvblwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VDb21tYW5kJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzSW5zdGFuY2VDb21tYW5kXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VDb21tYW5kLCAoKSA9PiBbW1tcIkl0ZW1cIiwgQ3JlYXRlVjJDb21tYW5kUGF5bG9hZCRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIklkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0sIFtcIlRhZ3NcIiwgbGlzdF90eXBlKFRhZyRyZWZsZWN0aW9uKCkpXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIklzQmVuZWZpdHNTdGVwRW5hYmxlZFwiLCBib29sX3R5cGVdLCBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiLCBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCldKV1dLCBbW1wiSXRlbVwiLCB0dXBsZV90eXBlKFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKSwgUHJvY2Vzc1N0ZXBJZCRyZWZsZWN0aW9uKCkpXV0sIFtbXCJJdGVtXCIsIENvbXBsZXRlU3RlcFYyQ29tbWFuZFBheWxvYWQkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJbmplY3RlZEJlbmVmaXRzXCIsIGJvb2xfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJbmplY3RlZEJlbmVmaXRzXCIsIGJvb2xfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJbmplY3RlZEJlbmVmaXRzXCIsIGJvb2xfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0pXV0sIFtbXCJJdGVtXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCldXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlVjJDb21tYW5kUGF5bG9hZCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSWQsIENvbmZpZywgUHJvZmlsZSwgQ3JlYXRvciwgVGFncywgU3RlcHNDb25maWd1cmF0aW9uLCBKb3VybmV5VHlwZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLklkID0gSWQ7XG4gICAgICAgIHRoaXMuQ29uZmlnID0gQ29uZmlnO1xuICAgICAgICB0aGlzLlByb2ZpbGUgPSBQcm9maWxlO1xuICAgICAgICB0aGlzLkNyZWF0b3IgPSBDcmVhdG9yO1xuICAgICAgICB0aGlzLlRhZ3MgPSBUYWdzO1xuICAgICAgICB0aGlzLlN0ZXBzQ29uZmlndXJhdGlvbiA9IFN0ZXBzQ29uZmlndXJhdGlvbjtcbiAgICAgICAgdGhpcy5Kb3VybmV5VHlwZSA9IEpvdXJuZXlUeXBlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0ZVYyQ29tbWFuZFBheWxvYWQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5DcmVhdGVWMkNvbW1hbmRQYXlsb2FkXCIsIFtdLCBDcmVhdGVWMkNvbW1hbmRQYXlsb2FkLCAoKSA9PiBbW1wiSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSwgW1wiQ29uZmlnXCIsIFByb2Nlc3NDb25maWckcmVmbGVjdGlvbigpXSwgW1wiUHJvZmlsZVwiLCBvcHRpb25fdHlwZShDcmVhdGlvbkRhdGFfUHJvZmlsZSRyZWZsZWN0aW9uKCkpXSwgW1wiQ3JlYXRvclwiLCBvcHRpb25fdHlwZShDcmVhdGlvbkRhdGFfQ3JlYXRvciRyZWZsZWN0aW9uKCkpXSwgW1wiVGFnc1wiLCBvcHRpb25fdHlwZShsaXN0X3R5cGUoVGFnJHJlZmxlY3Rpb24oKSkpXSwgW1wiU3RlcHNDb25maWd1cmF0aW9uXCIsIG9wdGlvbl90eXBlKFN0ZXBzQ29uZmlndXJhdGlvbiRyZWZsZWN0aW9uKCkpXSwgW1wiSm91cm5leVR5cGVcIiwgSm91cm5leVR5cGUkcmVmbGVjdGlvbigpXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQ29tcGxldGVTdGVwVjJDb21tYW5kUGF5bG9hZCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoUHJvY2Vzc0luc3RhbmNlSWQsIFByb2Nlc3NTdGVwSWQpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5Qcm9jZXNzSW5zdGFuY2VJZCA9IFByb2Nlc3NJbnN0YW5jZUlkO1xuICAgICAgICB0aGlzLlByb2Nlc3NTdGVwSWQgPSBQcm9jZXNzU3RlcElkO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbXBsZXRlU3RlcFYyQ29tbWFuZFBheWxvYWQkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Db21wbGV0ZVN0ZXBWMkNvbW1hbmRQYXlsb2FkXCIsIFtdLCBDb21wbGV0ZVN0ZXBWMkNvbW1hbmRQYXlsb2FkLCAoKSA9PiBbW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSwgW1wiUHJvY2Vzc1N0ZXBJZFwiLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZUV2ZW50IGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJDcmVhdGVkXCIsIFwiQ3JlYXRlZFYyXCIsIFwiVGFnc0FkZGVkXCIsIFwiQWN0aXZhdGVkXCIsIFwiU3RlcENvbXBsZXRlZFwiLCBcIlBheVNldHVwUGFnZVZpZXdlZFwiLCBcIlBheVNldHVwQ29tcGxldGVkXCIsIFwiUGF5U2V0dXBSZXN1bWVkXCIsIFwiQ29tcGxldGVkXCIsIFwiQWJhbmRvbmVkXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUV2ZW50JHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzSW5zdGFuY2VFdmVudFwiLCBbXSwgUHJvY2Vzc0luc3RhbmNlRXZlbnQsICgpID0+IFtbW1wiSXRlbVwiLCBQcm9jZXNzQ29uZmlnJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBDcmVhdGVkVjJQYXlsb2FkJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSwgW1wiVGFnc1wiLCBsaXN0X3R5cGUoVGFnJHJlZmxlY3Rpb24oKSldKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSXNCZW5lZml0c1N0ZXBFbmFibGVkXCIsIG9wdGlvbl90eXBlKGJvb2xfdHlwZSldLCBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiLCBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCldKV1dLCBbW1wiSXRlbVwiLCB0dXBsZV90eXBlKFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKSwgUHJvY2Vzc1N0ZXBJZCRyZWZsZWN0aW9uKCkpXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJbmplY3RlZEJlbmVmaXRzXCIsIGJvb2xfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJbmplY3RlZEJlbmVmaXRzXCIsIGJvb2xfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJbmplY3RlZEJlbmVmaXRzXCIsIGJvb2xfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0pXV0sIFtbXCJJdGVtXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCldXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlSW52aXRlRXZlbnQgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkludml0ZUNyZWF0ZWRcIiwgXCJTZWNvbmRGYWN0b3JDb2RlSXNzdWVkXCIsIFwiU2Vjb25kRmFjdG9yQXR0ZW1wdGVkXCIsIFwiU2Vjb25kRmFjdG9yU3VjY2VlZGVkXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUludml0ZUV2ZW50JHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzSW5zdGFuY2VJbnZpdGVFdmVudFwiLCBbXSwgUHJvY2Vzc0luc3RhbmNlSW52aXRlRXZlbnQsICgpID0+IFtbW1wiSXRlbVwiLCB0dXBsZV90eXBlKFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKSwgSW52aXRlQ29kZSRyZWZsZWN0aW9uKCksIG9wdGlvbl90eXBlKEludml0ZUJyYW5kaW5nJHJlZmxlY3Rpb24oKSksIEVtYWlsU2VuZE9wdGlvbiRyZWZsZWN0aW9uKCkpXV0sIFtbXCJJdGVtXCIsIHR1cGxlX3R5cGUoUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpLCBJbnZpdGVDb2RlJHJlZmxlY3Rpb24oKSwgU2Vjb25kRmFjdG9yQ29kZSRyZWZsZWN0aW9uKCksIEVtYWlsU2VuZE9wdGlvbiRyZWZsZWN0aW9uKCkpXV0sIFtbXCJJdGVtXCIsIHR1cGxlX3R5cGUoUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpLCBJbnZpdGVDb2RlJHJlZmxlY3Rpb24oKSwgU2Vjb25kRmFjdG9yQ29kZSRyZWZsZWN0aW9uKCkpXV0sIFtbXCJJdGVtXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV1dXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VFdmVudE1vZHVsZV9nZXRJbnN0YW5jZUlkKF9hcmcpIHtcbiAgICBsZXQgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQsIGlkO1xuICAgIHN3aXRjaCAoX2FyZy50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDE7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAzO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gNTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSA2O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDc7XG4gICAgICAgICAgICBpZCA9IF9hcmcuZmllbGRzWzBdWzBdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA4OiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDc7XG4gICAgICAgICAgICBpZCA9IF9hcmcuZmllbGRzWzBdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA5OiB7XG4gICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDc7XG4gICAgICAgICAgICBpZCA9IF9hcmcuZmllbGRzWzBdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDogcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwfVxuICAgIHN3aXRjaCAocGF0dGVybl9tYXRjaGluZ19yZXN1bHQpIHtcbiAgICAgICAgY2FzZSAwOiB7XG4gICAgICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgcmV0dXJuIF9hcmcuZmllbGRzWzBdLklkO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIF9hcmcuZmllbGRzWzBdLklkO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIF9hcmcuZmllbGRzWzBdLlByb2Nlc3NJbnN0YW5jZUlkO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgcmV0dXJuIF9hcmcuZmllbGRzWzBdLlByb2Nlc3NJbnN0YW5jZUlkO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNToge1xuICAgICAgICAgICAgcmV0dXJuIF9hcmcuZmllbGRzWzBdLlByb2Nlc3NJbnN0YW5jZUlkO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNjoge1xuICAgICAgICAgICAgcmV0dXJuIF9hcmcuZmllbGRzWzBdLlByb2Nlc3NJbnN0YW5jZUlkO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgcmV0dXJuIGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlSW52aXRlRXZlbnRNb2R1bGVfZ2V0SW5zdGFuY2VJZChfYXJnKSB7XG4gICAgbGV0IHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0LCBpZDtcbiAgICBzd2l0Y2ggKF9hcmcudGFnKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgaWQgPSBfYXJnLmZpZWxkc1swXVswXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgaWQgPSBfYXJnLmZpZWxkc1swXVswXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgaWQgPSBfYXJnLmZpZWxkc1swXTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMDtcbiAgICAgICAgICAgIGlkID0gX2FyZy5maWVsZHNbMF1bMF07XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCkge1xuICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgIHJldHVybiBpZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiSW5zdGFuY2VFdmVudFwiLCBcIkluc3RhbmNlSW52aXRlRXZlbnRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50JHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkRvbWFpbi5Qcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnRcIiwgW10sIFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCwgKCkgPT4gW1tbXCJJdGVtXCIsIFByb2Nlc3NJbnN0YW5jZUV2ZW50JHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBQcm9jZXNzSW5zdGFuY2VJbnZpdGVFdmVudCRyZWZsZWN0aW9uKCldXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50TW9kdWxlX2dldFByb2Nlc3NJbnN0YW5jZUlkKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gUHJvY2Vzc0luc3RhbmNlSW52aXRlRXZlbnRNb2R1bGVfZ2V0SW5zdGFuY2VJZChldmVudC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFByb2Nlc3NJbnN0YW5jZUV2ZW50TW9kdWxlX2dldEluc3RhbmNlSWQoZXZlbnQuZmllbGRzWzBdKTtcbiAgICB9XG59XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\n");
|
|
53
53
|
|
|
54
54
|
/***/ }),
|
|
55
55
|
|
|
@@ -60,7 +60,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
60
60
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
61
61
|
|
|
62
62
|
"use strict";
|
|
63
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ActiveProcessInstanceDto: () => (/* binding */ ActiveProcessInstanceDto),\n/* harmony export */ ActiveProcessInstanceDto$reflection: () => (/* binding */ ActiveProcessInstanceDto$reflection),\n/* harmony export */ ActiveProcessInstanceDtoModule_ofDomain: () => (/* binding */ ActiveProcessInstanceDtoModule_ofDomain),\n/* harmony export */ ActiveProcessInstanceDtoModule_toDomain: () => (/* binding */ ActiveProcessInstanceDtoModule_toDomain),\n/* harmony export */ BenefitsOnboardingShowOptionsDto: () => (/* binding */ BenefitsOnboardingShowOptionsDto),\n/* harmony export */ BenefitsOnboardingShowOptionsDto$reflection: () => (/* binding */ BenefitsOnboardingShowOptionsDto$reflection),\n/* harmony export */ CreatorDto: () => (/* binding */ CreatorDto),\n/* harmony export */ CreatorDto$reflection: () => (/* binding */ CreatorDto$reflection),\n/* harmony export */ CreatorDtoModule_ofDomain: () => (/* binding */ CreatorDtoModule_ofDomain),\n/* harmony export */ CreatorDtoModule_toDomain: () => (/* binding */ CreatorDtoModule_toDomain),\n/* harmony export */ JourneyTypeDetailsDto: () => (/* binding */ JourneyTypeDetailsDto),\n/* harmony export */ JourneyTypeDetailsDto$reflection: () => (/* binding */ JourneyTypeDetailsDto$reflection),\n/* harmony export */ JourneyTypeDetailsDtoModule_ofDomain: () => (/* binding */ JourneyTypeDetailsDtoModule_ofDomain),\n/* harmony export */ JourneyTypeDetailsDtoModule_toDomain: () => (/* binding */ JourneyTypeDetailsDtoModule_toDomain),\n/* harmony export */ JourneyTypeDto: () => (/* binding */ JourneyTypeDto),\n/* harmony export */ JourneyTypeDto$reflection: () => (/* binding */ JourneyTypeDto$reflection),\n/* harmony export */ JourneyTypeDtoModule_ofDomain: () => (/* binding */ JourneyTypeDtoModule_ofDomain),\n/* harmony export */ JourneyTypeDtoModule_toDomain: () => (/* binding */ JourneyTypeDtoModule_toDomain),\n/* harmony export */ ProcessConfigDto: () => (/* binding */ ProcessConfigDto),\n/* harmony export */ ProcessConfigDto$reflection: () => (/* binding */ ProcessConfigDto$reflection),\n/* harmony export */ ProcessConfigDtoModule_ofDomain: () => (/* binding */ ProcessConfigDtoModule_ofDomain),\n/* harmony export */ ProcessConfigDtoModule_toDomain: () => (/* binding */ ProcessConfigDtoModule_toDomain),\n/* harmony export */ ProcessInstanceCommandDto: () => (/* binding */ ProcessInstanceCommandDto),\n/* harmony export */ ProcessInstanceCommandDto$reflection: () => (/* binding */ ProcessInstanceCommandDto$reflection),\n/* harmony export */ ProcessInstanceCommandDtoModule_toDomain: () => (/* binding */ ProcessInstanceCommandDtoModule_toDomain),\n/* harmony export */ ProcessInstanceDto: () => (/* binding */ ProcessInstanceDto),\n/* harmony export */ ProcessInstanceDto$reflection: () => (/* binding */ ProcessInstanceDto$reflection),\n/* harmony export */ ProcessInstanceDtoModule_List_toDomain: () => (/* binding */ ProcessInstanceDtoModule_List_toDomain),\n/* harmony export */ ProcessInstanceDtoModule_ofDomain: () => (/* binding */ ProcessInstanceDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceDtoModule_toDomain: () => (/* binding */ ProcessInstanceDtoModule_toDomain),\n/* harmony export */ ProcessInstanceEventDto: () => (/* binding */ ProcessInstanceEventDto),\n/* harmony export */ ProcessInstanceEventDto$reflection: () => (/* binding */ ProcessInstanceEventDto$reflection),\n/* harmony export */ ProcessInstanceEventDtoModule_ofDomain: () => (/* binding */ ProcessInstanceEventDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceEventDtoModule_toDomain: () => (/* binding */ ProcessInstanceEventDtoModule_toDomain),\n/* harmony export */ ProcessInstanceListDto: () => (/* binding */ ProcessInstanceListDto),\n/* harmony export */ ProcessInstanceListDto$reflection: () => (/* binding */ ProcessInstanceListDto$reflection),\n/* harmony export */ ProcessInstanceListDtoModule_ofDomain: () => (/* binding */ ProcessInstanceListDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceListDtoModule_toDomain: () => (/* binding */ ProcessInstanceListDtoModule_toDomain),\n/* harmony export */ ProcessInstanceListEventDtoModule_toDomain: () => (/* binding */ ProcessInstanceListEventDtoModule_toDomain),\n/* harmony export */ ProcessInstanceListMetadataDto: () => (/* binding */ ProcessInstanceListMetadataDto),\n/* harmony export */ ProcessInstanceListMetadataDto$reflection: () => (/* binding */ ProcessInstanceListMetadataDto$reflection),\n/* harmony export */ ProcessInstanceListMetadataDtoModule_ofDomain: () => (/* binding */ ProcessInstanceListMetadataDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceListMetadataDtoModule_toDomain: () => (/* binding */ ProcessInstanceListMetadataDtoModule_toDomain),\n/* harmony export */ ProcessInstanceStatusDto: () => (/* binding */ ProcessInstanceStatusDto),\n/* harmony export */ ProcessInstanceStatusDto$reflection: () => (/* binding */ ProcessInstanceStatusDto$reflection),\n/* harmony export */ ProcessInstanceStatusDtoModule_ofDomain: () => (/* binding */ ProcessInstanceStatusDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceStatusDtoModule_toDomain: () => (/* binding */ ProcessInstanceStatusDtoModule_toDomain),\n/* harmony export */ ProcessInstanceVersionedDto: () => (/* binding */ ProcessInstanceVersionedDto),\n/* harmony export */ ProcessInstanceVersionedDto$reflection: () => (/* binding */ ProcessInstanceVersionedDto$reflection),\n/* harmony export */ ProcessInstanceVersionedDtoModule_ofDomain: () => (/* binding */ ProcessInstanceVersionedDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceVersionedDtoModule_toDomain: () => (/* binding */ ProcessInstanceVersionedDtoModule_toDomain),\n/* harmony export */ ProcessStepConfigDto: () => (/* binding */ ProcessStepConfigDto),\n/* harmony export */ ProcessStepConfigDto$reflection: () => (/* binding */ ProcessStepConfigDto$reflection),\n/* harmony export */ ProcessStepConfigDtoModule_List_toDomain: () => (/* binding */ ProcessStepConfigDtoModule_List_toDomain),\n/* harmony export */ ProcessStepConfigDtoModule_ofDomain: () => (/* binding */ ProcessStepConfigDtoModule_ofDomain),\n/* harmony export */ ProcessStepConfigDtoModule_toDomain: () => (/* binding */ ProcessStepConfigDtoModule_toDomain),\n/* harmony export */ ProfileDetailDto: () => (/* binding */ ProfileDetailDto),\n/* harmony export */ ProfileDetailDto$reflection: () => (/* binding */ ProfileDetailDto$reflection),\n/* harmony export */ ProfileDetailDtoModule_ofDomain: () => (/* binding */ ProfileDetailDtoModule_ofDomain),\n/* harmony export */ ProfileDetailDtoModule_toDomain: () => (/* binding */ ProfileDetailDtoModule_toDomain),\n/* harmony export */ ProfileNameDto: () => (/* binding */ ProfileNameDto),\n/* harmony export */ ProfileNameDto$reflection: () => (/* binding */ ProfileNameDto$reflection),\n/* harmony export */ ProfileNameDtoModule_ofDomain: () => (/* binding */ ProfileNameDtoModule_ofDomain),\n/* harmony export */ ProfileNameDtoModule_toDomain: () => (/* binding */ ProfileNameDtoModule_toDomain),\n/* harmony export */ StepsConfigurationDto: () => (/* binding */ StepsConfigurationDto),\n/* harmony export */ StepsConfigurationDto$reflection: () => (/* binding */ StepsConfigurationDto$reflection),\n/* harmony export */ StepsConfigurationDtoModule_ofDomain: () => (/* binding */ StepsConfigurationDtoModule_ofDomain),\n/* harmony export */ StepsConfigurationDtoModule_toDomain: () => (/* binding */ StepsConfigurationDtoModule_toDomain),\n/* harmony export */ TagDto: () => (/* binding */ TagDto),\n/* harmony export */ TagDto$reflection: () => (/* binding */ TagDto$reflection),\n/* harmony export */ TagDtoModule_ofDomain: () => (/* binding */ TagDtoModule_ofDomain),\n/* harmony export */ TagDtoModule_toDomain: () => (/* binding */ TagDtoModule_toDomain)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.3.2.0/List.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.3.2.0/List.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Invite_Dto_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Invite/Dto.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Dto.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../DtoPrimitives.fs.js */ \"../Workflows.Business/DtoPrimitives.fs.js\");\n/* harmony import */ var _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../CommonDto.fs.js */ \"../Workflows.Business/Aggregates/CommonDto.fs.js\");\n/* harmony import */ var _Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Invite/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Domain.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass ProcessStepConfigDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Id, DisplayName, ComponentTagName) {\n super();\n this.Id = Id;\n this.DisplayName = DisplayName;\n this.ComponentTagName = ComponentTagName;\n }\n}\n\nfunction ProcessStepConfigDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessStepConfigDto\", [], ProcessStepConfigDto, () => [[\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"DisplayName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ComponentTagName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction ProcessStepConfigDtoModule_toDomain(dto) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfig((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(dto.Id), dto.DisplayName, dto.ComponentTagName));\n}\n\nfunction ProcessStepConfigDtoModule_ofDomain(domain) {\n return new ProcessStepConfigDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(domain.Id), domain.DisplayName, domain.ComponentTagName);\n}\n\nfunction ProcessStepConfigDtoModule_List_toDomain(dtoList) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(ProcessStepConfigDtoModule_toDomain, dtoList));\n}\n\nclass ActiveProcessInstanceDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(ActivatedDates, CompletedSteps) {\n super();\n this.ActivatedDates = ActivatedDates;\n this.CompletedSteps = CompletedSteps;\n }\n}\n\nfunction ActiveProcessInstanceDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ActiveProcessInstanceDto\", [], ActiveProcessInstanceDto, () => [[\"ActivatedDates\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\"))], [\"CompletedSteps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\")))]]);\n}\n\nfunction ActiveProcessInstanceDtoModule_toDomain(dto) {\n const input = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((tupledArg) => (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(tupledArg[0]), tupledArg[1]])), dto.CompletedSteps));\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ActiveProcessInstance(dto.ActivatedDates, input.fields[0]));\n }\n}\n\nfunction ActiveProcessInstanceDtoModule_ofDomain(domain) {\n return new ActiveProcessInstanceDto(domain.ActivatedDates, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((tupledArg) => [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(tupledArg[0]), tupledArg[1]], domain.CompletedSteps));\n}\n\nclass ProcessInstanceStatusDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Inactive\", \"Active\", \"Complete\", \"Abandoned\"];\n }\n}\n\nfunction ProcessInstanceStatusDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceStatusDto\", [], ProcessInstanceStatusDto, () => [[], [[\"Item\", ActiveProcessInstanceDto$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\")]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\")]]]);\n}\n\nfunction ProcessInstanceStatusDtoModule_toDomain(dto) {\n switch (dto.tag) {\n case 1: {\n const matchValue = ActiveProcessInstanceDtoModule_toDomain(dto.fields[0]);\n if (matchValue.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(1, matchValue.fields[0]));\n }\n }\n case 2: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(2, dto.fields[0]));\n }\n case 3: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(3, dto.fields[0]));\n }\n default: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(0));\n }\n }\n}\n\nfunction ProcessInstanceStatusDtoModule_ofDomain(domain) {\n switch (domain.tag) {\n case 1: {\n return new ProcessInstanceStatusDto(1, ActiveProcessInstanceDtoModule_ofDomain(domain.fields[0]));\n }\n case 2: {\n return new ProcessInstanceStatusDto(2, domain.fields[0]);\n }\n case 3: {\n return new ProcessInstanceStatusDto(3, domain.fields[0]);\n }\n default: {\n return new ProcessInstanceStatusDto(0);\n }\n }\n}\n\nclass ProcessConfigDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Id, Name, Steps) {\n super();\n this.Id = Id;\n this.Name = Name;\n this.Steps = Steps;\n }\n}\n\nfunction ProcessConfigDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessConfigDto\", [], ProcessConfigDto, () => [[\"Id\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.Guid\")], [\"Name\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"Steps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(ProcessStepConfigDto$reflection())]]);\n}\n\nfunction ProcessConfigDtoModule_toDomain(dto) {\n const input_2 = ProcessStepConfigDtoModule_List_toDomain(dto.Steps);\n if (input_2.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_2.fields[0]);\n }\n else {\n const input = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfigIdModule_tryCreate)(dto.Id);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfig(input.fields[0], dto.Name, input_2.fields[0]));\n }\n }\n}\n\nfunction ProcessConfigDtoModule_ofDomain(domain) {\n return new ProcessConfigDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfigIdModule_value)(domain.Id), domain.Name, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(ProcessStepConfigDtoModule_ofDomain, domain.Steps));\n}\n\nclass TagDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Name, Value) {\n super();\n this.Name = Name;\n this.Value = Value;\n }\n}\n\nfunction TagDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.TagDto\", [], TagDto, () => [[\"Name\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"Value\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction TagDtoModule_toDomain(dto) {\n return (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.TagModule_create)(dto.Name, dto.Value);\n}\n\nfunction TagDtoModule_ofDomain(domain) {\n return new TagDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.TagNameModule_value)(domain.Name), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.TagValueModule_value)(domain.Value));\n}\n\nclass ProcessInstanceListMetadataDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(AccountId, ProfileId) {\n super();\n this.AccountId = AccountId;\n this.ProfileId = ProfileId;\n }\n}\n\nfunction ProcessInstanceListMetadataDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceListMetadataDto\", [], ProcessInstanceListMetadataDto, () => [[\"AccountId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ProfileId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction ProcessInstanceListMetadataDtoModule_toDomain(dto) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListMetadata((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.AccountIdModule_create)(dto.AccountId), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_create)(dto.ProfileId)));\n}\n\nfunction ProcessInstanceListMetadataDtoModule_ofDomain(domain) {\n return new ProcessInstanceListMetadataDto((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.AccountIdModule_value)(domain.AccountId), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_value)(domain.ProfileId));\n}\n\nclass BenefitsOnboardingShowOptionsDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"WhenEnabled\", \"Always\"];\n }\n}\n\nfunction BenefitsOnboardingShowOptionsDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.BenefitsOnboardingShowOptionsDto\", [], BenefitsOnboardingShowOptionsDto, () => [[], []]);\n}\n\nclass StepsConfigurationDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(BenefitsOnboarding) {\n super();\n this.BenefitsOnboarding = BenefitsOnboarding;\n }\n}\n\nfunction StepsConfigurationDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.StepsConfigurationDto\", [], StepsConfigurationDto, () => [[\"BenefitsOnboarding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"Show\", BenefitsOnboardingShowOptionsDto$reflection()]))]]);\n}\n\nfunction StepsConfigurationDtoModule_toDomain(dto) {\n let x_1, bo;\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.StepsConfiguration((x_1 = dto.BenefitsOnboarding, (x_1 == null) ? (void 0) : ((bo = x_1, {\n Show: (bo.Show.tag === 1) ? (new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ShowOptions(1)) : (new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ShowOptions(0)),\n }))));\n}\n\nfunction StepsConfigurationDtoModule_ofDomain(domain) {\n let x_1, bo;\n return new StepsConfigurationDto((x_1 = domain.BenefitsOnboarding, (x_1 == null) ? (void 0) : ((bo = x_1, {\n Show: (bo.Show.tag === 1) ? (new BenefitsOnboardingShowOptionsDto(1)) : (new BenefitsOnboardingShowOptionsDto(0)),\n }))));\n}\n\nclass JourneyTypeDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Default\", \"InfoRequest\", \"AppInvite\", \"BenefitsExisting\", \"BenefitsOnboarding\"];\n }\n}\n\nfunction JourneyTypeDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.JourneyTypeDto\", [], JourneyTypeDto, () => [[[\"Item\", JourneyTypeDetailsDto$reflection()]], [[\"Item\", JourneyTypeDetailsDto$reflection()]], [[\"Item\", JourneyTypeDetailsDto$reflection()]], [[\"Item\", JourneyTypeDetailsDto$reflection()]], [[\"Item\", JourneyTypeDetailsDto$reflection()]]]);\n}\n\nclass JourneyTypeDetailsDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Category) {\n super();\n this.Category = Category;\n }\n}\n\nfunction JourneyTypeDetailsDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.JourneyTypeDetailsDto\", [], JourneyTypeDetailsDto, () => [[\"Category\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]]);\n}\n\nfunction JourneyTypeDetailsDtoModule_toDomain(dto) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyTypeDetails(dto.Category);\n}\n\nfunction JourneyTypeDetailsDtoModule_ofDomain(details) {\n return new JourneyTypeDetailsDto(details.Category);\n}\n\nfunction JourneyTypeDtoModule_toDomain(dto) {\n if (dto == null) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyTypeDetails(void 0));\n }\n else if (dto.tag === 1) {\n const details_1 = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(1, JourneyTypeDetailsDtoModule_toDomain(details_1));\n }\n else if (dto.tag === 2) {\n const details_2 = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(2, JourneyTypeDetailsDtoModule_toDomain(details_2));\n }\n else if (dto.tag === 3) {\n const details_3 = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(3, JourneyTypeDetailsDtoModule_toDomain(details_3));\n }\n else if (dto.tag === 4) {\n const details_4 = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(4, JourneyTypeDetailsDtoModule_toDomain(details_4));\n }\n else {\n const details = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(0, JourneyTypeDetailsDtoModule_toDomain(details));\n }\n}\n\nfunction JourneyTypeDtoModule_ofDomain(journeyType) {\n switch (journeyType.tag) {\n case 1: {\n return new JourneyTypeDto(1, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 2: {\n return new JourneyTypeDto(2, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 3: {\n return new JourneyTypeDto(3, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 4: {\n return new JourneyTypeDto(4, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n default: {\n return new JourneyTypeDto(0, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n }\n}\n\nclass ProcessInstanceDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Id, DateCreated, Configuration, Status, Invite, Tags, Creator, StepsConfiguration, JourneyType, IsBenefitsStepEnabled, PaySetupComplete) {\n super();\n this.Id = (Id | 0);\n this.DateCreated = DateCreated;\n this.Configuration = Configuration;\n this.Status = Status;\n this.Invite = Invite;\n this.Tags = Tags;\n this.Creator = Creator;\n this.StepsConfiguration = StepsConfiguration;\n this.JourneyType = JourneyType;\n this.IsBenefitsStepEnabled = IsBenefitsStepEnabled;\n this.PaySetupComplete = PaySetupComplete;\n }\n}\n\nfunction ProcessInstanceDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceDto\", [], ProcessInstanceDto, () => [[\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"DateCreated\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\")], [\"Configuration\", ProcessConfigDto$reflection()], [\"Status\", ProcessInstanceStatusDto$reflection()], [\"Invite\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_Invite_Dto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteDto$reflection)())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(TagDto$reflection()))], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(StepsConfigurationDto$reflection())], [\"JourneyType\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(JourneyTypeDto$reflection())], [\"IsBenefitsStepEnabled\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)], [\"PaySetupComplete\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)]]);\n}\n\nfunction ProcessInstanceDtoModule_toDomain(dto) {\n let x_5, x_7;\n const input_15 = ProcessConfigDtoModule_toDomain(dto.Configuration);\n if (input_15.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_15.fields[0]);\n }\n else {\n const configuration = input_15.fields[0];\n const input_13 = ProcessInstanceStatusDtoModule_toDomain(dto.Status);\n if (input_13.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_13.fields[0]);\n }\n else {\n const status = input_13.fields[0];\n let input_11;\n if (status.tag === 1) {\n const activeProcessInstance = status.fields[0];\n const input = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((tupledArg_1) => {\n const tupledArg = [tupledArg_1[0], tupledArg_1[1]];\n const processStepId = tupledArg[0];\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.exists)((step) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_11__.equals)(step.Id, processStepId), configuration.Steps)) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, [processStepId, tupledArg[1]]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, \"Step id is not configured for this Process Instance.\");\n }\n }, activeProcessInstance.CompletedSteps));\n input_11 = ((input.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ActiveProcessInstance(activeProcessInstance.ActivatedDates, input.fields[0])))));\n }\n else {\n input_11 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, status));\n }\n if (input_11.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_11.fields[0]);\n }\n else {\n let input_9;\n const input_2 = dto.Invite;\n if (input_2 != null) {\n const input_3 = (0,_Invite_Dto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteDtoModule_toDomain)(input_2);\n input_9 = ((input_3.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_3.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input_3.fields[0])));\n }\n else {\n input_9 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, void 0));\n }\n if (input_9.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_9.fields[0]);\n }\n else {\n let input_7;\n const input_5 = dto.Tags;\n if (input_5 != null) {\n const input_6 = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_toDomain, input_5));\n input_7 = ((input_6.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_6.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input_6.fields[0])));\n }\n else {\n input_7 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, void 0));\n }\n if (input_7.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_7.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.Id), configuration, dto.DateCreated, input_11.fields[0], input_9.fields[0], input_7.fields[0], (x_5 = dto.Creator, (x_5 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_create)(x_5)), (x_7 = dto.StepsConfiguration, (x_7 == null) ? (void 0) : StepsConfigurationDtoModule_toDomain(x_7)), JourneyTypeDtoModule_toDomain(dto.JourneyType), dto.IsBenefitsStepEnabled, dto.PaySetupComplete));\n }\n }\n }\n }\n }\n}\n\nfunction ProcessInstanceDtoModule_ofDomain(domain) {\n let x_1, x_3, x_5, x_7;\n return new ProcessInstanceDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(domain.Id), domain.DateCreated, ProcessConfigDtoModule_ofDomain(domain.Configuration), ProcessInstanceStatusDtoModule_ofDomain(domain.Status), (x_1 = domain.Invite, (x_1 == null) ? (void 0) : (0,_Invite_Dto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteDtoModule_ofDomain)(x_1)), (x_3 = domain.Tags, (x_3 == null) ? (void 0) : (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_ofDomain, x_3)), (x_5 = domain.Creator, (x_5 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_value)(x_5)), (x_7 = domain.StepsConfiguration, (x_7 == null) ? (void 0) : StepsConfigurationDtoModule_ofDomain(x_7)), JourneyTypeDtoModule_ofDomain(domain.JourneyType), domain.IsBenefitsStepEnabled, domain.PaySetupComplete);\n}\n\nfunction ProcessInstanceDtoModule_List_toDomain(dtoList) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(ProcessInstanceDtoModule_toDomain, dtoList));\n}\n\nclass ProcessInstanceListDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Metadata, NextId, ProcessInstances) {\n super();\n this.Metadata = Metadata;\n this.NextId = (NextId | 0);\n this.ProcessInstances = ProcessInstances;\n }\n}\n\nfunction ProcessInstanceListDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceListDto\", [], ProcessInstanceListDto, () => [[\"Metadata\", (0,_DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__.MetadataDto$1$reflection)(ProcessInstanceListMetadataDto$reflection())], [\"NextId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"ProcessInstances\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(ProcessInstanceDto$reflection())]]);\n}\n\nfunction ProcessInstanceListDtoModule_toDomain(dto) {\n const input_2 = (0,_DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__.MetadataDto_toDomain)(ProcessInstanceListMetadataDtoModule_toDomain, dto.Metadata);\n if (input_2.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_2.fields[0]);\n }\n else {\n const input = ProcessInstanceDtoModule_List_toDomain(dto.ProcessInstances);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceList(input_2.fields[0], (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.NextId), input.fields[0]));\n }\n }\n}\n\nfunction ProcessInstanceListDtoModule_ofDomain(domain) {\n return new ProcessInstanceListDto((0,_DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__.MetadataDto_ofDomain)(ProcessInstanceListMetadataDtoModule_ofDomain, domain.Metadata), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(domain.NextId), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(ProcessInstanceDtoModule_ofDomain, domain.ProcessInstances));\n}\n\nclass ProcessInstanceVersionedDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"V1\", \"Unused\"];\n }\n}\n\nfunction ProcessInstanceVersionedDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceVersionedDto\", [], ProcessInstanceVersionedDto, () => [[[\"Item\", ProcessInstanceListDto$reflection()]], []]);\n}\n\nfunction ProcessInstanceVersionedDtoModule_toDomain(dto) {\n if (dto.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, \"Unused\");\n }\n else {\n const input = ProcessInstanceListDtoModule_toDomain(dto.fields[0]);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input.fields[0]);\n }\n }\n}\n\nfunction ProcessInstanceVersionedDtoModule_ofDomain(domain) {\n return new ProcessInstanceVersionedDto(0, ProcessInstanceListDtoModule_ofDomain(domain));\n}\n\nclass ProfileNameDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(FirstName, MiddleName, LastName) {\n super();\n this.FirstName = FirstName;\n this.MiddleName = MiddleName;\n this.LastName = LastName;\n }\n}\n\nfunction ProfileNameDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProfileNameDto\", [], ProfileNameDto, () => [[\"FirstName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"MiddleName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)], [\"LastName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction ProfileNameDtoModule_toDomain(n) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreationData_ProfileName(n.FirstName, n.MiddleName, n.LastName);\n}\n\nfunction ProfileNameDtoModule_ofDomain(n) {\n return new ProfileNameDto(n.FirstName, n.MiddleName, n.LastName);\n}\n\nclass CreatorDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Id, Name, Email) {\n super();\n this.Id = Id;\n this.Name = Name;\n this.Email = Email;\n }\n}\n\nfunction CreatorDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.CreatorDto\", [], CreatorDto, () => [[\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"Name\", ProfileNameDto$reflection()], [\"Email\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction CreatorDtoModule_toDomain(c) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreationData_Creator((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_create)(c.Id), ProfileNameDtoModule_toDomain(c.Name), c.Email);\n}\n\nfunction CreatorDtoModule_ofDomain(c) {\n return new CreatorDto((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_value)(c.Id), ProfileNameDtoModule_ofDomain(c.Name), c.Email);\n}\n\nclass ProfileDetailDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Name, Email, MobilePhone, ExternalId) {\n super();\n this.Name = Name;\n this.Email = Email;\n this.MobilePhone = MobilePhone;\n this.ExternalId = ExternalId;\n }\n}\n\nfunction ProfileDetailDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProfileDetailDto\", [], ProfileDetailDto, () => [[\"Name\", ProfileNameDto$reflection()], [\"Email\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"MobilePhone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)], [\"ExternalId\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]]);\n}\n\nfunction ProfileDetailDtoModule_toDomain(p) {\n return (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreationData_ProfileModule_create)(ProfileNameDtoModule_toDomain(p.Name), p.ExternalId, p.Email, p.MobilePhone);\n}\n\nfunction ProfileDetailDtoModule_ofDomain(p) {\n const p_1 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreationData_ProfileModule_value)(p);\n return new ProfileDetailDto(ProfileNameDtoModule_ofDomain(p_1.Name), p_1.Email, p_1.MobilePhone, p_1.ExternalId);\n}\n\nclass ProcessInstanceCommandDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CompleteStep\", \"CompleteStepV2\", \"Complete\", \"ViewPaySetupPage\", \"CompletePaySetup\", \"ResumePaySetup\"];\n }\n}\n\nfunction ProcessInstanceCommandDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceCommandDto\", [], ProcessInstanceCommandDto, () => [[[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)]]]);\n}\n\nfunction ProcessInstanceCommandDtoModule_toDomain(dto) {\n switch (dto.tag) {\n case 1: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(4, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CompleteStepV2CommandPayload((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(dto.fields[0][1]))));\n }\n case 2: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(8, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0])));\n }\n case 3: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(5, {\n InjectedBenefits: dto.fields[0][1],\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]),\n }));\n }\n case 5: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(7, {\n InjectedBenefits: dto.fields[0][1],\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]),\n }));\n }\n case 4: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(6, {\n InjectedBenefits: dto.fields[0][1],\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]),\n }));\n }\n default: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(3, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(dto.fields[0][1])]));\n }\n }\n}\n\nclass ProcessInstanceEventDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Created\", \"CreatedV2\", \"TagsAdded\", \"Activated\", \"ActivatedV2\", \"StepCompleted\", \"PaySetupPageViewed\", \"PaySetupCompleted\", \"PaySetupResumed\", \"Completed\", \"Abandoned\", \"InviteCreated\", \"InviteSecondFactorCodeIssued\", \"InviteSecondFactorAttempted\", \"InviteSecondFactorSucceeded\"];\n }\n}\n\nfunction ProcessInstanceEventDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceEventDto\", [], ProcessInstanceEventDto, () => [[[\"Item\", ProcessConfigDto$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"Config\", ProcessConfigDto$reflection()], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(CreatorDto$reflection())], [\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"JourneyType\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(JourneyTypeDto$reflection())], [\"Profile\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(ProfileDetailDto$reflection())], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(StepsConfigurationDto$reflection())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(TagDto$reflection()))])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(TagDto$reflection())])]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"IsBenefitsStepEnabled\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_5__.InviteBrandingDto$reflection)())], [\"EmailSent\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)], [\"InviteCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"EmailSent\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)], [\"InviteCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"SecondFactorCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"InviteCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"SecondFactorCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type])]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]]]);\n}\n\nfunction ProcessInstanceEventDtoModule_toDomain(dto) {\n let creator, x_3, x_5, x_7;\n switch (dto.tag) {\n case 1: {\n const data = dto.fields[0];\n const id = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data.Id);\n const input_7 = ProcessConfigDtoModule_toDomain(data.Config);\n if (input_7.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_7.fields[0]);\n }\n else {\n let input_5;\n const input_3 = data.Tags;\n if (input_3 != null) {\n const input_4 = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_toDomain, input_3));\n input_5 = ((input_4.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_4.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input_4.fields[0])));\n }\n else {\n input_5 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, void 0));\n }\n if (input_5.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_5.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, (creator = ((x_3 = data.Creator, (x_3 == null) ? (void 0) : CreatorDtoModule_toDomain(x_3))), new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreatedV2Payload(id, input_7.fields[0], (x_5 = data.Profile, (x_5 == null) ? (void 0) : ProfileDetailDtoModule_toDomain(x_5)), creator, input_5.fields[0], (x_7 = data.StepsConfiguration, (x_7 == null) ? (void 0) : StepsConfigurationDtoModule_toDomain(x_7)), JourneyTypeDtoModule_toDomain(data.JourneyType))))));\n }\n }\n }\n case 2: {\n const data_1 = dto.fields[0];\n const id_1 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_1.Id);\n const input_8 = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_toDomain, data_1.Tags));\n if (input_8.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_8.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(2, {\n Id: id_1,\n Tags: input_8.fields[0],\n })));\n }\n }\n case 3: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(3, {\n IsBenefitsStepEnabled: void 0,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0]),\n })));\n }\n case 4: {\n const data_2 = dto.fields[0];\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(3, {\n IsBenefitsStepEnabled: data_2.IsBenefitsStepEnabled,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_2.ProcessInstanceId),\n })));\n }\n case 5: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(4, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(dto.fields[0][1])])));\n }\n case 6: {\n const data_3 = dto.fields[0];\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(5, {\n InjectedBenefits: data_3.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_3.ProcessInstanceId),\n })));\n }\n case 8: {\n const data_4 = dto.fields[0];\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(7, {\n InjectedBenefits: data_4.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_4.ProcessInstanceId),\n })));\n }\n case 7: {\n const data_5 = dto.fields[0];\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(6, {\n InjectedBenefits: data_5.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_5.ProcessInstanceId),\n })));\n }\n case 9: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(8, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0]))));\n }\n case 10: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(9, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0]))));\n }\n case 11: {\n const data_6 = dto.fields[0];\n const processInstanceId_4 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_6.ProcessInstanceId);\n const input_14 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_create)(data_6.InviteCode);\n if (input_14.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_14.fields[0]);\n }\n else {\n let input_12;\n const input_10 = data_6.Branding;\n if (input_10 != null) {\n const input_11 = (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_5__.InviteBrandingDtoModule_toDomain)(input_10);\n input_12 = ((input_11.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_11.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input_11.fields[0])));\n }\n else {\n input_12 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, void 0));\n }\n if (input_12.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_12.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceInviteEvent(0, [processInstanceId_4, input_14.fields[0], input_12.fields[0], (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.EmailSendOptionModule_create)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(data_6.EmailSent, true))])));\n }\n }\n }\n case 12: {\n const data_7 = dto.fields[0];\n const processInstanceId_5 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_7.ProcessInstanceId);\n const input_15 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_create)(data_7.InviteCode);\n if (input_15.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_15.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceInviteEvent(1, [processInstanceId_5, input_15.fields[0], (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.SecondFactorCodeModule_create)(data_7.SecondFactorCode), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.EmailSendOptionModule_create)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(data_7.EmailSent, true))])));\n }\n }\n case 13: {\n const data_8 = dto.fields[0];\n const processInstanceId_6 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_8.ProcessInstanceId);\n const input_16 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_create)(data_8.InviteCode);\n if (input_16.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_16.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceInviteEvent(2, [processInstanceId_6, input_16.fields[0], (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.SecondFactorCodeModule_create)(data_8.SecondFactorCode)])));\n }\n }\n case 14: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceInviteEvent(3, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0]))));\n }\n default: {\n const input_1 = ProcessConfigDtoModule_toDomain(dto.fields[0]);\n if (input_1.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_1.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(0, input_1.fields[0])));\n }\n }\n }\n}\n\nfunction ProcessInstanceEventDtoModule_ofDomain(event) {\n let InviteCode_1, ProcessInstanceId_5, SecondFactorCode, InviteCode, ProcessInstanceId_4, x_9, Id, Config, Creator, x_1, Tags, x_3, Profile, x_5, StepsConfiguration, x_7;\n if (event.tag === 1) {\n const inviteEvent = event.fields[0];\n switch (inviteEvent.tag) {\n case 1: {\n return new ProcessInstanceEventDto(12, (InviteCode_1 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_value)(inviteEvent.fields[0][1]), (ProcessInstanceId_5 = ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(inviteEvent.fields[0][0]) | 0), (SecondFactorCode = (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.SecondFactorCodeModule_value)(inviteEvent.fields[0][2]), {\n EmailSent: (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.EmailSendOptionModule_value)(inviteEvent.fields[0][3]),\n InviteCode: InviteCode_1,\n ProcessInstanceId: ProcessInstanceId_5,\n SecondFactorCode: SecondFactorCode,\n }))));\n }\n case 2: {\n return new ProcessInstanceEventDto(13, {\n InviteCode: (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_value)(inviteEvent.fields[0][1]),\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(inviteEvent.fields[0][0]),\n SecondFactorCode: (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.SecondFactorCodeModule_value)(inviteEvent.fields[0][2]),\n });\n }\n case 3: {\n return new ProcessInstanceEventDto(14, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(inviteEvent.fields[0]));\n }\n default: {\n return new ProcessInstanceEventDto(11, (InviteCode = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_value)(inviteEvent.fields[0][1]), (ProcessInstanceId_4 = ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(inviteEvent.fields[0][0]) | 0), {\n Branding: (x_9 = inviteEvent.fields[0][2], (x_9 == null) ? (void 0) : (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_5__.InviteBrandingDtoModule_ofDomain)(x_9)),\n EmailSent: (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.EmailSendOptionModule_value)(inviteEvent.fields[0][3]),\n InviteCode: InviteCode,\n ProcessInstanceId: ProcessInstanceId_4,\n })));\n }\n }\n }\n else {\n const instanceEvent = event.fields[0];\n switch (instanceEvent.tag) {\n case 1: {\n const data = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(1, (Id = ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data.Id) | 0), (Config = ProcessConfigDtoModule_ofDomain(data.Config), (Creator = ((x_1 = data.Creator, (x_1 == null) ? (void 0) : CreatorDtoModule_ofDomain(x_1))), (Tags = ((x_3 = data.Tags, (x_3 == null) ? (void 0) : (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_ofDomain, x_3))), (Profile = ((x_5 = data.Profile, (x_5 == null) ? (void 0) : ProfileDetailDtoModule_ofDomain(x_5))), (StepsConfiguration = ((x_7 = data.StepsConfiguration, (x_7 == null) ? (void 0) : StepsConfigurationDtoModule_ofDomain(x_7))), {\n Config: Config,\n Creator: Creator,\n Id: Id,\n JourneyType: JourneyTypeDtoModule_ofDomain(data.JourneyType),\n Profile: Profile,\n StepsConfiguration: StepsConfiguration,\n Tags: Tags,\n })))))));\n }\n case 2: {\n const data_1 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(2, {\n Id: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_1.Id),\n Tags: (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_ofDomain, data_1.Tags),\n });\n }\n case 3: {\n const data_2 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(4, {\n IsBenefitsStepEnabled: data_2.IsBenefitsStepEnabled,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_2.ProcessInstanceId),\n });\n }\n case 4: {\n return new ProcessInstanceEventDto(5, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(instanceEvent.fields[0][0]), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(instanceEvent.fields[0][1])]);\n }\n case 5: {\n const data_3 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(6, {\n InjectedBenefits: data_3.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_3.ProcessInstanceId),\n });\n }\n case 7: {\n const data_4 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(8, {\n InjectedBenefits: data_4.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_4.ProcessInstanceId),\n });\n }\n case 6: {\n const data_5 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(7, {\n InjectedBenefits: data_5.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_5.ProcessInstanceId),\n });\n }\n case 8: {\n return new ProcessInstanceEventDto(9, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(instanceEvent.fields[0]));\n }\n case 9: {\n return new ProcessInstanceEventDto(10, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(instanceEvent.fields[0]));\n }\n default: {\n return new ProcessInstanceEventDto(0, ProcessConfigDtoModule_ofDomain(instanceEvent.fields[0]));\n }\n }\n }\n}\n\nconst ProcessInstanceListEventDtoModule_toDomain = (event) => (0,_DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__.EventDto_toDomain)(ProcessInstanceEventDtoModule_toDomain, ProcessInstanceListMetadataDtoModule_toDomain, event);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9EdG8uZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEySDtBQUNvSDtBQUN3aEI7QUFDMW9CO0FBQ1c7QUFDaEI7QUFDd0Q7QUFDbEU7QUFDSztBQUNpQjtBQUNFO0FBQ3lCO0FBQ3RDOztBQUVsSCxtQ0FBbUMsc0hBQU07QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLG9JQUFXLHVIQUF1SCxnSUFBVyxtQkFBbUIsZ0lBQVcsd0JBQXdCLGdJQUFXO0FBQ3pOOztBQUVPO0FBQ1AsZUFBZSwrSEFBYyxRQUFRLDREQUFpQixDQUFDLHlFQUEwQjtBQUNqRjs7QUFFTztBQUNQLG9DQUFvQyx3RUFBeUI7QUFDN0Q7O0FBRU87QUFDUCxXQUFXLDhJQUFlLENBQUMsdUhBQUc7QUFDOUI7O0FBRU8sdUNBQXVDLHNIQUFNO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsMklBQTJJLGtJQUFTLENBQUMsbUlBQVUsMENBQTBDLGtJQUFTLENBQUMsbUlBQVUsQ0FBQyxnSUFBVyxFQUFFLG1JQUFVO0FBQzNROztBQUVPO0FBQ1Asa0JBQWtCLDhJQUFlLENBQUMsdUhBQUcscUJBQXFCLCtIQUFjLEtBQUsseUVBQTBCO0FBQ3ZHO0FBQ0EsbUJBQW1CLCtIQUFjO0FBQ2pDO0FBQ0E7QUFDQSxtQkFBbUIsK0hBQWMsUUFBUSxnRUFBcUI7QUFDOUQ7QUFDQTs7QUFFTztBQUNQLCtEQUErRCx1SEFBRyxpQkFBaUIsd0VBQXlCO0FBQzVHOztBQUVPLHVDQUF1QyxxSEFBSztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLG1JQUFVLHlMQUF5TCxtSUFBVSxpQ0FBaUMsbUlBQVU7QUFDblE7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQiwrSEFBYztBQUN6QztBQUNBO0FBQ0EsMkJBQTJCLCtIQUFjLFFBQVEsZ0VBQXFCO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLGdFQUFxQjtBQUNsRTtBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjLFFBQVEsZ0VBQXFCO0FBQ2xFO0FBQ0E7QUFDQSx1QkFBdUIsK0hBQWMsUUFBUSxnRUFBcUI7QUFDbEU7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPLCtCQUErQixzSEFBTTtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsK0dBQStHLG1JQUFVLDJCQUEyQixnSUFBVyxhQUFhLGtJQUFTO0FBQzNNOztBQUVPO0FBQ1A7QUFDQTtBQUNBLG1CQUFtQiwrSEFBYztBQUNqQztBQUNBO0FBQ0Esc0JBQXNCLDhFQUErQjtBQUNyRDtBQUNBLHVCQUF1QiwrSEFBYztBQUNyQztBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjLFFBQVEsd0RBQWE7QUFDMUQ7QUFDQTtBQUNBOztBQUVPO0FBQ1AsZ0NBQWdDLDBFQUEyQiwwQkFBMEIsdUhBQUc7QUFDeEY7O0FBRU8scUJBQXFCLHNIQUFNO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsNkZBQTZGLGdJQUFXLGFBQWEsZ0lBQVc7QUFDdEo7O0FBRU87QUFDUCxXQUFXLCtEQUFnQjtBQUMzQjs7QUFFTztBQUNQLHNCQUFzQixrRUFBbUIsZUFBZSxtRUFBb0I7QUFDNUU7O0FBRU8sNkNBQTZDLHNIQUFNO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsa0pBQWtKLGdJQUFXLGlCQUFpQixnSUFBVztBQUMvTTs7QUFFTztBQUNQLGVBQWUsK0hBQWMsUUFBUSxzRUFBMkIsQ0FBQyxxRUFBc0IsaUJBQWlCLHFFQUFzQjtBQUM5SDs7QUFFTztBQUNQLDhDQUE4QyxvRUFBcUIsb0JBQW9CLG9FQUFxQjtBQUM1Rzs7QUFFTywrQ0FBK0MscUhBQUs7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxtSUFBVTtBQUNyQjs7QUFFTyxvQ0FBb0Msc0hBQU07QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcseUlBQXlJLG9JQUFXLENBQUMsd0lBQWU7QUFDMUw7O0FBRU87QUFDUDtBQUNBLGVBQWUsNkRBQW9CO0FBQ25DLHlDQUF5QyxzREFBVyxZQUFZLHNEQUFXO0FBQzNFLEtBQUs7QUFDTDs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFTyw2QkFBNkIscUhBQUs7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxtSUFBVTtBQUNyQjs7QUFFTyxvQ0FBb0Msc0hBQU07QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsK0hBQStILG9JQUFXLENBQUMsZ0lBQVc7QUFDNUs7O0FBRU87QUFDUCxlQUFlLDZEQUFrQjtBQUNqQzs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUDtBQUNBLG1CQUFtQixzREFBVyxRQUFRLDZEQUFrQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsc0RBQVc7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHNEQUFXO0FBQzlCO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixzREFBVztBQUM5QjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsc0RBQVc7QUFDOUI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHNEQUFXO0FBQzlCO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU8saUNBQWlDLHNIQUFNO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsbUhBQW1ILCtIQUFVLG1CQUFtQixtSUFBVSxzSUFBc0ksb0lBQVcsQ0FBQyx1RUFBb0IsZUFBZSxvSUFBVyxDQUFDLGtJQUFTLHFDQUFxQyxvSUFBVyxDQUFDLGdJQUFXLDJCQUEyQixvSUFBVyx1REFBdUQsb0lBQVcsMERBQTBELG9JQUFXLENBQUMsOEhBQVMseUJBQXlCLG9JQUFXLENBQUMsOEhBQVM7QUFDM3BCOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLCtIQUFjO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsK0hBQWM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLDhJQUFlLENBQUMsdUhBQUc7QUFDakQ7QUFDQTtBQUNBLHdCQUF3QiwwSEFBTSxXQUFXLDBIQUFNO0FBQy9DLG1DQUFtQywrSEFBYztBQUNqRDtBQUNBO0FBQ0EsbUNBQW1DLCtIQUFjO0FBQ2pEO0FBQ0EsaUJBQWlCO0FBQ2pCLHFEQUFxRCwrSEFBYyw2QkFBNkIsK0hBQWMsUUFBUSxnRUFBcUIsUUFBUSxnRUFBcUI7QUFDeEs7QUFDQTtBQUNBLGdDQUFnQywrSEFBYztBQUM5QztBQUNBO0FBQ0EsMkJBQTJCLCtIQUFjO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsMkVBQXdCO0FBQzVELDBEQUEwRCwrSEFBYywrQkFBK0IsK0hBQWM7QUFDckg7QUFDQTtBQUNBLG1DQUFtQywrSEFBYztBQUNqRDtBQUNBO0FBQ0EsK0JBQStCLCtIQUFjO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsOElBQWUsQ0FBQyx1SEFBRztBQUMzRCw4REFBOEQsK0hBQWMsK0JBQStCLCtIQUFjO0FBQ3pIO0FBQ0E7QUFDQSx1Q0FBdUMsK0hBQWM7QUFDckQ7QUFDQTtBQUNBLG1DQUFtQywrSEFBYztBQUNqRDtBQUNBO0FBQ0EsbUNBQW1DLCtIQUFjLFFBQVEsMERBQWUsQ0FBQyw2RUFBOEIsbUpBQW1KLHFFQUFzQjtBQUNoUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBLGtDQUFrQyw0RUFBNkIsaU1BQWlNLDJFQUF3Qix1REFBdUQsdUhBQUcsaUZBQWlGLG9FQUFxQjtBQUN4Yjs7QUFFTztBQUNQLFdBQVcsOElBQWUsQ0FBQyx1SEFBRztBQUM5Qjs7QUFFTyxxQ0FBcUMsc0hBQU07QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLG9JQUFXLGlJQUFpSSw4RUFBd0IsMkRBQTJELCtIQUFVLHdCQUF3QixrSUFBUztBQUNyUjs7QUFFTztBQUNQLG9CQUFvQiwwRUFBb0I7QUFDeEM7QUFDQSxtQkFBbUIsK0hBQWM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsK0hBQWM7QUFDckM7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLDhEQUFtQixvQkFBb0IsNkVBQThCO0FBQ2xIO0FBQ0E7QUFDQTs7QUFFTztBQUNQLHNDQUFzQywwRUFBb0Isa0VBQWtFLDRFQUE2QixpQkFBaUIsdUhBQUc7QUFDN0s7O0FBRU8sMENBQTBDLHFIQUFLO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsbUlBQVU7QUFDckI7O0FBRU87QUFDUDtBQUNBLG1CQUFtQiwrSEFBYztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYztBQUNyQztBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjO0FBQ3JDO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU8sNkJBQTZCLHNIQUFNO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxvSUFBVyxrSEFBa0gsZ0lBQVcsa0JBQWtCLG9JQUFXLENBQUMsZ0lBQVcsaUJBQWlCLGdJQUFXO0FBQ3hOOztBQUVPO0FBQ1AsZUFBZSxtRUFBd0I7QUFDdkM7O0FBRU87QUFDUDtBQUNBOztBQUVPLHlCQUF5QixzSEFBTTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsbUdBQW1HLGdJQUFXLG9EQUFvRCxnSUFBVztBQUNuTTs7QUFFTztBQUNQLGVBQWUsK0RBQW9CLENBQUMscUVBQXNCO0FBQzFEOztBQUVPO0FBQ1AsMEJBQTBCLG9FQUFxQjtBQUMvQzs7QUFFTywrQkFBK0Isc0hBQU07QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcseUpBQXlKLGdJQUFXLG1CQUFtQixvSUFBVyxDQUFDLGdJQUFXLG1CQUFtQixvSUFBVyxDQUFDLGdJQUFXO0FBQzlROztBQUVPO0FBQ1AsV0FBVyxnRkFBaUM7QUFDNUM7O0FBRU87QUFDUCxnQkFBZ0IsK0VBQWdDO0FBQ2hEO0FBQ0E7O0FBRU8sd0NBQXdDLHFIQUFLO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsbUlBQVUsb0lBQW9JLG1JQUFVLENBQUMsK0hBQVUsRUFBRSxnSUFBVyxlQUFlLG1JQUFVLENBQUMsK0hBQVUsRUFBRSxnSUFBVyxlQUFlLCtIQUFVLGNBQWMsbUlBQVUsQ0FBQywrSEFBVSxFQUFFLDhIQUFTLGVBQWUsbUlBQVUsQ0FBQywrSEFBVSxFQUFFLDhIQUFTLGVBQWUsbUlBQVUsQ0FBQywrSEFBVSxFQUFFLDhIQUFTO0FBQ2paOztBQUVPO0FBQ1A7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLGlFQUFzQixRQUFRLHVFQUE0QixDQUFDLDZFQUE4QixvQkFBb0IseUVBQTBCO0FBQ3BMO0FBQ0E7QUFDQSx1QkFBdUIsK0hBQWMsUUFBUSxpRUFBc0IsSUFBSSw2RUFBOEI7QUFDckc7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLGlFQUFzQjtBQUNuRTtBQUNBLG1DQUFtQyw2RUFBOEI7QUFDakUsYUFBYTtBQUNiO0FBQ0E7QUFDQSx1QkFBdUIsK0hBQWMsUUFBUSxpRUFBc0I7QUFDbkU7QUFDQSxtQ0FBbUMsNkVBQThCO0FBQ2pFLGFBQWE7QUFDYjtBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjLFFBQVEsaUVBQXNCO0FBQ25FO0FBQ0EsbUNBQW1DLDZFQUE4QjtBQUNqRSxhQUFhO0FBQ2I7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLGlFQUFzQixLQUFLLDZFQUE4QixvQkFBb0IseUVBQTBCO0FBQ3BKO0FBQ0E7QUFDQTs7QUFFTyxzQ0FBc0MscUhBQUs7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1AsV0FBVyxtSUFBVSwyS0FBMkssd0lBQWUsd0RBQXdELG9JQUFXLG1DQUFtQywrSEFBVSxtQkFBbUIsb0lBQVcsNENBQTRDLG9JQUFXLHlEQUF5RCxvSUFBVyxnREFBZ0Qsb0lBQVcsQ0FBQyxrSUFBUyxzQ0FBc0Msd0lBQWUsUUFBUSwrSEFBVSxZQUFZLGtJQUFTLHFDQUFxQywrSEFBVSxjQUFjLHdJQUFlLDJCQUEyQixvSUFBVyxDQUFDLDhIQUFTLDBCQUEwQiwrSEFBVSxnQkFBZ0IsbUlBQVUsQ0FBQywrSEFBVSxFQUFFLGdJQUFXLGVBQWUsd0lBQWUsc0JBQXNCLDhIQUFTLHlCQUF5QiwrSEFBVSxnQkFBZ0Isd0lBQWUsc0JBQXNCLDhIQUFTLHlCQUF5QiwrSEFBVSxnQkFBZ0Isd0lBQWUsc0JBQXNCLDhIQUFTLHlCQUF5QiwrSEFBVSxnQkFBZ0IsK0hBQVUsY0FBYywrSEFBVSxjQUFjLHdJQUFlLGNBQWMsb0lBQVcsQ0FBQyw4RUFBNEIsb0JBQW9CLG9JQUFXLENBQUMsOEhBQVMsbUJBQW1CLGdJQUFXLHlCQUF5QiwrSEFBVSxnQkFBZ0Isd0lBQWUsZUFBZSxvSUFBVyxDQUFDLDhIQUFTLG1CQUFtQixnSUFBVyx5QkFBeUIsK0hBQVUsd0JBQXdCLGdJQUFXLGdCQUFnQix3SUFBZSxnQkFBZ0IsZ0lBQVcseUJBQXlCLCtIQUFVLHdCQUF3QixnSUFBVyxnQkFBZ0IsK0hBQVU7QUFDN3BEOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsNkVBQThCO0FBQ3JEO0FBQ0E7QUFDQSwyQkFBMkIsK0hBQWM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyw4SUFBZSxDQUFDLHVIQUFHO0FBQ3ZELDBEQUEwRCwrSEFBYywrQkFBK0IsK0hBQWM7QUFDckg7QUFDQTtBQUNBLG1DQUFtQywrSEFBYztBQUNqRDtBQUNBO0FBQ0EsK0JBQStCLCtIQUFjO0FBQzdDO0FBQ0E7QUFDQSwrQkFBK0IsK0hBQWMsc0dBQXNHLG1FQUF3QixRQUFRLCtEQUFvQixRQUFRLDJEQUFnQjtBQUMvTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLDZFQUE4QjtBQUN2RCw0QkFBNEIsOElBQWUsQ0FBQyx1SEFBRztBQUMvQztBQUNBLDJCQUEyQiwrSEFBYztBQUN6QztBQUNBO0FBQ0EsMkJBQTJCLCtIQUFjLFFBQVEsbUVBQXdCLFFBQVEsK0RBQW9CO0FBQ3JHO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjLFFBQVEsbUVBQXdCLFFBQVEsK0RBQW9CO0FBQ2pHO0FBQ0EsbUNBQW1DLDZFQUE4QjtBQUNqRSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjLFFBQVEsbUVBQXdCLFFBQVEsK0RBQW9CO0FBQ2pHO0FBQ0EsbUNBQW1DLDZFQUE4QjtBQUNqRSxhQUFhO0FBQ2I7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLG1FQUF3QixRQUFRLCtEQUFvQixLQUFLLDZFQUE4QixvQkFBb0IseUVBQTBCO0FBQ2xMO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLG1FQUF3QixRQUFRLCtEQUFvQjtBQUNqRztBQUNBLG1DQUFtQyw2RUFBOEI7QUFDakUsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLG1FQUF3QixRQUFRLCtEQUFvQjtBQUNqRztBQUNBLG1DQUFtQyw2RUFBOEI7QUFDakUsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLG1FQUF3QixRQUFRLCtEQUFvQjtBQUNqRztBQUNBLG1DQUFtQyw2RUFBOEI7QUFDakUsYUFBYTtBQUNiO0FBQ0E7QUFDQSx1QkFBdUIsK0hBQWMsUUFBUSxtRUFBd0IsUUFBUSwrREFBb0IsSUFBSSw2RUFBOEI7QUFDbkk7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYyxRQUFRLG1FQUF3QixRQUFRLCtEQUFvQixJQUFJLDZFQUE4QjtBQUNuSTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsNkVBQThCO0FBQ3RFLDZCQUE2QixzRUFBdUI7QUFDcEQ7QUFDQSwyQkFBMkIsK0hBQWM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxrRkFBZ0M7QUFDckUsNERBQTRELCtIQUFjLGdDQUFnQywrSEFBYztBQUN4SDtBQUNBO0FBQ0Esb0NBQW9DLCtIQUFjO0FBQ2xEO0FBQ0E7QUFDQSwrQkFBK0IsK0hBQWM7QUFDN0M7QUFDQTtBQUNBLCtCQUErQiwrSEFBYyxRQUFRLG1FQUF3QixRQUFRLHFFQUEwQixrRUFBa0Usa0ZBQTRCLENBQUMsZ0lBQVU7QUFDeE47QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdDQUF3Qyw2RUFBOEI7QUFDdEUsNkJBQTZCLHNFQUF1QjtBQUNwRDtBQUNBLDJCQUEyQiwrSEFBYztBQUN6QztBQUNBO0FBQ0EsMkJBQTJCLCtIQUFjLFFBQVEsbUVBQXdCLFFBQVEscUVBQTBCLDhDQUE4QyxtRkFBNkIsMkJBQTJCLGtGQUE0QixDQUFDLGdJQUFVO0FBQ3hQO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDLDZFQUE4QjtBQUN0RSw2QkFBNkIsc0VBQXVCO0FBQ3BEO0FBQ0EsMkJBQTJCLCtIQUFjO0FBQ3pDO0FBQ0E7QUFDQSwyQkFBMkIsK0hBQWMsUUFBUSxtRUFBd0IsUUFBUSxxRUFBMEIsOENBQThDLG1GQUE2QjtBQUN0TDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsK0hBQWMsUUFBUSxtRUFBd0IsUUFBUSxxRUFBMEIsSUFBSSw2RUFBOEI7QUFDekk7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsK0hBQWM7QUFDekM7QUFDQTtBQUNBLDJCQUEyQiwrSEFBYyxRQUFRLG1FQUF3QixRQUFRLCtEQUFvQjtBQUNyRztBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1RUFBdUUscUVBQXNCLG9EQUFvRCw0RUFBNkIscURBQXFELGtGQUE0QjtBQUMvUCwrQkFBK0IsaUZBQTJCO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MscUVBQXNCO0FBQ3RELHVDQUF1Qyw0RUFBNkI7QUFDcEUsc0NBQXNDLGtGQUE0QjtBQUNsRSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLHVEQUF1RCw0RUFBNkI7QUFDcEY7QUFDQTtBQUNBLHFFQUFxRSxxRUFBc0Isb0RBQW9ELDRFQUE2QjtBQUM1SywwRkFBMEYsa0ZBQWdDO0FBQzFILCtCQUErQixpRkFBMkI7QUFDMUQ7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELDRFQUE2Qiw0TkFBNE4sdUhBQUc7QUFDelQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsNEVBQTZCO0FBQ3JELDBCQUEwQix1SEFBRztBQUM3QixpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qyw0RUFBNkI7QUFDcEUsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSx1REFBdUQsNEVBQTZCLDhCQUE4Qix3RUFBeUI7QUFDM0k7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qyw0RUFBNkI7QUFDcEUsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsNEVBQTZCO0FBQ3BFLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLDRFQUE2QjtBQUNwRSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLHNEQUFzRCw0RUFBNkI7QUFDbkY7QUFDQTtBQUNBLHVEQUF1RCw0RUFBNkI7QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU8sOERBQThELHVFQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9EdG8uZnMuanM/MzRiMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbmlvbiwgUmVjb3JkIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9UeXBlcy5qc1wiO1xuaW1wb3J0IHsgYm9vbF90eXBlLCBpbnQzMl90eXBlLCBvcHRpb25fdHlwZSwgYW5vblJlY29yZF90eXBlLCB1bmlvbl90eXBlLCB0dXBsZV90eXBlLCBsaXN0X3R5cGUsIGNsYXNzX3R5cGUsIHJlY29yZF90eXBlLCBzdHJpbmdfdHlwZSB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvUmVmbGVjdGlvbi5qc1wiO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlSW52aXRlRXZlbnQsIFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCwgUHJvY2Vzc0luc3RhbmNlRXZlbnQsIENyZWF0ZWRWMlBheWxvYWQsIFByb2Nlc3NJbnN0YW5jZUNvbW1hbmQsIENvbXBsZXRlU3RlcFYyQ29tbWFuZFBheWxvYWQsIENyZWF0aW9uRGF0YV9Qcm9maWxlTW9kdWxlX3ZhbHVlLCBDcmVhdGlvbkRhdGFfUHJvZmlsZU1vZHVsZV9jcmVhdGUsIENyZWF0aW9uRGF0YV9DcmVhdG9yLCBDcmVhdGlvbkRhdGFfUHJvZmlsZU5hbWUsIFByb2Nlc3NJbnN0YW5jZUxpc3QsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlLCBQcm9jZXNzSW5zdGFuY2UsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZSwgSm91cm5leVR5cGUsIEpvdXJuZXlUeXBlRGV0YWlscywgU3RlcHNDb25maWd1cmF0aW9uIGFzIFN0ZXBzQ29uZmlndXJhdGlvbl8xLCBTaG93T3B0aW9ucywgUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhLCBUYWdWYWx1ZU1vZHVsZV92YWx1ZSwgVGFnTmFtZU1vZHVsZV92YWx1ZSwgVGFnTW9kdWxlX2NyZWF0ZSwgUHJvY2Vzc0NvbmZpZ0lkTW9kdWxlX3ZhbHVlLCBQcm9jZXNzQ29uZmlnLCBQcm9jZXNzQ29uZmlnSWRNb2R1bGVfdHJ5Q3JlYXRlLCBQcm9jZXNzSW5zdGFuY2VTdGF0dXMsIEFjdGl2ZVByb2Nlc3NJbnN0YW5jZSwgUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZSwgUHJvY2Vzc1N0ZXBDb25maWcsIFByb2Nlc3NTdGVwSWRNb2R1bGVfY3JlYXRlIH0gZnJvbSBcIi4vRG9tYWluLmZzLmpzXCI7XG5pbXBvcnQgeyBGU2hhcnBSZXN1bHQkMiB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5pbXBvcnQgeyBzZXF1ZW5jZVJlc3VsdE0gfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZzVG9vbGtpdC5FcnJvckhhbmRsaW5nLjMuMi4wL0xpc3QuZnMuanNcIjtcbmltcG9ydCB7IGV4aXN0cywgbWFwIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9MaXN0LmpzXCI7XG5pbXBvcnQgeyBJbnZpdGVDb2RlTW9kdWxlX3ZhbHVlLCBJbnZpdGVDb2RlTW9kdWxlX2NyZWF0ZSwgUHJvZmlsZUlkTW9kdWxlX3ZhbHVlLCBBY2NvdW50SWRNb2R1bGVfdmFsdWUsIFByb2ZpbGVJZE1vZHVsZV9jcmVhdGUsIEFjY291bnRJZE1vZHVsZV9jcmVhdGUgfSBmcm9tIFwiLi4vQ29tbW9uLmZzLmpzXCI7XG5pbXBvcnQgeyBJbnZpdGVEdG9Nb2R1bGVfb2ZEb21haW4sIEludml0ZUR0b01vZHVsZV90b0RvbWFpbiwgSW52aXRlRHRvJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi9JbnZpdGUvRHRvLmZzLmpzXCI7XG5pbXBvcnQgeyBlcXVhbHMgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1V0aWwuanNcIjtcbmltcG9ydCB7IEV2ZW50RHRvX3RvRG9tYWluLCBNZXRhZGF0YUR0b19vZkRvbWFpbiwgTWV0YWRhdGFEdG9fdG9Eb21haW4sIE1ldGFkYXRhRHRvJDEkcmVmbGVjdGlvbiB9IGZyb20gXCIuLi8uLi9EdG9QcmltaXRpdmVzLmZzLmpzXCI7XG5pbXBvcnQgeyBJbnZpdGVCcmFuZGluZ0R0b01vZHVsZV9vZkRvbWFpbiwgSW52aXRlQnJhbmRpbmdEdG9Nb2R1bGVfdG9Eb21haW4sIEludml0ZUJyYW5kaW5nRHRvJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi4vQ29tbW9uRHRvLmZzLmpzXCI7XG5pbXBvcnQgeyBFbWFpbFNlbmRPcHRpb25Nb2R1bGVfdmFsdWUsIFNlY29uZEZhY3RvckNvZGVNb2R1bGVfdmFsdWUsIFNlY29uZEZhY3RvckNvZGVNb2R1bGVfY3JlYXRlLCBFbWFpbFNlbmRPcHRpb25Nb2R1bGVfY3JlYXRlIH0gZnJvbSBcIi4vSW52aXRlL0RvbWFpbi5mcy5qc1wiO1xuaW1wb3J0IHsgZGVmYXVsdEFyZyB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvT3B0aW9uLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzU3RlcENvbmZpZ0R0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSWQsIERpc3BsYXlOYW1lLCBDb21wb25lbnRUYWdOYW1lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSWQgPSBJZDtcbiAgICAgICAgdGhpcy5EaXNwbGF5TmFtZSA9IERpc3BsYXlOYW1lO1xuICAgICAgICB0aGlzLkNvbXBvbmVudFRhZ05hbWUgPSBDb21wb25lbnRUYWdOYW1lO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NTdGVwQ29uZmlnRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc1N0ZXBDb25maWdEdG9cIiwgW10sIFByb2Nlc3NTdGVwQ29uZmlnRHRvLCAoKSA9PiBbW1wiSWRcIiwgc3RyaW5nX3R5cGVdLCBbXCJEaXNwbGF5TmFtZVwiLCBzdHJpbmdfdHlwZV0sIFtcIkNvbXBvbmVudFRhZ05hbWVcIiwgc3RyaW5nX3R5cGVdXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzU3RlcENvbmZpZ0R0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzU3RlcENvbmZpZyhQcm9jZXNzU3RlcElkTW9kdWxlX2NyZWF0ZShkdG8uSWQpLCBkdG8uRGlzcGxheU5hbWUsIGR0by5Db21wb25lbnRUYWdOYW1lKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzU3RlcENvbmZpZ0R0b01vZHVsZV9vZkRvbWFpbihkb21haW4pIHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NTdGVwQ29uZmlnRHRvKFByb2Nlc3NTdGVwSWRNb2R1bGVfdmFsdWUoZG9tYWluLklkKSwgZG9tYWluLkRpc3BsYXlOYW1lLCBkb21haW4uQ29tcG9uZW50VGFnTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzU3RlcENvbmZpZ0R0b01vZHVsZV9MaXN0X3RvRG9tYWluKGR0b0xpc3QpIHtcbiAgICByZXR1cm4gc2VxdWVuY2VSZXN1bHRNKG1hcChQcm9jZXNzU3RlcENvbmZpZ0R0b01vZHVsZV90b0RvbWFpbiwgZHRvTGlzdCkpO1xufVxuXG5leHBvcnQgY2xhc3MgQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihBY3RpdmF0ZWREYXRlcywgQ29tcGxldGVkU3RlcHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5BY3RpdmF0ZWREYXRlcyA9IEFjdGl2YXRlZERhdGVzO1xuICAgICAgICB0aGlzLkNvbXBsZXRlZFN0ZXBzID0gQ29tcGxldGVkU3RlcHM7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvXCIsIFtdLCBBY3RpdmVQcm9jZXNzSW5zdGFuY2VEdG8sICgpID0+IFtbXCJBY3RpdmF0ZWREYXRlc1wiLCBsaXN0X3R5cGUoY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKSldLCBbXCJDb21wbGV0ZWRTdGVwc1wiLCBsaXN0X3R5cGUodHVwbGVfdHlwZShzdHJpbmdfdHlwZSwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKSkpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGNvbnN0IGlucHV0ID0gc2VxdWVuY2VSZXN1bHRNKG1hcCgodHVwbGVkQXJnKSA9PiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIFtQcm9jZXNzU3RlcElkTW9kdWxlX2NyZWF0ZSh0dXBsZWRBcmdbMF0pLCB0dXBsZWRBcmdbMV1dKSksIGR0by5Db21wbGV0ZWRTdGVwcykpO1xuICAgIGlmIChpbnB1dC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgQWN0aXZlUHJvY2Vzc0luc3RhbmNlKGR0by5BY3RpdmF0ZWREYXRlcywgaW5wdXQuZmllbGRzWzBdKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIHJldHVybiBuZXcgQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvKGRvbWFpbi5BY3RpdmF0ZWREYXRlcywgbWFwKCh0dXBsZWRBcmcpID0+IFtQcm9jZXNzU3RlcElkTW9kdWxlX3ZhbHVlKHR1cGxlZEFyZ1swXSksIHR1cGxlZEFyZ1sxXV0sIGRvbWFpbi5Db21wbGV0ZWRTdGVwcykpO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlU3RhdHVzRHRvIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJJbmFjdGl2ZVwiLCBcIkFjdGl2ZVwiLCBcIkNvbXBsZXRlXCIsIFwiQWJhbmRvbmVkXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZVN0YXR1c0R0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc0luc3RhbmNlU3RhdHVzRHRvXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VTdGF0dXNEdG8sICgpID0+IFtbXSwgW1tcIkl0ZW1cIiwgQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpXV0sIFtbXCJJdGVtXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIildXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlU3RhdHVzRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIHN3aXRjaCAoZHRvLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBBY3RpdmVQcm9jZXNzSW5zdGFuY2VEdG9Nb2R1bGVfdG9Eb21haW4oZHRvLmZpZWxkc1swXSk7XG4gICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZVN0YXR1cygxLCBtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlU3RhdHVzKDIsIGR0by5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZVN0YXR1cygzLCBkdG8uZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlU3RhdHVzKDApKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZVN0YXR1c0R0b01vZHVsZV9vZkRvbWFpbihkb21haW4pIHtcbiAgICBzd2l0Y2ggKGRvbWFpbi50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZVN0YXR1c0R0bygxLCBBY3RpdmVQcm9jZXNzSW5zdGFuY2VEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VTdGF0dXNEdG8oMiwgZG9tYWluLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZVN0YXR1c0R0bygzLCBkb21haW4uZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZVN0YXR1c0R0bygwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NDb25maWdEdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKElkLCBOYW1lLCBTdGVwcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLklkID0gSWQ7XG4gICAgICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgICAgIHRoaXMuU3RlcHMgPSBTdGVwcztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc0NvbmZpZ0R0b1wiLCBbXSwgUHJvY2Vzc0NvbmZpZ0R0bywgKCkgPT4gW1tcIklkXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uR3VpZFwiKV0sIFtcIk5hbWVcIiwgc3RyaW5nX3R5cGVdLCBbXCJTdGVwc1wiLCBsaXN0X3R5cGUoUHJvY2Vzc1N0ZXBDb25maWdEdG8kcmVmbGVjdGlvbigpKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NDb25maWdEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgY29uc3QgaW5wdXRfMiA9IFByb2Nlc3NTdGVwQ29uZmlnRHRvTW9kdWxlX0xpc3RfdG9Eb21haW4oZHRvLlN0ZXBzKTtcbiAgICBpZiAoaW5wdXRfMi50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBpbnB1dCA9IFByb2Nlc3NDb25maWdJZE1vZHVsZV90cnlDcmVhdGUoZHRvLklkKTtcbiAgICAgICAgaWYgKGlucHV0LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dC5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0NvbmZpZyhpbnB1dC5maWVsZHNbMF0sIGR0by5OYW1lLCBpbnB1dF8yLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0NvbmZpZ0R0b01vZHVsZV9vZkRvbWFpbihkb21haW4pIHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NDb25maWdEdG8oUHJvY2Vzc0NvbmZpZ0lkTW9kdWxlX3ZhbHVlKGRvbWFpbi5JZCksIGRvbWFpbi5OYW1lLCBtYXAoUHJvY2Vzc1N0ZXBDb25maWdEdG9Nb2R1bGVfb2ZEb21haW4sIGRvbWFpbi5TdGVwcykpO1xufVxuXG5leHBvcnQgY2xhc3MgVGFnRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihOYW1lLCBWYWx1ZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLk5hbWUgPSBOYW1lO1xuICAgICAgICB0aGlzLlZhbHVlID0gVmFsdWU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVGFnRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uVGFnRHRvXCIsIFtdLCBUYWdEdG8sICgpID0+IFtbXCJOYW1lXCIsIHN0cmluZ190eXBlXSwgW1wiVmFsdWVcIiwgc3RyaW5nX3R5cGVdXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYWdEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgcmV0dXJuIFRhZ01vZHVsZV9jcmVhdGUoZHRvLk5hbWUsIGR0by5WYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYWdEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgcmV0dXJuIG5ldyBUYWdEdG8oVGFnTmFtZU1vZHVsZV92YWx1ZShkb21haW4uTmFtZSksIFRhZ1ZhbHVlTW9kdWxlX3ZhbHVlKGRvbWFpbi5WYWx1ZSkpO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihBY2NvdW50SWQsIFByb2ZpbGVJZCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkFjY291bnRJZCA9IEFjY291bnRJZDtcbiAgICAgICAgdGhpcy5Qcm9maWxlSWQgPSBQcm9maWxlSWQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhRHRvXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VMaXN0TWV0YWRhdGFEdG8sICgpID0+IFtbXCJBY2NvdW50SWRcIiwgc3RyaW5nX3R5cGVdLCBbXCJQcm9maWxlSWRcIiwgc3RyaW5nX3R5cGVdXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0TWV0YWRhdGFEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhKEFjY291bnRJZE1vZHVsZV9jcmVhdGUoZHRvLkFjY291bnRJZCksIFByb2ZpbGVJZE1vZHVsZV9jcmVhdGUoZHRvLlByb2ZpbGVJZCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0b01vZHVsZV9vZkRvbWFpbihkb21haW4pIHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0byhBY2NvdW50SWRNb2R1bGVfdmFsdWUoZG9tYWluLkFjY291bnRJZCksIFByb2ZpbGVJZE1vZHVsZV92YWx1ZShkb21haW4uUHJvZmlsZUlkKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBCZW5lZml0c09uYm9hcmRpbmdTaG93T3B0aW9uc0R0byBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiV2hlbkVuYWJsZWRcIiwgXCJBbHdheXNcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQmVuZWZpdHNPbmJvYXJkaW5nU2hvd09wdGlvbnNEdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLkJlbmVmaXRzT25ib2FyZGluZ1Nob3dPcHRpb25zRHRvXCIsIFtdLCBCZW5lZml0c09uYm9hcmRpbmdTaG93T3B0aW9uc0R0bywgKCkgPT4gW1tdLCBbXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgU3RlcHNDb25maWd1cmF0aW9uRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihCZW5lZml0c09uYm9hcmRpbmcpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5CZW5lZml0c09uYm9hcmRpbmcgPSBCZW5lZml0c09uYm9hcmRpbmc7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcHNDb25maWd1cmF0aW9uRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uU3RlcHNDb25maWd1cmF0aW9uRHRvXCIsIFtdLCBTdGVwc0NvbmZpZ3VyYXRpb25EdG8sICgpID0+IFtbXCJCZW5lZml0c09uYm9hcmRpbmdcIiwgb3B0aW9uX3R5cGUoYW5vblJlY29yZF90eXBlKFtcIlNob3dcIiwgQmVuZWZpdHNPbmJvYXJkaW5nU2hvd09wdGlvbnNEdG8kcmVmbGVjdGlvbigpXSkpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcHNDb25maWd1cmF0aW9uRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGxldCB4XzEsIGJvO1xuICAgIHJldHVybiBuZXcgU3RlcHNDb25maWd1cmF0aW9uXzEoKHhfMSA9IGR0by5CZW5lZml0c09uYm9hcmRpbmcsICh4XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6ICgoYm8gPSB4XzEsIHtcbiAgICAgICAgU2hvdzogKGJvLlNob3cudGFnID09PSAxKSA/IChuZXcgU2hvd09wdGlvbnMoMSkpIDogKG5ldyBTaG93T3B0aW9ucygwKSksXG4gICAgfSkpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwc0NvbmZpZ3VyYXRpb25EdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgbGV0IHhfMSwgYm87XG4gICAgcmV0dXJuIG5ldyBTdGVwc0NvbmZpZ3VyYXRpb25EdG8oKHhfMSA9IGRvbWFpbi5CZW5lZml0c09uYm9hcmRpbmcsICh4XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6ICgoYm8gPSB4XzEsIHtcbiAgICAgICAgU2hvdzogKGJvLlNob3cudGFnID09PSAxKSA/IChuZXcgQmVuZWZpdHNPbmJvYXJkaW5nU2hvd09wdGlvbnNEdG8oMSkpIDogKG5ldyBCZW5lZml0c09uYm9hcmRpbmdTaG93T3B0aW9uc0R0bygwKSksXG4gICAgfSkpKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBKb3VybmV5VHlwZUR0byBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiRGVmYXVsdFwiLCBcIkluZm9SZXF1ZXN0XCIsIFwiQXBwSW52aXRlXCIsIFwiQmVuZWZpdHNFeGlzdGluZ1wiLCBcIkJlbmVmaXRzT25ib2FyZGluZ1wiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBKb3VybmV5VHlwZUR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uSm91cm5leVR5cGVEdG9cIiwgW10sIEpvdXJuZXlUeXBlRHRvLCAoKSA9PiBbW1tcIkl0ZW1cIiwgSm91cm5leVR5cGVEZXRhaWxzRHRvJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBKb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEpvdXJuZXlUeXBlRGV0YWlsc0R0byRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgSm91cm5leVR5cGVEZXRhaWxzRHRvJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBKb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEpvdXJuZXlUeXBlRGV0YWlsc0R0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQ2F0ZWdvcnkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5DYXRlZ29yeSA9IENhdGVnb3J5O1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvdXJuZXlUeXBlRGV0YWlsc0R0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLkpvdXJuZXlUeXBlRGV0YWlsc0R0b1wiLCBbXSwgSm91cm5leVR5cGVEZXRhaWxzRHRvLCAoKSA9PiBbW1wiQ2F0ZWdvcnlcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEZXRhaWxzKGR0by5DYXRlZ29yeSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBKb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfb2ZEb21haW4oZGV0YWlscykge1xuICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEZXRhaWxzRHRvKGRldGFpbHMuQ2F0ZWdvcnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgaWYgKGR0byA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGUoMCwgbmV3IEpvdXJuZXlUeXBlRGV0YWlscyh2b2lkIDApKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZHRvLnRhZyA9PT0gMSkge1xuICAgICAgICBjb25zdCBkZXRhaWxzXzEgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDEsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzXzEpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZHRvLnRhZyA9PT0gMikge1xuICAgICAgICBjb25zdCBkZXRhaWxzXzIgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDIsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzXzIpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZHRvLnRhZyA9PT0gMykge1xuICAgICAgICBjb25zdCBkZXRhaWxzXzMgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDMsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzXzMpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZHRvLnRhZyA9PT0gNCkge1xuICAgICAgICBjb25zdCBkZXRhaWxzXzQgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDQsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzXzQpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDAsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVEdG9Nb2R1bGVfb2ZEb21haW4oam91cm5leVR5cGUpIHtcbiAgICBzd2l0Y2ggKGpvdXJuZXlUeXBlLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEdG8oMSwgSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX29mRG9tYWluKGpvdXJuZXlUeXBlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBKb3VybmV5VHlwZUR0bygyLCBKb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfb2ZEb21haW4oam91cm5leVR5cGUuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlRHRvKDMsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV9vZkRvbWFpbihqb3VybmV5VHlwZS5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEdG8oNCwgSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX29mRG9tYWluKGpvdXJuZXlUeXBlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEdG8oMCwgSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX29mRG9tYWluKGpvdXJuZXlUeXBlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihJZCwgRGF0ZUNyZWF0ZWQsIENvbmZpZ3VyYXRpb24sIFN0YXR1cywgSW52aXRlLCBUYWdzLCBDcmVhdG9yLCBTdGVwc0NvbmZpZ3VyYXRpb24sIEpvdXJuZXlUeXBlLCBJc0JlbmVmaXRzU3RlcEVuYWJsZWQsIFBheVNldHVwQ29tcGxldGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5JZCA9IChJZCB8IDApO1xuICAgICAgICB0aGlzLkRhdGVDcmVhdGVkID0gRGF0ZUNyZWF0ZWQ7XG4gICAgICAgIHRoaXMuQ29uZmlndXJhdGlvbiA9IENvbmZpZ3VyYXRpb247XG4gICAgICAgIHRoaXMuU3RhdHVzID0gU3RhdHVzO1xuICAgICAgICB0aGlzLkludml0ZSA9IEludml0ZTtcbiAgICAgICAgdGhpcy5UYWdzID0gVGFncztcbiAgICAgICAgdGhpcy5DcmVhdG9yID0gQ3JlYXRvcjtcbiAgICAgICAgdGhpcy5TdGVwc0NvbmZpZ3VyYXRpb24gPSBTdGVwc0NvbmZpZ3VyYXRpb247XG4gICAgICAgIHRoaXMuSm91cm5leVR5cGUgPSBKb3VybmV5VHlwZTtcbiAgICAgICAgdGhpcy5Jc0JlbmVmaXRzU3RlcEVuYWJsZWQgPSBJc0JlbmVmaXRzU3RlcEVuYWJsZWQ7XG4gICAgICAgIHRoaXMuUGF5U2V0dXBDb21wbGV0ZSA9IFBheVNldHVwQ29tcGxldGU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc0luc3RhbmNlRHRvXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VEdG8sICgpID0+IFtbXCJJZFwiLCBpbnQzMl90eXBlXSwgW1wiRGF0ZUNyZWF0ZWRcIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKV0sIFtcIkNvbmZpZ3VyYXRpb25cIiwgUHJvY2Vzc0NvbmZpZ0R0byRyZWZsZWN0aW9uKCldLCBbXCJTdGF0dXNcIiwgUHJvY2Vzc0luc3RhbmNlU3RhdHVzRHRvJHJlZmxlY3Rpb24oKV0sIFtcIkludml0ZVwiLCBvcHRpb25fdHlwZShJbnZpdGVEdG8kcmVmbGVjdGlvbigpKV0sIFtcIlRhZ3NcIiwgb3B0aW9uX3R5cGUobGlzdF90eXBlKFRhZ0R0byRyZWZsZWN0aW9uKCkpKV0sIFtcIkNyZWF0b3JcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiU3RlcHNDb25maWd1cmF0aW9uXCIsIG9wdGlvbl90eXBlKFN0ZXBzQ29uZmlndXJhdGlvbkR0byRyZWZsZWN0aW9uKCkpXSwgW1wiSm91cm5leVR5cGVcIiwgb3B0aW9uX3R5cGUoSm91cm5leVR5cGVEdG8kcmVmbGVjdGlvbigpKV0sIFtcIklzQmVuZWZpdHNTdGVwRW5hYmxlZFwiLCBvcHRpb25fdHlwZShib29sX3R5cGUpXSwgW1wiUGF5U2V0dXBDb21wbGV0ZVwiLCBvcHRpb25fdHlwZShib29sX3R5cGUpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGxldCB4XzUsIHhfNztcbiAgICBjb25zdCBpbnB1dF8xNSA9IFByb2Nlc3NDb25maWdEdG9Nb2R1bGVfdG9Eb21haW4oZHRvLkNvbmZpZ3VyYXRpb24pO1xuICAgIGlmIChpbnB1dF8xNS50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xNS5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGlucHV0XzE1LmZpZWxkc1swXTtcbiAgICAgICAgY29uc3QgaW5wdXRfMTMgPSBQcm9jZXNzSW5zdGFuY2VTdGF0dXNEdG9Nb2R1bGVfdG9Eb21haW4oZHRvLlN0YXR1cyk7XG4gICAgICAgIGlmIChpbnB1dF8xMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTMuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGlucHV0XzEzLmZpZWxkc1swXTtcbiAgICAgICAgICAgIGxldCBpbnB1dF8xMTtcbiAgICAgICAgICAgIGlmIChzdGF0dXMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlUHJvY2Vzc0luc3RhbmNlID0gc3RhdHVzLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dCA9IHNlcXVlbmNlUmVzdWx0TShtYXAoKHR1cGxlZEFyZ18xKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHR1cGxlZEFyZyA9IFt0dXBsZWRBcmdfMVswXSwgdHVwbGVkQXJnXzFbMV1dO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9jZXNzU3RlcElkID0gdHVwbGVkQXJnWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXhpc3RzKChzdGVwKSA9PiBlcXVhbHMoc3RlcC5JZCwgcHJvY2Vzc1N0ZXBJZCksIGNvbmZpZ3VyYXRpb24uU3RlcHMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIFtwcm9jZXNzU3RlcElkLCB0dXBsZWRBcmdbMV1dKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgXCJTdGVwIGlkIGlzIG5vdCBjb25maWd1cmVkIGZvciB0aGlzIFByb2Nlc3MgSW5zdGFuY2UuXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgYWN0aXZlUHJvY2Vzc0luc3RhbmNlLkNvbXBsZXRlZFN0ZXBzKSk7XG4gICAgICAgICAgICAgICAgaW5wdXRfMTEgPSAoKGlucHV0LnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlU3RhdHVzKDEsIG5ldyBBY3RpdmVQcm9jZXNzSW5zdGFuY2UoYWN0aXZlUHJvY2Vzc0luc3RhbmNlLkFjdGl2YXRlZERhdGVzLCBpbnB1dC5maWVsZHNbMF0pKSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlucHV0XzExID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBzdGF0dXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpbnB1dF8xMS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzExLmZpZWxkc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgaW5wdXRfOTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8yID0gZHRvLkludml0ZTtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRfMiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzMgPSBJbnZpdGVEdG9Nb2R1bGVfdG9Eb21haW4oaW5wdXRfMik7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0XzkgPSAoKGlucHV0XzMudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMy5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfMy5maWVsZHNbMF0pKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dF85ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0XzkudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfOS5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGlucHV0Xzc7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzUgPSBkdG8uVGFncztcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0XzUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfNiA9IHNlcXVlbmNlUmVzdWx0TShtYXAoVGFnRHRvTW9kdWxlX3RvRG9tYWluLCBpbnB1dF81KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dF83ID0gKChpbnB1dF82LnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzYuZmllbGRzWzBdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGlucHV0XzYuZmllbGRzWzBdKSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfNyA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0XzcudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzcuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZShQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZHRvLklkKSwgY29uZmlndXJhdGlvbiwgZHRvLkRhdGVDcmVhdGVkLCBpbnB1dF8xMS5maWVsZHNbMF0sIGlucHV0XzkuZmllbGRzWzBdLCBpbnB1dF83LmZpZWxkc1swXSwgKHhfNSA9IGR0by5DcmVhdG9yLCAoeF81ID09IG51bGwpID8gKHZvaWQgMCkgOiBQcm9maWxlSWRNb2R1bGVfY3JlYXRlKHhfNSkpLCAoeF83ID0gZHRvLlN0ZXBzQ29uZmlndXJhdGlvbiwgKHhfNyA9PSBudWxsKSA/ICh2b2lkIDApIDogU3RlcHNDb25maWd1cmF0aW9uRHRvTW9kdWxlX3RvRG9tYWluKHhfNykpLCBKb3VybmV5VHlwZUR0b01vZHVsZV90b0RvbWFpbihkdG8uSm91cm5leVR5cGUpLCBkdG8uSXNCZW5lZml0c1N0ZXBFbmFibGVkLCBkdG8uUGF5U2V0dXBDb21wbGV0ZSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIGxldCB4XzEsIHhfMywgeF81LCB4Xzc7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VEdG8oUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoZG9tYWluLklkKSwgZG9tYWluLkRhdGVDcmVhdGVkLCBQcm9jZXNzQ29uZmlnRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbi5Db25maWd1cmF0aW9uKSwgUHJvY2Vzc0luc3RhbmNlU3RhdHVzRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbi5TdGF0dXMpLCAoeF8xID0gZG9tYWluLkludml0ZSwgKHhfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogSW52aXRlRHRvTW9kdWxlX29mRG9tYWluKHhfMSkpLCAoeF8zID0gZG9tYWluLlRhZ3MsICh4XzMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IG1hcChUYWdEdG9Nb2R1bGVfb2ZEb21haW4sIHhfMykpLCAoeF81ID0gZG9tYWluLkNyZWF0b3IsICh4XzUgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFByb2ZpbGVJZE1vZHVsZV92YWx1ZSh4XzUpKSwgKHhfNyA9IGRvbWFpbi5TdGVwc0NvbmZpZ3VyYXRpb24sICh4XzcgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFN0ZXBzQ29uZmlndXJhdGlvbkR0b01vZHVsZV9vZkRvbWFpbih4XzcpKSwgSm91cm5leVR5cGVEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluLkpvdXJuZXlUeXBlKSwgZG9tYWluLklzQmVuZWZpdHNTdGVwRW5hYmxlZCwgZG9tYWluLlBheVNldHVwQ29tcGxldGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX0xpc3RfdG9Eb21haW4oZHRvTGlzdCkge1xuICAgIHJldHVybiBzZXF1ZW5jZVJlc3VsdE0obWFwKFByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV90b0RvbWFpbiwgZHRvTGlzdCkpO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlTGlzdER0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoTWV0YWRhdGEsIE5leHRJZCwgUHJvY2Vzc0luc3RhbmNlcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLk1ldGFkYXRhID0gTWV0YWRhdGE7XG4gICAgICAgIHRoaXMuTmV4dElkID0gKE5leHRJZCB8IDApO1xuICAgICAgICB0aGlzLlByb2Nlc3NJbnN0YW5jZXMgPSBQcm9jZXNzSW5zdGFuY2VzO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3REdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkR0by5Qcm9jZXNzSW5zdGFuY2VMaXN0RHRvXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VMaXN0RHRvLCAoKSA9PiBbW1wiTWV0YWRhdGFcIiwgTWV0YWRhdGFEdG8kMSRyZWZsZWN0aW9uKFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0byRyZWZsZWN0aW9uKCkpXSwgW1wiTmV4dElkXCIsIGludDMyX3R5cGVdLCBbXCJQcm9jZXNzSW5zdGFuY2VzXCIsIGxpc3RfdHlwZShQcm9jZXNzSW5zdGFuY2VEdG8kcmVmbGVjdGlvbigpKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3REdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgY29uc3QgaW5wdXRfMiA9IE1ldGFkYXRhRHRvX3RvRG9tYWluKFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0b01vZHVsZV90b0RvbWFpbiwgZHRvLk1ldGFkYXRhKTtcbiAgICBpZiAoaW5wdXRfMi50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBpbnB1dCA9IFByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV9MaXN0X3RvRG9tYWluKGR0by5Qcm9jZXNzSW5zdGFuY2VzKTtcbiAgICAgICAgaWYgKGlucHV0LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dC5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdChpbnB1dF8yLmZpZWxkc1swXSwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5OZXh0SWQpLCBpbnB1dC5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3REdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RHRvKE1ldGFkYXRhRHRvX29mRG9tYWluKFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0b01vZHVsZV9vZkRvbWFpbiwgZG9tYWluLk1ldGFkYXRhKSwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoZG9tYWluLk5leHRJZCksIG1hcChQcm9jZXNzSW5zdGFuY2VEdG9Nb2R1bGVfb2ZEb21haW4sIGRvbWFpbi5Qcm9jZXNzSW5zdGFuY2VzKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSW5zdGFuY2VWZXJzaW9uZWREdG8gZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIlYxXCIsIFwiVW51c2VkXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZVZlcnNpb25lZER0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc0luc3RhbmNlVmVyc2lvbmVkRHRvXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VWZXJzaW9uZWREdG8sICgpID0+IFtbW1wiSXRlbVwiLCBQcm9jZXNzSW5zdGFuY2VMaXN0RHRvJHJlZmxlY3Rpb24oKV1dLCBbXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlVmVyc2lvbmVkRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGlmIChkdG8udGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgXCJVbnVzZWRcIik7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBpbnB1dCA9IFByb2Nlc3NJbnN0YW5jZUxpc3REdG9Nb2R1bGVfdG9Eb21haW4oZHRvLmZpZWxkc1swXSk7XG4gICAgICAgIGlmIChpbnB1dC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXQuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXQuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZVZlcnNpb25lZER0b01vZHVsZV9vZkRvbWFpbihkb21haW4pIHtcbiAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZVZlcnNpb25lZER0bygwLCBQcm9jZXNzSW5zdGFuY2VMaXN0RHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbikpO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvZmlsZU5hbWVEdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKEZpcnN0TmFtZSwgTWlkZGxlTmFtZSwgTGFzdE5hbWUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5GaXJzdE5hbWUgPSBGaXJzdE5hbWU7XG4gICAgICAgIHRoaXMuTWlkZGxlTmFtZSA9IE1pZGRsZU5hbWU7XG4gICAgICAgIHRoaXMuTGFzdE5hbWUgPSBMYXN0TmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9maWxlTmFtZUR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlByb2ZpbGVOYW1lRHRvXCIsIFtdLCBQcm9maWxlTmFtZUR0bywgKCkgPT4gW1tcIkZpcnN0TmFtZVwiLCBzdHJpbmdfdHlwZV0sIFtcIk1pZGRsZU5hbWVcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiTGFzdE5hbWVcIiwgc3RyaW5nX3R5cGVdXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9maWxlTmFtZUR0b01vZHVsZV90b0RvbWFpbihuKSB7XG4gICAgcmV0dXJuIG5ldyBDcmVhdGlvbkRhdGFfUHJvZmlsZU5hbWUobi5GaXJzdE5hbWUsIG4uTWlkZGxlTmFtZSwgbi5MYXN0TmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9maWxlTmFtZUR0b01vZHVsZV9vZkRvbWFpbihuKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9maWxlTmFtZUR0byhuLkZpcnN0TmFtZSwgbi5NaWRkbGVOYW1lLCBuLkxhc3ROYW1lKTtcbn1cblxuZXhwb3J0IGNsYXNzIENyZWF0b3JEdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKElkLCBOYW1lLCBFbWFpbCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLklkID0gSWQ7XG4gICAgICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgICAgIHRoaXMuRW1haWwgPSBFbWFpbDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdG9yRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uQ3JlYXRvckR0b1wiLCBbXSwgQ3JlYXRvckR0bywgKCkgPT4gW1tcIklkXCIsIHN0cmluZ190eXBlXSwgW1wiTmFtZVwiLCBQcm9maWxlTmFtZUR0byRyZWZsZWN0aW9uKCldLCBbXCJFbWFpbFwiLCBzdHJpbmdfdHlwZV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0b3JEdG9Nb2R1bGVfdG9Eb21haW4oYykge1xuICAgIHJldHVybiBuZXcgQ3JlYXRpb25EYXRhX0NyZWF0b3IoUHJvZmlsZUlkTW9kdWxlX2NyZWF0ZShjLklkKSwgUHJvZmlsZU5hbWVEdG9Nb2R1bGVfdG9Eb21haW4oYy5OYW1lKSwgYy5FbWFpbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdG9yRHRvTW9kdWxlX29mRG9tYWluKGMpIHtcbiAgICByZXR1cm4gbmV3IENyZWF0b3JEdG8oUHJvZmlsZUlkTW9kdWxlX3ZhbHVlKGMuSWQpLCBQcm9maWxlTmFtZUR0b01vZHVsZV9vZkRvbWFpbihjLk5hbWUpLCBjLkVtYWlsKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2ZpbGVEZXRhaWxEdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKE5hbWUsIEVtYWlsLCBNb2JpbGVQaG9uZSwgRXh0ZXJuYWxJZCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLk5hbWUgPSBOYW1lO1xuICAgICAgICB0aGlzLkVtYWlsID0gRW1haWw7XG4gICAgICAgIHRoaXMuTW9iaWxlUGhvbmUgPSBNb2JpbGVQaG9uZTtcbiAgICAgICAgdGhpcy5FeHRlcm5hbElkID0gRXh0ZXJuYWxJZDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9maWxlRGV0YWlsRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvZmlsZURldGFpbER0b1wiLCBbXSwgUHJvZmlsZURldGFpbER0bywgKCkgPT4gW1tcIk5hbWVcIiwgUHJvZmlsZU5hbWVEdG8kcmVmbGVjdGlvbigpXSwgW1wiRW1haWxcIiwgc3RyaW5nX3R5cGVdLCBbXCJNb2JpbGVQaG9uZVwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldLCBbXCJFeHRlcm5hbElkXCIsIG9wdGlvbl90eXBlKHN0cmluZ190eXBlKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2ZpbGVEZXRhaWxEdG9Nb2R1bGVfdG9Eb21haW4ocCkge1xuICAgIHJldHVybiBDcmVhdGlvbkRhdGFfUHJvZmlsZU1vZHVsZV9jcmVhdGUoUHJvZmlsZU5hbWVEdG9Nb2R1bGVfdG9Eb21haW4ocC5OYW1lKSwgcC5FeHRlcm5hbElkLCBwLkVtYWlsLCBwLk1vYmlsZVBob25lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2ZpbGVEZXRhaWxEdG9Nb2R1bGVfb2ZEb21haW4ocCkge1xuICAgIGNvbnN0IHBfMSA9IENyZWF0aW9uRGF0YV9Qcm9maWxlTW9kdWxlX3ZhbHVlKHApO1xuICAgIHJldHVybiBuZXcgUHJvZmlsZURldGFpbER0byhQcm9maWxlTmFtZUR0b01vZHVsZV9vZkRvbWFpbihwXzEuTmFtZSksIHBfMS5FbWFpbCwgcF8xLk1vYmlsZVBob25lLCBwXzEuRXh0ZXJuYWxJZCk7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJDb21wbGV0ZVN0ZXBcIiwgXCJDb21wbGV0ZVN0ZXBWMlwiLCBcIkNvbXBsZXRlXCIsIFwiVmlld1BheVNldHVwUGFnZVwiLCBcIkNvbXBsZXRlUGF5U2V0dXBcIiwgXCJSZXN1bWVQYXlTZXR1cFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkR0by5Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvLCAoKSA9PiBbW1tcIkl0ZW1cIiwgdHVwbGVfdHlwZShpbnQzMl90eXBlLCBzdHJpbmdfdHlwZSldXSwgW1tcIkl0ZW1cIiwgdHVwbGVfdHlwZShpbnQzMl90eXBlLCBzdHJpbmdfdHlwZSldXSwgW1tcIkl0ZW1cIiwgaW50MzJfdHlwZV1dLCBbW1wiSXRlbVwiLCB0dXBsZV90eXBlKGludDMyX3R5cGUsIGJvb2xfdHlwZSldXSwgW1tcIkl0ZW1cIiwgdHVwbGVfdHlwZShpbnQzMl90eXBlLCBib29sX3R5cGUpXV0sIFtbXCJJdGVtXCIsIHR1cGxlX3R5cGUoaW50MzJfdHlwZSwgYm9vbF90eXBlKV1dXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIHN3aXRjaCAoZHRvLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUNvbW1hbmQoNCwgbmV3IENvbXBsZXRlU3RlcFYyQ29tbWFuZFBheWxvYWQoUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5maWVsZHNbMF1bMF0pLCBQcm9jZXNzU3RlcElkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdWzFdKSkpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUNvbW1hbmQoOCwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5maWVsZHNbMF0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kKDUsIHtcbiAgICAgICAgICAgICAgICBJbmplY3RlZEJlbmVmaXRzOiBkdG8uZmllbGRzWzBdWzFdLFxuICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXVswXSksXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kKDcsIHtcbiAgICAgICAgICAgICAgICBJbmplY3RlZEJlbmVmaXRzOiBkdG8uZmllbGRzWzBdWzFdLFxuICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXVswXSksXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kKDYsIHtcbiAgICAgICAgICAgICAgICBJbmplY3RlZEJlbmVmaXRzOiBkdG8uZmllbGRzWzBdWzFdLFxuICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXVswXSksXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZCgzLCBbUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5maWVsZHNbMF1bMF0pLCBQcm9jZXNzU3RlcElkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdWzFdKV0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJDcmVhdGVkXCIsIFwiQ3JlYXRlZFYyXCIsIFwiVGFnc0FkZGVkXCIsIFwiQWN0aXZhdGVkXCIsIFwiQWN0aXZhdGVkVjJcIiwgXCJTdGVwQ29tcGxldGVkXCIsIFwiUGF5U2V0dXBQYWdlVmlld2VkXCIsIFwiUGF5U2V0dXBDb21wbGV0ZWRcIiwgXCJQYXlTZXR1cFJlc3VtZWRcIiwgXCJDb21wbGV0ZWRcIiwgXCJBYmFuZG9uZWRcIiwgXCJJbnZpdGVDcmVhdGVkXCIsIFwiSW52aXRlU2Vjb25kRmFjdG9yQ29kZUlzc3VlZFwiLCBcIkludml0ZVNlY29uZEZhY3RvckF0dGVtcHRlZFwiLCBcIkludml0ZVNlY29uZEZhY3RvclN1Y2NlZWRlZFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VFdmVudER0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc0luc3RhbmNlRXZlbnREdG9cIiwgW10sIFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvLCAoKSA9PiBbW1tcIkl0ZW1cIiwgUHJvY2Vzc0NvbmZpZ0R0byRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkNvbmZpZ1wiLCBQcm9jZXNzQ29uZmlnRHRvJHJlZmxlY3Rpb24oKV0sIFtcIkNyZWF0b3JcIiwgb3B0aW9uX3R5cGUoQ3JlYXRvckR0byRyZWZsZWN0aW9uKCkpXSwgW1wiSWRcIiwgaW50MzJfdHlwZV0sIFtcIkpvdXJuZXlUeXBlXCIsIG9wdGlvbl90eXBlKEpvdXJuZXlUeXBlRHRvJHJlZmxlY3Rpb24oKSldLCBbXCJQcm9maWxlXCIsIG9wdGlvbl90eXBlKFByb2ZpbGVEZXRhaWxEdG8kcmVmbGVjdGlvbigpKV0sIFtcIlN0ZXBzQ29uZmlndXJhdGlvblwiLCBvcHRpb25fdHlwZShTdGVwc0NvbmZpZ3VyYXRpb25EdG8kcmVmbGVjdGlvbigpKV0sIFtcIlRhZ3NcIiwgb3B0aW9uX3R5cGUobGlzdF90eXBlKFRhZ0R0byRyZWZsZWN0aW9uKCkpKV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJZFwiLCBpbnQzMl90eXBlXSwgW1wiVGFnc1wiLCBsaXN0X3R5cGUoVGFnRHRvJHJlZmxlY3Rpb24oKSldKV1dLCBbW1wiSXRlbVwiLCBpbnQzMl90eXBlXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJc0JlbmVmaXRzU3RlcEVuYWJsZWRcIiwgb3B0aW9uX3R5cGUoYm9vbF90eXBlKV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIGludDMyX3R5cGVdKV1dLCBbW1wiSXRlbVwiLCB0dXBsZV90eXBlKGludDMyX3R5cGUsIHN0cmluZ190eXBlKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSW5qZWN0ZWRCZW5lZml0c1wiLCBib29sX3R5cGVdLCBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiLCBpbnQzMl90eXBlXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgaW50MzJfdHlwZV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJbmplY3RlZEJlbmVmaXRzXCIsIGJvb2xfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIGludDMyX3R5cGVdKV1dLCBbW1wiSXRlbVwiLCBpbnQzMl90eXBlXV0sIFtbXCJJdGVtXCIsIGludDMyX3R5cGVdXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkJyYW5kaW5nXCIsIG9wdGlvbl90eXBlKEludml0ZUJyYW5kaW5nRHRvJHJlZmxlY3Rpb24oKSldLCBbXCJFbWFpbFNlbnRcIiwgb3B0aW9uX3R5cGUoYm9vbF90eXBlKV0sIFtcIkludml0ZUNvZGVcIiwgc3RyaW5nX3R5cGVdLCBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiLCBpbnQzMl90eXBlXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkVtYWlsU2VudFwiLCBvcHRpb25fdHlwZShib29sX3R5cGUpXSwgW1wiSW52aXRlQ29kZVwiLCBzdHJpbmdfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIGludDMyX3R5cGVdLCBbXCJTZWNvbmRGYWN0b3JDb2RlXCIsIHN0cmluZ190eXBlXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkludml0ZUNvZGVcIiwgc3RyaW5nX3R5cGVdLCBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiLCBpbnQzMl90eXBlXSwgW1wiU2Vjb25kRmFjdG9yQ29kZVwiLCBzdHJpbmdfdHlwZV0pXV0sIFtbXCJJdGVtXCIsIGludDMyX3R5cGVdXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRXZlbnREdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgbGV0IGNyZWF0b3IsIHhfMywgeF81LCB4Xzc7XG4gICAgc3dpdGNoIChkdG8udGFnKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGR0by5maWVsZHNbMF07XG4gICAgICAgICAgICBjb25zdCBpZCA9IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkYXRhLklkKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzcgPSBQcm9jZXNzQ29uZmlnRHRvTW9kdWxlX3RvRG9tYWluKGRhdGEuQ29uZmlnKTtcbiAgICAgICAgICAgIGlmIChpbnB1dF83LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNy5maWVsZHNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IGlucHV0XzU7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfMyA9IGRhdGEuVGFncztcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRfMyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzQgPSBzZXF1ZW5jZVJlc3VsdE0obWFwKFRhZ0R0b01vZHVsZV90b0RvbWFpbiwgaW5wdXRfMykpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dF81ID0gKChpbnB1dF80LnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzQuZmllbGRzWzBdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGlucHV0XzQuZmllbGRzWzBdKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRfNSA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpbnB1dF81LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgKGNyZWF0b3IgPSAoKHhfMyA9IGRhdGEuQ3JlYXRvciwgKHhfMyA9PSBudWxsKSA/ICh2b2lkIDApIDogQ3JlYXRvckR0b01vZHVsZV90b0RvbWFpbih4XzMpKSksIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50KDEsIG5ldyBDcmVhdGVkVjJQYXlsb2FkKGlkLCBpbnB1dF83LmZpZWxkc1swXSwgKHhfNSA9IGRhdGEuUHJvZmlsZSwgKHhfNSA9PSBudWxsKSA/ICh2b2lkIDApIDogUHJvZmlsZURldGFpbER0b01vZHVsZV90b0RvbWFpbih4XzUpKSwgY3JlYXRvciwgaW5wdXRfNS5maWVsZHNbMF0sICh4XzcgPSBkYXRhLlN0ZXBzQ29uZmlndXJhdGlvbiwgKHhfNyA9PSBudWxsKSA/ICh2b2lkIDApIDogU3RlcHNDb25maWd1cmF0aW9uRHRvTW9kdWxlX3RvRG9tYWluKHhfNykpLCBKb3VybmV5VHlwZUR0b01vZHVsZV90b0RvbWFpbihkYXRhLkpvdXJuZXlUeXBlKSkpKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFfMSA9IGR0by5maWVsZHNbMF07XG4gICAgICAgICAgICBjb25zdCBpZF8xID0gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGRhdGFfMS5JZCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF84ID0gc2VxdWVuY2VSZXN1bHRNKG1hcChUYWdEdG9Nb2R1bGVfdG9Eb21haW4sIGRhdGFfMS5UYWdzKSk7XG4gICAgICAgICAgICBpZiAoaW5wdXRfOC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzguZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCgwLCBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnQoMiwge1xuICAgICAgICAgICAgICAgICAgICBJZDogaWRfMSxcbiAgICAgICAgICAgICAgICAgICAgVGFnczogaW5wdXRfOC5maWVsZHNbMF0sXG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCgwLCBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnQoMywge1xuICAgICAgICAgICAgICAgIElzQmVuZWZpdHNTdGVwRW5hYmxlZDogdm9pZCAwLFxuICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXSksXG4gICAgICAgICAgICB9KSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgY29uc3QgZGF0YV8yID0gZHRvLmZpZWxkc1swXTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCgwLCBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnQoMywge1xuICAgICAgICAgICAgICAgIElzQmVuZWZpdHNTdGVwRW5hYmxlZDogZGF0YV8yLklzQmVuZWZpdHNTdGVwRW5hYmxlZCxcbiAgICAgICAgICAgICAgICBQcm9jZXNzSW5zdGFuY2VJZDogUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGRhdGFfMi5Qcm9jZXNzSW5zdGFuY2VJZCksXG4gICAgICAgICAgICB9KSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNToge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudCg0LCBbUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5maWVsZHNbMF1bMF0pLCBQcm9jZXNzU3RlcElkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdWzFdKV0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhXzMgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudCg1LCB7XG4gICAgICAgICAgICAgICAgSW5qZWN0ZWRCZW5lZml0czogZGF0YV8zLkluamVjdGVkQmVuZWZpdHMsXG4gICAgICAgICAgICAgICAgUHJvY2Vzc0luc3RhbmNlSWQ6IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkYXRhXzMuUHJvY2Vzc0luc3RhbmNlSWQpLFxuICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDg6IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFfNCA9IGR0by5maWVsZHNbMF07XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50KDcsIHtcbiAgICAgICAgICAgICAgICBJbmplY3RlZEJlbmVmaXRzOiBkYXRhXzQuSW5qZWN0ZWRCZW5lZml0cyxcbiAgICAgICAgICAgICAgICBQcm9jZXNzSW5zdGFuY2VJZDogUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGRhdGFfNC5Qcm9jZXNzSW5zdGFuY2VJZCksXG4gICAgICAgICAgICB9KSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgY29uc3QgZGF0YV81ID0gZHRvLmZpZWxkc1swXTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCgwLCBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnQoNiwge1xuICAgICAgICAgICAgICAgIEluamVjdGVkQmVuZWZpdHM6IGRhdGFfNS5JbmplY3RlZEJlbmVmaXRzLFxuICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZGF0YV81LlByb2Nlc3NJbnN0YW5jZUlkKSxcbiAgICAgICAgICAgIH0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA5OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50KDgsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdKSkpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDEwOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50KDksIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdKSkpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDExOiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhXzYgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc0luc3RhbmNlSWRfNCA9IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkYXRhXzYuUHJvY2Vzc0luc3RhbmNlSWQpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfMTQgPSBJbnZpdGVDb2RlTW9kdWxlX2NyZWF0ZShkYXRhXzYuSW52aXRlQ29kZSk7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMTQudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xNC5maWVsZHNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IGlucHV0XzEyO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzEwID0gZGF0YV82LkJyYW5kaW5nO1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dF8xMCAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzExID0gSW52aXRlQnJhbmRpbmdEdG9Nb2R1bGVfdG9Eb21haW4oaW5wdXRfMTApO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dF8xMiA9ICgoaW5wdXRfMTEudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTEuZmllbGRzWzBdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGlucHV0XzExLmZpZWxkc1swXSkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0XzEyID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0XzEyLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEyLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMSwgbmV3IFByb2Nlc3NJbnN0YW5jZUludml0ZUV2ZW50KDAsIFtwcm9jZXNzSW5zdGFuY2VJZF80LCBpbnB1dF8xNC5maWVsZHNbMF0sIGlucHV0XzEyLmZpZWxkc1swXSwgRW1haWxTZW5kT3B0aW9uTW9kdWxlX2NyZWF0ZShkZWZhdWx0QXJnKGRhdGFfNi5FbWFpbFNlbnQsIHRydWUpKV0pKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhc2UgMTI6IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFfNyA9IGR0by5maWVsZHNbMF07XG4gICAgICAgICAgICBjb25zdCBwcm9jZXNzSW5zdGFuY2VJZF81ID0gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGRhdGFfNy5Qcm9jZXNzSW5zdGFuY2VJZCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF8xNSA9IEludml0ZUNvZGVNb2R1bGVfY3JlYXRlKGRhdGFfNy5JbnZpdGVDb2RlKTtcbiAgICAgICAgICAgIGlmIChpbnB1dF8xNS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzE1LmZpZWxkc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMSwgbmV3IFByb2Nlc3NJbnN0YW5jZUludml0ZUV2ZW50KDEsIFtwcm9jZXNzSW5zdGFuY2VJZF81LCBpbnB1dF8xNS5maWVsZHNbMF0sIFNlY29uZEZhY3RvckNvZGVNb2R1bGVfY3JlYXRlKGRhdGFfNy5TZWNvbmRGYWN0b3JDb2RlKSwgRW1haWxTZW5kT3B0aW9uTW9kdWxlX2NyZWF0ZShkZWZhdWx0QXJnKGRhdGFfNy5FbWFpbFNlbnQsIHRydWUpKV0pKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxMzoge1xuICAgICAgICAgICAgY29uc3QgZGF0YV84ID0gZHRvLmZpZWxkc1swXTtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NJbnN0YW5jZUlkXzYgPSBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZGF0YV84LlByb2Nlc3NJbnN0YW5jZUlkKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzE2ID0gSW52aXRlQ29kZU1vZHVsZV9jcmVhdGUoZGF0YV84Lkludml0ZUNvZGUpO1xuICAgICAgICAgICAgaWYgKGlucHV0XzE2LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTYuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCgxLCBuZXcgUHJvY2Vzc0luc3RhbmNlSW52aXRlRXZlbnQoMiwgW3Byb2Nlc3NJbnN0YW5jZUlkXzYsIGlucHV0XzE2LmZpZWxkc1swXSwgU2Vjb25kRmFjdG9yQ29kZU1vZHVsZV9jcmVhdGUoZGF0YV84LlNlY29uZEZhY3RvckNvZGUpXSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXNlIDE0OiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMSwgbmV3IFByb2Nlc3NJbnN0YW5jZUludml0ZUV2ZW50KDMsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdKSkpKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF8xID0gUHJvY2Vzc0NvbmZpZ0R0b01vZHVsZV90b0RvbWFpbihkdG8uZmllbGRzWzBdKTtcbiAgICAgICAgICAgIGlmIChpbnB1dF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMS5maWVsZHNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudCgwLCBpbnB1dF8xLmZpZWxkc1swXSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvTW9kdWxlX29mRG9tYWluKGV2ZW50KSB7XG4gICAgbGV0IEludml0ZUNvZGVfMSwgUHJvY2Vzc0luc3RhbmNlSWRfNSwgU2Vjb25kRmFjdG9yQ29kZSwgSW52aXRlQ29kZSwgUHJvY2Vzc0luc3RhbmNlSWRfNCwgeF85LCBJZCwgQ29uZmlnLCBDcmVhdG9yLCB4XzEsIFRhZ3MsIHhfMywgUHJvZmlsZSwgeF81LCBTdGVwc0NvbmZpZ3VyYXRpb24sIHhfNztcbiAgICBpZiAoZXZlbnQudGFnID09PSAxKSB7XG4gICAgICAgIGNvbnN0IGludml0ZUV2ZW50ID0gZXZlbnQuZmllbGRzWzBdO1xuICAgICAgICBzd2l0Y2ggKGludml0ZUV2ZW50LnRhZykge1xuICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0bygxMiwgKEludml0ZUNvZGVfMSA9IEludml0ZUNvZGVNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzFdKSwgKFByb2Nlc3NJbnN0YW5jZUlkXzUgPSAoUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzBdKSB8IDApLCAoU2Vjb25kRmFjdG9yQ29kZSA9IFNlY29uZEZhY3RvckNvZGVNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzJdKSwge1xuICAgICAgICAgICAgICAgICAgICBFbWFpbFNlbnQ6IEVtYWlsU2VuZE9wdGlvbk1vZHVsZV92YWx1ZShpbnZpdGVFdmVudC5maWVsZHNbMF1bM10pLFxuICAgICAgICAgICAgICAgICAgICBJbnZpdGVDb2RlOiBJbnZpdGVDb2RlXzEsXG4gICAgICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZF81LFxuICAgICAgICAgICAgICAgICAgICBTZWNvbmRGYWN0b3JDb2RlOiBTZWNvbmRGYWN0b3JDb2RlLFxuICAgICAgICAgICAgICAgIH0pKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0bygxMywge1xuICAgICAgICAgICAgICAgICAgICBJbnZpdGVDb2RlOiBJbnZpdGVDb2RlTW9kdWxlX3ZhbHVlKGludml0ZUV2ZW50LmZpZWxkc1swXVsxXSksXG4gICAgICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShpbnZpdGVFdmVudC5maWVsZHNbMF1bMF0pLFxuICAgICAgICAgICAgICAgICAgICBTZWNvbmRGYWN0b3JDb2RlOiBTZWNvbmRGYWN0b3JDb2RlTW9kdWxlX3ZhbHVlKGludml0ZUV2ZW50LmZpZWxkc1swXVsyXSksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDE0LCBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShpbnZpdGVFdmVudC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDExLCAoSW52aXRlQ29kZSA9IEludml0ZUNvZGVNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzFdKSwgKFByb2Nlc3NJbnN0YW5jZUlkXzQgPSAoUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzBdKSB8IDApLCB7XG4gICAgICAgICAgICAgICAgICAgIEJyYW5kaW5nOiAoeF85ID0gaW52aXRlRXZlbnQuZmllbGRzWzBdWzJdLCAoeF85ID09IG51bGwpID8gKHZvaWQgMCkgOiBJbnZpdGVCcmFuZGluZ0R0b01vZHVsZV9vZkRvbWFpbih4XzkpKSxcbiAgICAgICAgICAgICAgICAgICAgRW1haWxTZW50OiBFbWFpbFNlbmRPcHRpb25Nb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzNdKSxcbiAgICAgICAgICAgICAgICAgICAgSW52aXRlQ29kZTogSW52aXRlQ29kZSxcbiAgICAgICAgICAgICAgICAgICAgUHJvY2Vzc0luc3RhbmNlSWQ6IFByb2Nlc3NJbnN0YW5jZUlkXzQsXG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5zdGFuY2VFdmVudCA9IGV2ZW50LmZpZWxkc1swXTtcbiAgICAgICAgc3dpdGNoIChpbnN0YW5jZUV2ZW50LnRhZykge1xuICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGluc3RhbmNlRXZlbnQuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnREdG8oMSwgKElkID0gKFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKGRhdGEuSWQpIHwgMCksIChDb25maWcgPSBQcm9jZXNzQ29uZmlnRHRvTW9kdWxlX29mRG9tYWluKGRhdGEuQ29uZmlnKSwgKENyZWF0b3IgPSAoKHhfMSA9IGRhdGEuQ3JlYXRvciwgKHhfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogQ3JlYXRvckR0b01vZHVsZV9vZkRvbWFpbih4XzEpKSksIChUYWdzID0gKCh4XzMgPSBkYXRhLlRhZ3MsICh4XzMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IG1hcChUYWdEdG9Nb2R1bGVfb2ZEb21haW4sIHhfMykpKSwgKFByb2ZpbGUgPSAoKHhfNSA9IGRhdGEuUHJvZmlsZSwgKHhfNSA9PSBudWxsKSA/ICh2b2lkIDApIDogUHJvZmlsZURldGFpbER0b01vZHVsZV9vZkRvbWFpbih4XzUpKSksIChTdGVwc0NvbmZpZ3VyYXRpb24gPSAoKHhfNyA9IGRhdGEuU3RlcHNDb25maWd1cmF0aW9uLCAoeF83ID09IG51bGwpID8gKHZvaWQgMCkgOiBTdGVwc0NvbmZpZ3VyYXRpb25EdG9Nb2R1bGVfb2ZEb21haW4oeF83KSkpLCB7XG4gICAgICAgICAgICAgICAgICAgIENvbmZpZzogQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBDcmVhdG9yOiBDcmVhdG9yLFxuICAgICAgICAgICAgICAgICAgICBJZDogSWQsXG4gICAgICAgICAgICAgICAgICAgIEpvdXJuZXlUeXBlOiBKb3VybmV5VHlwZUR0b01vZHVsZV9vZkRvbWFpbihkYXRhLkpvdXJuZXlUeXBlKSxcbiAgICAgICAgICAgICAgICAgICAgUHJvZmlsZTogUHJvZmlsZSxcbiAgICAgICAgICAgICAgICAgICAgU3RlcHNDb25maWd1cmF0aW9uOiBTdGVwc0NvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIFRhZ3M6IFRhZ3MsXG4gICAgICAgICAgICAgICAgfSkpKSkpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhXzEgPSBpbnN0YW5jZUV2ZW50LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDIsIHtcbiAgICAgICAgICAgICAgICAgICAgSWQ6IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKGRhdGFfMS5JZCksXG4gICAgICAgICAgICAgICAgICAgIFRhZ3M6IG1hcChUYWdEdG9Nb2R1bGVfb2ZEb21haW4sIGRhdGFfMS5UYWdzKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFfMiA9IGluc3RhbmNlRXZlbnQuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnREdG8oNCwge1xuICAgICAgICAgICAgICAgICAgICBJc0JlbmVmaXRzU3RlcEVuYWJsZWQ6IGRhdGFfMi5Jc0JlbmVmaXRzU3RlcEVuYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShkYXRhXzIuUHJvY2Vzc0luc3RhbmNlSWQpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0byg1LCBbUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoaW5zdGFuY2VFdmVudC5maWVsZHNbMF1bMF0pLCBQcm9jZXNzU3RlcElkTW9kdWxlX3ZhbHVlKGluc3RhbmNlRXZlbnQuZmllbGRzWzBdWzFdKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YV8zID0gaW5zdGFuY2VFdmVudC5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0byg2LCB7XG4gICAgICAgICAgICAgICAgICAgIEluamVjdGVkQmVuZWZpdHM6IGRhdGFfMy5JbmplY3RlZEJlbmVmaXRzLFxuICAgICAgICAgICAgICAgICAgICBQcm9jZXNzSW5zdGFuY2VJZDogUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoZGF0YV8zLlByb2Nlc3NJbnN0YW5jZUlkKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFfNCA9IGluc3RhbmNlRXZlbnQuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnREdG8oOCwge1xuICAgICAgICAgICAgICAgICAgICBJbmplY3RlZEJlbmVmaXRzOiBkYXRhXzQuSW5qZWN0ZWRCZW5lZml0cyxcbiAgICAgICAgICAgICAgICAgICAgUHJvY2Vzc0luc3RhbmNlSWQ6IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKGRhdGFfNC5Qcm9jZXNzSW5zdGFuY2VJZCksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhXzUgPSBpbnN0YW5jZUV2ZW50LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDcsIHtcbiAgICAgICAgICAgICAgICAgICAgSW5qZWN0ZWRCZW5lZml0czogZGF0YV81LkluamVjdGVkQmVuZWZpdHMsXG4gICAgICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShkYXRhXzUuUHJvY2Vzc0luc3RhbmNlSWQpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSA4OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0byg5LCBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShpbnN0YW5jZUV2ZW50LmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSA5OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0bygxMCwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoaW5zdGFuY2VFdmVudC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDAsIFByb2Nlc3NDb25maWdEdG9Nb2R1bGVfb2ZEb21haW4oaW5zdGFuY2VFdmVudC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudER0b01vZHVsZV90b0RvbWFpbiA9IChldmVudCkgPT4gRXZlbnREdG9fdG9Eb21haW4oUHJvY2Vzc0luc3RhbmNlRXZlbnREdG9Nb2R1bGVfdG9Eb21haW4sIFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0b01vZHVsZV90b0RvbWFpbiwgZXZlbnQpO1xuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/ProcessInstanceList/Dto.fs.js\n");
|
|
63
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ActiveProcessInstanceDto: () => (/* binding */ ActiveProcessInstanceDto),\n/* harmony export */ ActiveProcessInstanceDto$reflection: () => (/* binding */ ActiveProcessInstanceDto$reflection),\n/* harmony export */ ActiveProcessInstanceDtoModule_ofDomain: () => (/* binding */ ActiveProcessInstanceDtoModule_ofDomain),\n/* harmony export */ ActiveProcessInstanceDtoModule_toDomain: () => (/* binding */ ActiveProcessInstanceDtoModule_toDomain),\n/* harmony export */ BenefitsOnboardingShowOptionsDto: () => (/* binding */ BenefitsOnboardingShowOptionsDto),\n/* harmony export */ BenefitsOnboardingShowOptionsDto$reflection: () => (/* binding */ BenefitsOnboardingShowOptionsDto$reflection),\n/* harmony export */ CreatorDto: () => (/* binding */ CreatorDto),\n/* harmony export */ CreatorDto$reflection: () => (/* binding */ CreatorDto$reflection),\n/* harmony export */ CreatorDtoModule_ofDomain: () => (/* binding */ CreatorDtoModule_ofDomain),\n/* harmony export */ CreatorDtoModule_toDomain: () => (/* binding */ CreatorDtoModule_toDomain),\n/* harmony export */ JourneyTypeDetailsDto: () => (/* binding */ JourneyTypeDetailsDto),\n/* harmony export */ JourneyTypeDetailsDto$reflection: () => (/* binding */ JourneyTypeDetailsDto$reflection),\n/* harmony export */ JourneyTypeDetailsDtoModule_ofDomain: () => (/* binding */ JourneyTypeDetailsDtoModule_ofDomain),\n/* harmony export */ JourneyTypeDetailsDtoModule_toDomain: () => (/* binding */ JourneyTypeDetailsDtoModule_toDomain),\n/* harmony export */ JourneyTypeDto: () => (/* binding */ JourneyTypeDto),\n/* harmony export */ JourneyTypeDto$reflection: () => (/* binding */ JourneyTypeDto$reflection),\n/* harmony export */ JourneyTypeDtoModule_ofDomain: () => (/* binding */ JourneyTypeDtoModule_ofDomain),\n/* harmony export */ JourneyTypeDtoModule_toDomain: () => (/* binding */ JourneyTypeDtoModule_toDomain),\n/* harmony export */ ProcessConfigDto: () => (/* binding */ ProcessConfigDto),\n/* harmony export */ ProcessConfigDto$reflection: () => (/* binding */ ProcessConfigDto$reflection),\n/* harmony export */ ProcessConfigDtoModule_ofDomain: () => (/* binding */ ProcessConfigDtoModule_ofDomain),\n/* harmony export */ ProcessConfigDtoModule_toDomain: () => (/* binding */ ProcessConfigDtoModule_toDomain),\n/* harmony export */ ProcessInstanceCommandDto: () => (/* binding */ ProcessInstanceCommandDto),\n/* harmony export */ ProcessInstanceCommandDto$reflection: () => (/* binding */ ProcessInstanceCommandDto$reflection),\n/* harmony export */ ProcessInstanceCommandDtoModule_toDomain: () => (/* binding */ ProcessInstanceCommandDtoModule_toDomain),\n/* harmony export */ ProcessInstanceDto: () => (/* binding */ ProcessInstanceDto),\n/* harmony export */ ProcessInstanceDto$reflection: () => (/* binding */ ProcessInstanceDto$reflection),\n/* harmony export */ ProcessInstanceDtoModule_List_toDomain: () => (/* binding */ ProcessInstanceDtoModule_List_toDomain),\n/* harmony export */ ProcessInstanceDtoModule_ofDomain: () => (/* binding */ ProcessInstanceDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceDtoModule_toDomain: () => (/* binding */ ProcessInstanceDtoModule_toDomain),\n/* harmony export */ ProcessInstanceEventDto: () => (/* binding */ ProcessInstanceEventDto),\n/* harmony export */ ProcessInstanceEventDto$reflection: () => (/* binding */ ProcessInstanceEventDto$reflection),\n/* harmony export */ ProcessInstanceEventDtoModule_ofDomain: () => (/* binding */ ProcessInstanceEventDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceEventDtoModule_toDomain: () => (/* binding */ ProcessInstanceEventDtoModule_toDomain),\n/* harmony export */ ProcessInstanceListDto: () => (/* binding */ ProcessInstanceListDto),\n/* harmony export */ ProcessInstanceListDto$reflection: () => (/* binding */ ProcessInstanceListDto$reflection),\n/* harmony export */ ProcessInstanceListDtoModule_ofDomain: () => (/* binding */ ProcessInstanceListDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceListDtoModule_toDomain: () => (/* binding */ ProcessInstanceListDtoModule_toDomain),\n/* harmony export */ ProcessInstanceListEventDtoModule_toDomain: () => (/* binding */ ProcessInstanceListEventDtoModule_toDomain),\n/* harmony export */ ProcessInstanceListMetadataDto: () => (/* binding */ ProcessInstanceListMetadataDto),\n/* harmony export */ ProcessInstanceListMetadataDto$reflection: () => (/* binding */ ProcessInstanceListMetadataDto$reflection),\n/* harmony export */ ProcessInstanceListMetadataDtoModule_ofDomain: () => (/* binding */ ProcessInstanceListMetadataDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceListMetadataDtoModule_toDomain: () => (/* binding */ ProcessInstanceListMetadataDtoModule_toDomain),\n/* harmony export */ ProcessInstanceStatusDto: () => (/* binding */ ProcessInstanceStatusDto),\n/* harmony export */ ProcessInstanceStatusDto$reflection: () => (/* binding */ ProcessInstanceStatusDto$reflection),\n/* harmony export */ ProcessInstanceStatusDtoModule_ofDomain: () => (/* binding */ ProcessInstanceStatusDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceStatusDtoModule_toDomain: () => (/* binding */ ProcessInstanceStatusDtoModule_toDomain),\n/* harmony export */ ProcessInstanceVersionedDto: () => (/* binding */ ProcessInstanceVersionedDto),\n/* harmony export */ ProcessInstanceVersionedDto$reflection: () => (/* binding */ ProcessInstanceVersionedDto$reflection),\n/* harmony export */ ProcessInstanceVersionedDtoModule_ofDomain: () => (/* binding */ ProcessInstanceVersionedDtoModule_ofDomain),\n/* harmony export */ ProcessInstanceVersionedDtoModule_toDomain: () => (/* binding */ ProcessInstanceVersionedDtoModule_toDomain),\n/* harmony export */ ProcessStepConfigDto: () => (/* binding */ ProcessStepConfigDto),\n/* harmony export */ ProcessStepConfigDto$reflection: () => (/* binding */ ProcessStepConfigDto$reflection),\n/* harmony export */ ProcessStepConfigDtoModule_List_toDomain: () => (/* binding */ ProcessStepConfigDtoModule_List_toDomain),\n/* harmony export */ ProcessStepConfigDtoModule_ofDomain: () => (/* binding */ ProcessStepConfigDtoModule_ofDomain),\n/* harmony export */ ProcessStepConfigDtoModule_toDomain: () => (/* binding */ ProcessStepConfigDtoModule_toDomain),\n/* harmony export */ ProfileDetailDto: () => (/* binding */ ProfileDetailDto),\n/* harmony export */ ProfileDetailDto$reflection: () => (/* binding */ ProfileDetailDto$reflection),\n/* harmony export */ ProfileDetailDtoModule_ofDomain: () => (/* binding */ ProfileDetailDtoModule_ofDomain),\n/* harmony export */ ProfileDetailDtoModule_toDomain: () => (/* binding */ ProfileDetailDtoModule_toDomain),\n/* harmony export */ ProfileNameDto: () => (/* binding */ ProfileNameDto),\n/* harmony export */ ProfileNameDto$reflection: () => (/* binding */ ProfileNameDto$reflection),\n/* harmony export */ ProfileNameDtoModule_ofDomain: () => (/* binding */ ProfileNameDtoModule_ofDomain),\n/* harmony export */ ProfileNameDtoModule_toDomain: () => (/* binding */ ProfileNameDtoModule_toDomain),\n/* harmony export */ StepsConfigurationDto: () => (/* binding */ StepsConfigurationDto),\n/* harmony export */ StepsConfigurationDto$reflection: () => (/* binding */ StepsConfigurationDto$reflection),\n/* harmony export */ StepsConfigurationDtoModule_ofDomain: () => (/* binding */ StepsConfigurationDtoModule_ofDomain),\n/* harmony export */ StepsConfigurationDtoModule_toDomain: () => (/* binding */ StepsConfigurationDtoModule_toDomain),\n/* harmony export */ TagDto: () => (/* binding */ TagDto),\n/* harmony export */ TagDto$reflection: () => (/* binding */ TagDto$reflection),\n/* harmony export */ TagDtoModule_ofDomain: () => (/* binding */ TagDtoModule_ofDomain),\n/* harmony export */ TagDtoModule_toDomain: () => (/* binding */ TagDtoModule_toDomain)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.4.17.0/List.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.4.17.0/List.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Invite_Dto_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Invite/Dto.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Dto.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../DtoPrimitives.fs.js */ \"../Workflows.Business/DtoPrimitives.fs.js\");\n/* harmony import */ var _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../CommonDto.fs.js */ \"../Workflows.Business/Aggregates/CommonDto.fs.js\");\n/* harmony import */ var _Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Invite/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Domain.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass ProcessStepConfigDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Id, DisplayName, ComponentTagName) {\n super();\n this.Id = Id;\n this.DisplayName = DisplayName;\n this.ComponentTagName = ComponentTagName;\n }\n}\n\nfunction ProcessStepConfigDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessStepConfigDto\", [], ProcessStepConfigDto, () => [[\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"DisplayName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ComponentTagName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction ProcessStepConfigDtoModule_toDomain(dto) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfig((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(dto.Id), dto.DisplayName, dto.ComponentTagName));\n}\n\nfunction ProcessStepConfigDtoModule_ofDomain(domain) {\n return new ProcessStepConfigDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(domain.Id), domain.DisplayName, domain.ComponentTagName);\n}\n\nfunction ProcessStepConfigDtoModule_List_toDomain(dtoList) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(ProcessStepConfigDtoModule_toDomain, dtoList));\n}\n\nclass ActiveProcessInstanceDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(ActivatedDates, CompletedSteps) {\n super();\n this.ActivatedDates = ActivatedDates;\n this.CompletedSteps = CompletedSteps;\n }\n}\n\nfunction ActiveProcessInstanceDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ActiveProcessInstanceDto\", [], ActiveProcessInstanceDto, () => [[\"ActivatedDates\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\"))], [\"CompletedSteps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\")))]]);\n}\n\nfunction ActiveProcessInstanceDtoModule_toDomain(dto) {\n const input = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((tupledArg) => (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(tupledArg[0]), tupledArg[1]])), dto.CompletedSteps));\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ActiveProcessInstance(dto.ActivatedDates, input.fields[0]));\n }\n}\n\nfunction ActiveProcessInstanceDtoModule_ofDomain(domain) {\n return new ActiveProcessInstanceDto(domain.ActivatedDates, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((tupledArg) => [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(tupledArg[0]), tupledArg[1]], domain.CompletedSteps));\n}\n\nclass ProcessInstanceStatusDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Inactive\", \"Active\", \"Complete\", \"Abandoned\"];\n }\n}\n\nfunction ProcessInstanceStatusDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceStatusDto\", [], ProcessInstanceStatusDto, () => [[], [[\"Item\", ActiveProcessInstanceDto$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\")]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\")]]]);\n}\n\nfunction ProcessInstanceStatusDtoModule_toDomain(dto) {\n switch (dto.tag) {\n case 1: {\n const matchValue = ActiveProcessInstanceDtoModule_toDomain(dto.fields[0]);\n if (matchValue.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(1, matchValue.fields[0]));\n }\n }\n case 2: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(2, dto.fields[0]));\n }\n case 3: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(3, dto.fields[0]));\n }\n default: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(0));\n }\n }\n}\n\nfunction ProcessInstanceStatusDtoModule_ofDomain(domain) {\n switch (domain.tag) {\n case 1: {\n return new ProcessInstanceStatusDto(1, ActiveProcessInstanceDtoModule_ofDomain(domain.fields[0]));\n }\n case 2: {\n return new ProcessInstanceStatusDto(2, domain.fields[0]);\n }\n case 3: {\n return new ProcessInstanceStatusDto(3, domain.fields[0]);\n }\n default: {\n return new ProcessInstanceStatusDto(0);\n }\n }\n}\n\nclass ProcessConfigDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Id, Name, Steps) {\n super();\n this.Id = Id;\n this.Name = Name;\n this.Steps = Steps;\n }\n}\n\nfunction ProcessConfigDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessConfigDto\", [], ProcessConfigDto, () => [[\"Id\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.Guid\")], [\"Name\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"Steps\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(ProcessStepConfigDto$reflection())]]);\n}\n\nfunction ProcessConfigDtoModule_toDomain(dto) {\n const input_2 = ProcessStepConfigDtoModule_List_toDomain(dto.Steps);\n if (input_2.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_2.fields[0]);\n }\n else {\n const input = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfigIdModule_tryCreate)(dto.Id);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfig(input.fields[0], dto.Name, input_2.fields[0]));\n }\n }\n}\n\nfunction ProcessConfigDtoModule_ofDomain(domain) {\n return new ProcessConfigDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfigIdModule_value)(domain.Id), domain.Name, (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(ProcessStepConfigDtoModule_ofDomain, domain.Steps));\n}\n\nclass TagDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Name, Value) {\n super();\n this.Name = Name;\n this.Value = Value;\n }\n}\n\nfunction TagDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.TagDto\", [], TagDto, () => [[\"Name\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"Value\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction TagDtoModule_toDomain(dto) {\n return (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.TagModule_create)(dto.Name, dto.Value);\n}\n\nfunction TagDtoModule_ofDomain(domain) {\n return new TagDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.TagNameModule_value)(domain.Name), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.TagValueModule_value)(domain.Value));\n}\n\nclass ProcessInstanceListMetadataDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(AccountId, ProfileId) {\n super();\n this.AccountId = AccountId;\n this.ProfileId = ProfileId;\n }\n}\n\nfunction ProcessInstanceListMetadataDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceListMetadataDto\", [], ProcessInstanceListMetadataDto, () => [[\"AccountId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ProfileId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction ProcessInstanceListMetadataDtoModule_toDomain(dto) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListMetadata((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.AccountIdModule_create)(dto.AccountId), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_create)(dto.ProfileId)));\n}\n\nfunction ProcessInstanceListMetadataDtoModule_ofDomain(domain) {\n return new ProcessInstanceListMetadataDto((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.AccountIdModule_value)(domain.AccountId), (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_value)(domain.ProfileId));\n}\n\nclass BenefitsOnboardingShowOptionsDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"WhenEnabled\", \"Always\"];\n }\n}\n\nfunction BenefitsOnboardingShowOptionsDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.BenefitsOnboardingShowOptionsDto\", [], BenefitsOnboardingShowOptionsDto, () => [[], []]);\n}\n\nclass StepsConfigurationDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(BenefitsOnboarding) {\n super();\n this.BenefitsOnboarding = BenefitsOnboarding;\n }\n}\n\nfunction StepsConfigurationDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.StepsConfigurationDto\", [], StepsConfigurationDto, () => [[\"BenefitsOnboarding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"Show\", BenefitsOnboardingShowOptionsDto$reflection()]))]]);\n}\n\nfunction StepsConfigurationDtoModule_toDomain(dto) {\n let input_1, bo;\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.StepsConfiguration((input_1 = dto.BenefitsOnboarding, (input_1 == null) ? (void 0) : ((bo = input_1, {\n Show: (bo.Show.tag === 1) ? (new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ShowOptions(1)) : (new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ShowOptions(0)),\n }))));\n}\n\nfunction StepsConfigurationDtoModule_ofDomain(domain) {\n let input_1, bo;\n return new StepsConfigurationDto((input_1 = domain.BenefitsOnboarding, (input_1 == null) ? (void 0) : ((bo = input_1, {\n Show: (bo.Show.tag === 1) ? (new BenefitsOnboardingShowOptionsDto(1)) : (new BenefitsOnboardingShowOptionsDto(0)),\n }))));\n}\n\nclass JourneyTypeDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Default\", \"InfoRequest\", \"AppInvite\", \"BenefitsExisting\", \"BenefitsOnboarding\"];\n }\n}\n\nfunction JourneyTypeDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.JourneyTypeDto\", [], JourneyTypeDto, () => [[[\"Item\", JourneyTypeDetailsDto$reflection()]], [[\"Item\", JourneyTypeDetailsDto$reflection()]], [[\"Item\", JourneyTypeDetailsDto$reflection()]], [[\"Item\", JourneyTypeDetailsDto$reflection()]], [[\"Item\", JourneyTypeDetailsDto$reflection()]]]);\n}\n\nclass JourneyTypeDetailsDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Category) {\n super();\n this.Category = Category;\n }\n}\n\nfunction JourneyTypeDetailsDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.JourneyTypeDetailsDto\", [], JourneyTypeDetailsDto, () => [[\"Category\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]]);\n}\n\nfunction JourneyTypeDetailsDtoModule_toDomain(dto) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyTypeDetails(dto.Category);\n}\n\nfunction JourneyTypeDetailsDtoModule_ofDomain(details) {\n return new JourneyTypeDetailsDto(details.Category);\n}\n\nfunction JourneyTypeDtoModule_toDomain(dto) {\n if (dto == null) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyTypeDetails(void 0));\n }\n else if (dto.tag === 1) {\n const details_1 = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(1, JourneyTypeDetailsDtoModule_toDomain(details_1));\n }\n else if (dto.tag === 2) {\n const details_2 = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(2, JourneyTypeDetailsDtoModule_toDomain(details_2));\n }\n else if (dto.tag === 3) {\n const details_3 = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(3, JourneyTypeDetailsDtoModule_toDomain(details_3));\n }\n else if (dto.tag === 4) {\n const details_4 = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(4, JourneyTypeDetailsDtoModule_toDomain(details_4));\n }\n else {\n const details = dto.fields[0];\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType(0, JourneyTypeDetailsDtoModule_toDomain(details));\n }\n}\n\nfunction JourneyTypeDtoModule_ofDomain(journeyType) {\n switch (journeyType.tag) {\n case 1: {\n return new JourneyTypeDto(1, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 2: {\n return new JourneyTypeDto(2, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 3: {\n return new JourneyTypeDto(3, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n case 4: {\n return new JourneyTypeDto(4, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n default: {\n return new JourneyTypeDto(0, JourneyTypeDetailsDtoModule_ofDomain(journeyType.fields[0]));\n }\n }\n}\n\nclass ProcessInstanceDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Id, DateCreated, Configuration, Status, Invite, Tags, Creator, StepsConfiguration, JourneyType, IsBenefitsStepEnabled, PaySetupComplete) {\n super();\n this.Id = (Id | 0);\n this.DateCreated = DateCreated;\n this.Configuration = Configuration;\n this.Status = Status;\n this.Invite = Invite;\n this.Tags = Tags;\n this.Creator = Creator;\n this.StepsConfiguration = StepsConfiguration;\n this.JourneyType = JourneyType;\n this.IsBenefitsStepEnabled = IsBenefitsStepEnabled;\n this.PaySetupComplete = PaySetupComplete;\n }\n}\n\nfunction ProcessInstanceDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceDto\", [], ProcessInstanceDto, () => [[\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"DateCreated\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.class_type)(\"System.DateTime\")], [\"Configuration\", ProcessConfigDto$reflection()], [\"Status\", ProcessInstanceStatusDto$reflection()], [\"Invite\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_Invite_Dto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteDto$reflection)())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(TagDto$reflection()))], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(StepsConfigurationDto$reflection())], [\"JourneyType\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(JourneyTypeDto$reflection())], [\"IsBenefitsStepEnabled\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)], [\"PaySetupComplete\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)]]);\n}\n\nfunction ProcessInstanceDtoModule_toDomain(dto) {\n let input_8, input_10;\n const input_19 = ProcessConfigDtoModule_toDomain(dto.Configuration);\n if (input_19.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_19.fields[0]);\n }\n else {\n const configuration = input_19.fields[0];\n const input_17 = ProcessInstanceStatusDtoModule_toDomain(dto.Status);\n if (input_17.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_17.fields[0]);\n }\n else {\n const status = input_17.fields[0];\n let input_15;\n if (status.tag === 1) {\n const activeProcessInstance = status.fields[0];\n const input = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((tupledArg_1) => {\n const tupledArg = [tupledArg_1[0], tupledArg_1[1]];\n const processStepId = tupledArg[0];\n if ((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.exists)((step) => (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_11__.equals)(step.Id, processStepId), configuration.Steps)) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, [processStepId, tupledArg[1]]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, \"Step id is not configured for this Process Instance.\");\n }\n }, activeProcessInstance.CompletedSteps));\n input_15 = ((input.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ActiveProcessInstance(activeProcessInstance.ActivatedDates, input.fields[0])))));\n }\n else {\n input_15 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, status));\n }\n if (input_15.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_15.fields[0]);\n }\n else {\n let input_13;\n const input_2 = dto.Invite;\n if (input_2 != null) {\n const input_3 = (0,_Invite_Dto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteDtoModule_toDomain)(input_2);\n input_13 = ((input_3.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_3.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input_3.fields[0])));\n }\n else {\n input_13 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, void 0));\n }\n if (input_13.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_13.fields[0]);\n }\n else {\n let input_11;\n const input_5 = dto.Tags;\n if (input_5 != null) {\n const input_6 = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_toDomain, input_5));\n input_11 = ((input_6.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_6.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input_6.fields[0])));\n }\n else {\n input_11 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, void 0));\n }\n if (input_11.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_11.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.Id), configuration, dto.DateCreated, input_15.fields[0], input_13.fields[0], input_11.fields[0], (input_8 = dto.Creator, (input_8 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_create)(input_8)), (input_10 = dto.StepsConfiguration, (input_10 == null) ? (void 0) : StepsConfigurationDtoModule_toDomain(input_10)), JourneyTypeDtoModule_toDomain(dto.JourneyType), dto.IsBenefitsStepEnabled, dto.PaySetupComplete));\n }\n }\n }\n }\n }\n}\n\nfunction ProcessInstanceDtoModule_ofDomain(domain) {\n let input_1, input_3, input_5, input_7;\n return new ProcessInstanceDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(domain.Id), domain.DateCreated, ProcessConfigDtoModule_ofDomain(domain.Configuration), ProcessInstanceStatusDtoModule_ofDomain(domain.Status), (input_1 = domain.Invite, (input_1 == null) ? (void 0) : (0,_Invite_Dto_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteDtoModule_ofDomain)(input_1)), (input_3 = domain.Tags, (input_3 == null) ? (void 0) : (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_ofDomain, input_3)), (input_5 = domain.Creator, (input_5 == null) ? (void 0) : (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_value)(input_5)), (input_7 = domain.StepsConfiguration, (input_7 == null) ? (void 0) : StepsConfigurationDtoModule_ofDomain(input_7)), JourneyTypeDtoModule_ofDomain(domain.JourneyType), domain.IsBenefitsStepEnabled, domain.PaySetupComplete);\n}\n\nfunction ProcessInstanceDtoModule_List_toDomain(dtoList) {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(ProcessInstanceDtoModule_toDomain, dtoList));\n}\n\nclass ProcessInstanceListDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Metadata, NextId, ProcessInstances) {\n super();\n this.Metadata = Metadata;\n this.NextId = (NextId | 0);\n this.ProcessInstances = ProcessInstances;\n }\n}\n\nfunction ProcessInstanceListDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceListDto\", [], ProcessInstanceListDto, () => [[\"Metadata\", (0,_DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__.MetadataDto$1$reflection)(ProcessInstanceListMetadataDto$reflection())], [\"NextId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"ProcessInstances\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(ProcessInstanceDto$reflection())]]);\n}\n\nfunction ProcessInstanceListDtoModule_toDomain(dto) {\n const input_2 = (0,_DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__.MetadataDto_toDomain)(ProcessInstanceListMetadataDtoModule_toDomain, dto.Metadata);\n if (input_2.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_2.fields[0]);\n }\n else {\n const input = ProcessInstanceDtoModule_List_toDomain(dto.ProcessInstances);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceList(input_2.fields[0], (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.NextId), input.fields[0]));\n }\n }\n}\n\nfunction ProcessInstanceListDtoModule_ofDomain(domain) {\n return new ProcessInstanceListDto((0,_DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__.MetadataDto_ofDomain)(ProcessInstanceListMetadataDtoModule_ofDomain, domain.Metadata), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(domain.NextId), (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(ProcessInstanceDtoModule_ofDomain, domain.ProcessInstances));\n}\n\nclass ProcessInstanceVersionedDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"V1\", \"Unused\"];\n }\n}\n\nfunction ProcessInstanceVersionedDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceVersionedDto\", [], ProcessInstanceVersionedDto, () => [[[\"Item\", ProcessInstanceListDto$reflection()]], []]);\n}\n\nfunction ProcessInstanceVersionedDtoModule_toDomain(dto) {\n if (dto.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, \"Unused\");\n }\n else {\n const input = ProcessInstanceListDtoModule_toDomain(dto.fields[0]);\n if (input.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input.fields[0]);\n }\n }\n}\n\nfunction ProcessInstanceVersionedDtoModule_ofDomain(domain) {\n return new ProcessInstanceVersionedDto(0, ProcessInstanceListDtoModule_ofDomain(domain));\n}\n\nclass ProfileNameDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(FirstName, MiddleName, LastName) {\n super();\n this.FirstName = FirstName;\n this.MiddleName = MiddleName;\n this.LastName = LastName;\n }\n}\n\nfunction ProfileNameDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProfileNameDto\", [], ProfileNameDto, () => [[\"FirstName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"MiddleName\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)], [\"LastName\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction ProfileNameDtoModule_toDomain(n) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreationData_ProfileName(n.FirstName, n.MiddleName, n.LastName);\n}\n\nfunction ProfileNameDtoModule_ofDomain(n) {\n return new ProfileNameDto(n.FirstName, n.MiddleName, n.LastName);\n}\n\nclass CreatorDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Id, Name, Email) {\n super();\n this.Id = Id;\n this.Name = Name;\n this.Email = Email;\n }\n}\n\nfunction CreatorDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.CreatorDto\", [], CreatorDto, () => [[\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"Name\", ProfileNameDto$reflection()], [\"Email\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type]]);\n}\n\nfunction CreatorDtoModule_toDomain(c) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreationData_Creator((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_create)(c.Id), ProfileNameDtoModule_toDomain(c.Name), c.Email);\n}\n\nfunction CreatorDtoModule_ofDomain(c) {\n return new CreatorDto((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.ProfileIdModule_value)(c.Id), ProfileNameDtoModule_ofDomain(c.Name), c.Email);\n}\n\nclass ProfileDetailDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Record {\n constructor(Name, Email, MobilePhone, ExternalId) {\n super();\n this.Name = Name;\n this.Email = Email;\n this.MobilePhone = MobilePhone;\n this.ExternalId = ExternalId;\n }\n}\n\nfunction ProfileDetailDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProfileDetailDto\", [], ProfileDetailDto, () => [[\"Name\", ProfileNameDto$reflection()], [\"Email\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"MobilePhone\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)], [\"ExternalId\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]]);\n}\n\nfunction ProfileDetailDtoModule_toDomain(p) {\n return (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreationData_ProfileModule_create)(ProfileNameDtoModule_toDomain(p.Name), p.ExternalId, p.Email, p.MobilePhone);\n}\n\nfunction ProfileDetailDtoModule_ofDomain(p) {\n const p_1 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreationData_ProfileModule_value)(p);\n return new ProfileDetailDto(ProfileNameDtoModule_ofDomain(p_1.Name), p_1.Email, p_1.MobilePhone, p_1.ExternalId);\n}\n\nclass ProcessInstanceCommandDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"CompleteStep\", \"CompleteStepV2\", \"Complete\", \"ViewPaySetupPage\", \"CompletePaySetup\", \"ResumePaySetup\"];\n }\n}\n\nfunction ProcessInstanceCommandDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceCommandDto\", [], ProcessInstanceCommandDto, () => [[[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)]]]);\n}\n\nfunction ProcessInstanceCommandDtoModule_toDomain(dto) {\n switch (dto.tag) {\n case 1: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(4, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CompleteStepV2CommandPayload((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(dto.fields[0][1]))));\n }\n case 2: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(8, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0])));\n }\n case 3: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(5, {\n InjectedBenefits: dto.fields[0][1],\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]),\n }));\n }\n case 5: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(7, {\n InjectedBenefits: dto.fields[0][1],\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]),\n }));\n }\n case 4: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(6, {\n InjectedBenefits: dto.fields[0][1],\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]),\n }));\n }\n default: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceCommand(3, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(dto.fields[0][1])]));\n }\n }\n}\n\nclass ProcessInstanceEventDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_7__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Created\", \"CreatedV2\", \"TagsAdded\", \"Activated\", \"ActivatedV2\", \"StepCompleted\", \"PaySetupPageViewed\", \"PaySetupCompleted\", \"PaySetupResumed\", \"Completed\", \"Abandoned\", \"InviteCreated\", \"InviteSecondFactorCodeIssued\", \"InviteSecondFactorAttempted\", \"InviteSecondFactorSucceeded\"];\n }\n}\n\nfunction ProcessInstanceEventDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.union_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Dto.ProcessInstanceEventDto\", [], ProcessInstanceEventDto, () => [[[\"Item\", ProcessConfigDto$reflection()]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"Config\", ProcessConfigDto$reflection()], [\"Creator\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(CreatorDto$reflection())], [\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"JourneyType\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(JourneyTypeDto$reflection())], [\"Profile\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(ProfileDetailDto$reflection())], [\"StepsConfiguration\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(StepsConfigurationDto$reflection())], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(TagDto$reflection()))])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"Id\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"Tags\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.list_type)(TagDto$reflection())])]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"IsBenefitsStepEnabled\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.tuple_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type, _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type)]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"InjectedBenefits\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)((0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_5__.InviteBrandingDto$reflection)())], [\"EmailSent\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)], [\"InviteCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"EmailSent\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.option_type)(_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.bool_type)], [\"InviteCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"SecondFactorCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type])]], [[\"Item\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.anonRecord_type)([\"InviteCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type], [\"ProcessInstanceId\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type], [\"SecondFactorCode\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.string_type])]], [[\"Item\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_8__.int32_type]]]);\n}\n\nfunction ProcessInstanceEventDtoModule_toDomain(dto) {\n let creator, input_6, input_8, input_10;\n switch (dto.tag) {\n case 1: {\n const data = dto.fields[0];\n const id = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data.Id);\n const input_13 = ProcessConfigDtoModule_toDomain(data.Config);\n if (input_13.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_13.fields[0]);\n }\n else {\n let input_11;\n const input_3 = data.Tags;\n if (input_3 != null) {\n const input_4 = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_toDomain, input_3));\n input_11 = ((input_4.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_4.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input_4.fields[0])));\n }\n else {\n input_11 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, void 0));\n }\n if (input_11.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_11.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, (creator = ((input_6 = data.Creator, (input_6 == null) ? (void 0) : CreatorDtoModule_toDomain(input_6))), new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.CreatedV2Payload(id, input_13.fields[0], (input_8 = data.Profile, (input_8 == null) ? (void 0) : ProfileDetailDtoModule_toDomain(input_8)), creator, input_11.fields[0], (input_10 = data.StepsConfiguration, (input_10 == null) ? (void 0) : StepsConfigurationDtoModule_toDomain(input_10)), JourneyTypeDtoModule_toDomain(data.JourneyType))))));\n }\n }\n }\n case 2: {\n const data_1 = dto.fields[0];\n const id_1 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_1.Id);\n const input_14 = (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_toDomain, data_1.Tags));\n if (input_14.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_14.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(2, {\n Id: id_1,\n Tags: input_14.fields[0],\n })));\n }\n }\n case 3: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(3, {\n IsBenefitsStepEnabled: void 0,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0]),\n })));\n }\n case 4: {\n const data_2 = dto.fields[0];\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(3, {\n IsBenefitsStepEnabled: data_2.IsBenefitsStepEnabled,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_2.ProcessInstanceId),\n })));\n }\n case 5: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(4, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0][0]), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_create)(dto.fields[0][1])])));\n }\n case 6: {\n const data_3 = dto.fields[0];\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(5, {\n InjectedBenefits: data_3.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_3.ProcessInstanceId),\n })));\n }\n case 8: {\n const data_4 = dto.fields[0];\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(7, {\n InjectedBenefits: data_4.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_4.ProcessInstanceId),\n })));\n }\n case 7: {\n const data_5 = dto.fields[0];\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(6, {\n InjectedBenefits: data_5.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_5.ProcessInstanceId),\n })));\n }\n case 9: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(8, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0]))));\n }\n case 10: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(9, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0]))));\n }\n case 11: {\n const data_6 = dto.fields[0];\n const processInstanceId_4 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_6.ProcessInstanceId);\n const input_20 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_create)(data_6.InviteCode);\n if (input_20.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_20.fields[0]);\n }\n else {\n let input_18;\n const input_16 = data_6.Branding;\n if (input_16 != null) {\n const input_17 = (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_5__.InviteBrandingDtoModule_toDomain)(input_16);\n input_18 = ((input_17.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_17.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, input_17.fields[0])));\n }\n else {\n input_18 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, void 0));\n }\n if (input_18.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_18.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceInviteEvent(0, [processInstanceId_4, input_20.fields[0], input_18.fields[0], (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.EmailSendOptionModule_create)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(data_6.EmailSent, true))])));\n }\n }\n }\n case 12: {\n const data_7 = dto.fields[0];\n const processInstanceId_5 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_7.ProcessInstanceId);\n const input_21 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_create)(data_7.InviteCode);\n if (input_21.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_21.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceInviteEvent(1, [processInstanceId_5, input_21.fields[0], (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.SecondFactorCodeModule_create)(data_7.SecondFactorCode), (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.EmailSendOptionModule_create)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(data_7.EmailSent, true))])));\n }\n }\n case 13: {\n const data_8 = dto.fields[0];\n const processInstanceId_6 = (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(data_8.ProcessInstanceId);\n const input_22 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_create)(data_8.InviteCode);\n if (input_22.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_22.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceInviteEvent(2, [processInstanceId_6, input_22.fields[0], (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.SecondFactorCodeModule_create)(data_8.SecondFactorCode)])));\n }\n }\n case 14: {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(1, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceInviteEvent(3, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_create)(dto.fields[0]))));\n }\n default: {\n const input_1 = ProcessConfigDtoModule_toDomain(dto.fields[0]);\n if (input_1.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_1.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceListEvent(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceEvent(0, input_1.fields[0])));\n }\n }\n }\n}\n\nfunction ProcessInstanceEventDtoModule_ofDomain(event) {\n let InviteCode_1, ProcessInstanceId_5, SecondFactorCode, InviteCode, ProcessInstanceId_4, input_9, Id, Config, Creator, input_1, Tags, input_3, Profile, input_5, StepsConfiguration, input_7;\n if (event.tag === 1) {\n const inviteEvent = event.fields[0];\n switch (inviteEvent.tag) {\n case 1: {\n return new ProcessInstanceEventDto(12, (InviteCode_1 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_value)(inviteEvent.fields[0][1]), (ProcessInstanceId_5 = ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(inviteEvent.fields[0][0]) | 0), (SecondFactorCode = (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.SecondFactorCodeModule_value)(inviteEvent.fields[0][2]), {\n EmailSent: (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.EmailSendOptionModule_value)(inviteEvent.fields[0][3]),\n InviteCode: InviteCode_1,\n ProcessInstanceId: ProcessInstanceId_5,\n SecondFactorCode: SecondFactorCode,\n }))));\n }\n case 2: {\n return new ProcessInstanceEventDto(13, {\n InviteCode: (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_value)(inviteEvent.fields[0][1]),\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(inviteEvent.fields[0][0]),\n SecondFactorCode: (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.SecondFactorCodeModule_value)(inviteEvent.fields[0][2]),\n });\n }\n case 3: {\n return new ProcessInstanceEventDto(14, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(inviteEvent.fields[0]));\n }\n default: {\n return new ProcessInstanceEventDto(11, (InviteCode = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_value)(inviteEvent.fields[0][1]), (ProcessInstanceId_4 = ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(inviteEvent.fields[0][0]) | 0), {\n Branding: (input_9 = inviteEvent.fields[0][2], (input_9 == null) ? (void 0) : (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_5__.InviteBrandingDtoModule_ofDomain)(input_9)),\n EmailSent: (0,_Invite_Domain_fs_js__WEBPACK_IMPORTED_MODULE_6__.EmailSendOptionModule_value)(inviteEvent.fields[0][3]),\n InviteCode: InviteCode,\n ProcessInstanceId: ProcessInstanceId_4,\n })));\n }\n }\n }\n else {\n const instanceEvent = event.fields[0];\n switch (instanceEvent.tag) {\n case 1: {\n const data = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(1, (Id = ((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data.Id) | 0), (Config = ProcessConfigDtoModule_ofDomain(data.Config), (Creator = ((input_1 = data.Creator, (input_1 == null) ? (void 0) : CreatorDtoModule_ofDomain(input_1))), (Tags = ((input_3 = data.Tags, (input_3 == null) ? (void 0) : (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_ofDomain, input_3))), (Profile = ((input_5 = data.Profile, (input_5 == null) ? (void 0) : ProfileDetailDtoModule_ofDomain(input_5))), (StepsConfiguration = ((input_7 = data.StepsConfiguration, (input_7 == null) ? (void 0) : StepsConfigurationDtoModule_ofDomain(input_7))), {\n Config: Config,\n Creator: Creator,\n Id: Id,\n JourneyType: JourneyTypeDtoModule_ofDomain(data.JourneyType),\n Profile: Profile,\n StepsConfiguration: StepsConfiguration,\n Tags: Tags,\n })))))));\n }\n case 2: {\n const data_1 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(2, {\n Id: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_1.Id),\n Tags: (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(TagDtoModule_ofDomain, data_1.Tags),\n });\n }\n case 3: {\n const data_2 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(4, {\n IsBenefitsStepEnabled: data_2.IsBenefitsStepEnabled,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_2.ProcessInstanceId),\n });\n }\n case 4: {\n return new ProcessInstanceEventDto(5, [(0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(instanceEvent.fields[0][0]), (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepIdModule_value)(instanceEvent.fields[0][1])]);\n }\n case 5: {\n const data_3 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(6, {\n InjectedBenefits: data_3.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_3.ProcessInstanceId),\n });\n }\n case 7: {\n const data_4 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(8, {\n InjectedBenefits: data_4.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_4.ProcessInstanceId),\n });\n }\n case 6: {\n const data_5 = instanceEvent.fields[0];\n return new ProcessInstanceEventDto(7, {\n InjectedBenefits: data_5.InjectedBenefits,\n ProcessInstanceId: (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(data_5.ProcessInstanceId),\n });\n }\n case 8: {\n return new ProcessInstanceEventDto(9, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(instanceEvent.fields[0]));\n }\n case 9: {\n return new ProcessInstanceEventDto(10, (0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(instanceEvent.fields[0]));\n }\n default: {\n return new ProcessInstanceEventDto(0, ProcessConfigDtoModule_ofDomain(instanceEvent.fields[0]));\n }\n }\n }\n}\n\nconst ProcessInstanceListEventDtoModule_toDomain = (event) => (0,_DtoPrimitives_fs_js__WEBPACK_IMPORTED_MODULE_4__.EventDto_toDomain)(ProcessInstanceEventDtoModule_toDomain, ProcessInstanceListMetadataDtoModule_toDomain, event);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9EdG8uZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUEySDtBQUNvSDtBQUN3aEI7QUFDMW9CO0FBQ1k7QUFDakI7QUFDd0Q7QUFDbEU7QUFDSztBQUNpQjtBQUNFO0FBQ3lCO0FBQ3RDOztBQUVsSCxtQ0FBbUMsc0hBQU07QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLG9JQUFXLHVIQUF1SCxnSUFBVyxtQkFBbUIsZ0lBQVcsd0JBQXdCLGdJQUFXO0FBQ3pOOztBQUVPO0FBQ1AsZUFBZSwrSEFBYyxRQUFRLDREQUFpQixDQUFDLHlFQUEwQjtBQUNqRjs7QUFFTztBQUNQLG9DQUFvQyx3RUFBeUI7QUFDN0Q7O0FBRU87QUFDUCxXQUFXLCtJQUFlLENBQUMsdUhBQUc7QUFDOUI7O0FBRU8sdUNBQXVDLHNIQUFNO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsMklBQTJJLGtJQUFTLENBQUMsbUlBQVUsMENBQTBDLGtJQUFTLENBQUMsbUlBQVUsQ0FBQyxnSUFBVyxFQUFFLG1JQUFVO0FBQzNROztBQUVPO0FBQ1Asa0JBQWtCLCtJQUFlLENBQUMsdUhBQUcscUJBQXFCLCtIQUFjLEtBQUsseUVBQTBCO0FBQ3ZHO0FBQ0EsbUJBQW1CLCtIQUFjO0FBQ2pDO0FBQ0E7QUFDQSxtQkFBbUIsK0hBQWMsUUFBUSxnRUFBcUI7QUFDOUQ7QUFDQTs7QUFFTztBQUNQLCtEQUErRCx1SEFBRyxpQkFBaUIsd0VBQXlCO0FBQzVHOztBQUVPLHVDQUF1QyxxSEFBSztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qyw0RUFBNkI7QUFDcEUsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSx1REFBdUQsNEVBQTZCLDhCQUE4Qix3RUFBeUI7QUFDM0k7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1Qyw0RUFBNkI7QUFDcEUsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsNEVBQTZCO0FBQ3BFLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLDRFQUE2QjtBQUNwRSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLHNEQUFzRCw0RUFBNkI7QUFDbkY7QUFDQTtBQUNBLHVEQUF1RCw0RUFBNkI7QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU8sOERBQThELHVFQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9EdG8uZnMuanM/MzRiMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbmlvbiwgUmVjb3JkIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9UeXBlcy5qc1wiO1xuaW1wb3J0IHsgYm9vbF90eXBlLCBpbnQzMl90eXBlLCBvcHRpb25fdHlwZSwgYW5vblJlY29yZF90eXBlLCB1bmlvbl90eXBlLCB0dXBsZV90eXBlLCBsaXN0X3R5cGUsIGNsYXNzX3R5cGUsIHJlY29yZF90eXBlLCBzdHJpbmdfdHlwZSB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvUmVmbGVjdGlvbi5qc1wiO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlSW52aXRlRXZlbnQsIFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCwgUHJvY2Vzc0luc3RhbmNlRXZlbnQsIENyZWF0ZWRWMlBheWxvYWQsIFByb2Nlc3NJbnN0YW5jZUNvbW1hbmQsIENvbXBsZXRlU3RlcFYyQ29tbWFuZFBheWxvYWQsIENyZWF0aW9uRGF0YV9Qcm9maWxlTW9kdWxlX3ZhbHVlLCBDcmVhdGlvbkRhdGFfUHJvZmlsZU1vZHVsZV9jcmVhdGUsIENyZWF0aW9uRGF0YV9DcmVhdG9yLCBDcmVhdGlvbkRhdGFfUHJvZmlsZU5hbWUsIFByb2Nlc3NJbnN0YW5jZUxpc3QsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlLCBQcm9jZXNzSW5zdGFuY2UsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZSwgSm91cm5leVR5cGUsIEpvdXJuZXlUeXBlRGV0YWlscywgU3RlcHNDb25maWd1cmF0aW9uIGFzIFN0ZXBzQ29uZmlndXJhdGlvbl8xLCBTaG93T3B0aW9ucywgUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhLCBUYWdWYWx1ZU1vZHVsZV92YWx1ZSwgVGFnTmFtZU1vZHVsZV92YWx1ZSwgVGFnTW9kdWxlX2NyZWF0ZSwgUHJvY2Vzc0NvbmZpZ0lkTW9kdWxlX3ZhbHVlLCBQcm9jZXNzQ29uZmlnLCBQcm9jZXNzQ29uZmlnSWRNb2R1bGVfdHJ5Q3JlYXRlLCBQcm9jZXNzSW5zdGFuY2VTdGF0dXMsIEFjdGl2ZVByb2Nlc3NJbnN0YW5jZSwgUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZSwgUHJvY2Vzc1N0ZXBDb25maWcsIFByb2Nlc3NTdGVwSWRNb2R1bGVfY3JlYXRlIH0gZnJvbSBcIi4vRG9tYWluLmZzLmpzXCI7XG5pbXBvcnQgeyBGU2hhcnBSZXN1bHQkMiB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5pbXBvcnQgeyBzZXF1ZW5jZVJlc3VsdE0gfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZzVG9vbGtpdC5FcnJvckhhbmRsaW5nLjQuMTcuMC9MaXN0LmZzLmpzXCI7XG5pbXBvcnQgeyBleGlzdHMsIG1hcCB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvTGlzdC5qc1wiO1xuaW1wb3J0IHsgSW52aXRlQ29kZU1vZHVsZV92YWx1ZSwgSW52aXRlQ29kZU1vZHVsZV9jcmVhdGUsIFByb2ZpbGVJZE1vZHVsZV92YWx1ZSwgQWNjb3VudElkTW9kdWxlX3ZhbHVlLCBQcm9maWxlSWRNb2R1bGVfY3JlYXRlLCBBY2NvdW50SWRNb2R1bGVfY3JlYXRlIH0gZnJvbSBcIi4uL0NvbW1vbi5mcy5qc1wiO1xuaW1wb3J0IHsgSW52aXRlRHRvTW9kdWxlX29mRG9tYWluLCBJbnZpdGVEdG9Nb2R1bGVfdG9Eb21haW4sIEludml0ZUR0byRyZWZsZWN0aW9uIH0gZnJvbSBcIi4vSW52aXRlL0R0by5mcy5qc1wiO1xuaW1wb3J0IHsgZXF1YWxzIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5VSS90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9VdGlsLmpzXCI7XG5pbXBvcnQgeyBFdmVudER0b190b0RvbWFpbiwgTWV0YWRhdGFEdG9fb2ZEb21haW4sIE1ldGFkYXRhRHRvX3RvRG9tYWluLCBNZXRhZGF0YUR0byQxJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vRHRvUHJpbWl0aXZlcy5mcy5qc1wiO1xuaW1wb3J0IHsgSW52aXRlQnJhbmRpbmdEdG9Nb2R1bGVfb2ZEb21haW4sIEludml0ZUJyYW5kaW5nRHRvTW9kdWxlX3RvRG9tYWluLCBJbnZpdGVCcmFuZGluZ0R0byRyZWZsZWN0aW9uIH0gZnJvbSBcIi4uL0NvbW1vbkR0by5mcy5qc1wiO1xuaW1wb3J0IHsgRW1haWxTZW5kT3B0aW9uTW9kdWxlX3ZhbHVlLCBTZWNvbmRGYWN0b3JDb2RlTW9kdWxlX3ZhbHVlLCBTZWNvbmRGYWN0b3JDb2RlTW9kdWxlX2NyZWF0ZSwgRW1haWxTZW5kT3B0aW9uTW9kdWxlX2NyZWF0ZSB9IGZyb20gXCIuL0ludml0ZS9Eb21haW4uZnMuanNcIjtcbmltcG9ydCB7IGRlZmF1bHRBcmcgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL09wdGlvbi5qc1wiO1xuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc1N0ZXBDb25maWdEdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKElkLCBEaXNwbGF5TmFtZSwgQ29tcG9uZW50VGFnTmFtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLklkID0gSWQ7XG4gICAgICAgIHRoaXMuRGlzcGxheU5hbWUgPSBEaXNwbGF5TmFtZTtcbiAgICAgICAgdGhpcy5Db21wb25lbnRUYWdOYW1lID0gQ29tcG9uZW50VGFnTmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzU3RlcENvbmZpZ0R0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlByb2Nlc3NTdGVwQ29uZmlnRHRvXCIsIFtdLCBQcm9jZXNzU3RlcENvbmZpZ0R0bywgKCkgPT4gW1tcIklkXCIsIHN0cmluZ190eXBlXSwgW1wiRGlzcGxheU5hbWVcIiwgc3RyaW5nX3R5cGVdLCBbXCJDb21wb25lbnRUYWdOYW1lXCIsIHN0cmluZ190eXBlXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc1N0ZXBDb25maWdEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc1N0ZXBDb25maWcoUHJvY2Vzc1N0ZXBJZE1vZHVsZV9jcmVhdGUoZHRvLklkKSwgZHRvLkRpc3BsYXlOYW1lLCBkdG8uQ29tcG9uZW50VGFnTmFtZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc1N0ZXBDb25maWdEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzU3RlcENvbmZpZ0R0byhQcm9jZXNzU3RlcElkTW9kdWxlX3ZhbHVlKGRvbWFpbi5JZCksIGRvbWFpbi5EaXNwbGF5TmFtZSwgZG9tYWluLkNvbXBvbmVudFRhZ05hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc1N0ZXBDb25maWdEdG9Nb2R1bGVfTGlzdF90b0RvbWFpbihkdG9MaXN0KSB7XG4gICAgcmV0dXJuIHNlcXVlbmNlUmVzdWx0TShtYXAoUHJvY2Vzc1N0ZXBDb25maWdEdG9Nb2R1bGVfdG9Eb21haW4sIGR0b0xpc3QpKTtcbn1cblxuZXhwb3J0IGNsYXNzIEFjdGl2ZVByb2Nlc3NJbnN0YW5jZUR0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQWN0aXZhdGVkRGF0ZXMsIENvbXBsZXRlZFN0ZXBzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQWN0aXZhdGVkRGF0ZXMgPSBBY3RpdmF0ZWREYXRlcztcbiAgICAgICAgdGhpcy5Db21wbGV0ZWRTdGVwcyA9IENvbXBsZXRlZFN0ZXBzO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFjdGl2ZVByb2Nlc3NJbnN0YW5jZUR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLkFjdGl2ZVByb2Nlc3NJbnN0YW5jZUR0b1wiLCBbXSwgQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvLCAoKSA9PiBbW1wiQWN0aXZhdGVkRGF0ZXNcIiwgbGlzdF90eXBlKGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIikpXSwgW1wiQ29tcGxldGVkU3RlcHNcIiwgbGlzdF90eXBlKHR1cGxlX3R5cGUoc3RyaW5nX3R5cGUsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIikpKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFjdGl2ZVByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBjb25zdCBpbnB1dCA9IHNlcXVlbmNlUmVzdWx0TShtYXAoKHR1cGxlZEFyZykgPT4gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBbUHJvY2Vzc1N0ZXBJZE1vZHVsZV9jcmVhdGUodHVwbGVkQXJnWzBdKSwgdHVwbGVkQXJnWzFdXSkpLCBkdG8uQ29tcGxldGVkU3RlcHMpKTtcbiAgICBpZiAoaW5wdXQudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXQuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IEFjdGl2ZVByb2Nlc3NJbnN0YW5jZShkdG8uQWN0aXZhdGVkRGF0ZXMsIGlucHV0LmZpZWxkc1swXSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFjdGl2ZVByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV9vZkRvbWFpbihkb21haW4pIHtcbiAgICByZXR1cm4gbmV3IEFjdGl2ZVByb2Nlc3NJbnN0YW5jZUR0byhkb21haW4uQWN0aXZhdGVkRGF0ZXMsIG1hcCgodHVwbGVkQXJnKSA9PiBbUHJvY2Vzc1N0ZXBJZE1vZHVsZV92YWx1ZSh0dXBsZWRBcmdbMF0pLCB0dXBsZWRBcmdbMV1dLCBkb21haW4uQ29tcGxldGVkU3RlcHMpKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZVN0YXR1c0R0byBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiSW5hY3RpdmVcIiwgXCJBY3RpdmVcIiwgXCJDb21wbGV0ZVwiLCBcIkFiYW5kb25lZFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VTdGF0dXNEdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlByb2Nlc3NJbnN0YW5jZVN0YXR1c0R0b1wiLCBbXSwgUHJvY2Vzc0luc3RhbmNlU3RhdHVzRHRvLCAoKSA9PiBbW10sIFtbXCJJdGVtXCIsIEFjdGl2ZVByb2Nlc3NJbnN0YW5jZUR0byRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKV1dLCBbW1wiSXRlbVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpXV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZVN0YXR1c0R0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBzd2l0Y2ggKGR0by50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlID0gQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluKGR0by5maWVsZHNbMF0pO1xuICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWUudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlLmZpZWxkc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VTdGF0dXMoMSwgbWF0Y2hWYWx1ZS5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZVN0YXR1cygyLCBkdG8uZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VTdGF0dXMoMywgZHRvLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZVN0YXR1cygwKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VTdGF0dXNEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgc3dpdGNoIChkb21haW4udGFnKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VTdGF0dXNEdG8oMSwgQWN0aXZlUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbi5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlU3RhdHVzRHRvKDIsIGRvbWFpbi5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VTdGF0dXNEdG8oMywgZG9tYWluLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VTdGF0dXNEdG8oMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzQ29uZmlnRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihJZCwgTmFtZSwgU3RlcHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5JZCA9IElkO1xuICAgICAgICB0aGlzLk5hbWUgPSBOYW1lO1xuICAgICAgICB0aGlzLlN0ZXBzID0gU3RlcHM7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0NvbmZpZ0R0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlByb2Nlc3NDb25maWdEdG9cIiwgW10sIFByb2Nlc3NDb25maWdEdG8sICgpID0+IFtbXCJJZFwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkd1aWRcIildLCBbXCJOYW1lXCIsIHN0cmluZ190eXBlXSwgW1wiU3RlcHNcIiwgbGlzdF90eXBlKFByb2Nlc3NTdGVwQ29uZmlnRHRvJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzQ29uZmlnRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGNvbnN0IGlucHV0XzIgPSBQcm9jZXNzU3RlcENvbmZpZ0R0b01vZHVsZV9MaXN0X3RvRG9tYWluKGR0by5TdGVwcyk7XG4gICAgaWYgKGlucHV0XzIudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMi5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBQcm9jZXNzQ29uZmlnSWRNb2R1bGVfdHJ5Q3JlYXRlKGR0by5JZCk7XG4gICAgICAgIGlmIChpbnB1dC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXQuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NDb25maWcoaW5wdXQuZmllbGRzWzBdLCBkdG8uTmFtZSwgaW5wdXRfMi5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NDb25maWdEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzQ29uZmlnRHRvKFByb2Nlc3NDb25maWdJZE1vZHVsZV92YWx1ZShkb21haW4uSWQpLCBkb21haW4uTmFtZSwgbWFwKFByb2Nlc3NTdGVwQ29uZmlnRHRvTW9kdWxlX29mRG9tYWluLCBkb21haW4uU3RlcHMpKTtcbn1cblxuZXhwb3J0IGNsYXNzIFRhZ0R0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoTmFtZSwgVmFsdWUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICAgICAgdGhpcy5WYWx1ZSA9IFZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRhZ0R0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlRhZ0R0b1wiLCBbXSwgVGFnRHRvLCAoKSA9PiBbW1wiTmFtZVwiLCBzdHJpbmdfdHlwZV0sIFtcIlZhbHVlXCIsIHN0cmluZ190eXBlXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVGFnRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIHJldHVybiBUYWdNb2R1bGVfY3JlYXRlKGR0by5OYW1lLCBkdG8uVmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVGFnRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIHJldHVybiBuZXcgVGFnRHRvKFRhZ05hbWVNb2R1bGVfdmFsdWUoZG9tYWluLk5hbWUpLCBUYWdWYWx1ZU1vZHVsZV92YWx1ZShkb21haW4uVmFsdWUpKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQWNjb3VudElkLCBQcm9maWxlSWQpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5BY2NvdW50SWQgPSBBY2NvdW50SWQ7XG4gICAgICAgIHRoaXMuUHJvZmlsZUlkID0gUHJvZmlsZUlkO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0b1wiLCBbXSwgUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhRHRvLCAoKSA9PiBbW1wiQWNjb3VudElkXCIsIHN0cmluZ190eXBlXSwgW1wiUHJvZmlsZUlkXCIsIHN0cmluZ190eXBlXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlTGlzdE1ldGFkYXRhRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YShBY2NvdW50SWRNb2R1bGVfY3JlYXRlKGR0by5BY2NvdW50SWQpLCBQcm9maWxlSWRNb2R1bGVfY3JlYXRlKGR0by5Qcm9maWxlSWQpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0TWV0YWRhdGFEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0TWV0YWRhdGFEdG8oQWNjb3VudElkTW9kdWxlX3ZhbHVlKGRvbWFpbi5BY2NvdW50SWQpLCBQcm9maWxlSWRNb2R1bGVfdmFsdWUoZG9tYWluLlByb2ZpbGVJZCkpO1xufVxuXG5leHBvcnQgY2xhc3MgQmVuZWZpdHNPbmJvYXJkaW5nU2hvd09wdGlvbnNEdG8gZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIldoZW5FbmFibGVkXCIsIFwiQWx3YXlzXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJlbmVmaXRzT25ib2FyZGluZ1Nob3dPcHRpb25zRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkR0by5CZW5lZml0c09uYm9hcmRpbmdTaG93T3B0aW9uc0R0b1wiLCBbXSwgQmVuZWZpdHNPbmJvYXJkaW5nU2hvd09wdGlvbnNEdG8sICgpID0+IFtbXSwgW11dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFN0ZXBzQ29uZmlndXJhdGlvbkR0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQmVuZWZpdHNPbmJvYXJkaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQmVuZWZpdHNPbmJvYXJkaW5nID0gQmVuZWZpdHNPbmJvYXJkaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBzQ29uZmlndXJhdGlvbkR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlN0ZXBzQ29uZmlndXJhdGlvbkR0b1wiLCBbXSwgU3RlcHNDb25maWd1cmF0aW9uRHRvLCAoKSA9PiBbW1wiQmVuZWZpdHNPbmJvYXJkaW5nXCIsIG9wdGlvbl90eXBlKGFub25SZWNvcmRfdHlwZShbXCJTaG93XCIsIEJlbmVmaXRzT25ib2FyZGluZ1Nob3dPcHRpb25zRHRvJHJlZmxlY3Rpb24oKV0pKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBzQ29uZmlndXJhdGlvbkR0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBsZXQgaW5wdXRfMSwgYm87XG4gICAgcmV0dXJuIG5ldyBTdGVwc0NvbmZpZ3VyYXRpb25fMSgoaW5wdXRfMSA9IGR0by5CZW5lZml0c09uYm9hcmRpbmcsIChpbnB1dF8xID09IG51bGwpID8gKHZvaWQgMCkgOiAoKGJvID0gaW5wdXRfMSwge1xuICAgICAgICBTaG93OiAoYm8uU2hvdy50YWcgPT09IDEpID8gKG5ldyBTaG93T3B0aW9ucygxKSkgOiAobmV3IFNob3dPcHRpb25zKDApKSxcbiAgICB9KSkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBzQ29uZmlndXJhdGlvbkR0b01vZHVsZV9vZkRvbWFpbihkb21haW4pIHtcbiAgICBsZXQgaW5wdXRfMSwgYm87XG4gICAgcmV0dXJuIG5ldyBTdGVwc0NvbmZpZ3VyYXRpb25EdG8oKGlucHV0XzEgPSBkb21haW4uQmVuZWZpdHNPbmJvYXJkaW5nLCAoaW5wdXRfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogKChibyA9IGlucHV0XzEsIHtcbiAgICAgICAgU2hvdzogKGJvLlNob3cudGFnID09PSAxKSA/IChuZXcgQmVuZWZpdHNPbmJvYXJkaW5nU2hvd09wdGlvbnNEdG8oMSkpIDogKG5ldyBCZW5lZml0c09uYm9hcmRpbmdTaG93T3B0aW9uc0R0bygwKSksXG4gICAgfSkpKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBKb3VybmV5VHlwZUR0byBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiRGVmYXVsdFwiLCBcIkluZm9SZXF1ZXN0XCIsIFwiQXBwSW52aXRlXCIsIFwiQmVuZWZpdHNFeGlzdGluZ1wiLCBcIkJlbmVmaXRzT25ib2FyZGluZ1wiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBKb3VybmV5VHlwZUR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uSm91cm5leVR5cGVEdG9cIiwgW10sIEpvdXJuZXlUeXBlRHRvLCAoKSA9PiBbW1tcIkl0ZW1cIiwgSm91cm5leVR5cGVEZXRhaWxzRHRvJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBKb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIEpvdXJuZXlUeXBlRGV0YWlsc0R0byRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW1cIiwgSm91cm5leVR5cGVEZXRhaWxzRHRvJHJlZmxlY3Rpb24oKV1dLCBbW1wiSXRlbVwiLCBKb3VybmV5VHlwZURldGFpbHNEdG8kcmVmbGVjdGlvbigpXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEpvdXJuZXlUeXBlRGV0YWlsc0R0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQ2F0ZWdvcnkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5DYXRlZ29yeSA9IENhdGVnb3J5O1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvdXJuZXlUeXBlRGV0YWlsc0R0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLkpvdXJuZXlUeXBlRGV0YWlsc0R0b1wiLCBbXSwgSm91cm5leVR5cGVEZXRhaWxzRHRvLCAoKSA9PiBbW1wiQ2F0ZWdvcnlcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEZXRhaWxzKGR0by5DYXRlZ29yeSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBKb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfb2ZEb21haW4oZGV0YWlscykge1xuICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEZXRhaWxzRHRvKGRldGFpbHMuQ2F0ZWdvcnkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgaWYgKGR0byA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGUoMCwgbmV3IEpvdXJuZXlUeXBlRGV0YWlscyh2b2lkIDApKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZHRvLnRhZyA9PT0gMSkge1xuICAgICAgICBjb25zdCBkZXRhaWxzXzEgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDEsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzXzEpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZHRvLnRhZyA9PT0gMikge1xuICAgICAgICBjb25zdCBkZXRhaWxzXzIgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDIsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzXzIpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZHRvLnRhZyA9PT0gMykge1xuICAgICAgICBjb25zdCBkZXRhaWxzXzMgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDMsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzXzMpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZHRvLnRhZyA9PT0gNCkge1xuICAgICAgICBjb25zdCBkZXRhaWxzXzQgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDQsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzXzQpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlKDAsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV90b0RvbWFpbihkZXRhaWxzKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVEdG9Nb2R1bGVfb2ZEb21haW4oam91cm5leVR5cGUpIHtcbiAgICBzd2l0Y2ggKGpvdXJuZXlUeXBlLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEdG8oMSwgSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX29mRG9tYWluKGpvdXJuZXlUeXBlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBKb3VybmV5VHlwZUR0bygyLCBKb3VybmV5VHlwZURldGFpbHNEdG9Nb2R1bGVfb2ZEb21haW4oam91cm5leVR5cGUuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEpvdXJuZXlUeXBlRHRvKDMsIEpvdXJuZXlUeXBlRGV0YWlsc0R0b01vZHVsZV9vZkRvbWFpbihqb3VybmV5VHlwZS5maWVsZHNbMF0pKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEdG8oNCwgSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX29mRG9tYWluKGpvdXJuZXlUeXBlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgSm91cm5leVR5cGVEdG8oMCwgSm91cm5leVR5cGVEZXRhaWxzRHRvTW9kdWxlX29mRG9tYWluKGpvdXJuZXlUeXBlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihJZCwgRGF0ZUNyZWF0ZWQsIENvbmZpZ3VyYXRpb24sIFN0YXR1cywgSW52aXRlLCBUYWdzLCBDcmVhdG9yLCBTdGVwc0NvbmZpZ3VyYXRpb24sIEpvdXJuZXlUeXBlLCBJc0JlbmVmaXRzU3RlcEVuYWJsZWQsIFBheVNldHVwQ29tcGxldGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5JZCA9IChJZCB8IDApO1xuICAgICAgICB0aGlzLkRhdGVDcmVhdGVkID0gRGF0ZUNyZWF0ZWQ7XG4gICAgICAgIHRoaXMuQ29uZmlndXJhdGlvbiA9IENvbmZpZ3VyYXRpb247XG4gICAgICAgIHRoaXMuU3RhdHVzID0gU3RhdHVzO1xuICAgICAgICB0aGlzLkludml0ZSA9IEludml0ZTtcbiAgICAgICAgdGhpcy5UYWdzID0gVGFncztcbiAgICAgICAgdGhpcy5DcmVhdG9yID0gQ3JlYXRvcjtcbiAgICAgICAgdGhpcy5TdGVwc0NvbmZpZ3VyYXRpb24gPSBTdGVwc0NvbmZpZ3VyYXRpb247XG4gICAgICAgIHRoaXMuSm91cm5leVR5cGUgPSBKb3VybmV5VHlwZTtcbiAgICAgICAgdGhpcy5Jc0JlbmVmaXRzU3RlcEVuYWJsZWQgPSBJc0JlbmVmaXRzU3RlcEVuYWJsZWQ7XG4gICAgICAgIHRoaXMuUGF5U2V0dXBDb21wbGV0ZSA9IFBheVNldHVwQ29tcGxldGU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc0luc3RhbmNlRHRvXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VEdG8sICgpID0+IFtbXCJJZFwiLCBpbnQzMl90eXBlXSwgW1wiRGF0ZUNyZWF0ZWRcIiwgY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKV0sIFtcIkNvbmZpZ3VyYXRpb25cIiwgUHJvY2Vzc0NvbmZpZ0R0byRyZWZsZWN0aW9uKCldLCBbXCJTdGF0dXNcIiwgUHJvY2Vzc0luc3RhbmNlU3RhdHVzRHRvJHJlZmxlY3Rpb24oKV0sIFtcIkludml0ZVwiLCBvcHRpb25fdHlwZShJbnZpdGVEdG8kcmVmbGVjdGlvbigpKV0sIFtcIlRhZ3NcIiwgb3B0aW9uX3R5cGUobGlzdF90eXBlKFRhZ0R0byRyZWZsZWN0aW9uKCkpKV0sIFtcIkNyZWF0b3JcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiU3RlcHNDb25maWd1cmF0aW9uXCIsIG9wdGlvbl90eXBlKFN0ZXBzQ29uZmlndXJhdGlvbkR0byRyZWZsZWN0aW9uKCkpXSwgW1wiSm91cm5leVR5cGVcIiwgb3B0aW9uX3R5cGUoSm91cm5leVR5cGVEdG8kcmVmbGVjdGlvbigpKV0sIFtcIklzQmVuZWZpdHNTdGVwRW5hYmxlZFwiLCBvcHRpb25fdHlwZShib29sX3R5cGUpXSwgW1wiUGF5U2V0dXBDb21wbGV0ZVwiLCBvcHRpb25fdHlwZShib29sX3R5cGUpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGxldCBpbnB1dF84LCBpbnB1dF8xMDtcbiAgICBjb25zdCBpbnB1dF8xOSA9IFByb2Nlc3NDb25maWdEdG9Nb2R1bGVfdG9Eb21haW4oZHRvLkNvbmZpZ3VyYXRpb24pO1xuICAgIGlmIChpbnB1dF8xOS50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xOS5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGlucHV0XzE5LmZpZWxkc1swXTtcbiAgICAgICAgY29uc3QgaW5wdXRfMTcgPSBQcm9jZXNzSW5zdGFuY2VTdGF0dXNEdG9Nb2R1bGVfdG9Eb21haW4oZHRvLlN0YXR1cyk7XG4gICAgICAgIGlmIChpbnB1dF8xNy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTcuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGlucHV0XzE3LmZpZWxkc1swXTtcbiAgICAgICAgICAgIGxldCBpbnB1dF8xNTtcbiAgICAgICAgICAgIGlmIChzdGF0dXMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlUHJvY2Vzc0luc3RhbmNlID0gc3RhdHVzLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dCA9IHNlcXVlbmNlUmVzdWx0TShtYXAoKHR1cGxlZEFyZ18xKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHR1cGxlZEFyZyA9IFt0dXBsZWRBcmdfMVswXSwgdHVwbGVkQXJnXzFbMV1dO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9jZXNzU3RlcElkID0gdHVwbGVkQXJnWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXhpc3RzKChzdGVwKSA9PiBlcXVhbHMoc3RlcC5JZCwgcHJvY2Vzc1N0ZXBJZCksIGNvbmZpZ3VyYXRpb24uU3RlcHMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIFtwcm9jZXNzU3RlcElkLCB0dXBsZWRBcmdbMV1dKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgXCJTdGVwIGlkIGlzIG5vdCBjb25maWd1cmVkIGZvciB0aGlzIFByb2Nlc3MgSW5zdGFuY2UuXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgYWN0aXZlUHJvY2Vzc0luc3RhbmNlLkNvbXBsZXRlZFN0ZXBzKSk7XG4gICAgICAgICAgICAgICAgaW5wdXRfMTUgPSAoKGlucHV0LnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlU3RhdHVzKDEsIG5ldyBBY3RpdmVQcm9jZXNzSW5zdGFuY2UoYWN0aXZlUHJvY2Vzc0luc3RhbmNlLkFjdGl2YXRlZERhdGVzLCBpbnB1dC5maWVsZHNbMF0pKSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlucHV0XzE1ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBzdGF0dXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpbnB1dF8xNS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzE1LmZpZWxkc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgaW5wdXRfMTM7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfMiA9IGR0by5JbnZpdGU7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0XzIgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8zID0gSW52aXRlRHRvTW9kdWxlX3RvRG9tYWluKGlucHV0XzIpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dF8xMyA9ICgoaW5wdXRfMy50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8zLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF8zLmZpZWxkc1swXSkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0XzEzID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0XzEzLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEzLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaW5wdXRfMTE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzUgPSBkdG8uVGFncztcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0XzUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfNiA9IHNlcXVlbmNlUmVzdWx0TShtYXAoVGFnRHRvTW9kdWxlX3RvRG9tYWluLCBpbnB1dF81KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dF8xMSA9ICgoaW5wdXRfNi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF82LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF82LmZpZWxkc1swXSkpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0XzExID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXRfMTEudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzExLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2UoUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5JZCksIGNvbmZpZ3VyYXRpb24sIGR0by5EYXRlQ3JlYXRlZCwgaW5wdXRfMTUuZmllbGRzWzBdLCBpbnB1dF8xMy5maWVsZHNbMF0sIGlucHV0XzExLmZpZWxkc1swXSwgKGlucHV0XzggPSBkdG8uQ3JlYXRvciwgKGlucHV0XzggPT0gbnVsbCkgPyAodm9pZCAwKSA6IFByb2ZpbGVJZE1vZHVsZV9jcmVhdGUoaW5wdXRfOCkpLCAoaW5wdXRfMTAgPSBkdG8uU3RlcHNDb25maWd1cmF0aW9uLCAoaW5wdXRfMTAgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFN0ZXBzQ29uZmlndXJhdGlvbkR0b01vZHVsZV90b0RvbWFpbihpbnB1dF8xMCkpLCBKb3VybmV5VHlwZUR0b01vZHVsZV90b0RvbWFpbihkdG8uSm91cm5leVR5cGUpLCBkdG8uSXNCZW5lZml0c1N0ZXBFbmFibGVkLCBkdG8uUGF5U2V0dXBDb21wbGV0ZSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIGxldCBpbnB1dF8xLCBpbnB1dF8zLCBpbnB1dF81LCBpbnB1dF83O1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlRHRvKFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKGRvbWFpbi5JZCksIGRvbWFpbi5EYXRlQ3JlYXRlZCwgUHJvY2Vzc0NvbmZpZ0R0b01vZHVsZV9vZkRvbWFpbihkb21haW4uQ29uZmlndXJhdGlvbiksIFByb2Nlc3NJbnN0YW5jZVN0YXR1c0R0b01vZHVsZV9vZkRvbWFpbihkb21haW4uU3RhdHVzKSwgKGlucHV0XzEgPSBkb21haW4uSW52aXRlLCAoaW5wdXRfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogSW52aXRlRHRvTW9kdWxlX29mRG9tYWluKGlucHV0XzEpKSwgKGlucHV0XzMgPSBkb21haW4uVGFncywgKGlucHV0XzMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IG1hcChUYWdEdG9Nb2R1bGVfb2ZEb21haW4sIGlucHV0XzMpKSwgKGlucHV0XzUgPSBkb21haW4uQ3JlYXRvciwgKGlucHV0XzUgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFByb2ZpbGVJZE1vZHVsZV92YWx1ZShpbnB1dF81KSksIChpbnB1dF83ID0gZG9tYWluLlN0ZXBzQ29uZmlndXJhdGlvbiwgKGlucHV0XzcgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFN0ZXBzQ29uZmlndXJhdGlvbkR0b01vZHVsZV9vZkRvbWFpbihpbnB1dF83KSksIEpvdXJuZXlUeXBlRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbi5Kb3VybmV5VHlwZSksIGRvbWFpbi5Jc0JlbmVmaXRzU3RlcEVuYWJsZWQsIGRvbWFpbi5QYXlTZXR1cENvbXBsZXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUR0b01vZHVsZV9MaXN0X3RvRG9tYWluKGR0b0xpc3QpIHtcbiAgICByZXR1cm4gc2VxdWVuY2VSZXN1bHRNKG1hcChQcm9jZXNzSW5zdGFuY2VEdG9Nb2R1bGVfdG9Eb21haW4sIGR0b0xpc3QpKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2Nlc3NJbnN0YW5jZUxpc3REdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKE1ldGFkYXRhLCBOZXh0SWQsIFByb2Nlc3NJbnN0YW5jZXMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5NZXRhZGF0YSA9IE1ldGFkYXRhO1xuICAgICAgICB0aGlzLk5leHRJZCA9IChOZXh0SWQgfCAwKTtcbiAgICAgICAgdGhpcy5Qcm9jZXNzSW5zdGFuY2VzID0gUHJvY2Vzc0luc3RhbmNlcztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0RHRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc0luc3RhbmNlTGlzdER0b1wiLCBbXSwgUHJvY2Vzc0luc3RhbmNlTGlzdER0bywgKCkgPT4gW1tcIk1ldGFkYXRhXCIsIE1ldGFkYXRhRHRvJDEkcmVmbGVjdGlvbihQcm9jZXNzSW5zdGFuY2VMaXN0TWV0YWRhdGFEdG8kcmVmbGVjdGlvbigpKV0sIFtcIk5leHRJZFwiLCBpbnQzMl90eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlc1wiLCBsaXN0X3R5cGUoUHJvY2Vzc0luc3RhbmNlRHRvJHJlZmxlY3Rpb24oKSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0RHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGNvbnN0IGlucHV0XzIgPSBNZXRhZGF0YUR0b190b0RvbWFpbihQcm9jZXNzSW5zdGFuY2VMaXN0TWV0YWRhdGFEdG9Nb2R1bGVfdG9Eb21haW4sIGR0by5NZXRhZGF0YSk7XG4gICAgaWYgKGlucHV0XzIudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMi5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBQcm9jZXNzSW5zdGFuY2VEdG9Nb2R1bGVfTGlzdF90b0RvbWFpbihkdG8uUHJvY2Vzc0luc3RhbmNlcyk7XG4gICAgICAgIGlmIChpbnB1dC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXQuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3QoaW5wdXRfMi5maWVsZHNbMF0sIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkdG8uTmV4dElkKSwgaW5wdXQuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VMaXN0RHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdER0byhNZXRhZGF0YUR0b19vZkRvbWFpbihQcm9jZXNzSW5zdGFuY2VMaXN0TWV0YWRhdGFEdG9Nb2R1bGVfb2ZEb21haW4sIGRvbWFpbi5NZXRhZGF0YSksIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKGRvbWFpbi5OZXh0SWQpLCBtYXAoUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX29mRG9tYWluLCBkb21haW4uUHJvY2Vzc0luc3RhbmNlcykpO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlVmVyc2lvbmVkRHRvIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJWMVwiLCBcIlVudXNlZFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VWZXJzaW9uZWREdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlByb2Nlc3NJbnN0YW5jZVZlcnNpb25lZER0b1wiLCBbXSwgUHJvY2Vzc0luc3RhbmNlVmVyc2lvbmVkRHRvLCAoKSA9PiBbW1tcIkl0ZW1cIiwgUHJvY2Vzc0luc3RhbmNlTGlzdER0byRyZWZsZWN0aW9uKCldXSwgW11dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZVZlcnNpb25lZER0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBpZiAoZHRvLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiVW51c2VkXCIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBQcm9jZXNzSW5zdGFuY2VMaXN0RHRvTW9kdWxlX3RvRG9tYWluKGR0by5maWVsZHNbMF0pO1xuICAgICAgICBpZiAoaW5wdXQudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0LmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIGlucHV0LmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VWZXJzaW9uZWREdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VWZXJzaW9uZWREdG8oMCwgUHJvY2Vzc0luc3RhbmNlTGlzdER0b01vZHVsZV9vZkRvbWFpbihkb21haW4pKTtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2ZpbGVOYW1lRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihGaXJzdE5hbWUsIE1pZGRsZU5hbWUsIExhc3ROYW1lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuRmlyc3ROYW1lID0gRmlyc3ROYW1lO1xuICAgICAgICB0aGlzLk1pZGRsZU5hbWUgPSBNaWRkbGVOYW1lO1xuICAgICAgICB0aGlzLkxhc3ROYW1lID0gTGFzdE5hbWU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvZmlsZU5hbWVEdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0LkR0by5Qcm9maWxlTmFtZUR0b1wiLCBbXSwgUHJvZmlsZU5hbWVEdG8sICgpID0+IFtbXCJGaXJzdE5hbWVcIiwgc3RyaW5nX3R5cGVdLCBbXCJNaWRkbGVOYW1lXCIsIG9wdGlvbl90eXBlKHN0cmluZ190eXBlKV0sIFtcIkxhc3ROYW1lXCIsIHN0cmluZ190eXBlXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvZmlsZU5hbWVEdG9Nb2R1bGVfdG9Eb21haW4obikge1xuICAgIHJldHVybiBuZXcgQ3JlYXRpb25EYXRhX1Byb2ZpbGVOYW1lKG4uRmlyc3ROYW1lLCBuLk1pZGRsZU5hbWUsIG4uTGFzdE5hbWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvZmlsZU5hbWVEdG9Nb2R1bGVfb2ZEb21haW4obikge1xuICAgIHJldHVybiBuZXcgUHJvZmlsZU5hbWVEdG8obi5GaXJzdE5hbWUsIG4uTWlkZGxlTmFtZSwgbi5MYXN0TmFtZSk7XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdG9yRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihJZCwgTmFtZSwgRW1haWwpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5JZCA9IElkO1xuICAgICAgICB0aGlzLk5hbWUgPSBOYW1lO1xuICAgICAgICB0aGlzLkVtYWlsID0gRW1haWw7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRvckR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLkNyZWF0b3JEdG9cIiwgW10sIENyZWF0b3JEdG8sICgpID0+IFtbXCJJZFwiLCBzdHJpbmdfdHlwZV0sIFtcIk5hbWVcIiwgUHJvZmlsZU5hbWVEdG8kcmVmbGVjdGlvbigpXSwgW1wiRW1haWxcIiwgc3RyaW5nX3R5cGVdXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdG9yRHRvTW9kdWxlX3RvRG9tYWluKGMpIHtcbiAgICByZXR1cm4gbmV3IENyZWF0aW9uRGF0YV9DcmVhdG9yKFByb2ZpbGVJZE1vZHVsZV9jcmVhdGUoYy5JZCksIFByb2ZpbGVOYW1lRHRvTW9kdWxlX3RvRG9tYWluKGMuTmFtZSksIGMuRW1haWwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRvckR0b01vZHVsZV9vZkRvbWFpbihjKSB7XG4gICAgcmV0dXJuIG5ldyBDcmVhdG9yRHRvKFByb2ZpbGVJZE1vZHVsZV92YWx1ZShjLklkKSwgUHJvZmlsZU5hbWVEdG9Nb2R1bGVfb2ZEb21haW4oYy5OYW1lKSwgYy5FbWFpbCk7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9maWxlRGV0YWlsRHRvIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihOYW1lLCBFbWFpbCwgTW9iaWxlUGhvbmUsIEV4dGVybmFsSWQpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5OYW1lID0gTmFtZTtcbiAgICAgICAgdGhpcy5FbWFpbCA9IEVtYWlsO1xuICAgICAgICB0aGlzLk1vYmlsZVBob25lID0gTW9iaWxlUGhvbmU7XG4gICAgICAgIHRoaXMuRXh0ZXJuYWxJZCA9IEV4dGVybmFsSWQ7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvZmlsZURldGFpbER0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlByb2ZpbGVEZXRhaWxEdG9cIiwgW10sIFByb2ZpbGVEZXRhaWxEdG8sICgpID0+IFtbXCJOYW1lXCIsIFByb2ZpbGVOYW1lRHRvJHJlZmxlY3Rpb24oKV0sIFtcIkVtYWlsXCIsIHN0cmluZ190eXBlXSwgW1wiTW9iaWxlUGhvbmVcIiwgb3B0aW9uX3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiRXh0ZXJuYWxJZFwiLCBvcHRpb25fdHlwZShzdHJpbmdfdHlwZSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9maWxlRGV0YWlsRHRvTW9kdWxlX3RvRG9tYWluKHApIHtcbiAgICByZXR1cm4gQ3JlYXRpb25EYXRhX1Byb2ZpbGVNb2R1bGVfY3JlYXRlKFByb2ZpbGVOYW1lRHRvTW9kdWxlX3RvRG9tYWluKHAuTmFtZSksIHAuRXh0ZXJuYWxJZCwgcC5FbWFpbCwgcC5Nb2JpbGVQaG9uZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9maWxlRGV0YWlsRHRvTW9kdWxlX29mRG9tYWluKHApIHtcbiAgICBjb25zdCBwXzEgPSBDcmVhdGlvbkRhdGFfUHJvZmlsZU1vZHVsZV92YWx1ZShwKTtcbiAgICByZXR1cm4gbmV3IFByb2ZpbGVEZXRhaWxEdG8oUHJvZmlsZU5hbWVEdG9Nb2R1bGVfb2ZEb21haW4ocF8xLk5hbWUpLCBwXzEuRW1haWwsIHBfMS5Nb2JpbGVQaG9uZSwgcF8xLkV4dGVybmFsSWQpO1xufVxuXG5leHBvcnQgY2xhc3MgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0byBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiQ29tcGxldGVTdGVwXCIsIFwiQ29tcGxldGVTdGVwVjJcIiwgXCJDb21wbGV0ZVwiLCBcIlZpZXdQYXlTZXR1cFBhZ2VcIiwgXCJDb21wbGV0ZVBheVNldHVwXCIsIFwiUmVzdW1lUGF5U2V0dXBcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLkJ1c2luZXNzLkFnZ3JlZ2F0ZXMuUHJvY2Vzc0luc3RhbmNlTGlzdC5EdG8uUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0b1wiLCBbXSwgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0bywgKCkgPT4gW1tbXCJJdGVtXCIsIHR1cGxlX3R5cGUoaW50MzJfdHlwZSwgc3RyaW5nX3R5cGUpXV0sIFtbXCJJdGVtXCIsIHR1cGxlX3R5cGUoaW50MzJfdHlwZSwgc3RyaW5nX3R5cGUpXV0sIFtbXCJJdGVtXCIsIGludDMyX3R5cGVdXSwgW1tcIkl0ZW1cIiwgdHVwbGVfdHlwZShpbnQzMl90eXBlLCBib29sX3R5cGUpXV0sIFtbXCJJdGVtXCIsIHR1cGxlX3R5cGUoaW50MzJfdHlwZSwgYm9vbF90eXBlKV1dLCBbW1wiSXRlbVwiLCB0dXBsZV90eXBlKGludDMyX3R5cGUsIGJvb2xfdHlwZSldXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0b01vZHVsZV90b0RvbWFpbihkdG8pIHtcbiAgICBzd2l0Y2ggKGR0by50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kKDQsIG5ldyBDb21wbGV0ZVN0ZXBWMkNvbW1hbmRQYXlsb2FkKFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdWzBdKSwgUHJvY2Vzc1N0ZXBJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXVsxXSkpKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VDb21tYW5kKDgsIFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdKSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZCg1LCB7XG4gICAgICAgICAgICAgICAgSW5qZWN0ZWRCZW5lZml0czogZHRvLmZpZWxkc1swXVsxXSxcbiAgICAgICAgICAgICAgICBQcm9jZXNzSW5zdGFuY2VJZDogUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5maWVsZHNbMF1bMF0pLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNToge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZCg3LCB7XG4gICAgICAgICAgICAgICAgSW5qZWN0ZWRCZW5lZml0czogZHRvLmZpZWxkc1swXVsxXSxcbiAgICAgICAgICAgICAgICBQcm9jZXNzSW5zdGFuY2VJZDogUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5maWVsZHNbMF1bMF0pLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlQ29tbWFuZCg2LCB7XG4gICAgICAgICAgICAgICAgSW5qZWN0ZWRCZW5lZml0czogZHRvLmZpZWxkc1swXVsxXSxcbiAgICAgICAgICAgICAgICBQcm9jZXNzSW5zdGFuY2VJZDogUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5maWVsZHNbMF1bMF0pLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUNvbW1hbmQoMywgW1Byb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdWzBdKSwgUHJvY2Vzc1N0ZXBJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXVsxXSldKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9jZXNzSW5zdGFuY2VFdmVudER0byBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiQ3JlYXRlZFwiLCBcIkNyZWF0ZWRWMlwiLCBcIlRhZ3NBZGRlZFwiLCBcIkFjdGl2YXRlZFwiLCBcIkFjdGl2YXRlZFYyXCIsIFwiU3RlcENvbXBsZXRlZFwiLCBcIlBheVNldHVwUGFnZVZpZXdlZFwiLCBcIlBheVNldHVwQ29tcGxldGVkXCIsIFwiUGF5U2V0dXBSZXN1bWVkXCIsIFwiQ29tcGxldGVkXCIsIFwiQWJhbmRvbmVkXCIsIFwiSW52aXRlQ3JlYXRlZFwiLCBcIkludml0ZVNlY29uZEZhY3RvckNvZGVJc3N1ZWRcIiwgXCJJbnZpdGVTZWNvbmRGYWN0b3JBdHRlbXB0ZWRcIiwgXCJJbnZpdGVTZWNvbmRGYWN0b3JTdWNjZWVkZWRcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJvY2Vzc0luc3RhbmNlRXZlbnREdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuRHRvLlByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvXCIsIFtdLCBQcm9jZXNzSW5zdGFuY2VFdmVudER0bywgKCkgPT4gW1tbXCJJdGVtXCIsIFByb2Nlc3NDb25maWdEdG8kcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJDb25maWdcIiwgUHJvY2Vzc0NvbmZpZ0R0byRyZWZsZWN0aW9uKCldLCBbXCJDcmVhdG9yXCIsIG9wdGlvbl90eXBlKENyZWF0b3JEdG8kcmVmbGVjdGlvbigpKV0sIFtcIklkXCIsIGludDMyX3R5cGVdLCBbXCJKb3VybmV5VHlwZVwiLCBvcHRpb25fdHlwZShKb3VybmV5VHlwZUR0byRyZWZsZWN0aW9uKCkpXSwgW1wiUHJvZmlsZVwiLCBvcHRpb25fdHlwZShQcm9maWxlRGV0YWlsRHRvJHJlZmxlY3Rpb24oKSldLCBbXCJTdGVwc0NvbmZpZ3VyYXRpb25cIiwgb3B0aW9uX3R5cGUoU3RlcHNDb25maWd1cmF0aW9uRHRvJHJlZmxlY3Rpb24oKSldLCBbXCJUYWdzXCIsIG9wdGlvbl90eXBlKGxpc3RfdHlwZShUYWdEdG8kcmVmbGVjdGlvbigpKSldKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSWRcIiwgaW50MzJfdHlwZV0sIFtcIlRhZ3NcIiwgbGlzdF90eXBlKFRhZ0R0byRyZWZsZWN0aW9uKCkpXSldXSwgW1tcIkl0ZW1cIiwgaW50MzJfdHlwZV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSXNCZW5lZml0c1N0ZXBFbmFibGVkXCIsIG9wdGlvbl90eXBlKGJvb2xfdHlwZSldLCBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiLCBpbnQzMl90eXBlXSldXSwgW1tcIkl0ZW1cIiwgdHVwbGVfdHlwZShpbnQzMl90eXBlLCBzdHJpbmdfdHlwZSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgaW50MzJfdHlwZV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJbmplY3RlZEJlbmVmaXRzXCIsIGJvb2xfdHlwZV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIGludDMyX3R5cGVdKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSW5qZWN0ZWRCZW5lZml0c1wiLCBib29sX3R5cGVdLCBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiLCBpbnQzMl90eXBlXSldXSwgW1tcIkl0ZW1cIiwgaW50MzJfdHlwZV1dLCBbW1wiSXRlbVwiLCBpbnQzMl90eXBlXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJCcmFuZGluZ1wiLCBvcHRpb25fdHlwZShJbnZpdGVCcmFuZGluZ0R0byRyZWZsZWN0aW9uKCkpXSwgW1wiRW1haWxTZW50XCIsIG9wdGlvbl90eXBlKGJvb2xfdHlwZSldLCBbXCJJbnZpdGVDb2RlXCIsIHN0cmluZ190eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgaW50MzJfdHlwZV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJFbWFpbFNlbnRcIiwgb3B0aW9uX3R5cGUoYm9vbF90eXBlKV0sIFtcIkludml0ZUNvZGVcIiwgc3RyaW5nX3R5cGVdLCBbXCJQcm9jZXNzSW5zdGFuY2VJZFwiLCBpbnQzMl90eXBlXSwgW1wiU2Vjb25kRmFjdG9yQ29kZVwiLCBzdHJpbmdfdHlwZV0pXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJJbnZpdGVDb2RlXCIsIHN0cmluZ190eXBlXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgaW50MzJfdHlwZV0sIFtcIlNlY29uZEZhY3RvckNvZGVcIiwgc3RyaW5nX3R5cGVdKV1dLCBbW1wiSXRlbVwiLCBpbnQzMl90eXBlXV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGxldCBjcmVhdG9yLCBpbnB1dF82LCBpbnB1dF84LCBpbnB1dF8xMDtcbiAgICBzd2l0Y2ggKGR0by50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gZHRvLmZpZWxkc1swXTtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGRhdGEuSWQpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfMTMgPSBQcm9jZXNzQ29uZmlnRHRvTW9kdWxlX3RvRG9tYWluKGRhdGEuQ29uZmlnKTtcbiAgICAgICAgICAgIGlmIChpbnB1dF8xMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEzLmZpZWxkc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgaW5wdXRfMTE7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfMyA9IGRhdGEuVGFncztcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRfMyAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzQgPSBzZXF1ZW5jZVJlc3VsdE0obWFwKFRhZ0R0b01vZHVsZV90b0RvbWFpbiwgaW5wdXRfMykpO1xuICAgICAgICAgICAgICAgICAgICBpbnB1dF8xMSA9ICgoaW5wdXRfNC50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF80LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF80LmZpZWxkc1swXSkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0XzExID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0XzExLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzExLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIChjcmVhdG9yID0gKChpbnB1dF82ID0gZGF0YS5DcmVhdG9yLCAoaW5wdXRfNiA9PSBudWxsKSA/ICh2b2lkIDApIDogQ3JlYXRvckR0b01vZHVsZV90b0RvbWFpbihpbnB1dF82KSkpLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudCgxLCBuZXcgQ3JlYXRlZFYyUGF5bG9hZChpZCwgaW5wdXRfMTMuZmllbGRzWzBdLCAoaW5wdXRfOCA9IGRhdGEuUHJvZmlsZSwgKGlucHV0XzggPT0gbnVsbCkgPyAodm9pZCAwKSA6IFByb2ZpbGVEZXRhaWxEdG9Nb2R1bGVfdG9Eb21haW4oaW5wdXRfOCkpLCBjcmVhdG9yLCBpbnB1dF8xMS5maWVsZHNbMF0sIChpbnB1dF8xMCA9IGRhdGEuU3RlcHNDb25maWd1cmF0aW9uLCAoaW5wdXRfMTAgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFN0ZXBzQ29uZmlndXJhdGlvbkR0b01vZHVsZV90b0RvbWFpbihpbnB1dF8xMCkpLCBKb3VybmV5VHlwZUR0b01vZHVsZV90b0RvbWFpbihkYXRhLkpvdXJuZXlUeXBlKSkpKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFfMSA9IGR0by5maWVsZHNbMF07XG4gICAgICAgICAgICBjb25zdCBpZF8xID0gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGRhdGFfMS5JZCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF8xNCA9IHNlcXVlbmNlUmVzdWx0TShtYXAoVGFnRHRvTW9kdWxlX3RvRG9tYWluLCBkYXRhXzEuVGFncykpO1xuICAgICAgICAgICAgaWYgKGlucHV0XzE0LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTQuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCgwLCBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnQoMiwge1xuICAgICAgICAgICAgICAgICAgICBJZDogaWRfMSxcbiAgICAgICAgICAgICAgICAgICAgVGFnczogaW5wdXRfMTQuZmllbGRzWzBdLFxuICAgICAgICAgICAgICAgIH0pKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50KDMsIHtcbiAgICAgICAgICAgICAgICBJc0JlbmVmaXRzU3RlcEVuYWJsZWQ6IHZvaWQgMCxcbiAgICAgICAgICAgICAgICBQcm9jZXNzSW5zdGFuY2VJZDogUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGR0by5maWVsZHNbMF0pLFxuICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFfMiA9IGR0by5maWVsZHNbMF07XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50KDMsIHtcbiAgICAgICAgICAgICAgICBJc0JlbmVmaXRzU3RlcEVuYWJsZWQ6IGRhdGFfMi5Jc0JlbmVmaXRzU3RlcEVuYWJsZWQsXG4gICAgICAgICAgICAgICAgUHJvY2Vzc0luc3RhbmNlSWQ6IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkYXRhXzIuUHJvY2Vzc0luc3RhbmNlSWQpLFxuICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCgwLCBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnQoNCwgW1Byb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkdG8uZmllbGRzWzBdWzBdKSwgUHJvY2Vzc1N0ZXBJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXVsxXSldKSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNjoge1xuICAgICAgICAgICAgY29uc3QgZGF0YV8zID0gZHRvLmZpZWxkc1swXTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCgwLCBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnQoNSwge1xuICAgICAgICAgICAgICAgIEluamVjdGVkQmVuZWZpdHM6IGRhdGFfMy5JbmplY3RlZEJlbmVmaXRzLFxuICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZGF0YV8zLlByb2Nlc3NJbnN0YW5jZUlkKSxcbiAgICAgICAgICAgIH0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA4OiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhXzQgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudCg3LCB7XG4gICAgICAgICAgICAgICAgSW5qZWN0ZWRCZW5lZml0czogZGF0YV80LkluamVjdGVkQmVuZWZpdHMsXG4gICAgICAgICAgICAgICAgUHJvY2Vzc0luc3RhbmNlSWQ6IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkYXRhXzQuUHJvY2Vzc0luc3RhbmNlSWQpLFxuICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFfNSA9IGR0by5maWVsZHNbMF07XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50KDYsIHtcbiAgICAgICAgICAgICAgICBJbmplY3RlZEJlbmVmaXRzOiBkYXRhXzUuSW5qZWN0ZWRCZW5lZml0cyxcbiAgICAgICAgICAgICAgICBQcm9jZXNzSW5zdGFuY2VJZDogUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGRhdGFfNS5Qcm9jZXNzSW5zdGFuY2VJZCksXG4gICAgICAgICAgICB9KSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgOToge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudCg4LCBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXSkpKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxMDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudCg5LCBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXSkpKSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxMToge1xuICAgICAgICAgICAgY29uc3QgZGF0YV82ID0gZHRvLmZpZWxkc1swXTtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NJbnN0YW5jZUlkXzQgPSBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZGF0YV82LlByb2Nlc3NJbnN0YW5jZUlkKTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzIwID0gSW52aXRlQ29kZU1vZHVsZV9jcmVhdGUoZGF0YV82Lkludml0ZUNvZGUpO1xuICAgICAgICAgICAgaWYgKGlucHV0XzIwLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMjAuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCBpbnB1dF8xODtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8xNiA9IGRhdGFfNi5CcmFuZGluZztcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRfMTYgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8xNyA9IEludml0ZUJyYW5kaW5nRHRvTW9kdWxlX3RvRG9tYWluKGlucHV0XzE2KTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRfMTggPSAoKGlucHV0XzE3LnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzE3LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBpbnB1dF8xNy5maWVsZHNbMF0pKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dF8xOCA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpbnB1dF8xOC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xOC5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDEsIG5ldyBQcm9jZXNzSW5zdGFuY2VJbnZpdGVFdmVudCgwLCBbcHJvY2Vzc0luc3RhbmNlSWRfNCwgaW5wdXRfMjAuZmllbGRzWzBdLCBpbnB1dF8xOC5maWVsZHNbMF0sIEVtYWlsU2VuZE9wdGlvbk1vZHVsZV9jcmVhdGUoZGVmYXVsdEFyZyhkYXRhXzYuRW1haWxTZW50LCB0cnVlKSldKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXNlIDEyOiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhXzcgPSBkdG8uZmllbGRzWzBdO1xuICAgICAgICAgICAgY29uc3QgcHJvY2Vzc0luc3RhbmNlSWRfNSA9IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX2NyZWF0ZShkYXRhXzcuUHJvY2Vzc0luc3RhbmNlSWQpO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfMjEgPSBJbnZpdGVDb2RlTW9kdWxlX2NyZWF0ZShkYXRhXzcuSW52aXRlQ29kZSk7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMjEudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yMS5maWVsZHNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDEsIG5ldyBQcm9jZXNzSW5zdGFuY2VJbnZpdGVFdmVudCgxLCBbcHJvY2Vzc0luc3RhbmNlSWRfNSwgaW5wdXRfMjEuZmllbGRzWzBdLCBTZWNvbmRGYWN0b3JDb2RlTW9kdWxlX2NyZWF0ZShkYXRhXzcuU2Vjb25kRmFjdG9yQ29kZSksIEVtYWlsU2VuZE9wdGlvbk1vZHVsZV9jcmVhdGUoZGVmYXVsdEFyZyhkYXRhXzcuRW1haWxTZW50LCB0cnVlKSldKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhc2UgMTM6IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFfOCA9IGR0by5maWVsZHNbMF07XG4gICAgICAgICAgICBjb25zdCBwcm9jZXNzSW5zdGFuY2VJZF82ID0gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfY3JlYXRlKGRhdGFfOC5Qcm9jZXNzSW5zdGFuY2VJZCk7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF8yMiA9IEludml0ZUNvZGVNb2R1bGVfY3JlYXRlKGRhdGFfOC5JbnZpdGVDb2RlKTtcbiAgICAgICAgICAgIGlmIChpbnB1dF8yMi50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzIyLmZpZWxkc1swXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBQcm9jZXNzSW5zdGFuY2VMaXN0RXZlbnQoMSwgbmV3IFByb2Nlc3NJbnN0YW5jZUludml0ZUV2ZW50KDIsIFtwcm9jZXNzSW5zdGFuY2VJZF82LCBpbnB1dF8yMi5maWVsZHNbMF0sIFNlY29uZEZhY3RvckNvZGVNb2R1bGVfY3JlYXRlKGRhdGFfOC5TZWNvbmRGYWN0b3JDb2RlKV0pKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxNDoge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgUHJvY2Vzc0luc3RhbmNlTGlzdEV2ZW50KDEsIG5ldyBQcm9jZXNzSW5zdGFuY2VJbnZpdGVFdmVudCgzLCBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV9jcmVhdGUoZHRvLmZpZWxkc1swXSkpKSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfMSA9IFByb2Nlc3NDb25maWdEdG9Nb2R1bGVfdG9Eb21haW4oZHRvLmZpZWxkc1swXSk7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudCgwLCBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnQoMCwgaW5wdXRfMS5maWVsZHNbMF0pKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9jZXNzSW5zdGFuY2VFdmVudER0b01vZHVsZV9vZkRvbWFpbihldmVudCkge1xuICAgIGxldCBJbnZpdGVDb2RlXzEsIFByb2Nlc3NJbnN0YW5jZUlkXzUsIFNlY29uZEZhY3RvckNvZGUsIEludml0ZUNvZGUsIFByb2Nlc3NJbnN0YW5jZUlkXzQsIGlucHV0XzksIElkLCBDb25maWcsIENyZWF0b3IsIGlucHV0XzEsIFRhZ3MsIGlucHV0XzMsIFByb2ZpbGUsIGlucHV0XzUsIFN0ZXBzQ29uZmlndXJhdGlvbiwgaW5wdXRfNztcbiAgICBpZiAoZXZlbnQudGFnID09PSAxKSB7XG4gICAgICAgIGNvbnN0IGludml0ZUV2ZW50ID0gZXZlbnQuZmllbGRzWzBdO1xuICAgICAgICBzd2l0Y2ggKGludml0ZUV2ZW50LnRhZykge1xuICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0bygxMiwgKEludml0ZUNvZGVfMSA9IEludml0ZUNvZGVNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzFdKSwgKFByb2Nlc3NJbnN0YW5jZUlkXzUgPSAoUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzBdKSB8IDApLCAoU2Vjb25kRmFjdG9yQ29kZSA9IFNlY29uZEZhY3RvckNvZGVNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzJdKSwge1xuICAgICAgICAgICAgICAgICAgICBFbWFpbFNlbnQ6IEVtYWlsU2VuZE9wdGlvbk1vZHVsZV92YWx1ZShpbnZpdGVFdmVudC5maWVsZHNbMF1bM10pLFxuICAgICAgICAgICAgICAgICAgICBJbnZpdGVDb2RlOiBJbnZpdGVDb2RlXzEsXG4gICAgICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZF81LFxuICAgICAgICAgICAgICAgICAgICBTZWNvbmRGYWN0b3JDb2RlOiBTZWNvbmRGYWN0b3JDb2RlLFxuICAgICAgICAgICAgICAgIH0pKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0bygxMywge1xuICAgICAgICAgICAgICAgICAgICBJbnZpdGVDb2RlOiBJbnZpdGVDb2RlTW9kdWxlX3ZhbHVlKGludml0ZUV2ZW50LmZpZWxkc1swXVsxXSksXG4gICAgICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShpbnZpdGVFdmVudC5maWVsZHNbMF1bMF0pLFxuICAgICAgICAgICAgICAgICAgICBTZWNvbmRGYWN0b3JDb2RlOiBTZWNvbmRGYWN0b3JDb2RlTW9kdWxlX3ZhbHVlKGludml0ZUV2ZW50LmZpZWxkc1swXVsyXSksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDE0LCBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShpbnZpdGVFdmVudC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDExLCAoSW52aXRlQ29kZSA9IEludml0ZUNvZGVNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzFdKSwgKFByb2Nlc3NJbnN0YW5jZUlkXzQgPSAoUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzBdKSB8IDApLCB7XG4gICAgICAgICAgICAgICAgICAgIEJyYW5kaW5nOiAoaW5wdXRfOSA9IGludml0ZUV2ZW50LmZpZWxkc1swXVsyXSwgKGlucHV0XzkgPT0gbnVsbCkgPyAodm9pZCAwKSA6IEludml0ZUJyYW5kaW5nRHRvTW9kdWxlX29mRG9tYWluKGlucHV0XzkpKSxcbiAgICAgICAgICAgICAgICAgICAgRW1haWxTZW50OiBFbWFpbFNlbmRPcHRpb25Nb2R1bGVfdmFsdWUoaW52aXRlRXZlbnQuZmllbGRzWzBdWzNdKSxcbiAgICAgICAgICAgICAgICAgICAgSW52aXRlQ29kZTogSW52aXRlQ29kZSxcbiAgICAgICAgICAgICAgICAgICAgUHJvY2Vzc0luc3RhbmNlSWQ6IFByb2Nlc3NJbnN0YW5jZUlkXzQsXG4gICAgICAgICAgICAgICAgfSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5zdGFuY2VFdmVudCA9IGV2ZW50LmZpZWxkc1swXTtcbiAgICAgICAgc3dpdGNoIChpbnN0YW5jZUV2ZW50LnRhZykge1xuICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGluc3RhbmNlRXZlbnQuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnREdG8oMSwgKElkID0gKFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKGRhdGEuSWQpIHwgMCksIChDb25maWcgPSBQcm9jZXNzQ29uZmlnRHRvTW9kdWxlX29mRG9tYWluKGRhdGEuQ29uZmlnKSwgKENyZWF0b3IgPSAoKGlucHV0XzEgPSBkYXRhLkNyZWF0b3IsIChpbnB1dF8xID09IG51bGwpID8gKHZvaWQgMCkgOiBDcmVhdG9yRHRvTW9kdWxlX29mRG9tYWluKGlucHV0XzEpKSksIChUYWdzID0gKChpbnB1dF8zID0gZGF0YS5UYWdzLCAoaW5wdXRfMyA9PSBudWxsKSA/ICh2b2lkIDApIDogbWFwKFRhZ0R0b01vZHVsZV9vZkRvbWFpbiwgaW5wdXRfMykpKSwgKFByb2ZpbGUgPSAoKGlucHV0XzUgPSBkYXRhLlByb2ZpbGUsIChpbnB1dF81ID09IG51bGwpID8gKHZvaWQgMCkgOiBQcm9maWxlRGV0YWlsRHRvTW9kdWxlX29mRG9tYWluKGlucHV0XzUpKSksIChTdGVwc0NvbmZpZ3VyYXRpb24gPSAoKGlucHV0XzcgPSBkYXRhLlN0ZXBzQ29uZmlndXJhdGlvbiwgKGlucHV0XzcgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFN0ZXBzQ29uZmlndXJhdGlvbkR0b01vZHVsZV9vZkRvbWFpbihpbnB1dF83KSkpLCB7XG4gICAgICAgICAgICAgICAgICAgIENvbmZpZzogQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBDcmVhdG9yOiBDcmVhdG9yLFxuICAgICAgICAgICAgICAgICAgICBJZDogSWQsXG4gICAgICAgICAgICAgICAgICAgIEpvdXJuZXlUeXBlOiBKb3VybmV5VHlwZUR0b01vZHVsZV9vZkRvbWFpbihkYXRhLkpvdXJuZXlUeXBlKSxcbiAgICAgICAgICAgICAgICAgICAgUHJvZmlsZTogUHJvZmlsZSxcbiAgICAgICAgICAgICAgICAgICAgU3RlcHNDb25maWd1cmF0aW9uOiBTdGVwc0NvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIFRhZ3M6IFRhZ3MsXG4gICAgICAgICAgICAgICAgfSkpKSkpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhXzEgPSBpbnN0YW5jZUV2ZW50LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDIsIHtcbiAgICAgICAgICAgICAgICAgICAgSWQ6IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKGRhdGFfMS5JZCksXG4gICAgICAgICAgICAgICAgICAgIFRhZ3M6IG1hcChUYWdEdG9Nb2R1bGVfb2ZEb21haW4sIGRhdGFfMS5UYWdzKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFfMiA9IGluc3RhbmNlRXZlbnQuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnREdG8oNCwge1xuICAgICAgICAgICAgICAgICAgICBJc0JlbmVmaXRzU3RlcEVuYWJsZWQ6IGRhdGFfMi5Jc0JlbmVmaXRzU3RlcEVuYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShkYXRhXzIuUHJvY2Vzc0luc3RhbmNlSWQpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0byg1LCBbUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoaW5zdGFuY2VFdmVudC5maWVsZHNbMF1bMF0pLCBQcm9jZXNzU3RlcElkTW9kdWxlX3ZhbHVlKGluc3RhbmNlRXZlbnQuZmllbGRzWzBdWzFdKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YV8zID0gaW5zdGFuY2VFdmVudC5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0byg2LCB7XG4gICAgICAgICAgICAgICAgICAgIEluamVjdGVkQmVuZWZpdHM6IGRhdGFfMy5JbmplY3RlZEJlbmVmaXRzLFxuICAgICAgICAgICAgICAgICAgICBQcm9jZXNzSW5zdGFuY2VJZDogUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoZGF0YV8zLlByb2Nlc3NJbnN0YW5jZUlkKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFfNCA9IGluc3RhbmNlRXZlbnQuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJvY2Vzc0luc3RhbmNlRXZlbnREdG8oOCwge1xuICAgICAgICAgICAgICAgICAgICBJbmplY3RlZEJlbmVmaXRzOiBkYXRhXzQuSW5qZWN0ZWRCZW5lZml0cyxcbiAgICAgICAgICAgICAgICAgICAgUHJvY2Vzc0luc3RhbmNlSWQ6IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKGRhdGFfNC5Qcm9jZXNzSW5zdGFuY2VJZCksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhXzUgPSBpbnN0YW5jZUV2ZW50LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDcsIHtcbiAgICAgICAgICAgICAgICAgICAgSW5qZWN0ZWRCZW5lZml0czogZGF0YV81LkluamVjdGVkQmVuZWZpdHMsXG4gICAgICAgICAgICAgICAgICAgIFByb2Nlc3NJbnN0YW5jZUlkOiBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShkYXRhXzUuUHJvY2Vzc0luc3RhbmNlSWQpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSA4OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0byg5LCBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShpbnN0YW5jZUV2ZW50LmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSA5OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9jZXNzSW5zdGFuY2VFdmVudER0bygxMCwgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUoaW5zdGFuY2VFdmVudC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb2Nlc3NJbnN0YW5jZUV2ZW50RHRvKDAsIFByb2Nlc3NDb25maWdEdG9Nb2R1bGVfb2ZEb21haW4oaW5zdGFuY2VFdmVudC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NJbnN0YW5jZUxpc3RFdmVudER0b01vZHVsZV90b0RvbWFpbiA9IChldmVudCkgPT4gRXZlbnREdG9fdG9Eb21haW4oUHJvY2Vzc0luc3RhbmNlRXZlbnREdG9Nb2R1bGVfdG9Eb21haW4sIFByb2Nlc3NJbnN0YW5jZUxpc3RNZXRhZGF0YUR0b01vZHVsZV90b0RvbWFpbiwgZXZlbnQpO1xuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/ProcessInstanceList/Dto.fs.js\n");
|
|
64
64
|
|
|
65
65
|
/***/ }),
|
|
66
66
|
|
|
@@ -82,7 +82,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
82
82
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
83
83
|
|
|
84
84
|
"use strict";
|
|
85
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InviteDto: () => (/* binding */ InviteDto),\n/* harmony export */ InviteDto$reflection: () => (/* binding */ InviteDto$reflection),\n/* harmony export */ InviteDtoModule_ofDomain: () => (/* binding */ InviteDtoModule_ofDomain),\n/* harmony export */ InviteDtoModule_toDomain: () => (/* binding */ InviteDtoModule_toDomain),\n/* harmony export */ SecondFactorDto: () => (/* binding */ SecondFactorDto),\n/* harmony export */ SecondFactorDto$reflection: () => (/* binding */ SecondFactorDto$reflection),\n/* harmony export */ SecondFactorDtoModule_ofDomain: () => (/* binding */ SecondFactorDtoModule_ofDomain),\n/* harmony export */ SecondFactorDtoModule_toDomain: () => (/* binding */ SecondFactorDtoModule_toDomain)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Domain.fs.js\");\n/* harmony import */ var _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CommonDto.fs.js */ \"../Workflows.Business/Aggregates/CommonDto.fs.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n\n\n\n\n\n\n\nclass SecondFactorDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_3__.Record {\n constructor(Code, DateIssued, NumberOfAttempts, DateOfLastAttempt) {\n super();\n this.Code = Code;\n this.DateIssued = DateIssued;\n this.NumberOfAttempts = (NumberOfAttempts | 0);\n this.DateOfLastAttempt = DateOfLastAttempt;\n }\n}\n\nfunction SecondFactorDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Invite.Dto.SecondFactorDto\", [], SecondFactorDto, () => [[\"Code\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.string_type], [\"DateIssued\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.class_type)(\"System.DateTime\")], [\"NumberOfAttempts\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.int32_type], [\"DateOfLastAttempt\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.class_type)(\"System.DateTime\"))]]);\n}\n\nfunction SecondFactorDtoModule_toDomain(dto) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactor((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactorCodeModule_create)(dto.Code), dto.DateIssued, dto.NumberOfAttempts, dto.DateOfLastAttempt);\n}\n\nfunction SecondFactorDtoModule_ofDomain(domain) {\n return new SecondFactorDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactorCodeModule_value)(domain.Code), domain.DateIssued, domain.NumberOfAttempts, domain.DateOfLastAttempt);\n}\n\nclass InviteDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_3__.Record {\n constructor(Code, DateIssued, SecondFactor, Branding) {\n super();\n this.Code = Code;\n this.DateIssued = DateIssued;\n this.SecondFactor = SecondFactor;\n this.Branding = Branding;\n }\n}\n\nfunction InviteDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Invite.Dto.InviteDto\", [], InviteDto, () => [[\"Code\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.string_type], [\"DateIssued\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.class_type)(\"System.DateTime\")], [\"SecondFactor\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.option_type)(SecondFactorDto$reflection())], [\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.option_type)((0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBrandingDto$reflection)())]]);\n}\n\nfunction InviteDtoModule_toDomain(dto) {\n const input_5 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_create)(dto.Code);\n if (input_5.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(1, input_5.fields[0]);\n }\n else {\n let secondFactor;\n const x_1 = dto.SecondFactor;\n secondFactor = ((x_1 == null) ? (void 0) : SecondFactorDtoModule_toDomain(x_1));\n let input_3;\n const input_1 = dto.Branding;\n if (input_1 != null) {\n const input_2 = (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBrandingDtoModule_toDomain)(input_1);\n input_3 = ((input_2.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(1, input_2.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(0, input_2.fields[0])));\n }\n else {\n input_3 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(0, void 0));\n }\n if (input_3.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(1, input_3.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.Invite(input_5.fields[0], dto.DateIssued, secondFactor, input_3.fields[0]));\n }\n }\n}\n\nfunction InviteDtoModule_ofDomain(domain) {\n let x_1, x_3;\n return new InviteDto((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_value)(domain.Code), domain.DateIssued, (x_1 = domain.SecondFactor, (x_1 == null) ? (void 0) : SecondFactorDtoModule_ofDomain(x_1)), (x_3 = domain.Branding, (x_3 == null) ? (void 0) : (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBrandingDtoModule_ofDomain)(x_3)));\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9JbnZpdGUvRHRvLmZzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVIO0FBQzREO0FBQ2hFO0FBQ3NCO0FBQ3BEO0FBQzJDOztBQUV6SCw4QkFBOEIsc0hBQU07QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsc0hBQXNILGdJQUFXLGtCQUFrQixtSUFBVSwyQ0FBMkMsK0hBQVUseUJBQXlCLG9JQUFXLENBQUMsbUlBQVU7QUFDdlI7O0FBRU87QUFDUCxlQUFlLHVEQUFZLENBQUMsNEVBQTZCO0FBQ3pEOztBQUVPO0FBQ1AsK0JBQStCLDJFQUE0QjtBQUMzRDs7QUFFTyx3QkFBd0Isc0hBQU07QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsMEdBQTBHLGdJQUFXLGtCQUFrQixtSUFBVSx1Q0FBdUMsb0lBQVcsOENBQThDLG9JQUFXLENBQUMsOEVBQTRCO0FBQy9TOztBQUVPO0FBQ1Asb0JBQW9CLHNFQUF1QjtBQUMzQztBQUNBLG1CQUFtQiwrSEFBYztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGtGQUFnQztBQUM1RCxrREFBa0QsK0hBQWMsK0JBQStCLCtIQUFjO0FBQzdHO0FBQ0E7QUFDQSwyQkFBMkIsK0hBQWM7QUFDekM7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYztBQUNyQztBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjLFFBQVEsaURBQU07QUFDbkQ7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQSx5QkFBeUIscUVBQXNCLGtMQUFrTCxrRkFBZ0M7QUFDalEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AZmxhcmVoci93b3JrZmxvd3MtYXBwLy4uL1dvcmtmbG93cy5CdXNpbmVzcy9BZ2dyZWdhdGVzL1Byb2Nlc3NJbnN0YW5jZUxpc3QvSW52aXRlL0R0by5mcy5qcz9lYmFiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY29yZCB9IGZyb20gXCIuLi8uLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvVHlwZXMuanNcIjtcbmltcG9ydCB7IHJlY29yZF90eXBlLCBvcHRpb25fdHlwZSwgaW50MzJfdHlwZSwgY2xhc3NfdHlwZSwgc3RyaW5nX3R5cGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1JlZmxlY3Rpb24uanNcIjtcbmltcG9ydCB7IEludml0ZSwgU2Vjb25kRmFjdG9yQ29kZU1vZHVsZV92YWx1ZSwgU2Vjb25kRmFjdG9yLCBTZWNvbmRGYWN0b3JDb2RlTW9kdWxlX2NyZWF0ZSB9IGZyb20gXCIuL0RvbWFpbi5mcy5qc1wiO1xuaW1wb3J0IHsgSW52aXRlQnJhbmRpbmdEdG9Nb2R1bGVfb2ZEb21haW4sIEludml0ZUJyYW5kaW5nRHRvTW9kdWxlX3RvRG9tYWluLCBJbnZpdGVCcmFuZGluZ0R0byRyZWZsZWN0aW9uIH0gZnJvbSBcIi4uLy4uL0NvbW1vbkR0by5mcy5qc1wiO1xuaW1wb3J0IHsgSW52aXRlQ29kZU1vZHVsZV92YWx1ZSwgSW52aXRlQ29kZU1vZHVsZV9jcmVhdGUgfSBmcm9tIFwiLi4vLi4vQ29tbW9uLmZzLmpzXCI7XG5pbXBvcnQgeyBGU2hhcnBSZXN1bHQkMiB9IGZyb20gXCIuLi8uLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWNvbmRGYWN0b3JEdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKENvZGUsIERhdGVJc3N1ZWQsIE51bWJlck9mQXR0ZW1wdHMsIERhdGVPZkxhc3RBdHRlbXB0KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQ29kZSA9IENvZGU7XG4gICAgICAgIHRoaXMuRGF0ZUlzc3VlZCA9IERhdGVJc3N1ZWQ7XG4gICAgICAgIHRoaXMuTnVtYmVyT2ZBdHRlbXB0cyA9IChOdW1iZXJPZkF0dGVtcHRzIHwgMCk7XG4gICAgICAgIHRoaXMuRGF0ZU9mTGFzdEF0dGVtcHQgPSBEYXRlT2ZMYXN0QXR0ZW1wdDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWNvbmRGYWN0b3JEdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0Lkludml0ZS5EdG8uU2Vjb25kRmFjdG9yRHRvXCIsIFtdLCBTZWNvbmRGYWN0b3JEdG8sICgpID0+IFtbXCJDb2RlXCIsIHN0cmluZ190eXBlXSwgW1wiRGF0ZUlzc3VlZFwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpXSwgW1wiTnVtYmVyT2ZBdHRlbXB0c1wiLCBpbnQzMl90eXBlXSwgW1wiRGF0ZU9mTGFzdEF0dGVtcHRcIiwgb3B0aW9uX3R5cGUoY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWNvbmRGYWN0b3JEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgcmV0dXJuIG5ldyBTZWNvbmRGYWN0b3IoU2Vjb25kRmFjdG9yQ29kZU1vZHVsZV9jcmVhdGUoZHRvLkNvZGUpLCBkdG8uRGF0ZUlzc3VlZCwgZHRvLk51bWJlck9mQXR0ZW1wdHMsIGR0by5EYXRlT2ZMYXN0QXR0ZW1wdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWNvbmRGYWN0b3JEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgcmV0dXJuIG5ldyBTZWNvbmRGYWN0b3JEdG8oU2Vjb25kRmFjdG9yQ29kZU1vZHVsZV92YWx1ZShkb21haW4uQ29kZSksIGRvbWFpbi5EYXRlSXNzdWVkLCBkb21haW4uTnVtYmVyT2ZBdHRlbXB0cywgZG9tYWluLkRhdGVPZkxhc3RBdHRlbXB0KTtcbn1cblxuZXhwb3J0IGNsYXNzIEludml0ZUR0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQ29kZSwgRGF0ZUlzc3VlZCwgU2Vjb25kRmFjdG9yLCBCcmFuZGluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkNvZGUgPSBDb2RlO1xuICAgICAgICB0aGlzLkRhdGVJc3N1ZWQgPSBEYXRlSXNzdWVkO1xuICAgICAgICB0aGlzLlNlY29uZEZhY3RvciA9IFNlY29uZEZhY3RvcjtcbiAgICAgICAgdGhpcy5CcmFuZGluZyA9IEJyYW5kaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEludml0ZUR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuSW52aXRlLkR0by5JbnZpdGVEdG9cIiwgW10sIEludml0ZUR0bywgKCkgPT4gW1tcIkNvZGVcIiwgc3RyaW5nX3R5cGVdLCBbXCJEYXRlSXNzdWVkXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIildLCBbXCJTZWNvbmRGYWN0b3JcIiwgb3B0aW9uX3R5cGUoU2Vjb25kRmFjdG9yRHRvJHJlZmxlY3Rpb24oKSldLCBbXCJCcmFuZGluZ1wiLCBvcHRpb25fdHlwZShJbnZpdGVCcmFuZGluZ0R0byRyZWZsZWN0aW9uKCkpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSW52aXRlRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGNvbnN0IGlucHV0XzUgPSBJbnZpdGVDb2RlTW9kdWxlX2NyZWF0ZShkdG8uQ29kZSk7XG4gICAgaWYgKGlucHV0XzUudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNS5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGV0IHNlY29uZEZhY3RvcjtcbiAgICAgICAgY29uc3QgeF8xID0gZHRvLlNlY29uZEZhY3RvcjtcbiAgICAgICAgc2Vjb25kRmFjdG9yID0gKCh4XzEgPT0gbnVsbCkgPyAodm9pZCAwKSA6IFNlY29uZEZhY3RvckR0b01vZHVsZV90b0RvbWFpbih4XzEpKTtcbiAgICAgICAgbGV0IGlucHV0XzM7XG4gICAgICAgIGNvbnN0IGlucHV0XzEgPSBkdG8uQnJhbmRpbmc7XG4gICAgICAgIGlmIChpbnB1dF8xICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzIgPSBJbnZpdGVCcmFuZGluZ0R0b01vZHVsZV90b0RvbWFpbihpbnB1dF8xKTtcbiAgICAgICAgICAgIGlucHV0XzMgPSAoKGlucHV0XzIudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMi5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfMi5maWVsZHNbMF0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpbnB1dF8zID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5wdXRfMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMy5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgSW52aXRlKGlucHV0XzUuZmllbGRzWzBdLCBkdG8uRGF0ZUlzc3VlZCwgc2Vjb25kRmFjdG9yLCBpbnB1dF8zLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSW52aXRlRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIGxldCB4XzEsIHhfMztcbiAgICByZXR1cm4gbmV3IEludml0ZUR0byhJbnZpdGVDb2RlTW9kdWxlX3ZhbHVlKGRvbWFpbi5Db2RlKSwgZG9tYWluLkRhdGVJc3N1ZWQsICh4XzEgPSBkb21haW4uU2Vjb25kRmFjdG9yLCAoeF8xID09IG51bGwpID8gKHZvaWQgMCkgOiBTZWNvbmRGYWN0b3JEdG9Nb2R1bGVfb2ZEb21haW4oeF8xKSksICh4XzMgPSBkb21haW4uQnJhbmRpbmcsICh4XzMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IEludml0ZUJyYW5kaW5nRHRvTW9kdWxlX29mRG9tYWluKHhfMykpKTtcbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Dto.fs.js\n");
|
|
85
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InviteDto: () => (/* binding */ InviteDto),\n/* harmony export */ InviteDto$reflection: () => (/* binding */ InviteDto$reflection),\n/* harmony export */ InviteDtoModule_ofDomain: () => (/* binding */ InviteDtoModule_ofDomain),\n/* harmony export */ InviteDtoModule_toDomain: () => (/* binding */ InviteDtoModule_toDomain),\n/* harmony export */ SecondFactorDto: () => (/* binding */ SecondFactorDto),\n/* harmony export */ SecondFactorDto$reflection: () => (/* binding */ SecondFactorDto$reflection),\n/* harmony export */ SecondFactorDtoModule_ofDomain: () => (/* binding */ SecondFactorDtoModule_ofDomain),\n/* harmony export */ SecondFactorDtoModule_toDomain: () => (/* binding */ SecondFactorDtoModule_toDomain)\n/* harmony export */ });\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Domain.fs.js\");\n/* harmony import */ var _CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../CommonDto.fs.js */ \"../Workflows.Business/Aggregates/CommonDto.fs.js\");\n/* harmony import */ var _Common_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../Workflows.UI/tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n\n\n\n\n\n\n\nclass SecondFactorDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_3__.Record {\n constructor(Code, DateIssued, NumberOfAttempts, DateOfLastAttempt) {\n super();\n this.Code = Code;\n this.DateIssued = DateIssued;\n this.NumberOfAttempts = (NumberOfAttempts | 0);\n this.DateOfLastAttempt = DateOfLastAttempt;\n }\n}\n\nfunction SecondFactorDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Invite.Dto.SecondFactorDto\", [], SecondFactorDto, () => [[\"Code\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.string_type], [\"DateIssued\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.class_type)(\"System.DateTime\")], [\"NumberOfAttempts\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.int32_type], [\"DateOfLastAttempt\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.option_type)((0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.class_type)(\"System.DateTime\"))]]);\n}\n\nfunction SecondFactorDtoModule_toDomain(dto) {\n return new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactor((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactorCodeModule_create)(dto.Code), dto.DateIssued, dto.NumberOfAttempts, dto.DateOfLastAttempt);\n}\n\nfunction SecondFactorDtoModule_ofDomain(domain) {\n return new SecondFactorDto((0,_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.SecondFactorCodeModule_value)(domain.Code), domain.DateIssued, domain.NumberOfAttempts, domain.DateOfLastAttempt);\n}\n\nclass InviteDto extends _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_3__.Record {\n constructor(Code, DateIssued, SecondFactor, Branding) {\n super();\n this.Code = Code;\n this.DateIssued = DateIssued;\n this.SecondFactor = SecondFactor;\n this.Branding = Branding;\n }\n}\n\nfunction InviteDto$reflection() {\n return (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.record_type)(\"Workflows.Business.Aggregates.ProcessInstanceList.Invite.Dto.InviteDto\", [], InviteDto, () => [[\"Code\", _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.string_type], [\"DateIssued\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.class_type)(\"System.DateTime\")], [\"SecondFactor\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.option_type)(SecondFactorDto$reflection())], [\"Branding\", (0,_Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_4__.option_type)((0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBrandingDto$reflection)())]]);\n}\n\nfunction InviteDtoModule_toDomain(dto) {\n const input_7 = (0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_create)(dto.Code);\n if (input_7.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(1, input_7.fields[0]);\n }\n else {\n let secondFactor;\n const input_1 = dto.SecondFactor;\n secondFactor = ((input_1 == null) ? (void 0) : SecondFactorDtoModule_toDomain(input_1));\n let input_5;\n const input_3 = dto.Branding;\n if (input_3 != null) {\n const input_4 = (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBrandingDtoModule_toDomain)(input_3);\n input_5 = ((input_4.tag === 1) ? (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(1, input_4.fields[0])) : (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(0, input_4.fields[0])));\n }\n else {\n input_5 = (new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(0, void 0));\n }\n if (input_5.tag === 1) {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(1, input_5.fields[0]);\n }\n else {\n return new _Workflows_UI_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_5__.FSharpResult$2(0, new _Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.Invite(input_7.fields[0], dto.DateIssued, secondFactor, input_5.fields[0]));\n }\n }\n}\n\nfunction InviteDtoModule_ofDomain(domain) {\n let input_1, input_3;\n return new InviteDto((0,_Common_fs_js__WEBPACK_IMPORTED_MODULE_2__.InviteCodeModule_value)(domain.Code), domain.DateIssued, (input_1 = domain.SecondFactor, (input_1 == null) ? (void 0) : SecondFactorDtoModule_ofDomain(input_1)), (input_3 = domain.Branding, (input_3 == null) ? (void 0) : (0,_CommonDto_fs_js__WEBPACK_IMPORTED_MODULE_1__.InviteBrandingDtoModule_ofDomain)(input_3)));\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9JbnZpdGUvRHRvLmZzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVIO0FBQzREO0FBQ2hFO0FBQ3NCO0FBQ3BEO0FBQzJDOztBQUV6SCw4QkFBOEIsc0hBQU07QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsc0hBQXNILGdJQUFXLGtCQUFrQixtSUFBVSwyQ0FBMkMsK0hBQVUseUJBQXlCLG9JQUFXLENBQUMsbUlBQVU7QUFDdlI7O0FBRU87QUFDUCxlQUFlLHVEQUFZLENBQUMsNEVBQTZCO0FBQ3pEOztBQUVPO0FBQ1AsK0JBQStCLDJFQUE0QjtBQUMzRDs7QUFFTyx3QkFBd0Isc0hBQU07QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsb0lBQVcsMEdBQTBHLGdJQUFXLGtCQUFrQixtSUFBVSx1Q0FBdUMsb0lBQVcsOENBQThDLG9JQUFXLENBQUMsOEVBQTRCO0FBQy9TOztBQUVPO0FBQ1Asb0JBQW9CLHNFQUF1QjtBQUMzQztBQUNBLG1CQUFtQiwrSEFBYztBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLGtGQUFnQztBQUM1RCxrREFBa0QsK0hBQWMsK0JBQStCLCtIQUFjO0FBQzdHO0FBQ0E7QUFDQSwyQkFBMkIsK0hBQWM7QUFDekM7QUFDQTtBQUNBLHVCQUF1QiwrSEFBYztBQUNyQztBQUNBO0FBQ0EsdUJBQXVCLCtIQUFjLFFBQVEsaURBQU07QUFDbkQ7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQSx5QkFBeUIscUVBQXNCLHNNQUFzTSxrRkFBZ0M7QUFDclIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AZmxhcmVoci93b3JrZmxvd3MtYXBwLy4uL1dvcmtmbG93cy5CdXNpbmVzcy9BZ2dyZWdhdGVzL1Byb2Nlc3NJbnN0YW5jZUxpc3QvSW52aXRlL0R0by5mcy5qcz9lYmFiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY29yZCB9IGZyb20gXCIuLi8uLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvVHlwZXMuanNcIjtcbmltcG9ydCB7IHJlY29yZF90eXBlLCBvcHRpb25fdHlwZSwgaW50MzJfdHlwZSwgY2xhc3NfdHlwZSwgc3RyaW5nX3R5cGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vV29ya2Zsb3dzLlVJL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1JlZmxlY3Rpb24uanNcIjtcbmltcG9ydCB7IEludml0ZSwgU2Vjb25kRmFjdG9yQ29kZU1vZHVsZV92YWx1ZSwgU2Vjb25kRmFjdG9yLCBTZWNvbmRGYWN0b3JDb2RlTW9kdWxlX2NyZWF0ZSB9IGZyb20gXCIuL0RvbWFpbi5mcy5qc1wiO1xuaW1wb3J0IHsgSW52aXRlQnJhbmRpbmdEdG9Nb2R1bGVfb2ZEb21haW4sIEludml0ZUJyYW5kaW5nRHRvTW9kdWxlX3RvRG9tYWluLCBJbnZpdGVCcmFuZGluZ0R0byRyZWZsZWN0aW9uIH0gZnJvbSBcIi4uLy4uL0NvbW1vbkR0by5mcy5qc1wiO1xuaW1wb3J0IHsgSW52aXRlQ29kZU1vZHVsZV92YWx1ZSwgSW52aXRlQ29kZU1vZHVsZV9jcmVhdGUgfSBmcm9tIFwiLi4vLi4vQ29tbW9uLmZzLmpzXCI7XG5pbXBvcnQgeyBGU2hhcnBSZXN1bHQkMiB9IGZyb20gXCIuLi8uLi8uLi8uLi9Xb3JrZmxvd3MuVUkvdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWNvbmRGYWN0b3JEdG8gZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKENvZGUsIERhdGVJc3N1ZWQsIE51bWJlck9mQXR0ZW1wdHMsIERhdGVPZkxhc3RBdHRlbXB0KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQ29kZSA9IENvZGU7XG4gICAgICAgIHRoaXMuRGF0ZUlzc3VlZCA9IERhdGVJc3N1ZWQ7XG4gICAgICAgIHRoaXMuTnVtYmVyT2ZBdHRlbXB0cyA9IChOdW1iZXJPZkF0dGVtcHRzIHwgMCk7XG4gICAgICAgIHRoaXMuRGF0ZU9mTGFzdEF0dGVtcHQgPSBEYXRlT2ZMYXN0QXR0ZW1wdDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWNvbmRGYWN0b3JEdG8kcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuQnVzaW5lc3MuQWdncmVnYXRlcy5Qcm9jZXNzSW5zdGFuY2VMaXN0Lkludml0ZS5EdG8uU2Vjb25kRmFjdG9yRHRvXCIsIFtdLCBTZWNvbmRGYWN0b3JEdG8sICgpID0+IFtbXCJDb2RlXCIsIHN0cmluZ190eXBlXSwgW1wiRGF0ZUlzc3VlZFwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkRhdGVUaW1lXCIpXSwgW1wiTnVtYmVyT2ZBdHRlbXB0c1wiLCBpbnQzMl90eXBlXSwgW1wiRGF0ZU9mTGFzdEF0dGVtcHRcIiwgb3B0aW9uX3R5cGUoY2xhc3NfdHlwZShcIlN5c3RlbS5EYXRlVGltZVwiKSldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWNvbmRGYWN0b3JEdG9Nb2R1bGVfdG9Eb21haW4oZHRvKSB7XG4gICAgcmV0dXJuIG5ldyBTZWNvbmRGYWN0b3IoU2Vjb25kRmFjdG9yQ29kZU1vZHVsZV9jcmVhdGUoZHRvLkNvZGUpLCBkdG8uRGF0ZUlzc3VlZCwgZHRvLk51bWJlck9mQXR0ZW1wdHMsIGR0by5EYXRlT2ZMYXN0QXR0ZW1wdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZWNvbmRGYWN0b3JEdG9Nb2R1bGVfb2ZEb21haW4oZG9tYWluKSB7XG4gICAgcmV0dXJuIG5ldyBTZWNvbmRGYWN0b3JEdG8oU2Vjb25kRmFjdG9yQ29kZU1vZHVsZV92YWx1ZShkb21haW4uQ29kZSksIGRvbWFpbi5EYXRlSXNzdWVkLCBkb21haW4uTnVtYmVyT2ZBdHRlbXB0cywgZG9tYWluLkRhdGVPZkxhc3RBdHRlbXB0KTtcbn1cblxuZXhwb3J0IGNsYXNzIEludml0ZUR0byBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoQ29kZSwgRGF0ZUlzc3VlZCwgU2Vjb25kRmFjdG9yLCBCcmFuZGluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLkNvZGUgPSBDb2RlO1xuICAgICAgICB0aGlzLkRhdGVJc3N1ZWQgPSBEYXRlSXNzdWVkO1xuICAgICAgICB0aGlzLlNlY29uZEZhY3RvciA9IFNlY29uZEZhY3RvcjtcbiAgICAgICAgdGhpcy5CcmFuZGluZyA9IEJyYW5kaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEludml0ZUR0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5CdXNpbmVzcy5BZ2dyZWdhdGVzLlByb2Nlc3NJbnN0YW5jZUxpc3QuSW52aXRlLkR0by5JbnZpdGVEdG9cIiwgW10sIEludml0ZUR0bywgKCkgPT4gW1tcIkNvZGVcIiwgc3RyaW5nX3R5cGVdLCBbXCJEYXRlSXNzdWVkXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRGF0ZVRpbWVcIildLCBbXCJTZWNvbmRGYWN0b3JcIiwgb3B0aW9uX3R5cGUoU2Vjb25kRmFjdG9yRHRvJHJlZmxlY3Rpb24oKSldLCBbXCJCcmFuZGluZ1wiLCBvcHRpb25fdHlwZShJbnZpdGVCcmFuZGluZ0R0byRyZWZsZWN0aW9uKCkpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSW52aXRlRHRvTW9kdWxlX3RvRG9tYWluKGR0bykge1xuICAgIGNvbnN0IGlucHV0XzcgPSBJbnZpdGVDb2RlTW9kdWxlX2NyZWF0ZShkdG8uQ29kZSk7XG4gICAgaWYgKGlucHV0XzcudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNy5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGV0IHNlY29uZEZhY3RvcjtcbiAgICAgICAgY29uc3QgaW5wdXRfMSA9IGR0by5TZWNvbmRGYWN0b3I7XG4gICAgICAgIHNlY29uZEZhY3RvciA9ICgoaW5wdXRfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogU2Vjb25kRmFjdG9yRHRvTW9kdWxlX3RvRG9tYWluKGlucHV0XzEpKTtcbiAgICAgICAgbGV0IGlucHV0XzU7XG4gICAgICAgIGNvbnN0IGlucHV0XzMgPSBkdG8uQnJhbmRpbmc7XG4gICAgICAgIGlmIChpbnB1dF8zICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzQgPSBJbnZpdGVCcmFuZGluZ0R0b01vZHVsZV90b0RvbWFpbihpbnB1dF8zKTtcbiAgICAgICAgICAgIGlucHV0XzUgPSAoKGlucHV0XzQudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNC5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgaW5wdXRfNC5maWVsZHNbMF0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpbnB1dF81ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIDApKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5wdXRfNS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgSW52aXRlKGlucHV0XzcuZmllbGRzWzBdLCBkdG8uRGF0ZUlzc3VlZCwgc2Vjb25kRmFjdG9yLCBpbnB1dF81LmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSW52aXRlRHRvTW9kdWxlX29mRG9tYWluKGRvbWFpbikge1xuICAgIGxldCBpbnB1dF8xLCBpbnB1dF8zO1xuICAgIHJldHVybiBuZXcgSW52aXRlRHRvKEludml0ZUNvZGVNb2R1bGVfdmFsdWUoZG9tYWluLkNvZGUpLCBkb21haW4uRGF0ZUlzc3VlZCwgKGlucHV0XzEgPSBkb21haW4uU2Vjb25kRmFjdG9yLCAoaW5wdXRfMSA9PSBudWxsKSA/ICh2b2lkIDApIDogU2Vjb25kRmFjdG9yRHRvTW9kdWxlX29mRG9tYWluKGlucHV0XzEpKSwgKGlucHV0XzMgPSBkb21haW4uQnJhbmRpbmcsIChpbnB1dF8zID09IG51bGwpID8gKHZvaWQgMCkgOiBJbnZpdGVCcmFuZGluZ0R0b01vZHVsZV9vZkRvbWFpbihpbnB1dF8zKSkpO1xufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../Workflows.Business/Aggregates/ProcessInstanceList/Invite/Dto.fs.js\n");
|
|
86
86
|
|
|
87
87
|
/***/ }),
|
|
88
88
|
|
|
@@ -3050,7 +3050,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
3050
3050
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
3051
3051
|
|
|
3052
3052
|
"use strict";
|
|
3053
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ activate: () => (/* binding */ activate),\n/* harmony export */ complete: () => (/* binding */ complete),\n/* harmony export */ completePaySetup: () => (/* binding */ completePaySetup),\n/* harmony export */ completeStep: () => (/* binding */ completeStep),\n/* harmony export */ completeStepV2: () => (/* binding */ completeStepV2),\n/* harmony export */ resumePaySetup: () => (/* binding */ resumePaySetup),\n/* harmony export */ sendAnalyticsEvent: () => (/* binding */ sendAnalyticsEvent),\n/* harmony export */ viewPaySetupPage: () => (/* binding */ viewPaySetupPage)\n/* harmony export */ });\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n/* harmony import */ var _Config_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Config.fs.js */ \"./src/Config.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/AsyncBuilder.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/AsyncBuilder.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/./Encode.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/Encode.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/Types.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/Types.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/./Decode.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/Decode.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Dto_fs_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../Workflows.Business/Aggregates/ProcessInstanceList/Dto.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Dto.fs.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction composeBackendUrl(processInstanceId) {\n const arg_1 = (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId) | 0;\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.toText)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.printf)(\"%s/workflows/backend/%i\"))(_Config_fs_js__WEBPACK_IMPORTED_MODULE_1__.backendUrl)(arg_1);\n}\n\nfunction composeActivateBackendUrl(processInstanceId) {\n const arg_1 = (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId) | 0;\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.toText)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.printf)(\"%s/workflows/backend/process-instances/%i/activate\"))(_Config_fs_js__WEBPACK_IMPORTED_MODULE_1__.backendUrl)(arg_1);\n}\n\nfunction composeAnalyticsEventBackendUrl(processInstanceId) {\n const arg_1 = (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId) | 0;\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.toText)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.printf)(\"%s/workflows/backend/process-instances/%i/analytics-events\"))(_Config_fs_js__WEBPACK_IMPORTED_MODULE_1__.backendUrl)(arg_1);\n}\n\nfunction sendWithRetry(accessToken, request) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Delay(() => {\n const requestWithAuth = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_header)((0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Headers_authorization)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.toText)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.printf)(\"Bearer %s\"))(accessToken)), request);\n let asyncResult_1;\n const input = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_send)(requestWithAuth);\n asyncResult_1 = _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(input, (x$0027) => _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, x$0027)));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(asyncResult_1, (input_1_1) => {\n const input_7 = input_1_1;\n if (input_7.tag === 1) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_7.fields[0]));\n }\n else {\n const response = input_7.fields[0];\n if ((response.statusCode === 429) ? true : (response.statusCode >= 500)) {\n const input_3 = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_send)(requestWithAuth);\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(input_3, (x$0027_1) => _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, x$0027_1)));\n }\n else {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, response));\n }\n }\n });\n });\n}\n\nfunction sendCommand(command, processInstanceId, accessToken) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Delay(() => {\n let req_2, m;\n const asyncResult_2 = sendWithRetry(accessToken, (req_2 = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_content)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BodyContent(1, (m = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_9__.singleton)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDomain)(command)), (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__.toString)(0, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__.Auto_generateBoxedEncoder_Z20B7B430)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_11__.list_type)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_ProcessInstanceCommandDto$reflection)()), new _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__.CaseStrategy(1), void 0, void 0)(m)))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_method)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.HttpMethod(1), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_request)(composeBackendUrl(processInstanceId)))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_header)((0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Headers_contentType)(\"application/json\"), req_2)));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(asyncResult_2, (input_1_1) => {\n const input_3 = input_1_1;\n if (input_3.tag === 1) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_3.fields[0]));\n }\n else {\n const response = input_3.fields[0];\n if (response.statusCode === 200) {\n let arg;\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__.fromString)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__.Auto_generateBoxedDecoder_79988AEF)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Dto_fs_js__WEBPACK_IMPORTED_MODULE_5__.ProcessInstanceDto$reflection)(), new _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__.CaseStrategy(1), void 0)), response.responseText);\n arg = ((input_1.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_1.fields[0])) : (0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_Read_ProcessInstanceDtoModule_toDomain)(input_1.fields[0]));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(arg);\n }\n else {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, \"Unexpected response from backend\"));\n }\n }\n });\n });\n}\n\nfunction sendActivateCommand(processInstanceId, accessToken) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Delay(() => {\n const asyncResult_2 = sendWithRetry(accessToken, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_method)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.HttpMethod(1), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_request)(composeActivateBackendUrl(processInstanceId))));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(asyncResult_2, (input_1_1) => {\n const input_3 = input_1_1;\n if (input_3.tag === 1) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_3.fields[0]));\n }\n else {\n const response = input_3.fields[0];\n if (response.statusCode === 200) {\n let arg;\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__.fromString)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__.Auto_generateBoxedDecoder_79988AEF)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_Read_ProcessInstanceContextDto$reflection)(), new _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__.CaseStrategy(1), void 0)), response.responseText);\n arg = ((input_1.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_1.fields[0])) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_Read_ProcessInstanceContextDtoModule_toDomain)(input_1.fields[0]))));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(arg);\n }\n else {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, \"Unexpected response from backend\"));\n }\n }\n });\n });\n}\n\nfunction sendAnalyticsEvent(accessToken, processInstanceId, evt) {\n let result_1;\n const input = _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Delay(() => {\n let req_2;\n return sendWithRetry(accessToken, (req_2 = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_content)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BodyContent(1, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__.toString)(0, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__.Auto_generateBoxedEncoder_Z20B7B430)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_11__.list_type)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection)()), new _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_0_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__.CaseStrategy(1), void 0, void 0)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_9__.singleton)(evt)))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_method)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.HttpMethod(1), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_request)(composeAnalyticsEventBackendUrl(processInstanceId)))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_header)((0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Headers_contentType)(\"application/json\"), req_2)));\n });\n result_1 = _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(input, (x$0027) => {\n let value_3;\n const input_2 = x$0027;\n value_3 = ((input_2.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_2.fields[0])) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, void input_2.fields[0])));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(value_3);\n });\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(result_1, (x$0027_1) => {\n let value_5;\n const result_4 = x$0027_1;\n value_5 = ((result_4.tag === 1) ? (void 0) : result_4.fields[0]);\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(value_5);\n });\n}\n\nfunction activate(processInstanceId, accessToken) {\n return sendActivateCommand(processInstanceId, accessToken);\n}\n\nfunction completeStep(processInstanceId, processStepId, accessToken) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(0, processStepId), processInstanceId, accessToken);\n}\n\nfunction completeStepV2(processInstanceId, processStepId, accessToken) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(1, processStepId), processInstanceId, accessToken);\n}\n\nfunction viewPaySetupPage(processInstanceId, accessToken, injectedBenefits) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(3, injectedBenefits), processInstanceId, accessToken);\n}\n\nfunction completePaySetup(processInstanceId, accessToken, injectedBenefits) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(4, injectedBenefits), processInstanceId, accessToken);\n}\n\nfunction resumePaySetup(processInstanceId, accessToken, injectedBenefits) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(5, injectedBenefits), processInstanceId, accessToken);\n}\n\nfunction complete(processInstanceId, accessToken) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(2), processInstanceId, accessToken);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvV29ya2Zsb3dzL1NlcnZpY2VzL0JhY2tlbmRTZXJ2aWNlLmZzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTJIO0FBQ1g7QUFDaEU7QUFDaUU7QUFDK0Y7QUFDaEc7QUFDMlc7QUFDblc7QUFDeUI7QUFDbEM7QUFDRjtBQUNnQjtBQUNxQjtBQUMzQztBQUNpQjs7QUFFeEg7QUFDQSxrQkFBa0IsOEhBQTZCO0FBQy9DLFdBQVcsOEdBQU0sQ0FBQyw4R0FBTSw2QkFBNkIscURBQVU7QUFDL0Q7O0FBRUE7QUFDQSxrQkFBa0IsOEhBQTZCO0FBQy9DLFdBQVcsOEdBQU0sQ0FBQyw4R0FBTSx3REFBd0QscURBQVU7QUFDMUY7O0FBRUE7QUFDQSxrQkFBa0IsOEhBQTZCO0FBQy9DLFdBQVcsOEdBQU0sQ0FBQyw4R0FBTSxnRUFBZ0UscURBQVU7QUFDbEc7O0FBRUE7QUFDQSxXQUFXLG1IQUFTO0FBQ3BCLGdDQUFnQyxzSEFBVyxDQUFDLGdJQUFxQixDQUFDLDhHQUFNLENBQUMsOEdBQU07QUFDL0U7QUFDQSxzQkFBc0Isb0hBQVM7QUFDL0Isd0JBQXdCLG1IQUFTLHlCQUF5QixtSEFBUyxZQUFZLGtIQUFjO0FBQzdGLGVBQWUsbUhBQVM7QUFDeEI7QUFDQTtBQUNBLHVCQUF1QixtSEFBUyxZQUFZLGtIQUFjO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLG9IQUFTO0FBQzdDLDJCQUEyQixtSEFBUyw2QkFBNkIsbUhBQVMsWUFBWSxrSEFBYztBQUNwRztBQUNBO0FBQ0EsMkJBQTJCLG1IQUFTLFlBQVksa0hBQWM7QUFDOUQ7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxXQUFXLG1IQUFTO0FBQ3BCO0FBQ0Esa0VBQWtFLHVIQUFZLEtBQUssbUhBQVcsU0FBUywrR0FBVyxDQUFDLHFKQUF1RCxZQUFZLGlIQUFRLElBQUksNElBQW1DLENBQUMsc0hBQVMsQ0FBQyxpSkFBbUQsU0FBUyxnSEFBWSw0QkFBNEIsc0hBQVcsS0FBSyxrSEFBVSxLQUFLLHVIQUFZLDBDQUEwQyxzSEFBVyxDQUFDLDhIQUFtQjtBQUN4YyxlQUFlLG1IQUFTO0FBQ3hCO0FBQ0E7QUFDQSx1QkFBdUIsbUhBQVMsWUFBWSxrSEFBYztBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLG1IQUFVLENBQUMsOEdBQU8sSUFBSSwySUFBa0MsQ0FBQywySEFBNkIsUUFBUSxnSEFBWTtBQUM5SSxzREFBc0Qsa0hBQWMsMEJBQTBCLG1KQUFxRDtBQUNuSiwyQkFBMkIsbUhBQVM7QUFDcEM7QUFDQTtBQUNBLDJCQUEyQixtSEFBUyxZQUFZLGtIQUFjO0FBQzlEO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMOztBQUVBO0FBQ0EsV0FBVyxtSEFBUztBQUNwQix5REFBeUQsc0hBQVcsS0FBSyxrSEFBVSxLQUFLLHVIQUFZO0FBQ3BHLGVBQWUsbUhBQVM7QUFDeEI7QUFDQTtBQUNBLHVCQUF1QixtSEFBUyxZQUFZLGtIQUFjO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsbUhBQVUsQ0FBQyw4R0FBTyxJQUFJLDJJQUFrQyxDQUFDLHNKQUF3RCxRQUFRLGdIQUFZO0FBQ3pLLHNEQUFzRCxrSEFBYywrQkFBK0Isa0hBQWMsSUFBSSwwSkFBNEQ7QUFDakwsMkJBQTJCLG1IQUFTO0FBQ3BDO0FBQ0E7QUFDQSwyQkFBMkIsbUhBQVMsWUFBWSxrSEFBYztBQUM5RDtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDs7QUFFTztBQUNQO0FBQ0Esa0JBQWtCLG1IQUFTO0FBQzNCO0FBQ0EsbURBQW1ELHVIQUFZLEtBQUssbUhBQVcsSUFBSSxpSEFBUSxJQUFJLDRJQUFtQyxDQUFDLHNIQUFTLENBQUMsdUpBQXlELFNBQVMsZ0hBQVkscUJBQXFCLCtHQUFXLFVBQVUsc0hBQVcsS0FBSyxrSEFBVSxLQUFLLHVIQUFZLHdEQUF3RCxzSEFBVyxDQUFDLDhIQUFtQjtBQUN2WSxLQUFLO0FBQ0wsZUFBZSxtSEFBUztBQUN4QjtBQUNBO0FBQ0EsOENBQThDLGtIQUFjLCtCQUErQixrSEFBYztBQUN6RyxlQUFlLG1IQUFTO0FBQ3hCLEtBQUs7QUFDTCxXQUFXLG1IQUFTO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbUhBQVM7QUFDeEIsS0FBSztBQUNMOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQLDJCQUEyQixrSUFBd0M7QUFDbkU7O0FBRU87QUFDUCwyQkFBMkIsa0lBQXdDO0FBQ25FOztBQUVPO0FBQ1AsMkJBQTJCLGtJQUF3QztBQUNuRTs7QUFFTztBQUNQLDJCQUEyQixrSUFBd0M7QUFDbkU7O0FBRU87QUFDUCwyQkFBMkIsa0lBQXdDO0FBQ25FOztBQUVPO0FBQ1AsMkJBQTJCLGtJQUF3QztBQUNuRSIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi9zcmMvV29ya2Zsb3dzL1NlcnZpY2VzL0JhY2tlbmRTZXJ2aWNlLmZzLmpzPzQwNDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9Eb21haW4uZnMuanNcIjtcbmltcG9ydCB7IHByaW50ZiwgdG9UZXh0IH0gZnJvbSBcIi4uLy4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1N0cmluZy5qc1wiO1xuaW1wb3J0IHsgYmFja2VuZFVybCB9IGZyb20gXCIuLi8uLi9Db25maWcuZnMuanNcIjtcbmltcG9ydCB7IHNpbmdsZXRvbiB9IGZyb20gXCIuLi8uLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9Bc3luY0J1aWxkZXIuanNcIjtcbmltcG9ydCB7IEhlYWRlcnNfY29udGVudFR5cGUsIEh0dHBfcmVxdWVzdCwgSHR0cF9tZXRob2QsIEh0dHBfY29udGVudCwgSHR0cF9zZW5kLCBIZWFkZXJzX2F1dGhvcml6YXRpb24sIEh0dHBfaGVhZGVyIH0gZnJvbSBcIi4uLy4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZhYmxlLlNpbXBsZUh0dHAuMy41LjAvSHR0cC5mcy5qc1wiO1xuaW1wb3J0IHsgRlNoYXJwUmVzdWx0JDIgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5pbXBvcnQgeyBBcGlEb21haW5fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kLCBBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvJHJlZmxlY3Rpb24sIEFwaUR0b19CYWNrZW5kX1JlYWRfUHJvY2Vzc0luc3RhbmNlQ29udGV4dER0b01vZHVsZV90b0RvbWFpbiwgQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvJHJlZmxlY3Rpb24sIEFwaUR0b19CYWNrZW5kX1JlYWRfUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluLCBBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvJHJlZmxlY3Rpb24sIEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG9Nb2R1bGVfb2ZEb21haW4gfSBmcm9tIFwiLi4vLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9BcGkuZnMuanNcIjtcbmltcG9ydCB7IHNpbmdsZXRvbiBhcyBzaW5nbGV0b25fMSB9IGZyb20gXCIuLi8uLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9MaXN0LmpzXCI7XG5pbXBvcnQgeyBBdXRvX2dlbmVyYXRlQm94ZWRFbmNvZGVyX1oyMEI3QjQzMCwgdG9TdHJpbmcgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvVGhvdGguSnNvbi4xMC4wLjAvLi9FbmNvZGUuZnMuanNcIjtcbmltcG9ydCB7IGxpc3RfdHlwZSB9IGZyb20gXCIuLi8uLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9SZWZsZWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBDYXNlU3RyYXRlZ3kgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvVGhvdGguSnNvbi4xMC4wLjAvVHlwZXMuZnMuanNcIjtcbmltcG9ydCB7IEh0dHBNZXRob2QsIEJvZHlDb250ZW50IH0gZnJvbSBcIi4uLy4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZhYmxlLlNpbXBsZUh0dHAuMy41LjAvVHlwZXMuZnMuanNcIjtcbmltcG9ydCB7IEF1dG9fZ2VuZXJhdGVCb3hlZERlY29kZXJfNzk5ODhBRUYsIGZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvVGhvdGguSnNvbi4xMC4wLjAvLi9EZWNvZGUuZnMuanNcIjtcbmltcG9ydCB7IHVuY3VycnkgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvVXRpbC5qc1wiO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlRHRvJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9EdG8uZnMuanNcIjtcblxuZnVuY3Rpb24gY29tcG9zZUJhY2tlbmRVcmwocHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICBjb25zdCBhcmdfMSA9IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSB8IDA7XG4gICAgcmV0dXJuIHRvVGV4dChwcmludGYoXCIlcy93b3JrZmxvd3MvYmFja2VuZC8laVwiKSkoYmFja2VuZFVybCkoYXJnXzEpO1xufVxuXG5mdW5jdGlvbiBjb21wb3NlQWN0aXZhdGVCYWNrZW5kVXJsKHByb2Nlc3NJbnN0YW5jZUlkKSB7XG4gICAgY29uc3QgYXJnXzEgPSBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShwcm9jZXNzSW5zdGFuY2VJZCkgfCAwO1xuICAgIHJldHVybiB0b1RleHQocHJpbnRmKFwiJXMvd29ya2Zsb3dzL2JhY2tlbmQvcHJvY2Vzcy1pbnN0YW5jZXMvJWkvYWN0aXZhdGVcIikpKGJhY2tlbmRVcmwpKGFyZ18xKTtcbn1cblxuZnVuY3Rpb24gY29tcG9zZUFuYWx5dGljc0V2ZW50QmFja2VuZFVybChwcm9jZXNzSW5zdGFuY2VJZCkge1xuICAgIGNvbnN0IGFyZ18xID0gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUocHJvY2Vzc0luc3RhbmNlSWQpIHwgMDtcbiAgICByZXR1cm4gdG9UZXh0KHByaW50ZihcIiVzL3dvcmtmbG93cy9iYWNrZW5kL3Byb2Nlc3MtaW5zdGFuY2VzLyVpL2FuYWx5dGljcy1ldmVudHNcIikpKGJhY2tlbmRVcmwpKGFyZ18xKTtcbn1cblxuZnVuY3Rpb24gc2VuZFdpdGhSZXRyeShhY2Nlc3NUb2tlbiwgcmVxdWVzdCkge1xuICAgIHJldHVybiBzaW5nbGV0b24uRGVsYXkoKCkgPT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0V2l0aEF1dGggPSBIdHRwX2hlYWRlcihIZWFkZXJzX2F1dGhvcml6YXRpb24odG9UZXh0KHByaW50ZihcIkJlYXJlciAlc1wiKSkoYWNjZXNzVG9rZW4pKSwgcmVxdWVzdCk7XG4gICAgICAgIGxldCBhc3luY1Jlc3VsdF8xO1xuICAgICAgICBjb25zdCBpbnB1dCA9IEh0dHBfc2VuZChyZXF1ZXN0V2l0aEF1dGgpO1xuICAgICAgICBhc3luY1Jlc3VsdF8xID0gc2luZ2xldG9uLkJpbmQoaW5wdXQsICh4JDAwMjcpID0+IHNpbmdsZXRvbi5SZXR1cm4obmV3IEZTaGFycFJlc3VsdCQyKDAsIHgkMDAyNykpKTtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5CaW5kKGFzeW5jUmVzdWx0XzEsIChpbnB1dF8xXzEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzcgPSBpbnB1dF8xXzE7XG4gICAgICAgICAgICBpZiAoaW5wdXRfNy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gaW5wdXRfNy5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgaWYgKChyZXNwb25zZS5zdGF0dXNDb2RlID09PSA0MjkpID8gdHJ1ZSA6IChyZXNwb25zZS5zdGF0dXNDb2RlID49IDUwMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfMyA9IEh0dHBfc2VuZChyZXF1ZXN0V2l0aEF1dGgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLkJpbmQoaW5wdXRfMywgKHgkMDAyN18xKSA9PiBzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB4JDAwMjdfMSkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigwLCByZXNwb25zZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHNlbmRDb21tYW5kKGNvbW1hbmQsIHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbikge1xuICAgIHJldHVybiBzaW5nbGV0b24uRGVsYXkoKCkgPT4ge1xuICAgICAgICBsZXQgcmVxXzIsIG07XG4gICAgICAgIGNvbnN0IGFzeW5jUmVzdWx0XzIgPSBzZW5kV2l0aFJldHJ5KGFjY2Vzc1Rva2VuLCAocmVxXzIgPSBIdHRwX2NvbnRlbnQobmV3IEJvZHlDb250ZW50KDEsIChtID0gc2luZ2xldG9uXzEoQXBpRHRvX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0b01vZHVsZV9vZkRvbWFpbihjb21tYW5kKSksIHRvU3RyaW5nKDAsIEF1dG9fZ2VuZXJhdGVCb3hlZEVuY29kZXJfWjIwQjdCNDMwKGxpc3RfdHlwZShBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvJHJlZmxlY3Rpb24oKSksIG5ldyBDYXNlU3RyYXRlZ3koMSksIHZvaWQgMCwgdm9pZCAwKShtKSkpKSwgSHR0cF9tZXRob2QobmV3IEh0dHBNZXRob2QoMSksIEh0dHBfcmVxdWVzdChjb21wb3NlQmFja2VuZFVybChwcm9jZXNzSW5zdGFuY2VJZCkpKSksIEh0dHBfaGVhZGVyKEhlYWRlcnNfY29udGVudFR5cGUoXCJhcHBsaWNhdGlvbi9qc29uXCIpLCByZXFfMikpKTtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5CaW5kKGFzeW5jUmVzdWx0XzIsIChpbnB1dF8xXzEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzMgPSBpbnB1dF8xXzE7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gaW5wdXRfMy5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYXJnO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8xID0gZnJvbVN0cmluZyh1bmN1cnJ5KDIsIEF1dG9fZ2VuZXJhdGVCb3hlZERlY29kZXJfNzk5ODhBRUYoUHJvY2Vzc0luc3RhbmNlRHRvJHJlZmxlY3Rpb24oKSwgbmV3IENhc2VTdHJhdGVneSgxKSwgdm9pZCAwKSksIHJlc3BvbnNlLnJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGFyZyA9ICgoaW5wdXRfMS50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xLmZpZWxkc1swXSkpIDogQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VEdG9Nb2R1bGVfdG9Eb21haW4oaW5wdXRfMS5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5SZXR1cm4oYXJnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBcIlVuZXhwZWN0ZWQgcmVzcG9uc2UgZnJvbSBiYWNrZW5kXCIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBzZW5kQWN0aXZhdGVDb21tYW5kKHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbikge1xuICAgIHJldHVybiBzaW5nbGV0b24uRGVsYXkoKCkgPT4ge1xuICAgICAgICBjb25zdCBhc3luY1Jlc3VsdF8yID0gc2VuZFdpdGhSZXRyeShhY2Nlc3NUb2tlbiwgSHR0cF9tZXRob2QobmV3IEh0dHBNZXRob2QoMSksIEh0dHBfcmVxdWVzdChjb21wb3NlQWN0aXZhdGVCYWNrZW5kVXJsKHByb2Nlc3NJbnN0YW5jZUlkKSkpKTtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5CaW5kKGFzeW5jUmVzdWx0XzIsIChpbnB1dF8xXzEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzMgPSBpbnB1dF8xXzE7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gaW5wdXRfMy5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYXJnO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8xID0gZnJvbVN0cmluZyh1bmN1cnJ5KDIsIEF1dG9fZ2VuZXJhdGVCb3hlZERlY29kZXJfNzk5ODhBRUYoQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvJHJlZmxlY3Rpb24oKSwgbmV3IENhc2VTdHJhdGVneSgxKSwgdm9pZCAwKSksIHJlc3BvbnNlLnJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGFyZyA9ICgoaW5wdXRfMS50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBBcGlEdG9fQmFja2VuZF9SZWFkX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHREdG9Nb2R1bGVfdG9Eb21haW4oaW5wdXRfMS5maWVsZHNbMF0pKSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybihhcmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5SZXR1cm4obmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiVW5leHBlY3RlZCByZXNwb25zZSBmcm9tIGJhY2tlbmRcIikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZW5kQW5hbHl0aWNzRXZlbnQoYWNjZXNzVG9rZW4sIHByb2Nlc3NJbnN0YW5jZUlkLCBldnQpIHtcbiAgICBsZXQgcmVzdWx0XzE7XG4gICAgY29uc3QgaW5wdXQgPSBzaW5nbGV0b24uRGVsYXkoKCkgPT4ge1xuICAgICAgICBsZXQgcmVxXzI7XG4gICAgICAgIHJldHVybiBzZW5kV2l0aFJldHJ5KGFjY2Vzc1Rva2VuLCAocmVxXzIgPSBIdHRwX2NvbnRlbnQobmV3IEJvZHlDb250ZW50KDEsIHRvU3RyaW5nKDAsIEF1dG9fZ2VuZXJhdGVCb3hlZEVuY29kZXJfWjIwQjdCNDMwKGxpc3RfdHlwZShBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvJHJlZmxlY3Rpb24oKSksIG5ldyBDYXNlU3RyYXRlZ3koMSksIHZvaWQgMCwgdm9pZCAwKShzaW5nbGV0b25fMShldnQpKSkpLCBIdHRwX21ldGhvZChuZXcgSHR0cE1ldGhvZCgxKSwgSHR0cF9yZXF1ZXN0KGNvbXBvc2VBbmFseXRpY3NFdmVudEJhY2tlbmRVcmwocHJvY2Vzc0luc3RhbmNlSWQpKSkpLCBIdHRwX2hlYWRlcihIZWFkZXJzX2NvbnRlbnRUeXBlKFwiYXBwbGljYXRpb24vanNvblwiKSwgcmVxXzIpKSk7XG4gICAgfSk7XG4gICAgcmVzdWx0XzEgPSBzaW5nbGV0b24uQmluZChpbnB1dCwgKHgkMDAyNykgPT4ge1xuICAgICAgICBsZXQgdmFsdWVfMztcbiAgICAgICAgY29uc3QgaW5wdXRfMiA9IHgkMDAyNztcbiAgICAgICAgdmFsdWVfMyA9ICgoaW5wdXRfMi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIGlucHV0XzIuZmllbGRzWzBdKSkpO1xuICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybih2YWx1ZV8zKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc2luZ2xldG9uLkJpbmQocmVzdWx0XzEsICh4JDAwMjdfMSkgPT4ge1xuICAgICAgICBsZXQgdmFsdWVfNTtcbiAgICAgICAgY29uc3QgcmVzdWx0XzQgPSB4JDAwMjdfMTtcbiAgICAgICAgdmFsdWVfNSA9ICgocmVzdWx0XzQudGFnID09PSAxKSA/ICh2b2lkIDApIDogcmVzdWx0XzQuZmllbGRzWzBdKTtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5SZXR1cm4odmFsdWVfNSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3RpdmF0ZShwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4pIHtcbiAgICByZXR1cm4gc2VuZEFjdGl2YXRlQ29tbWFuZChwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tcGxldGVTdGVwKHByb2Nlc3NJbnN0YW5jZUlkLCBwcm9jZXNzU3RlcElkLCBhY2Nlc3NUb2tlbikge1xuICAgIHJldHVybiBzZW5kQ29tbWFuZChuZXcgQXBpRG9tYWluX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZCgwLCBwcm9jZXNzU3RlcElkKSwgcHJvY2Vzc0luc3RhbmNlSWQsIGFjY2Vzc1Rva2VuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBsZXRlU3RlcFYyKHByb2Nlc3NJbnN0YW5jZUlkLCBwcm9jZXNzU3RlcElkLCBhY2Nlc3NUb2tlbikge1xuICAgIHJldHVybiBzZW5kQ29tbWFuZChuZXcgQXBpRG9tYWluX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZCgxLCBwcm9jZXNzU3RlcElkKSwgcHJvY2Vzc0luc3RhbmNlSWQsIGFjY2Vzc1Rva2VuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZpZXdQYXlTZXR1cFBhZ2UocHJvY2Vzc0luc3RhbmNlSWQsIGFjY2Vzc1Rva2VuLCBpbmplY3RlZEJlbmVmaXRzKSB7XG4gICAgcmV0dXJuIHNlbmRDb21tYW5kKG5ldyBBcGlEb21haW5fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kKDMsIGluamVjdGVkQmVuZWZpdHMpLCBwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tcGxldGVQYXlTZXR1cChwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4sIGluamVjdGVkQmVuZWZpdHMpIHtcbiAgICByZXR1cm4gc2VuZENvbW1hbmQobmV3IEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmQoNCwgaW5qZWN0ZWRCZW5lZml0cyksIHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXN1bWVQYXlTZXR1cChwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4sIGluamVjdGVkQmVuZWZpdHMpIHtcbiAgICByZXR1cm4gc2VuZENvbW1hbmQobmV3IEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmQoNSwgaW5qZWN0ZWRCZW5lZml0cyksIHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wbGV0ZShwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4pIHtcbiAgICByZXR1cm4gc2VuZENvbW1hbmQobmV3IEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmQoMiksIHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbik7XG59XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Workflows/Services/BackendService.fs.js\n");
|
|
3053
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ activate: () => (/* binding */ activate),\n/* harmony export */ complete: () => (/* binding */ complete),\n/* harmony export */ completePaySetup: () => (/* binding */ completePaySetup),\n/* harmony export */ completeStep: () => (/* binding */ completeStep),\n/* harmony export */ completeStepV2: () => (/* binding */ completeStepV2),\n/* harmony export */ resumePaySetup: () => (/* binding */ resumePaySetup),\n/* harmony export */ sendAnalyticsEvent: () => (/* binding */ sendAnalyticsEvent),\n/* harmony export */ viewPaySetupPage: () => (/* binding */ viewPaySetupPage)\n/* harmony export */ });\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n/* harmony import */ var _Config_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Config.fs.js */ \"./src/Config.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/AsyncBuilder.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/AsyncBuilder.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/./Encode.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Encode.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Types.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Types.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/./Decode.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Decode.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Dto_fs_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../Workflows.Business/Aggregates/ProcessInstanceList/Dto.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Dto.fs.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction composeBackendUrl(processInstanceId) {\n const arg_1 = (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId) | 0;\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.toText)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.printf)(\"%s/workflows/backend/%i\"))(_Config_fs_js__WEBPACK_IMPORTED_MODULE_1__.backendUrl)(arg_1);\n}\n\nfunction composeActivateBackendUrl(processInstanceId) {\n const arg_1 = (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId) | 0;\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.toText)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.printf)(\"%s/workflows/backend/process-instances/%i/activate\"))(_Config_fs_js__WEBPACK_IMPORTED_MODULE_1__.backendUrl)(arg_1);\n}\n\nfunction composeAnalyticsEventBackendUrl(processInstanceId) {\n const arg_1 = (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceIdModule_value)(processInstanceId) | 0;\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.toText)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.printf)(\"%s/workflows/backend/process-instances/%i/analytics-events\"))(_Config_fs_js__WEBPACK_IMPORTED_MODULE_1__.backendUrl)(arg_1);\n}\n\nfunction sendWithRetry(accessToken, request) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Delay(() => {\n const requestWithAuth = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_header)((0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Headers_authorization)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.toText)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_6__.printf)(\"Bearer %s\"))(accessToken)), request);\n let asyncResult_1;\n const input = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_send)(requestWithAuth);\n asyncResult_1 = _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(input, (x$0027) => _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, x$0027)));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(asyncResult_1, (input_1_1) => {\n const input_7 = input_1_1;\n if (input_7.tag === 1) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_7.fields[0]));\n }\n else {\n const response = input_7.fields[0];\n if ((response.statusCode === 429) ? true : (response.statusCode >= 500)) {\n const input_3 = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_send)(requestWithAuth);\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(input_3, (x$0027_1) => _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, x$0027_1)));\n }\n else {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, response));\n }\n }\n });\n });\n}\n\nfunction sendCommand(command, processInstanceId, accessToken) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Delay(() => {\n let req_2, m;\n const asyncResult_2 = sendWithRetry(accessToken, (req_2 = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_content)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BodyContent(1, (m = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_9__.singleton)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_ProcessInstanceCommandDtoModule_ofDomain)(command)), (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__.toString)(0, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__.Auto_generateBoxedEncoder_Z20B7B430)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_11__.list_type)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_ProcessInstanceCommandDto$reflection)()), new _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__.CaseStrategy(1), void 0, void 0)(m)))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_method)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.HttpMethod(1), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_request)(composeBackendUrl(processInstanceId)))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_header)((0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Headers_contentType)(\"application/json\"), req_2)));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(asyncResult_2, (input_1_1) => {\n const input_3 = input_1_1;\n if (input_3.tag === 1) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_3.fields[0]));\n }\n else {\n const response = input_3.fields[0];\n if (response.statusCode === 200) {\n let arg;\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__.fromString)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__.Auto_generateBoxedDecoder_79988AEF)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Dto_fs_js__WEBPACK_IMPORTED_MODULE_5__.ProcessInstanceDto$reflection)(), new _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__.CaseStrategy(1), void 0)), response.responseText);\n arg = ((input_1.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_1.fields[0])) : (0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_Read_ProcessInstanceDtoModule_toDomain)(input_1.fields[0]));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(arg);\n }\n else {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, \"Unexpected response from backend\"));\n }\n }\n });\n });\n}\n\nfunction sendActivateCommand(processInstanceId, accessToken) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Delay(() => {\n const asyncResult_2 = sendWithRetry(accessToken, (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_method)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.HttpMethod(1), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_request)(composeActivateBackendUrl(processInstanceId))));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(asyncResult_2, (input_1_1) => {\n const input_3 = input_1_1;\n if (input_3.tag === 1) {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_3.fields[0]));\n }\n else {\n const response = input_3.fields[0];\n if (response.statusCode === 200) {\n let arg;\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__.fromString)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Decode_fs_js__WEBPACK_IMPORTED_MODULE_13__.Auto_generateBoxedDecoder_79988AEF)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_Read_ProcessInstanceContextDto$reflection)(), new _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__.CaseStrategy(1), void 0)), response.responseText);\n arg = ((input_1.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_1.fields[0])) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_Read_ProcessInstanceContextDtoModule_toDomain)(input_1.fields[0]))));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(arg);\n }\n else {\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, \"Unexpected response from backend\"));\n }\n }\n });\n });\n}\n\nfunction sendAnalyticsEvent(accessToken, processInstanceId, evt) {\n let result_1;\n const input = _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Delay(() => {\n let req_2;\n return sendWithRetry(accessToken, (req_2 = (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_content)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.BodyContent(1, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__.toString)(0, (0,_tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Encode_fs_js__WEBPACK_IMPORTED_MODULE_10__.Auto_generateBoxedEncoder_Z20B7B430)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_11__.list_type)((0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection)()), new _tests_Workflows_UI_Tests_fable_modules_Thoth_Json_10_2_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_12__.CaseStrategy(1), void 0, void 0)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_9__.singleton)(evt)))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_method)(new _tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Types_fs_js__WEBPACK_IMPORTED_MODULE_4__.HttpMethod(1), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_request)(composeAnalyticsEventBackendUrl(processInstanceId)))), (0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Http_header)((0,_tests_Workflows_UI_Tests_fable_modules_Fable_SimpleHttp_3_5_0_Http_fs_js__WEBPACK_IMPORTED_MODULE_2__.Headers_contentType)(\"application/json\"), req_2)));\n });\n result_1 = _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(input, (x$0027) => {\n let value_3;\n const input_2 = x$0027;\n value_3 = ((input_2.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(1, input_2.fields[0])) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_8__.FSharpResult$2(0, void input_2.fields[0])));\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(value_3);\n });\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Bind(result_1, (x$0027_1) => {\n let value_5;\n const result_4 = x$0027_1;\n value_5 = ((result_4.tag === 1) ? (void 0) : result_4.fields[0]);\n return _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_7__.singleton.Return(value_5);\n });\n}\n\nfunction activate(processInstanceId, accessToken) {\n return sendActivateCommand(processInstanceId, accessToken);\n}\n\nfunction completeStep(processInstanceId, processStepId, accessToken) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(0, processStepId), processInstanceId, accessToken);\n}\n\nfunction completeStepV2(processInstanceId, processStepId, accessToken) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(1, processStepId), processInstanceId, accessToken);\n}\n\nfunction viewPaySetupPage(processInstanceId, accessToken, injectedBenefits) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(3, injectedBenefits), processInstanceId, accessToken);\n}\n\nfunction completePaySetup(processInstanceId, accessToken, injectedBenefits) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(4, injectedBenefits), processInstanceId, accessToken);\n}\n\nfunction resumePaySetup(processInstanceId, accessToken, injectedBenefits) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(5, injectedBenefits), processInstanceId, accessToken);\n}\n\nfunction complete(processInstanceId, accessToken) {\n return sendCommand(new _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_3__.ApiDomain_Backend_ProcessInstanceCommand(2), processInstanceId, accessToken);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvV29ya2Zsb3dzL1NlcnZpY2VzL0JhY2tlbmRTZXJ2aWNlLmZzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTJIO0FBQ1g7QUFDaEU7QUFDaUU7QUFDK0Y7QUFDaEc7QUFDMlc7QUFDblc7QUFDeUI7QUFDbEM7QUFDRjtBQUNnQjtBQUNxQjtBQUMzQztBQUNpQjs7QUFFeEg7QUFDQSxrQkFBa0IsOEhBQTZCO0FBQy9DLFdBQVcsOEdBQU0sQ0FBQyw4R0FBTSw2QkFBNkIscURBQVU7QUFDL0Q7O0FBRUE7QUFDQSxrQkFBa0IsOEhBQTZCO0FBQy9DLFdBQVcsOEdBQU0sQ0FBQyw4R0FBTSx3REFBd0QscURBQVU7QUFDMUY7O0FBRUE7QUFDQSxrQkFBa0IsOEhBQTZCO0FBQy9DLFdBQVcsOEdBQU0sQ0FBQyw4R0FBTSxnRUFBZ0UscURBQVU7QUFDbEc7O0FBRUE7QUFDQSxXQUFXLG1IQUFTO0FBQ3BCLGdDQUFnQyxzSEFBVyxDQUFDLGdJQUFxQixDQUFDLDhHQUFNLENBQUMsOEdBQU07QUFDL0U7QUFDQSxzQkFBc0Isb0hBQVM7QUFDL0Isd0JBQXdCLG1IQUFTLHlCQUF5QixtSEFBUyxZQUFZLGtIQUFjO0FBQzdGLGVBQWUsbUhBQVM7QUFDeEI7QUFDQTtBQUNBLHVCQUF1QixtSEFBUyxZQUFZLGtIQUFjO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLG9IQUFTO0FBQzdDLDJCQUEyQixtSEFBUyw2QkFBNkIsbUhBQVMsWUFBWSxrSEFBYztBQUNwRztBQUNBO0FBQ0EsMkJBQTJCLG1IQUFTLFlBQVksa0hBQWM7QUFDOUQ7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxXQUFXLG1IQUFTO0FBQ3BCO0FBQ0Esa0VBQWtFLHVIQUFZLEtBQUssbUhBQVcsU0FBUywrR0FBVyxDQUFDLHFKQUF1RCxZQUFZLGlIQUFRLElBQUksNElBQW1DLENBQUMsc0hBQVMsQ0FBQyxpSkFBbUQsU0FBUyxnSEFBWSw0QkFBNEIsc0hBQVcsS0FBSyxrSEFBVSxLQUFLLHVIQUFZLDBDQUEwQyxzSEFBVyxDQUFDLDhIQUFtQjtBQUN4YyxlQUFlLG1IQUFTO0FBQ3hCO0FBQ0E7QUFDQSx1QkFBdUIsbUhBQVMsWUFBWSxrSEFBYztBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLG1IQUFVLENBQUMsOEdBQU8sSUFBSSwySUFBa0MsQ0FBQywySEFBNkIsUUFBUSxnSEFBWTtBQUM5SSxzREFBc0Qsa0hBQWMsMEJBQTBCLG1KQUFxRDtBQUNuSiwyQkFBMkIsbUhBQVM7QUFDcEM7QUFDQTtBQUNBLDJCQUEyQixtSEFBUyxZQUFZLGtIQUFjO0FBQzlEO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMOztBQUVBO0FBQ0EsV0FBVyxtSEFBUztBQUNwQix5REFBeUQsc0hBQVcsS0FBSyxrSEFBVSxLQUFLLHVIQUFZO0FBQ3BHLGVBQWUsbUhBQVM7QUFDeEI7QUFDQTtBQUNBLHVCQUF1QixtSEFBUyxZQUFZLGtIQUFjO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsbUhBQVUsQ0FBQyw4R0FBTyxJQUFJLDJJQUFrQyxDQUFDLHNKQUF3RCxRQUFRLGdIQUFZO0FBQ3pLLHNEQUFzRCxrSEFBYywrQkFBK0Isa0hBQWMsSUFBSSwwSkFBNEQ7QUFDakwsMkJBQTJCLG1IQUFTO0FBQ3BDO0FBQ0E7QUFDQSwyQkFBMkIsbUhBQVMsWUFBWSxrSEFBYztBQUM5RDtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDs7QUFFTztBQUNQO0FBQ0Esa0JBQWtCLG1IQUFTO0FBQzNCO0FBQ0EsbURBQW1ELHVIQUFZLEtBQUssbUhBQVcsSUFBSSxpSEFBUSxJQUFJLDRJQUFtQyxDQUFDLHNIQUFTLENBQUMsdUpBQXlELFNBQVMsZ0hBQVkscUJBQXFCLCtHQUFXLFVBQVUsc0hBQVcsS0FBSyxrSEFBVSxLQUFLLHVIQUFZLHdEQUF3RCxzSEFBVyxDQUFDLDhIQUFtQjtBQUN2WSxLQUFLO0FBQ0wsZUFBZSxtSEFBUztBQUN4QjtBQUNBO0FBQ0EsOENBQThDLGtIQUFjLCtCQUErQixrSEFBYztBQUN6RyxlQUFlLG1IQUFTO0FBQ3hCLEtBQUs7QUFDTCxXQUFXLG1IQUFTO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbUhBQVM7QUFDeEIsS0FBSztBQUNMOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQLDJCQUEyQixrSUFBd0M7QUFDbkU7O0FBRU87QUFDUCwyQkFBMkIsa0lBQXdDO0FBQ25FOztBQUVPO0FBQ1AsMkJBQTJCLGtJQUF3QztBQUNuRTs7QUFFTztBQUNQLDJCQUEyQixrSUFBd0M7QUFDbkU7O0FBRU87QUFDUCwyQkFBMkIsa0lBQXdDO0FBQ25FOztBQUVPO0FBQ1AsMkJBQTJCLGtJQUF3QztBQUNuRSIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi9zcmMvV29ya2Zsb3dzL1NlcnZpY2VzL0JhY2tlbmRTZXJ2aWNlLmZzLmpzPzQwNDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9Eb21haW4uZnMuanNcIjtcbmltcG9ydCB7IHByaW50ZiwgdG9UZXh0IH0gZnJvbSBcIi4uLy4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1N0cmluZy5qc1wiO1xuaW1wb3J0IHsgYmFja2VuZFVybCB9IGZyb20gXCIuLi8uLi9Db25maWcuZnMuanNcIjtcbmltcG9ydCB7IHNpbmdsZXRvbiB9IGZyb20gXCIuLi8uLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9Bc3luY0J1aWxkZXIuanNcIjtcbmltcG9ydCB7IEhlYWRlcnNfY29udGVudFR5cGUsIEh0dHBfcmVxdWVzdCwgSHR0cF9tZXRob2QsIEh0dHBfY29udGVudCwgSHR0cF9zZW5kLCBIZWFkZXJzX2F1dGhvcml6YXRpb24sIEh0dHBfaGVhZGVyIH0gZnJvbSBcIi4uLy4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZhYmxlLlNpbXBsZUh0dHAuMy41LjAvSHR0cC5mcy5qc1wiO1xuaW1wb3J0IHsgRlNoYXJwUmVzdWx0JDIgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5pbXBvcnQgeyBBcGlEb21haW5fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kLCBBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvJHJlZmxlY3Rpb24sIEFwaUR0b19CYWNrZW5kX1JlYWRfUHJvY2Vzc0luc3RhbmNlQ29udGV4dER0b01vZHVsZV90b0RvbWFpbiwgQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvJHJlZmxlY3Rpb24sIEFwaUR0b19CYWNrZW5kX1JlYWRfUHJvY2Vzc0luc3RhbmNlRHRvTW9kdWxlX3RvRG9tYWluLCBBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvJHJlZmxlY3Rpb24sIEFwaUR0b19CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmREdG9Nb2R1bGVfb2ZEb21haW4gfSBmcm9tIFwiLi4vLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9BcGkuZnMuanNcIjtcbmltcG9ydCB7IHNpbmdsZXRvbiBhcyBzaW5nbGV0b25fMSB9IGZyb20gXCIuLi8uLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9MaXN0LmpzXCI7XG5pbXBvcnQgeyBBdXRvX2dlbmVyYXRlQm94ZWRFbmNvZGVyX1oyMEI3QjQzMCwgdG9TdHJpbmcgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvVGhvdGguSnNvbi4xMC4yLjAvLi9FbmNvZGUuZnMuanNcIjtcbmltcG9ydCB7IGxpc3RfdHlwZSB9IGZyb20gXCIuLi8uLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9SZWZsZWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBDYXNlU3RyYXRlZ3kgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvVGhvdGguSnNvbi4xMC4yLjAvVHlwZXMuZnMuanNcIjtcbmltcG9ydCB7IEh0dHBNZXRob2QsIEJvZHlDb250ZW50IH0gZnJvbSBcIi4uLy4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZhYmxlLlNpbXBsZUh0dHAuMy41LjAvVHlwZXMuZnMuanNcIjtcbmltcG9ydCB7IEF1dG9fZ2VuZXJhdGVCb3hlZERlY29kZXJfNzk5ODhBRUYsIGZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvVGhvdGguSnNvbi4xMC4yLjAvLi9EZWNvZGUuZnMuanNcIjtcbmltcG9ydCB7IHVuY3VycnkgfSBmcm9tIFwiLi4vLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvVXRpbC5qc1wiO1xuaW1wb3J0IHsgUHJvY2Vzc0luc3RhbmNlRHRvJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9EdG8uZnMuanNcIjtcblxuZnVuY3Rpb24gY29tcG9zZUJhY2tlbmRVcmwocHJvY2Vzc0luc3RhbmNlSWQpIHtcbiAgICBjb25zdCBhcmdfMSA9IFByb2Nlc3NJbnN0YW5jZUlkTW9kdWxlX3ZhbHVlKHByb2Nlc3NJbnN0YW5jZUlkKSB8IDA7XG4gICAgcmV0dXJuIHRvVGV4dChwcmludGYoXCIlcy93b3JrZmxvd3MvYmFja2VuZC8laVwiKSkoYmFja2VuZFVybCkoYXJnXzEpO1xufVxuXG5mdW5jdGlvbiBjb21wb3NlQWN0aXZhdGVCYWNrZW5kVXJsKHByb2Nlc3NJbnN0YW5jZUlkKSB7XG4gICAgY29uc3QgYXJnXzEgPSBQcm9jZXNzSW5zdGFuY2VJZE1vZHVsZV92YWx1ZShwcm9jZXNzSW5zdGFuY2VJZCkgfCAwO1xuICAgIHJldHVybiB0b1RleHQocHJpbnRmKFwiJXMvd29ya2Zsb3dzL2JhY2tlbmQvcHJvY2Vzcy1pbnN0YW5jZXMvJWkvYWN0aXZhdGVcIikpKGJhY2tlbmRVcmwpKGFyZ18xKTtcbn1cblxuZnVuY3Rpb24gY29tcG9zZUFuYWx5dGljc0V2ZW50QmFja2VuZFVybChwcm9jZXNzSW5zdGFuY2VJZCkge1xuICAgIGNvbnN0IGFyZ18xID0gUHJvY2Vzc0luc3RhbmNlSWRNb2R1bGVfdmFsdWUocHJvY2Vzc0luc3RhbmNlSWQpIHwgMDtcbiAgICByZXR1cm4gdG9UZXh0KHByaW50ZihcIiVzL3dvcmtmbG93cy9iYWNrZW5kL3Byb2Nlc3MtaW5zdGFuY2VzLyVpL2FuYWx5dGljcy1ldmVudHNcIikpKGJhY2tlbmRVcmwpKGFyZ18xKTtcbn1cblxuZnVuY3Rpb24gc2VuZFdpdGhSZXRyeShhY2Nlc3NUb2tlbiwgcmVxdWVzdCkge1xuICAgIHJldHVybiBzaW5nbGV0b24uRGVsYXkoKCkgPT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0V2l0aEF1dGggPSBIdHRwX2hlYWRlcihIZWFkZXJzX2F1dGhvcml6YXRpb24odG9UZXh0KHByaW50ZihcIkJlYXJlciAlc1wiKSkoYWNjZXNzVG9rZW4pKSwgcmVxdWVzdCk7XG4gICAgICAgIGxldCBhc3luY1Jlc3VsdF8xO1xuICAgICAgICBjb25zdCBpbnB1dCA9IEh0dHBfc2VuZChyZXF1ZXN0V2l0aEF1dGgpO1xuICAgICAgICBhc3luY1Jlc3VsdF8xID0gc2luZ2xldG9uLkJpbmQoaW5wdXQsICh4JDAwMjcpID0+IHNpbmdsZXRvbi5SZXR1cm4obmV3IEZTaGFycFJlc3VsdCQyKDAsIHgkMDAyNykpKTtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5CaW5kKGFzeW5jUmVzdWx0XzEsIChpbnB1dF8xXzEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzcgPSBpbnB1dF8xXzE7XG4gICAgICAgICAgICBpZiAoaW5wdXRfNy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gaW5wdXRfNy5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgaWYgKChyZXNwb25zZS5zdGF0dXNDb2RlID09PSA0MjkpID8gdHJ1ZSA6IChyZXNwb25zZS5zdGF0dXNDb2RlID49IDUwMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfMyA9IEh0dHBfc2VuZChyZXF1ZXN0V2l0aEF1dGgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLkJpbmQoaW5wdXRfMywgKHgkMDAyN18xKSA9PiBzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB4JDAwMjdfMSkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigwLCByZXNwb25zZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHNlbmRDb21tYW5kKGNvbW1hbmQsIHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbikge1xuICAgIHJldHVybiBzaW5nbGV0b24uRGVsYXkoKCkgPT4ge1xuICAgICAgICBsZXQgcmVxXzIsIG07XG4gICAgICAgIGNvbnN0IGFzeW5jUmVzdWx0XzIgPSBzZW5kV2l0aFJldHJ5KGFjY2Vzc1Rva2VuLCAocmVxXzIgPSBIdHRwX2NvbnRlbnQobmV3IEJvZHlDb250ZW50KDEsIChtID0gc2luZ2xldG9uXzEoQXBpRHRvX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZER0b01vZHVsZV9vZkRvbWFpbihjb21tYW5kKSksIHRvU3RyaW5nKDAsIEF1dG9fZ2VuZXJhdGVCb3hlZEVuY29kZXJfWjIwQjdCNDMwKGxpc3RfdHlwZShBcGlEdG9fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kRHRvJHJlZmxlY3Rpb24oKSksIG5ldyBDYXNlU3RyYXRlZ3koMSksIHZvaWQgMCwgdm9pZCAwKShtKSkpKSwgSHR0cF9tZXRob2QobmV3IEh0dHBNZXRob2QoMSksIEh0dHBfcmVxdWVzdChjb21wb3NlQmFja2VuZFVybChwcm9jZXNzSW5zdGFuY2VJZCkpKSksIEh0dHBfaGVhZGVyKEhlYWRlcnNfY29udGVudFR5cGUoXCJhcHBsaWNhdGlvbi9qc29uXCIpLCByZXFfMikpKTtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5CaW5kKGFzeW5jUmVzdWx0XzIsIChpbnB1dF8xXzEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzMgPSBpbnB1dF8xXzE7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gaW5wdXRfMy5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYXJnO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8xID0gZnJvbVN0cmluZyh1bmN1cnJ5KDIsIEF1dG9fZ2VuZXJhdGVCb3hlZERlY29kZXJfNzk5ODhBRUYoUHJvY2Vzc0luc3RhbmNlRHRvJHJlZmxlY3Rpb24oKSwgbmV3IENhc2VTdHJhdGVneSgxKSwgdm9pZCAwKSksIHJlc3BvbnNlLnJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGFyZyA9ICgoaW5wdXRfMS50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xLmZpZWxkc1swXSkpIDogQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VEdG9Nb2R1bGVfdG9Eb21haW4oaW5wdXRfMS5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5SZXR1cm4oYXJnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBcIlVuZXhwZWN0ZWQgcmVzcG9uc2UgZnJvbSBiYWNrZW5kXCIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBzZW5kQWN0aXZhdGVDb21tYW5kKHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbikge1xuICAgIHJldHVybiBzaW5nbGV0b24uRGVsYXkoKCkgPT4ge1xuICAgICAgICBjb25zdCBhc3luY1Jlc3VsdF8yID0gc2VuZFdpdGhSZXRyeShhY2Nlc3NUb2tlbiwgSHR0cF9tZXRob2QobmV3IEh0dHBNZXRob2QoMSksIEh0dHBfcmVxdWVzdChjb21wb3NlQWN0aXZhdGVCYWNrZW5kVXJsKHByb2Nlc3NJbnN0YW5jZUlkKSkpKTtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5CaW5kKGFzeW5jUmVzdWx0XzIsIChpbnB1dF8xXzEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzMgPSBpbnB1dF8xXzE7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gaW5wdXRfMy5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYXJnO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dF8xID0gZnJvbVN0cmluZyh1bmN1cnJ5KDIsIEF1dG9fZ2VuZXJhdGVCb3hlZERlY29kZXJfNzk5ODhBRUYoQXBpRHRvX0JhY2tlbmRfUmVhZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0RHRvJHJlZmxlY3Rpb24oKSwgbmV3IENhc2VTdHJhdGVneSgxKSwgdm9pZCAwKSksIHJlc3BvbnNlLnJlc3BvbnNlVGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGFyZyA9ICgoaW5wdXRfMS50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBBcGlEdG9fQmFja2VuZF9SZWFkX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHREdG9Nb2R1bGVfdG9Eb21haW4oaW5wdXRfMS5maWVsZHNbMF0pKSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybihhcmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5SZXR1cm4obmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiVW5leHBlY3RlZCByZXNwb25zZSBmcm9tIGJhY2tlbmRcIikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZW5kQW5hbHl0aWNzRXZlbnQoYWNjZXNzVG9rZW4sIHByb2Nlc3NJbnN0YW5jZUlkLCBldnQpIHtcbiAgICBsZXQgcmVzdWx0XzE7XG4gICAgY29uc3QgaW5wdXQgPSBzaW5nbGV0b24uRGVsYXkoKCkgPT4ge1xuICAgICAgICBsZXQgcmVxXzI7XG4gICAgICAgIHJldHVybiBzZW5kV2l0aFJldHJ5KGFjY2Vzc1Rva2VuLCAocmVxXzIgPSBIdHRwX2NvbnRlbnQobmV3IEJvZHlDb250ZW50KDEsIHRvU3RyaW5nKDAsIEF1dG9fZ2VuZXJhdGVCb3hlZEVuY29kZXJfWjIwQjdCNDMwKGxpc3RfdHlwZShBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvJHJlZmxlY3Rpb24oKSksIG5ldyBDYXNlU3RyYXRlZ3koMSksIHZvaWQgMCwgdm9pZCAwKShzaW5nbGV0b25fMShldnQpKSkpLCBIdHRwX21ldGhvZChuZXcgSHR0cE1ldGhvZCgxKSwgSHR0cF9yZXF1ZXN0KGNvbXBvc2VBbmFseXRpY3NFdmVudEJhY2tlbmRVcmwocHJvY2Vzc0luc3RhbmNlSWQpKSkpLCBIdHRwX2hlYWRlcihIZWFkZXJzX2NvbnRlbnRUeXBlKFwiYXBwbGljYXRpb24vanNvblwiKSwgcmVxXzIpKSk7XG4gICAgfSk7XG4gICAgcmVzdWx0XzEgPSBzaW5nbGV0b24uQmluZChpbnB1dCwgKHgkMDAyNykgPT4ge1xuICAgICAgICBsZXQgdmFsdWVfMztcbiAgICAgICAgY29uc3QgaW5wdXRfMiA9IHgkMDAyNztcbiAgICAgICAgdmFsdWVfMyA9ICgoaW5wdXRfMi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2b2lkIGlucHV0XzIuZmllbGRzWzBdKSkpO1xuICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybih2YWx1ZV8zKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc2luZ2xldG9uLkJpbmQocmVzdWx0XzEsICh4JDAwMjdfMSkgPT4ge1xuICAgICAgICBsZXQgdmFsdWVfNTtcbiAgICAgICAgY29uc3QgcmVzdWx0XzQgPSB4JDAwMjdfMTtcbiAgICAgICAgdmFsdWVfNSA9ICgocmVzdWx0XzQudGFnID09PSAxKSA/ICh2b2lkIDApIDogcmVzdWx0XzQuZmllbGRzWzBdKTtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5SZXR1cm4odmFsdWVfNSk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3RpdmF0ZShwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4pIHtcbiAgICByZXR1cm4gc2VuZEFjdGl2YXRlQ29tbWFuZChwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tcGxldGVTdGVwKHByb2Nlc3NJbnN0YW5jZUlkLCBwcm9jZXNzU3RlcElkLCBhY2Nlc3NUb2tlbikge1xuICAgIHJldHVybiBzZW5kQ29tbWFuZChuZXcgQXBpRG9tYWluX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZCgwLCBwcm9jZXNzU3RlcElkKSwgcHJvY2Vzc0luc3RhbmNlSWQsIGFjY2Vzc1Rva2VuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBsZXRlU3RlcFYyKHByb2Nlc3NJbnN0YW5jZUlkLCBwcm9jZXNzU3RlcElkLCBhY2Nlc3NUb2tlbikge1xuICAgIHJldHVybiBzZW5kQ29tbWFuZChuZXcgQXBpRG9tYWluX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29tbWFuZCgxLCBwcm9jZXNzU3RlcElkKSwgcHJvY2Vzc0luc3RhbmNlSWQsIGFjY2Vzc1Rva2VuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZpZXdQYXlTZXR1cFBhZ2UocHJvY2Vzc0luc3RhbmNlSWQsIGFjY2Vzc1Rva2VuLCBpbmplY3RlZEJlbmVmaXRzKSB7XG4gICAgcmV0dXJuIHNlbmRDb21tYW5kKG5ldyBBcGlEb21haW5fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb21tYW5kKDMsIGluamVjdGVkQmVuZWZpdHMpLCBwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tcGxldGVQYXlTZXR1cChwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4sIGluamVjdGVkQmVuZWZpdHMpIHtcbiAgICByZXR1cm4gc2VuZENvbW1hbmQobmV3IEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmQoNCwgaW5qZWN0ZWRCZW5lZml0cyksIHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXN1bWVQYXlTZXR1cChwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4sIGluamVjdGVkQmVuZWZpdHMpIHtcbiAgICByZXR1cm4gc2VuZENvbW1hbmQobmV3IEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmQoNSwgaW5qZWN0ZWRCZW5lZml0cyksIHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wbGV0ZShwcm9jZXNzSW5zdGFuY2VJZCwgYWNjZXNzVG9rZW4pIHtcbiAgICByZXR1cm4gc2VuZENvbW1hbmQobmV3IEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbW1hbmQoMiksIHByb2Nlc3NJbnN0YW5jZUlkLCBhY2Nlc3NUb2tlbik7XG59XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Workflows/Services/BackendService.fs.js\n");
|
|
3054
3054
|
|
|
3055
3055
|
/***/ }),
|
|
3056
3056
|
|
|
@@ -3072,7 +3072,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
3072
3072
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
3073
3073
|
|
|
3074
3074
|
"use strict";
|
|
3075
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $007CIsMobile$007C_$007C: () => (/* binding */ $007CIsMobile$007C_$007C),\n/* harmony export */ BenefitsOnboardingState: () => (/* binding */ BenefitsOnboardingState),\n/* harmony export */ BenefitsOnboardingState$reflection: () => (/* binding */ BenefitsOnboardingState$reflection),\n/* harmony export */ BenefitsOnboardingStateModule_init: () => (/* binding */ BenefitsOnboardingStateModule_init),\n/* harmony export */ JourneyType_toDisplayStr: () => (/* binding */ JourneyType_toDisplayStr),\n/* harmony export */ Msg: () => (/* binding */ Msg),\n/* harmony export */ Msg$reflection: () => (/* binding */ Msg$reflection),\n/* harmony export */ State: () => (/* binding */ State),\n/* harmony export */ State$reflection: () => (/* binding */ State$reflection),\n/* harmony export */ Step: () => (/* binding */ Step),\n/* harmony export */ Step$reflection: () => (/* binding */ Step$reflection),\n/* harmony export */ StepDetail: () => (/* binding */ StepDetail),\n/* harmony export */ StepDetail$reflection: () => (/* binding */ StepDetail$reflection),\n/* harmony export */ StepDetailListModule_ofProcessInstance: () => (/* binding */ StepDetailListModule_ofProcessInstance),\n/* harmony export */ StepDetailListModule_tryFindActiveStep: () => (/* binding */ StepDetailListModule_tryFindActiveStep),\n/* harmony export */ StepDetailModule_$007CEmergencyContacts$007C_$007C: () => (/* binding */ StepDetailModule_$007CEmergencyContacts$007C_$007C),\n/* harmony export */ StepDetailModule_$007CPersonalDetails$007C_$007C: () => (/* binding */ StepDetailModule_$007CPersonalDetails$007C_$007C),\n/* harmony export */ StepDetail__get_ComponentTagName: () => (/* binding */ StepDetail__get_ComponentTagName),\n/* harmony export */ StepDetail__get_DisplayName: () => (/* binding */ StepDetail__get_DisplayName),\n/* harmony export */ StepDetail__get_IsPaySetupStep: () => (/* binding */ StepDetail__get_IsPaySetupStep),\n/* harmony export */ StepDetail__get_ProcessStepId: () => (/* binding */ StepDetail__get_ProcessStepId),\n/* harmony export */ StepDetail__get_ShortDisplayName: () => (/* binding */ StepDetail__get_ShortDisplayName),\n/* harmony export */ StepModule_List_addBenefitsStepIfComplete: () => (/* binding */ StepModule_List_addBenefitsStepIfComplete),\n/* harmony export */ StepModule_List_addBenefitsStepIfVisible: () => (/* binding */ StepModule_List_addBenefitsStepIfVisible),\n/* harmony export */ StepModule_List_ofProcessInstance: () => (/* binding */ StepModule_List_ofProcessInstance),\n/* harmony export */ StepModule_List_stepCount: () => (/* binding */ StepModule_List_stepCount),\n/* harmony export */ StepModule_getCompletedSteps: () => (/* binding */ StepModule_getCompletedSteps),\n/* harmony export */ StepModule_getName: () => (/* binding */ StepModule_getName),\n/* harmony export */ StepModule_getShortName: () => (/* binding */ StepModule_getShortName),\n/* harmony export */ StepModule_isPaySetupStep: () => (/* binding */ StepModule_isPaySetupStep),\n/* harmony export */ StepModule_ofStepConfig: () => (/* binding */ StepModule_ofStepConfig),\n/* harmony export */ StepModule_stepConfig: () => (/* binding */ StepModule_stepConfig),\n/* harmony export */ StepModule_toProcessStepConfig: () => (/* binding */ StepModule_toProcessStepConfig),\n/* harmony export */ StepStatus: () => (/* binding */ StepStatus),\n/* harmony export */ StepStatus$reflection: () => (/* binding */ StepStatus$reflection),\n/* harmony export */ View: () => (/* binding */ View),\n/* harmony export */ View$reflection: () => (/* binding */ View$reflection),\n/* harmony export */ WorkflowDetail: () => (/* binding */ WorkflowDetail),\n/* harmony export */ WorkflowDetail$reflection: () => (/* binding */ WorkflowDetail$reflection),\n/* harmony export */ WorkflowDetailModule_ofProcessInstance: () => (/* binding */ WorkflowDetailModule_ofProcessInstance),\n/* harmony export */ WorkflowDetailModule_ofProcessInstanceUpdate: () => (/* binding */ WorkflowDetailModule_ofProcessInstanceUpdate)\n/* harmony export */ });\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.3.2.0/List.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.3.2.0/List.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n/* harmony import */ var _Config_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Config.fs.js */ \"./src/Config.fs.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Step extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"PersonalDetails\", \"EmergencyContacts\", \"Bank\", \"Tax\", \"Super\", \"WorkplaceLinking\", \"BenefitsOnboarding\", \"WorkplacePolicies\", \"DiscreteBenefits\"];\n }\n}\n\nfunction Step$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.Step\", [], Step, () => [[], [], [], [], [], [], [], [], []]);\n}\n\nclass BenefitsOnboardingState extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Hidden\", \"Incomplete\", \"Complete\"];\n }\n}\n\nfunction BenefitsOnboardingState$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.BenefitsOnboardingState\", [], BenefitsOnboardingState, () => [[], [], []]);\n}\n\nfunction BenefitsOnboardingStateModule_init(_arg) {\n if (_arg) {\n return new BenefitsOnboardingState(1);\n }\n else {\n return new BenefitsOnboardingState(0);\n }\n}\n\nclass StepStatus extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Completed\", \"Disabled\", \"Active\", \"Locked\", \"CompletedAndDisabled\"];\n }\n}\n\nfunction StepStatus$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.StepStatus\", [], StepStatus, () => [[], [], [], [], []]);\n}\n\nfunction StepModule_ofStepConfig(stepConfig) {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_PersonalDetailsStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(0));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_EmergencyContactsStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(1));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BankStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(2));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_TaxStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(3));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_SuperStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(4));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(5));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplacePoliciesStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(7));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(8));\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, \"Invalid step\");\n }\n}\n\nfunction StepModule_stepConfig(step) {\n switch (step.tag) {\n case 1: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_EmergencyContactsStep;\n }\n case 2: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BankStep;\n }\n case 3: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_TaxStep;\n }\n case 4: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_SuperStep;\n }\n case 5: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep;\n }\n case 6: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BenefitsOnboardingStep;\n }\n case 7: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplacePoliciesStep;\n }\n case 8: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep;\n }\n default: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_PersonalDetailsStep;\n }\n }\n}\n\nfunction StepModule_getName(_arg) {\n switch (_arg.tag) {\n case 1: {\n return \"Emergency contacts\";\n }\n case 2: {\n return \"Bank details\";\n }\n case 3: {\n return \"Tax declaration\";\n }\n case 4: {\n return \"Super nomination\";\n }\n case 5: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep.DisplayName;\n }\n case 6: {\n return \"Workplace benefits\";\n }\n case 7: {\n return \"Fair Work\";\n }\n case 8: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep.DisplayName;\n }\n default: {\n return \"Employee profile\";\n }\n }\n}\n\nfunction StepModule_getShortName(_arg) {\n switch (_arg.tag) {\n case 1: {\n return \"Contacts\";\n }\n case 2: {\n return \"Bank\";\n }\n case 3: {\n return \"Tax\";\n }\n case 4: {\n return \"Super\";\n }\n case 5: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep.DisplayName;\n }\n case 6: {\n return \"Benefits\";\n }\n case 7: {\n return \"Fair Work\";\n }\n case 8: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep.DisplayName;\n }\n default: {\n return \"Profile\";\n }\n }\n}\n\nfunction StepModule_toProcessStepConfig(_arg) {\n switch (_arg.tag) {\n case 1: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_EmergencyContactsStep;\n }\n case 2: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BankStep;\n }\n case 3: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_TaxStep;\n }\n case 4: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_SuperStep;\n }\n case 5: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep;\n }\n case 6: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BenefitsOnboardingStep;\n }\n case 7: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplacePoliciesStep;\n }\n case 8: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep;\n }\n default: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_PersonalDetailsStep;\n }\n }\n}\n\nfunction StepModule_isPaySetupStep(_arg) {\n switch (_arg.tag) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 7: {\n return true;\n }\n case 5:\n case 6:\n case 8: {\n return false;\n }\n default: {\n return true;\n }\n }\n}\n\nfunction StepModule_List_addBenefitsStepIfVisible(state, steps) {\n if (state.tag === 0) {\n return steps;\n }\n else {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.append)(steps, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)(new Step(6)));\n }\n}\n\nfunction StepModule_List_addBenefitsStepIfComplete(state, steps) {\n if (state.tag === 2) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.append)(steps, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)(new Step(6)));\n }\n else {\n return steps;\n }\n}\n\nfunction StepModule_List_ofProcessInstance(processInstance, benefitsOnboardingState) {\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(StepModule_ofStepConfig, processInstance.Configuration.Steps));\n if (input_1.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_1.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, StepModule_List_addBenefitsStepIfVisible(benefitsOnboardingState, input_1.fields[0]));\n }\n}\n\nfunction StepModule_List_stepCount(processInstance, benefitsOnboardingState) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.length)(processInstance.Configuration.Steps) + ((benefitsOnboardingState.tag === 0) ? 0 : 1);\n}\n\nfunction StepModule_getCompletedSteps(processInstance, benefitsOnboardingState) {\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(StepModule_ofStepConfig, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceModule_getCompletedSteps)(processInstance)));\n if (input_1.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_1.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, StepModule_List_addBenefitsStepIfComplete(benefitsOnboardingState, input_1.fields[0]));\n }\n}\n\nclass StepDetail extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Record {\n constructor(Id, Status) {\n super();\n this.Id = Id;\n this.Status = Status;\n }\n}\n\nfunction StepDetail$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.record_type)(\"Workflows.UI.Workflows.Types.StepDetail\", [], StepDetail, () => [[\"Id\", Step$reflection()], [\"Status\", StepStatus$reflection()]]);\n}\n\nfunction StepDetail__get_DisplayName(this$) {\n return StepModule_getName(this$.Id);\n}\n\nfunction StepDetail__get_ShortDisplayName(this$) {\n return StepModule_getShortName(this$.Id);\n}\n\nfunction StepDetail__get_ComponentTagName(this$) {\n return StepModule_toProcessStepConfig(this$.Id).ComponentTagName;\n}\n\nfunction StepDetail__get_ProcessStepId(this$) {\n return StepModule_toProcessStepConfig(this$.Id).Id;\n}\n\nfunction StepDetail__get_IsPaySetupStep(this$) {\n return StepModule_isPaySetupStep(this$.Id);\n}\n\nfunction StepDetailModule_$007CPersonalDetails$007C_$007C(step) {\n if (step.Id.tag === 0) {\n return step;\n }\n else {\n return void 0;\n }\n}\n\nfunction StepDetailModule_$007CEmergencyContacts$007C_$007C(step) {\n if (step.Id.tag === 1) {\n return step;\n }\n else {\n return void 0;\n }\n}\n\nfunction StepDetailListModule_tryFindActiveStep(steps) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.tryFind)((s) => (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(s.Status, new StepStatus(2)), steps);\n}\n\nfunction StepDetailListModule_setActiveStep(steps) {\n const loop = (input_mut, acc_mut) => {\n loop:\n while (true) {\n const input = input_mut, acc = acc_mut;\n if (!(0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.isEmpty)(input)) {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input).Status, new StepStatus(2))) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.concat)([acc, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input)), (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.tail)(input)]);\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input).Status, new StepStatus(1))) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.concat)([acc, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)(new StepDetail((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input).Id, new StepStatus(2))), (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.tail)(input)]);\n }\n else {\n input_mut = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.tail)(input);\n acc_mut = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.append)(acc, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input)));\n continue loop;\n }\n }\n else {\n return acc;\n }\n break;\n }\n };\n return loop(steps, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.empty)());\n}\n\nfunction StepDetailListModule_ofProcessInstance(processInstance, benefitsOnboardingState) {\n const isPaySetupComplete = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_11__.defaultArg)(processInstance.PaySetupComplete, false);\n let input_4;\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(StepModule_ofStepConfig, processInstance.Configuration.Steps));\n input_4 = ((input_1.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_1.fields[0])) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, StepModule_List_addBenefitsStepIfVisible(benefitsOnboardingState, input_1.fields[0]))));\n if (input_4.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_4.fields[0]);\n }\n else {\n const input_2 = (0,_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_3_2_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(StepModule_ofStepConfig, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceModule_getCompletedSteps)(processInstance)));\n if (input_2.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_2.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, StepDetailListModule_setActiveStep((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((s_1) => {\n if ((isPaySetupComplete && StepDetail__get_IsPaySetupStep(s_1)) && (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(s_1.Status, new StepStatus(0))) {\n return new StepDetail(s_1.Id, new StepStatus(4));\n }\n else {\n return s_1;\n }\n }, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((s_2) => {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.exists)((x_1) => (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(x_1, s_2.Id), input_2.fields[0])) {\n return new StepDetail(s_2.Id, new StepStatus(0));\n }\n else {\n return s_2;\n }\n }, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((s) => {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(s.Id, new Step(6)) && (!isPaySetupComplete)) {\n return new StepDetail(s.Id, new StepStatus(3));\n }\n else {\n return s;\n }\n }, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((s_3) => (new StepDetail(s_3, new StepStatus(1))), input_4.fields[0]))))));\n }\n }\n}\n\nclass WorkflowDetail extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Record {\n constructor(AppMode, JourneyType, Branding, IsBenefitsStepEnabled, IsPaySetupCompatible, IsPaySetupComplete, Status, ProcessInstanceId, InstanceName, ProcessConfigId, Steps) {\n super();\n this.AppMode = AppMode;\n this.JourneyType = JourneyType;\n this.Branding = Branding;\n this.IsBenefitsStepEnabled = IsBenefitsStepEnabled;\n this.IsPaySetupCompatible = IsPaySetupCompatible;\n this.IsPaySetupComplete = IsPaySetupComplete;\n this.Status = Status;\n this.ProcessInstanceId = ProcessInstanceId;\n this.InstanceName = InstanceName;\n this.ProcessConfigId = ProcessConfigId;\n this.Steps = Steps;\n }\n}\n\nfunction WorkflowDetail$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.record_type)(\"Workflows.UI.Workflows.Types.WorkflowDetail\", [], WorkflowDetail, () => [[\"AppMode\", (0,_Config_fs_js__WEBPACK_IMPORTED_MODULE_2__.AppMode$reflection)()], [\"JourneyType\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType$reflection)()], [\"Branding\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.option_type)((0,_Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteBranding$reflection)())], [\"IsBenefitsStepEnabled\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type], [\"IsPaySetupCompatible\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type], [\"IsPaySetupComplete\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type], [\"Status\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus$reflection)()], [\"ProcessInstanceId\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceId$reflection)()], [\"InstanceName\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], [\"ProcessConfigId\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfigId$reflection)()], [\"Steps\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.list_type)(StepDetail$reflection())]]);\n}\n\nfunction WorkflowDetailModule_isPaySetupComplete(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 3: {\n return false;\n }\n case 0: {\n return false;\n }\n case 1: {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_11__.defaultArg)(instance.PaySetupComplete, false);\n }\n default: {\n return true;\n }\n }\n}\n\nfunction WorkflowDetailModule_ofProcessInstance(appMode, ctx) {\n let input;\n const tupledArg = [ctx.ProcessInstance, BenefitsOnboardingStateModule_init(ctx.IsBenefitsEnabled)];\n input = StepDetailListModule_ofProcessInstance(tupledArg[0], tupledArg[1]);\n if (input.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new WorkflowDetail(appMode, ctx.ProcessInstance.JourneyType, ctx.Branding, ctx.IsBenefitsEnabled, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfig__get_IsPaySetupCompatible)(ctx.ProcessInstance.Configuration), WorkflowDetailModule_isPaySetupComplete(ctx.ProcessInstance), ctx.ProcessInstance.Status, ctx.ProcessInstance.Id, ctx.ProcessInstance.Configuration.Name, ctx.ProcessInstance.Configuration.Id, input.fields[0]));\n }\n}\n\nfunction WorkflowDetailModule_ofProcessInstanceUpdate(current, instance) {\n let input;\n const tupledArg = [instance, BenefitsOnboardingStateModule_init(current.IsBenefitsStepEnabled)];\n input = StepDetailListModule_ofProcessInstance(tupledArg[0], tupledArg[1]);\n if (input.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new WorkflowDetail(current.AppMode, current.JourneyType, current.Branding, current.IsBenefitsStepEnabled, current.IsPaySetupCompatible, WorkflowDetailModule_isPaySetupComplete(instance), instance.Status, current.ProcessInstanceId, current.InstanceName, current.ProcessConfigId, input.fields[0]));\n }\n}\n\nclass View extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Initialising\", \"StepList\", \"Step\", \"PaySetupCompleteConfirmation\", \"Oops\", \"AllDone\"];\n }\n}\n\nfunction View$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.View\", [], View, () => [[], [], [[\"Item\", StepDetail$reflection()]], [], [[\"errorMessage\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]], []]);\n}\n\nclass Msg extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ActivateCallback\", \"ChangeCurrentView\", \"CloseStepListView\", \"StepCompletionEventCallback\", \"CompleteStep\", \"ConfirmPaySetupComplete\", \"ResumePaySetup\", \"CompletePaySetup\", \"PaySetupCompleted\", \"CompleteWorkflow\", \"ShowAllDoneAndNotifyComplete\", \"SendAnalyticsEvent\", \"AppendTrailingSlashToUrl\", \"CompleteBenefitsOnboardingStep\", \"CommandSuccess\", \"CommandFailure\"];\n }\n}\n\nfunction Msg$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.Msg\", [], Msg, () => [[[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__.Deferred$1$reflection)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [(0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_4__.ApiDomain_Backend_ProcessInstanceContext$reflection)(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_4__.ApiDomain_Backend_ProcessInstanceContext$reflection)()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]]))]], [[\"Item\", View$reflection()]], [], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.class_type)(\"Browser.Types.Event\")]], [[\"Item1\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepId$reflection)()], [\"Item2\", (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__.Deferred$1$reflection)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [(0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]]))]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.anonRecord_type)([\"Branding\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.option_type)((0,_Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteBranding$reflection)())], [\"InjectedBenefits\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type])]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.anonRecord_type)([\"InjectedBenefits\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type])]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.anonRecord_type)([\"InjectedBenefits\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type])]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [(0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]])]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__.Deferred$1$reflection)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [(0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]]))]], [[\"Item\", WorkflowDetail$reflection()]], [[\"Item1\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceId$reflection)()], [\"Item2\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_4__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection)()]], [], [], [], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.class_type)(\"System.Exception\")]]]);\n}\n\nclass State extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Record {\n constructor(ProfileId, ProcessInstanceId, WorkflowDetail, CurrentView, CssOverrides, BenefitsOnboarding) {\n super();\n this.ProfileId = ProfileId;\n this.ProcessInstanceId = ProcessInstanceId;\n this.WorkflowDetail = WorkflowDetail;\n this.CurrentView = CurrentView;\n this.CssOverrides = CssOverrides;\n this.BenefitsOnboarding = BenefitsOnboarding;\n }\n}\n\nfunction State$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.record_type)(\"Workflows.UI.Workflows.Types.State\", [], State, () => [[\"ProfileId\", (0,_Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_3__.ProfileId$reflection)()], [\"ProcessInstanceId\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceId$reflection)()], [\"WorkflowDetail\", (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__.Deferred$1$reflection)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [WorkflowDetail$reflection(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", WorkflowDetail$reflection()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]]))], [\"CurrentView\", View$reflection()], [\"CssOverrides\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.list_type)(_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type)], [\"BenefitsOnboarding\", BenefitsOnboardingState$reflection()]]);\n}\n\nfunction JourneyType_toDisplayStr(journeyType) {\n switch (journeyType.tag) {\n case 1: {\n return \"Information request\";\n }\n case 2: {\n return \"Workflow\";\n }\n case 3: {\n return \"Benefits Onboarding\";\n }\n case 4: {\n return \"Benefits Onboarding\";\n }\n default: {\n return \"Onboarding\";\n }\n }\n}\n\nfunction $007CIsMobile$007C_$007C(clientWidth) {\n if (clientWidth < 640) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_11__.some)(void 0);\n }\n else {\n return void 0;\n }\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QiwySEFBZSxzQkFBc0IsaUhBQVMsZ0JBQWdCLDJIQUFlLHNCQUFzQixpSEFBUyxnQkFBZ0Isc0hBQVUsMENBQTBDLDJIQUEwQixJQUFJLG1IQUFXLEdBQUcsa0hBQWMsMEJBQTBCLDJIQUEwQixzQkFBc0IsbUhBQVcsa0JBQWtCLHdJQUFxQixDQUFDLHNIQUFVLDBDQUEwQywySEFBMEIsSUFBSSxtSEFBVyxHQUFHLGtIQUFjLDBCQUEwQiwySEFBMEIsc0JBQXNCLG1IQUFXLDZEQUE2RCw2SEFBNEIsZUFBZSx1SkFBeUQsNEJBQTRCLHNIQUFVO0FBQy9qRDs7QUFFTyxvQkFBb0IseUdBQU07QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLHVIQUFXLHVFQUF1RSxpR0FBb0IsMkJBQTJCLDZIQUE0Qix3QkFBd0Isd0lBQXFCLENBQUMsc0hBQVUsdUVBQXVFLG1IQUFXLEdBQUcsa0hBQWMseUVBQXlFLG1IQUFXLDZEQUE2RCxxSEFBUyxDQUFDLG1IQUFXO0FBQ3plOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQSxlQUFlLDZHQUFJO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AZmxhcmVoci93b3JrZmxvd3MtYXBwLy4vc3JjL1dvcmtmbG93cy9UeXBlcy5mcy5qcz9mN2Q4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY29yZCwgVW5pb24gfSBmcm9tIFwiLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvVHlwZXMuanNcIjtcbmltcG9ydCB7IGFub25SZWNvcmRfdHlwZSwgY2xhc3NfdHlwZSwgbGlzdF90eXBlLCBzdHJpbmdfdHlwZSwgYm9vbF90eXBlLCBvcHRpb25fdHlwZSwgcmVjb3JkX3R5cGUsIHVuaW9uX3R5cGUgfSBmcm9tIFwiLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvUmVmbGVjdGlvbi5qc1wiO1xuaW1wb3J0IHsgZXF1YWxzIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1V0aWwuanNcIjtcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24sIFByb2Nlc3NDb25maWdfX2dldF9Jc1BheVNldHVwQ29tcGF0aWJsZSwgUHJvY2Vzc0NvbmZpZ0lkJHJlZmxlY3Rpb24sIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24sIFByb2Nlc3NJbnN0YW5jZVN0YXR1cyRyZWZsZWN0aW9uLCBKb3VybmV5VHlwZSRyZWZsZWN0aW9uLCBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZ2V0Q29tcGxldGVkU3RlcHMsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JlbmVmaXRzT25ib2FyZGluZ1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VQb2xpY2llc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1dvcmtwbGFjZUxpbmtpbmdTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9TdXBlclN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JhbmtTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9Eb21haW4uZnMuanNcIjtcbmltcG9ydCB7IEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgZXhpc3RzLCBlbXB0eSwgdGFpbCBhcyB0YWlsXzUsIGNvbmNhdCwgaGVhZCwgaXNFbXB0eSwgdHJ5RmluZCwgbGVuZ3RoLCBtYXAsIHNpbmdsZXRvbiwgYXBwZW5kIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0xpc3QuanNcIjtcbmltcG9ydCB7IHNlcXVlbmNlUmVzdWx0TSB9IGZyb20gXCIuLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9Gc1Rvb2xraXQuRXJyb3JIYW5kbGluZy4zLjIuMC9MaXN0LmZzLmpzXCI7XG5pbXBvcnQgeyBzb21lLCBkZWZhdWx0QXJnIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL09wdGlvbi5qc1wiO1xuaW1wb3J0IHsgQXBwTW9kZSRyZWZsZWN0aW9uIH0gZnJvbSBcIi4uL0NvbmZpZy5mcy5qc1wiO1xuaW1wb3J0IHsgUHJvZmlsZUlkJHJlZmxlY3Rpb24sIEludml0ZUJyYW5kaW5nJHJlZmxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvQ29tbW9uLmZzLmpzXCI7XG5pbXBvcnQgeyBBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvJHJlZmxlY3Rpb24sIEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHQkcmVmbGVjdGlvbiB9IGZyb20gXCIuLi8uLi8uLi9Xb3JrZmxvd3MuQnVzaW5lc3MvQWdncmVnYXRlcy9Qcm9jZXNzSW5zdGFuY2VMaXN0L0FwaS5mcy5qc1wiO1xuaW1wb3J0IHsgRGVmZXJyZWQkMSRyZWZsZWN0aW9uIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL0ZlbGl6LlVzZURlZmVycmVkLjEuNS4wL1VzZURlZmVycmVkLmZzLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBTdGVwIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJQZXJzb25hbERldGFpbHNcIiwgXCJFbWVyZ2VuY3lDb250YWN0c1wiLCBcIkJhbmtcIiwgXCJUYXhcIiwgXCJTdXBlclwiLCBcIldvcmtwbGFjZUxpbmtpbmdcIiwgXCJCZW5lZml0c09uYm9hcmRpbmdcIiwgXCJXb3JrcGxhY2VQb2xpY2llc1wiLCBcIkRpc2NyZXRlQmVuZWZpdHNcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLlVJLldvcmtmbG93cy5UeXBlcy5TdGVwXCIsIFtdLCBTdGVwLCAoKSA9PiBbW10sIFtdLCBbXSwgW10sIFtdLCBbXSwgW10sIFtdLCBbXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgQmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkhpZGRlblwiLCBcIkluY29tcGxldGVcIiwgXCJDb21wbGV0ZVwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZSRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLlVJLldvcmtmbG93cy5UeXBlcy5CZW5lZml0c09uYm9hcmRpbmdTdGF0ZVwiLCBbXSwgQmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUsICgpID0+IFtbXSwgW10sIFtdXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZU1vZHVsZV9pbml0KF9hcmcpIHtcbiAgICBpZiAoX2FyZykge1xuICAgICAgICByZXR1cm4gbmV3IEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlKDEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZSgwKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdGVwU3RhdHVzIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJDb21wbGV0ZWRcIiwgXCJEaXNhYmxlZFwiLCBcIkFjdGl2ZVwiLCBcIkxvY2tlZFwiLCBcIkNvbXBsZXRlZEFuZERpc2FibGVkXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBTdGF0dXMkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5VSS5Xb3JrZmxvd3MuVHlwZXMuU3RlcFN0YXR1c1wiLCBbXSwgU3RlcFN0YXR1cywgKCkgPT4gW1tdLCBbXSwgW10sIFtdLCBbXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcE1vZHVsZV9vZlN0ZXBDb25maWcoc3RlcENvbmZpZykge1xuICAgIGlmIChlcXVhbHMoc3RlcENvbmZpZywgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfUGVyc29uYWxEZXRhaWxzU3RlcCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgU3RlcCgwKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGVxdWFscyhzdGVwQ29uZmlnLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXApKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFN0ZXAoMSkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChlcXVhbHMoc3RlcENvbmZpZywgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXApKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFN0ZXAoMikpO1xuICAgIH1cbiAgICBlbHNlIGlmIChlcXVhbHMoc3RlcENvbmZpZywgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfVGF4U3RlcCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgU3RlcCgzKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGVxdWFscyhzdGVwQ29uZmlnLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9TdXBlclN0ZXApKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFN0ZXAoNCkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChlcXVhbHMoc3RlcENvbmZpZywgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlTGlua2luZ1N0ZXApKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFN0ZXAoNSkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChlcXVhbHMoc3RlcENvbmZpZywgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlUG9saWNpZXNTdGVwKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBTdGVwKDcpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZXF1YWxzKHN0ZXBDb25maWcsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBTdGVwKDgpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgXCJJbnZhbGlkIHN0ZXBcIik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcE1vZHVsZV9zdGVwQ29uZmlnKHN0ZXApIHtcbiAgICBzd2l0Y2ggKHN0ZXAudGFnKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0VtZXJnZW5jeUNvbnRhY3RzU3RlcDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CYW5rU3RlcDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9UYXhTdGVwO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1N1cGVyU3RlcDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VMaW5raW5nU3RlcDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9CZW5lZml0c09uYm9hcmRpbmdTdGVwO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1dvcmtwbGFjZVBvbGljaWVzU3RlcDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDg6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9EaXNjcmV0ZUJlbmVmaXRzU3RlcDtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfUGVyc29uYWxEZXRhaWxzU3RlcDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBNb2R1bGVfZ2V0TmFtZShfYXJnKSB7XG4gICAgc3dpdGNoIChfYXJnLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkVtZXJnZW5jeSBjb250YWN0c1wiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIFwiQmFuayBkZXRhaWxzXCI7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gXCJUYXggZGVjbGFyYXRpb25cIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBcIlN1cGVyIG5vbWluYXRpb25cIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VMaW5raW5nU3RlcC5EaXNwbGF5TmFtZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgIHJldHVybiBcIldvcmtwbGFjZSBiZW5lZml0c1wiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgcmV0dXJuIFwiRmFpciBXb3JrXCI7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA4OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfRGlzY3JldGVCZW5lZml0c1N0ZXAuRGlzcGxheU5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIFwiRW1wbG95ZWUgcHJvZmlsZVwiO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcE1vZHVsZV9nZXRTaG9ydE5hbWUoX2FyZykge1xuICAgIHN3aXRjaCAoX2FyZy50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gXCJDb250YWN0c1wiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIFwiQmFua1wiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIFwiVGF4XCI7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICByZXR1cm4gXCJTdXBlclwiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNToge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1dvcmtwbGFjZUxpbmtpbmdTdGVwLkRpc3BsYXlOYW1lO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNjoge1xuICAgICAgICAgICAgcmV0dXJuIFwiQmVuZWZpdHNcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkZhaXIgV29ya1wiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgODoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwLkRpc3BsYXlOYW1lO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBcIlByb2ZpbGVcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBNb2R1bGVfdG9Qcm9jZXNzU3RlcENvbmZpZyhfYXJnKSB7XG4gICAgc3dpdGNoIChfYXJnLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfVGF4U3RlcDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9TdXBlclN0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlTGlua2luZ1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmVuZWZpdHNPbmJvYXJkaW5nU3RlcDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VQb2xpY2llc1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA4OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfRGlzY3JldGVCZW5lZml0c1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwTW9kdWxlX2lzUGF5U2V0dXBTdGVwKF9hcmcpIHtcbiAgICBzd2l0Y2ggKF9hcmcudGFnKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICBjYXNlIDM6XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDU6XG4gICAgICAgIGNhc2UgNjpcbiAgICAgICAgY2FzZSA4OiB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwTW9kdWxlX0xpc3RfYWRkQmVuZWZpdHNTdGVwSWZWaXNpYmxlKHN0YXRlLCBzdGVwcykge1xuICAgIGlmIChzdGF0ZS50YWcgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHN0ZXBzO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGFwcGVuZChzdGVwcywgc2luZ2xldG9uKG5ldyBTdGVwKDYpKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcE1vZHVsZV9MaXN0X2FkZEJlbmVmaXRzU3RlcElmQ29tcGxldGUoc3RhdGUsIHN0ZXBzKSB7XG4gICAgaWYgKHN0YXRlLnRhZyA9PT0gMikge1xuICAgICAgICByZXR1cm4gYXBwZW5kKHN0ZXBzLCBzaW5nbGV0b24obmV3IFN0ZXAoNikpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBzdGVwcztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwTW9kdWxlX0xpc3Rfb2ZQcm9jZXNzSW5zdGFuY2UocHJvY2Vzc0luc3RhbmNlLCBiZW5lZml0c09uYm9hcmRpbmdTdGF0ZSkge1xuICAgIGNvbnN0IGlucHV0XzEgPSBzZXF1ZW5jZVJlc3VsdE0obWFwKFN0ZXBNb2R1bGVfb2ZTdGVwQ29uZmlnLCBwcm9jZXNzSW5zdGFuY2UuQ29uZmlndXJhdGlvbi5TdGVwcykpO1xuICAgIGlmIChpbnB1dF8xLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgU3RlcE1vZHVsZV9MaXN0X2FkZEJlbmVmaXRzU3RlcElmVmlzaWJsZShiZW5lZml0c09uYm9hcmRpbmdTdGF0ZSwgaW5wdXRfMS5maWVsZHNbMF0pKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwTW9kdWxlX0xpc3Rfc3RlcENvdW50KHByb2Nlc3NJbnN0YW5jZSwgYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUpIHtcbiAgICByZXR1cm4gbGVuZ3RoKHByb2Nlc3NJbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzKSArICgoYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUudGFnID09PSAwKSA/IDAgOiAxKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBNb2R1bGVfZ2V0Q29tcGxldGVkU3RlcHMocHJvY2Vzc0luc3RhbmNlLCBiZW5lZml0c09uYm9hcmRpbmdTdGF0ZSkge1xuICAgIGNvbnN0IGlucHV0XzEgPSBzZXF1ZW5jZVJlc3VsdE0obWFwKFN0ZXBNb2R1bGVfb2ZTdGVwQ29uZmlnLCBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZ2V0Q29tcGxldGVkU3RlcHMocHJvY2Vzc0luc3RhbmNlKSkpO1xuICAgIGlmIChpbnB1dF8xLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgU3RlcE1vZHVsZV9MaXN0X2FkZEJlbmVmaXRzU3RlcElmQ29tcGxldGUoYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUsIGlucHV0XzEuZmllbGRzWzBdKSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RlcERldGFpbCBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSWQsIFN0YXR1cykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLklkID0gSWQ7XG4gICAgICAgIHRoaXMuU3RhdHVzID0gU3RhdHVzO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBEZXRhaWwkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuVUkuV29ya2Zsb3dzLlR5cGVzLlN0ZXBEZXRhaWxcIiwgW10sIFN0ZXBEZXRhaWwsICgpID0+IFtbXCJJZFwiLCBTdGVwJHJlZmxlY3Rpb24oKV0sIFtcIlN0YXR1c1wiLCBTdGVwU3RhdHVzJHJlZmxlY3Rpb24oKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBEZXRhaWxfX2dldF9EaXNwbGF5TmFtZSh0aGlzJCkge1xuICAgIHJldHVybiBTdGVwTW9kdWxlX2dldE5hbWUodGhpcyQuSWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcERldGFpbF9fZ2V0X1Nob3J0RGlzcGxheU5hbWUodGhpcyQpIHtcbiAgICByZXR1cm4gU3RlcE1vZHVsZV9nZXRTaG9ydE5hbWUodGhpcyQuSWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcERldGFpbF9fZ2V0X0NvbXBvbmVudFRhZ05hbWUodGhpcyQpIHtcbiAgICByZXR1cm4gU3RlcE1vZHVsZV90b1Byb2Nlc3NTdGVwQ29uZmlnKHRoaXMkLklkKS5Db21wb25lbnRUYWdOYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcERldGFpbF9fZ2V0X1Byb2Nlc3NTdGVwSWQodGhpcyQpIHtcbiAgICByZXR1cm4gU3RlcE1vZHVsZV90b1Byb2Nlc3NTdGVwQ29uZmlnKHRoaXMkLklkKS5JZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBEZXRhaWxfX2dldF9Jc1BheVNldHVwU3RlcCh0aGlzJCkge1xuICAgIHJldHVybiBTdGVwTW9kdWxlX2lzUGF5U2V0dXBTdGVwKHRoaXMkLklkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBEZXRhaWxNb2R1bGVfJDAwN0NQZXJzb25hbERldGFpbHMkMDA3Q18kMDA3QyhzdGVwKSB7XG4gICAgaWYgKHN0ZXAuSWQudGFnID09PSAwKSB7XG4gICAgICAgIHJldHVybiBzdGVwO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwRGV0YWlsTW9kdWxlXyQwMDdDRW1lcmdlbmN5Q29udGFjdHMkMDA3Q18kMDA3QyhzdGVwKSB7XG4gICAgaWYgKHN0ZXAuSWQudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBzdGVwO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwRGV0YWlsTGlzdE1vZHVsZV90cnlGaW5kQWN0aXZlU3RlcChzdGVwcykge1xuICAgIHJldHVybiB0cnlGaW5kKChzKSA9PiBlcXVhbHMocy5TdGF0dXMsIG5ldyBTdGVwU3RhdHVzKDIpKSwgc3RlcHMpO1xufVxuXG5mdW5jdGlvbiBTdGVwRGV0YWlsTGlzdE1vZHVsZV9zZXRBY3RpdmVTdGVwKHN0ZXBzKSB7XG4gICAgY29uc3QgbG9vcCA9IChpbnB1dF9tdXQsIGFjY19tdXQpID0+IHtcbiAgICAgICAgbG9vcDpcbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gaW5wdXRfbXV0LCBhY2MgPSBhY2NfbXV0O1xuICAgICAgICAgICAgaWYgKCFpc0VtcHR5KGlucHV0KSkge1xuICAgICAgICAgICAgICAgIGlmIChlcXVhbHMoaGVhZChpbnB1dCkuU3RhdHVzLCBuZXcgU3RlcFN0YXR1cygyKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbmNhdChbYWNjLCBzaW5nbGV0b24oaGVhZChpbnB1dCkpLCB0YWlsXzUoaW5wdXQpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGVxdWFscyhoZWFkKGlucHV0KS5TdGF0dXMsIG5ldyBTdGVwU3RhdHVzKDEpKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29uY2F0KFthY2MsIHNpbmdsZXRvbihuZXcgU3RlcERldGFpbChoZWFkKGlucHV0KS5JZCwgbmV3IFN0ZXBTdGF0dXMoMikpKSwgdGFpbF81KGlucHV0KV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRfbXV0ID0gdGFpbF81KGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgYWNjX211dCA9IGFwcGVuZChhY2MsIHNpbmdsZXRvbihoZWFkKGlucHV0KSkpO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSBsb29wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIGxvb3Aoc3RlcHMsIGVtcHR5KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcERldGFpbExpc3RNb2R1bGVfb2ZQcm9jZXNzSW5zdGFuY2UocHJvY2Vzc0luc3RhbmNlLCBiZW5lZml0c09uYm9hcmRpbmdTdGF0ZSkge1xuICAgIGNvbnN0IGlzUGF5U2V0dXBDb21wbGV0ZSA9IGRlZmF1bHRBcmcocHJvY2Vzc0luc3RhbmNlLlBheVNldHVwQ29tcGxldGUsIGZhbHNlKTtcbiAgICBsZXQgaW5wdXRfNDtcbiAgICBjb25zdCBpbnB1dF8xID0gc2VxdWVuY2VSZXN1bHRNKG1hcChTdGVwTW9kdWxlX29mU3RlcENvbmZpZywgcHJvY2Vzc0luc3RhbmNlLkNvbmZpZ3VyYXRpb24uU3RlcHMpKTtcbiAgICBpbnB1dF80ID0gKChpbnB1dF8xLnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEuZmllbGRzWzBdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIFN0ZXBNb2R1bGVfTGlzdF9hZGRCZW5lZml0c1N0ZXBJZlZpc2libGUoYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUsIGlucHV0XzEuZmllbGRzWzBdKSkpKTtcbiAgICBpZiAoaW5wdXRfNC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF80LmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBpbnB1dF8yID0gc2VxdWVuY2VSZXN1bHRNKG1hcChTdGVwTW9kdWxlX29mU3RlcENvbmZpZywgUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2dldENvbXBsZXRlZFN0ZXBzKHByb2Nlc3NJbnN0YW5jZSkpKTtcbiAgICAgICAgaWYgKGlucHV0XzIudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzIuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgU3RlcERldGFpbExpc3RNb2R1bGVfc2V0QWN0aXZlU3RlcChtYXAoKHNfMSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgoaXNQYXlTZXR1cENvbXBsZXRlICYmIFN0ZXBEZXRhaWxfX2dldF9Jc1BheVNldHVwU3RlcChzXzEpKSAmJiBlcXVhbHMoc18xLlN0YXR1cywgbmV3IFN0ZXBTdGF0dXMoMCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU3RlcERldGFpbChzXzEuSWQsIG5ldyBTdGVwU3RhdHVzKDQpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzXzE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgbWFwKChzXzIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXhpc3RzKCh4XzEpID0+IGVxdWFscyh4XzEsIHNfMi5JZCksIGlucHV0XzIuZmllbGRzWzBdKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFN0ZXBEZXRhaWwoc18yLklkLCBuZXcgU3RlcFN0YXR1cygwKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc18yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIG1hcCgocykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcXVhbHMocy5JZCwgbmV3IFN0ZXAoNikpICYmICghaXNQYXlTZXR1cENvbXBsZXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFN0ZXBEZXRhaWwocy5JZCwgbmV3IFN0ZXBTdGF0dXMoMykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgbWFwKChzXzMpID0+IChuZXcgU3RlcERldGFpbChzXzMsIG5ldyBTdGVwU3RhdHVzKDEpKSksIGlucHV0XzQuZmllbGRzWzBdKSkpKSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dEZXRhaWwgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKEFwcE1vZGUsIEpvdXJuZXlUeXBlLCBCcmFuZGluZywgSXNCZW5lZml0c1N0ZXBFbmFibGVkLCBJc1BheVNldHVwQ29tcGF0aWJsZSwgSXNQYXlTZXR1cENvbXBsZXRlLCBTdGF0dXMsIFByb2Nlc3NJbnN0YW5jZUlkLCBJbnN0YW5jZU5hbWUsIFByb2Nlc3NDb25maWdJZCwgU3RlcHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5BcHBNb2RlID0gQXBwTW9kZTtcbiAgICAgICAgdGhpcy5Kb3VybmV5VHlwZSA9IEpvdXJuZXlUeXBlO1xuICAgICAgICB0aGlzLkJyYW5kaW5nID0gQnJhbmRpbmc7XG4gICAgICAgIHRoaXMuSXNCZW5lZml0c1N0ZXBFbmFibGVkID0gSXNCZW5lZml0c1N0ZXBFbmFibGVkO1xuICAgICAgICB0aGlzLklzUGF5U2V0dXBDb21wYXRpYmxlID0gSXNQYXlTZXR1cENvbXBhdGlibGU7XG4gICAgICAgIHRoaXMuSXNQYXlTZXR1cENvbXBsZXRlID0gSXNQYXlTZXR1cENvbXBsZXRlO1xuICAgICAgICB0aGlzLlN0YXR1cyA9IFN0YXR1cztcbiAgICAgICAgdGhpcy5Qcm9jZXNzSW5zdGFuY2VJZCA9IFByb2Nlc3NJbnN0YW5jZUlkO1xuICAgICAgICB0aGlzLkluc3RhbmNlTmFtZSA9IEluc3RhbmNlTmFtZTtcbiAgICAgICAgdGhpcy5Qcm9jZXNzQ29uZmlnSWQgPSBQcm9jZXNzQ29uZmlnSWQ7XG4gICAgICAgIHRoaXMuU3RlcHMgPSBTdGVwcztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXb3JrZmxvd0RldGFpbCRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiByZWNvcmRfdHlwZShcIldvcmtmbG93cy5VSS5Xb3JrZmxvd3MuVHlwZXMuV29ya2Zsb3dEZXRhaWxcIiwgW10sIFdvcmtmbG93RGV0YWlsLCAoKSA9PiBbW1wiQXBwTW9kZVwiLCBBcHBNb2RlJHJlZmxlY3Rpb24oKV0sIFtcIkpvdXJuZXlUeXBlXCIsIEpvdXJuZXlUeXBlJHJlZmxlY3Rpb24oKV0sIFtcIkJyYW5kaW5nXCIsIG9wdGlvbl90eXBlKEludml0ZUJyYW5kaW5nJHJlZmxlY3Rpb24oKSldLCBbXCJJc0JlbmVmaXRzU3RlcEVuYWJsZWRcIiwgYm9vbF90eXBlXSwgW1wiSXNQYXlTZXR1cENvbXBhdGlibGVcIiwgYm9vbF90eXBlXSwgW1wiSXNQYXlTZXR1cENvbXBsZXRlXCIsIGJvb2xfdHlwZV0sIFtcIlN0YXR1c1wiLCBQcm9jZXNzSW5zdGFuY2VTdGF0dXMkcmVmbGVjdGlvbigpXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSwgW1wiSW5zdGFuY2VOYW1lXCIsIHN0cmluZ190eXBlXSwgW1wiUHJvY2Vzc0NvbmZpZ0lkXCIsIFByb2Nlc3NDb25maWdJZCRyZWZsZWN0aW9uKCldLCBbXCJTdGVwc1wiLCBsaXN0X3R5cGUoU3RlcERldGFpbCRyZWZsZWN0aW9uKCkpXV0pO1xufVxuXG5mdW5jdGlvbiBXb3JrZmxvd0RldGFpbE1vZHVsZV9pc1BheVNldHVwQ29tcGxldGUoaW5zdGFuY2UpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gaW5zdGFuY2UuU3RhdHVzO1xuICAgIHN3aXRjaCAobWF0Y2hWYWx1ZS50YWcpIHtcbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAwOiB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdEFyZyhpbnN0YW5jZS5QYXlTZXR1cENvbXBsZXRlLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXb3JrZmxvd0RldGFpbE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZShhcHBNb2RlLCBjdHgpIHtcbiAgICBsZXQgaW5wdXQ7XG4gICAgY29uc3QgdHVwbGVkQXJnID0gW2N0eC5Qcm9jZXNzSW5zdGFuY2UsIEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlTW9kdWxlX2luaXQoY3R4LklzQmVuZWZpdHNFbmFibGVkKV07XG4gICAgaW5wdXQgPSBTdGVwRGV0YWlsTGlzdE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZSh0dXBsZWRBcmdbMF0sIHR1cGxlZEFyZ1sxXSk7XG4gICAgaWYgKGlucHV0LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0LmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBXb3JrZmxvd0RldGFpbChhcHBNb2RlLCBjdHguUHJvY2Vzc0luc3RhbmNlLkpvdXJuZXlUeXBlLCBjdHguQnJhbmRpbmcsIGN0eC5Jc0JlbmVmaXRzRW5hYmxlZCwgUHJvY2Vzc0NvbmZpZ19fZ2V0X0lzUGF5U2V0dXBDb21wYXRpYmxlKGN0eC5Qcm9jZXNzSW5zdGFuY2UuQ29uZmlndXJhdGlvbiksIFdvcmtmbG93RGV0YWlsTW9kdWxlX2lzUGF5U2V0dXBDb21wbGV0ZShjdHguUHJvY2Vzc0luc3RhbmNlKSwgY3R4LlByb2Nlc3NJbnN0YW5jZS5TdGF0dXMsIGN0eC5Qcm9jZXNzSW5zdGFuY2UuSWQsIGN0eC5Qcm9jZXNzSW5zdGFuY2UuQ29uZmlndXJhdGlvbi5OYW1lLCBjdHguUHJvY2Vzc0luc3RhbmNlLkNvbmZpZ3VyYXRpb24uSWQsIGlucHV0LmZpZWxkc1swXSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdvcmtmbG93RGV0YWlsTW9kdWxlX29mUHJvY2Vzc0luc3RhbmNlVXBkYXRlKGN1cnJlbnQsIGluc3RhbmNlKSB7XG4gICAgbGV0IGlucHV0O1xuICAgIGNvbnN0IHR1cGxlZEFyZyA9IFtpbnN0YW5jZSwgQmVuZWZpdHNPbmJvYXJkaW5nU3RhdGVNb2R1bGVfaW5pdChjdXJyZW50LklzQmVuZWZpdHNTdGVwRW5hYmxlZCldO1xuICAgIGlucHV0ID0gU3RlcERldGFpbExpc3RNb2R1bGVfb2ZQcm9jZXNzSW5zdGFuY2UodHVwbGVkQXJnWzBdLCB0dXBsZWRBcmdbMV0pO1xuICAgIGlmIChpbnB1dC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgV29ya2Zsb3dEZXRhaWwoY3VycmVudC5BcHBNb2RlLCBjdXJyZW50LkpvdXJuZXlUeXBlLCBjdXJyZW50LkJyYW5kaW5nLCBjdXJyZW50LklzQmVuZWZpdHNTdGVwRW5hYmxlZCwgY3VycmVudC5Jc1BheVNldHVwQ29tcGF0aWJsZSwgV29ya2Zsb3dEZXRhaWxNb2R1bGVfaXNQYXlTZXR1cENvbXBsZXRlKGluc3RhbmNlKSwgaW5zdGFuY2UuU3RhdHVzLCBjdXJyZW50LlByb2Nlc3NJbnN0YW5jZUlkLCBjdXJyZW50Lkluc3RhbmNlTmFtZSwgY3VycmVudC5Qcm9jZXNzQ29uZmlnSWQsIGlucHV0LmZpZWxkc1swXSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZpZXcgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkluaXRpYWxpc2luZ1wiLCBcIlN0ZXBMaXN0XCIsIFwiU3RlcFwiLCBcIlBheVNldHVwQ29tcGxldGVDb25maXJtYXRpb25cIiwgXCJPb3BzXCIsIFwiQWxsRG9uZVwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBWaWV3JHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuVUkuV29ya2Zsb3dzLlR5cGVzLlZpZXdcIiwgW10sIFZpZXcsICgpID0+IFtbXSwgW10sIFtbXCJJdGVtXCIsIFN0ZXBEZXRhaWwkcmVmbGVjdGlvbigpXV0sIFtdLCBbW1wiZXJyb3JNZXNzYWdlXCIsIHN0cmluZ190eXBlXV0sIFtdXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBNc2cgZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkFjdGl2YXRlQ2FsbGJhY2tcIiwgXCJDaGFuZ2VDdXJyZW50Vmlld1wiLCBcIkNsb3NlU3RlcExpc3RWaWV3XCIsIFwiU3RlcENvbXBsZXRpb25FdmVudENhbGxiYWNrXCIsIFwiQ29tcGxldGVTdGVwXCIsIFwiQ29uZmlybVBheVNldHVwQ29tcGxldGVcIiwgXCJSZXN1bWVQYXlTZXR1cFwiLCBcIkNvbXBsZXRlUGF5U2V0dXBcIiwgXCJQYXlTZXR1cENvbXBsZXRlZFwiLCBcIkNvbXBsZXRlV29ya2Zsb3dcIiwgXCJTaG93QWxsRG9uZUFuZE5vdGlmeUNvbXBsZXRlXCIsIFwiU2VuZEFuYWx5dGljc0V2ZW50XCIsIFwiQXBwZW5kVHJhaWxpbmdTbGFzaFRvVXJsXCIsIFwiQ29tcGxldGVCZW5lZml0c09uYm9hcmRpbmdTdGVwXCIsIFwiQ29tbWFuZFN1Y2Nlc3NcIiwgXCJDb21tYW5kRmFpbHVyZVwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNc2ckcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5VSS5Xb3JrZmxvd3MuVHlwZXMuTXNnXCIsIFtdLCBNc2csICgpID0+IFtbW1wiSXRlbVwiLCBEZWZlcnJlZCQxJHJlZmxlY3Rpb24odW5pb25fdHlwZShcIk1pY3Jvc29mdC5GU2hhcnAuQ29yZS5GU2hhcnBSZXN1bHRgMlwiLCBbQXBpRG9tYWluX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29udGV4dCRyZWZsZWN0aW9uKCksIHN0cmluZ190eXBlXSwgRlNoYXJwUmVzdWx0JDIsICgpID0+IFtbW1wiUmVzdWx0VmFsdWVcIiwgQXBpRG9tYWluX0JhY2tlbmRfUHJvY2Vzc0luc3RhbmNlQ29udGV4dCRyZWZsZWN0aW9uKCldXSwgW1tcIkVycm9yVmFsdWVcIiwgc3RyaW5nX3R5cGVdXV0pKV1dLCBbW1wiSXRlbVwiLCBWaWV3JHJlZmxlY3Rpb24oKV1dLCBbXSwgW1tcIkl0ZW1cIiwgY2xhc3NfdHlwZShcIkJyb3dzZXIuVHlwZXMuRXZlbnRcIildXSwgW1tcIkl0ZW0xXCIsIFByb2Nlc3NTdGVwSWQkcmVmbGVjdGlvbigpXSwgW1wiSXRlbTJcIiwgRGVmZXJyZWQkMSRyZWZsZWN0aW9uKHVuaW9uX3R5cGUoXCJNaWNyb3NvZnQuRlNoYXJwLkNvcmUuRlNoYXJwUmVzdWx0YDJcIiwgW1Byb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCksIHN0cmluZ190eXBlXSwgRlNoYXJwUmVzdWx0JDIsICgpID0+IFtbW1wiUmVzdWx0VmFsdWVcIiwgUHJvY2Vzc0luc3RhbmNlJHJlZmxlY3Rpb24oKV1dLCBbW1wiRXJyb3JWYWx1ZVwiLCBzdHJpbmdfdHlwZV1dXSkpXV0sIFtbXCJJdGVtXCIsIGFub25SZWNvcmRfdHlwZShbXCJCcmFuZGluZ1wiLCBvcHRpb25fdHlwZShJbnZpdGVCcmFuZGluZyRyZWZsZWN0aW9uKCkpXSwgW1wiSW5qZWN0ZWRCZW5lZml0c1wiLCBib29sX3R5cGVdKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSW5qZWN0ZWRCZW5lZml0c1wiLCBib29sX3R5cGVdKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiSW5qZWN0ZWRCZW5lZml0c1wiLCBib29sX3R5cGVdKV1dLCBbW1wiSXRlbVwiLCB1bmlvbl90eXBlKFwiTWljcm9zb2Z0LkZTaGFycC5Db3JlLkZTaGFycFJlc3VsdGAyXCIsIFtQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpLCBzdHJpbmdfdHlwZV0sIEZTaGFycFJlc3VsdCQyLCAoKSA9PiBbW1tcIlJlc3VsdFZhbHVlXCIsIFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCldXSwgW1tcIkVycm9yVmFsdWVcIiwgc3RyaW5nX3R5cGVdXV0pXV0sIFtbXCJJdGVtXCIsIERlZmVycmVkJDEkcmVmbGVjdGlvbih1bmlvbl90eXBlKFwiTWljcm9zb2Z0LkZTaGFycC5Db3JlLkZTaGFycFJlc3VsdGAyXCIsIFtQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpLCBzdHJpbmdfdHlwZV0sIEZTaGFycFJlc3VsdCQyLCAoKSA9PiBbW1tcIlJlc3VsdFZhbHVlXCIsIFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCldXSwgW1tcIkVycm9yVmFsdWVcIiwgc3RyaW5nX3R5cGVdXV0pKV1dLCBbW1wiSXRlbVwiLCBXb3JrZmxvd0RldGFpbCRyZWZsZWN0aW9uKCldXSwgW1tcIkl0ZW0xXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0sIFtcIkl0ZW0yXCIsIEFwaUR0b19CYWNrZW5kX1dyaXRlX1dvcmtmbG93QW5hbHl0aWNzRXZlbnREdG8kcmVmbGVjdGlvbigpXV0sIFtdLCBbXSwgW10sIFtbXCJJdGVtXCIsIGNsYXNzX3R5cGUoXCJTeXN0ZW0uRXhjZXB0aW9uXCIpXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFN0YXRlIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihQcm9maWxlSWQsIFByb2Nlc3NJbnN0YW5jZUlkLCBXb3JrZmxvd0RldGFpbCwgQ3VycmVudFZpZXcsIENzc092ZXJyaWRlcywgQmVuZWZpdHNPbmJvYXJkaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuUHJvZmlsZUlkID0gUHJvZmlsZUlkO1xuICAgICAgICB0aGlzLlByb2Nlc3NJbnN0YW5jZUlkID0gUHJvY2Vzc0luc3RhbmNlSWQ7XG4gICAgICAgIHRoaXMuV29ya2Zsb3dEZXRhaWwgPSBXb3JrZmxvd0RldGFpbDtcbiAgICAgICAgdGhpcy5DdXJyZW50VmlldyA9IEN1cnJlbnRWaWV3O1xuICAgICAgICB0aGlzLkNzc092ZXJyaWRlcyA9IENzc092ZXJyaWRlcztcbiAgICAgICAgdGhpcy5CZW5lZml0c09uYm9hcmRpbmcgPSBCZW5lZml0c09uYm9hcmRpbmc7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RhdGUkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuVUkuV29ya2Zsb3dzLlR5cGVzLlN0YXRlXCIsIFtdLCBTdGF0ZSwgKCkgPT4gW1tcIlByb2ZpbGVJZFwiLCBQcm9maWxlSWQkcmVmbGVjdGlvbigpXSwgW1wiUHJvY2Vzc0luc3RhbmNlSWRcIiwgUHJvY2Vzc0luc3RhbmNlSWQkcmVmbGVjdGlvbigpXSwgW1wiV29ya2Zsb3dEZXRhaWxcIiwgRGVmZXJyZWQkMSRyZWZsZWN0aW9uKHVuaW9uX3R5cGUoXCJNaWNyb3NvZnQuRlNoYXJwLkNvcmUuRlNoYXJwUmVzdWx0YDJcIiwgW1dvcmtmbG93RGV0YWlsJHJlZmxlY3Rpb24oKSwgc3RyaW5nX3R5cGVdLCBGU2hhcnBSZXN1bHQkMiwgKCkgPT4gW1tbXCJSZXN1bHRWYWx1ZVwiLCBXb3JrZmxvd0RldGFpbCRyZWZsZWN0aW9uKCldXSwgW1tcIkVycm9yVmFsdWVcIiwgc3RyaW5nX3R5cGVdXV0pKV0sIFtcIkN1cnJlbnRWaWV3XCIsIFZpZXckcmVmbGVjdGlvbigpXSwgW1wiQ3NzT3ZlcnJpZGVzXCIsIGxpc3RfdHlwZShzdHJpbmdfdHlwZSldLCBbXCJCZW5lZml0c09uYm9hcmRpbmdcIiwgQmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUkcmVmbGVjdGlvbigpXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSm91cm5leVR5cGVfdG9EaXNwbGF5U3RyKGpvdXJuZXlUeXBlKSB7XG4gICAgc3dpdGNoIChqb3VybmV5VHlwZS50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gXCJJbmZvcm1hdGlvbiByZXF1ZXN0XCI7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gXCJXb3JrZmxvd1wiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIFwiQmVuZWZpdHMgT25ib2FyZGluZ1wiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgcmV0dXJuIFwiQmVuZWZpdHMgT25ib2FyZGluZ1wiO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBcIk9uYm9hcmRpbmdcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uICQwMDdDSXNNb2JpbGUkMDA3Q18kMDA3QyhjbGllbnRXaWR0aCkge1xuICAgIGlmIChjbGllbnRXaWR0aCA8IDY0MCkge1xuICAgICAgICByZXR1cm4gc29tZSh2b2lkIDApO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICB9XG59XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/Workflows/Types.fs.js\n");
|
|
3075
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $007CIsMobile$007C_$007C: () => (/* binding */ $007CIsMobile$007C_$007C),\n/* harmony export */ BenefitsOnboardingState: () => (/* binding */ BenefitsOnboardingState),\n/* harmony export */ BenefitsOnboardingState$reflection: () => (/* binding */ BenefitsOnboardingState$reflection),\n/* harmony export */ BenefitsOnboardingStateModule_init: () => (/* binding */ BenefitsOnboardingStateModule_init),\n/* harmony export */ JourneyType_toDisplayStr: () => (/* binding */ JourneyType_toDisplayStr),\n/* harmony export */ Msg: () => (/* binding */ Msg),\n/* harmony export */ Msg$reflection: () => (/* binding */ Msg$reflection),\n/* harmony export */ State: () => (/* binding */ State),\n/* harmony export */ State$reflection: () => (/* binding */ State$reflection),\n/* harmony export */ Step: () => (/* binding */ Step),\n/* harmony export */ Step$reflection: () => (/* binding */ Step$reflection),\n/* harmony export */ StepDetail: () => (/* binding */ StepDetail),\n/* harmony export */ StepDetail$reflection: () => (/* binding */ StepDetail$reflection),\n/* harmony export */ StepDetailListModule_ofProcessInstance: () => (/* binding */ StepDetailListModule_ofProcessInstance),\n/* harmony export */ StepDetailListModule_tryFindActiveStep: () => (/* binding */ StepDetailListModule_tryFindActiveStep),\n/* harmony export */ StepDetailModule_$007CEmergencyContacts$007C_$007C: () => (/* binding */ StepDetailModule_$007CEmergencyContacts$007C_$007C),\n/* harmony export */ StepDetailModule_$007CPersonalDetails$007C_$007C: () => (/* binding */ StepDetailModule_$007CPersonalDetails$007C_$007C),\n/* harmony export */ StepDetail__get_ComponentTagName: () => (/* binding */ StepDetail__get_ComponentTagName),\n/* harmony export */ StepDetail__get_DisplayName: () => (/* binding */ StepDetail__get_DisplayName),\n/* harmony export */ StepDetail__get_IsPaySetupStep: () => (/* binding */ StepDetail__get_IsPaySetupStep),\n/* harmony export */ StepDetail__get_ProcessStepId: () => (/* binding */ StepDetail__get_ProcessStepId),\n/* harmony export */ StepDetail__get_ShortDisplayName: () => (/* binding */ StepDetail__get_ShortDisplayName),\n/* harmony export */ StepModule_List_addBenefitsStepIfComplete: () => (/* binding */ StepModule_List_addBenefitsStepIfComplete),\n/* harmony export */ StepModule_List_addBenefitsStepIfVisible: () => (/* binding */ StepModule_List_addBenefitsStepIfVisible),\n/* harmony export */ StepModule_List_ofProcessInstance: () => (/* binding */ StepModule_List_ofProcessInstance),\n/* harmony export */ StepModule_List_stepCount: () => (/* binding */ StepModule_List_stepCount),\n/* harmony export */ StepModule_getCompletedSteps: () => (/* binding */ StepModule_getCompletedSteps),\n/* harmony export */ StepModule_getName: () => (/* binding */ StepModule_getName),\n/* harmony export */ StepModule_getShortName: () => (/* binding */ StepModule_getShortName),\n/* harmony export */ StepModule_isPaySetupStep: () => (/* binding */ StepModule_isPaySetupStep),\n/* harmony export */ StepModule_ofStepConfig: () => (/* binding */ StepModule_ofStepConfig),\n/* harmony export */ StepModule_stepConfig: () => (/* binding */ StepModule_stepConfig),\n/* harmony export */ StepModule_toProcessStepConfig: () => (/* binding */ StepModule_toProcessStepConfig),\n/* harmony export */ StepStatus: () => (/* binding */ StepStatus),\n/* harmony export */ StepStatus$reflection: () => (/* binding */ StepStatus$reflection),\n/* harmony export */ View: () => (/* binding */ View),\n/* harmony export */ View$reflection: () => (/* binding */ View$reflection),\n/* harmony export */ WorkflowDetail: () => (/* binding */ WorkflowDetail),\n/* harmony export */ WorkflowDetail$reflection: () => (/* binding */ WorkflowDetail$reflection),\n/* harmony export */ WorkflowDetailModule_ofProcessInstance: () => (/* binding */ WorkflowDetailModule_ofProcessInstance),\n/* harmony export */ WorkflowDetailModule_ofProcessInstanceUpdate: () => (/* binding */ WorkflowDetailModule_ofProcessInstanceUpdate)\n/* harmony export */ });\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Domain.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.4.17.0/List.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.4.17.0/List.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n/* harmony import */ var _Config_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Config.fs.js */ \"./src/Config.fs.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/Common.fs.js */ \"../Workflows.Business/Aggregates/Common.fs.js\");\n/* harmony import */ var _Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js */ \"../Workflows.Business/Aggregates/ProcessInstanceList/Api.fs.js\");\n/* harmony import */ var _tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../tests/Workflows.UI.Tests/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Feliz.UseDeferred.1.5.0/UseDeferred.fs.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Step extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"PersonalDetails\", \"EmergencyContacts\", \"Bank\", \"Tax\", \"Super\", \"WorkplaceLinking\", \"BenefitsOnboarding\", \"WorkplacePolicies\", \"DiscreteBenefits\"];\n }\n}\n\nfunction Step$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.Step\", [], Step, () => [[], [], [], [], [], [], [], [], []]);\n}\n\nclass BenefitsOnboardingState extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Hidden\", \"Incomplete\", \"Complete\"];\n }\n}\n\nfunction BenefitsOnboardingState$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.BenefitsOnboardingState\", [], BenefitsOnboardingState, () => [[], [], []]);\n}\n\nfunction BenefitsOnboardingStateModule_init(_arg) {\n if (_arg) {\n return new BenefitsOnboardingState(1);\n }\n else {\n return new BenefitsOnboardingState(0);\n }\n}\n\nclass StepStatus extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Completed\", \"Disabled\", \"Active\", \"Locked\", \"CompletedAndDisabled\"];\n }\n}\n\nfunction StepStatus$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.StepStatus\", [], StepStatus, () => [[], [], [], [], []]);\n}\n\nfunction StepModule_ofStepConfig(stepConfig) {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_PersonalDetailsStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(0));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_EmergencyContactsStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(1));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BankStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(2));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_TaxStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(3));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_SuperStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(4));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(5));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplacePoliciesStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(7));\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(stepConfig, _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep)) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new Step(8));\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, \"Invalid step\");\n }\n}\n\nfunction StepModule_stepConfig(step) {\n switch (step.tag) {\n case 1: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_EmergencyContactsStep;\n }\n case 2: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BankStep;\n }\n case 3: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_TaxStep;\n }\n case 4: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_SuperStep;\n }\n case 5: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep;\n }\n case 6: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BenefitsOnboardingStep;\n }\n case 7: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplacePoliciesStep;\n }\n case 8: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep;\n }\n default: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_PersonalDetailsStep;\n }\n }\n}\n\nfunction StepModule_getName(_arg) {\n switch (_arg.tag) {\n case 1: {\n return \"Emergency contacts\";\n }\n case 2: {\n return \"Bank details\";\n }\n case 3: {\n return \"Tax declaration\";\n }\n case 4: {\n return \"Super nomination\";\n }\n case 5: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep.DisplayName;\n }\n case 6: {\n return \"Workplace benefits\";\n }\n case 7: {\n return \"Fair Work\";\n }\n case 8: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep.DisplayName;\n }\n default: {\n return \"Employee profile\";\n }\n }\n}\n\nfunction StepModule_getShortName(_arg) {\n switch (_arg.tag) {\n case 1: {\n return \"Contacts\";\n }\n case 2: {\n return \"Bank\";\n }\n case 3: {\n return \"Tax\";\n }\n case 4: {\n return \"Super\";\n }\n case 5: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep.DisplayName;\n }\n case 6: {\n return \"Benefits\";\n }\n case 7: {\n return \"Fair Work\";\n }\n case 8: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep.DisplayName;\n }\n default: {\n return \"Profile\";\n }\n }\n}\n\nfunction StepModule_toProcessStepConfig(_arg) {\n switch (_arg.tag) {\n case 1: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_EmergencyContactsStep;\n }\n case 2: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BankStep;\n }\n case 3: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_TaxStep;\n }\n case 4: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_SuperStep;\n }\n case 5: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplaceLinkingStep;\n }\n case 6: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_BenefitsOnboardingStep;\n }\n case 7: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_WorkplacePoliciesStep;\n }\n case 8: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_DiscreteBenefitsStep;\n }\n default: {\n return _Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepConfigModule_PersonalDetailsStep;\n }\n }\n}\n\nfunction StepModule_isPaySetupStep(_arg) {\n switch (_arg.tag) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 7: {\n return true;\n }\n case 5:\n case 6:\n case 8: {\n return false;\n }\n default: {\n return true;\n }\n }\n}\n\nfunction StepModule_List_addBenefitsStepIfVisible(state, steps) {\n if (state.tag === 0) {\n return steps;\n }\n else {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.append)(steps, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)(new Step(6)));\n }\n}\n\nfunction StepModule_List_addBenefitsStepIfComplete(state, steps) {\n if (state.tag === 2) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.append)(steps, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)(new Step(6)));\n }\n else {\n return steps;\n }\n}\n\nfunction StepModule_List_ofProcessInstance(processInstance, benefitsOnboardingState) {\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(StepModule_ofStepConfig, processInstance.Configuration.Steps));\n if (input_1.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_1.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, StepModule_List_addBenefitsStepIfVisible(benefitsOnboardingState, input_1.fields[0]));\n }\n}\n\nfunction StepModule_List_stepCount(processInstance, benefitsOnboardingState) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.length)(processInstance.Configuration.Steps) + ((benefitsOnboardingState.tag === 0) ? 0 : 1);\n}\n\nfunction StepModule_getCompletedSteps(processInstance, benefitsOnboardingState) {\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(StepModule_ofStepConfig, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceModule_getCompletedSteps)(processInstance)));\n if (input_1.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_1.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, StepModule_List_addBenefitsStepIfComplete(benefitsOnboardingState, input_1.fields[0]));\n }\n}\n\nclass StepDetail extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Record {\n constructor(Id, Status) {\n super();\n this.Id = Id;\n this.Status = Status;\n }\n}\n\nfunction StepDetail$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.record_type)(\"Workflows.UI.Workflows.Types.StepDetail\", [], StepDetail, () => [[\"Id\", Step$reflection()], [\"Status\", StepStatus$reflection()]]);\n}\n\nfunction StepDetail__get_DisplayName(this$) {\n return StepModule_getName(this$.Id);\n}\n\nfunction StepDetail__get_ShortDisplayName(this$) {\n return StepModule_getShortName(this$.Id);\n}\n\nfunction StepDetail__get_ComponentTagName(this$) {\n return StepModule_toProcessStepConfig(this$.Id).ComponentTagName;\n}\n\nfunction StepDetail__get_ProcessStepId(this$) {\n return StepModule_toProcessStepConfig(this$.Id).Id;\n}\n\nfunction StepDetail__get_IsPaySetupStep(this$) {\n return StepModule_isPaySetupStep(this$.Id);\n}\n\nfunction StepDetailModule_$007CPersonalDetails$007C_$007C(step) {\n if (step.Id.tag === 0) {\n return step;\n }\n else {\n return void 0;\n }\n}\n\nfunction StepDetailModule_$007CEmergencyContacts$007C_$007C(step) {\n if (step.Id.tag === 1) {\n return step;\n }\n else {\n return void 0;\n }\n}\n\nfunction StepDetailListModule_tryFindActiveStep(steps) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.tryFind)((s) => (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(s.Status, new StepStatus(2)), steps);\n}\n\nfunction StepDetailListModule_setActiveStep(steps) {\n const loop = (input_mut, acc_mut) => {\n loop:\n while (true) {\n const input = input_mut, acc = acc_mut;\n if (!(0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.isEmpty)(input)) {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input).Status, new StepStatus(2))) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.concat)([acc, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input)), (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.tail)(input)]);\n }\n else if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input).Status, new StepStatus(1))) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.concat)([acc, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)(new StepDetail((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input).Id, new StepStatus(2))), (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.tail)(input)]);\n }\n else {\n input_mut = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.tail)(input);\n acc_mut = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.append)(acc, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.singleton)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.head)(input)));\n continue loop;\n }\n }\n else {\n return acc;\n }\n break;\n }\n };\n return loop(steps, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.empty)());\n}\n\nfunction StepDetailListModule_ofProcessInstance(processInstance, benefitsOnboardingState) {\n const isPaySetupComplete = (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_11__.defaultArg)(processInstance.PaySetupComplete, false);\n let input_4;\n const input_1 = (0,_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(StepModule_ofStepConfig, processInstance.Configuration.Steps));\n input_4 = ((input_1.tag === 1) ? (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_1.fields[0])) : (new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, StepModule_List_addBenefitsStepIfVisible(benefitsOnboardingState, input_1.fields[0]))));\n if (input_4.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_4.fields[0]);\n }\n else {\n const input_2 = (0,_tests_Workflows_UI_Tests_fable_modules_FsToolkit_ErrorHandling_4_17_0_List_fs_js__WEBPACK_IMPORTED_MODULE_1__.sequenceResultM)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)(StepModule_ofStepConfig, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceModule_getCompletedSteps)(processInstance)));\n if (input_2.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input_2.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, StepDetailListModule_setActiveStep((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((s_1) => {\n if ((isPaySetupComplete && StepDetail__get_IsPaySetupStep(s_1)) && (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(s_1.Status, new StepStatus(0))) {\n return new StepDetail(s_1.Id, new StepStatus(4));\n }\n else {\n return s_1;\n }\n }, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((s_2) => {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.exists)((x_1) => (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(x_1, s_2.Id), input_2.fields[0])) {\n return new StepDetail(s_2.Id, new StepStatus(0));\n }\n else {\n return s_2;\n }\n }, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((s) => {\n if ((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_8__.equals)(s.Id, new Step(6)) && (!isPaySetupComplete)) {\n return new StepDetail(s.Id, new StepStatus(3));\n }\n else {\n return s;\n }\n }, (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_10__.map)((s_3) => (new StepDetail(s_3, new StepStatus(1))), input_4.fields[0]))))));\n }\n }\n}\n\nclass WorkflowDetail extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Record {\n constructor(AppMode, JourneyType, Branding, IsBenefitsStepEnabled, IsPaySetupCompatible, IsPaySetupComplete, Status, ProcessInstanceId, InstanceName, ProcessConfigId, Steps) {\n super();\n this.AppMode = AppMode;\n this.JourneyType = JourneyType;\n this.Branding = Branding;\n this.IsBenefitsStepEnabled = IsBenefitsStepEnabled;\n this.IsPaySetupCompatible = IsPaySetupCompatible;\n this.IsPaySetupComplete = IsPaySetupComplete;\n this.Status = Status;\n this.ProcessInstanceId = ProcessInstanceId;\n this.InstanceName = InstanceName;\n this.ProcessConfigId = ProcessConfigId;\n this.Steps = Steps;\n }\n}\n\nfunction WorkflowDetail$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.record_type)(\"Workflows.UI.Workflows.Types.WorkflowDetail\", [], WorkflowDetail, () => [[\"AppMode\", (0,_Config_fs_js__WEBPACK_IMPORTED_MODULE_2__.AppMode$reflection)()], [\"JourneyType\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.JourneyType$reflection)()], [\"Branding\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.option_type)((0,_Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteBranding$reflection)())], [\"IsBenefitsStepEnabled\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type], [\"IsPaySetupCompatible\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type], [\"IsPaySetupComplete\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type], [\"Status\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceStatus$reflection)()], [\"ProcessInstanceId\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceId$reflection)()], [\"InstanceName\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], [\"ProcessConfigId\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfigId$reflection)()], [\"Steps\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.list_type)(StepDetail$reflection())]]);\n}\n\nfunction WorkflowDetailModule_isPaySetupComplete(instance) {\n const matchValue = instance.Status;\n switch (matchValue.tag) {\n case 3: {\n return false;\n }\n case 0: {\n return false;\n }\n case 1: {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_11__.defaultArg)(instance.PaySetupComplete, false);\n }\n default: {\n return true;\n }\n }\n}\n\nfunction WorkflowDetailModule_ofProcessInstance(appMode, ctx) {\n let input;\n const tupledArg = [ctx.ProcessInstance, BenefitsOnboardingStateModule_init(ctx.IsBenefitsEnabled)];\n input = StepDetailListModule_ofProcessInstance(tupledArg[0], tupledArg[1]);\n if (input.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new WorkflowDetail(appMode, ctx.ProcessInstance.JourneyType, ctx.Branding, ctx.IsBenefitsEnabled, (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessConfig__get_IsPaySetupCompatible)(ctx.ProcessInstance.Configuration), WorkflowDetailModule_isPaySetupComplete(ctx.ProcessInstance), ctx.ProcessInstance.Status, ctx.ProcessInstance.Id, ctx.ProcessInstance.Configuration.Name, ctx.ProcessInstance.Configuration.Id, input.fields[0]));\n }\n}\n\nfunction WorkflowDetailModule_ofProcessInstanceUpdate(current, instance) {\n let input;\n const tupledArg = [instance, BenefitsOnboardingStateModule_init(current.IsBenefitsStepEnabled)];\n input = StepDetailListModule_ofProcessInstance(tupledArg[0], tupledArg[1]);\n if (input.tag === 1) {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(1, input.fields[0]);\n }\n else {\n return new _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2(0, new WorkflowDetail(current.AppMode, current.JourneyType, current.Branding, current.IsBenefitsStepEnabled, current.IsPaySetupCompatible, WorkflowDetailModule_isPaySetupComplete(instance), instance.Status, current.ProcessInstanceId, current.InstanceName, current.ProcessConfigId, input.fields[0]));\n }\n}\n\nclass View extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"Initialising\", \"StepList\", \"Step\", \"PaySetupCompleteConfirmation\", \"Oops\", \"AllDone\"];\n }\n}\n\nfunction View$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.View\", [], View, () => [[], [], [[\"Item\", StepDetail$reflection()]], [], [[\"errorMessage\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]], []]);\n}\n\nclass Msg extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"ActivateCallback\", \"ChangeCurrentView\", \"CloseStepListView\", \"StepCompletionEventCallback\", \"CompleteStep\", \"ConfirmPaySetupComplete\", \"ResumePaySetup\", \"CompletePaySetup\", \"PaySetupCompleted\", \"CompleteWorkflow\", \"ShowAllDoneAndNotifyComplete\", \"SendAnalyticsEvent\", \"AppendTrailingSlashToUrl\", \"CompleteBenefitsOnboardingStep\", \"CommandSuccess\", \"CommandFailure\"];\n }\n}\n\nfunction Msg$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Workflows.UI.Workflows.Types.Msg\", [], Msg, () => [[[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__.Deferred$1$reflection)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [(0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_4__.ApiDomain_Backend_ProcessInstanceContext$reflection)(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_4__.ApiDomain_Backend_ProcessInstanceContext$reflection)()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]]))]], [[\"Item\", View$reflection()]], [], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.class_type)(\"Browser.Types.Event\")]], [[\"Item1\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessStepId$reflection)()], [\"Item2\", (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__.Deferred$1$reflection)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [(0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]]))]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.anonRecord_type)([\"Branding\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.option_type)((0,_Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_3__.InviteBranding$reflection)())], [\"InjectedBenefits\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type])]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.anonRecord_type)([\"InjectedBenefits\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type])]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.anonRecord_type)([\"InjectedBenefits\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.bool_type])]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [(0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]])]], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__.Deferred$1$reflection)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [(0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstance$reflection)()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]]))]], [[\"Item\", WorkflowDetail$reflection()]], [[\"Item1\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceId$reflection)()], [\"Item2\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Api_fs_js__WEBPACK_IMPORTED_MODULE_4__.ApiDto_Backend_Write_WorkflowAnalyticsEventDto$reflection)()]], [], [], [], [[\"Item\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.class_type)(\"System.Exception\")]]]);\n}\n\nclass State extends _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_6__.Record {\n constructor(ProfileId, ProcessInstanceId, WorkflowDetail, CurrentView, CssOverrides, BenefitsOnboarding) {\n super();\n this.ProfileId = ProfileId;\n this.ProcessInstanceId = ProcessInstanceId;\n this.WorkflowDetail = WorkflowDetail;\n this.CurrentView = CurrentView;\n this.CssOverrides = CssOverrides;\n this.BenefitsOnboarding = BenefitsOnboarding;\n }\n}\n\nfunction State$reflection() {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.record_type)(\"Workflows.UI.Workflows.Types.State\", [], State, () => [[\"ProfileId\", (0,_Workflows_Business_Aggregates_Common_fs_js__WEBPACK_IMPORTED_MODULE_3__.ProfileId$reflection)()], [\"ProcessInstanceId\", (0,_Workflows_Business_Aggregates_ProcessInstanceList_Domain_fs_js__WEBPACK_IMPORTED_MODULE_0__.ProcessInstanceId$reflection)()], [\"WorkflowDetail\", (0,_tests_Workflows_UI_Tests_fable_modules_Feliz_UseDeferred_1_5_0_UseDeferred_fs_js__WEBPACK_IMPORTED_MODULE_5__.Deferred$1$reflection)((0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [WorkflowDetail$reflection(), _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type], _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_9__.FSharpResult$2, () => [[[\"ResultValue\", WorkflowDetail$reflection()]], [[\"ErrorValue\", _tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type]]]))], [\"CurrentView\", View$reflection()], [\"CssOverrides\", (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.list_type)(_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_7__.string_type)], [\"BenefitsOnboarding\", BenefitsOnboardingState$reflection()]]);\n}\n\nfunction JourneyType_toDisplayStr(journeyType) {\n switch (journeyType.tag) {\n case 1: {\n return \"Information request\";\n }\n case 2: {\n return \"Workflow\";\n }\n case 3: {\n return \"Benefits Onboarding\";\n }\n case 4: {\n return \"Benefits Onboarding\";\n }\n default: {\n return \"Onboarding\";\n }\n }\n}\n\nfunction $007CIsMobile$007C_$007C(clientWidth) {\n if (clientWidth < 640) {\n return (0,_tests_Workflows_UI_Tests_fable_modules_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_11__.some)(void 0);\n }\n else {\n return void 0;\n }\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QiwySEFBZSxzQkFBc0IsaUhBQVMsZ0JBQWdCLDJIQUFlLHNCQUFzQixpSEFBUyxnQkFBZ0Isc0hBQVUsMENBQTBDLDJIQUEwQixJQUFJLG1IQUFXLEdBQUcsa0hBQWMsMEJBQTBCLDJIQUEwQixzQkFBc0IsbUhBQVcsa0JBQWtCLHdJQUFxQixDQUFDLHNIQUFVLDBDQUEwQywySEFBMEIsSUFBSSxtSEFBVyxHQUFHLGtIQUFjLDBCQUEwQiwySEFBMEIsc0JBQXNCLG1IQUFXLDZEQUE2RCw2SEFBNEIsZUFBZSx1SkFBeUQsNEJBQTRCLHNIQUFVO0FBQy9qRDs7QUFFTyxvQkFBb0IseUdBQU07QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLHVIQUFXLHVFQUF1RSxpR0FBb0IsMkJBQTJCLDZIQUE0Qix3QkFBd0Isd0lBQXFCLENBQUMsc0hBQVUsdUVBQXVFLG1IQUFXLEdBQUcsa0hBQWMseUVBQXlFLG1IQUFXLDZEQUE2RCxxSEFBUyxDQUFDLG1IQUFXO0FBQ3plOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQSxlQUFlLDZHQUFJO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AZmxhcmVoci93b3JrZmxvd3MtYXBwLy4vc3JjL1dvcmtmbG93cy9UeXBlcy5mcy5qcz9mN2Q4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY29yZCwgVW5pb24gfSBmcm9tIFwiLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvVHlwZXMuanNcIjtcbmltcG9ydCB7IGFub25SZWNvcmRfdHlwZSwgY2xhc3NfdHlwZSwgbGlzdF90eXBlLCBzdHJpbmdfdHlwZSwgYm9vbF90eXBlLCBvcHRpb25fdHlwZSwgcmVjb3JkX3R5cGUsIHVuaW9uX3R5cGUgfSBmcm9tIFwiLi4vLi4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvZmFibGUtbGlicmFyeS4zLjcuMjAvUmVmbGVjdGlvbi5qc1wiO1xuaW1wb3J0IHsgZXF1YWxzIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1V0aWwuanNcIjtcbmltcG9ydCB7IFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24sIFByb2Nlc3NDb25maWdfX2dldF9Jc1BheVNldHVwQ29tcGF0aWJsZSwgUHJvY2Vzc0NvbmZpZ0lkJHJlZmxlY3Rpb24sIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24sIFByb2Nlc3NJbnN0YW5jZVN0YXR1cyRyZWZsZWN0aW9uLCBKb3VybmV5VHlwZSRyZWZsZWN0aW9uLCBQcm9jZXNzSW5zdGFuY2VNb2R1bGVfZ2V0Q29tcGxldGVkU3RlcHMsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JlbmVmaXRzT25ib2FyZGluZ1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VQb2xpY2llc1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1dvcmtwbGFjZUxpbmtpbmdTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9TdXBlclN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JhbmtTdGVwLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXAsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXAgfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9Eb21haW4uZnMuanNcIjtcbmltcG9ydCB7IEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgZXhpc3RzLCBlbXB0eSwgdGFpbCBhcyB0YWlsXzUsIGNvbmNhdCwgaGVhZCwgaXNFbXB0eSwgdHJ5RmluZCwgbGVuZ3RoLCBtYXAsIHNpbmdsZXRvbiwgYXBwZW5kIH0gZnJvbSBcIi4uLy4uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0xpc3QuanNcIjtcbmltcG9ydCB7IHNlcXVlbmNlUmVzdWx0TSB9IGZyb20gXCIuLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9Gc1Rvb2xraXQuRXJyb3JIYW5kbGluZy40LjE3LjAvTGlzdC5mcy5qc1wiO1xuaW1wb3J0IHsgc29tZSwgZGVmYXVsdEFyZyB9IGZyb20gXCIuLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9mYWJsZS1saWJyYXJ5LjMuNy4yMC9PcHRpb24uanNcIjtcbmltcG9ydCB7IEFwcE1vZGUkcmVmbGVjdGlvbiB9IGZyb20gXCIuLi9Db25maWcuZnMuanNcIjtcbmltcG9ydCB7IFByb2ZpbGVJZCRyZWZsZWN0aW9uLCBJbnZpdGVCcmFuZGluZyRyZWZsZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL1dvcmtmbG93cy5CdXNpbmVzcy9BZ2dyZWdhdGVzL0NvbW1vbi5mcy5qc1wiO1xuaW1wb3J0IHsgQXBpRHRvX0JhY2tlbmRfV3JpdGVfV29ya2Zsb3dBbmFseXRpY3NFdmVudER0byRyZWZsZWN0aW9uLCBBcGlEb21haW5fQmFja2VuZF9Qcm9jZXNzSW5zdGFuY2VDb250ZXh0JHJlZmxlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vV29ya2Zsb3dzLkJ1c2luZXNzL0FnZ3JlZ2F0ZXMvUHJvY2Vzc0luc3RhbmNlTGlzdC9BcGkuZnMuanNcIjtcbmltcG9ydCB7IERlZmVycmVkJDEkcmVmbGVjdGlvbiB9IGZyb20gXCIuLi8uLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9GZWxpei5Vc2VEZWZlcnJlZC4xLjUuMC9Vc2VEZWZlcnJlZC5mcy5qc1wiO1xuXG5leHBvcnQgY2xhc3MgU3RlcCBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiUGVyc29uYWxEZXRhaWxzXCIsIFwiRW1lcmdlbmN5Q29udGFjdHNcIiwgXCJCYW5rXCIsIFwiVGF4XCIsIFwiU3VwZXJcIiwgXCJXb3JrcGxhY2VMaW5raW5nXCIsIFwiQmVuZWZpdHNPbmJvYXJkaW5nXCIsIFwiV29ya3BsYWNlUG9saWNpZXNcIiwgXCJEaXNjcmV0ZUJlbmVmaXRzXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXAkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5VSS5Xb3JrZmxvd3MuVHlwZXMuU3RlcFwiLCBbXSwgU3RlcCwgKCkgPT4gW1tdLCBbXSwgW10sIFtdLCBbXSwgW10sIFtdLCBbXSwgW11dKTtcbn1cblxuZXhwb3J0IGNsYXNzIEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJIaWRkZW5cIiwgXCJJbmNvbXBsZXRlXCIsIFwiQ29tcGxldGVcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIldvcmtmbG93cy5VSS5Xb3JrZmxvd3MuVHlwZXMuQmVuZWZpdHNPbmJvYXJkaW5nU3RhdGVcIiwgW10sIEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlLCAoKSA9PiBbW10sIFtdLCBbXV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQmVuZWZpdHNPbmJvYXJkaW5nU3RhdGVNb2R1bGVfaW5pdChfYXJnKSB7XG4gICAgaWYgKF9hcmcpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZSgxKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgQmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUoMCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RlcFN0YXR1cyBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiQ29tcGxldGVkXCIsIFwiRGlzYWJsZWRcIiwgXCJBY3RpdmVcIiwgXCJMb2NrZWRcIiwgXCJDb21wbGV0ZWRBbmREaXNhYmxlZFwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwU3RhdHVzJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuVUkuV29ya2Zsb3dzLlR5cGVzLlN0ZXBTdGF0dXNcIiwgW10sIFN0ZXBTdGF0dXMsICgpID0+IFtbXSwgW10sIFtdLCBbXSwgW11dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBNb2R1bGVfb2ZTdGVwQ29uZmlnKHN0ZXBDb25maWcpIHtcbiAgICBpZiAoZXF1YWxzKHN0ZXBDb25maWcsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXApKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFN0ZXAoMCkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChlcXVhbHMoc3RlcENvbmZpZywgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfRW1lcmdlbmN5Q29udGFjdHNTdGVwKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBTdGVwKDEpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZXF1YWxzKHN0ZXBDb25maWcsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JhbmtTdGVwKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBTdGVwKDIpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZXF1YWxzKHN0ZXBDb25maWcsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXApKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFN0ZXAoMykpO1xuICAgIH1cbiAgICBlbHNlIGlmIChlcXVhbHMoc3RlcENvbmZpZywgUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBTdGVwKDQpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZXF1YWxzKHN0ZXBDb25maWcsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1dvcmtwbGFjZUxpbmtpbmdTdGVwKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBTdGVwKDUpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoZXF1YWxzKHN0ZXBDb25maWcsIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1dvcmtwbGFjZVBvbGljaWVzU3RlcCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgU3RlcCg3KSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGVxdWFscyhzdGVwQ29uZmlnLCBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9EaXNjcmV0ZUJlbmVmaXRzU3RlcCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgU3RlcCg4KSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFwiSW52YWxpZCBzdGVwXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBNb2R1bGVfc3RlcENvbmZpZyhzdGVwKSB7XG4gICAgc3dpdGNoIChzdGVwLnRhZykge1xuICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9FbWVyZ2VuY3lDb250YWN0c1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmFua1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfVGF4U3RlcDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9TdXBlclN0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlTGlua2luZ1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfQmVuZWZpdHNPbmJvYXJkaW5nU3RlcDtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VQb2xpY2llc1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA4OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfRGlzY3JldGVCZW5lZml0c1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1BlcnNvbmFsRGV0YWlsc1N0ZXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwTW9kdWxlX2dldE5hbWUoX2FyZykge1xuICAgIHN3aXRjaCAoX2FyZy50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gXCJFbWVyZ2VuY3kgY29udGFjdHNcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkJhbmsgZGV0YWlsc1wiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIFwiVGF4IGRlY2xhcmF0aW9uXCI7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICByZXR1cm4gXCJTdXBlciBub21pbmF0aW9uXCI7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA1OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlTGlua2luZ1N0ZXAuRGlzcGxheU5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA2OiB7XG4gICAgICAgICAgICByZXR1cm4gXCJXb3JrcGxhY2UgYmVuZWZpdHNcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkZhaXIgV29ya1wiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgODoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwLkRpc3BsYXlOYW1lO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkVtcGxveWVlIHByb2ZpbGVcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBNb2R1bGVfZ2V0U2hvcnROYW1lKF9hcmcpIHtcbiAgICBzd2l0Y2ggKF9hcmcudGFnKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgcmV0dXJuIFwiQ29udGFjdHNcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkJhbmtcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiBcIlRheFwiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNDoge1xuICAgICAgICAgICAgcmV0dXJuIFwiU3VwZXJcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDU6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9Xb3JrcGxhY2VMaW5raW5nU3RlcC5EaXNwbGF5TmFtZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDY6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkJlbmVmaXRzXCI7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICByZXR1cm4gXCJGYWlyIFdvcmtcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDg6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9EaXNjcmV0ZUJlbmVmaXRzU3RlcC5EaXNwbGF5TmFtZTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gXCJQcm9maWxlXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwTW9kdWxlX3RvUHJvY2Vzc1N0ZXBDb25maWcoX2FyZykge1xuICAgIHN3aXRjaCAoX2FyZy50YWcpIHtcbiAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfRW1lcmdlbmN5Q29udGFjdHNTdGVwO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JhbmtTdGVwO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1RheFN0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA0OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfU3VwZXJTdGVwO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNToge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX1dvcmtwbGFjZUxpbmtpbmdTdGVwO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgNjoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0JlbmVmaXRzT25ib2FyZGluZ1N0ZXA7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA3OiB7XG4gICAgICAgICAgICByZXR1cm4gUHJvY2Vzc1N0ZXBDb25maWdNb2R1bGVfV29ya3BsYWNlUG9saWNpZXNTdGVwO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgODoge1xuICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NTdGVwQ29uZmlnTW9kdWxlX0Rpc2NyZXRlQmVuZWZpdHNTdGVwO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9jZXNzU3RlcENvbmZpZ01vZHVsZV9QZXJzb25hbERldGFpbHNTdGVwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcE1vZHVsZV9pc1BheVNldHVwU3RlcChfYXJnKSB7XG4gICAgc3dpdGNoIChfYXJnLnRhZykge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICBjYXNlIDQ6XG4gICAgICAgIGNhc2UgNzoge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSA1OlxuICAgICAgICBjYXNlIDY6XG4gICAgICAgIGNhc2UgODoge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcE1vZHVsZV9MaXN0X2FkZEJlbmVmaXRzU3RlcElmVmlzaWJsZShzdGF0ZSwgc3RlcHMpIHtcbiAgICBpZiAoc3RhdGUudGFnID09PSAwKSB7XG4gICAgICAgIHJldHVybiBzdGVwcztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBhcHBlbmQoc3RlcHMsIHNpbmdsZXRvbihuZXcgU3RlcCg2KSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBNb2R1bGVfTGlzdF9hZGRCZW5lZml0c1N0ZXBJZkNvbXBsZXRlKHN0YXRlLCBzdGVwcykge1xuICAgIGlmIChzdGF0ZS50YWcgPT09IDIpIHtcbiAgICAgICAgcmV0dXJuIGFwcGVuZChzdGVwcywgc2luZ2xldG9uKG5ldyBTdGVwKDYpKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gc3RlcHM7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcE1vZHVsZV9MaXN0X29mUHJvY2Vzc0luc3RhbmNlKHByb2Nlc3NJbnN0YW5jZSwgYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUpIHtcbiAgICBjb25zdCBpbnB1dF8xID0gc2VxdWVuY2VSZXN1bHRNKG1hcChTdGVwTW9kdWxlX29mU3RlcENvbmZpZywgcHJvY2Vzc0luc3RhbmNlLkNvbmZpZ3VyYXRpb24uU3RlcHMpKTtcbiAgICBpZiAoaW5wdXRfMS50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xLmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIFN0ZXBNb2R1bGVfTGlzdF9hZGRCZW5lZml0c1N0ZXBJZlZpc2libGUoYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUsIGlucHV0XzEuZmllbGRzWzBdKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcE1vZHVsZV9MaXN0X3N0ZXBDb3VudChwcm9jZXNzSW5zdGFuY2UsIGJlbmVmaXRzT25ib2FyZGluZ1N0YXRlKSB7XG4gICAgcmV0dXJuIGxlbmd0aChwcm9jZXNzSW5zdGFuY2UuQ29uZmlndXJhdGlvbi5TdGVwcykgKyAoKGJlbmVmaXRzT25ib2FyZGluZ1N0YXRlLnRhZyA9PT0gMCkgPyAwIDogMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwTW9kdWxlX2dldENvbXBsZXRlZFN0ZXBzKHByb2Nlc3NJbnN0YW5jZSwgYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUpIHtcbiAgICBjb25zdCBpbnB1dF8xID0gc2VxdWVuY2VSZXN1bHRNKG1hcChTdGVwTW9kdWxlX29mU3RlcENvbmZpZywgUHJvY2Vzc0luc3RhbmNlTW9kdWxlX2dldENvbXBsZXRlZFN0ZXBzKHByb2Nlc3NJbnN0YW5jZSkpKTtcbiAgICBpZiAoaW5wdXRfMS50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xLmZpZWxkc1swXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIFN0ZXBNb2R1bGVfTGlzdF9hZGRCZW5lZml0c1N0ZXBJZkNvbXBsZXRlKGJlbmVmaXRzT25ib2FyZGluZ1N0YXRlLCBpbnB1dF8xLmZpZWxkc1swXSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0ZXBEZXRhaWwgZXh0ZW5kcyBSZWNvcmQge1xuICAgIGNvbnN0cnVjdG9yKElkLCBTdGF0dXMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5JZCA9IElkO1xuICAgICAgICB0aGlzLlN0YXR1cyA9IFN0YXR1cztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwRGV0YWlsJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLlVJLldvcmtmbG93cy5UeXBlcy5TdGVwRGV0YWlsXCIsIFtdLCBTdGVwRGV0YWlsLCAoKSA9PiBbW1wiSWRcIiwgU3RlcCRyZWZsZWN0aW9uKCldLCBbXCJTdGF0dXNcIiwgU3RlcFN0YXR1cyRyZWZsZWN0aW9uKCldXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwRGV0YWlsX19nZXRfRGlzcGxheU5hbWUodGhpcyQpIHtcbiAgICByZXR1cm4gU3RlcE1vZHVsZV9nZXROYW1lKHRoaXMkLklkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBEZXRhaWxfX2dldF9TaG9ydERpc3BsYXlOYW1lKHRoaXMkKSB7XG4gICAgcmV0dXJuIFN0ZXBNb2R1bGVfZ2V0U2hvcnROYW1lKHRoaXMkLklkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBEZXRhaWxfX2dldF9Db21wb25lbnRUYWdOYW1lKHRoaXMkKSB7XG4gICAgcmV0dXJuIFN0ZXBNb2R1bGVfdG9Qcm9jZXNzU3RlcENvbmZpZyh0aGlzJC5JZCkuQ29tcG9uZW50VGFnTmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBEZXRhaWxfX2dldF9Qcm9jZXNzU3RlcElkKHRoaXMkKSB7XG4gICAgcmV0dXJuIFN0ZXBNb2R1bGVfdG9Qcm9jZXNzU3RlcENvbmZpZyh0aGlzJC5JZCkuSWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwRGV0YWlsX19nZXRfSXNQYXlTZXR1cFN0ZXAodGhpcyQpIHtcbiAgICByZXR1cm4gU3RlcE1vZHVsZV9pc1BheVNldHVwU3RlcCh0aGlzJC5JZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTdGVwRGV0YWlsTW9kdWxlXyQwMDdDUGVyc29uYWxEZXRhaWxzJDAwN0NfJDAwN0Moc3RlcCkge1xuICAgIGlmIChzdGVwLklkLnRhZyA9PT0gMCkge1xuICAgICAgICByZXR1cm4gc3RlcDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcERldGFpbE1vZHVsZV8kMDA3Q0VtZXJnZW5jeUNvbnRhY3RzJDAwN0NfJDAwN0Moc3RlcCkge1xuICAgIGlmIChzdGVwLklkLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gc3RlcDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3RlcERldGFpbExpc3RNb2R1bGVfdHJ5RmluZEFjdGl2ZVN0ZXAoc3RlcHMpIHtcbiAgICByZXR1cm4gdHJ5RmluZCgocykgPT4gZXF1YWxzKHMuU3RhdHVzLCBuZXcgU3RlcFN0YXR1cygyKSksIHN0ZXBzKTtcbn1cblxuZnVuY3Rpb24gU3RlcERldGFpbExpc3RNb2R1bGVfc2V0QWN0aXZlU3RlcChzdGVwcykge1xuICAgIGNvbnN0IGxvb3AgPSAoaW5wdXRfbXV0LCBhY2NfbXV0KSA9PiB7XG4gICAgICAgIGxvb3A6XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGlucHV0X211dCwgYWNjID0gYWNjX211dDtcbiAgICAgICAgICAgIGlmICghaXNFbXB0eShpbnB1dCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZXF1YWxzKGhlYWQoaW5wdXQpLlN0YXR1cywgbmV3IFN0ZXBTdGF0dXMoMikpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25jYXQoW2FjYywgc2luZ2xldG9uKGhlYWQoaW5wdXQpKSwgdGFpbF81KGlucHV0KV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChlcXVhbHMoaGVhZChpbnB1dCkuU3RhdHVzLCBuZXcgU3RlcFN0YXR1cygxKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbmNhdChbYWNjLCBzaW5nbGV0b24obmV3IFN0ZXBEZXRhaWwoaGVhZChpbnB1dCkuSWQsIG5ldyBTdGVwU3RhdHVzKDIpKSksIHRhaWxfNShpbnB1dCldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0X211dCA9IHRhaWxfNShpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgIGFjY19tdXQgPSBhcHBlbmQoYWNjLCBzaW5nbGV0b24oaGVhZChpbnB1dCkpKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWUgbG9vcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBsb29wKHN0ZXBzLCBlbXB0eSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0ZXBEZXRhaWxMaXN0TW9kdWxlX29mUHJvY2Vzc0luc3RhbmNlKHByb2Nlc3NJbnN0YW5jZSwgYmVuZWZpdHNPbmJvYXJkaW5nU3RhdGUpIHtcbiAgICBjb25zdCBpc1BheVNldHVwQ29tcGxldGUgPSBkZWZhdWx0QXJnKHByb2Nlc3NJbnN0YW5jZS5QYXlTZXR1cENvbXBsZXRlLCBmYWxzZSk7XG4gICAgbGV0IGlucHV0XzQ7XG4gICAgY29uc3QgaW5wdXRfMSA9IHNlcXVlbmNlUmVzdWx0TShtYXAoU3RlcE1vZHVsZV9vZlN0ZXBDb25maWcsIHByb2Nlc3NJbnN0YW5jZS5Db25maWd1cmF0aW9uLlN0ZXBzKSk7XG4gICAgaW5wdXRfNCA9ICgoaW5wdXRfMS50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBTdGVwTW9kdWxlX0xpc3RfYWRkQmVuZWZpdHNTdGVwSWZWaXNpYmxlKGJlbmVmaXRzT25ib2FyZGluZ1N0YXRlLCBpbnB1dF8xLmZpZWxkc1swXSkpKSk7XG4gICAgaWYgKGlucHV0XzQudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5wdXRfMiA9IHNlcXVlbmNlUmVzdWx0TShtYXAoU3RlcE1vZHVsZV9vZlN0ZXBDb25maWcsIFByb2Nlc3NJbnN0YW5jZU1vZHVsZV9nZXRDb21wbGV0ZWRTdGVwcyhwcm9jZXNzSW5zdGFuY2UpKSk7XG4gICAgICAgIGlmIChpbnB1dF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIFN0ZXBEZXRhaWxMaXN0TW9kdWxlX3NldEFjdGl2ZVN0ZXAobWFwKChzXzEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoKGlzUGF5U2V0dXBDb21wbGV0ZSAmJiBTdGVwRGV0YWlsX19nZXRfSXNQYXlTZXR1cFN0ZXAoc18xKSkgJiYgZXF1YWxzKHNfMS5TdGF0dXMsIG5ldyBTdGVwU3RhdHVzKDApKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFN0ZXBEZXRhaWwoc18xLklkLCBuZXcgU3RlcFN0YXR1cyg0KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc18xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIG1hcCgoc18yKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV4aXN0cygoeF8xKSA9PiBlcXVhbHMoeF8xLCBzXzIuSWQpLCBpbnB1dF8yLmZpZWxkc1swXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTdGVwRGV0YWlsKHNfMi5JZCwgbmV3IFN0ZXBTdGF0dXMoMCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNfMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBtYXAoKHMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXF1YWxzKHMuSWQsIG5ldyBTdGVwKDYpKSAmJiAoIWlzUGF5U2V0dXBDb21wbGV0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTdGVwRGV0YWlsKHMuSWQsIG5ldyBTdGVwU3RhdHVzKDMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIG1hcCgoc18zKSA9PiAobmV3IFN0ZXBEZXRhaWwoc18zLCBuZXcgU3RlcFN0YXR1cygxKSkpLCBpbnB1dF80LmZpZWxkc1swXSkpKSkpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFdvcmtmbG93RGV0YWlsIGV4dGVuZHMgUmVjb3JkIHtcbiAgICBjb25zdHJ1Y3RvcihBcHBNb2RlLCBKb3VybmV5VHlwZSwgQnJhbmRpbmcsIElzQmVuZWZpdHNTdGVwRW5hYmxlZCwgSXNQYXlTZXR1cENvbXBhdGlibGUsIElzUGF5U2V0dXBDb21wbGV0ZSwgU3RhdHVzLCBQcm9jZXNzSW5zdGFuY2VJZCwgSW5zdGFuY2VOYW1lLCBQcm9jZXNzQ29uZmlnSWQsIFN0ZXBzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuQXBwTW9kZSA9IEFwcE1vZGU7XG4gICAgICAgIHRoaXMuSm91cm5leVR5cGUgPSBKb3VybmV5VHlwZTtcbiAgICAgICAgdGhpcy5CcmFuZGluZyA9IEJyYW5kaW5nO1xuICAgICAgICB0aGlzLklzQmVuZWZpdHNTdGVwRW5hYmxlZCA9IElzQmVuZWZpdHNTdGVwRW5hYmxlZDtcbiAgICAgICAgdGhpcy5Jc1BheVNldHVwQ29tcGF0aWJsZSA9IElzUGF5U2V0dXBDb21wYXRpYmxlO1xuICAgICAgICB0aGlzLklzUGF5U2V0dXBDb21wbGV0ZSA9IElzUGF5U2V0dXBDb21wbGV0ZTtcbiAgICAgICAgdGhpcy5TdGF0dXMgPSBTdGF0dXM7XG4gICAgICAgIHRoaXMuUHJvY2Vzc0luc3RhbmNlSWQgPSBQcm9jZXNzSW5zdGFuY2VJZDtcbiAgICAgICAgdGhpcy5JbnN0YW5jZU5hbWUgPSBJbnN0YW5jZU5hbWU7XG4gICAgICAgIHRoaXMuUHJvY2Vzc0NvbmZpZ0lkID0gUHJvY2Vzc0NvbmZpZ0lkO1xuICAgICAgICB0aGlzLlN0ZXBzID0gU3RlcHM7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gV29ya2Zsb3dEZXRhaWwkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gcmVjb3JkX3R5cGUoXCJXb3JrZmxvd3MuVUkuV29ya2Zsb3dzLlR5cGVzLldvcmtmbG93RGV0YWlsXCIsIFtdLCBXb3JrZmxvd0RldGFpbCwgKCkgPT4gW1tcIkFwcE1vZGVcIiwgQXBwTW9kZSRyZWZsZWN0aW9uKCldLCBbXCJKb3VybmV5VHlwZVwiLCBKb3VybmV5VHlwZSRyZWZsZWN0aW9uKCldLCBbXCJCcmFuZGluZ1wiLCBvcHRpb25fdHlwZShJbnZpdGVCcmFuZGluZyRyZWZsZWN0aW9uKCkpXSwgW1wiSXNCZW5lZml0c1N0ZXBFbmFibGVkXCIsIGJvb2xfdHlwZV0sIFtcIklzUGF5U2V0dXBDb21wYXRpYmxlXCIsIGJvb2xfdHlwZV0sIFtcIklzUGF5U2V0dXBDb21wbGV0ZVwiLCBib29sX3R5cGVdLCBbXCJTdGF0dXNcIiwgUHJvY2Vzc0luc3RhbmNlU3RhdHVzJHJlZmxlY3Rpb24oKV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0sIFtcIkluc3RhbmNlTmFtZVwiLCBzdHJpbmdfdHlwZV0sIFtcIlByb2Nlc3NDb25maWdJZFwiLCBQcm9jZXNzQ29uZmlnSWQkcmVmbGVjdGlvbigpXSwgW1wiU3RlcHNcIiwgbGlzdF90eXBlKFN0ZXBEZXRhaWwkcmVmbGVjdGlvbigpKV1dKTtcbn1cblxuZnVuY3Rpb24gV29ya2Zsb3dEZXRhaWxNb2R1bGVfaXNQYXlTZXR1cENvbXBsZXRlKGluc3RhbmNlKSB7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGluc3RhbmNlLlN0YXR1cztcbiAgICBzd2l0Y2ggKG1hdGNoVmFsdWUudGFnKSB7XG4gICAgICAgIGNhc2UgMzoge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRBcmcoaW5zdGFuY2UuUGF5U2V0dXBDb21wbGV0ZSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gV29ya2Zsb3dEZXRhaWxNb2R1bGVfb2ZQcm9jZXNzSW5zdGFuY2UoYXBwTW9kZSwgY3R4KSB7XG4gICAgbGV0IGlucHV0O1xuICAgIGNvbnN0IHR1cGxlZEFyZyA9IFtjdHguUHJvY2Vzc0luc3RhbmNlLCBCZW5lZml0c09uYm9hcmRpbmdTdGF0ZU1vZHVsZV9pbml0KGN0eC5Jc0JlbmVmaXRzRW5hYmxlZCldO1xuICAgIGlucHV0ID0gU3RlcERldGFpbExpc3RNb2R1bGVfb2ZQcm9jZXNzSW5zdGFuY2UodHVwbGVkQXJnWzBdLCB0dXBsZWRBcmdbMV0pO1xuICAgIGlmIChpbnB1dC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBuZXcgV29ya2Zsb3dEZXRhaWwoYXBwTW9kZSwgY3R4LlByb2Nlc3NJbnN0YW5jZS5Kb3VybmV5VHlwZSwgY3R4LkJyYW5kaW5nLCBjdHguSXNCZW5lZml0c0VuYWJsZWQsIFByb2Nlc3NDb25maWdfX2dldF9Jc1BheVNldHVwQ29tcGF0aWJsZShjdHguUHJvY2Vzc0luc3RhbmNlLkNvbmZpZ3VyYXRpb24pLCBXb3JrZmxvd0RldGFpbE1vZHVsZV9pc1BheVNldHVwQ29tcGxldGUoY3R4LlByb2Nlc3NJbnN0YW5jZSksIGN0eC5Qcm9jZXNzSW5zdGFuY2UuU3RhdHVzLCBjdHguUHJvY2Vzc0luc3RhbmNlLklkLCBjdHguUHJvY2Vzc0luc3RhbmNlLkNvbmZpZ3VyYXRpb24uTmFtZSwgY3R4LlByb2Nlc3NJbnN0YW5jZS5Db25maWd1cmF0aW9uLklkLCBpbnB1dC5maWVsZHNbMF0pKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBXb3JrZmxvd0RldGFpbE1vZHVsZV9vZlByb2Nlc3NJbnN0YW5jZVVwZGF0ZShjdXJyZW50LCBpbnN0YW5jZSkge1xuICAgIGxldCBpbnB1dDtcbiAgICBjb25zdCB0dXBsZWRBcmcgPSBbaW5zdGFuY2UsIEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlTW9kdWxlX2luaXQoY3VycmVudC5Jc0JlbmVmaXRzU3RlcEVuYWJsZWQpXTtcbiAgICBpbnB1dCA9IFN0ZXBEZXRhaWxMaXN0TW9kdWxlX29mUHJvY2Vzc0luc3RhbmNlKHR1cGxlZEFyZ1swXSwgdHVwbGVkQXJnWzFdKTtcbiAgICBpZiAoaW5wdXQudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXQuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbmV3IFdvcmtmbG93RGV0YWlsKGN1cnJlbnQuQXBwTW9kZSwgY3VycmVudC5Kb3VybmV5VHlwZSwgY3VycmVudC5CcmFuZGluZywgY3VycmVudC5Jc0JlbmVmaXRzU3RlcEVuYWJsZWQsIGN1cnJlbnQuSXNQYXlTZXR1cENvbXBhdGlibGUsIFdvcmtmbG93RGV0YWlsTW9kdWxlX2lzUGF5U2V0dXBDb21wbGV0ZShpbnN0YW5jZSksIGluc3RhbmNlLlN0YXR1cywgY3VycmVudC5Qcm9jZXNzSW5zdGFuY2VJZCwgY3VycmVudC5JbnN0YW5jZU5hbWUsIGN1cnJlbnQuUHJvY2Vzc0NvbmZpZ0lkLCBpbnB1dC5maWVsZHNbMF0pKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBWaWV3IGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJJbml0aWFsaXNpbmdcIiwgXCJTdGVwTGlzdFwiLCBcIlN0ZXBcIiwgXCJQYXlTZXR1cENvbXBsZXRlQ29uZmlybWF0aW9uXCIsIFwiT29wc1wiLCBcIkFsbERvbmVcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVmlldyRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiB1bmlvbl90eXBlKFwiV29ya2Zsb3dzLlVJLldvcmtmbG93cy5UeXBlcy5WaWV3XCIsIFtdLCBWaWV3LCAoKSA9PiBbW10sIFtdLCBbW1wiSXRlbVwiLCBTdGVwRGV0YWlsJHJlZmxlY3Rpb24oKV1dLCBbXSwgW1tcImVycm9yTWVzc2FnZVwiLCBzdHJpbmdfdHlwZV1dLCBbXV0pO1xufVxuXG5leHBvcnQgY2xhc3MgTXNnIGV4dGVuZHMgVW5pb24ge1xuICAgIGNvbnN0cnVjdG9yKHRhZywgLi4uZmllbGRzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMudGFnID0gKHRhZyB8IDApO1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB9XG4gICAgY2FzZXMoKSB7XG4gICAgICAgIHJldHVybiBbXCJBY3RpdmF0ZUNhbGxiYWNrXCIsIFwiQ2hhbmdlQ3VycmVudFZpZXdcIiwgXCJDbG9zZVN0ZXBMaXN0Vmlld1wiLCBcIlN0ZXBDb21wbGV0aW9uRXZlbnRDYWxsYmFja1wiLCBcIkNvbXBsZXRlU3RlcFwiLCBcIkNvbmZpcm1QYXlTZXR1cENvbXBsZXRlXCIsIFwiUmVzdW1lUGF5U2V0dXBcIiwgXCJDb21wbGV0ZVBheVNldHVwXCIsIFwiUGF5U2V0dXBDb21wbGV0ZWRcIiwgXCJDb21wbGV0ZVdvcmtmbG93XCIsIFwiU2hvd0FsbERvbmVBbmROb3RpZnlDb21wbGV0ZVwiLCBcIlNlbmRBbmFseXRpY3NFdmVudFwiLCBcIkFwcGVuZFRyYWlsaW5nU2xhc2hUb1VybFwiLCBcIkNvbXBsZXRlQmVuZWZpdHNPbmJvYXJkaW5nU3RlcFwiLCBcIkNvbW1hbmRTdWNjZXNzXCIsIFwiQ29tbWFuZEZhaWx1cmVcIl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTXNnJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJXb3JrZmxvd3MuVUkuV29ya2Zsb3dzLlR5cGVzLk1zZ1wiLCBbXSwgTXNnLCAoKSA9PiBbW1tcIkl0ZW1cIiwgRGVmZXJyZWQkMSRyZWZsZWN0aW9uKHVuaW9uX3R5cGUoXCJNaWNyb3NvZnQuRlNoYXJwLkNvcmUuRlNoYXJwUmVzdWx0YDJcIiwgW0FwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHQkcmVmbGVjdGlvbigpLCBzdHJpbmdfdHlwZV0sIEZTaGFycFJlc3VsdCQyLCAoKSA9PiBbW1tcIlJlc3VsdFZhbHVlXCIsIEFwaURvbWFpbl9CYWNrZW5kX1Byb2Nlc3NJbnN0YW5jZUNvbnRleHQkcmVmbGVjdGlvbigpXV0sIFtbXCJFcnJvclZhbHVlXCIsIHN0cmluZ190eXBlXV1dKSldXSwgW1tcIkl0ZW1cIiwgVmlldyRyZWZsZWN0aW9uKCldXSwgW10sIFtbXCJJdGVtXCIsIGNsYXNzX3R5cGUoXCJCcm93c2VyLlR5cGVzLkV2ZW50XCIpXV0sIFtbXCJJdGVtMVwiLCBQcm9jZXNzU3RlcElkJHJlZmxlY3Rpb24oKV0sIFtcIkl0ZW0yXCIsIERlZmVycmVkJDEkcmVmbGVjdGlvbih1bmlvbl90eXBlKFwiTWljcm9zb2Z0LkZTaGFycC5Db3JlLkZTaGFycFJlc3VsdGAyXCIsIFtQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpLCBzdHJpbmdfdHlwZV0sIEZTaGFycFJlc3VsdCQyLCAoKSA9PiBbW1tcIlJlc3VsdFZhbHVlXCIsIFByb2Nlc3NJbnN0YW5jZSRyZWZsZWN0aW9uKCldXSwgW1tcIkVycm9yVmFsdWVcIiwgc3RyaW5nX3R5cGVdXV0pKV1dLCBbW1wiSXRlbVwiLCBhbm9uUmVjb3JkX3R5cGUoW1wiQnJhbmRpbmdcIiwgb3B0aW9uX3R5cGUoSW52aXRlQnJhbmRpbmckcmVmbGVjdGlvbigpKV0sIFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSldXSwgW1tcIkl0ZW1cIiwgYW5vblJlY29yZF90eXBlKFtcIkluamVjdGVkQmVuZWZpdHNcIiwgYm9vbF90eXBlXSldXSwgW1tcIkl0ZW1cIiwgdW5pb25fdHlwZShcIk1pY3Jvc29mdC5GU2hhcnAuQ29yZS5GU2hhcnBSZXN1bHRgMlwiLCBbUHJvY2Vzc0luc3RhbmNlJHJlZmxlY3Rpb24oKSwgc3RyaW5nX3R5cGVdLCBGU2hhcnBSZXN1bHQkMiwgKCkgPT4gW1tbXCJSZXN1bHRWYWx1ZVwiLCBQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpXV0sIFtbXCJFcnJvclZhbHVlXCIsIHN0cmluZ190eXBlXV1dKV1dLCBbW1wiSXRlbVwiLCBEZWZlcnJlZCQxJHJlZmxlY3Rpb24odW5pb25fdHlwZShcIk1pY3Jvc29mdC5GU2hhcnAuQ29yZS5GU2hhcnBSZXN1bHRgMlwiLCBbUHJvY2Vzc0luc3RhbmNlJHJlZmxlY3Rpb24oKSwgc3RyaW5nX3R5cGVdLCBGU2hhcnBSZXN1bHQkMiwgKCkgPT4gW1tbXCJSZXN1bHRWYWx1ZVwiLCBQcm9jZXNzSW5zdGFuY2UkcmVmbGVjdGlvbigpXV0sIFtbXCJFcnJvclZhbHVlXCIsIHN0cmluZ190eXBlXV1dKSldXSwgW1tcIkl0ZW1cIiwgV29ya2Zsb3dEZXRhaWwkcmVmbGVjdGlvbigpXV0sIFtbXCJJdGVtMVwiLCBQcm9jZXNzSW5zdGFuY2VJZCRyZWZsZWN0aW9uKCldLCBbXCJJdGVtMlwiLCBBcGlEdG9fQmFja2VuZF9Xcml0ZV9Xb3JrZmxvd0FuYWx5dGljc0V2ZW50RHRvJHJlZmxlY3Rpb24oKV1dLCBbXSwgW10sIFtdLCBbW1wiSXRlbVwiLCBjbGFzc190eXBlKFwiU3lzdGVtLkV4Y2VwdGlvblwiKV1dXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBTdGF0ZSBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoUHJvZmlsZUlkLCBQcm9jZXNzSW5zdGFuY2VJZCwgV29ya2Zsb3dEZXRhaWwsIEN1cnJlbnRWaWV3LCBDc3NPdmVycmlkZXMsIEJlbmVmaXRzT25ib2FyZGluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLlByb2ZpbGVJZCA9IFByb2ZpbGVJZDtcbiAgICAgICAgdGhpcy5Qcm9jZXNzSW5zdGFuY2VJZCA9IFByb2Nlc3NJbnN0YW5jZUlkO1xuICAgICAgICB0aGlzLldvcmtmbG93RGV0YWlsID0gV29ya2Zsb3dEZXRhaWw7XG4gICAgICAgIHRoaXMuQ3VycmVudFZpZXcgPSBDdXJyZW50VmlldztcbiAgICAgICAgdGhpcy5Dc3NPdmVycmlkZXMgPSBDc3NPdmVycmlkZXM7XG4gICAgICAgIHRoaXMuQmVuZWZpdHNPbmJvYXJkaW5nID0gQmVuZWZpdHNPbmJvYXJkaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0YXRlJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiV29ya2Zsb3dzLlVJLldvcmtmbG93cy5UeXBlcy5TdGF0ZVwiLCBbXSwgU3RhdGUsICgpID0+IFtbXCJQcm9maWxlSWRcIiwgUHJvZmlsZUlkJHJlZmxlY3Rpb24oKV0sIFtcIlByb2Nlc3NJbnN0YW5jZUlkXCIsIFByb2Nlc3NJbnN0YW5jZUlkJHJlZmxlY3Rpb24oKV0sIFtcIldvcmtmbG93RGV0YWlsXCIsIERlZmVycmVkJDEkcmVmbGVjdGlvbih1bmlvbl90eXBlKFwiTWljcm9zb2Z0LkZTaGFycC5Db3JlLkZTaGFycFJlc3VsdGAyXCIsIFtXb3JrZmxvd0RldGFpbCRyZWZsZWN0aW9uKCksIHN0cmluZ190eXBlXSwgRlNoYXJwUmVzdWx0JDIsICgpID0+IFtbW1wiUmVzdWx0VmFsdWVcIiwgV29ya2Zsb3dEZXRhaWwkcmVmbGVjdGlvbigpXV0sIFtbXCJFcnJvclZhbHVlXCIsIHN0cmluZ190eXBlXV1dKSldLCBbXCJDdXJyZW50Vmlld1wiLCBWaWV3JHJlZmxlY3Rpb24oKV0sIFtcIkNzc092ZXJyaWRlc1wiLCBsaXN0X3R5cGUoc3RyaW5nX3R5cGUpXSwgW1wiQmVuZWZpdHNPbmJvYXJkaW5nXCIsIEJlbmVmaXRzT25ib2FyZGluZ1N0YXRlJHJlZmxlY3Rpb24oKV1dKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvdXJuZXlUeXBlX3RvRGlzcGxheVN0cihqb3VybmV5VHlwZSkge1xuICAgIHN3aXRjaCAoam91cm5leVR5cGUudGFnKSB7XG4gICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgcmV0dXJuIFwiSW5mb3JtYXRpb24gcmVxdWVzdFwiO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgcmV0dXJuIFwiV29ya2Zsb3dcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDM6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkJlbmVmaXRzIE9uYm9hcmRpbmdcIjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgIHJldHVybiBcIkJlbmVmaXRzIE9uYm9hcmRpbmdcIjtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gXCJPbmJvYXJkaW5nXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiAkMDA3Q0lzTW9iaWxlJDAwN0NfJDAwN0MoY2xpZW50V2lkdGgpIHtcbiAgICBpZiAoY2xpZW50V2lkdGggPCA2NDApIHtcbiAgICAgICAgcmV0dXJuIHNvbWUodm9pZCAwKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/Workflows/Types.fs.js\n");
|
|
3076
3076
|
|
|
3077
3077
|
/***/ }),
|
|
3078
3078
|
|
|
@@ -3296,14 +3296,14 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
3296
3296
|
|
|
3297
3297
|
/***/ }),
|
|
3298
3298
|
|
|
3299
|
-
/***/ "./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.
|
|
3300
|
-
|
|
3301
|
-
!*** ./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.
|
|
3302
|
-
|
|
3299
|
+
/***/ "./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.4.17.0/List.fs.js":
|
|
3300
|
+
/*!******************************************************************************************!*\
|
|
3301
|
+
!*** ./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.4.17.0/List.fs.js ***!
|
|
3302
|
+
\******************************************************************************************/
|
|
3303
3303
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
3304
3304
|
|
|
3305
3305
|
"use strict";
|
|
3306
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sequenceAsyncResultA: () => (/* binding */ sequenceAsyncResultA),\n/* harmony export */ sequenceAsyncResultM: () => (/* binding */ sequenceAsyncResultM),\n/* harmony export */ sequenceResultA: () => (/* binding */ sequenceResultA),\n/* harmony export */ sequenceResultM: () => (/* binding */ sequenceResultM),\n/* harmony export */ sequenceValidationA: () => (/* binding */ sequenceValidationA),\n/* harmony export */ traverseAsyncResultA: () => (/* binding */ traverseAsyncResultA),\n/* harmony export */ traverseAsyncResultM: () => (/* binding */ traverseAsyncResultM),\n/* harmony export */ traverseResultA: () => (/* binding */ traverseResultA),\n/* harmony export */ traverseResultM: () => (/* binding */ traverseResultM),\n/* harmony export */ traverseValidationA: () => (/* binding */ traverseValidationA)\n/* harmony export */ });\n/* harmony import */ var _fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fable-library.3.7.20/AsyncBuilder.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/AsyncBuilder.js\");\n\n\n\n\nfunction traverseResultM$0027(state_mut, f_mut, xs_mut) {\n traverseResultM$0027:\n while (true) {\n const state = state_mut, f = f_mut, xs = xs_mut;\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n let r;\n const input_4 = f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs));\n if (input_4.tag === 1) {\n r = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_4.fields[0]));\n }\n else {\n const input_2 = state;\n r = ((input_2.tag === 1) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_2.fields[0])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(input_4.fields[0], input_2.fields[0]))));\n }\n if (r.tag === 1) {\n return r;\n }\n else {\n state_mut = r;\n f_mut = f;\n xs_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs);\n continue traverseResultM$0027;\n }\n }\n else {\n const input_1 = state;\n if (input_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_1.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1.fields[0]));\n }\n }\n break;\n }\n}\n\nfunction traverseAsyncResultM$0027(state, f, xs) {\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Delay(() => _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Delay(() => _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (input_1_3) => {\n const input_10 = input_1_3;\n if (input_10.tag === 1) {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_10.fields[0]));\n }\n else {\n const x_2 = f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(x_2, (x$0027_1) => {\n let value_2;\n const input_6 = x$0027_1;\n value_2 = ((input_6.tag === 1) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_6.fields[0])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(input_6.fields[0], input_10.fields[0]))));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(value_2);\n });\n }\n })), (_arg_2) => {\n const r = _arg_2;\n return (r.tag === 1) ? _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(r) : _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultM$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(r), f, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs)));\n }));\n }\n else {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (x$0027) => {\n let value;\n const input_2 = x$0027;\n value = ((input_2.tag === 1) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_2.fields[0])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_2.fields[0]))));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(value);\n });\n }\n}\n\nfunction traverseResultM(f, xs) {\n return traverseResultM$0027(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)()), f, xs);\n}\n\nfunction sequenceResultM(xs) {\n return traverseResultM((x) => x, xs);\n}\n\nfunction traverseAsyncResultM(f, xs) {\n return traverseAsyncResultM$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)())), f, xs);\n}\n\nfunction sequenceAsyncResultM(xs) {\n return traverseAsyncResultM((x) => x, xs);\n}\n\nfunction traverseResultA$0027(state_mut, f_mut, xs_mut) {\n traverseResultA$0027:\n while (true) {\n const state = state_mut, f = f_mut, xs = xs_mut;\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n const xs_1 = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs);\n const matchValue = [state, f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs))];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 0) {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseResultA$0027;\n }\n else {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(copyOfStruct_1.fields[0], copyOfStruct.fields[0])));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseResultA$0027;\n }\n }\n else {\n const copyOfStruct_2 = matchValue[1];\n if (copyOfStruct_2.tag === 1) {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.singleton)(copyOfStruct_2.fields[0])));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseResultA$0027;\n }\n else {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(copyOfStruct_2.fields[0], copyOfStruct.fields[0])));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseResultA$0027;\n }\n }\n }\n else {\n const input_1 = state;\n if (input_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1.fields[0]));\n }\n }\n break;\n }\n}\n\nfunction traverseAsyncResultA$0027(state, f, xs) {\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n const xs_1 = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs);\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Delay(() => _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (_arg) => _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs)), (_arg_1) => {\n const matchValue = [_arg, _arg_1];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n const copyOfStruct_1 = matchValue[1];\n return (copyOfStruct_1.tag === 0) ? _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0])), f, xs_1)) : _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(copyOfStruct_1.fields[0], copyOfStruct.fields[0]))), f, xs_1));\n }\n else {\n const copyOfStruct_2 = matchValue[1];\n return (copyOfStruct_2.tag === 1) ? _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.singleton)(copyOfStruct_2.fields[0]))), f, xs_1)) : _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(copyOfStruct_2.fields[0], copyOfStruct.fields[0]))), f, xs_1));\n }\n })));\n }\n else {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (x$0027) => {\n let value;\n const input_2 = x$0027;\n value = ((input_2.tag === 1) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_2.fields[0]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_2.fields[0]))));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(value);\n });\n }\n}\n\nfunction traverseResultA(f, xs) {\n return traverseResultA$0027(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)()), f, xs);\n}\n\nfunction sequenceResultA(xs) {\n return traverseResultA((x) => x, xs);\n}\n\nfunction traverseValidationA$0027(state_mut, f_mut, xs_mut) {\n traverseValidationA$0027:\n while (true) {\n const state = state_mut, f = f_mut, xs = xs_mut;\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n const xs_1 = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs);\n const matchValue = [state, f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs))];\n let pattern_matching_result, y, ys, errs1, errs2, errs;\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 0) {\n pattern_matching_result = 2;\n errs = copyOfStruct.fields[0];\n }\n else {\n pattern_matching_result = 1;\n errs1 = copyOfStruct.fields[0];\n errs2 = copyOfStruct_1.fields[0];\n }\n }\n else {\n const copyOfStruct_2 = matchValue[1];\n if (copyOfStruct_2.tag === 1) {\n pattern_matching_result = 2;\n errs = copyOfStruct_2.fields[0];\n }\n else {\n pattern_matching_result = 0;\n y = copyOfStruct_2.fields[0];\n ys = copyOfStruct.fields[0];\n }\n }\n switch (pattern_matching_result) {\n case 0: {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(y, ys)));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseValidationA$0027;\n }\n case 1: {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.append)(errs2, errs1)));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseValidationA$0027;\n }\n case 2: {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, errs));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseValidationA$0027;\n }\n }\n }\n else {\n const input_1 = state;\n if (input_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_1.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1.fields[0]));\n }\n }\n break;\n }\n}\n\nfunction traverseValidationA(f, xs) {\n return traverseValidationA$0027(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)()), f, xs);\n}\n\nfunction sequenceValidationA(xs) {\n return traverseValidationA((x) => x, xs);\n}\n\nfunction traverseAsyncResultA(f, xs) {\n return traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)())), f, xs);\n}\n\nfunction sequenceAsyncResultA(xs) {\n return traverseAsyncResultA((x) => x, xs);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9Gc1Rvb2xraXQuRXJyb3JIYW5kbGluZy4zLjIuMC9MaXN0LmZzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBOEg7QUFDM0Q7QUFDQzs7QUFFcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHNFQUFPO0FBQ3BCO0FBQ0EsOEJBQThCLG1FQUFJO0FBQ2xDO0FBQ0EseUJBQXlCLDJFQUFjO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCwyRUFBYywrQkFBK0IsMkVBQWMsSUFBSSxtRUFBSTtBQUNuSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixtRUFBSTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsMkVBQWM7QUFDekM7QUFDQTtBQUNBLDJCQUEyQiwyRUFBYyxJQUFJLHNFQUFPO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTLHNFQUFPO0FBQ2hCLGVBQWUsNEVBQVMsYUFBYSw0RUFBUyxNQUFNLDRFQUFTLGFBQWEsNEVBQVM7QUFDbkY7QUFDQTtBQUNBLHVCQUF1Qiw0RUFBUyxZQUFZLDJFQUFjO0FBQzFEO0FBQ0E7QUFDQSw4QkFBOEIsbUVBQUk7QUFDbEMsdUJBQXVCLDRFQUFTO0FBQ2hDO0FBQ0E7QUFDQSwwREFBMEQsMkVBQWMsK0JBQStCLDJFQUFjLElBQUksbUVBQUk7QUFDN0gsMkJBQTJCLDRFQUFTO0FBQ3BDLGlCQUFpQjtBQUNqQjtBQUNBLFNBQVM7QUFDVDtBQUNBLG1DQUFtQyw0RUFBUyxhQUFhLDRFQUFTLHNDQUFzQyw0RUFBUyxlQUFlLG1FQUFJO0FBQ3BJLFNBQVM7QUFDVDtBQUNBO0FBQ0EsZUFBZSw0RUFBUztBQUN4QjtBQUNBO0FBQ0EsZ0RBQWdELDJFQUFjLCtCQUErQiwyRUFBYyxJQUFJLHNFQUFPO0FBQ3RILG1CQUFtQiw0RUFBUztBQUM1QixTQUFTO0FBQ1Q7QUFDQTs7QUFFTztBQUNQLG9DQUFvQywyRUFBYyxJQUFJLG9FQUFLO0FBQzNEOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQLHFDQUFxQyw0RUFBUyxZQUFZLDJFQUFjLElBQUksb0VBQUs7QUFDakY7O0FBRU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxzRUFBTztBQUNwQix5QkFBeUIsbUVBQUk7QUFDN0IseUNBQXlDLG1FQUFJO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLDJFQUFjO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsMkVBQWMsSUFBSSxtRUFBSTtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLDJFQUFjLElBQUksd0VBQVc7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQywyRUFBYyxJQUFJLG1FQUFJO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQiwyRUFBYyxJQUFJLHNFQUFPO0FBQ3BEO0FBQ0E7QUFDQSwyQkFBMkIsMkVBQWMsSUFBSSxzRUFBTztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUyxzRUFBTztBQUNoQixxQkFBcUIsbUVBQUk7QUFDekIsZUFBZSw0RUFBUyxhQUFhLDRFQUFTLHVCQUF1Qiw0RUFBUyxRQUFRLG1FQUFJO0FBQzFGO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELDRFQUFTLHNDQUFzQyw0RUFBUyxZQUFZLDJFQUFjLDBDQUEwQyw0RUFBUyxzQ0FBc0MsNEVBQVMsWUFBWSwyRUFBYyxJQUFJLG1FQUFJO0FBQzFRO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCw0RUFBUyxzQ0FBc0MsNEVBQVMsWUFBWSwyRUFBYyxJQUFJLHdFQUFXLDBDQUEwQyw0RUFBUyxzQ0FBc0MsNEVBQVMsWUFBWSwyRUFBYyxJQUFJLG1FQUFJO0FBQ3pSO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxlQUFlLDRFQUFTO0FBQ3hCO0FBQ0E7QUFDQSxnREFBZ0QsMkVBQWMsSUFBSSxzRUFBTyw2QkFBNkIsMkVBQWMsSUFBSSxzRUFBTztBQUMvSCxtQkFBbUIsNEVBQVM7QUFDNUIsU0FBUztBQUNUO0FBQ0E7O0FBRU87QUFDUCxvQ0FBb0MsMkVBQWMsSUFBSSxvRUFBSztBQUMzRDs7QUFFTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHNFQUFPO0FBQ3BCLHlCQUF5QixtRUFBSTtBQUM3Qix5Q0FBeUMsbUVBQUk7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsMkVBQWMsSUFBSSxtRUFBSTtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLDJFQUFjLElBQUkscUVBQU07QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQywyRUFBYztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsMkVBQWM7QUFDekM7QUFDQTtBQUNBLDJCQUEyQiwyRUFBYyxJQUFJLHNFQUFPO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCx3Q0FBd0MsMkVBQWMsSUFBSSxvRUFBSztBQUMvRDs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUCxxQ0FBcUMsNEVBQVMsWUFBWSwyRUFBYyxJQUFJLG9FQUFLO0FBQ2pGOztBQUVPO0FBQ1A7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9Gc1Rvb2xraXQuRXJyb3JIYW5kbGluZy4zLjIuMC9MaXN0LmZzLmpzP2RiZTciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwZW5kLCBzaW5nbGV0b24gYXMgc2luZ2xldG9uXzEsIGVtcHR5LCByZXZlcnNlLCB0YWlsLCBjb25zLCBoZWFkLCBpc0VtcHR5IH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0xpc3QuanNcIjtcbmltcG9ydCB7IEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgc2luZ2xldG9uIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0FzeW5jQnVpbGRlci5qc1wiO1xuXG5mdW5jdGlvbiB0cmF2ZXJzZVJlc3VsdE0kMDAyNyhzdGF0ZV9tdXQsIGZfbXV0LCB4c19tdXQpIHtcbiAgICB0cmF2ZXJzZVJlc3VsdE0kMDAyNzpcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHN0YXRlX211dCwgZiA9IGZfbXV0LCB4cyA9IHhzX211dDtcbiAgICAgICAgaWYgKCFpc0VtcHR5KHhzKSkge1xuICAgICAgICAgICAgbGV0IHI7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF80ID0gZihoZWFkKHhzKSk7XG4gICAgICAgICAgICBpZiAoaW5wdXRfNC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByID0gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF80LmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfMiA9IHN0YXRlO1xuICAgICAgICAgICAgICAgIHIgPSAoKGlucHV0XzIudGFnID09PSAxKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMi5maWVsZHNbMF0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY29ucyhpbnB1dF80LmZpZWxkc1swXSwgaW5wdXRfMi5maWVsZHNbMF0pKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHIudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBzdGF0ZV9tdXQgPSByO1xuICAgICAgICAgICAgICAgIGZfbXV0ID0gZjtcbiAgICAgICAgICAgICAgICB4c19tdXQgPSB0YWlsKHhzKTtcbiAgICAgICAgICAgICAgICBjb250aW51ZSB0cmF2ZXJzZVJlc3VsdE0kMDAyNztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzEgPSBzdGF0ZTtcbiAgICAgICAgICAgIGlmIChpbnB1dF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMS5maWVsZHNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCByZXZlcnNlKGlucHV0XzEuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB0cmF2ZXJzZUFzeW5jUmVzdWx0TSQwMDI3KHN0YXRlLCBmLCB4cykge1xuICAgIGlmICghaXNFbXB0eSh4cykpIHtcbiAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5EZWxheSgoKSA9PiBzaW5nbGV0b24uQmluZChzaW5nbGV0b24uRGVsYXkoKCkgPT4gc2luZ2xldG9uLkJpbmQoc3RhdGUsIChpbnB1dF8xXzMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzEwID0gaW5wdXRfMV8zO1xuICAgICAgICAgICAgaWYgKGlucHV0XzEwLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8xMC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHhfMiA9IGYoaGVhZCh4cykpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uQmluZCh4XzIsICh4JDAwMjdfMSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWVfMjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfNiA9IHgkMDAyN18xO1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZV8yID0gKChpbnB1dF82LnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzYuZmllbGRzWzBdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGNvbnMoaW5wdXRfNi5maWVsZHNbMF0sIGlucHV0XzEwLmZpZWxkc1swXSkpKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKHZhbHVlXzIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSksIChfYXJnXzIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHIgPSBfYXJnXzI7XG4gICAgICAgICAgICByZXR1cm4gKHIudGFnID09PSAxKSA/IHNpbmdsZXRvbi5SZXR1cm4ocikgOiBzaW5nbGV0b24uUmV0dXJuRnJvbSh0cmF2ZXJzZUFzeW5jUmVzdWx0TSQwMDI3KHNpbmdsZXRvbi5SZXR1cm4ociksIGYsIHRhaWwoeHMpKSk7XG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBzaW5nbGV0b24uQmluZChzdGF0ZSwgKHgkMDAyNykgPT4ge1xuICAgICAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfMiA9IHgkMDAyNztcbiAgICAgICAgICAgIHZhbHVlID0gKChpbnB1dF8yLnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzIuZmllbGRzWzBdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHJldmVyc2UoaW5wdXRfMi5maWVsZHNbMF0pKSkpO1xuICAgICAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5SZXR1cm4odmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmF2ZXJzZVJlc3VsdE0oZiwgeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VSZXN1bHRNJDAwMjcobmV3IEZTaGFycFJlc3VsdCQyKDAsIGVtcHR5KCkpLCBmLCB4cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXF1ZW5jZVJlc3VsdE0oeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VSZXN1bHRNKCh4KSA9PiB4LCB4cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmF2ZXJzZUFzeW5jUmVzdWx0TShmLCB4cykge1xuICAgIHJldHVybiB0cmF2ZXJzZUFzeW5jUmVzdWx0TSQwMDI3KHNpbmdsZXRvbi5SZXR1cm4obmV3IEZTaGFycFJlc3VsdCQyKDAsIGVtcHR5KCkpKSwgZiwgeHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VxdWVuY2VBc3luY1Jlc3VsdE0oeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VBc3luY1Jlc3VsdE0oKHgpID0+IHgsIHhzKTtcbn1cblxuZnVuY3Rpb24gdHJhdmVyc2VSZXN1bHRBJDAwMjcoc3RhdGVfbXV0LCBmX211dCwgeHNfbXV0KSB7XG4gICAgdHJhdmVyc2VSZXN1bHRBJDAwMjc6XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBzdGF0ZV9tdXQsIGYgPSBmX211dCwgeHMgPSB4c19tdXQ7XG4gICAgICAgIGlmICghaXNFbXB0eSh4cykpIHtcbiAgICAgICAgICAgIGNvbnN0IHhzXzEgPSB0YWlsKHhzKTtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBbc3RhdGUsIGYoaGVhZCh4cykpXTtcbiAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgICAgICAgICBpZiAoY29weU9mU3RydWN0LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzEudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlX211dCA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0LmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgICAgICAgICBmX211dCA9IGY7XG4gICAgICAgICAgICAgICAgICAgIHhzX211dCA9IHhzXzE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIHRyYXZlcnNlUmVzdWx0QSQwMDI3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVfbXV0ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb25zKGNvcHlPZlN0cnVjdF8xLmZpZWxkc1swXSwgY29weU9mU3RydWN0LmZpZWxkc1swXSkpKTtcbiAgICAgICAgICAgICAgICAgICAgZl9tdXQgPSBmO1xuICAgICAgICAgICAgICAgICAgICB4c19tdXQgPSB4c18xO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSB0cmF2ZXJzZVJlc3VsdEEkMDAyNztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfMiA9IG1hdGNoVmFsdWVbMV07XG4gICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZV9tdXQgPSAobmV3IEZTaGFycFJlc3VsdCQyKDEsIHNpbmdsZXRvbl8xKGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXSkpKTtcbiAgICAgICAgICAgICAgICAgICAgZl9tdXQgPSBmO1xuICAgICAgICAgICAgICAgICAgICB4c19tdXQgPSB4c18xO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSB0cmF2ZXJzZVJlc3VsdEEkMDAyNztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlX211dCA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY29ucyhjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pKSk7XG4gICAgICAgICAgICAgICAgICAgIGZfbXV0ID0gZjtcbiAgICAgICAgICAgICAgICAgICAgeHNfbXV0ID0geHNfMTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWUgdHJhdmVyc2VSZXN1bHRBJDAwMjc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfMSA9IHN0YXRlO1xuICAgICAgICAgICAgaWYgKGlucHV0XzEudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCByZXZlcnNlKGlucHV0XzEuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHJldmVyc2UoaW5wdXRfMS5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlQXN5bmNSZXN1bHRBJDAwMjcoc3RhdGUsIGYsIHhzKSB7XG4gICAgaWYgKCFpc0VtcHR5KHhzKSkge1xuICAgICAgICBjb25zdCB4c18xID0gdGFpbCh4cyk7XG4gICAgICAgIHJldHVybiBzaW5nbGV0b24uRGVsYXkoKCkgPT4gc2luZ2xldG9uLkJpbmQoc3RhdGUsIChfYXJnKSA9PiBzaW5nbGV0b24uQmluZChmKGhlYWQoeHMpKSwgKF9hcmdfMSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IFtfYXJnLCBfYXJnXzFdO1xuICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0ID0gbWF0Y2hWYWx1ZVswXTtcbiAgICAgICAgICAgIGlmIChjb3B5T2ZTdHJ1Y3QudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzEgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICAgICAgICAgIHJldHVybiAoY29weU9mU3RydWN0XzEudGFnID09PSAwKSA/IHNpbmdsZXRvbi5SZXR1cm5Gcm9tKHRyYXZlcnNlQXN5bmNSZXN1bHRBJDAwMjcoc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0LmZpZWxkc1swXSkpLCBmLCB4c18xKSkgOiBzaW5nbGV0b24uUmV0dXJuRnJvbSh0cmF2ZXJzZUFzeW5jUmVzdWx0QSQwMDI3KHNpbmdsZXRvbi5SZXR1cm4obmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvbnMoY29weU9mU3RydWN0XzEuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKSkpLCBmLCB4c18xKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfMiA9IG1hdGNoVmFsdWVbMV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIChjb3B5T2ZTdHJ1Y3RfMi50YWcgPT09IDEpID8gc2luZ2xldG9uLlJldHVybkZyb20odHJhdmVyc2VBc3luY1Jlc3VsdEEkMDAyNyhzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBzaW5nbGV0b25fMShjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0pKSksIGYsIHhzXzEpKSA6IHNpbmdsZXRvbi5SZXR1cm5Gcm9tKHRyYXZlcnNlQXN5bmNSZXN1bHRBJDAwMjcoc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY29ucyhjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pKSksIGYsIHhzXzEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBzaW5nbGV0b24uQmluZChzdGF0ZSwgKHgkMDAyNykgPT4ge1xuICAgICAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfMiA9IHgkMDAyNztcbiAgICAgICAgICAgIHZhbHVlID0gKChpbnB1dF8yLnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIHJldmVyc2UoaW5wdXRfMi5maWVsZHNbMF0pKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHJldmVyc2UoaW5wdXRfMi5maWVsZHNbMF0pKSkpO1xuICAgICAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5SZXR1cm4odmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmF2ZXJzZVJlc3VsdEEoZiwgeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VSZXN1bHRBJDAwMjcobmV3IEZTaGFycFJlc3VsdCQyKDAsIGVtcHR5KCkpLCBmLCB4cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXF1ZW5jZVJlc3VsdEEoeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VSZXN1bHRBKCh4KSA9PiB4LCB4cyk7XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlVmFsaWRhdGlvbkEkMDAyNyhzdGF0ZV9tdXQsIGZfbXV0LCB4c19tdXQpIHtcbiAgICB0cmF2ZXJzZVZhbGlkYXRpb25BJDAwMjc6XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBzdGF0ZV9tdXQsIGYgPSBmX211dCwgeHMgPSB4c19tdXQ7XG4gICAgICAgIGlmICghaXNFbXB0eSh4cykpIHtcbiAgICAgICAgICAgIGNvbnN0IHhzXzEgPSB0YWlsKHhzKTtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBbc3RhdGUsIGYoaGVhZCh4cykpXTtcbiAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCwgeSwgeXMsIGVycnMxLCBlcnJzMiwgZXJycztcbiAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgICAgICAgICBpZiAoY29weU9mU3RydWN0LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzEudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMjtcbiAgICAgICAgICAgICAgICAgICAgZXJycyA9IGNvcHlPZlN0cnVjdC5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDE7XG4gICAgICAgICAgICAgICAgICAgIGVycnMxID0gY29weU9mU3RydWN0LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgZXJyczIgPSBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICAgICAgICAgIGlmIChjb3B5T2ZTdHJ1Y3RfMi50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAyO1xuICAgICAgICAgICAgICAgICAgICBlcnJzID0gY29weU9mU3RydWN0XzIuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgICAgICAgICB5ID0gY29weU9mU3RydWN0XzIuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgICAgICB5cyA9IGNvcHlPZlN0cnVjdC5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCkge1xuICAgICAgICAgICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZV9tdXQgPSAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGNvbnMoeSwgeXMpKSk7XG4gICAgICAgICAgICAgICAgICAgIGZfbXV0ID0gZjtcbiAgICAgICAgICAgICAgICAgICAgeHNfbXV0ID0geHNfMTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWUgdHJhdmVyc2VWYWxpZGF0aW9uQSQwMDI3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIDE6IHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVfbXV0ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBhcHBlbmQoZXJyczIsIGVycnMxKSkpO1xuICAgICAgICAgICAgICAgICAgICBmX211dCA9IGY7XG4gICAgICAgICAgICAgICAgICAgIHhzX211dCA9IHhzXzE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIHRyYXZlcnNlVmFsaWRhdGlvbkEkMDAyNztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlX211dCA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgZXJycykpO1xuICAgICAgICAgICAgICAgICAgICBmX211dCA9IGY7XG4gICAgICAgICAgICAgICAgICAgIHhzX211dCA9IHhzXzE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIHRyYXZlcnNlVmFsaWRhdGlvbkEkMDAyNztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF8xID0gc3RhdGU7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcmV2ZXJzZShpbnB1dF8xLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYXZlcnNlVmFsaWRhdGlvbkEoZiwgeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VWYWxpZGF0aW9uQSQwMDI3KG5ldyBGU2hhcnBSZXN1bHQkMigwLCBlbXB0eSgpKSwgZiwgeHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VxdWVuY2VWYWxpZGF0aW9uQSh4cykge1xuICAgIHJldHVybiB0cmF2ZXJzZVZhbGlkYXRpb25BKCh4KSA9PiB4LCB4cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmF2ZXJzZUFzeW5jUmVzdWx0QShmLCB4cykge1xuICAgIHJldHVybiB0cmF2ZXJzZUFzeW5jUmVzdWx0QSQwMDI3KHNpbmdsZXRvbi5SZXR1cm4obmV3IEZTaGFycFJlc3VsdCQyKDAsIGVtcHR5KCkpKSwgZiwgeHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VxdWVuY2VBc3luY1Jlc3VsdEEoeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VBc3luY1Jlc3VsdEEoKHgpID0+IHgsIHhzKTtcbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.3.2.0/List.fs.js\n");
|
|
3306
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sequenceAsyncOptionM: () => (/* binding */ sequenceAsyncOptionM),\n/* harmony export */ sequenceAsyncResultA: () => (/* binding */ sequenceAsyncResultA),\n/* harmony export */ sequenceAsyncResultM: () => (/* binding */ sequenceAsyncResultM),\n/* harmony export */ sequenceOptionM: () => (/* binding */ sequenceOptionM),\n/* harmony export */ sequenceResultA: () => (/* binding */ sequenceResultA),\n/* harmony export */ sequenceResultM: () => (/* binding */ sequenceResultM),\n/* harmony export */ sequenceValidationA: () => (/* binding */ sequenceValidationA),\n/* harmony export */ traverseAsyncOptionM: () => (/* binding */ traverseAsyncOptionM),\n/* harmony export */ traverseAsyncResultA: () => (/* binding */ traverseAsyncResultA),\n/* harmony export */ traverseAsyncResultM: () => (/* binding */ traverseAsyncResultM),\n/* harmony export */ traverseOptionM: () => (/* binding */ traverseOptionM),\n/* harmony export */ traverseResultA: () => (/* binding */ traverseResultA),\n/* harmony export */ traverseResultM: () => (/* binding */ traverseResultM),\n/* harmony export */ traverseValidationA: () => (/* binding */ traverseValidationA)\n/* harmony export */ });\n/* harmony import */ var _fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fable-library.3.7.20/AsyncBuilder.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/AsyncBuilder.js\");\n/* harmony import */ var _fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n\n\n\n\n\nfunction traverseResultM$0027(state_mut, f_mut, xs_mut) {\n traverseResultM$0027:\n while (true) {\n const state = state_mut, f = f_mut, xs = xs_mut;\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n let r;\n const input_4 = f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs));\n if (input_4.tag === 1) {\n r = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_4.fields[0]));\n }\n else {\n const input_2 = state;\n r = ((input_2.tag === 1) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_2.fields[0])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(input_4.fields[0], input_2.fields[0]))));\n }\n if (r.tag === 1) {\n return r;\n }\n else {\n state_mut = r;\n f_mut = f;\n xs_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs);\n continue traverseResultM$0027;\n }\n }\n else {\n const input_1 = state;\n if (input_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_1.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1.fields[0]));\n }\n }\n break;\n }\n}\n\nfunction traverseAsyncResultM$0027(state, f, xs) {\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Delay(() => _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Delay(() => _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (input_1_3) => {\n const input_10 = input_1_3;\n if (input_10.tag === 1) {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_10.fields[0]));\n }\n else {\n const x_2 = f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(x_2, (x$0027_1) => {\n let value_2;\n const input_6 = x$0027_1;\n value_2 = ((input_6.tag === 1) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_6.fields[0])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(input_6.fields[0], input_10.fields[0]))));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(value_2);\n });\n }\n })), (_arg_2) => {\n const r = _arg_2;\n return (r.tag === 1) ? _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(r) : _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultM$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(r), f, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs)));\n }));\n }\n else {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (x$0027) => {\n let value;\n const input_2 = x$0027;\n value = ((input_2.tag === 1) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, input_2.fields[0])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_2.fields[0]))));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(value);\n });\n }\n}\n\nfunction traverseResultM(f, xs) {\n return traverseResultM$0027(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)()), f, xs);\n}\n\nfunction sequenceResultM(xs) {\n return traverseResultM((x) => x, xs);\n}\n\nfunction traverseAsyncResultM(f, xs) {\n return traverseAsyncResultM$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)())), f, xs);\n}\n\nfunction sequenceAsyncResultM(xs) {\n return traverseAsyncResultM((x) => x, xs);\n}\n\nfunction traverseResultA$0027(state_mut, f_mut, xs_mut) {\n traverseResultA$0027:\n while (true) {\n const state = state_mut, f = f_mut, xs = xs_mut;\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n const xs_1 = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs);\n const matchValue = [state, f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs))];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 0) {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseResultA$0027;\n }\n else {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(copyOfStruct_1.fields[0], copyOfStruct.fields[0])));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseResultA$0027;\n }\n }\n else {\n const copyOfStruct_2 = matchValue[1];\n if (copyOfStruct_2.tag === 1) {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.singleton)(copyOfStruct_2.fields[0])));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseResultA$0027;\n }\n else {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(copyOfStruct_2.fields[0], copyOfStruct.fields[0])));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseResultA$0027;\n }\n }\n }\n else {\n const input_1 = state;\n if (input_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1.fields[0]));\n }\n }\n break;\n }\n}\n\nfunction traverseAsyncResultA$0027(state, f, xs) {\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n const xs_1 = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs);\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Delay(() => _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (_arg) => _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs)), (_arg_1) => {\n const matchValue = [_arg, _arg_1];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n const copyOfStruct_1 = matchValue[1];\n return (copyOfStruct_1.tag === 0) ? _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0])), f, xs_1)) : _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(copyOfStruct_1.fields[0], copyOfStruct.fields[0]))), f, xs_1));\n }\n else {\n const copyOfStruct_2 = matchValue[1];\n return (copyOfStruct_2.tag === 1) ? _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.singleton)(copyOfStruct_2.fields[0]))), f, xs_1)) : _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(copyOfStruct_2.fields[0], copyOfStruct.fields[0]))), f, xs_1));\n }\n })));\n }\n else {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (x$0027) => {\n let value;\n const input_2 = x$0027;\n value = ((input_2.tag === 1) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_2.fields[0]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_2.fields[0]))));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(value);\n });\n }\n}\n\nfunction traverseResultA(f, xs) {\n return traverseResultA$0027(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)()), f, xs);\n}\n\nfunction sequenceResultA(xs) {\n return traverseResultA((x) => x, xs);\n}\n\nfunction traverseValidationA$0027(state_mut, f_mut, xs_mut) {\n traverseValidationA$0027:\n while (true) {\n const state = state_mut, f = f_mut, xs = xs_mut;\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n const xs_1 = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs);\n const matchValue = [state, f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs))];\n let pattern_matching_result, y, ys, errs1, errs2, errs;\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 0) {\n pattern_matching_result = 2;\n errs = copyOfStruct.fields[0];\n }\n else {\n pattern_matching_result = 1;\n errs1 = copyOfStruct.fields[0];\n errs2 = copyOfStruct_1.fields[0];\n }\n }\n else {\n const copyOfStruct_2 = matchValue[1];\n if (copyOfStruct_2.tag === 1) {\n pattern_matching_result = 2;\n errs = copyOfStruct_2.fields[0];\n }\n else {\n pattern_matching_result = 0;\n y = copyOfStruct_2.fields[0];\n ys = copyOfStruct.fields[0];\n }\n }\n switch (pattern_matching_result) {\n case 0: {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(y, ys)));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseValidationA$0027;\n }\n case 1: {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.append)(errs2, errs1)));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseValidationA$0027;\n }\n case 2: {\n state_mut = (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, errs));\n f_mut = f;\n xs_mut = xs_1;\n continue traverseValidationA$0027;\n }\n }\n }\n else {\n const input_1 = state;\n if (input_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1.fields[0]));\n }\n }\n break;\n }\n}\n\nfunction traverseValidationA(f, xs) {\n return traverseValidationA$0027(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)()), f, xs);\n}\n\nfunction sequenceValidationA(xs) {\n return traverseValidationA((x) => x, xs);\n}\n\nfunction traverseAsyncResultA(f, xs) {\n return traverseAsyncResultA$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)())), f, xs);\n}\n\nfunction sequenceAsyncResultA(xs) {\n return traverseAsyncResultA((x) => x, xs);\n}\n\nfunction traverseOptionM$0027(state_mut, f_mut, xs_mut) {\n traverseOptionM$0027:\n while (true) {\n const state = state_mut, f = f_mut, xs = xs_mut;\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n let r;\n const input_5 = f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs));\n if (input_5 == null) {\n r = (void 0);\n }\n else {\n const _arg = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_3__.value)(input_5);\n const input_3 = state;\n r = ((input_3 == null) ? (void 0) : (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(_arg, input_3));\n }\n if (r == null) {\n return r;\n }\n else {\n state_mut = r;\n f_mut = f;\n xs_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs);\n continue traverseOptionM$0027;\n }\n }\n else {\n const input_1 = state;\n if (input_1 == null) {\n return void 0;\n }\n else {\n return (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_1);\n }\n }\n break;\n }\n}\n\nfunction traverseAsyncOptionM$0027(state, f, xs) {\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.isEmpty)(xs)) {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Delay(() => _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Delay(() => {\n const input_8 = f((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.head)(xs));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(input_8, (x_2) => {\n if (x_2 == null) {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(void 0);\n }\n else {\n const _arg = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_3__.value)(x_2);\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (x_1) => {\n if (x_1 == null) {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(void 0);\n }\n else {\n const _arg_1 = x_1;\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.cons)(_arg, _arg_1));\n }\n });\n }\n });\n }), (_arg_2) => {\n const o = _arg_2;\n return (o == null) ? _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(o) : _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.ReturnFrom(traverseAsyncOptionM$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(o), f, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.tail)(xs)));\n }));\n }\n else {\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Bind(state, (x$0027) => {\n let value;\n const input_2 = x$0027;\n value = ((input_2 == null) ? (void 0) : (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.reverse)(input_2));\n return _fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return(value);\n });\n }\n}\n\nfunction traverseOptionM(f, xs) {\n return traverseOptionM$0027((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)(), f, xs);\n}\n\nfunction sequenceOptionM(xs) {\n return traverseOptionM((x) => x, xs);\n}\n\nfunction traverseAsyncOptionM(f, xs) {\n return traverseAsyncOptionM$0027(_fable_library_3_7_20_AsyncBuilder_js__WEBPACK_IMPORTED_MODULE_2__.singleton.Return((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_0__.empty)()), f, xs);\n}\n\nfunction sequenceAsyncOptionM(xs) {\n return traverseAsyncOptionM((x) => x, xs);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9Gc1Rvb2xraXQuRXJyb3JIYW5kbGluZy40LjE3LjAvTGlzdC5mcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBOEg7QUFDM0Q7QUFDQztBQUNFOztBQUV0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsc0VBQU87QUFDcEI7QUFDQSw4QkFBOEIsbUVBQUk7QUFDbEM7QUFDQSx5QkFBeUIsMkVBQWM7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELDJFQUFjLCtCQUErQiwyRUFBYyxJQUFJLG1FQUFJO0FBQ25IO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLG1FQUFJO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQiwyRUFBYztBQUN6QztBQUNBO0FBQ0EsMkJBQTJCLDJFQUFjLElBQUksc0VBQU87QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVMsc0VBQU87QUFDaEIsZUFBZSw0RUFBUyxhQUFhLDRFQUFTLE1BQU0sNEVBQVMsYUFBYSw0RUFBUztBQUNuRjtBQUNBO0FBQ0EsdUJBQXVCLDRFQUFTLFlBQVksMkVBQWM7QUFDMUQ7QUFDQTtBQUNBLDhCQUE4QixtRUFBSTtBQUNsQyx1QkFBdUIsNEVBQVM7QUFDaEM7QUFDQTtBQUNBLDBEQUEwRCwyRUFBYywrQkFBK0IsMkVBQWMsSUFBSSxtRUFBSTtBQUM3SCwyQkFBMkIsNEVBQVM7QUFDcEMsaUJBQWlCO0FBQ2pCO0FBQ0EsU0FBUztBQUNUO0FBQ0EsbUNBQW1DLDRFQUFTLGFBQWEsNEVBQVMsc0NBQXNDLDRFQUFTLGVBQWUsbUVBQUk7QUFDcEksU0FBUztBQUNUO0FBQ0E7QUFDQSxlQUFlLDRFQUFTO0FBQ3hCO0FBQ0E7QUFDQSxnREFBZ0QsMkVBQWMsK0JBQStCLDJFQUFjLElBQUksc0VBQU87QUFDdEgsbUJBQW1CLDRFQUFT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Q0EsNkJBQTZCLHNFQUFRO0FBQ3JDO0FBQ0Esb0RBQW9ELG1FQUFJO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLG1FQUFJO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixzRUFBTztBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUyxzRUFBTztBQUNoQixlQUFlLDRFQUFTLGFBQWEsNEVBQVMsTUFBTSw0RUFBUztBQUM3RCw4QkFBOEIsbUVBQUk7QUFDbEMsbUJBQW1CLDRFQUFTO0FBQzVCO0FBQ0EsMkJBQTJCLDRFQUFTO0FBQ3BDO0FBQ0E7QUFDQSxpQ0FBaUMsc0VBQVE7QUFDekMsMkJBQTJCLDRFQUFTO0FBQ3BDO0FBQ0EsbUNBQW1DLDRFQUFTO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyw0RUFBUyxRQUFRLG1FQUFJO0FBQ3hEO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBLGlDQUFpQyw0RUFBUyxhQUFhLDRFQUFTLHNDQUFzQyw0RUFBUyxlQUFlLG1FQUFJO0FBQ2xJLFNBQVM7QUFDVDtBQUNBO0FBQ0EsZUFBZSw0RUFBUztBQUN4QjtBQUNBO0FBQ0Esb0RBQW9ELHNFQUFPO0FBQzNELG1CQUFtQiw0RUFBUztBQUM1QixTQUFTO0FBQ1Q7QUFDQTs7QUFFTztBQUNQLGdDQUFnQyxvRUFBSztBQUNyQzs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUCxxQ0FBcUMsNEVBQVMsUUFBUSxvRUFBSztBQUMzRDs7QUFFTztBQUNQO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AZmxhcmVoci93b3JrZmxvd3MtYXBwLy4vdGVzdHMvV29ya2Zsb3dzLlVJLlRlc3RzL2ZhYmxlX21vZHVsZXMvRnNUb29sa2l0LkVycm9ySGFuZGxpbmcuNC4xNy4wL0xpc3QuZnMuanM/MzE1YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcHBlbmQsIHNpbmdsZXRvbiBhcyBzaW5nbGV0b25fMSwgZW1wdHksIHJldmVyc2UsIHRhaWwsIGNvbnMsIGhlYWQsIGlzRW1wdHkgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvTGlzdC5qc1wiO1xuaW1wb3J0IHsgRlNoYXJwUmVzdWx0JDIgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvQ2hvaWNlLmpzXCI7XG5pbXBvcnQgeyBzaW5nbGV0b24gfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvQXN5bmNCdWlsZGVyLmpzXCI7XG5pbXBvcnQgeyB2YWx1ZSBhcyB2YWx1ZV8xMCB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9PcHRpb24uanNcIjtcblxuZnVuY3Rpb24gdHJhdmVyc2VSZXN1bHRNJDAwMjcoc3RhdGVfbXV0LCBmX211dCwgeHNfbXV0KSB7XG4gICAgdHJhdmVyc2VSZXN1bHRNJDAwMjc6XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBzdGF0ZV9tdXQsIGYgPSBmX211dCwgeHMgPSB4c19tdXQ7XG4gICAgICAgIGlmICghaXNFbXB0eSh4cykpIHtcbiAgICAgICAgICAgIGxldCByO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfNCA9IGYoaGVhZCh4cykpO1xuICAgICAgICAgICAgaWYgKGlucHV0XzQudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgciA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfNC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzIgPSBzdGF0ZTtcbiAgICAgICAgICAgICAgICByID0gKChpbnB1dF8yLnRhZyA9PT0gMSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzIuZmllbGRzWzBdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGNvbnMoaW5wdXRfNC5maWVsZHNbMF0sIGlucHV0XzIuZmllbGRzWzBdKSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiByO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgc3RhdGVfbXV0ID0gcjtcbiAgICAgICAgICAgICAgICBmX211dCA9IGY7XG4gICAgICAgICAgICAgICAgeHNfbXV0ID0gdGFpbCh4cyk7XG4gICAgICAgICAgICAgICAgY29udGludWUgdHJhdmVyc2VSZXN1bHRNJDAwMjc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF8xID0gc3RhdGU7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGlucHV0XzEuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcmV2ZXJzZShpbnB1dF8xLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdHJhdmVyc2VBc3luY1Jlc3VsdE0kMDAyNyhzdGF0ZSwgZiwgeHMpIHtcbiAgICBpZiAoIWlzRW1wdHkoeHMpKSB7XG4gICAgICAgIHJldHVybiBzaW5nbGV0b24uRGVsYXkoKCkgPT4gc2luZ2xldG9uLkJpbmQoc2luZ2xldG9uLkRlbGF5KCgpID0+IHNpbmdsZXRvbi5CaW5kKHN0YXRlLCAoaW5wdXRfMV8zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF8xMCA9IGlucHV0XzFfMztcbiAgICAgICAgICAgIGlmIChpbnB1dF8xMC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMSwgaW5wdXRfMTAuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB4XzIgPSBmKGhlYWQoeHMpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLkJpbmQoeF8yLCAoeCQwMDI3XzEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlXzI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0XzYgPSB4JDAwMjdfMTtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVfMiA9ICgoaW5wdXRfNi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF82LmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBjb25zKGlucHV0XzYuZmllbGRzWzBdLCBpbnB1dF8xMC5maWVsZHNbMF0pKSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybih2YWx1ZV8yKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpLCAoX2FyZ18yKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByID0gX2FyZ18yO1xuICAgICAgICAgICAgcmV0dXJuIChyLnRhZyA9PT0gMSkgPyBzaW5nbGV0b24uUmV0dXJuKHIpIDogc2luZ2xldG9uLlJldHVybkZyb20odHJhdmVyc2VBc3luY1Jlc3VsdE0kMDAyNyhzaW5nbGV0b24uUmV0dXJuKHIpLCBmLCB0YWlsKHhzKSkpO1xuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gc2luZ2xldG9uLkJpbmQoc3RhdGUsICh4JDAwMjcpID0+IHtcbiAgICAgICAgICAgIGxldCB2YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzIgPSB4JDAwMjc7XG4gICAgICAgICAgICB2YWx1ZSA9ICgoaW5wdXRfMi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBpbnB1dF8yLmZpZWxkc1swXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCByZXZlcnNlKGlucHV0XzIuZmllbGRzWzBdKSkpKTtcbiAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhdmVyc2VSZXN1bHRNKGYsIHhzKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlUmVzdWx0TSQwMDI3KG5ldyBGU2hhcnBSZXN1bHQkMigwLCBlbXB0eSgpKSwgZiwgeHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VxdWVuY2VSZXN1bHRNKHhzKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlUmVzdWx0TSgoeCkgPT4geCwgeHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhdmVyc2VBc3luY1Jlc3VsdE0oZiwgeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VBc3luY1Jlc3VsdE0kMDAyNyhzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBlbXB0eSgpKSksIGYsIHhzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcXVlbmNlQXN5bmNSZXN1bHRNKHhzKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlQXN5bmNSZXN1bHRNKCh4KSA9PiB4LCB4cyk7XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlUmVzdWx0QSQwMDI3KHN0YXRlX211dCwgZl9tdXQsIHhzX211dCkge1xuICAgIHRyYXZlcnNlUmVzdWx0QSQwMDI3OlxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gc3RhdGVfbXV0LCBmID0gZl9tdXQsIHhzID0geHNfbXV0O1xuICAgICAgICBpZiAoIWlzRW1wdHkoeHMpKSB7XG4gICAgICAgICAgICBjb25zdCB4c18xID0gdGFpbCh4cyk7XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlID0gW3N0YXRlLCBmKGhlYWQoeHMpKV07XG4gICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3QgPSBtYXRjaFZhbHVlWzBdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfMSA9IG1hdGNoVmFsdWVbMV07XG4gICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZV9tdXQgPSAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICAgICAgZl9tdXQgPSBmO1xuICAgICAgICAgICAgICAgICAgICB4c19tdXQgPSB4c18xO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSB0cmF2ZXJzZVJlc3VsdEEkMDAyNztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlX211dCA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29ucyhjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pKSk7XG4gICAgICAgICAgICAgICAgICAgIGZfbXV0ID0gZjtcbiAgICAgICAgICAgICAgICAgICAgeHNfbXV0ID0geHNfMTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWUgdHJhdmVyc2VSZXN1bHRBJDAwMjc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICAgICAgICAgIGlmIChjb3B5T2ZTdHJ1Y3RfMi50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVfbXV0ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBzaW5nbGV0b25fMShjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0pKSk7XG4gICAgICAgICAgICAgICAgICAgIGZfbXV0ID0gZjtcbiAgICAgICAgICAgICAgICAgICAgeHNfbXV0ID0geHNfMTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWUgdHJhdmVyc2VSZXN1bHRBJDAwMjc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZV9tdXQgPSAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGNvbnMoY29weU9mU3RydWN0XzIuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKSkpO1xuICAgICAgICAgICAgICAgICAgICBmX211dCA9IGY7XG4gICAgICAgICAgICAgICAgICAgIHhzX211dCA9IHhzXzE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIHRyYXZlcnNlUmVzdWx0QSQwMDI3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzEgPSBzdGF0ZTtcbiAgICAgICAgICAgIGlmIChpbnB1dF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgcmV2ZXJzZShpbnB1dF8xLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCByZXZlcnNlKGlucHV0XzEuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB0cmF2ZXJzZUFzeW5jUmVzdWx0QSQwMDI3KHN0YXRlLCBmLCB4cykge1xuICAgIGlmICghaXNFbXB0eSh4cykpIHtcbiAgICAgICAgY29uc3QgeHNfMSA9IHRhaWwoeHMpO1xuICAgICAgICByZXR1cm4gc2luZ2xldG9uLkRlbGF5KCgpID0+IHNpbmdsZXRvbi5CaW5kKHN0YXRlLCAoX2FyZykgPT4gc2luZ2xldG9uLkJpbmQoZihoZWFkKHhzKSksIChfYXJnXzEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBbX2FyZywgX2FyZ18xXTtcbiAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgICAgICAgICBpZiAoY29weU9mU3RydWN0LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMCkgPyBzaW5nbGV0b24uUmV0dXJuRnJvbSh0cmF2ZXJzZUFzeW5jUmVzdWx0QSQwMDI3KHNpbmdsZXRvbi5SZXR1cm4obmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pKSwgZiwgeHNfMSkpIDogc2luZ2xldG9uLlJldHVybkZyb20odHJhdmVyc2VBc3luY1Jlc3VsdEEkMDAyNyhzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb25zKGNvcHlPZlN0cnVjdF8xLmZpZWxkc1swXSwgY29weU9mU3RydWN0LmZpZWxkc1swXSkpKSwgZiwgeHNfMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICAgICAgICAgIHJldHVybiAoY29weU9mU3RydWN0XzIudGFnID09PSAxKSA/IHNpbmdsZXRvbi5SZXR1cm5Gcm9tKHRyYXZlcnNlQXN5bmNSZXN1bHRBJDAwMjcoc2luZ2xldG9uLlJldHVybihuZXcgRlNoYXJwUmVzdWx0JDIoMSwgc2luZ2xldG9uXzEoY29weU9mU3RydWN0XzIuZmllbGRzWzBdKSkpLCBmLCB4c18xKSkgOiBzaW5nbGV0b24uUmV0dXJuRnJvbSh0cmF2ZXJzZUFzeW5jUmVzdWx0QSQwMDI3KHNpbmdsZXRvbi5SZXR1cm4obmV3IEZTaGFycFJlc3VsdCQyKDAsIGNvbnMoY29weU9mU3RydWN0XzIuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKSkpLCBmLCB4c18xKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gc2luZ2xldG9uLkJpbmQoc3RhdGUsICh4JDAwMjcpID0+IHtcbiAgICAgICAgICAgIGxldCB2YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzIgPSB4JDAwMjc7XG4gICAgICAgICAgICB2YWx1ZSA9ICgoaW5wdXRfMi50YWcgPT09IDEpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigxLCByZXZlcnNlKGlucHV0XzIuZmllbGRzWzBdKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigwLCByZXZlcnNlKGlucHV0XzIuZmllbGRzWzBdKSkpKTtcbiAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhdmVyc2VSZXN1bHRBKGYsIHhzKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlUmVzdWx0QSQwMDI3KG5ldyBGU2hhcnBSZXN1bHQkMigwLCBlbXB0eSgpKSwgZiwgeHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VxdWVuY2VSZXN1bHRBKHhzKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlUmVzdWx0QSgoeCkgPT4geCwgeHMpO1xufVxuXG5mdW5jdGlvbiB0cmF2ZXJzZVZhbGlkYXRpb25BJDAwMjcoc3RhdGVfbXV0LCBmX211dCwgeHNfbXV0KSB7XG4gICAgdHJhdmVyc2VWYWxpZGF0aW9uQSQwMDI3OlxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gc3RhdGVfbXV0LCBmID0gZl9tdXQsIHhzID0geHNfbXV0O1xuICAgICAgICBpZiAoIWlzRW1wdHkoeHMpKSB7XG4gICAgICAgICAgICBjb25zdCB4c18xID0gdGFpbCh4cyk7XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlID0gW3N0YXRlLCBmKGhlYWQoeHMpKV07XG4gICAgICAgICAgICBsZXQgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQsIHksIHlzLCBlcnJzMSwgZXJyczIsIGVycnM7XG4gICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3QgPSBtYXRjaFZhbHVlWzBdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfMSA9IG1hdGNoVmFsdWVbMV07XG4gICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDI7XG4gICAgICAgICAgICAgICAgICAgIGVycnMgPSBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAxO1xuICAgICAgICAgICAgICAgICAgICBlcnJzMSA9IGNvcHlPZlN0cnVjdC5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgIGVycnMyID0gY29weU9mU3RydWN0XzEuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8yID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzIudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMjtcbiAgICAgICAgICAgICAgICAgICAgZXJycyA9IGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgeSA9IGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgeXMgPSBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN3aXRjaCAocGF0dGVybl9tYXRjaGluZ19yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGVfbXV0ID0gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBjb25zKHksIHlzKSkpO1xuICAgICAgICAgICAgICAgICAgICBmX211dCA9IGY7XG4gICAgICAgICAgICAgICAgICAgIHhzX211dCA9IHhzXzE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIHRyYXZlcnNlVmFsaWRhdGlvbkEkMDAyNztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAxOiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlX211dCA9IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgYXBwZW5kKGVycnMyLCBlcnJzMSkpKTtcbiAgICAgICAgICAgICAgICAgICAgZl9tdXQgPSBmO1xuICAgICAgICAgICAgICAgICAgICB4c19tdXQgPSB4c18xO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSB0cmF2ZXJzZVZhbGlkYXRpb25BJDAwMjc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgICAgICBzdGF0ZV9tdXQgPSAobmV3IEZTaGFycFJlc3VsdCQyKDEsIGVycnMpKTtcbiAgICAgICAgICAgICAgICAgICAgZl9tdXQgPSBmO1xuICAgICAgICAgICAgICAgICAgICB4c19tdXQgPSB4c18xO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSB0cmF2ZXJzZVZhbGlkYXRpb25BJDAwMjc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfMSA9IHN0YXRlO1xuICAgICAgICAgICAgaWYgKGlucHV0XzEudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCByZXZlcnNlKGlucHV0XzEuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHJldmVyc2UoaW5wdXRfMS5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmF2ZXJzZVZhbGlkYXRpb25BKGYsIHhzKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlVmFsaWRhdGlvbkEkMDAyNyhuZXcgRlNoYXJwUmVzdWx0JDIoMCwgZW1wdHkoKSksIGYsIHhzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcXVlbmNlVmFsaWRhdGlvbkEoeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VWYWxpZGF0aW9uQSgoeCkgPT4geCwgeHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhdmVyc2VBc3luY1Jlc3VsdEEoZiwgeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VBc3luY1Jlc3VsdEEkMDAyNyhzaW5nbGV0b24uUmV0dXJuKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBlbXB0eSgpKSksIGYsIHhzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcXVlbmNlQXN5bmNSZXN1bHRBKHhzKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlQXN5bmNSZXN1bHRBKCh4KSA9PiB4LCB4cyk7XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlT3B0aW9uTSQwMDI3KHN0YXRlX211dCwgZl9tdXQsIHhzX211dCkge1xuICAgIHRyYXZlcnNlT3B0aW9uTSQwMDI3OlxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gc3RhdGVfbXV0LCBmID0gZl9tdXQsIHhzID0geHNfbXV0O1xuICAgICAgICBpZiAoIWlzRW1wdHkoeHMpKSB7XG4gICAgICAgICAgICBsZXQgcjtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzUgPSBmKGhlYWQoeHMpKTtcbiAgICAgICAgICAgIGlmIChpbnB1dF81ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByID0gKHZvaWQgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBfYXJnID0gdmFsdWVfMTAoaW5wdXRfNSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXRfMyA9IHN0YXRlO1xuICAgICAgICAgICAgICAgIHIgPSAoKGlucHV0XzMgPT0gbnVsbCkgPyAodm9pZCAwKSA6IGNvbnMoX2FyZywgaW5wdXRfMykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiByO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgc3RhdGVfbXV0ID0gcjtcbiAgICAgICAgICAgICAgICBmX211dCA9IGY7XG4gICAgICAgICAgICAgICAgeHNfbXV0ID0gdGFpbCh4cyk7XG4gICAgICAgICAgICAgICAgY29udGludWUgdHJhdmVyc2VPcHRpb25NJDAwMjc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dF8xID0gc3RhdGU7XG4gICAgICAgICAgICBpZiAoaW5wdXRfMSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXZlcnNlKGlucHV0XzEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gdHJhdmVyc2VBc3luY09wdGlvbk0kMDAyNyhzdGF0ZSwgZiwgeHMpIHtcbiAgICBpZiAoIWlzRW1wdHkoeHMpKSB7XG4gICAgICAgIHJldHVybiBzaW5nbGV0b24uRGVsYXkoKCkgPT4gc2luZ2xldG9uLkJpbmQoc2luZ2xldG9uLkRlbGF5KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0XzggPSBmKGhlYWQoeHMpKTtcbiAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uQmluZChpbnB1dF84LCAoeF8yKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHhfMiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKHZvaWQgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBfYXJnID0gdmFsdWVfMTAoeF8yKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNpbmdsZXRvbi5CaW5kKHN0YXRlLCAoeF8xKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeF8xID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2luZ2xldG9uLlJldHVybih2b2lkIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX2FyZ18xID0geF8xO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKGNvbnMoX2FyZywgX2FyZ18xKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSwgKF9hcmdfMikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbyA9IF9hcmdfMjtcbiAgICAgICAgICAgIHJldHVybiAobyA9PSBudWxsKSA/IHNpbmdsZXRvbi5SZXR1cm4obykgOiBzaW5nbGV0b24uUmV0dXJuRnJvbSh0cmF2ZXJzZUFzeW5jT3B0aW9uTSQwMDI3KHNpbmdsZXRvbi5SZXR1cm4obyksIGYsIHRhaWwoeHMpKSk7XG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBzaW5nbGV0b24uQmluZChzdGF0ZSwgKHgkMDAyNykgPT4ge1xuICAgICAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRfMiA9IHgkMDAyNztcbiAgICAgICAgICAgIHZhbHVlID0gKChpbnB1dF8yID09IG51bGwpID8gKHZvaWQgMCkgOiByZXZlcnNlKGlucHV0XzIpKTtcbiAgICAgICAgICAgIHJldHVybiBzaW5nbGV0b24uUmV0dXJuKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhdmVyc2VPcHRpb25NKGYsIHhzKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlT3B0aW9uTSQwMDI3KGVtcHR5KCksIGYsIHhzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcXVlbmNlT3B0aW9uTSh4cykge1xuICAgIHJldHVybiB0cmF2ZXJzZU9wdGlvbk0oKHgpID0+IHgsIHhzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYXZlcnNlQXN5bmNPcHRpb25NKGYsIHhzKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlQXN5bmNPcHRpb25NJDAwMjcoc2luZ2xldG9uLlJldHVybihlbXB0eSgpKSwgZiwgeHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VxdWVuY2VBc3luY09wdGlvbk0oeHMpIHtcbiAgICByZXR1cm4gdHJhdmVyc2VBc3luY09wdGlvbk0oKHgpID0+IHgsIHhzKTtcbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./tests/Workflows.UI.Tests/fable_modules/FsToolkit.ErrorHandling.4.17.0/List.fs.js\n");
|
|
3307
3307
|
|
|
3308
3308
|
/***/ }),
|
|
3309
3309
|
|
|
@@ -3406,36 +3406,36 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
3406
3406
|
|
|
3407
3407
|
/***/ }),
|
|
3408
3408
|
|
|
3409
|
-
/***/ "./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.
|
|
3409
|
+
/***/ "./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Decode.fs.js":
|
|
3410
3410
|
/*!*******************************************************************************!*\
|
|
3411
|
-
!*** ./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.
|
|
3411
|
+
!*** ./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Decode.fs.js ***!
|
|
3412
3412
|
\*******************************************************************************/
|
|
3413
3413
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
3414
3414
|
|
|
3415
3415
|
"use strict";
|
|
3416
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Auto: () => (/* binding */ Auto),\n/* harmony export */ Auto$reflection: () => (/* binding */ Auto$reflection),\n/* harmony export */ Auto_generateBoxedDecoderCached_79988AEF: () => (/* binding */ Auto_generateBoxedDecoderCached_79988AEF),\n/* harmony export */ Auto_generateBoxedDecoder_79988AEF: () => (/* binding */ Auto_generateBoxedDecoder_79988AEF),\n/* harmony export */ Getters$1: () => (/* binding */ Getters$1),\n/* harmony export */ Getters$1$reflection: () => (/* binding */ Getters$1$reflection),\n/* harmony export */ Getters$1_$ctor_4A51B60E: () => (/* binding */ Getters$1_$ctor_4A51B60E),\n/* harmony export */ Getters$1__get_Errors: () => (/* binding */ Getters$1__get_Errors),\n/* harmony export */ Helpers_isUndefined: () => (/* binding */ Helpers_isUndefined),\n/* harmony export */ all: () => (/* binding */ all),\n/* harmony export */ andMap: () => (/* binding */ andMap),\n/* harmony export */ andThen: () => (/* binding */ andThen),\n/* harmony export */ array: () => (/* binding */ array),\n/* harmony export */ at: () => (/* binding */ at),\n/* harmony export */ bigint: () => (/* binding */ bigint),\n/* harmony export */ bool: () => (/* binding */ bool),\n/* harmony export */ byte: () => (/* binding */ byte),\n/* harmony export */ char: () => (/* binding */ char),\n/* harmony export */ datetime: () => (/* binding */ datetime),\n/* harmony export */ datetimeLocal: () => (/* binding */ datetimeLocal),\n/* harmony export */ datetimeOffset: () => (/* binding */ datetimeOffset),\n/* harmony export */ datetimeUtc: () => (/* binding */ datetimeUtc),\n/* harmony export */ decimal: () => (/* binding */ decimal),\n/* harmony export */ decodeString: () => (/* binding */ decodeString),\n/* harmony export */ decodeValue: () => (/* binding */ decodeValue),\n/* harmony export */ dict: () => (/* binding */ dict),\n/* harmony export */ fail: () => (/* binding */ fail),\n/* harmony export */ field: () => (/* binding */ field),\n/* harmony export */ float: () => (/* binding */ float),\n/* harmony export */ float32: () => (/* binding */ float32),\n/* harmony export */ fromString: () => (/* binding */ fromString),\n/* harmony export */ fromValue: () => (/* binding */ fromValue),\n/* harmony export */ guid: () => (/* binding */ guid),\n/* harmony export */ index: () => (/* binding */ index),\n/* harmony export */ int: () => (/* binding */ int),\n/* harmony export */ int16: () => (/* binding */ int16),\n/* harmony export */ int64: () => (/* binding */ int64),\n/* harmony export */ keyValuePairs: () => (/* binding */ keyValuePairs),\n/* harmony export */ keys: () => (/* binding */ keys),\n/* harmony export */ list: () => (/* binding */ list),\n/* harmony export */ map: () => (/* binding */ map),\n/* harmony export */ map$0027: () => (/* binding */ map$0027),\n/* harmony export */ map2: () => (/* binding */ map2),\n/* harmony export */ map3: () => (/* binding */ map3),\n/* harmony export */ map4: () => (/* binding */ map4),\n/* harmony export */ map5: () => (/* binding */ map5),\n/* harmony export */ map6: () => (/* binding */ map6),\n/* harmony export */ map7: () => (/* binding */ map7),\n/* harmony export */ map8: () => (/* binding */ map8),\n/* harmony export */ nil: () => (/* binding */ nil),\n/* harmony export */ object: () => (/* binding */ object),\n/* harmony export */ oneOf: () => (/* binding */ oneOf),\n/* harmony export */ option: () => (/* binding */ option),\n/* harmony export */ optional: () => (/* binding */ optional),\n/* harmony export */ optionalAt: () => (/* binding */ optionalAt),\n/* harmony export */ sbyte: () => (/* binding */ sbyte),\n/* harmony export */ seq: () => (/* binding */ seq),\n/* harmony export */ string: () => (/* binding */ string),\n/* harmony export */ succeed: () => (/* binding */ succeed),\n/* harmony export */ timespan: () => (/* binding */ timespan),\n/* harmony export */ tuple2: () => (/* binding */ tuple2),\n/* harmony export */ tuple3: () => (/* binding */ tuple3),\n/* harmony export */ tuple4: () => (/* binding */ tuple4),\n/* harmony export */ tuple5: () => (/* binding */ tuple5),\n/* harmony export */ tuple6: () => (/* binding */ tuple6),\n/* harmony export */ tuple7: () => (/* binding */ tuple7),\n/* harmony export */ tuple8: () => (/* binding */ tuple8),\n/* harmony export */ uint16: () => (/* binding */ uint16),\n/* harmony export */ uint32: () => (/* binding */ uint32),\n/* harmony export */ uint64: () => (/* binding */ uint64),\n/* harmony export */ unit: () => (/* binding */ unit),\n/* harmony export */ unsafeFromString: () => (/* binding */ unsafeFromString),\n/* harmony export */ value: () => (/* binding */ value)\n/* harmony export */ });\n/* harmony import */ var _fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n/* harmony import */ var _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Types.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/Types.fs.js\");\n/* harmony import */ var _fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../fable-library.3.7.20/Guid.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Guid.js\");\n/* harmony import */ var _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../fable-library.3.7.20/Int32.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Int32.js\");\n/* harmony import */ var _fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../fable-library.3.7.20/Long.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Long.js\");\n/* harmony import */ var _fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../fable-library.3.7.20/BigInt.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/BigInt.js\");\n/* harmony import */ var _fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../fable-library.3.7.20/Decimal.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Decimal.js\");\n/* harmony import */ var _fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../fable-library.3.7.20/Date.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Date.js\");\n/* harmony import */ var _fable_library_3_7_20_DateOffset_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../fable-library.3.7.20/DateOffset.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/DateOffset.js\");\n/* harmony import */ var _fable_library_3_7_20_TimeSpan_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../fable-library.3.7.20/TimeSpan.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/TimeSpan.js\");\n/* harmony import */ var _fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n/* harmony import */ var _fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../fable-library.3.7.20/Array.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Array.js\");\n/* harmony import */ var _fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../fable-library.3.7.20/Seq.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Seq.js\");\n/* harmony import */ var _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../fable-library.3.7.20/Map.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Map.js\");\n/* harmony import */ var _fable_library_3_7_20_Set_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../fable-library.3.7.20/Set.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Set.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction Helpers_isUndefined(o) {\n return (typeof o) === \"undefined\";\n}\n\nfunction genericMsg(msg, value_1, newLine) {\n try {\n return (((\"Expecting \" + msg) + \" but instead got:\") + (newLine ? \"\\n\" : \" \")) + (JSON.stringify(value_1, null, 4) + '');\n }\n catch (matchValue) {\n return ((\"Expecting \" + msg) + \" but decoder failed. Couldn\\u0027t report given value due to circular structure.\") + (newLine ? \"\\n\" : \" \");\n }\n}\n\nfunction errorToString(path, error) {\n const reason_1 = (error.tag === 2) ? genericMsg(error.fields[0], error.fields[1], true) : ((error.tag === 1) ? ((genericMsg(error.fields[0], error.fields[1], false) + \"\\nReason: \") + error.fields[2]) : ((error.tag === 3) ? genericMsg(error.fields[0], error.fields[1], true) : ((error.tag === 4) ? (genericMsg(error.fields[0], error.fields[1], true) + ((\"\\nNode `\" + error.fields[2]) + \"` is unkown.\")) : ((error.tag === 5) ? (((\"Expecting \" + error.fields[0]) + \".\\n\") + (JSON.stringify(error.fields[1], null, 4) + '')) : ((error.tag === 7) ? (\"The following errors were found:\\n\\n\" + (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.join)(\"\\n\\n\", error.fields[0])) : ((error.tag === 6) ? (\"The following `failure` occurred with the decoder: \" + error.fields[0]) : genericMsg(error.fields[0], error.fields[1], false)))))));\n if (error.tag === 7) {\n return reason_1;\n }\n else {\n return ((\"Error at: `\" + path) + \"`\\n\") + reason_1;\n }\n}\n\nfunction fromValue(path, decoder, value_1) {\n const matchValue = decoder(path, value_1);\n if (matchValue.tag === 1) {\n const error = matchValue.fields[0];\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, errorToString(error[0], error[1]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue.fields[0]);\n }\n}\n\nfunction fromString(decoder, value_1) {\n try {\n return fromValue(\"$\", decoder, JSON.parse(value_1));\n }\n catch (matchValue) {\n if (matchValue instanceof SyntaxError) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, \"Given an invalid JSON: \" + matchValue.message);\n }\n else {\n throw matchValue;\n }\n }\n}\n\nfunction unsafeFromString(decoder, value_1) {\n const matchValue = fromString(decoder, value_1);\n if (matchValue.tag === 1) {\n throw (new Error(matchValue.fields[0]));\n }\n else {\n return matchValue.fields[0];\n }\n}\n\nfunction decodeValue(path, decoder) {\n const decoder_1 = decoder;\n return (value_1) => fromValue(path, decoder_1, value_1);\n}\n\nfunction decodeString(decoder) {\n const decoder_1 = decoder;\n return (value_1) => fromString(decoder_1, value_1);\n}\n\nfunction string(path, value_1) {\n if ((typeof value_1) === \"string\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a string\", value_1)]);\n }\n}\n\nfunction char(path, value_1) {\n if ((typeof value_1) === \"string\") {\n const str = value_1;\n if (str.length === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, str[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a single character string\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a char\", value_1)]);\n }\n}\n\nfunction guid(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = \"00000000-0000-0000-0000-000000000000\";\n matchValue = [(0,_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_3__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a guid\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a guid\", value_1)]);\n }\n}\n\nfunction unit(path, value_1) {\n if (value_1 == null) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"null\", value_1)]);\n }\n}\n\nconst sbyte = (path) => ((value_2) => {\n const name_1 = \"a sbyte\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((-128 <= value_1_1) && (value_1_1 <= 127)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (value_1_1 + 0x80 & 0xFF) - 0x80)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, false, 8, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = (v | 0);\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst byte = (path) => ((value_2) => {\n const name_1 = \"a byte\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((0 <= value_1_1) && (value_1_1 <= 255)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1_1 & 0xFF)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, true, 8, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst int16 = (path) => ((value_2) => {\n const name_1 = \"an int16\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((-32768 <= value_1_1) && (value_1_1 <= 32767)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (value_1_1 + 0x8000 & 0xFFFF) - 0x8000)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, false, 16, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = (v | 0);\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst uint16 = (path) => ((value_2) => {\n const name_1 = \"an uint16\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((0 <= value_1_1) && (value_1_1 <= 65535)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1_1 & 0xFFFF)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, true, 16, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst int = (path) => ((value_2) => {\n const name_1 = \"an int\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((-2147483648 <= value_1_1) && (value_1_1 <= 2147483647)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ~(~value_1_1))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, false, 32, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = (v | 0);\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst uint32 = (path) => ((value_2) => {\n const name_1 = \"an uint32\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((0 <= value_1_1) && (value_1_1 <= 4294967295)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1_1 >>> 0)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, true, 32, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst int64 = (path) => ((value_2) => {\n const name_1 = \"an int64\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? ((((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.toNumber)((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromBits)(0, 2147483648, false)) <= value_1_1) && (value_1_1 <= (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.toNumber)((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromBits)(4294967295, 2147483647, false)))) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromNumber)(value_1_1, false))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromInt)(0);\n matchValue = [(0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.tryParse)(value_3, 511, false, 64, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst uint64 = (path) => ((value_2) => {\n const name_1 = \"an uint64\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? ((((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.toNumber)((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromBits)(0, 0, true)) <= value_1_1) && (value_1_1 <= (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.toNumber)((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromBits)(4294967295, 4294967295, true)))) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromNumber)(value_1_1, true))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromInt)(0);\n matchValue = [(0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.tryParse)(value_3, 511, true, 64, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nfunction bigint(path, value_1) {\n if ((typeof value_1) === \"number\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_7__.fromInt32)(value_1));\n }\n else if ((typeof value_1) === \"string\") {\n try {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_7__.parse)(value_1));\n }\n catch (matchValue) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a bigint\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a bigint\", value_1)]);\n }\n}\n\nfunction bool(path, value_1) {\n if ((typeof value_1) === \"boolean\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a boolean\", value_1)]);\n }\n}\n\nfunction float(path, value_1) {\n if ((typeof value_1) === \"number\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a float\", value_1)]);\n }\n}\n\nfunction float32(path, value_1) {\n if ((typeof value_1) === \"number\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a float32\", value_1)]);\n }\n}\n\nfunction decimal(path, value_1) {\n if ((typeof value_1) === \"number\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, new _fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"](value_1));\n }\n else if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = new _fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"](0);\n matchValue = [(0,_fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_8__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a decimal\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a decimal\", value_1)]);\n }\n}\n\nfunction datetime(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.minValue)();\n matchValue = [(0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.toUniversalTime)(matchValue[1]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n}\n\nfunction datetimeUtc(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.minValue)();\n matchValue = [(0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.toUniversalTime)(matchValue[1]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n}\n\nfunction datetimeLocal(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.minValue)();\n matchValue = [(0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n}\n\nfunction datetimeOffset(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_DateOffset_js__WEBPACK_IMPORTED_MODULE_10__.minValue)();\n matchValue = [(0,_fable_library_3_7_20_DateOffset_js__WEBPACK_IMPORTED_MODULE_10__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetimeoffset\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n}\n\nfunction timespan(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_TimeSpan_js__WEBPACK_IMPORTED_MODULE_11__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a timespan\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a timespan\", value_1)]);\n }\n}\n\nfunction decodeMaybeNull(path, decoder, value_1) {\n if (value_1 == null) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n const matchValue = decoder(path, value_1);\n if (matchValue.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.some)(matchValue.fields[0]));\n }\n }\n}\n\nfunction optional(fieldName, decoder, path, value_1) {\n if (value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype)) {\n const fieldValue = value_1[fieldName];\n if (Helpers_isUndefined(fieldValue)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n return decodeMaybeNull((path + \".\") + fieldName, decoder, fieldValue);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an object\", value_1)]);\n }\n}\n\nfunction badPathError(fieldNames, currentPath, value_1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [(0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(currentPath, (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.join)(\".\", (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)(\"$\", fieldNames))), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(4, (\"an object with path `\" + (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.join)(\".\", fieldNames)) + \"`\", value_1, (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.tryLast)(fieldNames), \"\"))]);\n}\n\nfunction optionalAt(fieldNames, decoder, firstPath, firstValue) {\n const _arg = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.fold)((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (tupledArg) => {\n const curPath = tupledArg[0];\n const curValue = tupledArg[1];\n const res = tupledArg[2];\n return (field_1) => ((res == null) ? ((curValue == null) ? [curPath, curValue, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0)] : ((curValue === null ? false : (Object.getPrototypeOf(curValue || false) === Object.prototype)) ? [(curPath + \".\") + field_1, curValue[field_1], void 0] : [curPath, curValue, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [curPath, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an object\", curValue)])])) : [curPath, curValue, res]);\n }), [firstPath, firstValue, void 0], fieldNames);\n if (_arg[2] == null) {\n const lastValue = _arg[1];\n if (Helpers_isUndefined(lastValue)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n return decodeMaybeNull(_arg[0], decoder, lastValue);\n }\n }\n else {\n return _arg[2];\n }\n}\n\nfunction field(fieldName, decoder, path, value_1) {\n if (value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype)) {\n const fieldValue = value_1[fieldName];\n if (Helpers_isUndefined(fieldValue)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(3, (\"an object with a field named `\" + fieldName) + \"`\", value_1)]);\n }\n else {\n return decoder((path + \".\") + fieldName, fieldValue);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an object\", value_1)]);\n }\n}\n\nfunction at(fieldNames, decoder, firstPath, firstValue) {\n const _arg = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.fold)((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (tupledArg) => {\n const curPath = tupledArg[0];\n const curValue = tupledArg[1];\n const res = tupledArg[2];\n return (field_1) => {\n if (res == null) {\n if (curValue == null) {\n return [curPath, curValue, badPathError(fieldNames, curPath, firstValue)];\n }\n else if (curValue === null ? false : (Object.getPrototypeOf(curValue || false) === Object.prototype)) {\n const curValue_1 = curValue[field_1];\n return Helpers_isUndefined(curValue_1) ? [curPath, curValue_1, badPathError(fieldNames, void 0, firstValue)] : [(curPath + \".\") + field_1, curValue_1, void 0];\n }\n else {\n return [curPath, curValue, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [curPath, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an object\", curValue)])];\n }\n }\n else {\n return [curPath, curValue, res];\n }\n };\n }), [firstPath, firstValue, void 0], fieldNames);\n if (_arg[2] == null) {\n return decoder(_arg[0], _arg[1]);\n }\n else {\n return _arg[2];\n }\n}\n\nfunction index(requestedIndex, decoder, path, value_1) {\n let copyOfStruct;\n const currentPath = ((path + \".[\") + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(requestedIndex)) + \"]\";\n if (Array.isArray(value_1)) {\n const vArray = value_1;\n if (requestedIndex < vArray.length) {\n return decoder(currentPath, vArray[requestedIndex]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [currentPath, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(5, (((\"a longer array. Need index `\" + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(requestedIndex)) + \"` but there are only `\") + ((copyOfStruct = vArray.length, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(copyOfStruct)))) + \"` entries\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [currentPath, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an array\", value_1)]);\n }\n}\n\nfunction option(decoder, path, value_1) {\n if (value_1 == null) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.some, decoder(path, value_1));\n }\n}\n\nfunction list(decoder, path, value_1) {\n if (Array.isArray(value_1)) {\n let i = -1;\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.reverse, (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.fold)((acc, value_2) => {\n i = ((i + 1) | 0);\n if (acc.tag === 0) {\n const matchValue = decoder(((path + \".[\") + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(i)) + \"]\", value_2);\n if (matchValue.tag === 0) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)(matchValue.fields[0], acc.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)()), value_1));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a list\", value_1)]);\n }\n}\n\nfunction seq(decoder, path, value_1) {\n if (Array.isArray(value_1)) {\n let i = -1;\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.reverse, (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.fold)((acc, value_2) => {\n i = ((i + 1) | 0);\n if (acc.tag === 0) {\n const matchValue = decoder(((path + \".[\") + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(i)) + \"]\", value_2);\n if (matchValue.tag === 0) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.append)([matchValue.fields[0]], acc.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, []), value_1));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a seq\", value_1)]);\n }\n}\n\nfunction array(decoder, path, value_1) {\n if (Array.isArray(value_1)) {\n let i = -1;\n const tokens = value_1;\n return (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.fold)((acc, value_2) => {\n i = ((i + 1) | 0);\n if (acc.tag === 0) {\n const acc_1 = acc.fields[0];\n const matchValue = decoder(((path + \".[\") + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(i)) + \"]\", value_2);\n if (matchValue.tag === 0) {\n acc_1[i] = matchValue.fields[0];\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, acc_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.fill)(new Array(tokens.length), 0, tokens.length, null)), tokens);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an array\", value_1)]);\n }\n}\n\nfunction keys(path, value_1) {\n if (value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.ofSeq)(Object.keys(value_1)));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an object\", value_1)]);\n }\n}\n\nfunction keyValuePairs(decoder, path, value_1) {\n const matchValue = keys(path, value_1);\n if (matchValue.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.reverse, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.fold)((acc, prop) => {\n if (acc.tag === 0) {\n const matchValue_1 = decoder(path, value_1[prop]);\n if (matchValue_1.tag === 0) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)([prop, matchValue_1.fields[0]], acc.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_1.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)()), matchValue.fields[0]));\n }\n}\n\nfunction oneOf(decoders, path, value_1) {\n const runner = (decoders_1_mut, errors_mut) => {\n runner:\n while (true) {\n const decoders_1 = decoders_1_mut, errors = errors_mut;\n if ((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.isEmpty)(decoders_1)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(7, errors)]);\n }\n else {\n const matchValue = fromValue(path, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.head)(decoders_1)), value_1);\n if (matchValue.tag === 1) {\n decoders_1_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.tail)(decoders_1);\n errors_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.append)(errors, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.singleton)(matchValue.fields[0]));\n continue runner;\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue.fields[0]);\n }\n }\n break;\n }\n };\n return runner(decoders, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)());\n}\n\nfunction nil(output, path, value_1) {\n if (value_1 == null) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, output);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"null\", value_1)]);\n }\n}\n\nfunction value(_arg, v) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, v);\n}\n\nfunction succeed(output, _arg_1, _arg) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, output);\n}\n\nfunction fail(msg, path, _arg) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(6, msg)]);\n}\n\nfunction andThen(cb, decoder, path, value_1) {\n const matchValue = decoder(path, value_1);\n if (matchValue.tag === 0) {\n return cb(matchValue.fields[0], path, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n}\n\nfunction all(decoders, path, value_1) {\n const runner = (decoders_1_mut, values_mut) => {\n runner:\n while (true) {\n const decoders_1 = decoders_1_mut, values = values_mut;\n if ((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.isEmpty)(decoders_1)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, values);\n }\n else {\n const matchValue = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.head)(decoders_1)(path)(value_1);\n if (matchValue.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n decoders_1_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.tail)(decoders_1);\n values_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.append)(values, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.singleton)(matchValue.fields[0]));\n continue runner;\n }\n }\n break;\n }\n };\n return runner(decoders, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)());\n}\n\nfunction map(ctor, d1, path, value_1) {\n const matchValue = d1(path, value_1);\n if (matchValue.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(matchValue.fields[0]));\n }\n}\n\nfunction map2(ctor, d1, d2, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0]));\n }\n }\n}\n\nfunction map3(ctor, d1, d2, d3, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0]));\n }\n }\n }\n}\n\nfunction map4(ctor, d1, d2, d3, d4, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0]));\n }\n }\n }\n }\n}\n\nfunction map5(ctor, d1, d2, d3, d4, d5, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1), d5(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n const copyOfStruct_4 = matchValue[4];\n if (copyOfStruct_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_4.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0]));\n }\n }\n }\n }\n }\n}\n\nfunction map6(ctor, d1, d2, d3, d4, d5, d6, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1), d5(path, value_1), d6(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n const copyOfStruct_4 = matchValue[4];\n if (copyOfStruct_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_4.fields[0]);\n }\n else {\n const copyOfStruct_5 = matchValue[5];\n if (copyOfStruct_5.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_5.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0], copyOfStruct_5.fields[0]));\n }\n }\n }\n }\n }\n }\n}\n\nfunction map7(ctor, d1, d2, d3, d4, d5, d6, d7, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1), d5(path, value_1), d6(path, value_1), d7(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n const copyOfStruct_4 = matchValue[4];\n if (copyOfStruct_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_4.fields[0]);\n }\n else {\n const copyOfStruct_5 = matchValue[5];\n if (copyOfStruct_5.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_5.fields[0]);\n }\n else {\n const copyOfStruct_6 = matchValue[6];\n if (copyOfStruct_6.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_6.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0], copyOfStruct_5.fields[0], copyOfStruct_6.fields[0]));\n }\n }\n }\n }\n }\n }\n }\n}\n\nfunction map8(ctor, d1, d2, d3, d4, d5, d6, d7, d8, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1), d5(path, value_1), d6(path, value_1), d7(path, value_1), d8(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n const copyOfStruct_4 = matchValue[4];\n if (copyOfStruct_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_4.fields[0]);\n }\n else {\n const copyOfStruct_5 = matchValue[5];\n if (copyOfStruct_5.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_5.fields[0]);\n }\n else {\n const copyOfStruct_6 = matchValue[6];\n if (copyOfStruct_6.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_6.fields[0]);\n }\n else {\n const copyOfStruct_7 = matchValue[7];\n if (copyOfStruct_7.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_7.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0], copyOfStruct_5.fields[0], copyOfStruct_6.fields[0], copyOfStruct_7.fields[0]));\n }\n }\n }\n }\n }\n }\n }\n }\n}\n\nfunction andMap() {\n return (d) => ((d_1) => ((path) => ((value_1) => map2((arg, func) => func(arg), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d_1), path, value_1))));\n}\n\nfunction unwrapWith(errors, path, decoder, value_1) {\n const matchValue = decoder(path, value_1);\n if (matchValue.tag === 1) {\n void (errors.push(matchValue.fields[0]));\n return null;\n }\n else {\n return matchValue.fields[0];\n }\n}\n\nclass Getters$1 {\n constructor(path, v) {\n let _this, _this_1;\n this.errors = [];\n this.required = ((_this = this, {\n Field(fieldName, decoder) {\n return unwrapWith(_this.errors, path, (path_1, value_1) => field(fieldName, decoder, path_1, value_1), v);\n },\n At(fieldNames, decoder_2) {\n return unwrapWith(_this.errors, path, (firstPath, firstValue) => at(fieldNames, decoder_2, firstPath, firstValue), v);\n },\n Raw(decoder_4) {\n return unwrapWith(_this.errors, path, decoder_4, v);\n },\n }));\n this.optional = ((_this_1 = this, {\n Field(fieldName_1, decoder_5) {\n return unwrapWith(_this_1.errors, path, (path_2, value_2) => optional(fieldName_1, decoder_5, path_2, value_2), v);\n },\n At(fieldNames_1, decoder_7) {\n return unwrapWith(_this_1.errors, path, (firstPath_1, firstValue_1) => optionalAt(fieldNames_1, decoder_7, firstPath_1, firstValue_1), v);\n },\n Raw(decoder_9) {\n const matchValue = decoder_9(path, v);\n if (matchValue.tag === 1) {\n const reason = matchValue.fields[0][1];\n const error = matchValue.fields[0];\n let pattern_matching_result, v_2;\n switch (reason.tag) {\n case 1: {\n pattern_matching_result = 0;\n v_2 = reason.fields[1];\n break;\n }\n case 2: {\n pattern_matching_result = 0;\n v_2 = reason.fields[1];\n break;\n }\n case 3:\n case 4: {\n pattern_matching_result = 1;\n break;\n }\n case 5:\n case 6:\n case 7: {\n pattern_matching_result = 2;\n break;\n }\n default: {\n pattern_matching_result = 0;\n v_2 = reason.fields[1];\n }\n }\n switch (pattern_matching_result) {\n case 0: {\n if (v_2 == null) {\n return void 0;\n }\n else {\n void (_this_1.errors.push(error));\n return null;\n }\n }\n case 1: {\n return void 0;\n }\n case 2: {\n void (_this_1.errors.push(error));\n return null;\n }\n }\n }\n else {\n return (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.some)(matchValue.fields[0]);\n }\n },\n }));\n }\n get Required() {\n const __ = this;\n return __.required;\n }\n get Optional() {\n const __ = this;\n return __.optional;\n }\n}\n\nfunction Getters$1$reflection(gen0) {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.class_type)(\"Thoth.Json.Decode.Getters`1\", [gen0], Getters$1);\n}\n\nfunction Getters$1_$ctor_4A51B60E(path, v) {\n return new Getters$1(path, v);\n}\n\nfunction Getters$1__get_Errors(__) {\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.toList)(__.errors);\n}\n\nfunction object(builder, path, v) {\n const getters = Getters$1_$ctor_4A51B60E(path, v);\n const result = builder(getters);\n const matchValue = Getters$1__get_Errors(getters);\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.isEmpty)(matchValue)) {\n const errors = matchValue;\n if ((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.length)(errors) > 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(7, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.map)((tupledArg) => errorToString(tupledArg[0], tupledArg[1]), errors))]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.head)(matchValue));\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, result);\n }\n}\n\nfunction tuple2(decoder1, decoder2) {\n let decoder_3;\n const decoder = decoder1;\n decoder_3 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_3) => ((value_4) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_2;\n const decoder_1 = decoder2;\n decoder_2 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_2) => ((value_3) => andThen((v2, arg10$0040, arg20$0040) => succeed([v1, v2], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_2), path_2, value_3));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_3), path_3, value_4));\n}\n\nfunction tuple3(decoder1, decoder2, decoder3) {\n let decoder_5;\n const decoder = decoder1;\n decoder_5 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_5) => ((value_6) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_4;\n const decoder_1 = decoder2;\n decoder_4 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_4) => ((value_5) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_3;\n const decoder_2 = decoder3;\n decoder_3 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_3) => ((value_4) => andThen((v3, arg10$0040, arg20$0040) => succeed([v1, v2, v3], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_3), path_3, value_4));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_4), path_4, value_5));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_5), path_5, value_6));\n}\n\nfunction tuple4(decoder1, decoder2, decoder3, decoder4) {\n let decoder_7;\n const decoder = decoder1;\n decoder_7 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_7) => ((value_8) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_6;\n const decoder_1 = decoder2;\n decoder_6 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_6) => ((value_7) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_5;\n const decoder_2 = decoder3;\n decoder_5 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_5) => ((value_6) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_4;\n const decoder_3 = decoder4;\n decoder_4 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_4) => ((value_5) => andThen((v4, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_4), path_4, value_5));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_5), path_5, value_6));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_6), path_6, value_7));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_7), path_7, value_8));\n}\n\nfunction tuple5(decoder1, decoder2, decoder3, decoder4, decoder5) {\n let decoder_9;\n const decoder = decoder1;\n decoder_9 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_9) => ((value_10) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_8;\n const decoder_1 = decoder2;\n decoder_8 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_8) => ((value_9) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_7;\n const decoder_2 = decoder3;\n decoder_7 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_7) => ((value_8) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_6;\n const decoder_3 = decoder4;\n decoder_6 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_6) => ((value_7) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v4) => {\n let decoder_5;\n const decoder_4 = decoder5;\n decoder_5 = ((path_4) => ((value_5) => index(4, decoder_4, path_4, value_5)));\n return (path_5) => ((value_6) => andThen((v5, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4, v5], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_5), path_5, value_6));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_6), path_6, value_7));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_7), path_7, value_8));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_8), path_8, value_9));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_9), path_9, value_10));\n}\n\nfunction tuple6(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6) {\n let decoder_11;\n const decoder = decoder1;\n decoder_11 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_11) => ((value_12) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_10;\n const decoder_1 = decoder2;\n decoder_10 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_10) => ((value_11) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_9;\n const decoder_2 = decoder3;\n decoder_9 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_9) => ((value_10) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_8;\n const decoder_3 = decoder4;\n decoder_8 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_8) => ((value_9) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v4) => {\n let decoder_7;\n const decoder_4 = decoder5;\n decoder_7 = ((path_4) => ((value_5) => index(4, decoder_4, path_4, value_5)));\n return (path_7) => ((value_8) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v5) => {\n let decoder_6;\n const decoder_5 = decoder6;\n decoder_6 = ((path_5) => ((value_6) => index(5, decoder_5, path_5, value_6)));\n return (path_6) => ((value_7) => andThen((v6, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4, v5, v6], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_6), path_6, value_7));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_7), path_7, value_8));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_8), path_8, value_9));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_9), path_9, value_10));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_10), path_10, value_11));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_11), path_11, value_12));\n}\n\nfunction tuple7(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6, decoder7) {\n let decoder_13;\n const decoder = decoder1;\n decoder_13 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_13) => ((value_14) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_12;\n const decoder_1 = decoder2;\n decoder_12 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_12) => ((value_13) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_11;\n const decoder_2 = decoder3;\n decoder_11 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_11) => ((value_12) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_10;\n const decoder_3 = decoder4;\n decoder_10 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_10) => ((value_11) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v4) => {\n let decoder_9;\n const decoder_4 = decoder5;\n decoder_9 = ((path_4) => ((value_5) => index(4, decoder_4, path_4, value_5)));\n return (path_9) => ((value_10) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v5) => {\n let decoder_8;\n const decoder_5 = decoder6;\n decoder_8 = ((path_5) => ((value_6) => index(5, decoder_5, path_5, value_6)));\n return (path_8) => ((value_9) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v6) => {\n let decoder_7;\n const decoder_6 = decoder7;\n decoder_7 = ((path_6) => ((value_7) => index(6, decoder_6, path_6, value_7)));\n return (path_7) => ((value_8) => andThen((v7, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4, v5, v6, v7], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_7), path_7, value_8));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_8), path_8, value_9));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_9), path_9, value_10));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_10), path_10, value_11));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_11), path_11, value_12));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_12), path_12, value_13));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_13), path_13, value_14));\n}\n\nfunction tuple8(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6, decoder7, decoder8) {\n let decoder_15;\n const decoder = decoder1;\n decoder_15 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_15) => ((value_16) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_14;\n const decoder_1 = decoder2;\n decoder_14 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_14) => ((value_15) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_13;\n const decoder_2 = decoder3;\n decoder_13 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_13) => ((value_14) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_12;\n const decoder_3 = decoder4;\n decoder_12 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_12) => ((value_13) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v4) => {\n let decoder_11;\n const decoder_4 = decoder5;\n decoder_11 = ((path_4) => ((value_5) => index(4, decoder_4, path_4, value_5)));\n return (path_11) => ((value_12) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v5) => {\n let decoder_10;\n const decoder_5 = decoder6;\n decoder_10 = ((path_5) => ((value_6) => index(5, decoder_5, path_5, value_6)));\n return (path_10) => ((value_11) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v6) => {\n let decoder_9;\n const decoder_6 = decoder7;\n decoder_9 = ((path_6) => ((value_7) => index(6, decoder_6, path_6, value_7)));\n return (path_9) => ((value_10) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v7) => {\n let decoder_8;\n const decoder_7 = decoder8;\n decoder_8 = ((path_7) => ((value_8) => index(7, decoder_7, path_7, value_8)));\n return (path_8) => ((value_9) => andThen((v8, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4, v5, v6, v7, v8], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_8), path_8, value_9));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_9), path_9, value_10));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_10), path_10, value_11));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_11), path_11, value_12));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_12), path_12, value_13));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_13), path_13, value_14));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_14), path_14, value_15));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_15), path_15, value_16));\n}\n\nfunction dict(decoder) {\n let d;\n const decoder_1 = decoder;\n d = ((path) => ((value_1) => keyValuePairs(decoder_1, path, value_1)));\n return (path_1) => ((value_2) => map(_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.ofList, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d), path_1, value_2));\n}\n\nfunction map$0027(keyDecoder, valueDecoder) {\n let d;\n const decoder = tuple2(keyDecoder, valueDecoder);\n d = ((path) => ((value_1) => array((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder), path, value_1)));\n return (path_1) => ((value_2) => map(_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.ofSeq, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d), path_1, value_2));\n}\n\nfunction toMap(xs) {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.ofSeq)(xs);\n}\n\nfunction toSet(xs) {\n return (0,_fable_library_3_7_20_Set_js__WEBPACK_IMPORTED_MODULE_19__.ofSeq)(xs, {\n Compare: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.compare,\n });\n}\n\nfunction autoObject(decoderInfos, path, value_1) {\n if (!(value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype))) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an object\", value_1)]);\n }\n else {\n return (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.foldBack)((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (tupledArg) => {\n const name = tupledArg[0];\n return (acc) => ((acc.tag === 0) ? (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((v) => (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)(v, acc.fields[0]), tupledArg[1]((path + \".\") + name)(value_1[name])) : acc);\n }), decoderInfos, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)()));\n }\n}\n\nfunction autoObject2(keyDecoder, valueDecoder, path, value_1) {\n if (!(value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype))) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an object\", value_1)]);\n }\n else {\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.fold)((acc, name) => {\n if (acc.tag === 0) {\n const matchValue = keyDecoder(path, name);\n if (matchValue.tag === 0) {\n const _arg = valueDecoder((path + \".\") + name, value_1[name]);\n if (_arg.tag === 0) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)([matchValue.fields[0], _arg.fields[0]], acc.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, _arg.fields[0]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)()), Object.keys(value_1));\n }\n}\n\nfunction mixedArray(offset, decoders, path, values) {\n let arg_1;\n const expectedLength = (decoders.length + offset) | 0;\n if (expectedLength !== values.length) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(6, (arg_1 = (values.length | 0), (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.toText)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.printf)(\"Expected array of length %i but got %i\"))(expectedLength)(arg_1)))]);\n }\n else {\n let result = new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)());\n for (let i = offset; i <= (values.length - 1); i++) {\n if (result.tag === 0) {\n const acc = result.fields[0];\n const path_1 = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.toText)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.printf)(\"%s[%i]\"))(path)(i);\n const decoder = decoders[i - offset];\n const value_1 = values[i];\n result = (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((v) => (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)(v, acc), decoder(path_1)(value_1));\n }\n }\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.reverse, result);\n }\n}\n\nfunction makeUnion(extra, caseStrategy, t, name, path, values) {\n const uci = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.tryFind)((x) => ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.name)(x) === name), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getUnionCases)(t, true));\n if (uci != null) {\n const uci_1 = uci;\n const decoders = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.map)((fi) => autoDecoder(extra, caseStrategy, false, fi[1]), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getUnionCaseFields)(uci_1));\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((values_2) => (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.makeUnion)(uci_1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.toArray)(values_2), true), ((decoders.length === 0) && (values.length <= 1)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)())) : mixedArray(1, decoders, path, values));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(6, ((\"Cannot find case \" + name) + \" in \") + (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t))]);\n }\n}\n\nfunction autoDecodeRecordsAndUnions(extra, caseStrategy, isOptional, t) {\n const decoderRef = new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(null);\n let extra_1;\n const matchValue = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t);\n extra_1 = ((matchValue === \"\") ? extra : (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.add)(matchValue, decoderRef, extra));\n let decoder;\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isRecord)(t, true)) {\n const decoders = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.map)((fi) => [(0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.Util_Casing_convert)(caseStrategy, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.name)(fi)), autoDecoder(extra_1, caseStrategy, false, fi[1])], (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getRecordElements)(t, true));\n decoder = ((path) => ((value_1) => (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((xs) => (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.makeRecord)(t, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.toArray)(xs), true), autoObject(decoders, path, value_1))));\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isUnion)(t, true)) {\n decoder = ((path_1) => ((value_2) => {\n if ((typeof value_2) === \"string\") {\n return makeUnion(extra_1, caseStrategy, t, value_2, path_1, []);\n }\n else if (Array.isArray(value_2)) {\n const values = value_2;\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Bind)((name_2) => makeUnion(extra_1, caseStrategy, t, name_2, path_1, values), string(path_1 + \"[0]\", values[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a string or array\", value_2)]);\n }\n }));\n }\n else if (isOptional) {\n decoder = ((path_2) => ((value_3) => (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_2, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an extra coder for \" + (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t), value_3)]))));\n }\n else {\n let message;\n const arg_1 = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t);\n message = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.toText)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.printf)(\"Cannot generate auto decoder for %s. Please pass an extra decoder.\\n\\nDocumentation available at: https://thoth-org.github.io/Thoth.Json/documentation/auto/extra-coders.html#ready-to-use-extra-coders\"))(arg_1);\n throw (new Error(message));\n }\n decoderRef.contents = decoder;\n return decoder;\n}\n\nfunction autoDecoder(extra, caseStrategy, isOptional, t) {\n let decoder_13, decoder_14, decoder_15, decoder_16;\n const fullname = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t);\n const matchValue = (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.tryFind)(fullname, extra);\n if (matchValue == null) {\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isArray)(t)) {\n const decoder = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getElementType)(t));\n return (path_1) => ((value_2) => array((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder), path_1, value_2));\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isEnum)(t)) {\n const enumType = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumUnderlyingType)(t));\n if (enumType === \"System.SByte\") {\n return (path_2) => ((value_4) => {\n const t_2 = t;\n const path_3 = path_2;\n const value_5 = value_4;\n const matchValue_1 = sbyte(path_3)(value_5);\n if (matchValue_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_1.fields[0]);\n }\n else {\n const enumValue = matchValue_1.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_2), {\n Equals: (x, y) => (x === y),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_2, enumValue.toString()))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_3, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_2), value_5, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.Byte\") {\n return (path_4) => ((value_7) => {\n const t_3 = t;\n const path_5 = path_4;\n const value_8 = value_7;\n const matchValue_2 = byte(path_5)(value_8);\n if (matchValue_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_2.fields[0]);\n }\n else {\n const enumValue_1 = matchValue_2.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_3), {\n Equals: (x_1, y_1) => (x_1 === y_1),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_3, enumValue_1.toString()))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_5, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_3), value_8, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.Int16\") {\n return (path_6) => ((value_10) => {\n const t_4 = t;\n const path_7 = path_6;\n const value_11 = value_10;\n const matchValue_3 = int16(path_7)(value_11);\n if (matchValue_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_3.fields[0]);\n }\n else {\n const enumValue_2 = matchValue_3.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_2, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_4), {\n Equals: (x_2, y_2) => (x_2 === y_2),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_4, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int16ToString)(enumValue_2)))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_7, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_4), value_11, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.UInt16\") {\n return (path_8) => ((value_13) => {\n const t_5 = t;\n const path_9 = path_8;\n const value_14 = value_13;\n const matchValue_4 = uint16(path_9)(value_14);\n if (matchValue_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_4.fields[0]);\n }\n else {\n const enumValue_3 = matchValue_4.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_3, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_5), {\n Equals: (x_3, y_3) => (x_3 === y_3),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_5, enumValue_3.toString()))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_9, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_5), value_14, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.Int32\") {\n return (path_10) => ((value_16) => {\n const t_6 = t;\n const path_11 = path_10;\n const value_17 = value_16;\n const matchValue_5 = int(path_11)(value_17);\n if (matchValue_5.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_5.fields[0]);\n }\n else {\n const enumValue_4 = matchValue_5.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_4, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_6), {\n Equals: (x_4, y_4) => (x_4 === y_4),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_6, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(enumValue_4)))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_11, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_6), value_17, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.UInt32\") {\n return (path_12) => ((value_19) => {\n const t_7 = t;\n const path_13 = path_12;\n const value_20 = value_19;\n const matchValue_6 = uint32(path_13)(value_20);\n if (matchValue_6.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_6.fields[0]);\n }\n else {\n const enumValue_5 = matchValue_6.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_5, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_7), {\n Equals: (x_5, y_5) => (x_5 === y_5),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_7, enumValue_5.toString()))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_13, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_7), value_20, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else {\n const arg_7 = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t);\n const clo_1 = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.toFail)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.printf)(\"Cannot generate auto decoder for %s.\\nThoth.Json.Net only support the following enum types:\\n- sbyte\\n- byte\\n- int16\\n- uint16\\n- int\\n- uint32\\nIf you can\\u0027t use one of these types, please pass an extra decoder.\\n \"))(arg_7);\n return (arg_8) => {\n const clo_2 = clo_1(arg_8);\n return clo_2;\n };\n }\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isGenericType)(t)) {\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isTuple)(t)) {\n const decoders = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.map)((t_8) => autoDecoder(extra, caseStrategy, false, t_8), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getTupleElements)(t));\n return (path_14) => ((value_21) => (Array.isArray(value_21) ? (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((xs) => (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.makeTuple)((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.toArray)(xs), t), mixedArray(0, decoders, path_14, value_21)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_14, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an array\", value_21)]))));\n }\n else {\n const fullname_1 = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenericTypeDefinition)(t));\n if (fullname_1 === \"Microsoft.FSharp.Core.FSharpOption`1[System.Object]\") {\n return (decoder_13 = autoDecoder(extra, caseStrategy, true, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]), (path_15) => ((value_22) => option((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_13), path_15, value_22)));\n }\n else if (fullname_1 === \"Microsoft.FSharp.Collections.FSharpList`1[System.Object]\") {\n return (decoder_14 = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]), (path_16) => ((value_23) => list((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_14), path_16, value_23)));\n }\n else if (fullname_1 === \"System.Collections.Generic.IEnumerable`1[System.Object]\") {\n return (decoder_15 = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]), (path_17) => ((value_24) => seq((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_15), path_17, value_24)));\n }\n else if (fullname_1 === \"Microsoft.FSharp.Collections.FSharpMap`2[System.Object,System.Object]\") {\n const keyDecoder = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]);\n const valueDecoder = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[1]);\n let d_20;\n const decoders_1 = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.ofArray)([(path_18) => ((value_25) => autoObject2((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, keyDecoder), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, valueDecoder), path_18, value_25)), (decoder_16 = tuple2((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, keyDecoder), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, valueDecoder)), (path_19) => ((value_26) => list((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_16), path_19, value_26)))]);\n d_20 = ((path_20) => ((value_27) => oneOf(decoders_1, path_20, value_27)));\n return (path_21) => ((value_29) => map(toMap, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d_20), path_21, value_29));\n }\n else if (fullname_1 === \"Microsoft.FSharp.Collections.FSharpSet`1[System.Object]\") {\n const decoder_17 = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]);\n return (path_22) => ((value_30) => {\n const matchValue_7 = array((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_17), path_22, value_30);\n return (matchValue_7.tag === 0) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, toSet(matchValue_7.fields[0]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_7.fields[0]));\n });\n }\n else {\n return autoDecodeRecordsAndUnions(extra, caseStrategy, isOptional, t);\n }\n }\n }\n else if (fullname === \"System.Boolean\") {\n return (path_23) => ((value_32) => bool(path_23, value_32));\n }\n else if (fullname === \"Microsoft.FSharp.Core.Unit\") {\n return (path_24) => ((value_33) => unit(path_24, value_33));\n }\n else if (fullname === \"System.String\") {\n return (path_25) => ((value_34) => string(path_25, value_34));\n }\n else if (fullname === \"System.Char\") {\n return (path_26) => ((value_35) => char(path_26, value_35));\n }\n else if (fullname === \"System.SByte\") {\n return sbyte;\n }\n else if (fullname === \"System.Byte\") {\n return byte;\n }\n else if (fullname === \"System.Int16\") {\n return int16;\n }\n else if (fullname === \"System.UInt16\") {\n return uint16;\n }\n else if (fullname === \"System.Int32\") {\n return int;\n }\n else if (fullname === \"System.UInt32\") {\n return uint32;\n }\n else if (fullname === \"System.Double\") {\n return (path_27) => ((value_36) => float(path_27, value_36));\n }\n else if (fullname === \"System.Single\") {\n return (path_28) => ((value_37) => float32(path_28, value_37));\n }\n else if (fullname === \"System.DateTime\") {\n return (path_29) => ((value_38) => datetimeUtc(path_29, value_38));\n }\n else if (fullname === \"System.DateTimeOffset\") {\n return (path_30) => ((value_39) => datetimeOffset(path_30, value_39));\n }\n else if (fullname === \"System.TimeSpan\") {\n return (path_31) => ((value_40) => timespan(path_31, value_40));\n }\n else if (fullname === \"System.Guid\") {\n return (path_32) => ((value_41) => guid(path_32, value_41));\n }\n else if (fullname === \"System.Object\") {\n return (_arg_6) => ((v) => (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, v)));\n }\n else {\n return autoDecodeRecordsAndUnions(extra, caseStrategy, isOptional, t);\n }\n }\n else {\n const decoderRef = matchValue;\n return (path) => ((value_1) => decoderRef.contents(path)(value_1));\n }\n}\n\nfunction makeExtra(extra) {\n if (extra != null) {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.map)((_arg, tupledArg) => (new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(tupledArg[1])), extra.Coders);\n }\n else {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.empty)();\n }\n}\n\nclass Auto {\n constructor() {\n }\n}\n\nfunction Auto$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.class_type)(\"Thoth.Json.Decode.Auto\", void 0, Auto);\n}\n\nfunction Auto_generateBoxedDecoderCached_79988AEF(t, caseStrategy, extra) {\n let y_1, y;\n const caseStrategy_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(caseStrategy, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.CaseStrategy(0));\n return (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.Util_Cache$1__GetOrAdd_43981464)(_Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.Util_CachedDecoders, (y_1 = ((y = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t), (0,_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.toString)(caseStrategy_1) + y)), (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)((0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.map)((e) => e.Hash, extra), \"\") + y_1), () => autoDecoder(makeExtra(extra), caseStrategy_1, false, t));\n}\n\nfunction Auto_generateBoxedDecoder_79988AEF(t, caseStrategy, extra) {\n const caseStrategy_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(caseStrategy, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.CaseStrategy(0));\n return autoDecoder(makeExtra(extra), caseStrategy_1, false, t);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9UaG90aC5Kc29uLjEwLjAuMC9EZWNvZGUuZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWlGO0FBQ1c7QUFDeUM7QUFDNUQ7QUFDYTtBQUNaO0FBQ3dDO0FBQzdDO0FBQ087QUFDbkI7QUFDMkM7QUFDRztBQUMxQjtBQUNNO0FBQzBIO0FBQ2hHO0FBQ0o7QUFDTztBQUN3UjtBQUNuUTtBQUNuRTs7QUFFM0Q7QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2a0JBQTZrQixxRUFBSTtBQUNqbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsMkVBQWM7QUFDakM7QUFDQTtBQUNBLG1CQUFtQiwyRUFBYztBQUNqQztBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwyRUFBYztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQSxtQkFBbUIsMkVBQWM7QUFDakM7QUFDQTtBQUNBLG1CQUFtQiwyRUFBYyxlQUFlLHFEQUFXO0FBQzNEO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsMkVBQWM7QUFDckM7QUFDQTtBQUNBLHVCQUF1QiwyRUFBYyxlQUFlLHFEQUFXO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiwyRUFBYyxlQUFlLHFEQUFXO0FBQzNEO0FB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QXFELHVFQUFPO0FBQy9RO0FBQ0Esa0VBQWtFLHVFQUFPO0FBQ3pFO0FBQ0E7QUFDQSwrRUFBK0UsaUZBQVc7QUFDMUY7QUFDQSxtREFBbUQsdUVBQU87QUFDMUQsK0RBQStELDJFQUFjLDJDQUEyQywyRUFBYztBQUN0SSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsMkVBQWM7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGVBQWUsa0VBQUssMkJBQTJCLHFFQUFTO0FBQ3hEO0FBQ0E7QUFDQSxlQUFlLG9FQUFPO0FBQ3RCO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLGdGQUFVO0FBQ3JCOztBQUVPO0FBQ1A7QUFDQSwyQkFBMkIsNEVBQVUsbUJBQW1CLHNEQUFZO0FBQ3BFLFdBQVcsNkVBQStCLENBQUMsNkRBQW1CLGVBQWUsOEVBQVUsS0FBSyx3RUFBVyx3QkFBd0IsNEVBQVUsQ0FBQyxxRUFBSztBQUMvSTs7QUFFTztBQUNQLDJCQUEyQiw0RUFBVSxtQkFBbUIsc0RBQVk7QUFDcEU7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9UaG90aC5Kc29uLjEwLjAuMC9EZWNvZGUuZnMuanM/Y2Y4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b0ZhaWwsIHByaW50ZiwgdG9UZXh0LCBqb2luIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1N0cmluZy5qc1wiO1xuaW1wb3J0IHsgUmVzdWx0X0JpbmQsIFJlc3VsdF9NYXAsIEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgVXRpbF9DYWNoZWREZWNvZGVycywgVXRpbF9DYWNoZSQxX19HZXRPckFkZF80Mzk4MTQ2NCwgQ2FzZVN0cmF0ZWd5LCBVdGlsX0Nhc2luZ19jb252ZXJ0LCBFcnJvclJlYXNvbiB9IGZyb20gXCIuL1R5cGVzLmZzLmpzXCI7XG5pbXBvcnQgeyB0cnlQYXJzZSBhcyB0cnlQYXJzZV8yIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0d1aWQuanNcIjtcbmltcG9ydCB7IHRvU3RyaW5nIGFzIHRvU3RyaW5nXzEyLCBGU2hhcnBSZWYgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvVHlwZXMuanNcIjtcbmltcG9ydCB7IHRyeVBhcnNlIGFzIHRyeVBhcnNlXzMgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvSW50MzIuanNcIjtcbmltcG9ydCB7IHRyeVBhcnNlIGFzIHRyeVBhcnNlXzQsIGZyb21JbnQsIGZyb21OdW1iZXIsIGZyb21CaXRzLCB0b051bWJlciB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9Mb25nLmpzXCI7XG5pbXBvcnQgeyBwYXJzZSwgZnJvbUludDMyIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0JpZ0ludC5qc1wiO1xuaW1wb3J0IHsgdHJ5UGFyc2UgYXMgdHJ5UGFyc2VfNSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9EZWNpbWFsLmpzXCI7XG5pbXBvcnQgRGVjaW1hbCBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvRGVjaW1hbC5qc1wiO1xuaW1wb3J0IHsgdG9Vbml2ZXJzYWxUaW1lLCB0cnlQYXJzZSBhcyB0cnlQYXJzZV82LCBtaW5WYWx1ZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9EYXRlLmpzXCI7XG5pbXBvcnQgeyB0cnlQYXJzZSBhcyB0cnlQYXJzZV83LCBtaW5WYWx1ZSBhcyBtaW5WYWx1ZV8xIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0RhdGVPZmZzZXQuanNcIjtcbmltcG9ydCB7IHRyeVBhcnNlIGFzIHRyeVBhcnNlXzggfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvVGltZVNwYW4uanNcIjtcbmltcG9ydCB7IG1hcCBhcyBtYXBfNCwgZGVmYXVsdEFyZywgc29tZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9PcHRpb24uanNcIjtcbmltcG9ydCB7IG9mQXJyYXksIHRvQXJyYXksIG1hcCBhcyBtYXBfMSwgbGVuZ3RoLCBzaW5nbGV0b24sIGFwcGVuZCBhcyBhcHBlbmRfMSwgdGFpbCBhcyB0YWlsXzEsIGhlYWQgYXMgaGVhZF8xLCBpc0VtcHR5LCBvZlNlcSwgZW1wdHksIHJldmVyc2UsIGZvbGQsIHRyeUxhc3QsIGNvbnMgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvTGlzdC5qc1wiO1xuaW1wb3J0IHsgaW50MTZUb1N0cmluZywgbnVtYmVySGFzaCwgY29tcGFyZSwgaW50MzJUb1N0cmluZywgdW5jdXJyeSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9VdGlsLmpzXCI7XG5pbXBvcnQgeyBtYXAgYXMgbWFwXzIsIHRyeUZpbmQsIGZvbGRCYWNrLCBmaWxsLCBmb2xkIGFzIGZvbGRfMSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9BcnJheS5qc1wiO1xuaW1wb3J0IHsgY29udGFpbnMsIGZvbGQgYXMgZm9sZF8yLCB0b0xpc3QsIGFwcGVuZCwgcmV2ZXJzZSBhcyByZXZlcnNlXzEgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvU2VxLmpzXCI7XG5pbXBvcnQgeyBnZXRHZW5lcmljcywgZ2V0R2VuZXJpY1R5cGVEZWZpbml0aW9uLCBtYWtlVHVwbGUsIGdldFR1cGxlRWxlbWVudHMsIGlzVHVwbGUsIGlzR2VuZXJpY1R5cGUsIHBhcnNlRW51bSwgZ2V0RW51bVZhbHVlcywgZ2V0RW51bVVuZGVybHlpbmdUeXBlLCBpc0VudW0sIGdldEVsZW1lbnRUeXBlLCBpc0FycmF5LCBpc1VuaW9uLCBtYWtlUmVjb3JkLCBnZXRSZWNvcmRFbGVtZW50cywgaXNSZWNvcmQsIGZ1bGxOYW1lIGFzIGZ1bGxOYW1lXzEsIG1ha2VVbmlvbiBhcyBtYWtlVW5pb25fMSwgZ2V0VW5pb25DYXNlRmllbGRzLCBnZXRVbmlvbkNhc2VzLCBuYW1lIGFzIG5hbWVfMywgY2xhc3NfdHlwZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9SZWZsZWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBlbXB0eSBhcyBlbXB0eV8xLCBtYXAgYXMgbWFwXzMsIHRyeUZpbmQgYXMgdHJ5RmluZF8xLCBhZGQsIG9mU2VxIGFzIG9mU2VxXzEsIG9mTGlzdCB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9NYXAuanNcIjtcbmltcG9ydCB7IG9mU2VxIGFzIG9mU2VxXzIgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvU2V0LmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBIZWxwZXJzX2lzVW5kZWZpbmVkKG8pIHtcbiAgICByZXR1cm4gKHR5cGVvZiBvKSA9PT0gXCJ1bmRlZmluZWRcIjtcbn1cblxuZnVuY3Rpb24gZ2VuZXJpY01zZyhtc2csIHZhbHVlXzEsIG5ld0xpbmUpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gKCgoXCJFeHBlY3RpbmcgXCIgKyBtc2cpICsgXCIgYnV0IGluc3RlYWQgZ290OlwiKSArIChuZXdMaW5lID8gXCJcXG5cIiA6IFwiIFwiKSkgKyAoSlNPTi5zdHJpbmdpZnkodmFsdWVfMSwgbnVsbCwgNCkgKyAnJyk7XG4gICAgfVxuICAgIGNhdGNoIChtYXRjaFZhbHVlKSB7XG4gICAgICAgIHJldHVybiAoKFwiRXhwZWN0aW5nIFwiICsgbXNnKSArIFwiIGJ1dCBkZWNvZGVyIGZhaWxlZC4gQ291bGRuXFx1MDAyN3QgcmVwb3J0IGdpdmVuIHZhbHVlIGR1ZSB0byBjaXJjdWxhciBzdHJ1Y3R1cmUuXCIpICsgKG5ld0xpbmUgPyBcIlxcblwiIDogXCIgXCIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZXJyb3JUb1N0cmluZyhwYXRoLCBlcnJvcikge1xuICAgIGNvbnN0IHJlYXNvbl8xID0gKGVycm9yLnRhZyA9PT0gMikgPyBnZW5lcmljTXNnKGVycm9yLmZpZWxkc1swXSwgZXJyb3IuZmllbGRzWzFdLCB0cnVlKSA6ICgoZXJyb3IudGFnID09PSAxKSA/ICgoZ2VuZXJpY01zZyhlcnJvci5maWVsZHNbMF0sIGVycm9yLmZpZWxkc1sxXSwgZmFsc2UpICsgXCJcXG5SZWFzb246IFwiKSArIGVycm9yLmZpZWxkc1syXSkgOiAoKGVycm9yLnRhZyA9PT0gMykgPyBnZW5lcmljTXNnKGVycm9yLmZpZWxkc1swXSwgZXJyb3IuZmllbGRzWzFdLCB0cnVlKSA6ICgoZXJyb3IudGFnID09PSA0KSA/IChnZW5lcmljTXNnKGVycm9yLmZpZWxkc1swXSwgZXJyb3IuZmllbGRzWzFdLCB0cnVlKSArICgoXCJcXG5Ob2RlIGBcIiArIGVycm9yLmZpZWxkc1syXSkgKyBcImAgaXMgdW5rb3duLlwiKSkgOiAoKGVycm9yLnRhZyA9PT0gNSkgPyAoKChcIkV4cGVjdGluZyBcIiArIGVycm9yLmZpZWxkc1swXSkgKyBcIi5cXG5cIikgKyAoSlNPTi5zdHJpbmdpZnkoZXJyb3IuZmllbGRzWzFdLCBudWxsLCA0KSArICcnKSkgOiAoKGVycm9yLnRhZyA9PT0gNykgPyAoXCJUaGUgZm9sbG93aW5nIGVycm9ycyB3ZXJlIGZvdW5kOlxcblxcblwiICsgam9pbihcIlxcblxcblwiLCBlcnJvci5maWVsZHNbMF0pKSA6ICgoZXJyb3IudGFnID09PSA2KSA/IChcIlRoZSBmb2xsb3dpbmcgYGZhaWx1cmVgIG9jY3VycmVkIHdpdGggdGhlIGRlY29kZXI6IFwiICsgZXJyb3IuZmllbGRzWzBdKSA6IGdlbmVyaWNNc2coZXJyb3IuZmllbGRzWzBdLCBlcnJvci5maWVsZHNbMV0sIGZhbHNlKSkpKSkpKTtcbiAgICBpZiAoZXJyb3IudGFnID09PSA3KSB7XG4gICAgICAgIHJldHVybiByZWFzb25fMTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiAoKFwiRXJyb3IgYXQ6IGBcIiArIHBhdGgpICsgXCJgXFxuXCIpICsgcmVhc29uXzE7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVZhbHVlKHBhdGgsIGRlY29kZXIsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gZGVjb2RlcihwYXRoLCB2YWx1ZV8xKTtcbiAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBtYXRjaFZhbHVlLmZpZWxkc1swXTtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBlcnJvclRvU3RyaW5nKGVycm9yWzBdLCBlcnJvclsxXSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlLmZpZWxkc1swXSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVN0cmluZyhkZWNvZGVyLCB2YWx1ZV8xKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGZyb21WYWx1ZShcIiRcIiwgZGVjb2RlciwgSlNPTi5wYXJzZSh2YWx1ZV8xKSk7XG4gICAgfVxuICAgIGNhdGNoIChtYXRjaFZhbHVlKSB7XG4gICAgICAgIGlmIChtYXRjaFZhbHVlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgXCJHaXZlbiBhbiBpbnZhbGlkIEpTT046IFwiICsgbWF0Y2hWYWx1ZS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG1hdGNoVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnNhZmVGcm9tU3RyaW5nKGRlY29kZXIsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gZnJvbVN0cmluZyhkZWNvZGVyLCB2YWx1ZV8xKTtcbiAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG1hdGNoVmFsdWUuZmllbGRzWzBdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVZhbHVlKHBhdGgsIGRlY29kZXIpIHtcbiAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyO1xuICAgIHJldHVybiAodmFsdWVfMSkgPT4gZnJvbVZhbHVlKHBhdGgsIGRlY29kZXJfMSwgdmFsdWVfMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVTdHJpbmcoZGVjb2Rlcikge1xuICAgIGNvbnN0IGRlY29kZXJfMSA9IGRlY29kZXI7XG4gICAgcmV0dXJuICh2YWx1ZV8xKSA9PiBmcm9tU3RyaW5nKGRlY29kZXJfMSwgdmFsdWVfMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmcocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdmFsdWVfMSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIHN0cmluZ1wiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYXIocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGNvbnN0IHN0ciA9IHZhbHVlXzE7XG4gICAgICAgIGlmIChzdHIubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHN0clswXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nXCIsIHZhbHVlXzEpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgY2hhclwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd1aWQocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGxldCBtYXRjaFZhbHVlO1xuICAgICAgICBsZXQgb3V0QXJnID0gXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDBcIjtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV8yKHZhbHVlXzEsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICBpZiAobWF0Y2hWYWx1ZVswXSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlWzFdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZ3VpZFwiLCB2YWx1ZV8xKV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIGd1aWRcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml0KHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAodmFsdWVfMSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcIm51bGxcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBzYnl0ZSA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImEgc2J5dGVcIjtcbiAgICBjb25zdCBwYXRoXzEgPSBwYXRoO1xuICAgIGNvbnN0IHZhbHVlXzMgPSB2YWx1ZV8yO1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzMpID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlXzFfMSA9IHZhbHVlXzM7XG4gICAgICAgIHJldHVybiAoaXNGaW5pdGUodmFsdWVfMV8xKSAmJiBNYXRoLmZsb29yKHZhbHVlXzFfMSkgPT09IHZhbHVlXzFfMSkgPyAoKCgtMTI4IDw9IHZhbHVlXzFfMSkgJiYgKHZhbHVlXzFfMSA8PSAxMjcpKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgKHZhbHVlXzFfMSArIDB4ODAgJiAweEZGKSAtIDB4ODApKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIHdhcyBlaXRoZXIgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmb3IgXCIgKyBuYW1lXzEpXSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIGlzIG5vdCBhbiBpbnRlZ3JhbCB2YWx1ZVwiKV0pKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfMyh2YWx1ZV8zLCA1MTEsIGZhbHNlLCA4LCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9ICh2IHwgMCk7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgcmV0dXJuIG1hdGNoVmFsdWVbMF0gPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIG1hdGNoVmFsdWVbMV0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigwLCBuYW1lXzEsIHZhbHVlXzMpXSk7XG4gICAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBieXRlID0gKHBhdGgpID0+ICgodmFsdWVfMikgPT4ge1xuICAgIGNvbnN0IG5hbWVfMSA9IFwiYSBieXRlXCI7XG4gICAgY29uc3QgcGF0aF8xID0gcGF0aDtcbiAgICBjb25zdCB2YWx1ZV8zID0gdmFsdWVfMjtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICBjb25zdCB2YWx1ZV8xXzEgPSB2YWx1ZV8zO1xuICAgICAgICByZXR1cm4gKGlzRmluaXRlKHZhbHVlXzFfMSkgJiYgTWF0aC5mbG9vcih2YWx1ZV8xXzEpID09PSB2YWx1ZV8xXzEpID8gKCgoMCA8PSB2YWx1ZV8xXzEpICYmICh2YWx1ZV8xXzEgPD0gMjU1KSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZhbHVlXzFfMSAmIDB4RkYpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIHdhcyBlaXRoZXIgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmb3IgXCIgKyBuYW1lXzEpXSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIGlzIG5vdCBhbiBpbnRlZ3JhbCB2YWx1ZVwiKV0pKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfMyh2YWx1ZV8zLCA1MTEsIHRydWUsIDgsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGludDE2ID0gKHBhdGgpID0+ICgodmFsdWVfMikgPT4ge1xuICAgIGNvbnN0IG5hbWVfMSA9IFwiYW4gaW50MTZcIjtcbiAgICBjb25zdCBwYXRoXzEgPSBwYXRoO1xuICAgIGNvbnN0IHZhbHVlXzMgPSB2YWx1ZV8yO1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzMpID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlXzFfMSA9IHZhbHVlXzM7XG4gICAgICAgIHJldHVybiAoaXNGaW5pdGUodmFsdWVfMV8xKSAmJiBNYXRoLmZsb29yKHZhbHVlXzFfMSkgPT09IHZhbHVlXzFfMSkgPyAoKCgtMzI3NjggPD0gdmFsdWVfMV8xKSAmJiAodmFsdWVfMV8xIDw9IDMyNzY3KSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsICh2YWx1ZV8xXzEgKyAweDgwMDAgJiAweEZGRkYpIC0gMHg4MDAwKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigxLCBuYW1lXzEsIHZhbHVlXzFfMSwgXCJWYWx1ZSB3YXMgZWl0aGVyIHRvbyBsYXJnZSBvciB0b28gc21hbGwgZm9yIFwiICsgbmFtZV8xKV0pKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigxLCBuYW1lXzEsIHZhbHVlXzFfMSwgXCJWYWx1ZSBpcyBub3QgYW4gaW50ZWdyYWwgdmFsdWVcIildKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgbGV0IG1hdGNoVmFsdWU7XG4gICAgICAgIGxldCBvdXRBcmcgPSAwO1xuICAgICAgICBtYXRjaFZhbHVlID0gW3RyeVBhcnNlXzModmFsdWVfMywgNTExLCBmYWxzZSwgMTYsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gKHYgfCAwKTtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IHVpbnQxNiA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImFuIHVpbnQxNlwiO1xuICAgIGNvbnN0IHBhdGhfMSA9IHBhdGg7XG4gICAgY29uc3QgdmFsdWVfMyA9IHZhbHVlXzI7XG4gICAgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgY29uc3QgdmFsdWVfMV8xID0gdmFsdWVfMztcbiAgICAgICAgcmV0dXJuIChpc0Zpbml0ZSh2YWx1ZV8xXzEpICYmIE1hdGguZmxvb3IodmFsdWVfMV8xKSA9PT0gdmFsdWVfMV8xKSA/ICgoKDAgPD0gdmFsdWVfMV8xKSAmJiAodmFsdWVfMV8xIDw9IDY1NTM1KSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZhbHVlXzFfMSAmIDB4RkZGRikpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMSwgbmFtZV8xLCB2YWx1ZV8xXzEsIFwiVmFsdWUgd2FzIGVpdGhlciB0b28gbGFyZ2Ugb3IgdG9vIHNtYWxsIGZvciBcIiArIG5hbWVfMSldKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMSwgbmFtZV8xLCB2YWx1ZV8xXzEsIFwiVmFsdWUgaXMgbm90IGFuIGludGVncmFsIHZhbHVlXCIpXSkpO1xuICAgIH1cbiAgICBlbHNlIGlmICgodHlwZW9mIHZhbHVlXzMpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGxldCBtYXRjaFZhbHVlO1xuICAgICAgICBsZXQgb3V0QXJnID0gMDtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV8zKHZhbHVlXzMsIDUxMSwgdHJ1ZSwgMTYsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGludCA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImFuIGludFwiO1xuICAgIGNvbnN0IHBhdGhfMSA9IHBhdGg7XG4gICAgY29uc3QgdmFsdWVfMyA9IHZhbHVlXzI7XG4gICAgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgY29uc3QgdmFsdWVfMV8xID0gdmFsdWVfMztcbiAgICAgICAgcmV0dXJuIChpc0Zpbml0ZSh2YWx1ZV8xXzEpICYmIE1hdGguZmxvb3IodmFsdWVfMV8xKSA9PT0gdmFsdWVfMV8xKSA/ICgoKC0yMTQ3NDgzNjQ4IDw9IHZhbHVlXzFfMSkgJiYgKHZhbHVlXzFfMSA8PSAyMTQ3NDgzNjQ3KSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIH4ofnZhbHVlXzFfMSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIHdhcyBlaXRoZXIgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmb3IgXCIgKyBuYW1lXzEpXSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIGlzIG5vdCBhbiBpbnRlZ3JhbCB2YWx1ZVwiKV0pKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfMyh2YWx1ZV8zLCA1MTEsIGZhbHNlLCAzMiwgbmV3IEZTaGFycFJlZigoKSA9PiBvdXRBcmcsICh2KSA9PiB7XG4gICAgICAgICAgICBvdXRBcmcgPSAodiB8IDApO1xuICAgICAgICB9KSksIG91dEFyZ107XG4gICAgICAgIHJldHVybiBtYXRjaFZhbHVlWzBdID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlWzFdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigwLCBuYW1lXzEsIHZhbHVlXzMpXSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pO1xuICAgIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgdWludDMyID0gKHBhdGgpID0+ICgodmFsdWVfMikgPT4ge1xuICAgIGNvbnN0IG5hbWVfMSA9IFwiYW4gdWludDMyXCI7XG4gICAgY29uc3QgcGF0aF8xID0gcGF0aDtcbiAgICBjb25zdCB2YWx1ZV8zID0gdmFsdWVfMjtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICBjb25zdCB2YWx1ZV8xXzEgPSB2YWx1ZV8zO1xuICAgICAgICByZXR1cm4gKGlzRmluaXRlKHZhbHVlXzFfMSkgJiYgTWF0aC5mbG9vcih2YWx1ZV8xXzEpID09PSB2YWx1ZV8xXzEpID8gKCgoMCA8PSB2YWx1ZV8xXzEpICYmICh2YWx1ZV8xXzEgPD0gNDI5NDk2NzI5NSkpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2YWx1ZV8xXzEgPj4+IDApKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIHdhcyBlaXRoZXIgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmb3IgXCIgKyBuYW1lXzEpXSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIGlzIG5vdCBhbiBpbnRlZ3JhbCB2YWx1ZVwiKV0pKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfMyh2YWx1ZV8zLCA1MTEsIHRydWUsIDMyLCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9IHY7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgcmV0dXJuIG1hdGNoVmFsdWVbMF0gPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIG1hdGNoVmFsdWVbMV0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigwLCBuYW1lXzEsIHZhbHVlXzMpXSk7XG4gICAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBpbnQ2NCA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImFuIGludDY0XCI7XG4gICAgY29uc3QgcGF0aF8xID0gcGF0aDtcbiAgICBjb25zdCB2YWx1ZV8zID0gdmFsdWVfMjtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICBjb25zdCB2YWx1ZV8xXzEgPSB2YWx1ZV8zO1xuICAgICAgICByZXR1cm4gKGlzRmluaXRlKHZhbHVlXzFfMSkgJiYgTWF0aC5mbG9vcih2YWx1ZV8xXzEpID09PSB2YWx1ZV8xXzEpID8gKCgodG9OdW1iZXIoZnJvbUJpdHMoMCwgMjE0NzQ4MzY0OCwgZmFsc2UpKSA8PSB2YWx1ZV8xXzEpICYmICh2YWx1ZV8xXzEgPD0gdG9OdW1iZXIoZnJvbUJpdHMoNDI5NDk2NzI5NSwgMjE0NzQ4MzY0NywgZmFsc2UpKSkpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBmcm9tTnVtYmVyKHZhbHVlXzFfMSwgZmFsc2UpKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigxLCBuYW1lXzEsIHZhbHVlXzFfMSwgXCJWYWx1ZSB3YXMgZWl0aGVyIHRvbyBsYXJnZSBvciB0b28gc21hbGwgZm9yIFwiICsgbmFtZV8xKV0pKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigxLCBuYW1lXzEsIHZhbHVlXzFfMSwgXCJWYWx1ZSBpcyBub3QgYW4gaW50ZWdyYWwgdmFsdWVcIildKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgbGV0IG1hdGNoVmFsdWU7XG4gICAgICAgIGxldCBvdXRBcmcgPSBmcm9tSW50KDApO1xuICAgICAgICBtYXRjaFZhbHVlID0gW3RyeVBhcnNlXzQodmFsdWVfMywgNTExLCBmYWxzZSwgNjQsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IHVpbnQ2NCA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImFuIHVpbnQ2NFwiO1xuICAgIGNvbnN0IHBhdGhfMSA9IHBhdGg7XG4gICAgY29uc3QgdmFsdWVfMyA9IHZhbHVlXzI7XG4gICAgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgY29uc3QgdmFsdWVfMV8xID0gdmFsdWVfMztcbiAgICAgICAgcmV0dXJuIChpc0Zpbml0ZSh2YWx1ZV8xXzEpICYmIE1hdGguZmxvb3IodmFsdWVfMV8xKSA9PT0gdmFsdWVfMV8xKSA/ICgoKHRvTnVtYmVyKGZyb21CaXRzKDAsIDAsIHRydWUpKSA8PSB2YWx1ZV8xXzEpICYmICh2YWx1ZV8xXzEgPD0gdG9OdW1iZXIoZnJvbUJpdHMoNDI5NDk2NzI5NSwgNDI5NDk2NzI5NSwgdHJ1ZSkpKSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGZyb21OdW1iZXIodmFsdWVfMV8xLCB0cnVlKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMSwgbmFtZV8xLCB2YWx1ZV8xXzEsIFwiVmFsdWUgd2FzIGVpdGhlciB0b28gbGFyZ2Ugb3IgdG9vIHNtYWxsIGZvciBcIiArIG5hbWVfMSldKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMSwgbmFtZV8xLCB2YWx1ZV8xXzEsIFwiVmFsdWUgaXMgbm90IGFuIGludGVncmFsIHZhbHVlXCIpXSkpO1xuICAgIH1cbiAgICBlbHNlIGlmICgodHlwZW9mIHZhbHVlXzMpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGxldCBtYXRjaFZhbHVlO1xuICAgICAgICBsZXQgb3V0QXJnID0gZnJvbUludCgwKTtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV80KHZhbHVlXzMsIDUxMSwgdHJ1ZSwgNjQsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ2ludChwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKCh0eXBlb2YgdmFsdWVfMSkgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBmcm9tSW50MzIodmFsdWVfMSkpO1xuICAgIH1cbiAgICBlbHNlIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHBhcnNlKHZhbHVlXzEpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAobWF0Y2hWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBiaWdpbnRcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBiaWdpbnRcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBib29sKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2YWx1ZV8xKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgYm9vbGVhblwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb2F0KHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZhbHVlXzEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBmbG9hdFwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb2F0MzIocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdmFsdWVfMSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIGZsb2F0MzJcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNpbWFsKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBEZWNpbWFsKHZhbHVlXzEpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IG5ldyBEZWNpbWFsKDApO1xuICAgICAgICBtYXRjaFZhbHVlID0gW3RyeVBhcnNlXzUodmFsdWVfMSwgbmV3IEZTaGFycFJlZigoKSA9PiBvdXRBcmcsICh2KSA9PiB7XG4gICAgICAgICAgICBvdXRBcmcgPSB2O1xuICAgICAgICB9KSksIG91dEFyZ107XG4gICAgICAgIGlmIChtYXRjaFZhbHVlWzBdKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG1hdGNoVmFsdWVbMV0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkZWNpbWFsXCIsIHZhbHVlXzEpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGVjaW1hbFwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IG1pblZhbHVlKCk7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfNih2YWx1ZV8xLCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9IHY7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdG9Vbml2ZXJzYWxUaW1lKG1hdGNoVmFsdWVbMV0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGF0ZXRpbWVcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkYXRldGltZVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lVXRjKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IG1pblZhbHVlKCk7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfNih2YWx1ZV8xLCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9IHY7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdG9Vbml2ZXJzYWxUaW1lKG1hdGNoVmFsdWVbMV0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGF0ZXRpbWVcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkYXRldGltZVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lTG9jYWwocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGxldCBtYXRjaFZhbHVlO1xuICAgICAgICBsZXQgb3V0QXJnID0gbWluVmFsdWUoKTtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV82KHZhbHVlXzEsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICBpZiAobWF0Y2hWYWx1ZVswXSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlWzFdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGF0ZXRpbWVcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkYXRldGltZVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lT2Zmc2V0KHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IG1pblZhbHVlXzEoKTtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV83KHZhbHVlXzEsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICBpZiAobWF0Y2hWYWx1ZVswXSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlWzFdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGF0ZXRpbWVvZmZzZXRcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkYXRldGltZVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRpbWVzcGFuKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfOCh2YWx1ZV8xLCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9IHY7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIHRpbWVzcGFuXCIsIHZhbHVlXzEpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgdGltZXNwYW5cIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRlY29kZU1heWJlTnVsbChwYXRoLCBkZWNvZGVyLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBtYXRjaFZhbHVlID0gZGVjb2RlcihwYXRoLCB2YWx1ZV8xKTtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWUudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgc29tZShtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uYWwoZmllbGROYW1lLCBkZWNvZGVyLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT09IG51bGwgPyBmYWxzZSA6IChPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWVfMSB8fCBmYWxzZSkgPT09IE9iamVjdC5wcm90b3R5cGUpKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSB2YWx1ZV8xW2ZpZWxkTmFtZV07XG4gICAgICAgIGlmIChIZWxwZXJzX2lzVW5kZWZpbmVkKGZpZWxkVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlTWF5YmVOdWxsKChwYXRoICsgXCIuXCIpICsgZmllbGROYW1lLCBkZWNvZGVyLCBmaWVsZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDIsIFwiYW4gb2JqZWN0XCIsIHZhbHVlXzEpXSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBiYWRQYXRoRXJyb3IoZmllbGROYW1lcywgY3VycmVudFBhdGgsIHZhbHVlXzEpIHtcbiAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtkZWZhdWx0QXJnKGN1cnJlbnRQYXRoLCBqb2luKFwiLlwiLCBjb25zKFwiJFwiLCBmaWVsZE5hbWVzKSkpLCBuZXcgRXJyb3JSZWFzb24oNCwgKFwiYW4gb2JqZWN0IHdpdGggcGF0aCBgXCIgKyBqb2luKFwiLlwiLCBmaWVsZE5hbWVzKSkgKyBcImBcIiwgdmFsdWVfMSwgZGVmYXVsdEFyZyh0cnlMYXN0KGZpZWxkTmFtZXMpLCBcIlwiKSldKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbmFsQXQoZmllbGROYW1lcywgZGVjb2RlciwgZmlyc3RQYXRoLCBmaXJzdFZhbHVlKSB7XG4gICAgY29uc3QgX2FyZyA9IGZvbGQodW5jdXJyeSgyLCAodHVwbGVkQXJnKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1clBhdGggPSB0dXBsZWRBcmdbMF07XG4gICAgICAgIGNvbnN0IGN1clZhbHVlID0gdHVwbGVkQXJnWzFdO1xuICAgICAgICBjb25zdCByZXMgPSB0dXBsZWRBcmdbMl07XG4gICAgICAgIHJldHVybiAoZmllbGRfMSkgPT4gKChyZXMgPT0gbnVsbCkgPyAoKGN1clZhbHVlID09IG51bGwpID8gW2N1clBhdGgsIGN1clZhbHVlLCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKV0gOiAoKGN1clZhbHVlID09PSBudWxsID8gZmFsc2UgOiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKGN1clZhbHVlIHx8IGZhbHNlKSA9PT0gT2JqZWN0LnByb3RvdHlwZSkpID8gWyhjdXJQYXRoICsgXCIuXCIpICsgZmllbGRfMSwgY3VyVmFsdWVbZmllbGRfMV0sIHZvaWQgMF0gOiBbY3VyUGF0aCwgY3VyVmFsdWUsIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbY3VyUGF0aCwgbmV3IEVycm9yUmVhc29uKDIsIFwiYW4gb2JqZWN0XCIsIGN1clZhbHVlKV0pXSkpIDogW2N1clBhdGgsIGN1clZhbHVlLCByZXNdKTtcbiAgICB9KSwgW2ZpcnN0UGF0aCwgZmlyc3RWYWx1ZSwgdm9pZCAwXSwgZmllbGROYW1lcyk7XG4gICAgaWYgKF9hcmdbMl0gPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBsYXN0VmFsdWUgPSBfYXJnWzFdO1xuICAgICAgICBpZiAoSGVscGVyc19pc1VuZGVmaW5lZChsYXN0VmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlTWF5YmVOdWxsKF9hcmdbMF0sIGRlY29kZXIsIGxhc3RWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBfYXJnWzJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkKGZpZWxkTmFtZSwgZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICh2YWx1ZV8xID09PSBudWxsID8gZmFsc2UgOiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlXzEgfHwgZmFsc2UpID09PSBPYmplY3QucHJvdG90eXBlKSkge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdmFsdWVfMVtmaWVsZE5hbWVdO1xuICAgICAgICBpZiAoSGVscGVyc19pc1VuZGVmaW5lZChmaWVsZFZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDMsIChcImFuIG9iamVjdCB3aXRoIGEgZmllbGQgbmFtZWQgYFwiICsgZmllbGROYW1lKSArIFwiYFwiLCB2YWx1ZV8xKV0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRlY29kZXIoKHBhdGggKyBcIi5cIikgKyBmaWVsZE5hbWUsIGZpZWxkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMiwgXCJhbiBvYmplY3RcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdChmaWVsZE5hbWVzLCBkZWNvZGVyLCBmaXJzdFBhdGgsIGZpcnN0VmFsdWUpIHtcbiAgICBjb25zdCBfYXJnID0gZm9sZCh1bmN1cnJ5KDIsICh0dXBsZWRBcmcpID0+IHtcbiAgICAgICAgY29uc3QgY3VyUGF0aCA9IHR1cGxlZEFyZ1swXTtcbiAgICAgICAgY29uc3QgY3VyVmFsdWUgPSB0dXBsZWRBcmdbMV07XG4gICAgICAgIGNvbnN0IHJlcyA9IHR1cGxlZEFyZ1syXTtcbiAgICAgICAgcmV0dXJuIChmaWVsZF8xKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoY3VyVmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW2N1clBhdGgsIGN1clZhbHVlLCBiYWRQYXRoRXJyb3IoZmllbGROYW1lcywgY3VyUGF0aCwgZmlyc3RWYWx1ZSldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjdXJWYWx1ZSA9PT0gbnVsbCA/IGZhbHNlIDogKE9iamVjdC5nZXRQcm90b3R5cGVPZihjdXJWYWx1ZSB8fCBmYWxzZSkgPT09IE9iamVjdC5wcm90b3R5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1clZhbHVlXzEgPSBjdXJWYWx1ZVtmaWVsZF8xXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEhlbHBlcnNfaXNVbmRlZmluZWQoY3VyVmFsdWVfMSkgPyBbY3VyUGF0aCwgY3VyVmFsdWVfMSwgYmFkUGF0aEVycm9yKGZpZWxkTmFtZXMsIHZvaWQgMCwgZmlyc3RWYWx1ZSldIDogWyhjdXJQYXRoICsgXCIuXCIpICsgZmllbGRfMSwgY3VyVmFsdWVfMSwgdm9pZCAwXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbY3VyUGF0aCwgY3VyVmFsdWUsIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbY3VyUGF0aCwgbmV3IEVycm9yUmVhc29uKDIsIFwiYW4gb2JqZWN0XCIsIGN1clZhbHVlKV0pXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW2N1clBhdGgsIGN1clZhbHVlLCByZXNdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pLCBbZmlyc3RQYXRoLCBmaXJzdFZhbHVlLCB2b2lkIDBdLCBmaWVsZE5hbWVzKTtcbiAgICBpZiAoX2FyZ1syXSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVyKF9hcmdbMF0sIF9hcmdbMV0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIF9hcmdbMl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5kZXgocmVxdWVzdGVkSW5kZXgsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBsZXQgY29weU9mU3RydWN0O1xuICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gKChwYXRoICsgXCIuW1wiKSArIGludDMyVG9TdHJpbmcocmVxdWVzdGVkSW5kZXgpKSArIFwiXVwiO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlXzEpKSB7XG4gICAgICAgIGNvbnN0IHZBcnJheSA9IHZhbHVlXzE7XG4gICAgICAgIGlmIChyZXF1ZXN0ZWRJbmRleCA8IHZBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWNvZGVyKGN1cnJlbnRQYXRoLCB2QXJyYXlbcmVxdWVzdGVkSW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW2N1cnJlbnRQYXRoLCBuZXcgRXJyb3JSZWFzb24oNSwgKCgoXCJhIGxvbmdlciBhcnJheS4gTmVlZCBpbmRleCBgXCIgKyBpbnQzMlRvU3RyaW5nKHJlcXVlc3RlZEluZGV4KSkgKyBcImAgYnV0IHRoZXJlIGFyZSBvbmx5IGBcIikgKyAoKGNvcHlPZlN0cnVjdCA9IHZBcnJheS5sZW5ndGgsIGludDMyVG9TdHJpbmcoY29weU9mU3RydWN0KSkpKSArIFwiYCBlbnRyaWVzXCIsIHZhbHVlXzEpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW2N1cnJlbnRQYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhbiBhcnJheVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbihkZWNvZGVyLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gUmVzdWx0X01hcChzb21lLCBkZWNvZGVyKHBhdGgsIHZhbHVlXzEpKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0KGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZV8xKSkge1xuICAgICAgICBsZXQgaSA9IC0xO1xuICAgICAgICByZXR1cm4gUmVzdWx0X01hcChyZXZlcnNlLCBmb2xkXzEoKGFjYywgdmFsdWVfMikgPT4ge1xuICAgICAgICAgICAgaSA9ICgoaSArIDEpIHwgMCk7XG4gICAgICAgICAgICBpZiAoYWNjLnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKCgocGF0aCArIFwiLltcIikgKyBpbnQzMlRvU3RyaW5nKGkpKSArIFwiXVwiLCB2YWx1ZV8yKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBjb25zKG1hdGNoVmFsdWUuZmllbGRzWzBdLCBhY2MuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgZW1wdHkoKSksIHZhbHVlXzEpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgbGlzdFwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcShkZWNvZGVyLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVfMSkpIHtcbiAgICAgICAgbGV0IGkgPSAtMTtcbiAgICAgICAgcmV0dXJuIFJlc3VsdF9NYXAocmV2ZXJzZV8xLCBmb2xkXzEoKGFjYywgdmFsdWVfMikgPT4ge1xuICAgICAgICAgICAgaSA9ICgoaSArIDEpIHwgMCk7XG4gICAgICAgICAgICBpZiAoYWNjLnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKCgocGF0aCArIFwiLltcIikgKyBpbnQzMlRvU3RyaW5nKGkpKSArIFwiXVwiLCB2YWx1ZV8yKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBhcHBlbmQoW21hdGNoVmFsdWUuZmllbGRzWzBdXSwgYWNjLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgbmV3IEZTaGFycFJlc3VsdCQyKDAsIFtdKSwgdmFsdWVfMSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBzZXFcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcnJheShkZWNvZGVyLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVfMSkpIHtcbiAgICAgICAgbGV0IGkgPSAtMTtcbiAgICAgICAgY29uc3QgdG9rZW5zID0gdmFsdWVfMTtcbiAgICAgICAgcmV0dXJuIGZvbGRfMSgoYWNjLCB2YWx1ZV8yKSA9PiB7XG4gICAgICAgICAgICBpID0gKChpICsgMSkgfCAwKTtcbiAgICAgICAgICAgIGlmIChhY2MudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWNjXzEgPSBhY2MuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKCgocGF0aCArIFwiLltcIikgKyBpbnQzMlRvU3RyaW5nKGkpKSArIFwiXVwiLCB2YWx1ZV8yKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgYWNjXzFbaV0gPSBtYXRjaFZhbHVlLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBhY2NfMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgZmlsbChuZXcgQXJyYXkodG9rZW5zLmxlbmd0aCksIDAsIHRva2Vucy5sZW5ndGgsIG51bGwpKSwgdG9rZW5zKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImFuIGFycmF5XCIsIHZhbHVlXzEpXSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24ga2V5cyhwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT09IG51bGwgPyBmYWxzZSA6IChPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWVfMSB8fCBmYWxzZSkgPT09IE9iamVjdC5wcm90b3R5cGUpKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgb2ZTZXEoT2JqZWN0LmtleXModmFsdWVfMSkpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImFuIG9iamVjdFwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGtleVZhbHVlUGFpcnMoZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBrZXlzKHBhdGgsIHZhbHVlXzEpO1xuICAgIGlmIChtYXRjaFZhbHVlLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBSZXN1bHRfTWFwKHJldmVyc2UsIGZvbGQoKGFjYywgcHJvcCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjYy50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzEgPSBkZWNvZGVyKHBhdGgsIHZhbHVlXzFbcHJvcF0pO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzEudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY29ucyhbcHJvcCwgbWF0Y2hWYWx1ZV8xLmZpZWxkc1swXV0sIGFjYy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgbWF0Y2hWYWx1ZV8xLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgbmV3IEZTaGFycFJlc3VsdCQyKDAsIGVtcHR5KCkpLCBtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uZU9mKGRlY29kZXJzLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgY29uc3QgcnVubmVyID0gKGRlY29kZXJzXzFfbXV0LCBlcnJvcnNfbXV0KSA9PiB7XG4gICAgICAgIHJ1bm5lcjpcbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZXJzXzEgPSBkZWNvZGVyc18xX211dCwgZXJyb3JzID0gZXJyb3JzX211dDtcbiAgICAgICAgICAgIGlmIChpc0VtcHR5KGRlY29kZXJzXzEpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDcsIGVycm9ycyldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBmcm9tVmFsdWUocGF0aCwgdW5jdXJyeSgyLCBoZWFkXzEoZGVjb2RlcnNfMSkpLCB2YWx1ZV8xKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVjb2RlcnNfMV9tdXQgPSB0YWlsXzEoZGVjb2RlcnNfMSk7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yc19tdXQgPSBhcHBlbmRfMShlcnJvcnMsIHNpbmdsZXRvbihtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSBydW5uZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHJ1bm5lcihkZWNvZGVycywgZW1wdHkoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuaWwob3V0cHV0LCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG91dHB1dCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJudWxsXCIsIHZhbHVlXzEpXSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsdWUoX2FyZywgdikge1xuICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWNjZWVkKG91dHB1dCwgX2FyZ18xLCBfYXJnKSB7XG4gICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBvdXRwdXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFpbChtc2csIHBhdGgsIF9hcmcpIHtcbiAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oNiwgbXNnKV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYW5kVGhlbihjYiwgZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKHBhdGgsIHZhbHVlXzEpO1xuICAgIGlmIChtYXRjaFZhbHVlLnRhZyA9PT0gMCkge1xuICAgICAgICByZXR1cm4gY2IobWF0Y2hWYWx1ZS5maWVsZHNbMF0sIHBhdGgsIHZhbHVlXzEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlLmZpZWxkc1swXSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxsKGRlY29kZXJzLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgY29uc3QgcnVubmVyID0gKGRlY29kZXJzXzFfbXV0LCB2YWx1ZXNfbXV0KSA9PiB7XG4gICAgICAgIHJ1bm5lcjpcbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZXJzXzEgPSBkZWNvZGVyc18xX211dCwgdmFsdWVzID0gdmFsdWVzX211dDtcbiAgICAgICAgICAgIGlmIChpc0VtcHR5KGRlY29kZXJzXzEpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2YWx1ZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGhlYWRfMShkZWNvZGVyc18xKShwYXRoKSh2YWx1ZV8xKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkZWNvZGVyc18xX211dCA9IHRhaWxfMShkZWNvZGVyc18xKTtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzX211dCA9IGFwcGVuZF8xKHZhbHVlcywgc2luZ2xldG9uKG1hdGNoVmFsdWUuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIHJ1bm5lcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHJ1bm5lcihkZWNvZGVycywgZW1wdHkoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXAoY3RvciwgZDEsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gZDEocGF0aCwgdmFsdWVfMSk7XG4gICAgaWYgKG1hdGNoVmFsdWUudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgbWF0Y2hWYWx1ZS5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBjdG9yKG1hdGNoVmFsdWUuZmllbGRzWzBdKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwMihjdG9yLCBkMSwgZDIsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKV07XG4gICAgY29uc3QgY29weU9mU3RydWN0ID0gbWF0Y2hWYWx1ZVswXTtcbiAgICBpZiAoY29weU9mU3RydWN0LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzEgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICBpZiAoY29weU9mU3RydWN0XzEudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF8xLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIGN0b3IoY29weU9mU3RydWN0LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzEuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXAzKGN0b3IsIGQxLCBkMiwgZDMsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKSwgZDMocGF0aCwgdmFsdWVfMSldO1xuICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzJdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY3Rvcihjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwNChjdG9yLCBkMSwgZDIsIGQzLCBkNCwgcGF0aCwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBbZDEocGF0aCwgdmFsdWVfMSksIGQyKHBhdGgsIHZhbHVlXzEpLCBkMyhwYXRoLCB2YWx1ZV8xKSwgZDQocGF0aCwgdmFsdWVfMSldO1xuICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzJdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8zID0gbWF0Y2hWYWx1ZVszXTtcbiAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY3Rvcihjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwNShjdG9yLCBkMSwgZDIsIGQzLCBkNCwgZDUsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKSwgZDMocGF0aCwgdmFsdWVfMSksIGQ0KHBhdGgsIHZhbHVlXzEpLCBkNShwYXRoLCB2YWx1ZV8xKV07XG4gICAgY29uc3QgY29weU9mU3RydWN0ID0gbWF0Y2hWYWx1ZVswXTtcbiAgICBpZiAoY29weU9mU3RydWN0LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzEgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICBpZiAoY29weU9mU3RydWN0XzEudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF8xLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfMiA9IG1hdGNoVmFsdWVbMl07XG4gICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzIudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzMgPSBtYXRjaFZhbHVlWzNdO1xuICAgICAgICAgICAgICAgIGlmIChjb3B5T2ZTdHJ1Y3RfMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMy5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzQgPSBtYXRjaFZhbHVlWzRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzQudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF80LmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIGN0b3IoY29weU9mU3RydWN0LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzEuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8zLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzQuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXA2KGN0b3IsIGQxLCBkMiwgZDMsIGQ0LCBkNSwgZDYsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKSwgZDMocGF0aCwgdmFsdWVfMSksIGQ0KHBhdGgsIHZhbHVlXzEpLCBkNShwYXRoLCB2YWx1ZV8xKSwgZDYocGF0aCwgdmFsdWVfMSldO1xuICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzJdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8zID0gbWF0Y2hWYWx1ZVszXTtcbiAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF80ID0gbWF0Y2hWYWx1ZVs0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF80LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfNC5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzUgPSBtYXRjaFZhbHVlWzVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF81LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY3Rvcihjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfNC5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF81LmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwNyhjdG9yLCBkMSwgZDIsIGQzLCBkNCwgZDUsIGQ2LCBkNywgcGF0aCwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBbZDEocGF0aCwgdmFsdWVfMSksIGQyKHBhdGgsIHZhbHVlXzEpLCBkMyhwYXRoLCB2YWx1ZV8xKSwgZDQocGF0aCwgdmFsdWVfMSksIGQ1KHBhdGgsIHZhbHVlXzEpLCBkNihwYXRoLCB2YWx1ZV8xKSwgZDcocGF0aCwgdmFsdWVfMSldO1xuICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzJdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8zID0gbWF0Y2hWYWx1ZVszXTtcbiAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF80ID0gbWF0Y2hWYWx1ZVs0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF80LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfNC5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzUgPSBtYXRjaFZhbHVlWzVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF81LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF82ID0gbWF0Y2hWYWx1ZVs2XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzYudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzYuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY3Rvcihjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfNC5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF81LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzYuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwOChjdG9yLCBkMSwgZDIsIGQzLCBkNCwgZDUsIGQ2LCBkNywgZDgsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKSwgZDMocGF0aCwgdmFsdWVfMSksIGQ0KHBhdGgsIHZhbHVlXzEpLCBkNShwYXRoLCB2YWx1ZV8xKSwgZDYocGF0aCwgdmFsdWVfMSksIGQ3KHBhdGgsIHZhbHVlXzEpLCBkOChwYXRoLCB2YWx1ZV8xKV07XG4gICAgY29uc3QgY29weU9mU3RydWN0ID0gbWF0Y2hWYWx1ZVswXTtcbiAgICBpZiAoY29weU9mU3RydWN0LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzEgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICBpZiAoY29weU9mU3RydWN0XzEudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF8xLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfMiA9IG1hdGNoVmFsdWVbMl07XG4gICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzIudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzMgPSBtYXRjaFZhbHVlWzNdO1xuICAgICAgICAgICAgICAgIGlmIChjb3B5T2ZTdHJ1Y3RfMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMy5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzQgPSBtYXRjaFZhbHVlWzRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzQudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF80LmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfNSA9IG1hdGNoVmFsdWVbNV07XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzUudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfNS5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzYgPSBtYXRjaFZhbHVlWzZdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3B5T2ZTdHJ1Y3RfNi50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfNi5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzcgPSBtYXRjaFZhbHVlWzddO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzcudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF83LmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIGN0b3IoY29weU9mU3RydWN0LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzEuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8zLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzQuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfNS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF82LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzcuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbmRNYXAoKSB7XG4gICAgcmV0dXJuIChkKSA9PiAoKGRfMSkgPT4gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IG1hcDIoKGFyZywgZnVuYykgPT4gZnVuYyhhcmcpLCB1bmN1cnJ5KDIsIGQpLCB1bmN1cnJ5KDIsIGRfMSksIHBhdGgsIHZhbHVlXzEpKSkpO1xufVxuXG5mdW5jdGlvbiB1bndyYXBXaXRoKGVycm9ycywgcGF0aCwgZGVjb2RlciwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKHBhdGgsIHZhbHVlXzEpO1xuICAgIGlmIChtYXRjaFZhbHVlLnRhZyA9PT0gMSkge1xuICAgICAgICB2b2lkIChlcnJvcnMucHVzaChtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBtYXRjaFZhbHVlLmZpZWxkc1swXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXR0ZXJzJDEge1xuICAgIGNvbnN0cnVjdG9yKHBhdGgsIHYpIHtcbiAgICAgICAgbGV0IF90aGlzLCBfdGhpc18xO1xuICAgICAgICB0aGlzLmVycm9ycyA9IFtdO1xuICAgICAgICB0aGlzLnJlcXVpcmVkID0gKChfdGhpcyA9IHRoaXMsIHtcbiAgICAgICAgICAgIEZpZWxkKGZpZWxkTmFtZSwgZGVjb2Rlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiB1bndyYXBXaXRoKF90aGlzLmVycm9ycywgcGF0aCwgKHBhdGhfMSwgdmFsdWVfMSkgPT4gZmllbGQoZmllbGROYW1lLCBkZWNvZGVyLCBwYXRoXzEsIHZhbHVlXzEpLCB2KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBBdChmaWVsZE5hbWVzLCBkZWNvZGVyXzIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW53cmFwV2l0aChfdGhpcy5lcnJvcnMsIHBhdGgsIChmaXJzdFBhdGgsIGZpcnN0VmFsdWUpID0+IGF0KGZpZWxkTmFtZXMsIGRlY29kZXJfMiwgZmlyc3RQYXRoLCBmaXJzdFZhbHVlKSwgdik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgUmF3KGRlY29kZXJfNCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB1bndyYXBXaXRoKF90aGlzLmVycm9ycywgcGF0aCwgZGVjb2Rlcl80LCB2KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5vcHRpb25hbCA9ICgoX3RoaXNfMSA9IHRoaXMsIHtcbiAgICAgICAgICAgIEZpZWxkKGZpZWxkTmFtZV8xLCBkZWNvZGVyXzUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW53cmFwV2l0aChfdGhpc18xLmVycm9ycywgcGF0aCwgKHBhdGhfMiwgdmFsdWVfMikgPT4gb3B0aW9uYWwoZmllbGROYW1lXzEsIGRlY29kZXJfNSwgcGF0aF8yLCB2YWx1ZV8yKSwgdik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgQXQoZmllbGROYW1lc18xLCBkZWNvZGVyXzcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW53cmFwV2l0aChfdGhpc18xLmVycm9ycywgcGF0aCwgKGZpcnN0UGF0aF8xLCBmaXJzdFZhbHVlXzEpID0+IG9wdGlvbmFsQXQoZmllbGROYW1lc18xLCBkZWNvZGVyXzcsIGZpcnN0UGF0aF8xLCBmaXJzdFZhbHVlXzEpLCB2KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBSYXcoZGVjb2Rlcl85KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGRlY29kZXJfOShwYXRoLCB2KTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVhc29uID0gbWF0Y2hWYWx1ZS5maWVsZHNbMF1bMV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbWF0Y2hWYWx1ZS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCwgdl8yO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHJlYXNvbi50YWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2XzIgPSByZWFzb24uZmllbGRzWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfMiA9IHJlYXNvbi5maWVsZHNbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfMiA9IHJlYXNvbi5maWVsZHNbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZfMiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkIChfdGhpc18xLmVycm9ycy5wdXNoKGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkIChfdGhpc18xLmVycm9ycy5wdXNoKGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzb21lKG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGdldCBSZXF1aXJlZCgpIHtcbiAgICAgICAgY29uc3QgX18gPSB0aGlzO1xuICAgICAgICByZXR1cm4gX18ucmVxdWlyZWQ7XG4gICAgfVxuICAgIGdldCBPcHRpb25hbCgpIHtcbiAgICAgICAgY29uc3QgX18gPSB0aGlzO1xuICAgICAgICByZXR1cm4gX18ub3B0aW9uYWw7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gR2V0dGVycyQxJHJlZmxlY3Rpb24oZ2VuMCkge1xuICAgIHJldHVybiBjbGFzc190eXBlKFwiVGhvdGguSnNvbi5EZWNvZGUuR2V0dGVyc2AxXCIsIFtnZW4wXSwgR2V0dGVycyQxKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdldHRlcnMkMV8kY3Rvcl80QTUxQjYwRShwYXRoLCB2KSB7XG4gICAgcmV0dXJuIG5ldyBHZXR0ZXJzJDEocGF0aCwgdik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBHZXR0ZXJzJDFfX2dldF9FcnJvcnMoX18pIHtcbiAgICByZXR1cm4gdG9MaXN0KF9fLmVycm9ycyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3QoYnVpbGRlciwgcGF0aCwgdikge1xuICAgIGNvbnN0IGdldHRlcnMgPSBHZXR0ZXJzJDFfJGN0b3JfNEE1MUI2MEUocGF0aCwgdik7XG4gICAgY29uc3QgcmVzdWx0ID0gYnVpbGRlcihnZXR0ZXJzKTtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gR2V0dGVycyQxX19nZXRfRXJyb3JzKGdldHRlcnMpO1xuICAgIGlmICghaXNFbXB0eShtYXRjaFZhbHVlKSkge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSBtYXRjaFZhbHVlO1xuICAgICAgICBpZiAobGVuZ3RoKGVycm9ycykgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oNywgbWFwXzEoKHR1cGxlZEFyZykgPT4gZXJyb3JUb1N0cmluZyh0dXBsZWRBcmdbMF0sIHR1cGxlZEFyZ1sxXSksIGVycm9ycykpXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGhlYWRfMShtYXRjaFZhbHVlKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcmVzdWx0KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTIoZGVjb2RlcjEsIGRlY29kZXIyKSB7XG4gICAgbGV0IGRlY29kZXJfMztcbiAgICBjb25zdCBkZWNvZGVyID0gZGVjb2RlcjE7XG4gICAgZGVjb2Rlcl8zID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MSkgPT4ge1xuICAgICAgICBsZXQgZGVjb2Rlcl8yO1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl8yID0gKChwYXRoXzEpID0+ICgodmFsdWVfMikgPT4gaW5kZXgoMSwgZGVjb2Rlcl8xLCBwYXRoXzEsIHZhbHVlXzIpKSk7XG4gICAgICAgIHJldHVybiAocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IGFuZFRoZW4oKHYyLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSA9PiBzdWNjZWVkKFt2MSwgdjJdLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSwgdW5jdXJyeSgyLCBkZWNvZGVyXzIpLCBwYXRoXzIsIHZhbHVlXzMpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzMpLCBwYXRoXzMsIHZhbHVlXzQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1cGxlMyhkZWNvZGVyMSwgZGVjb2RlcjIsIGRlY29kZXIzKSB7XG4gICAgbGV0IGRlY29kZXJfNTtcbiAgICBjb25zdCBkZWNvZGVyID0gZGVjb2RlcjE7XG4gICAgZGVjb2Rlcl81ID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzUpID0+ICgodmFsdWVfNikgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MSkgPT4ge1xuICAgICAgICBsZXQgZGVjb2Rlcl80O1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl80ID0gKChwYXRoXzEpID0+ICgodmFsdWVfMikgPT4gaW5kZXgoMSwgZGVjb2Rlcl8xLCBwYXRoXzEsIHZhbHVlXzIpKSk7XG4gICAgICAgIHJldHVybiAocGF0aF80KSA9PiAoKHZhbHVlXzUpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzM7XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVyXzIgPSBkZWNvZGVyMztcbiAgICAgICAgICAgIGRlY29kZXJfMyA9ICgocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IGluZGV4KDIsIGRlY29kZXJfMiwgcGF0aF8yLCB2YWx1ZV8zKSkpO1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gYW5kVGhlbigodjMsIGFyZzEwJDAwNDAsIGFyZzIwJDAwNDApID0+IHN1Y2NlZWQoW3YxLCB2MiwgdjNdLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSwgdW5jdXJyeSgyLCBkZWNvZGVyXzMpLCBwYXRoXzMsIHZhbHVlXzQpKTtcbiAgICAgICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl80KSwgcGF0aF80LCB2YWx1ZV81KSk7XG4gICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl81KSwgcGF0aF81LCB2YWx1ZV82KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTQoZGVjb2RlcjEsIGRlY29kZXIyLCBkZWNvZGVyMywgZGVjb2RlcjQpIHtcbiAgICBsZXQgZGVjb2Rlcl83O1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzcgPSAoKHBhdGgpID0+ICgodmFsdWVfMSkgPT4gaW5kZXgoMCwgZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkpKTtcbiAgICByZXR1cm4gKHBhdGhfNykgPT4gKCh2YWx1ZV84KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYxKSA9PiB7XG4gICAgICAgIGxldCBkZWNvZGVyXzY7XG4gICAgICAgIGNvbnN0IGRlY29kZXJfMSA9IGRlY29kZXIyO1xuICAgICAgICBkZWNvZGVyXzYgPSAoKHBhdGhfMSkgPT4gKCh2YWx1ZV8yKSA9PiBpbmRleCgxLCBkZWNvZGVyXzEsIHBhdGhfMSwgdmFsdWVfMikpKTtcbiAgICAgICAgcmV0dXJuIChwYXRoXzYpID0+ICgodmFsdWVfNykgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MikgPT4ge1xuICAgICAgICAgICAgbGV0IGRlY29kZXJfNTtcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfMiA9IGRlY29kZXIzO1xuICAgICAgICAgICAgZGVjb2Rlcl81ID0gKChwYXRoXzIpID0+ICgodmFsdWVfMykgPT4gaW5kZXgoMiwgZGVjb2Rlcl8yLCBwYXRoXzIsIHZhbHVlXzMpKSk7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfNSkgPT4gKCh2YWx1ZV82KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYzKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGRlY29kZXJfNDtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzMgPSBkZWNvZGVyNDtcbiAgICAgICAgICAgICAgICBkZWNvZGVyXzQgPSAoKHBhdGhfMykgPT4gKCh2YWx1ZV80KSA9PiBpbmRleCgzLCBkZWNvZGVyXzMsIHBhdGhfMywgdmFsdWVfNCkpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHBhdGhfNCkgPT4gKCh2YWx1ZV81KSA9PiBhbmRUaGVuKCh2NCwgYXJnMTAkMDA0MCwgYXJnMjAkMDA0MCkgPT4gc3VjY2VlZChbdjEsIHYyLCB2MywgdjRdLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSwgdW5jdXJyeSgyLCBkZWNvZGVyXzQpLCBwYXRoXzQsIHZhbHVlXzUpKTtcbiAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfNSksIHBhdGhfNSwgdmFsdWVfNikpO1xuICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzYpLCBwYXRoXzYsIHZhbHVlXzcpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzcpLCBwYXRoXzcsIHZhbHVlXzgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1cGxlNShkZWNvZGVyMSwgZGVjb2RlcjIsIGRlY29kZXIzLCBkZWNvZGVyNCwgZGVjb2RlcjUpIHtcbiAgICBsZXQgZGVjb2Rlcl85O1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzkgPSAoKHBhdGgpID0+ICgodmFsdWVfMSkgPT4gaW5kZXgoMCwgZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkpKTtcbiAgICByZXR1cm4gKHBhdGhfOSkgPT4gKCh2YWx1ZV8xMCkgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MSkgPT4ge1xuICAgICAgICBsZXQgZGVjb2Rlcl84O1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl84ID0gKChwYXRoXzEpID0+ICgodmFsdWVfMikgPT4gaW5kZXgoMSwgZGVjb2Rlcl8xLCBwYXRoXzEsIHZhbHVlXzIpKSk7XG4gICAgICAgIHJldHVybiAocGF0aF84KSA9PiAoKHZhbHVlXzkpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzc7XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVyXzIgPSBkZWNvZGVyMztcbiAgICAgICAgICAgIGRlY29kZXJfNyA9ICgocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IGluZGV4KDIsIGRlY29kZXJfMiwgcGF0aF8yLCB2YWx1ZV8zKSkpO1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzcpID0+ICgodmFsdWVfOCkgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzY7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl8zID0gZGVjb2RlcjQ7XG4gICAgICAgICAgICAgICAgZGVjb2Rlcl82ID0gKChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gaW5kZXgoMywgZGVjb2Rlcl8zLCBwYXRoXzMsIHZhbHVlXzQpKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzYpID0+ICgodmFsdWVfNykgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2NCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl81O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzQgPSBkZWNvZGVyNTtcbiAgICAgICAgICAgICAgICAgICAgZGVjb2Rlcl81ID0gKChwYXRoXzQpID0+ICgodmFsdWVfNSkgPT4gaW5kZXgoNCwgZGVjb2Rlcl80LCBwYXRoXzQsIHZhbHVlXzUpKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF81KSA9PiAoKHZhbHVlXzYpID0+IGFuZFRoZW4oKHY1LCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSA9PiBzdWNjZWVkKFt2MSwgdjIsIHYzLCB2NCwgdjVdLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSwgdW5jdXJyeSgyLCBkZWNvZGVyXzUpLCBwYXRoXzUsIHZhbHVlXzYpKTtcbiAgICAgICAgICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzYpLCBwYXRoXzYsIHZhbHVlXzcpKTtcbiAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfNyksIHBhdGhfNywgdmFsdWVfOCkpO1xuICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzgpLCBwYXRoXzgsIHZhbHVlXzkpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzkpLCBwYXRoXzksIHZhbHVlXzEwKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTYoZGVjb2RlcjEsIGRlY29kZXIyLCBkZWNvZGVyMywgZGVjb2RlcjQsIGRlY29kZXI1LCBkZWNvZGVyNikge1xuICAgIGxldCBkZWNvZGVyXzExO1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzExID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzExKSA9PiAoKHZhbHVlXzEyKSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYxKSA9PiB7XG4gICAgICAgIGxldCBkZWNvZGVyXzEwO1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl8xMCA9ICgocGF0aF8xKSA9PiAoKHZhbHVlXzIpID0+IGluZGV4KDEsIGRlY29kZXJfMSwgcGF0aF8xLCB2YWx1ZV8yKSkpO1xuICAgICAgICByZXR1cm4gKHBhdGhfMTApID0+ICgodmFsdWVfMTEpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzk7XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVyXzIgPSBkZWNvZGVyMztcbiAgICAgICAgICAgIGRlY29kZXJfOSA9ICgocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IGluZGV4KDIsIGRlY29kZXJfMiwgcGF0aF8yLCB2YWx1ZV8zKSkpO1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzkpID0+ICgodmFsdWVfMTApID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjMpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl84O1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfMyA9IGRlY29kZXI0O1xuICAgICAgICAgICAgICAgIGRlY29kZXJfOCA9ICgocGF0aF8zKSA9PiAoKHZhbHVlXzQpID0+IGluZGV4KDMsIGRlY29kZXJfMywgcGF0aF8zLCB2YWx1ZV80KSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF84KSA9PiAoKHZhbHVlXzkpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRlY29kZXJfNztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl80ID0gZGVjb2RlcjU7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZXJfNyA9ICgocGF0aF80KSA9PiAoKHZhbHVlXzUpID0+IGluZGV4KDQsIGRlY29kZXJfNCwgcGF0aF80LCB2YWx1ZV81KSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHBhdGhfNykgPT4gKCh2YWx1ZV84KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHY1KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl82O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl81ID0gZGVjb2RlcjY7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVyXzYgPSAoKHBhdGhfNSkgPT4gKCh2YWx1ZV82KSA9PiBpbmRleCg1LCBkZWNvZGVyXzUsIHBhdGhfNSwgdmFsdWVfNikpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF82KSA9PiAoKHZhbHVlXzcpID0+IGFuZFRoZW4oKHY2LCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSA9PiBzdWNjZWVkKFt2MSwgdjIsIHYzLCB2NCwgdjUsIHY2XSwgYXJnMTAkMDA0MCwgYXJnMjAkMDA0MCksIHVuY3VycnkoMiwgZGVjb2Rlcl82KSwgcGF0aF82LCB2YWx1ZV83KSk7XG4gICAgICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfNyksIHBhdGhfNywgdmFsdWVfOCkpO1xuICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfOCksIHBhdGhfOCwgdmFsdWVfOSkpO1xuICAgICAgICAgICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl85KSwgcGF0aF85LCB2YWx1ZV8xMCkpO1xuICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzEwKSwgcGF0aF8xMCwgdmFsdWVfMTEpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzExKSwgcGF0aF8xMSwgdmFsdWVfMTIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1cGxlNyhkZWNvZGVyMSwgZGVjb2RlcjIsIGRlY29kZXIzLCBkZWNvZGVyNCwgZGVjb2RlcjUsIGRlY29kZXI2LCBkZWNvZGVyNykge1xuICAgIGxldCBkZWNvZGVyXzEzO1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzEzID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzEzKSA9PiAoKHZhbHVlXzE0KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYxKSA9PiB7XG4gICAgICAgIGxldCBkZWNvZGVyXzEyO1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl8xMiA9ICgocGF0aF8xKSA9PiAoKHZhbHVlXzIpID0+IGluZGV4KDEsIGRlY29kZXJfMSwgcGF0aF8xLCB2YWx1ZV8yKSkpO1xuICAgICAgICByZXR1cm4gKHBhdGhfMTIpID0+ICgodmFsdWVfMTMpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzExO1xuICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl8yID0gZGVjb2RlcjM7XG4gICAgICAgICAgICBkZWNvZGVyXzExID0gKChwYXRoXzIpID0+ICgodmFsdWVfMykgPT4gaW5kZXgoMiwgZGVjb2Rlcl8yLCBwYXRoXzIsIHZhbHVlXzMpKSk7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMTEpID0+ICgodmFsdWVfMTIpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjMpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl8xMDtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzMgPSBkZWNvZGVyNDtcbiAgICAgICAgICAgICAgICBkZWNvZGVyXzEwID0gKChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gaW5kZXgoMywgZGVjb2Rlcl8zLCBwYXRoXzMsIHZhbHVlXzQpKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzEwKSA9PiAoKHZhbHVlXzExKSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHY0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfNCA9IGRlY29kZXI1O1xuICAgICAgICAgICAgICAgICAgICBkZWNvZGVyXzkgPSAoKHBhdGhfNCkgPT4gKCh2YWx1ZV81KSA9PiBpbmRleCg0LCBkZWNvZGVyXzQsIHBhdGhfNCwgdmFsdWVfNSkpKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzkpID0+ICgodmFsdWVfMTApID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzUgPSBkZWNvZGVyNjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZXJfOCA9ICgocGF0aF81KSA9PiAoKHZhbHVlXzYpID0+IGluZGV4KDUsIGRlY29kZXJfNSwgcGF0aF81LCB2YWx1ZV82KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzgpID0+ICgodmFsdWVfOSkgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2NikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl82ID0gZGVjb2Rlcjc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2Rlcl83ID0gKChwYXRoXzYpID0+ICgodmFsdWVfNykgPT4gaW5kZXgoNiwgZGVjb2Rlcl82LCBwYXRoXzYsIHZhbHVlXzcpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzcpID0+ICgodmFsdWVfOCkgPT4gYW5kVGhlbigodjcsIGFyZzEwJDAwNDAsIGFyZzIwJDAwNDApID0+IHN1Y2NlZWQoW3YxLCB2MiwgdjMsIHY0LCB2NSwgdjYsIHY3XSwgYXJnMTAkMDA0MCwgYXJnMjAkMDA0MCksIHVuY3VycnkoMiwgZGVjb2Rlcl83KSwgcGF0aF83LCB2YWx1ZV84KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzgpLCBwYXRoXzgsIHZhbHVlXzkpKTtcbiAgICAgICAgICAgICAgICAgICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl85KSwgcGF0aF85LCB2YWx1ZV8xMCkpO1xuICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTApLCBwYXRoXzEwLCB2YWx1ZV8xMSkpO1xuICAgICAgICAgICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl8xMSksIHBhdGhfMTEsIHZhbHVlXzEyKSk7XG4gICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTIpLCBwYXRoXzEyLCB2YWx1ZV8xMykpO1xuICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTMpLCBwYXRoXzEzLCB2YWx1ZV8xNCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGU4KGRlY29kZXIxLCBkZWNvZGVyMiwgZGVjb2RlcjMsIGRlY29kZXI0LCBkZWNvZGVyNSwgZGVjb2RlcjYsIGRlY29kZXI3LCBkZWNvZGVyOCkge1xuICAgIGxldCBkZWNvZGVyXzE1O1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzE1ID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzE1KSA9PiAoKHZhbHVlXzE2KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYxKSA9PiB7XG4gICAgICAgIGxldCBkZWNvZGVyXzE0O1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl8xNCA9ICgocGF0aF8xKSA9PiAoKHZhbHVlXzIpID0+IGluZGV4KDEsIGRlY29kZXJfMSwgcGF0aF8xLCB2YWx1ZV8yKSkpO1xuICAgICAgICByZXR1cm4gKHBhdGhfMTQpID0+ICgodmFsdWVfMTUpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzEzO1xuICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl8yID0gZGVjb2RlcjM7XG4gICAgICAgICAgICBkZWNvZGVyXzEzID0gKChwYXRoXzIpID0+ICgodmFsdWVfMykgPT4gaW5kZXgoMiwgZGVjb2Rlcl8yLCBwYXRoXzIsIHZhbHVlXzMpKSk7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMTMpID0+ICgodmFsdWVfMTQpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjMpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl8xMjtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzMgPSBkZWNvZGVyNDtcbiAgICAgICAgICAgICAgICBkZWNvZGVyXzEyID0gKChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gaW5kZXgoMywgZGVjb2Rlcl8zLCBwYXRoXzMsIHZhbHVlXzQpKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzEyKSA9PiAoKHZhbHVlXzEzKSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHY0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzExO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzQgPSBkZWNvZGVyNTtcbiAgICAgICAgICAgICAgICAgICAgZGVjb2Rlcl8xMSA9ICgocGF0aF80KSA9PiAoKHZhbHVlXzUpID0+IGluZGV4KDQsIGRlY29kZXJfNCwgcGF0aF80LCB2YWx1ZV81KSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHBhdGhfMTEpID0+ICgodmFsdWVfMTIpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzEwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl81ID0gZGVjb2RlcjY7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVyXzEwID0gKChwYXRoXzUpID0+ICgodmFsdWVfNikgPT4gaW5kZXgoNSwgZGVjb2Rlcl81LCBwYXRoXzUsIHZhbHVlXzYpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHBhdGhfMTApID0+ICgodmFsdWVfMTEpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl85O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfNiA9IGRlY29kZXI3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZXJfOSA9ICgocGF0aF82KSA9PiAoKHZhbHVlXzcpID0+IGluZGV4KDYsIGRlY29kZXJfNiwgcGF0aF82LCB2YWx1ZV83KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF85KSA9PiAoKHZhbHVlXzEwKSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHY3KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfNyA9IGRlY29kZXI4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVyXzggPSAoKHBhdGhfNykgPT4gKCh2YWx1ZV84KSA9PiBpbmRleCg3LCBkZWNvZGVyXzcsIHBhdGhfNywgdmFsdWVfOCkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzgpID0+ICgodmFsdWVfOSkgPT4gYW5kVGhlbigodjgsIGFyZzEwJDAwNDAsIGFyZzIwJDAwNDApID0+IHN1Y2NlZWQoW3YxLCB2MiwgdjMsIHY0LCB2NSwgdjYsIHY3LCB2OF0sIGFyZzEwJDAwNDAsIGFyZzIwJDAwNDApLCB1bmN1cnJ5KDIsIGRlY29kZXJfOCksIHBhdGhfOCwgdmFsdWVfOSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfOSksIHBhdGhfOSwgdmFsdWVfMTApKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTApLCBwYXRoXzEwLCB2YWx1ZV8xMSkpO1xuICAgICAgICAgICAgICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzExKSwgcGF0aF8xMSwgdmFsdWVfMTIpKTtcbiAgICAgICAgICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzEyKSwgcGF0aF8xMiwgdmFsdWVfMTMpKTtcbiAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTMpLCBwYXRoXzEzLCB2YWx1ZV8xNCkpO1xuICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzE0KSwgcGF0aF8xNCwgdmFsdWVfMTUpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzE1KSwgcGF0aF8xNSwgdmFsdWVfMTYpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpY3QoZGVjb2Rlcikge1xuICAgIGxldCBkO1xuICAgIGNvbnN0IGRlY29kZXJfMSA9IGRlY29kZXI7XG4gICAgZCA9ICgocGF0aCkgPT4gKCh2YWx1ZV8xKSA9PiBrZXlWYWx1ZVBhaXJzKGRlY29kZXJfMSwgcGF0aCwgdmFsdWVfMSkpKTtcbiAgICByZXR1cm4gKHBhdGhfMSkgPT4gKCh2YWx1ZV8yKSA9PiBtYXAob2ZMaXN0LCB1bmN1cnJ5KDIsIGQpLCBwYXRoXzEsIHZhbHVlXzIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcCQwMDI3KGtleURlY29kZXIsIHZhbHVlRGVjb2Rlcikge1xuICAgIGxldCBkO1xuICAgIGNvbnN0IGRlY29kZXIgPSB0dXBsZTIoa2V5RGVjb2RlciwgdmFsdWVEZWNvZGVyKTtcbiAgICBkID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGFycmF5KHVuY3VycnkoMiwgZGVjb2RlciksIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzEpID0+ICgodmFsdWVfMikgPT4gbWFwKG9mU2VxXzEsIHVuY3VycnkoMiwgZCksIHBhdGhfMSwgdmFsdWVfMikpO1xufVxuXG5mdW5jdGlvbiB0b01hcCh4cykge1xuICAgIHJldHVybiBvZlNlcV8xKHhzKTtcbn1cblxuZnVuY3Rpb24gdG9TZXQoeHMpIHtcbiAgICByZXR1cm4gb2ZTZXFfMih4cywge1xuICAgICAgICBDb21wYXJlOiBjb21wYXJlLFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhdXRvT2JqZWN0KGRlY29kZXJJbmZvcywgcGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICghKHZhbHVlXzEgPT09IG51bGwgPyBmYWxzZSA6IChPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWVfMSB8fCBmYWxzZSkgPT09IE9iamVjdC5wcm90b3R5cGUpKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhbiBvYmplY3RcIiwgdmFsdWVfMSldKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmb2xkQmFjayh1bmN1cnJ5KDIsICh0dXBsZWRBcmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB0dXBsZWRBcmdbMF07XG4gICAgICAgICAgICByZXR1cm4gKGFjYykgPT4gKChhY2MudGFnID09PSAwKSA/IFJlc3VsdF9NYXAoKHYpID0+IGNvbnModiwgYWNjLmZpZWxkc1swXSksIHR1cGxlZEFyZ1sxXSgocGF0aCArIFwiLlwiKSArIG5hbWUpKHZhbHVlXzFbbmFtZV0pKSA6IGFjYyk7XG4gICAgICAgIH0pLCBkZWNvZGVySW5mb3MsIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBlbXB0eSgpKSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhdXRvT2JqZWN0MihrZXlEZWNvZGVyLCB2YWx1ZURlY29kZXIsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoISh2YWx1ZV8xID09PSBudWxsID8gZmFsc2UgOiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlXzEgfHwgZmFsc2UpID09PSBPYmplY3QucHJvdG90eXBlKSkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYW4gb2JqZWN0XCIsIHZhbHVlXzEpXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZm9sZF8yKChhY2MsIG5hbWUpID0+IHtcbiAgICAgICAgICAgIGlmIChhY2MudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGtleURlY29kZXIocGF0aCwgbmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWUudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IF9hcmcgPSB2YWx1ZURlY29kZXIoKHBhdGggKyBcIi5cIikgKyBuYW1lLCB2YWx1ZV8xW25hbWVdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKF9hcmcudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIGNvbnMoW21hdGNoVmFsdWUuZmllbGRzWzBdLCBfYXJnLmZpZWxkc1swXV0sIGFjYy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgX2FyZy5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgZW1wdHkoKSksIE9iamVjdC5rZXlzKHZhbHVlXzEpKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1peGVkQXJyYXkob2Zmc2V0LCBkZWNvZGVycywgcGF0aCwgdmFsdWVzKSB7XG4gICAgbGV0IGFyZ18xO1xuICAgIGNvbnN0IGV4cGVjdGVkTGVuZ3RoID0gKGRlY29kZXJzLmxlbmd0aCArIG9mZnNldCkgfCAwO1xuICAgIGlmIChleHBlY3RlZExlbmd0aCAhPT0gdmFsdWVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oNiwgKGFyZ18xID0gKHZhbHVlcy5sZW5ndGggfCAwKSwgdG9UZXh0KHByaW50ZihcIkV4cGVjdGVkIGFycmF5IG9mIGxlbmd0aCAlaSBidXQgZ290ICVpXCIpKShleHBlY3RlZExlbmd0aCkoYXJnXzEpKSldKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCByZXN1bHQgPSBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgZW1wdHkoKSk7XG4gICAgICAgIGZvciAobGV0IGkgPSBvZmZzZXQ7IGkgPD0gKHZhbHVlcy5sZW5ndGggLSAxKTsgaSsrKSB7XG4gICAgICAgICAgICBpZiAocmVzdWx0LnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjYyA9IHJlc3VsdC5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aF8xID0gdG9UZXh0KHByaW50ZihcIiVzWyVpXVwiKSkocGF0aCkoaSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjb2RlciA9IGRlY29kZXJzW2kgLSBvZmZzZXRdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlXzEgPSB2YWx1ZXNbaV07XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gUmVzdWx0X01hcCgodikgPT4gY29ucyh2LCBhY2MpLCBkZWNvZGVyKHBhdGhfMSkodmFsdWVfMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBSZXN1bHRfTWFwKHJldmVyc2UsIHJlc3VsdCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBtYWtlVW5pb24oZXh0cmEsIGNhc2VTdHJhdGVneSwgdCwgbmFtZSwgcGF0aCwgdmFsdWVzKSB7XG4gICAgY29uc3QgdWNpID0gdHJ5RmluZCgoeCkgPT4gKG5hbWVfMyh4KSA9PT0gbmFtZSksIGdldFVuaW9uQ2FzZXModCwgdHJ1ZSkpO1xuICAgIGlmICh1Y2kgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCB1Y2lfMSA9IHVjaTtcbiAgICAgICAgY29uc3QgZGVjb2RlcnMgPSBtYXBfMigoZmkpID0+IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBmaVsxXSksIGdldFVuaW9uQ2FzZUZpZWxkcyh1Y2lfMSkpO1xuICAgICAgICByZXR1cm4gUmVzdWx0X01hcCgodmFsdWVzXzIpID0+IG1ha2VVbmlvbl8xKHVjaV8xLCB0b0FycmF5KHZhbHVlc18yKSwgdHJ1ZSksICgoZGVjb2RlcnMubGVuZ3RoID09PSAwKSAmJiAodmFsdWVzLmxlbmd0aCA8PSAxKSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGVtcHR5KCkpKSA6IG1peGVkQXJyYXkoMSwgZGVjb2RlcnMsIHBhdGgsIHZhbHVlcykpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDYsICgoXCJDYW5ub3QgZmluZCBjYXNlIFwiICsgbmFtZSkgKyBcIiBpbiBcIikgKyBmdWxsTmFtZV8xKHQpKV0pO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gYXV0b0RlY29kZVJlY29yZHNBbmRVbmlvbnMoZXh0cmEsIGNhc2VTdHJhdGVneSwgaXNPcHRpb25hbCwgdCkge1xuICAgIGNvbnN0IGRlY29kZXJSZWYgPSBuZXcgRlNoYXJwUmVmKG51bGwpO1xuICAgIGxldCBleHRyYV8xO1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBmdWxsTmFtZV8xKHQpO1xuICAgIGV4dHJhXzEgPSAoKG1hdGNoVmFsdWUgPT09IFwiXCIpID8gZXh0cmEgOiBhZGQobWF0Y2hWYWx1ZSwgZGVjb2RlclJlZiwgZXh0cmEpKTtcbiAgICBsZXQgZGVjb2RlcjtcbiAgICBpZiAoaXNSZWNvcmQodCwgdHJ1ZSkpIHtcbiAgICAgICAgY29uc3QgZGVjb2RlcnMgPSBtYXBfMigoZmkpID0+IFtVdGlsX0Nhc2luZ19jb252ZXJ0KGNhc2VTdHJhdGVneSwgbmFtZV8zKGZpKSksIGF1dG9EZWNvZGVyKGV4dHJhXzEsIGNhc2VTdHJhdGVneSwgZmFsc2UsIGZpWzFdKV0sIGdldFJlY29yZEVsZW1lbnRzKHQsIHRydWUpKTtcbiAgICAgICAgZGVjb2RlciA9ICgocGF0aCkgPT4gKCh2YWx1ZV8xKSA9PiBSZXN1bHRfTWFwKCh4cykgPT4gbWFrZVJlY29yZCh0LCB0b0FycmF5KHhzKSwgdHJ1ZSksIGF1dG9PYmplY3QoZGVjb2RlcnMsIHBhdGgsIHZhbHVlXzEpKSkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc1VuaW9uKHQsIHRydWUpKSB7XG4gICAgICAgIGRlY29kZXIgPSAoKHBhdGhfMSkgPT4gKCh2YWx1ZV8yKSA9PiB7XG4gICAgICAgICAgICBpZiAoKHR5cGVvZiB2YWx1ZV8yKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5pb24oZXh0cmFfMSwgY2FzZVN0cmF0ZWd5LCB0LCB2YWx1ZV8yLCBwYXRoXzEsIFtdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVfMikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSB2YWx1ZV8yO1xuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHRfQmluZCgobmFtZV8yKSA9PiBtYWtlVW5pb24oZXh0cmFfMSwgY2FzZVN0cmF0ZWd5LCB0LCBuYW1lXzIsIHBhdGhfMSwgdmFsdWVzKSwgc3RyaW5nKHBhdGhfMSArIFwiWzBdXCIsIHZhbHVlc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIHN0cmluZyBvciBhcnJheVwiLCB2YWx1ZV8yKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzT3B0aW9uYWwpIHtcbiAgICAgICAgZGVjb2RlciA9ICgocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMiwgbmV3IEVycm9yUmVhc29uKDIsIFwiYW4gZXh0cmEgY29kZXIgZm9yIFwiICsgZnVsbE5hbWVfMSh0KSwgdmFsdWVfMyldKSkpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBtZXNzYWdlO1xuICAgICAgICBjb25zdCBhcmdfMSA9IGZ1bGxOYW1lXzEodCk7XG4gICAgICAgIG1lc3NhZ2UgPSB0b1RleHQocHJpbnRmKFwiQ2Fubm90IGdlbmVyYXRlIGF1dG8gZGVjb2RlciBmb3IgJXMuIFBsZWFzZSBwYXNzIGFuIGV4dHJhIGRlY29kZXIuXFxuXFxuRG9jdW1lbnRhdGlvbiBhdmFpbGFibGUgYXQ6IGh0dHBzOi8vdGhvdGgtb3JnLmdpdGh1Yi5pby9UaG90aC5Kc29uL2RvY3VtZW50YXRpb24vYXV0by9leHRyYS1jb2RlcnMuaHRtbCNyZWFkeS10by11c2UtZXh0cmEtY29kZXJzXCIpKShhcmdfMSk7XG4gICAgICAgIHRocm93IChuZXcgRXJyb3IobWVzc2FnZSkpO1xuICAgIH1cbiAgICBkZWNvZGVyUmVmLmNvbnRlbnRzID0gZGVjb2RlcjtcbiAgICByZXR1cm4gZGVjb2Rlcjtcbn1cblxuZnVuY3Rpb24gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgaXNPcHRpb25hbCwgdCkge1xuICAgIGxldCBkZWNvZGVyXzEzLCBkZWNvZGVyXzE0LCBkZWNvZGVyXzE1LCBkZWNvZGVyXzE2O1xuICAgIGNvbnN0IGZ1bGxuYW1lID0gZnVsbE5hbWVfMSh0KTtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gdHJ5RmluZF8xKGZ1bGxuYW1lLCBleHRyYSk7XG4gICAgaWYgKG1hdGNoVmFsdWUgPT0gbnVsbCkge1xuICAgICAgICBpZiAoaXNBcnJheSh0KSkge1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlciA9IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBnZXRFbGVtZW50VHlwZSh0KSk7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMSkgPT4gKCh2YWx1ZV8yKSA9PiBhcnJheSh1bmN1cnJ5KDIsIGRlY29kZXIpLCBwYXRoXzEsIHZhbHVlXzIpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc0VudW0odCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVudW1UeXBlID0gZnVsbE5hbWVfMShnZXRFbnVtVW5kZXJseWluZ1R5cGUodCkpO1xuICAgICAgICAgICAgaWYgKGVudW1UeXBlID09PSBcIlN5c3RlbS5TQnl0ZVwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzIpID0+ICgodmFsdWVfNCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0XzIgPSB0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoXzMgPSBwYXRoXzI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlXzUgPSB2YWx1ZV80O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzEgPSBzYnl0ZShwYXRoXzMpKHZhbHVlXzUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlXzEuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZSA9IG1hdGNoVmFsdWVfMS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbnMoZW51bVZhbHVlLCBnZXRFbnVtVmFsdWVzKHRfMiksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcXVhbHM6ICh4LCB5KSA9PiAoeCA9PT0geSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0SGFzaENvZGU6IG51bWJlckhhc2gsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcGFyc2VFbnVtKHRfMiwgZW51bVZhbHVlLnRvU3RyaW5nKCkpKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzMsIG5ldyBFcnJvclJlYXNvbigxLCBmdWxsTmFtZV8xKHRfMiksIHZhbHVlXzUsIFwiVW5rb3duIHZhbHVlIHByb3ZpZGVkIGZvciB0aGUgZW51bVwiKV0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZW51bVR5cGUgPT09IFwiU3lzdGVtLkJ5dGVcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF80KSA9PiAoKHZhbHVlXzcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdF8zID0gdDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aF81ID0gcGF0aF80O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZV84ID0gdmFsdWVfNztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZV8yID0gYnl0ZShwYXRoXzUpKHZhbHVlXzgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlXzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZV8xID0gbWF0Y2hWYWx1ZV8yLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250YWlucyhlbnVtVmFsdWVfMSwgZ2V0RW51bVZhbHVlcyh0XzMpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRXF1YWxzOiAoeF8xLCB5XzEpID0+ICh4XzEgPT09IHlfMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0SGFzaENvZGU6IG51bWJlckhhc2gsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcGFyc2VFbnVtKHRfMywgZW51bVZhbHVlXzEudG9TdHJpbmcoKSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfNSwgbmV3IEVycm9yUmVhc29uKDEsIGZ1bGxOYW1lXzEodF8zKSwgdmFsdWVfOCwgXCJVbmtvd24gdmFsdWUgcHJvdmlkZWQgZm9yIHRoZSBlbnVtXCIpXSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlbnVtVHlwZSA9PT0gXCJTeXN0ZW0uSW50MTZcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF82KSA9PiAoKHZhbHVlXzEwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRfNCA9IHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhfNyA9IHBhdGhfNjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWVfMTEgPSB2YWx1ZV8xMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZV8zID0gaW50MTYocGF0aF83KSh2YWx1ZV8xMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWVfMy5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW51bVZhbHVlXzIgPSBtYXRjaFZhbHVlXzMuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5zKGVudW1WYWx1ZV8yLCBnZXRFbnVtVmFsdWVzKHRfNCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcXVhbHM6ICh4XzIsIHlfMikgPT4gKHhfMiA9PT0geV8yKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRIYXNoQ29kZTogbnVtYmVySGFzaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBwYXJzZUVudW0odF80LCBpbnQxNlRvU3RyaW5nKGVudW1WYWx1ZV8yKSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfNywgbmV3IEVycm9yUmVhc29uKDEsIGZ1bGxOYW1lXzEodF80KSwgdmFsdWVfMTEsIFwiVW5rb3duIHZhbHVlIHByb3ZpZGVkIGZvciB0aGUgZW51bVwiKV0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZW51bVR5cGUgPT09IFwiU3lzdGVtLlVJbnQxNlwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzgpID0+ICgodmFsdWVfMTMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdF81ID0gdDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aF85ID0gcGF0aF84O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZV8xNCA9IHZhbHVlXzEzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzQgPSB1aW50MTYocGF0aF85KSh2YWx1ZV8xNCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzQudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWVfNC5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW51bVZhbHVlXzMgPSBtYXRjaFZhbHVlXzQuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5zKGVudW1WYWx1ZV8zLCBnZXRFbnVtVmFsdWVzKHRfNSksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcXVhbHM6ICh4XzMsIHlfMykgPT4gKHhfMyA9PT0geV8zKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRIYXNoQ29kZTogbnVtYmVySGFzaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBwYXJzZUVudW0odF81LCBlbnVtVmFsdWVfMy50b1N0cmluZygpKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF85LCBuZXcgRXJyb3JSZWFzb24oMSwgZnVsbE5hbWVfMSh0XzUpLCB2YWx1ZV8xNCwgXCJVbmtvd24gdmFsdWUgcHJvdmlkZWQgZm9yIHRoZSBlbnVtXCIpXSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlbnVtVHlwZSA9PT0gXCJTeXN0ZW0uSW50MzJcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF8xMCkgPT4gKCh2YWx1ZV8xNikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0XzYgPSB0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoXzExID0gcGF0aF8xMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWVfMTcgPSB2YWx1ZV8xNjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZV81ID0gaW50KHBhdGhfMTEpKHZhbHVlXzE3KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfNS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgbWF0Y2hWYWx1ZV81LmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnVtVmFsdWVfNCA9IG1hdGNoVmFsdWVfNS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbnMoZW51bVZhbHVlXzQsIGdldEVudW1WYWx1ZXModF82KSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVxdWFsczogKHhfNCwgeV80KSA9PiAoeF80ID09PSB5XzQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldEhhc2hDb2RlOiBudW1iZXJIYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHBhcnNlRW51bSh0XzYsIGludDMyVG9TdHJpbmcoZW51bVZhbHVlXzQpKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xMSwgbmV3IEVycm9yUmVhc29uKDEsIGZ1bGxOYW1lXzEodF82KSwgdmFsdWVfMTcsIFwiVW5rb3duIHZhbHVlIHByb3ZpZGVkIGZvciB0aGUgZW51bVwiKV0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZW51bVR5cGUgPT09IFwiU3lzdGVtLlVJbnQzMlwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzEyKSA9PiAoKHZhbHVlXzE5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRfNyA9IHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhfMTMgPSBwYXRoXzEyO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZV8yMCA9IHZhbHVlXzE5O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzYgPSB1aW50MzIocGF0aF8xMykodmFsdWVfMjApO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV82LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlXzYuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZV81ID0gbWF0Y2hWYWx1ZV82LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250YWlucyhlbnVtVmFsdWVfNSwgZ2V0RW51bVZhbHVlcyh0XzcpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRXF1YWxzOiAoeF81LCB5XzUpID0+ICh4XzUgPT09IHlfNSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0SGFzaENvZGU6IG51bWJlckhhc2gsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcGFyc2VFbnVtKHRfNywgZW51bVZhbHVlXzUudG9TdHJpbmcoKSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMTMsIG5ldyBFcnJvclJlYXNvbigxLCBmdWxsTmFtZV8xKHRfNyksIHZhbHVlXzIwLCBcIlVua293biB2YWx1ZSBwcm92aWRlZCBmb3IgdGhlIGVudW1cIildKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFyZ183ID0gZnVsbE5hbWVfMSh0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbG9fMSA9IHRvRmFpbChwcmludGYoXCJDYW5ub3QgZ2VuZXJhdGUgYXV0byBkZWNvZGVyIGZvciAlcy5cXG5UaG90aC5Kc29uLk5ldCBvbmx5IHN1cHBvcnQgdGhlIGZvbGxvd2luZyBlbnVtIHR5cGVzOlxcbi0gc2J5dGVcXG4tIGJ5dGVcXG4tIGludDE2XFxuLSB1aW50MTZcXG4tIGludFxcbi0gdWludDMyXFxuSWYgeW91IGNhblxcdTAwMjd0IHVzZSBvbmUgb2YgdGhlc2UgdHlwZXMsIHBsZWFzZSBwYXNzIGFuIGV4dHJhIGRlY29kZXIuXFxuICAgICAgICAgICAgICAgICAgICBcIikpKGFyZ183KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKGFyZ184KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsb18yID0gY2xvXzEoYXJnXzgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xvXzI7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc0dlbmVyaWNUeXBlKHQpKSB7XG4gICAgICAgICAgICBpZiAoaXNUdXBsZSh0KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJzID0gbWFwXzIoKHRfOCkgPT4gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgZmFsc2UsIHRfOCksIGdldFR1cGxlRWxlbWVudHModCkpO1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF8xNCkgPT4gKCh2YWx1ZV8yMSkgPT4gKEFycmF5LmlzQXJyYXkodmFsdWVfMjEpID8gUmVzdWx0X01hcCgoeHMpID0+IG1ha2VUdXBsZSh0b0FycmF5KHhzKSwgdCksIG1peGVkQXJyYXkoMCwgZGVjb2RlcnMsIHBhdGhfMTQsIHZhbHVlXzIxKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzE0LCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhbiBhcnJheVwiLCB2YWx1ZV8yMSldKSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGxuYW1lXzEgPSBmdWxsTmFtZV8xKGdldEdlbmVyaWNUeXBlRGVmaW5pdGlvbih0KSk7XG4gICAgICAgICAgICAgICAgaWYgKGZ1bGxuYW1lXzEgPT09IFwiTWljcm9zb2Z0LkZTaGFycC5Db3JlLkZTaGFycE9wdGlvbmAxW1N5c3RlbS5PYmplY3RdXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkZWNvZGVyXzEzID0gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgdHJ1ZSwgZ2V0R2VuZXJpY3ModClbMF0pLCAocGF0aF8xNSkgPT4gKCh2YWx1ZV8yMikgPT4gb3B0aW9uKHVuY3VycnkoMiwgZGVjb2Rlcl8xMyksIHBhdGhfMTUsIHZhbHVlXzIyKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChmdWxsbmFtZV8xID09PSBcIk1pY3Jvc29mdC5GU2hhcnAuQ29sbGVjdGlvbnMuRlNoYXJwTGlzdGAxW1N5c3RlbS5PYmplY3RdXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkZWNvZGVyXzE0ID0gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgZmFsc2UsIGdldEdlbmVyaWNzKHQpWzBdKSwgKHBhdGhfMTYpID0+ICgodmFsdWVfMjMpID0+IGxpc3QodW5jdXJyeSgyLCBkZWNvZGVyXzE0KSwgcGF0aF8xNiwgdmFsdWVfMjMpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lXzEgPT09IFwiU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUVudW1lcmFibGVgMVtTeXN0ZW0uT2JqZWN0XVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoZGVjb2Rlcl8xNSA9IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBnZXRHZW5lcmljcyh0KVswXSksIChwYXRoXzE3KSA9PiAoKHZhbHVlXzI0KSA9PiBzZXEodW5jdXJyeSgyLCBkZWNvZGVyXzE1KSwgcGF0aF8xNywgdmFsdWVfMjQpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lXzEgPT09IFwiTWljcm9zb2Z0LkZTaGFycC5Db2xsZWN0aW9ucy5GU2hhcnBNYXBgMltTeXN0ZW0uT2JqZWN0LFN5c3RlbS5PYmplY3RdXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5RGVjb2RlciA9IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBnZXRHZW5lcmljcyh0KVswXSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlRGVjb2RlciA9IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBnZXRHZW5lcmljcyh0KVsxXSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkXzIwO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyc18xID0gb2ZBcnJheShbKHBhdGhfMTgpID0+ICgodmFsdWVfMjUpID0+IGF1dG9PYmplY3QyKHVuY3VycnkoMiwga2V5RGVjb2RlciksIHVuY3VycnkoMiwgdmFsdWVEZWNvZGVyKSwgcGF0aF8xOCwgdmFsdWVfMjUpKSwgKGRlY29kZXJfMTYgPSB0dXBsZTIodW5jdXJyeSgyLCBrZXlEZWNvZGVyKSwgdW5jdXJyeSgyLCB2YWx1ZURlY29kZXIpKSwgKHBhdGhfMTkpID0+ICgodmFsdWVfMjYpID0+IGxpc3QodW5jdXJyeSgyLCBkZWNvZGVyXzE2KSwgcGF0aF8xOSwgdmFsdWVfMjYpKSldKTtcbiAgICAgICAgICAgICAgICAgICAgZF8yMCA9ICgocGF0aF8yMCkgPT4gKCh2YWx1ZV8yNykgPT4gb25lT2YoZGVjb2RlcnNfMSwgcGF0aF8yMCwgdmFsdWVfMjcpKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF8yMSkgPT4gKCh2YWx1ZV8yOSkgPT4gbWFwKHRvTWFwLCB1bmN1cnJ5KDIsIGRfMjApLCBwYXRoXzIxLCB2YWx1ZV8yOSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChmdWxsbmFtZV8xID09PSBcIk1pY3Jvc29mdC5GU2hhcnAuQ29sbGVjdGlvbnMuRlNoYXJwU2V0YDFbU3lzdGVtLk9iamVjdF1cIikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzE3ID0gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgZmFsc2UsIGdldEdlbmVyaWNzKHQpWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzIyKSA9PiAoKHZhbHVlXzMwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzcgPSBhcnJheSh1bmN1cnJ5KDIsIGRlY29kZXJfMTcpLCBwYXRoXzIyLCB2YWx1ZV8zMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKG1hdGNoVmFsdWVfNy50YWcgPT09IDApID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB0b1NldChtYXRjaFZhbHVlXzcuZmllbGRzWzBdKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlXzcuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF1dG9EZWNvZGVSZWNvcmRzQW5kVW5pb25zKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGlzT3B0aW9uYWwsIHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uQm9vbGVhblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMjMpID0+ICgodmFsdWVfMzIpID0+IGJvb2wocGF0aF8yMywgdmFsdWVfMzIpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJNaWNyb3NvZnQuRlNoYXJwLkNvcmUuVW5pdFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMjQpID0+ICgodmFsdWVfMzMpID0+IHVuaXQocGF0aF8yNCwgdmFsdWVfMzMpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uU3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAocGF0aF8yNSkgPT4gKCh2YWx1ZV8zNCkgPT4gc3RyaW5nKHBhdGhfMjUsIHZhbHVlXzM0KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLkNoYXJcIikge1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzI2KSA9PiAoKHZhbHVlXzM1KSA9PiBjaGFyKHBhdGhfMjYsIHZhbHVlXzM1KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlNCeXRlXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBzYnl0ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uQnl0ZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYnl0ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uSW50MTZcIikge1xuICAgICAgICAgICAgcmV0dXJuIGludDE2O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5VSW50MTZcIikge1xuICAgICAgICAgICAgcmV0dXJuIHVpbnQxNjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uSW50MzJcIikge1xuICAgICAgICAgICAgcmV0dXJuIGludDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uVUludDMyXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB1aW50MzI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLkRvdWJsZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMjcpID0+ICgodmFsdWVfMzYpID0+IGZsb2F0KHBhdGhfMjcsIHZhbHVlXzM2KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlNpbmdsZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMjgpID0+ICgodmFsdWVfMzcpID0+IGZsb2F0MzIocGF0aF8yOCwgdmFsdWVfMzcpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uRGF0ZVRpbWVcIikge1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzI5KSA9PiAoKHZhbHVlXzM4KSA9PiBkYXRldGltZVV0YyhwYXRoXzI5LCB2YWx1ZV8zOCkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5EYXRlVGltZU9mZnNldFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMzApID0+ICgodmFsdWVfMzkpID0+IGRhdGV0aW1lT2Zmc2V0KHBhdGhfMzAsIHZhbHVlXzM5KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlRpbWVTcGFuXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAocGF0aF8zMSkgPT4gKCh2YWx1ZV80MCkgPT4gdGltZXNwYW4ocGF0aF8zMSwgdmFsdWVfNDApKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uR3VpZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMzIpID0+ICgodmFsdWVfNDEpID0+IGd1aWQocGF0aF8zMiwgdmFsdWVfNDEpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uT2JqZWN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiAoX2FyZ182KSA9PiAoKHYpID0+IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdikpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhdXRvRGVjb2RlUmVjb3Jkc0FuZFVuaW9ucyhleHRyYSwgY2FzZVN0cmF0ZWd5LCBpc09wdGlvbmFsLCB0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgZGVjb2RlclJlZiA9IG1hdGNoVmFsdWU7XG4gICAgICAgIHJldHVybiAocGF0aCkgPT4gKCh2YWx1ZV8xKSA9PiBkZWNvZGVyUmVmLmNvbnRlbnRzKHBhdGgpKHZhbHVlXzEpKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VFeHRyYShleHRyYSkge1xuICAgIGlmIChleHRyYSAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBtYXBfMygoX2FyZywgdHVwbGVkQXJnKSA9PiAobmV3IEZTaGFycFJlZih0dXBsZWRBcmdbMV0pKSwgZXh0cmEuQ29kZXJzKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBlbXB0eV8xKCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV0byB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXV0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiBjbGFzc190eXBlKFwiVGhvdGguSnNvbi5EZWNvZGUuQXV0b1wiLCB2b2lkIDAsIEF1dG8pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXV0b19nZW5lcmF0ZUJveGVkRGVjb2RlckNhY2hlZF83OTk4OEFFRih0LCBjYXNlU3RyYXRlZ3ksIGV4dHJhKSB7XG4gICAgbGV0IHlfMSwgeTtcbiAgICBjb25zdCBjYXNlU3RyYXRlZ3lfMSA9IGRlZmF1bHRBcmcoY2FzZVN0cmF0ZWd5LCBuZXcgQ2FzZVN0cmF0ZWd5KDApKTtcbiAgICByZXR1cm4gVXRpbF9DYWNoZSQxX19HZXRPckFkZF80Mzk4MTQ2NChVdGlsX0NhY2hlZERlY29kZXJzLCAoeV8xID0gKCh5ID0gZnVsbE5hbWVfMSh0KSwgdG9TdHJpbmdfMTIoY2FzZVN0cmF0ZWd5XzEpICsgeSkpLCBkZWZhdWx0QXJnKG1hcF80KChlKSA9PiBlLkhhc2gsIGV4dHJhKSwgXCJcIikgKyB5XzEpLCAoKSA9PiBhdXRvRGVjb2RlcihtYWtlRXh0cmEoZXh0cmEpLCBjYXNlU3RyYXRlZ3lfMSwgZmFsc2UsIHQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEF1dG9fZ2VuZXJhdGVCb3hlZERlY29kZXJfNzk5ODhBRUYodCwgY2FzZVN0cmF0ZWd5LCBleHRyYSkge1xuICAgIGNvbnN0IGNhc2VTdHJhdGVneV8xID0gZGVmYXVsdEFyZyhjYXNlU3RyYXRlZ3ksIG5ldyBDYXNlU3RyYXRlZ3koMCkpO1xuICAgIHJldHVybiBhdXRvRGVjb2RlcihtYWtlRXh0cmEoZXh0cmEpLCBjYXNlU3RyYXRlZ3lfMSwgZmFsc2UsIHQpO1xufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/Decode.fs.js\n");
|
|
3416
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Auto: () => (/* binding */ Auto),\n/* harmony export */ Auto$reflection: () => (/* binding */ Auto$reflection),\n/* harmony export */ Auto_generateBoxedDecoderCached_79988AEF: () => (/* binding */ Auto_generateBoxedDecoderCached_79988AEF),\n/* harmony export */ Auto_generateBoxedDecoder_79988AEF: () => (/* binding */ Auto_generateBoxedDecoder_79988AEF),\n/* harmony export */ Getters$1: () => (/* binding */ Getters$1),\n/* harmony export */ Getters$1$reflection: () => (/* binding */ Getters$1$reflection),\n/* harmony export */ Getters$1_$ctor_4A51B60E: () => (/* binding */ Getters$1_$ctor_4A51B60E),\n/* harmony export */ Getters$1__get_Errors: () => (/* binding */ Getters$1__get_Errors),\n/* harmony export */ Helpers_isUndefined: () => (/* binding */ Helpers_isUndefined),\n/* harmony export */ all: () => (/* binding */ all),\n/* harmony export */ andMap: () => (/* binding */ andMap),\n/* harmony export */ andThen: () => (/* binding */ andThen),\n/* harmony export */ array: () => (/* binding */ array),\n/* harmony export */ at: () => (/* binding */ at),\n/* harmony export */ bigint: () => (/* binding */ bigint),\n/* harmony export */ bool: () => (/* binding */ bool),\n/* harmony export */ byte: () => (/* binding */ byte),\n/* harmony export */ char: () => (/* binding */ char),\n/* harmony export */ datetime: () => (/* binding */ datetime),\n/* harmony export */ datetimeLocal: () => (/* binding */ datetimeLocal),\n/* harmony export */ datetimeOffset: () => (/* binding */ datetimeOffset),\n/* harmony export */ datetimeUtc: () => (/* binding */ datetimeUtc),\n/* harmony export */ decimal: () => (/* binding */ decimal),\n/* harmony export */ decodeString: () => (/* binding */ decodeString),\n/* harmony export */ decodeValue: () => (/* binding */ decodeValue),\n/* harmony export */ dict: () => (/* binding */ dict),\n/* harmony export */ fail: () => (/* binding */ fail),\n/* harmony export */ field: () => (/* binding */ field),\n/* harmony export */ float: () => (/* binding */ float),\n/* harmony export */ float32: () => (/* binding */ float32),\n/* harmony export */ fromString: () => (/* binding */ fromString),\n/* harmony export */ fromValue: () => (/* binding */ fromValue),\n/* harmony export */ guid: () => (/* binding */ guid),\n/* harmony export */ index: () => (/* binding */ index),\n/* harmony export */ int: () => (/* binding */ int),\n/* harmony export */ int16: () => (/* binding */ int16),\n/* harmony export */ int64: () => (/* binding */ int64),\n/* harmony export */ keyValuePairs: () => (/* binding */ keyValuePairs),\n/* harmony export */ keys: () => (/* binding */ keys),\n/* harmony export */ list: () => (/* binding */ list),\n/* harmony export */ map: () => (/* binding */ map),\n/* harmony export */ map$0027: () => (/* binding */ map$0027),\n/* harmony export */ map2: () => (/* binding */ map2),\n/* harmony export */ map3: () => (/* binding */ map3),\n/* harmony export */ map4: () => (/* binding */ map4),\n/* harmony export */ map5: () => (/* binding */ map5),\n/* harmony export */ map6: () => (/* binding */ map6),\n/* harmony export */ map7: () => (/* binding */ map7),\n/* harmony export */ map8: () => (/* binding */ map8),\n/* harmony export */ nil: () => (/* binding */ nil),\n/* harmony export */ object: () => (/* binding */ object),\n/* harmony export */ oneOf: () => (/* binding */ oneOf),\n/* harmony export */ option: () => (/* binding */ option),\n/* harmony export */ optional: () => (/* binding */ optional),\n/* harmony export */ optionalAt: () => (/* binding */ optionalAt),\n/* harmony export */ sbyte: () => (/* binding */ sbyte),\n/* harmony export */ seq: () => (/* binding */ seq),\n/* harmony export */ string: () => (/* binding */ string),\n/* harmony export */ succeed: () => (/* binding */ succeed),\n/* harmony export */ timespan: () => (/* binding */ timespan),\n/* harmony export */ tuple2: () => (/* binding */ tuple2),\n/* harmony export */ tuple3: () => (/* binding */ tuple3),\n/* harmony export */ tuple4: () => (/* binding */ tuple4),\n/* harmony export */ tuple5: () => (/* binding */ tuple5),\n/* harmony export */ tuple6: () => (/* binding */ tuple6),\n/* harmony export */ tuple7: () => (/* binding */ tuple7),\n/* harmony export */ tuple8: () => (/* binding */ tuple8),\n/* harmony export */ uint16: () => (/* binding */ uint16),\n/* harmony export */ uint32: () => (/* binding */ uint32),\n/* harmony export */ uint64: () => (/* binding */ uint64),\n/* harmony export */ unit: () => (/* binding */ unit),\n/* harmony export */ unsafeFromString: () => (/* binding */ unsafeFromString),\n/* harmony export */ value: () => (/* binding */ value)\n/* harmony export */ });\n/* harmony import */ var _fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n/* harmony import */ var _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Types.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Types.fs.js\");\n/* harmony import */ var _fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../fable-library.3.7.20/Guid.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Guid.js\");\n/* harmony import */ var _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../fable-library.3.7.20/Int32.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Int32.js\");\n/* harmony import */ var _fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../fable-library.3.7.20/Long.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Long.js\");\n/* harmony import */ var _fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../fable-library.3.7.20/BigInt.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/BigInt.js\");\n/* harmony import */ var _fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../fable-library.3.7.20/Decimal.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Decimal.js\");\n/* harmony import */ var _fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../fable-library.3.7.20/Date.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Date.js\");\n/* harmony import */ var _fable_library_3_7_20_DateOffset_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../fable-library.3.7.20/DateOffset.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/DateOffset.js\");\n/* harmony import */ var _fable_library_3_7_20_TimeSpan_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../fable-library.3.7.20/TimeSpan.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/TimeSpan.js\");\n/* harmony import */ var _fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n/* harmony import */ var _fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../fable-library.3.7.20/Array.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Array.js\");\n/* harmony import */ var _fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../fable-library.3.7.20/Seq.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Seq.js\");\n/* harmony import */ var _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../fable-library.3.7.20/Map.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Map.js\");\n/* harmony import */ var _fable_library_3_7_20_Set_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../fable-library.3.7.20/Set.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Set.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction Helpers_isUndefined(o) {\n return (typeof o) === \"undefined\";\n}\n\nfunction genericMsg(msg, value_1, newLine) {\n try {\n return (((\"Expecting \" + msg) + \" but instead got:\") + (newLine ? \"\\n\" : \" \")) + (JSON.stringify(value_1, null, 4) + '');\n }\n catch (matchValue) {\n return ((\"Expecting \" + msg) + \" but decoder failed. Couldn\\u0027t report given value due to circular structure.\") + (newLine ? \"\\n\" : \" \");\n }\n}\n\nfunction errorToString(path, error) {\n const reason_1 = (error.tag === 2) ? genericMsg(error.fields[0], error.fields[1], true) : ((error.tag === 1) ? ((genericMsg(error.fields[0], error.fields[1], false) + \"\\nReason: \") + error.fields[2]) : ((error.tag === 3) ? genericMsg(error.fields[0], error.fields[1], true) : ((error.tag === 4) ? (genericMsg(error.fields[0], error.fields[1], true) + ((\"\\nNode `\" + error.fields[2]) + \"` is unkown.\")) : ((error.tag === 5) ? (((\"Expecting \" + error.fields[0]) + \".\\n\") + (JSON.stringify(error.fields[1], null, 4) + '')) : ((error.tag === 7) ? (\"The following errors were found:\\n\\n\" + (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.join)(\"\\n\\n\", error.fields[0])) : ((error.tag === 6) ? (\"The following `failure` occurred with the decoder: \" + error.fields[0]) : genericMsg(error.fields[0], error.fields[1], false)))))));\n if (error.tag === 7) {\n return reason_1;\n }\n else {\n return ((\"Error at: `\" + path) + \"`\\n\") + reason_1;\n }\n}\n\nfunction fromValue(path, decoder, value_1) {\n const matchValue = decoder(path, value_1);\n if (matchValue.tag === 1) {\n const error = matchValue.fields[0];\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, errorToString(error[0], error[1]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue.fields[0]);\n }\n}\n\nfunction fromString(decoder, value_1) {\n try {\n return fromValue(\"$\", decoder, JSON.parse(value_1));\n }\n catch (matchValue) {\n if (matchValue instanceof SyntaxError) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, \"Given an invalid JSON: \" + matchValue.message);\n }\n else {\n throw matchValue;\n }\n }\n}\n\nfunction unsafeFromString(decoder, value_1) {\n const matchValue = fromString(decoder, value_1);\n if (matchValue.tag === 1) {\n throw (new Error(matchValue.fields[0]));\n }\n else {\n return matchValue.fields[0];\n }\n}\n\nfunction decodeValue(path, decoder) {\n const decoder_1 = decoder;\n return (value_1) => fromValue(path, decoder_1, value_1);\n}\n\nfunction decodeString(decoder) {\n const decoder_1 = decoder;\n return (value_1) => fromString(decoder_1, value_1);\n}\n\nfunction string(path, value_1) {\n if ((typeof value_1) === \"string\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a string\", value_1)]);\n }\n}\n\nfunction char(path, value_1) {\n if ((typeof value_1) === \"string\") {\n const str = value_1;\n if (str.length === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, str[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a single character string\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a char\", value_1)]);\n }\n}\n\nfunction guid(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = \"00000000-0000-0000-0000-000000000000\";\n matchValue = [(0,_fable_library_3_7_20_Guid_js__WEBPACK_IMPORTED_MODULE_3__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a guid\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a guid\", value_1)]);\n }\n}\n\nfunction unit(path, value_1) {\n if (value_1 == null) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"null\", value_1)]);\n }\n}\n\nconst sbyte = (path) => ((value_2) => {\n const name_1 = \"a sbyte\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((-128 <= value_1_1) && (value_1_1 <= 127)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (value_1_1 + 0x80 & 0xFF) - 0x80)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, false, 8, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = (v | 0);\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst byte = (path) => ((value_2) => {\n const name_1 = \"a byte\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((0 <= value_1_1) && (value_1_1 <= 255)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1_1 & 0xFF)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, true, 8, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst int16 = (path) => ((value_2) => {\n const name_1 = \"an int16\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((-32768 <= value_1_1) && (value_1_1 <= 32767)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (value_1_1 + 0x8000 & 0xFFFF) - 0x8000)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, false, 16, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = (v | 0);\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst uint16 = (path) => ((value_2) => {\n const name_1 = \"an uint16\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((0 <= value_1_1) && (value_1_1 <= 65535)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1_1 & 0xFFFF)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, true, 16, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst int = (path) => ((value_2) => {\n const name_1 = \"an int\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((-2147483648 <= value_1_1) && (value_1_1 <= 2147483647)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ~(~value_1_1))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, false, 32, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = (v | 0);\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst uint32 = (path) => ((value_2) => {\n const name_1 = \"an uint32\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((0 <= value_1_1) && (value_1_1 <= 4294967295)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1_1 >>> 0)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_Int32_js__WEBPACK_IMPORTED_MODULE_5__.tryParse)(value_3, 511, true, 32, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst int64 = (path) => ((value_2) => {\n const name_1 = \"an int64\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? ((((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.toNumber)((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromBits)(0, 2147483648, false)) <= value_1_1) && (value_1_1 <= (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.toNumber)((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromBits)(4294967295, 2147483647, false)))) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromNumber)(value_1_1, false))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromInt)(0);\n matchValue = [(0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.tryParse)(value_3, 511, false, 64, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nconst uint64 = (path) => ((value_2) => {\n const name_1 = \"an uint64\";\n const path_1 = path;\n const value_3 = value_2;\n if ((typeof value_3) === \"number\") {\n const value_1_1 = value_3;\n return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? ((((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.toNumber)((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromBits)(0, 0, true)) <= value_1_1) && (value_1_1 <= (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.toNumber)((0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromBits)(4294967295, 4294967295, true)))) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromNumber)(value_1_1, true))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value was either too large or too small for \" + name_1)]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, name_1, value_1_1, \"Value is not an integral value\")]));\n }\n else if ((typeof value_3) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.fromInt)(0);\n matchValue = [(0,_fable_library_3_7_20_Long_js__WEBPACK_IMPORTED_MODULE_6__.tryParse)(value_3, 511, true, 64, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n return matchValue[0] ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1])) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, name_1, value_3)]);\n }\n});\n\nfunction bigint(path, value_1) {\n if ((typeof value_1) === \"number\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_7__.fromInt32)(value_1));\n }\n else if ((typeof value_1) === \"string\") {\n try {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_7__.parse)(value_1));\n }\n catch (matchValue) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a bigint\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a bigint\", value_1)]);\n }\n}\n\nfunction bool(path, value_1) {\n if ((typeof value_1) === \"boolean\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a boolean\", value_1)]);\n }\n}\n\nfunction float(path, value_1) {\n if ((typeof value_1) === \"number\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a float\", value_1)]);\n }\n}\n\nfunction float32(path, value_1) {\n if ((typeof value_1) === \"number\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a float32\", value_1)]);\n }\n}\n\nfunction decimal(path, value_1) {\n if ((typeof value_1) === \"number\") {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, new _fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"](value_1));\n }\n else if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = new _fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"](0);\n matchValue = [(0,_fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_8__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a decimal\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a decimal\", value_1)]);\n }\n}\n\nfunction datetime(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.minValue)();\n matchValue = [(0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.toUniversalTime)(matchValue[1]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n}\n\nfunction datetimeUtc(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.minValue)();\n matchValue = [(0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.toUniversalTime)(matchValue[1]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n}\n\nfunction datetimeLocal(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.minValue)();\n matchValue = [(0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_9__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n}\n\nfunction datetimeOffset(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = (0,_fable_library_3_7_20_DateOffset_js__WEBPACK_IMPORTED_MODULE_10__.minValue)();\n matchValue = [(0,_fable_library_3_7_20_DateOffset_js__WEBPACK_IMPORTED_MODULE_10__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetimeoffset\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a datetime\", value_1)]);\n }\n}\n\nfunction timespan(path, value_1) {\n if ((typeof value_1) === \"string\") {\n let matchValue;\n let outArg = 0;\n matchValue = [(0,_fable_library_3_7_20_TimeSpan_js__WEBPACK_IMPORTED_MODULE_11__.tryParse)(value_1, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue[1]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a timespan\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a timespan\", value_1)]);\n }\n}\n\nfunction decodeMaybeNull(path, decoder, value_1) {\n if (value_1 == null) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n const matchValue = decoder(path, value_1);\n if (matchValue.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.some)(matchValue.fields[0]));\n }\n }\n}\n\nfunction optional(fieldName, decoder, path, value_1) {\n if (value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype)) {\n const fieldValue = value_1[fieldName];\n if (Helpers_isUndefined(fieldValue)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n return decodeMaybeNull((path + \".\") + fieldName, decoder, fieldValue);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an object\", value_1)]);\n }\n}\n\nfunction badPathError(fieldNames, currentPath, value_1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [(0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(currentPath, (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.join)(\".\", (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)(\"$\", fieldNames))), new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(4, (\"an object with path `\" + (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.join)(\".\", fieldNames)) + \"`\", value_1, (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.tryLast)(fieldNames), \"\"))]);\n}\n\nfunction optionalAt(fieldNames, decoder, firstPath, firstValue) {\n const _arg = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.fold)((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (tupledArg) => {\n const curPath = tupledArg[0];\n const curValue = tupledArg[1];\n const res = tupledArg[2];\n return (field_1) => ((res == null) ? ((curValue == null) ? [curPath, curValue, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0)] : ((curValue === null ? false : (Object.getPrototypeOf(curValue || false) === Object.prototype)) ? [(curPath + \".\") + field_1, curValue[field_1], void 0] : [curPath, curValue, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [curPath, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an object\", curValue)])])) : [curPath, curValue, res]);\n }), [firstPath, firstValue, void 0], fieldNames);\n if (_arg[2] == null) {\n const lastValue = _arg[1];\n if (Helpers_isUndefined(lastValue)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n return decodeMaybeNull(_arg[0], decoder, lastValue);\n }\n }\n else {\n return _arg[2];\n }\n}\n\nfunction field(fieldName, decoder, path, value_1) {\n if (value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype)) {\n const fieldValue = value_1[fieldName];\n if (Helpers_isUndefined(fieldValue)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(3, (\"an object with a field named `\" + fieldName) + \"`\", value_1)]);\n }\n else {\n return decoder((path + \".\") + fieldName, fieldValue);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an object\", value_1)]);\n }\n}\n\nfunction at(fieldNames, decoder, firstPath, firstValue) {\n const _arg = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.fold)((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (tupledArg) => {\n const curPath = tupledArg[0];\n const curValue = tupledArg[1];\n const res = tupledArg[2];\n return (field_1) => {\n if (res == null) {\n if (curValue == null) {\n return [curPath, curValue, badPathError(fieldNames, curPath, firstValue)];\n }\n else if (curValue === null ? false : (Object.getPrototypeOf(curValue || false) === Object.prototype)) {\n const curValue_1 = curValue[field_1];\n return Helpers_isUndefined(curValue_1) ? [curPath, curValue_1, badPathError(fieldNames, void 0, firstValue)] : [(curPath + \".\") + field_1, curValue_1, void 0];\n }\n else {\n return [curPath, curValue, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [curPath, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an object\", curValue)])];\n }\n }\n else {\n return [curPath, curValue, res];\n }\n };\n }), [firstPath, firstValue, void 0], fieldNames);\n if (_arg[2] == null) {\n return decoder(_arg[0], _arg[1]);\n }\n else {\n return _arg[2];\n }\n}\n\nfunction index(requestedIndex, decoder, path, value_1) {\n let copyOfStruct;\n const currentPath = ((path + \".[\") + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(requestedIndex)) + \"]\";\n if (Array.isArray(value_1)) {\n const vArray = value_1;\n if (requestedIndex < vArray.length) {\n return decoder(currentPath, vArray[requestedIndex]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [currentPath, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(5, (((\"a longer array. Need index `\" + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(requestedIndex)) + \"` but there are only `\") + ((copyOfStruct = vArray.length, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(copyOfStruct)))) + \"` entries\", value_1)]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [currentPath, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an array\", value_1)]);\n }\n}\n\nfunction option(decoder, path, value_1) {\n if (value_1 == null) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, void 0);\n }\n else {\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.some, decoder(path, value_1));\n }\n}\n\nfunction list(decoder, path, value_1) {\n if (Array.isArray(value_1)) {\n let i = -1;\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.reverse, (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.fold)((acc, value_2) => {\n i = ((i + 1) | 0);\n if (acc.tag === 0) {\n const matchValue = decoder(((path + \".[\") + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(i)) + \"]\", value_2);\n if (matchValue.tag === 0) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)(matchValue.fields[0], acc.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)()), value_1));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a list\", value_1)]);\n }\n}\n\nfunction seq(decoder, path, value_1) {\n if (Array.isArray(value_1)) {\n let i = -1;\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.reverse, (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.fold)((acc, value_2) => {\n i = ((i + 1) | 0);\n if (acc.tag === 0) {\n const matchValue = decoder(((path + \".[\") + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(i)) + \"]\", value_2);\n if (matchValue.tag === 0) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.append)([matchValue.fields[0]], acc.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, []), value_1));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a seq\", value_1)]);\n }\n}\n\nfunction array(decoder, path, value_1) {\n if (Array.isArray(value_1)) {\n let i = -1;\n const tokens = value_1;\n return (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.fold)((acc, value_2) => {\n i = ((i + 1) | 0);\n if (acc.tag === 0) {\n const acc_1 = acc.fields[0];\n const matchValue = decoder(((path + \".[\") + (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(i)) + \"]\", value_2);\n if (matchValue.tag === 0) {\n acc_1[i] = matchValue.fields[0];\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, acc_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.fill)(new Array(tokens.length), 0, tokens.length, null)), tokens);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an array\", value_1)]);\n }\n}\n\nfunction keys(path, value_1) {\n if (value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.ofSeq)(Object.keys(value_1)));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an object\", value_1)]);\n }\n}\n\nfunction keyValuePairs(decoder, path, value_1) {\n const matchValue = keys(path, value_1);\n if (matchValue.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.reverse, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.fold)((acc, prop) => {\n if (acc.tag === 0) {\n const matchValue_1 = decoder(path, value_1[prop]);\n if (matchValue_1.tag === 0) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)([prop, matchValue_1.fields[0]], acc.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_1.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)()), matchValue.fields[0]));\n }\n}\n\nfunction oneOf(decoders, path, value_1) {\n const runner = (decoders_1_mut, errors_mut) => {\n runner:\n while (true) {\n const decoders_1 = decoders_1_mut, errors = errors_mut;\n if ((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.isEmpty)(decoders_1)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(7, errors)]);\n }\n else {\n const matchValue = fromValue(path, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.head)(decoders_1)), value_1);\n if (matchValue.tag === 1) {\n decoders_1_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.tail)(decoders_1);\n errors_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.append)(errors, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.singleton)(matchValue.fields[0]));\n continue runner;\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, matchValue.fields[0]);\n }\n }\n break;\n }\n };\n return runner(decoders, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)());\n}\n\nfunction nil(output, path, value_1) {\n if (value_1 == null) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, output);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"null\", value_1)]);\n }\n}\n\nfunction value(_arg, v) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, v);\n}\n\nfunction succeed(output, _arg_1, _arg) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, output);\n}\n\nfunction fail(msg, path, _arg) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(6, msg)]);\n}\n\nfunction andThen(cb, decoder, path, value_1) {\n const matchValue = decoder(path, value_1);\n if (matchValue.tag === 0) {\n return cb(matchValue.fields[0], path, value_1);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n}\n\nfunction all(decoders, path, value_1) {\n const runner = (decoders_1_mut, values_mut) => {\n runner:\n while (true) {\n const decoders_1 = decoders_1_mut, values = values_mut;\n if ((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.isEmpty)(decoders_1)) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, values);\n }\n else {\n const matchValue = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.head)(decoders_1)(path)(value_1);\n if (matchValue.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n decoders_1_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.tail)(decoders_1);\n values_mut = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.append)(values, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.singleton)(matchValue.fields[0]));\n continue runner;\n }\n }\n break;\n }\n };\n return runner(decoders, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)());\n}\n\nfunction map(ctor, d1, path, value_1) {\n const matchValue = d1(path, value_1);\n if (matchValue.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(matchValue.fields[0]));\n }\n}\n\nfunction map2(ctor, d1, d2, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0]));\n }\n }\n}\n\nfunction map3(ctor, d1, d2, d3, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0]));\n }\n }\n }\n}\n\nfunction map4(ctor, d1, d2, d3, d4, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0]));\n }\n }\n }\n }\n}\n\nfunction map5(ctor, d1, d2, d3, d4, d5, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1), d5(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n const copyOfStruct_4 = matchValue[4];\n if (copyOfStruct_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_4.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0]));\n }\n }\n }\n }\n }\n}\n\nfunction map6(ctor, d1, d2, d3, d4, d5, d6, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1), d5(path, value_1), d6(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n const copyOfStruct_4 = matchValue[4];\n if (copyOfStruct_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_4.fields[0]);\n }\n else {\n const copyOfStruct_5 = matchValue[5];\n if (copyOfStruct_5.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_5.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0], copyOfStruct_5.fields[0]));\n }\n }\n }\n }\n }\n }\n}\n\nfunction map7(ctor, d1, d2, d3, d4, d5, d6, d7, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1), d5(path, value_1), d6(path, value_1), d7(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n const copyOfStruct_4 = matchValue[4];\n if (copyOfStruct_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_4.fields[0]);\n }\n else {\n const copyOfStruct_5 = matchValue[5];\n if (copyOfStruct_5.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_5.fields[0]);\n }\n else {\n const copyOfStruct_6 = matchValue[6];\n if (copyOfStruct_6.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_6.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0], copyOfStruct_5.fields[0], copyOfStruct_6.fields[0]));\n }\n }\n }\n }\n }\n }\n }\n}\n\nfunction map8(ctor, d1, d2, d3, d4, d5, d6, d7, d8, path, value_1) {\n const matchValue = [d1(path, value_1), d2(path, value_1), d3(path, value_1), d4(path, value_1), d5(path, value_1), d6(path, value_1), d7(path, value_1), d8(path, value_1)];\n const copyOfStruct = matchValue[0];\n if (copyOfStruct.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct.fields[0]);\n }\n else {\n const copyOfStruct_1 = matchValue[1];\n if (copyOfStruct_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_1.fields[0]);\n }\n else {\n const copyOfStruct_2 = matchValue[2];\n if (copyOfStruct_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_2.fields[0]);\n }\n else {\n const copyOfStruct_3 = matchValue[3];\n if (copyOfStruct_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_3.fields[0]);\n }\n else {\n const copyOfStruct_4 = matchValue[4];\n if (copyOfStruct_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_4.fields[0]);\n }\n else {\n const copyOfStruct_5 = matchValue[5];\n if (copyOfStruct_5.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_5.fields[0]);\n }\n else {\n const copyOfStruct_6 = matchValue[6];\n if (copyOfStruct_6.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_6.fields[0]);\n }\n else {\n const copyOfStruct_7 = matchValue[7];\n if (copyOfStruct_7.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, copyOfStruct_7.fields[0]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0], copyOfStruct_5.fields[0], copyOfStruct_6.fields[0], copyOfStruct_7.fields[0]));\n }\n }\n }\n }\n }\n }\n }\n }\n}\n\nfunction andMap() {\n return (d) => ((d_1) => ((path) => ((value_1) => map2((arg, func) => func(arg), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d_1), path, value_1))));\n}\n\nfunction unwrapWith(errors, path, decoder, value_1) {\n const matchValue = decoder(path, value_1);\n if (matchValue.tag === 1) {\n void (errors.push(matchValue.fields[0]));\n return null;\n }\n else {\n return matchValue.fields[0];\n }\n}\n\nclass Getters$1 {\n constructor(path, v) {\n let _this, _this_1;\n this.errors = [];\n this.required = ((_this = this, {\n Field(fieldName, decoder) {\n return unwrapWith(_this.errors, path, (path_1, value_1) => field(fieldName, decoder, path_1, value_1), v);\n },\n At(fieldNames, decoder_2) {\n return unwrapWith(_this.errors, path, (firstPath, firstValue) => at(fieldNames, decoder_2, firstPath, firstValue), v);\n },\n Raw(decoder_4) {\n return unwrapWith(_this.errors, path, decoder_4, v);\n },\n }));\n this.optional = ((_this_1 = this, {\n Field(fieldName_1, decoder_5) {\n return unwrapWith(_this_1.errors, path, (path_2, value_2) => optional(fieldName_1, decoder_5, path_2, value_2), v);\n },\n At(fieldNames_1, decoder_7) {\n return unwrapWith(_this_1.errors, path, (firstPath_1, firstValue_1) => optionalAt(fieldNames_1, decoder_7, firstPath_1, firstValue_1), v);\n },\n Raw(decoder_9) {\n const matchValue = decoder_9(path, v);\n if (matchValue.tag === 1) {\n const reason = matchValue.fields[0][1];\n const error = matchValue.fields[0];\n let pattern_matching_result, v_2;\n switch (reason.tag) {\n case 1: {\n pattern_matching_result = 0;\n v_2 = reason.fields[1];\n break;\n }\n case 2: {\n pattern_matching_result = 0;\n v_2 = reason.fields[1];\n break;\n }\n case 3:\n case 4: {\n pattern_matching_result = 1;\n break;\n }\n case 5:\n case 6:\n case 7: {\n pattern_matching_result = 2;\n break;\n }\n default: {\n pattern_matching_result = 0;\n v_2 = reason.fields[1];\n }\n }\n switch (pattern_matching_result) {\n case 0: {\n if (v_2 == null) {\n return void 0;\n }\n else {\n void (_this_1.errors.push(error));\n return null;\n }\n }\n case 1: {\n return void 0;\n }\n case 2: {\n void (_this_1.errors.push(error));\n return null;\n }\n }\n }\n else {\n return (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.some)(matchValue.fields[0]);\n }\n },\n }));\n }\n get Required() {\n const __ = this;\n return __.required;\n }\n get Optional() {\n const __ = this;\n return __.optional;\n }\n}\n\nfunction Getters$1$reflection(gen0) {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.class_type)(\"Thoth.Json.Decode.Getters`1\", [gen0], Getters$1);\n}\n\nfunction Getters$1_$ctor_4A51B60E(path, v) {\n return new Getters$1(path, v);\n}\n\nfunction Getters$1__get_Errors(__) {\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.toList)(__.errors);\n}\n\nfunction object(builder, path, v) {\n const getters = Getters$1_$ctor_4A51B60E(path, v);\n const result = builder(getters);\n const matchValue = Getters$1__get_Errors(getters);\n if (!(0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.isEmpty)(matchValue)) {\n const errors = matchValue;\n if ((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.length)(errors) > 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(7, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.map)((tupledArg) => errorToString(tupledArg[0], tupledArg[1]), errors))]);\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.head)(matchValue));\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, result);\n }\n}\n\nfunction tuple2(decoder1, decoder2) {\n let decoder_3;\n const decoder = decoder1;\n decoder_3 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_3) => ((value_4) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_2;\n const decoder_1 = decoder2;\n decoder_2 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_2) => ((value_3) => andThen((v2, arg10$0040, arg20$0040) => succeed([v1, v2], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_2), path_2, value_3));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_3), path_3, value_4));\n}\n\nfunction tuple3(decoder1, decoder2, decoder3) {\n let decoder_5;\n const decoder = decoder1;\n decoder_5 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_5) => ((value_6) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_4;\n const decoder_1 = decoder2;\n decoder_4 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_4) => ((value_5) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_3;\n const decoder_2 = decoder3;\n decoder_3 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_3) => ((value_4) => andThen((v3, arg10$0040, arg20$0040) => succeed([v1, v2, v3], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_3), path_3, value_4));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_4), path_4, value_5));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_5), path_5, value_6));\n}\n\nfunction tuple4(decoder1, decoder2, decoder3, decoder4) {\n let decoder_7;\n const decoder = decoder1;\n decoder_7 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_7) => ((value_8) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_6;\n const decoder_1 = decoder2;\n decoder_6 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_6) => ((value_7) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_5;\n const decoder_2 = decoder3;\n decoder_5 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_5) => ((value_6) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_4;\n const decoder_3 = decoder4;\n decoder_4 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_4) => ((value_5) => andThen((v4, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_4), path_4, value_5));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_5), path_5, value_6));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_6), path_6, value_7));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_7), path_7, value_8));\n}\n\nfunction tuple5(decoder1, decoder2, decoder3, decoder4, decoder5) {\n let decoder_9;\n const decoder = decoder1;\n decoder_9 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_9) => ((value_10) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_8;\n const decoder_1 = decoder2;\n decoder_8 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_8) => ((value_9) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_7;\n const decoder_2 = decoder3;\n decoder_7 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_7) => ((value_8) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_6;\n const decoder_3 = decoder4;\n decoder_6 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_6) => ((value_7) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v4) => {\n let decoder_5;\n const decoder_4 = decoder5;\n decoder_5 = ((path_4) => ((value_5) => index(4, decoder_4, path_4, value_5)));\n return (path_5) => ((value_6) => andThen((v5, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4, v5], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_5), path_5, value_6));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_6), path_6, value_7));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_7), path_7, value_8));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_8), path_8, value_9));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_9), path_9, value_10));\n}\n\nfunction tuple6(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6) {\n let decoder_11;\n const decoder = decoder1;\n decoder_11 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_11) => ((value_12) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_10;\n const decoder_1 = decoder2;\n decoder_10 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_10) => ((value_11) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_9;\n const decoder_2 = decoder3;\n decoder_9 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_9) => ((value_10) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_8;\n const decoder_3 = decoder4;\n decoder_8 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_8) => ((value_9) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v4) => {\n let decoder_7;\n const decoder_4 = decoder5;\n decoder_7 = ((path_4) => ((value_5) => index(4, decoder_4, path_4, value_5)));\n return (path_7) => ((value_8) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v5) => {\n let decoder_6;\n const decoder_5 = decoder6;\n decoder_6 = ((path_5) => ((value_6) => index(5, decoder_5, path_5, value_6)));\n return (path_6) => ((value_7) => andThen((v6, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4, v5, v6], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_6), path_6, value_7));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_7), path_7, value_8));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_8), path_8, value_9));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_9), path_9, value_10));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_10), path_10, value_11));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_11), path_11, value_12));\n}\n\nfunction tuple7(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6, decoder7) {\n let decoder_13;\n const decoder = decoder1;\n decoder_13 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_13) => ((value_14) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_12;\n const decoder_1 = decoder2;\n decoder_12 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_12) => ((value_13) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_11;\n const decoder_2 = decoder3;\n decoder_11 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_11) => ((value_12) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_10;\n const decoder_3 = decoder4;\n decoder_10 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_10) => ((value_11) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v4) => {\n let decoder_9;\n const decoder_4 = decoder5;\n decoder_9 = ((path_4) => ((value_5) => index(4, decoder_4, path_4, value_5)));\n return (path_9) => ((value_10) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v5) => {\n let decoder_8;\n const decoder_5 = decoder6;\n decoder_8 = ((path_5) => ((value_6) => index(5, decoder_5, path_5, value_6)));\n return (path_8) => ((value_9) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v6) => {\n let decoder_7;\n const decoder_6 = decoder7;\n decoder_7 = ((path_6) => ((value_7) => index(6, decoder_6, path_6, value_7)));\n return (path_7) => ((value_8) => andThen((v7, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4, v5, v6, v7], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_7), path_7, value_8));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_8), path_8, value_9));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_9), path_9, value_10));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_10), path_10, value_11));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_11), path_11, value_12));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_12), path_12, value_13));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_13), path_13, value_14));\n}\n\nfunction tuple8(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6, decoder7, decoder8) {\n let decoder_15;\n const decoder = decoder1;\n decoder_15 = ((path) => ((value_1) => index(0, decoder, path, value_1)));\n return (path_15) => ((value_16) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v1) => {\n let decoder_14;\n const decoder_1 = decoder2;\n decoder_14 = ((path_1) => ((value_2) => index(1, decoder_1, path_1, value_2)));\n return (path_14) => ((value_15) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v2) => {\n let decoder_13;\n const decoder_2 = decoder3;\n decoder_13 = ((path_2) => ((value_3) => index(2, decoder_2, path_2, value_3)));\n return (path_13) => ((value_14) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v3) => {\n let decoder_12;\n const decoder_3 = decoder4;\n decoder_12 = ((path_3) => ((value_4) => index(3, decoder_3, path_3, value_4)));\n return (path_12) => ((value_13) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v4) => {\n let decoder_11;\n const decoder_4 = decoder5;\n decoder_11 = ((path_4) => ((value_5) => index(4, decoder_4, path_4, value_5)));\n return (path_11) => ((value_12) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v5) => {\n let decoder_10;\n const decoder_5 = decoder6;\n decoder_10 = ((path_5) => ((value_6) => index(5, decoder_5, path_5, value_6)));\n return (path_10) => ((value_11) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v6) => {\n let decoder_9;\n const decoder_6 = decoder7;\n decoder_9 = ((path_6) => ((value_7) => index(6, decoder_6, path_6, value_7)));\n return (path_9) => ((value_10) => andThen((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(3, (v7) => {\n let decoder_8;\n const decoder_7 = decoder8;\n decoder_8 = ((path_7) => ((value_8) => index(7, decoder_7, path_7, value_8)));\n return (path_8) => ((value_9) => andThen((v8, arg10$0040, arg20$0040) => succeed([v1, v2, v3, v4, v5, v6, v7, v8], arg10$0040, arg20$0040), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_8), path_8, value_9));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_9), path_9, value_10));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_10), path_10, value_11));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_11), path_11, value_12));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_12), path_12, value_13));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_13), path_13, value_14));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_14), path_14, value_15));\n }), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_15), path_15, value_16));\n}\n\nfunction dict(decoder) {\n let d;\n const decoder_1 = decoder;\n d = ((path) => ((value_1) => keyValuePairs(decoder_1, path, value_1)));\n return (path_1) => ((value_2) => map(_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.ofList, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d), path_1, value_2));\n}\n\nfunction map$0027(keyDecoder, valueDecoder) {\n let d;\n const decoder = tuple2(keyDecoder, valueDecoder);\n d = ((path) => ((value_1) => array((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder), path, value_1)));\n return (path_1) => ((value_2) => map(_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.ofSeq, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d), path_1, value_2));\n}\n\nfunction toMap(xs) {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.ofSeq)(xs);\n}\n\nfunction toSet(xs) {\n return (0,_fable_library_3_7_20_Set_js__WEBPACK_IMPORTED_MODULE_19__.ofSeq)(xs, {\n Compare: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.compare,\n });\n}\n\nfunction autoObject(decoderInfos, path, value_1) {\n if (!(value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype))) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an object\", value_1)]);\n }\n else {\n return (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.foldBack)((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, (tupledArg) => {\n const name = tupledArg[0];\n return (acc) => ((acc.tag === 0) ? (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((v) => (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)(v, acc.fields[0]), tupledArg[1]((path + \".\") + name)(value_1[name])) : acc);\n }), decoderInfos, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)()));\n }\n}\n\nfunction autoObject2(keyDecoder, valueDecoder, path, value_1) {\n if (!(value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype))) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an object\", value_1)]);\n }\n else {\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.fold)((acc, name) => {\n if (acc.tag === 0) {\n const matchValue = keyDecoder(path, name);\n if (matchValue.tag === 0) {\n const _arg = valueDecoder((path + \".\") + name, value_1[name]);\n if (_arg.tag === 0) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)([matchValue.fields[0], _arg.fields[0]], acc.fields[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, _arg.fields[0]);\n }\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue.fields[0]);\n }\n }\n else {\n return acc;\n }\n }, new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)()), Object.keys(value_1));\n }\n}\n\nfunction mixedArray(offset, decoders, path, values) {\n let arg_1;\n const expectedLength = (decoders.length + offset) | 0;\n if (expectedLength !== values.length) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(6, (arg_1 = (values.length | 0), (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.toText)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.printf)(\"Expected array of length %i but got %i\"))(expectedLength)(arg_1)))]);\n }\n else {\n let result = new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)());\n for (let i = offset; i <= (values.length - 1); i++) {\n if (result.tag === 0) {\n const acc = result.fields[0];\n const path_1 = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.toText)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.printf)(\"%s[%i]\"))(path)(i);\n const decoder = decoders[i - offset];\n const value_1 = values[i];\n result = (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((v) => (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.cons)(v, acc), decoder(path_1)(value_1));\n }\n }\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)(_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.reverse, result);\n }\n}\n\nfunction makeUnion(extra, caseStrategy, t, name, path, values) {\n const uci = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.tryFind)((x) => ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.name)(x) === name), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getUnionCases)(t, true));\n if (uci != null) {\n const uci_1 = uci;\n const decoders = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.map)((fi) => autoDecoder(extra, caseStrategy, false, fi[1]), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getUnionCaseFields)(uci_1));\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((values_2) => (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.makeUnion)(uci_1, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.toArray)(values_2), true), ((decoders.length === 0) && (values.length <= 1)) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.empty)())) : mixedArray(1, decoders, path, values));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(6, ((\"Cannot find case \" + name) + \" in \") + (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t))]);\n }\n}\n\nfunction autoDecodeRecordsAndUnions(extra, caseStrategy, isOptional, t) {\n const decoderRef = new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(null);\n let extra_1;\n const matchValue = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t);\n extra_1 = ((matchValue === \"\") ? extra : (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.add)(matchValue, decoderRef, extra));\n let decoder;\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isRecord)(t, true)) {\n const decoders = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.map)((fi) => [(0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.Util_Casing_convert)(caseStrategy, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.name)(fi)), autoDecoder(extra_1, caseStrategy, false, fi[1])], (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getRecordElements)(t, true));\n decoder = ((path) => ((value_1) => (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((xs) => (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.makeRecord)(t, (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.toArray)(xs), true), autoObject(decoders, path, value_1))));\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isUnion)(t, true)) {\n decoder = ((path_1) => ((value_2) => {\n if ((typeof value_2) === \"string\") {\n return makeUnion(extra_1, caseStrategy, t, value_2, path_1, []);\n }\n else if (Array.isArray(value_2)) {\n const values = value_2;\n return (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Bind)((name_2) => makeUnion(extra_1, caseStrategy, t, name_2, path_1, values), string(path_1 + \"[0]\", values[0]));\n }\n else {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_1, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"a string or array\", value_2)]);\n }\n }));\n }\n else if (isOptional) {\n decoder = ((path_2) => ((value_3) => (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_2, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(2, \"an extra coder for \" + (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t), value_3)]))));\n }\n else {\n let message;\n const arg_1 = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t);\n message = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.toText)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.printf)(\"Cannot generate auto decoder for %s. Please pass an extra decoder.\\n\\nDocumentation available at: https://thoth-org.github.io/Thoth.Json/documentation/auto/extra-coders.html#ready-to-use-extra-coders\"))(arg_1);\n throw (new Error(message));\n }\n decoderRef.contents = decoder;\n return decoder;\n}\n\nfunction autoDecoder(extra, caseStrategy, isOptional, t) {\n let decoder_13, decoder_14, decoder_15, decoder_16;\n const fullname = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t);\n const matchValue = (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.tryFind)(fullname, extra);\n if (matchValue == null) {\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isArray)(t)) {\n const decoder = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getElementType)(t));\n return (path_1) => ((value_2) => array((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder), path_1, value_2));\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isEnum)(t)) {\n const enumType = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumUnderlyingType)(t));\n if (enumType === \"System.SByte\") {\n return (path_2) => ((value_4) => {\n const t_2 = t;\n const path_3 = path_2;\n const value_5 = value_4;\n const matchValue_1 = sbyte(path_3)(value_5);\n if (matchValue_1.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_1.fields[0]);\n }\n else {\n const enumValue = matchValue_1.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_2), {\n Equals: (x, y) => (x === y),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_2, enumValue.toString()))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_3, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_2), value_5, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.Byte\") {\n return (path_4) => ((value_7) => {\n const t_3 = t;\n const path_5 = path_4;\n const value_8 = value_7;\n const matchValue_2 = byte(path_5)(value_8);\n if (matchValue_2.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_2.fields[0]);\n }\n else {\n const enumValue_1 = matchValue_2.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_3), {\n Equals: (x_1, y_1) => (x_1 === y_1),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_3, enumValue_1.toString()))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_5, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_3), value_8, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.Int16\") {\n return (path_6) => ((value_10) => {\n const t_4 = t;\n const path_7 = path_6;\n const value_11 = value_10;\n const matchValue_3 = int16(path_7)(value_11);\n if (matchValue_3.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_3.fields[0]);\n }\n else {\n const enumValue_2 = matchValue_3.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_2, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_4), {\n Equals: (x_2, y_2) => (x_2 === y_2),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_4, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int16ToString)(enumValue_2)))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_7, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_4), value_11, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.UInt16\") {\n return (path_8) => ((value_13) => {\n const t_5 = t;\n const path_9 = path_8;\n const value_14 = value_13;\n const matchValue_4 = uint16(path_9)(value_14);\n if (matchValue_4.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_4.fields[0]);\n }\n else {\n const enumValue_3 = matchValue_4.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_3, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_5), {\n Equals: (x_3, y_3) => (x_3 === y_3),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_5, enumValue_3.toString()))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_9, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_5), value_14, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.Int32\") {\n return (path_10) => ((value_16) => {\n const t_6 = t;\n const path_11 = path_10;\n const value_17 = value_16;\n const matchValue_5 = int(path_11)(value_17);\n if (matchValue_5.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_5.fields[0]);\n }\n else {\n const enumValue_4 = matchValue_5.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_4, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_6), {\n Equals: (x_4, y_4) => (x_4 === y_4),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_6, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.int32ToString)(enumValue_4)))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_11, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_6), value_17, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else if (enumType === \"System.UInt32\") {\n return (path_12) => ((value_19) => {\n const t_7 = t;\n const path_13 = path_12;\n const value_20 = value_19;\n const matchValue_6 = uint32(path_13)(value_20);\n if (matchValue_6.tag === 1) {\n return new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_6.fields[0]);\n }\n else {\n const enumValue_5 = matchValue_6.fields[0];\n return (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_16__.contains)(enumValue_5, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getEnumValues)(t_7), {\n Equals: (x_5, y_5) => (x_5 === y_5),\n GetHashCode: _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.numberHash,\n }) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.parseEnum)(t_7, enumValue_5.toString()))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_13, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(1, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t_7), value_20, \"Unkown value provided for the enum\")]));\n }\n });\n }\n else {\n const arg_7 = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t);\n const clo_1 = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.toFail)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_0__.printf)(\"Cannot generate auto decoder for %s.\\nThoth.Json.Net only support the following enum types:\\n- sbyte\\n- byte\\n- int16\\n- uint16\\n- int\\n- uint32\\nIf you can\\u0027t use one of these types, please pass an extra decoder.\\n \"))(arg_7);\n return (arg_8) => {\n const clo_2 = clo_1(arg_8);\n return clo_2;\n };\n }\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isGenericType)(t)) {\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.isTuple)(t)) {\n const decoders = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_15__.map)((t_8) => autoDecoder(extra, caseStrategy, false, t_8), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getTupleElements)(t));\n return (path_14) => ((value_21) => (Array.isArray(value_21) ? (0,_fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.Result_Map)((xs) => (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.makeTuple)((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.toArray)(xs), t), mixedArray(0, decoders, path_14, value_21)) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, [path_14, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.ErrorReason(0, \"an array\", value_21)]))));\n }\n else {\n const fullname_1 = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenericTypeDefinition)(t));\n if (fullname_1 === \"Microsoft.FSharp.Core.FSharpOption`1[System.Object]\") {\n return (decoder_13 = autoDecoder(extra, caseStrategy, true, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]), (path_15) => ((value_22) => option((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_13), path_15, value_22)));\n }\n else if (fullname_1 === \"Microsoft.FSharp.Collections.FSharpList`1[System.Object]\") {\n return (decoder_14 = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]), (path_16) => ((value_23) => list((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_14), path_16, value_23)));\n }\n else if (fullname_1 === \"System.Collections.Generic.IEnumerable`1[System.Object]\") {\n return (decoder_15 = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]), (path_17) => ((value_24) => seq((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_15), path_17, value_24)));\n }\n else if (fullname_1 === \"Microsoft.FSharp.Collections.FSharpMap`2[System.Object,System.Object]\") {\n const keyDecoder = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]);\n const valueDecoder = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[1]);\n let d_20;\n const decoders_1 = (0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_13__.ofArray)([(path_18) => ((value_25) => autoObject2((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, keyDecoder), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, valueDecoder), path_18, value_25)), (decoder_16 = tuple2((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, keyDecoder), (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, valueDecoder)), (path_19) => ((value_26) => list((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_16), path_19, value_26)))]);\n d_20 = ((path_20) => ((value_27) => oneOf(decoders_1, path_20, value_27)));\n return (path_21) => ((value_29) => map(toMap, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, d_20), path_21, value_29));\n }\n else if (fullname_1 === \"Microsoft.FSharp.Collections.FSharpSet`1[System.Object]\") {\n const decoder_17 = autoDecoder(extra, caseStrategy, false, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.getGenerics)(t)[0]);\n return (path_22) => ((value_30) => {\n const matchValue_7 = array((0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_14__.uncurry)(2, decoder_17), path_22, value_30);\n return (matchValue_7.tag === 0) ? (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, toSet(matchValue_7.fields[0]))) : (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(1, matchValue_7.fields[0]));\n });\n }\n else {\n return autoDecodeRecordsAndUnions(extra, caseStrategy, isOptional, t);\n }\n }\n }\n else if (fullname === \"System.Boolean\") {\n return (path_23) => ((value_32) => bool(path_23, value_32));\n }\n else if (fullname === \"Microsoft.FSharp.Core.Unit\") {\n return (path_24) => ((value_33) => unit(path_24, value_33));\n }\n else if (fullname === \"System.String\") {\n return (path_25) => ((value_34) => string(path_25, value_34));\n }\n else if (fullname === \"System.Char\") {\n return (path_26) => ((value_35) => char(path_26, value_35));\n }\n else if (fullname === \"System.SByte\") {\n return sbyte;\n }\n else if (fullname === \"System.Byte\") {\n return byte;\n }\n else if (fullname === \"System.Int16\") {\n return int16;\n }\n else if (fullname === \"System.UInt16\") {\n return uint16;\n }\n else if (fullname === \"System.Int32\") {\n return int;\n }\n else if (fullname === \"System.UInt32\") {\n return uint32;\n }\n else if (fullname === \"System.Double\") {\n return (path_27) => ((value_36) => float(path_27, value_36));\n }\n else if (fullname === \"System.Single\") {\n return (path_28) => ((value_37) => float32(path_28, value_37));\n }\n else if (fullname === \"System.DateTime\") {\n return (path_29) => ((value_38) => datetimeUtc(path_29, value_38));\n }\n else if (fullname === \"System.DateTimeOffset\") {\n return (path_30) => ((value_39) => datetimeOffset(path_30, value_39));\n }\n else if (fullname === \"System.TimeSpan\") {\n return (path_31) => ((value_40) => timespan(path_31, value_40));\n }\n else if (fullname === \"System.Guid\") {\n return (path_32) => ((value_41) => guid(path_32, value_41));\n }\n else if (fullname === \"System.Object\") {\n return (_arg_6) => ((v) => (new _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_1__.FSharpResult$2(0, v)));\n }\n else {\n return autoDecodeRecordsAndUnions(extra, caseStrategy, isOptional, t);\n }\n }\n else {\n const decoderRef = matchValue;\n return (path) => ((value_1) => decoderRef.contents(path)(value_1));\n }\n}\n\nfunction makeExtra(extra) {\n if (extra != null) {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.map)((_arg, tupledArg) => (new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.FSharpRef(tupledArg[1])), extra.Coders);\n }\n else {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_18__.empty)();\n }\n}\n\nclass Auto {\n constructor() {\n }\n}\n\nfunction Auto$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.class_type)(\"Thoth.Json.Decode.Auto\", void 0, Auto);\n}\n\nfunction Auto_generateBoxedDecoderCached_79988AEF(t, caseStrategy, extra) {\n let y_1, y;\n const caseStrategy_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(caseStrategy, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.CaseStrategy(0));\n return (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.Util_Cache$1__GetOrAdd_43981464)(_Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.Util_CachedDecoders, (y_1 = ((y = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_17__.fullName)(t), (0,_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_4__.toString)(caseStrategy_1) + y)), (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)((0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.map)((e) => e.Hash, extra), \"\") + y_1), () => autoDecoder(makeExtra(extra), caseStrategy_1, false, t));\n}\n\nfunction Auto_generateBoxedDecoder_79988AEF(t, caseStrategy, extra) {\n const caseStrategy_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_12__.defaultArg)(caseStrategy, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_2__.CaseStrategy(0));\n return autoDecoder(makeExtra(extra), caseStrategy_1, false, t);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9UaG90aC5Kc29uLjEwLjIuMC9EZWNvZGUuZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWlGO0FBQ1c7QUFDeUM7QUFDNUQ7QUFDYTtBQUNaO0FBQ3dDO0FBQzdDO0FBQ087QUFDbkI7QUFDMkM7QUFDRztBQUMxQjtBQUNNO0FBQzBIO0FBQ2hHO0FBQ0o7QUFDTztBQUN3UjtBQUNuUTtBQUNuRTs7QUFFM0Q7QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2a0JBQTZrQixxRUFBSTtBQUNqbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsMkVBQWM7QUFDakM7QUFDQTtBQUNBLG1CQUFtQiwyRUFBYztBQUNqQztBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QiwyRUFBYztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBOztBQUVPO0FBQ1A7QUFDQSxtQkFBbUIsMkVBQWM7QUFDakM7QUFDQTtBQUNBLG1CQUFtQiwyRUFBYyxlQUFlLHFEQUFXO0FBQzNEO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsMkVBQWM7QUFDckM7QUFDQTtBQUNBLHVCQUF1QiwyRUFBYyxlQUFlLHFEQUFXO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQiwyRUFBYyxlQUFlLHFEQUFXO0FBQzNEO0FB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QXFELHVFQUFPO0FBQy9RO0FBQ0Esa0VBQWtFLHVFQUFPO0FBQ3pFO0FBQ0E7QUFDQSwrRUFBK0UsaUZBQVc7QUFDMUY7QUFDQSxtREFBbUQsdUVBQU87QUFDMUQsK0RBQStELDJFQUFjLDJDQUEyQywyRUFBYztBQUN0SSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsMkVBQWM7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGVBQWUsa0VBQUssMkJBQTJCLHFFQUFTO0FBQ3hEO0FBQ0E7QUFDQSxlQUFlLG9FQUFPO0FBQ3RCO0FBQ0E7O0FBRU87QUFDUDtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLGdGQUFVO0FBQ3JCOztBQUVPO0FBQ1A7QUFDQSwyQkFBMkIsNEVBQVUsbUJBQW1CLHNEQUFZO0FBQ3BFLFdBQVcsNkVBQStCLENBQUMsNkRBQW1CLGVBQWUsOEVBQVUsS0FBSyx3RUFBVyx3QkFBd0IsNEVBQVUsQ0FBQyxxRUFBSztBQUMvSTs7QUFFTztBQUNQLDJCQUEyQiw0RUFBVSxtQkFBbUIsc0RBQVk7QUFDcEU7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL0BmbGFyZWhyL3dvcmtmbG93cy1hcHAvLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9UaG90aC5Kc29uLjEwLjIuMC9EZWNvZGUuZnMuanM/MzMwZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b0ZhaWwsIHByaW50ZiwgdG9UZXh0LCBqb2luIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1N0cmluZy5qc1wiO1xuaW1wb3J0IHsgUmVzdWx0X0JpbmQsIFJlc3VsdF9NYXAsIEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgVXRpbF9DYWNoZWREZWNvZGVycywgVXRpbF9DYWNoZSQxX19HZXRPckFkZF80Mzk4MTQ2NCwgQ2FzZVN0cmF0ZWd5LCBVdGlsX0Nhc2luZ19jb252ZXJ0LCBFcnJvclJlYXNvbiB9IGZyb20gXCIuL1R5cGVzLmZzLmpzXCI7XG5pbXBvcnQgeyB0cnlQYXJzZSBhcyB0cnlQYXJzZV8yIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0d1aWQuanNcIjtcbmltcG9ydCB7IHRvU3RyaW5nIGFzIHRvU3RyaW5nXzEyLCBGU2hhcnBSZWYgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvVHlwZXMuanNcIjtcbmltcG9ydCB7IHRyeVBhcnNlIGFzIHRyeVBhcnNlXzMgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvSW50MzIuanNcIjtcbmltcG9ydCB7IHRyeVBhcnNlIGFzIHRyeVBhcnNlXzQsIGZyb21JbnQsIGZyb21OdW1iZXIsIGZyb21CaXRzLCB0b051bWJlciB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9Mb25nLmpzXCI7XG5pbXBvcnQgeyBwYXJzZSwgZnJvbUludDMyIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0JpZ0ludC5qc1wiO1xuaW1wb3J0IHsgdHJ5UGFyc2UgYXMgdHJ5UGFyc2VfNSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9EZWNpbWFsLmpzXCI7XG5pbXBvcnQgRGVjaW1hbCBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvRGVjaW1hbC5qc1wiO1xuaW1wb3J0IHsgdG9Vbml2ZXJzYWxUaW1lLCB0cnlQYXJzZSBhcyB0cnlQYXJzZV82LCBtaW5WYWx1ZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9EYXRlLmpzXCI7XG5pbXBvcnQgeyB0cnlQYXJzZSBhcyB0cnlQYXJzZV83LCBtaW5WYWx1ZSBhcyBtaW5WYWx1ZV8xIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0RhdGVPZmZzZXQuanNcIjtcbmltcG9ydCB7IHRyeVBhcnNlIGFzIHRyeVBhcnNlXzggfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvVGltZVNwYW4uanNcIjtcbmltcG9ydCB7IG1hcCBhcyBtYXBfNCwgZGVmYXVsdEFyZywgc29tZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9PcHRpb24uanNcIjtcbmltcG9ydCB7IG9mQXJyYXksIHRvQXJyYXksIG1hcCBhcyBtYXBfMSwgbGVuZ3RoLCBzaW5nbGV0b24sIGFwcGVuZCBhcyBhcHBlbmRfMSwgdGFpbCBhcyB0YWlsXzEsIGhlYWQgYXMgaGVhZF8xLCBpc0VtcHR5LCBvZlNlcSwgZW1wdHksIHJldmVyc2UsIGZvbGQsIHRyeUxhc3QsIGNvbnMgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvTGlzdC5qc1wiO1xuaW1wb3J0IHsgaW50MTZUb1N0cmluZywgbnVtYmVySGFzaCwgY29tcGFyZSwgaW50MzJUb1N0cmluZywgdW5jdXJyeSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9VdGlsLmpzXCI7XG5pbXBvcnQgeyBtYXAgYXMgbWFwXzIsIHRyeUZpbmQsIGZvbGRCYWNrLCBmaWxsLCBmb2xkIGFzIGZvbGRfMSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9BcnJheS5qc1wiO1xuaW1wb3J0IHsgY29udGFpbnMsIGZvbGQgYXMgZm9sZF8yLCB0b0xpc3QsIGFwcGVuZCwgcmV2ZXJzZSBhcyByZXZlcnNlXzEgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvU2VxLmpzXCI7XG5pbXBvcnQgeyBnZXRHZW5lcmljcywgZ2V0R2VuZXJpY1R5cGVEZWZpbml0aW9uLCBtYWtlVHVwbGUsIGdldFR1cGxlRWxlbWVudHMsIGlzVHVwbGUsIGlzR2VuZXJpY1R5cGUsIHBhcnNlRW51bSwgZ2V0RW51bVZhbHVlcywgZ2V0RW51bVVuZGVybHlpbmdUeXBlLCBpc0VudW0sIGdldEVsZW1lbnRUeXBlLCBpc0FycmF5LCBpc1VuaW9uLCBtYWtlUmVjb3JkLCBnZXRSZWNvcmRFbGVtZW50cywgaXNSZWNvcmQsIGZ1bGxOYW1lIGFzIGZ1bGxOYW1lXzEsIG1ha2VVbmlvbiBhcyBtYWtlVW5pb25fMSwgZ2V0VW5pb25DYXNlRmllbGRzLCBnZXRVbmlvbkNhc2VzLCBuYW1lIGFzIG5hbWVfMywgY2xhc3NfdHlwZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9SZWZsZWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBlbXB0eSBhcyBlbXB0eV8xLCBtYXAgYXMgbWFwXzMsIHRyeUZpbmQgYXMgdHJ5RmluZF8xLCBhZGQsIG9mU2VxIGFzIG9mU2VxXzEsIG9mTGlzdCB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9NYXAuanNcIjtcbmltcG9ydCB7IG9mU2VxIGFzIG9mU2VxXzIgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvU2V0LmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBIZWxwZXJzX2lzVW5kZWZpbmVkKG8pIHtcbiAgICByZXR1cm4gKHR5cGVvZiBvKSA9PT0gXCJ1bmRlZmluZWRcIjtcbn1cblxuZnVuY3Rpb24gZ2VuZXJpY01zZyhtc2csIHZhbHVlXzEsIG5ld0xpbmUpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gKCgoXCJFeHBlY3RpbmcgXCIgKyBtc2cpICsgXCIgYnV0IGluc3RlYWQgZ290OlwiKSArIChuZXdMaW5lID8gXCJcXG5cIiA6IFwiIFwiKSkgKyAoSlNPTi5zdHJpbmdpZnkodmFsdWVfMSwgbnVsbCwgNCkgKyAnJyk7XG4gICAgfVxuICAgIGNhdGNoIChtYXRjaFZhbHVlKSB7XG4gICAgICAgIHJldHVybiAoKFwiRXhwZWN0aW5nIFwiICsgbXNnKSArIFwiIGJ1dCBkZWNvZGVyIGZhaWxlZC4gQ291bGRuXFx1MDAyN3QgcmVwb3J0IGdpdmVuIHZhbHVlIGR1ZSB0byBjaXJjdWxhciBzdHJ1Y3R1cmUuXCIpICsgKG5ld0xpbmUgPyBcIlxcblwiIDogXCIgXCIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZXJyb3JUb1N0cmluZyhwYXRoLCBlcnJvcikge1xuICAgIGNvbnN0IHJlYXNvbl8xID0gKGVycm9yLnRhZyA9PT0gMikgPyBnZW5lcmljTXNnKGVycm9yLmZpZWxkc1swXSwgZXJyb3IuZmllbGRzWzFdLCB0cnVlKSA6ICgoZXJyb3IudGFnID09PSAxKSA/ICgoZ2VuZXJpY01zZyhlcnJvci5maWVsZHNbMF0sIGVycm9yLmZpZWxkc1sxXSwgZmFsc2UpICsgXCJcXG5SZWFzb246IFwiKSArIGVycm9yLmZpZWxkc1syXSkgOiAoKGVycm9yLnRhZyA9PT0gMykgPyBnZW5lcmljTXNnKGVycm9yLmZpZWxkc1swXSwgZXJyb3IuZmllbGRzWzFdLCB0cnVlKSA6ICgoZXJyb3IudGFnID09PSA0KSA/IChnZW5lcmljTXNnKGVycm9yLmZpZWxkc1swXSwgZXJyb3IuZmllbGRzWzFdLCB0cnVlKSArICgoXCJcXG5Ob2RlIGBcIiArIGVycm9yLmZpZWxkc1syXSkgKyBcImAgaXMgdW5rb3duLlwiKSkgOiAoKGVycm9yLnRhZyA9PT0gNSkgPyAoKChcIkV4cGVjdGluZyBcIiArIGVycm9yLmZpZWxkc1swXSkgKyBcIi5cXG5cIikgKyAoSlNPTi5zdHJpbmdpZnkoZXJyb3IuZmllbGRzWzFdLCBudWxsLCA0KSArICcnKSkgOiAoKGVycm9yLnRhZyA9PT0gNykgPyAoXCJUaGUgZm9sbG93aW5nIGVycm9ycyB3ZXJlIGZvdW5kOlxcblxcblwiICsgam9pbihcIlxcblxcblwiLCBlcnJvci5maWVsZHNbMF0pKSA6ICgoZXJyb3IudGFnID09PSA2KSA/IChcIlRoZSBmb2xsb3dpbmcgYGZhaWx1cmVgIG9jY3VycmVkIHdpdGggdGhlIGRlY29kZXI6IFwiICsgZXJyb3IuZmllbGRzWzBdKSA6IGdlbmVyaWNNc2coZXJyb3IuZmllbGRzWzBdLCBlcnJvci5maWVsZHNbMV0sIGZhbHNlKSkpKSkpKTtcbiAgICBpZiAoZXJyb3IudGFnID09PSA3KSB7XG4gICAgICAgIHJldHVybiByZWFzb25fMTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiAoKFwiRXJyb3IgYXQ6IGBcIiArIHBhdGgpICsgXCJgXFxuXCIpICsgcmVhc29uXzE7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVZhbHVlKHBhdGgsIGRlY29kZXIsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gZGVjb2RlcihwYXRoLCB2YWx1ZV8xKTtcbiAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBtYXRjaFZhbHVlLmZpZWxkc1swXTtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBlcnJvclRvU3RyaW5nKGVycm9yWzBdLCBlcnJvclsxXSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlLmZpZWxkc1swXSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVN0cmluZyhkZWNvZGVyLCB2YWx1ZV8xKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGZyb21WYWx1ZShcIiRcIiwgZGVjb2RlciwgSlNPTi5wYXJzZSh2YWx1ZV8xKSk7XG4gICAgfVxuICAgIGNhdGNoIChtYXRjaFZhbHVlKSB7XG4gICAgICAgIGlmIChtYXRjaFZhbHVlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgXCJHaXZlbiBhbiBpbnZhbGlkIEpTT046IFwiICsgbWF0Y2hWYWx1ZS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG1hdGNoVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnNhZmVGcm9tU3RyaW5nKGRlY29kZXIsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gZnJvbVN0cmluZyhkZWNvZGVyLCB2YWx1ZV8xKTtcbiAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG1hdGNoVmFsdWUuZmllbGRzWzBdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZVZhbHVlKHBhdGgsIGRlY29kZXIpIHtcbiAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyO1xuICAgIHJldHVybiAodmFsdWVfMSkgPT4gZnJvbVZhbHVlKHBhdGgsIGRlY29kZXJfMSwgdmFsdWVfMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVTdHJpbmcoZGVjb2Rlcikge1xuICAgIGNvbnN0IGRlY29kZXJfMSA9IGRlY29kZXI7XG4gICAgcmV0dXJuICh2YWx1ZV8xKSA9PiBmcm9tU3RyaW5nKGRlY29kZXJfMSwgdmFsdWVfMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmcocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdmFsdWVfMSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIHN0cmluZ1wiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYXIocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGNvbnN0IHN0ciA9IHZhbHVlXzE7XG4gICAgICAgIGlmIChzdHIubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHN0clswXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nXCIsIHZhbHVlXzEpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgY2hhclwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd1aWQocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGxldCBtYXRjaFZhbHVlO1xuICAgICAgICBsZXQgb3V0QXJnID0gXCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDBcIjtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV8yKHZhbHVlXzEsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICBpZiAobWF0Y2hWYWx1ZVswXSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlWzFdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZ3VpZFwiLCB2YWx1ZV8xKV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIGd1aWRcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml0KHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAodmFsdWVfMSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcIm51bGxcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBzYnl0ZSA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImEgc2J5dGVcIjtcbiAgICBjb25zdCBwYXRoXzEgPSBwYXRoO1xuICAgIGNvbnN0IHZhbHVlXzMgPSB2YWx1ZV8yO1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzMpID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlXzFfMSA9IHZhbHVlXzM7XG4gICAgICAgIHJldHVybiAoaXNGaW5pdGUodmFsdWVfMV8xKSAmJiBNYXRoLmZsb29yKHZhbHVlXzFfMSkgPT09IHZhbHVlXzFfMSkgPyAoKCgtMTI4IDw9IHZhbHVlXzFfMSkgJiYgKHZhbHVlXzFfMSA8PSAxMjcpKSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgKHZhbHVlXzFfMSArIDB4ODAgJiAweEZGKSAtIDB4ODApKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIHdhcyBlaXRoZXIgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmb3IgXCIgKyBuYW1lXzEpXSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIGlzIG5vdCBhbiBpbnRlZ3JhbCB2YWx1ZVwiKV0pKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfMyh2YWx1ZV8zLCA1MTEsIGZhbHNlLCA4LCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9ICh2IHwgMCk7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgcmV0dXJuIG1hdGNoVmFsdWVbMF0gPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIG1hdGNoVmFsdWVbMV0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigwLCBuYW1lXzEsIHZhbHVlXzMpXSk7XG4gICAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBieXRlID0gKHBhdGgpID0+ICgodmFsdWVfMikgPT4ge1xuICAgIGNvbnN0IG5hbWVfMSA9IFwiYSBieXRlXCI7XG4gICAgY29uc3QgcGF0aF8xID0gcGF0aDtcbiAgICBjb25zdCB2YWx1ZV8zID0gdmFsdWVfMjtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICBjb25zdCB2YWx1ZV8xXzEgPSB2YWx1ZV8zO1xuICAgICAgICByZXR1cm4gKGlzRmluaXRlKHZhbHVlXzFfMSkgJiYgTWF0aC5mbG9vcih2YWx1ZV8xXzEpID09PSB2YWx1ZV8xXzEpID8gKCgoMCA8PSB2YWx1ZV8xXzEpICYmICh2YWx1ZV8xXzEgPD0gMjU1KSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZhbHVlXzFfMSAmIDB4RkYpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIHdhcyBlaXRoZXIgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmb3IgXCIgKyBuYW1lXzEpXSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIGlzIG5vdCBhbiBpbnRlZ3JhbCB2YWx1ZVwiKV0pKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfMyh2YWx1ZV8zLCA1MTEsIHRydWUsIDgsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGludDE2ID0gKHBhdGgpID0+ICgodmFsdWVfMikgPT4ge1xuICAgIGNvbnN0IG5hbWVfMSA9IFwiYW4gaW50MTZcIjtcbiAgICBjb25zdCBwYXRoXzEgPSBwYXRoO1xuICAgIGNvbnN0IHZhbHVlXzMgPSB2YWx1ZV8yO1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzMpID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlXzFfMSA9IHZhbHVlXzM7XG4gICAgICAgIHJldHVybiAoaXNGaW5pdGUodmFsdWVfMV8xKSAmJiBNYXRoLmZsb29yKHZhbHVlXzFfMSkgPT09IHZhbHVlXzFfMSkgPyAoKCgtMzI3NjggPD0gdmFsdWVfMV8xKSAmJiAodmFsdWVfMV8xIDw9IDMyNzY3KSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsICh2YWx1ZV8xXzEgKyAweDgwMDAgJiAweEZGRkYpIC0gMHg4MDAwKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigxLCBuYW1lXzEsIHZhbHVlXzFfMSwgXCJWYWx1ZSB3YXMgZWl0aGVyIHRvbyBsYXJnZSBvciB0b28gc21hbGwgZm9yIFwiICsgbmFtZV8xKV0pKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigxLCBuYW1lXzEsIHZhbHVlXzFfMSwgXCJWYWx1ZSBpcyBub3QgYW4gaW50ZWdyYWwgdmFsdWVcIildKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgbGV0IG1hdGNoVmFsdWU7XG4gICAgICAgIGxldCBvdXRBcmcgPSAwO1xuICAgICAgICBtYXRjaFZhbHVlID0gW3RyeVBhcnNlXzModmFsdWVfMywgNTExLCBmYWxzZSwgMTYsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gKHYgfCAwKTtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IHVpbnQxNiA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImFuIHVpbnQxNlwiO1xuICAgIGNvbnN0IHBhdGhfMSA9IHBhdGg7XG4gICAgY29uc3QgdmFsdWVfMyA9IHZhbHVlXzI7XG4gICAgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgY29uc3QgdmFsdWVfMV8xID0gdmFsdWVfMztcbiAgICAgICAgcmV0dXJuIChpc0Zpbml0ZSh2YWx1ZV8xXzEpICYmIE1hdGguZmxvb3IodmFsdWVfMV8xKSA9PT0gdmFsdWVfMV8xKSA/ICgoKDAgPD0gdmFsdWVfMV8xKSAmJiAodmFsdWVfMV8xIDw9IDY1NTM1KSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHZhbHVlXzFfMSAmIDB4RkZGRikpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMSwgbmFtZV8xLCB2YWx1ZV8xXzEsIFwiVmFsdWUgd2FzIGVpdGhlciB0b28gbGFyZ2Ugb3IgdG9vIHNtYWxsIGZvciBcIiArIG5hbWVfMSldKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMSwgbmFtZV8xLCB2YWx1ZV8xXzEsIFwiVmFsdWUgaXMgbm90IGFuIGludGVncmFsIHZhbHVlXCIpXSkpO1xuICAgIH1cbiAgICBlbHNlIGlmICgodHlwZW9mIHZhbHVlXzMpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGxldCBtYXRjaFZhbHVlO1xuICAgICAgICBsZXQgb3V0QXJnID0gMDtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV8zKHZhbHVlXzMsIDUxMSwgdHJ1ZSwgMTYsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGludCA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImFuIGludFwiO1xuICAgIGNvbnN0IHBhdGhfMSA9IHBhdGg7XG4gICAgY29uc3QgdmFsdWVfMyA9IHZhbHVlXzI7XG4gICAgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgY29uc3QgdmFsdWVfMV8xID0gdmFsdWVfMztcbiAgICAgICAgcmV0dXJuIChpc0Zpbml0ZSh2YWx1ZV8xXzEpICYmIE1hdGguZmxvb3IodmFsdWVfMV8xKSA9PT0gdmFsdWVfMV8xKSA/ICgoKC0yMTQ3NDgzNjQ4IDw9IHZhbHVlXzFfMSkgJiYgKHZhbHVlXzFfMSA8PSAyMTQ3NDgzNjQ3KSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIH4ofnZhbHVlXzFfMSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIHdhcyBlaXRoZXIgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmb3IgXCIgKyBuYW1lXzEpXSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIGlzIG5vdCBhbiBpbnRlZ3JhbCB2YWx1ZVwiKV0pKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfMyh2YWx1ZV8zLCA1MTEsIGZhbHNlLCAzMiwgbmV3IEZTaGFycFJlZigoKSA9PiBvdXRBcmcsICh2KSA9PiB7XG4gICAgICAgICAgICBvdXRBcmcgPSAodiB8IDApO1xuICAgICAgICB9KSksIG91dEFyZ107XG4gICAgICAgIHJldHVybiBtYXRjaFZhbHVlWzBdID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlWzFdKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigwLCBuYW1lXzEsIHZhbHVlXzMpXSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pO1xuICAgIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgdWludDMyID0gKHBhdGgpID0+ICgodmFsdWVfMikgPT4ge1xuICAgIGNvbnN0IG5hbWVfMSA9IFwiYW4gdWludDMyXCI7XG4gICAgY29uc3QgcGF0aF8xID0gcGF0aDtcbiAgICBjb25zdCB2YWx1ZV8zID0gdmFsdWVfMjtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICBjb25zdCB2YWx1ZV8xXzEgPSB2YWx1ZV8zO1xuICAgICAgICByZXR1cm4gKGlzRmluaXRlKHZhbHVlXzFfMSkgJiYgTWF0aC5mbG9vcih2YWx1ZV8xXzEpID09PSB2YWx1ZV8xXzEpID8gKCgoMCA8PSB2YWx1ZV8xXzEpICYmICh2YWx1ZV8xXzEgPD0gNDI5NDk2NzI5NSkpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2YWx1ZV8xXzEgPj4+IDApKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIHdhcyBlaXRoZXIgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmb3IgXCIgKyBuYW1lXzEpXSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDEsIG5hbWVfMSwgdmFsdWVfMV8xLCBcIlZhbHVlIGlzIG5vdCBhbiBpbnRlZ3JhbCB2YWx1ZVwiKV0pKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfMyh2YWx1ZV8zLCA1MTEsIHRydWUsIDMyLCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9IHY7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgcmV0dXJuIG1hdGNoVmFsdWVbMF0gPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIG1hdGNoVmFsdWVbMV0pKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigwLCBuYW1lXzEsIHZhbHVlXzMpXSk7XG4gICAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBpbnQ2NCA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImFuIGludDY0XCI7XG4gICAgY29uc3QgcGF0aF8xID0gcGF0aDtcbiAgICBjb25zdCB2YWx1ZV8zID0gdmFsdWVfMjtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8zKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICBjb25zdCB2YWx1ZV8xXzEgPSB2YWx1ZV8zO1xuICAgICAgICByZXR1cm4gKGlzRmluaXRlKHZhbHVlXzFfMSkgJiYgTWF0aC5mbG9vcih2YWx1ZV8xXzEpID09PSB2YWx1ZV8xXzEpID8gKCgodG9OdW1iZXIoZnJvbUJpdHMoMCwgMjE0NzQ4MzY0OCwgZmFsc2UpKSA8PSB2YWx1ZV8xXzEpICYmICh2YWx1ZV8xXzEgPD0gdG9OdW1iZXIoZnJvbUJpdHMoNDI5NDk2NzI5NSwgMjE0NzQ4MzY0NywgZmFsc2UpKSkpID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBmcm9tTnVtYmVyKHZhbHVlXzFfMSwgZmFsc2UpKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigxLCBuYW1lXzEsIHZhbHVlXzFfMSwgXCJWYWx1ZSB3YXMgZWl0aGVyIHRvbyBsYXJnZSBvciB0b28gc21hbGwgZm9yIFwiICsgbmFtZV8xKV0pKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzEsIG5ldyBFcnJvclJlYXNvbigxLCBuYW1lXzEsIHZhbHVlXzFfMSwgXCJWYWx1ZSBpcyBub3QgYW4gaW50ZWdyYWwgdmFsdWVcIildKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgbGV0IG1hdGNoVmFsdWU7XG4gICAgICAgIGxldCBvdXRBcmcgPSBmcm9tSW50KDApO1xuICAgICAgICBtYXRjaFZhbHVlID0gW3RyeVBhcnNlXzQodmFsdWVfMywgNTExLCBmYWxzZSwgNjQsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IHVpbnQ2NCA9IChwYXRoKSA9PiAoKHZhbHVlXzIpID0+IHtcbiAgICBjb25zdCBuYW1lXzEgPSBcImFuIHVpbnQ2NFwiO1xuICAgIGNvbnN0IHBhdGhfMSA9IHBhdGg7XG4gICAgY29uc3QgdmFsdWVfMyA9IHZhbHVlXzI7XG4gICAgaWYgKCh0eXBlb2YgdmFsdWVfMykgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgY29uc3QgdmFsdWVfMV8xID0gdmFsdWVfMztcbiAgICAgICAgcmV0dXJuIChpc0Zpbml0ZSh2YWx1ZV8xXzEpICYmIE1hdGguZmxvb3IodmFsdWVfMV8xKSA9PT0gdmFsdWVfMV8xKSA/ICgoKHRvTnVtYmVyKGZyb21CaXRzKDAsIDAsIHRydWUpKSA8PSB2YWx1ZV8xXzEpICYmICh2YWx1ZV8xXzEgPD0gdG9OdW1iZXIoZnJvbUJpdHMoNDI5NDk2NzI5NSwgNDI5NDk2NzI5NSwgdHJ1ZSkpKSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGZyb21OdW1iZXIodmFsdWVfMV8xLCB0cnVlKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMSwgbmFtZV8xLCB2YWx1ZV8xXzEsIFwiVmFsdWUgd2FzIGVpdGhlciB0b28gbGFyZ2Ugb3IgdG9vIHNtYWxsIGZvciBcIiArIG5hbWVfMSldKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMSwgbmFtZV8xLCB2YWx1ZV8xXzEsIFwiVmFsdWUgaXMgbm90IGFuIGludGVncmFsIHZhbHVlXCIpXSkpO1xuICAgIH1cbiAgICBlbHNlIGlmICgodHlwZW9mIHZhbHVlXzMpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGxldCBtYXRjaFZhbHVlO1xuICAgICAgICBsZXQgb3V0QXJnID0gZnJvbUludCgwKTtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV80KHZhbHVlXzMsIDUxMSwgdHJ1ZSwgNjQsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICByZXR1cm4gbWF0Y2hWYWx1ZVswXSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgbmFtZV8xLCB2YWx1ZV8zKV0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMSwgbmV3IEVycm9yUmVhc29uKDAsIG5hbWVfMSwgdmFsdWVfMyldKTtcbiAgICB9XG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ2ludChwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKCh0eXBlb2YgdmFsdWVfMSkgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBmcm9tSW50MzIodmFsdWVfMSkpO1xuICAgIH1cbiAgICBlbHNlIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHBhcnNlKHZhbHVlXzEpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAobWF0Y2hWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBiaWdpbnRcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBiaWdpbnRcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBib29sKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2YWx1ZV8xKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgYm9vbGVhblwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb2F0KHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZhbHVlXzEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBmbG9hdFwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsb2F0MzIocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdmFsdWVfMSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIGZsb2F0MzJcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNpbWFsKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG5ldyBEZWNpbWFsKHZhbHVlXzEpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IG5ldyBEZWNpbWFsKDApO1xuICAgICAgICBtYXRjaFZhbHVlID0gW3RyeVBhcnNlXzUodmFsdWVfMSwgbmV3IEZTaGFycFJlZigoKSA9PiBvdXRBcmcsICh2KSA9PiB7XG4gICAgICAgICAgICBvdXRBcmcgPSB2O1xuICAgICAgICB9KSksIG91dEFyZ107XG4gICAgICAgIGlmIChtYXRjaFZhbHVlWzBdKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG1hdGNoVmFsdWVbMV0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkZWNpbWFsXCIsIHZhbHVlXzEpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGVjaW1hbFwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IG1pblZhbHVlKCk7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfNih2YWx1ZV8xLCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9IHY7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdG9Vbml2ZXJzYWxUaW1lKG1hdGNoVmFsdWVbMV0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGF0ZXRpbWVcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkYXRldGltZVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lVXRjKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IG1pblZhbHVlKCk7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfNih2YWx1ZV8xLCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9IHY7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdG9Vbml2ZXJzYWxUaW1lKG1hdGNoVmFsdWVbMV0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGF0ZXRpbWVcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkYXRldGltZVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lTG9jYWwocGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICgodHlwZW9mIHZhbHVlXzEpID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGxldCBtYXRjaFZhbHVlO1xuICAgICAgICBsZXQgb3V0QXJnID0gbWluVmFsdWUoKTtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV82KHZhbHVlXzEsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICBpZiAobWF0Y2hWYWx1ZVswXSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlWzFdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGF0ZXRpbWVcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkYXRldGltZVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lT2Zmc2V0KHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IG1pblZhbHVlXzEoKTtcbiAgICAgICAgbWF0Y2hWYWx1ZSA9IFt0cnlQYXJzZV83KHZhbHVlXzEsIG5ldyBGU2hhcnBSZWYoKCkgPT4gb3V0QXJnLCAodikgPT4ge1xuICAgICAgICAgICAgb3V0QXJnID0gdjtcbiAgICAgICAgfSkpLCBvdXRBcmddO1xuICAgICAgICBpZiAobWF0Y2hWYWx1ZVswXSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBtYXRjaFZhbHVlWzFdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgZGF0ZXRpbWVvZmZzZXRcIiwgdmFsdWVfMSldKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBkYXRldGltZVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRpbWVzcGFuKHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoKHR5cGVvZiB2YWx1ZV8xKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBsZXQgbWF0Y2hWYWx1ZTtcbiAgICAgICAgbGV0IG91dEFyZyA9IDA7XG4gICAgICAgIG1hdGNoVmFsdWUgPSBbdHJ5UGFyc2VfOCh2YWx1ZV8xLCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgICAgIG91dEFyZyA9IHY7XG4gICAgICAgIH0pKSwgb3V0QXJnXTtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWVbMF0pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgbWF0Y2hWYWx1ZVsxXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIHRpbWVzcGFuXCIsIHZhbHVlXzEpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgdGltZXNwYW5cIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRlY29kZU1heWJlTnVsbChwYXRoLCBkZWNvZGVyLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBtYXRjaFZhbHVlID0gZGVjb2RlcihwYXRoLCB2YWx1ZV8xKTtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWUudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgc29tZShtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uYWwoZmllbGROYW1lLCBkZWNvZGVyLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT09IG51bGwgPyBmYWxzZSA6IChPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWVfMSB8fCBmYWxzZSkgPT09IE9iamVjdC5wcm90b3R5cGUpKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSB2YWx1ZV8xW2ZpZWxkTmFtZV07XG4gICAgICAgIGlmIChIZWxwZXJzX2lzVW5kZWZpbmVkKGZpZWxkVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlTWF5YmVOdWxsKChwYXRoICsgXCIuXCIpICsgZmllbGROYW1lLCBkZWNvZGVyLCBmaWVsZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDIsIFwiYW4gb2JqZWN0XCIsIHZhbHVlXzEpXSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBiYWRQYXRoRXJyb3IoZmllbGROYW1lcywgY3VycmVudFBhdGgsIHZhbHVlXzEpIHtcbiAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtkZWZhdWx0QXJnKGN1cnJlbnRQYXRoLCBqb2luKFwiLlwiLCBjb25zKFwiJFwiLCBmaWVsZE5hbWVzKSkpLCBuZXcgRXJyb3JSZWFzb24oNCwgKFwiYW4gb2JqZWN0IHdpdGggcGF0aCBgXCIgKyBqb2luKFwiLlwiLCBmaWVsZE5hbWVzKSkgKyBcImBcIiwgdmFsdWVfMSwgZGVmYXVsdEFyZyh0cnlMYXN0KGZpZWxkTmFtZXMpLCBcIlwiKSldKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbmFsQXQoZmllbGROYW1lcywgZGVjb2RlciwgZmlyc3RQYXRoLCBmaXJzdFZhbHVlKSB7XG4gICAgY29uc3QgX2FyZyA9IGZvbGQodW5jdXJyeSgyLCAodHVwbGVkQXJnKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1clBhdGggPSB0dXBsZWRBcmdbMF07XG4gICAgICAgIGNvbnN0IGN1clZhbHVlID0gdHVwbGVkQXJnWzFdO1xuICAgICAgICBjb25zdCByZXMgPSB0dXBsZWRBcmdbMl07XG4gICAgICAgIHJldHVybiAoZmllbGRfMSkgPT4gKChyZXMgPT0gbnVsbCkgPyAoKGN1clZhbHVlID09IG51bGwpID8gW2N1clBhdGgsIGN1clZhbHVlLCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdm9pZCAwKV0gOiAoKGN1clZhbHVlID09PSBudWxsID8gZmFsc2UgOiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKGN1clZhbHVlIHx8IGZhbHNlKSA9PT0gT2JqZWN0LnByb3RvdHlwZSkpID8gWyhjdXJQYXRoICsgXCIuXCIpICsgZmllbGRfMSwgY3VyVmFsdWVbZmllbGRfMV0sIHZvaWQgMF0gOiBbY3VyUGF0aCwgY3VyVmFsdWUsIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbY3VyUGF0aCwgbmV3IEVycm9yUmVhc29uKDIsIFwiYW4gb2JqZWN0XCIsIGN1clZhbHVlKV0pXSkpIDogW2N1clBhdGgsIGN1clZhbHVlLCByZXNdKTtcbiAgICB9KSwgW2ZpcnN0UGF0aCwgZmlyc3RWYWx1ZSwgdm9pZCAwXSwgZmllbGROYW1lcyk7XG4gICAgaWYgKF9hcmdbMl0gPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBsYXN0VmFsdWUgPSBfYXJnWzFdO1xuICAgICAgICBpZiAoSGVscGVyc19pc1VuZGVmaW5lZChsYXN0VmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlTWF5YmVOdWxsKF9hcmdbMF0sIGRlY29kZXIsIGxhc3RWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBfYXJnWzJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkKGZpZWxkTmFtZSwgZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICh2YWx1ZV8xID09PSBudWxsID8gZmFsc2UgOiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlXzEgfHwgZmFsc2UpID09PSBPYmplY3QucHJvdG90eXBlKSkge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdmFsdWVfMVtmaWVsZE5hbWVdO1xuICAgICAgICBpZiAoSGVscGVyc19pc1VuZGVmaW5lZChmaWVsZFZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDMsIChcImFuIG9iamVjdCB3aXRoIGEgZmllbGQgbmFtZWQgYFwiICsgZmllbGROYW1lKSArIFwiYFwiLCB2YWx1ZV8xKV0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRlY29kZXIoKHBhdGggKyBcIi5cIikgKyBmaWVsZE5hbWUsIGZpZWxkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMiwgXCJhbiBvYmplY3RcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdChmaWVsZE5hbWVzLCBkZWNvZGVyLCBmaXJzdFBhdGgsIGZpcnN0VmFsdWUpIHtcbiAgICBjb25zdCBfYXJnID0gZm9sZCh1bmN1cnJ5KDIsICh0dXBsZWRBcmcpID0+IHtcbiAgICAgICAgY29uc3QgY3VyUGF0aCA9IHR1cGxlZEFyZ1swXTtcbiAgICAgICAgY29uc3QgY3VyVmFsdWUgPSB0dXBsZWRBcmdbMV07XG4gICAgICAgIGNvbnN0IHJlcyA9IHR1cGxlZEFyZ1syXTtcbiAgICAgICAgcmV0dXJuIChmaWVsZF8xKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoY3VyVmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW2N1clBhdGgsIGN1clZhbHVlLCBiYWRQYXRoRXJyb3IoZmllbGROYW1lcywgY3VyUGF0aCwgZmlyc3RWYWx1ZSldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjdXJWYWx1ZSA9PT0gbnVsbCA/IGZhbHNlIDogKE9iamVjdC5nZXRQcm90b3R5cGVPZihjdXJWYWx1ZSB8fCBmYWxzZSkgPT09IE9iamVjdC5wcm90b3R5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1clZhbHVlXzEgPSBjdXJWYWx1ZVtmaWVsZF8xXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEhlbHBlcnNfaXNVbmRlZmluZWQoY3VyVmFsdWVfMSkgPyBbY3VyUGF0aCwgY3VyVmFsdWVfMSwgYmFkUGF0aEVycm9yKGZpZWxkTmFtZXMsIHZvaWQgMCwgZmlyc3RWYWx1ZSldIDogWyhjdXJQYXRoICsgXCIuXCIpICsgZmllbGRfMSwgY3VyVmFsdWVfMSwgdm9pZCAwXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbY3VyUGF0aCwgY3VyVmFsdWUsIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbY3VyUGF0aCwgbmV3IEVycm9yUmVhc29uKDIsIFwiYW4gb2JqZWN0XCIsIGN1clZhbHVlKV0pXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW2N1clBhdGgsIGN1clZhbHVlLCByZXNdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pLCBbZmlyc3RQYXRoLCBmaXJzdFZhbHVlLCB2b2lkIDBdLCBmaWVsZE5hbWVzKTtcbiAgICBpZiAoX2FyZ1syXSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVyKF9hcmdbMF0sIF9hcmdbMV0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIF9hcmdbMl07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5kZXgocmVxdWVzdGVkSW5kZXgsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBsZXQgY29weU9mU3RydWN0O1xuICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gKChwYXRoICsgXCIuW1wiKSArIGludDMyVG9TdHJpbmcocmVxdWVzdGVkSW5kZXgpKSArIFwiXVwiO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlXzEpKSB7XG4gICAgICAgIGNvbnN0IHZBcnJheSA9IHZhbHVlXzE7XG4gICAgICAgIGlmIChyZXF1ZXN0ZWRJbmRleCA8IHZBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWNvZGVyKGN1cnJlbnRQYXRoLCB2QXJyYXlbcmVxdWVzdGVkSW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW2N1cnJlbnRQYXRoLCBuZXcgRXJyb3JSZWFzb24oNSwgKCgoXCJhIGxvbmdlciBhcnJheS4gTmVlZCBpbmRleCBgXCIgKyBpbnQzMlRvU3RyaW5nKHJlcXVlc3RlZEluZGV4KSkgKyBcImAgYnV0IHRoZXJlIGFyZSBvbmx5IGBcIikgKyAoKGNvcHlPZlN0cnVjdCA9IHZBcnJheS5sZW5ndGgsIGludDMyVG9TdHJpbmcoY29weU9mU3RydWN0KSkpKSArIFwiYCBlbnRyaWVzXCIsIHZhbHVlXzEpXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW2N1cnJlbnRQYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhbiBhcnJheVwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbihkZWNvZGVyLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIHZvaWQgMCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gUmVzdWx0X01hcChzb21lLCBkZWNvZGVyKHBhdGgsIHZhbHVlXzEpKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0KGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZV8xKSkge1xuICAgICAgICBsZXQgaSA9IC0xO1xuICAgICAgICByZXR1cm4gUmVzdWx0X01hcChyZXZlcnNlLCBmb2xkXzEoKGFjYywgdmFsdWVfMikgPT4ge1xuICAgICAgICAgICAgaSA9ICgoaSArIDEpIHwgMCk7XG4gICAgICAgICAgICBpZiAoYWNjLnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKCgocGF0aCArIFwiLltcIikgKyBpbnQzMlRvU3RyaW5nKGkpKSArIFwiXVwiLCB2YWx1ZV8yKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBjb25zKG1hdGNoVmFsdWUuZmllbGRzWzBdLCBhY2MuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgZW1wdHkoKSksIHZhbHVlXzEpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImEgbGlzdFwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcShkZWNvZGVyLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVfMSkpIHtcbiAgICAgICAgbGV0IGkgPSAtMTtcbiAgICAgICAgcmV0dXJuIFJlc3VsdF9NYXAocmV2ZXJzZV8xLCBmb2xkXzEoKGFjYywgdmFsdWVfMikgPT4ge1xuICAgICAgICAgICAgaSA9ICgoaSArIDEpIHwgMCk7XG4gICAgICAgICAgICBpZiAoYWNjLnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKCgocGF0aCArIFwiLltcIikgKyBpbnQzMlRvU3RyaW5nKGkpKSArIFwiXVwiLCB2YWx1ZV8yKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBhcHBlbmQoW21hdGNoVmFsdWUuZmllbGRzWzBdXSwgYWNjLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgbmV3IEZTaGFycFJlc3VsdCQyKDAsIFtdKSwgdmFsdWVfMSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYSBzZXFcIiwgdmFsdWVfMSldKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcnJheShkZWNvZGVyLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVfMSkpIHtcbiAgICAgICAgbGV0IGkgPSAtMTtcbiAgICAgICAgY29uc3QgdG9rZW5zID0gdmFsdWVfMTtcbiAgICAgICAgcmV0dXJuIGZvbGRfMSgoYWNjLCB2YWx1ZV8yKSA9PiB7XG4gICAgICAgICAgICBpID0gKChpICsgMSkgfCAwKTtcbiAgICAgICAgICAgIGlmIChhY2MudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWNjXzEgPSBhY2MuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKCgocGF0aCArIFwiLltcIikgKyBpbnQzMlRvU3RyaW5nKGkpKSArIFwiXVwiLCB2YWx1ZV8yKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgYWNjXzFbaV0gPSBtYXRjaFZhbHVlLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBhY2NfMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgZmlsbChuZXcgQXJyYXkodG9rZW5zLmxlbmd0aCksIDAsIHRva2Vucy5sZW5ndGgsIG51bGwpKSwgdG9rZW5zKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImFuIGFycmF5XCIsIHZhbHVlXzEpXSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24ga2V5cyhwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT09IG51bGwgPyBmYWxzZSA6IChPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWVfMSB8fCBmYWxzZSkgPT09IE9iamVjdC5wcm90b3R5cGUpKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgb2ZTZXEoT2JqZWN0LmtleXModmFsdWVfMSkpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGgsIG5ldyBFcnJvclJlYXNvbigwLCBcImFuIG9iamVjdFwiLCB2YWx1ZV8xKV0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGtleVZhbHVlUGFpcnMoZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBrZXlzKHBhdGgsIHZhbHVlXzEpO1xuICAgIGlmIChtYXRjaFZhbHVlLnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBSZXN1bHRfTWFwKHJldmVyc2UsIGZvbGQoKGFjYywgcHJvcCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjYy50YWcgPT09IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzEgPSBkZWNvZGVyKHBhdGgsIHZhbHVlXzFbcHJvcF0pO1xuICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzEudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY29ucyhbcHJvcCwgbWF0Y2hWYWx1ZV8xLmZpZWxkc1swXV0sIGFjYy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgbWF0Y2hWYWx1ZV8xLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgbmV3IEZTaGFycFJlc3VsdCQyKDAsIGVtcHR5KCkpLCBtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uZU9mKGRlY29kZXJzLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgY29uc3QgcnVubmVyID0gKGRlY29kZXJzXzFfbXV0LCBlcnJvcnNfbXV0KSA9PiB7XG4gICAgICAgIHJ1bm5lcjpcbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZXJzXzEgPSBkZWNvZGVyc18xX211dCwgZXJyb3JzID0gZXJyb3JzX211dDtcbiAgICAgICAgICAgIGlmIChpc0VtcHR5KGRlY29kZXJzXzEpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDcsIGVycm9ycyldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBmcm9tVmFsdWUocGF0aCwgdW5jdXJyeSgyLCBoZWFkXzEoZGVjb2RlcnNfMSkpLCB2YWx1ZV8xKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVjb2RlcnNfMV9tdXQgPSB0YWlsXzEoZGVjb2RlcnNfMSk7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yc19tdXQgPSBhcHBlbmRfMShlcnJvcnMsIHNpbmdsZXRvbihtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZSBydW5uZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHJ1bm5lcihkZWNvZGVycywgZW1wdHkoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuaWwob3V0cHV0LCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgaWYgKHZhbHVlXzEgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIG91dHB1dCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJudWxsXCIsIHZhbHVlXzEpXSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsdWUoX2FyZywgdikge1xuICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWNjZWVkKG91dHB1dCwgX2FyZ18xLCBfYXJnKSB7XG4gICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBvdXRwdXQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFpbChtc2csIHBhdGgsIF9hcmcpIHtcbiAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oNiwgbXNnKV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYW5kVGhlbihjYiwgZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKHBhdGgsIHZhbHVlXzEpO1xuICAgIGlmIChtYXRjaFZhbHVlLnRhZyA9PT0gMCkge1xuICAgICAgICByZXR1cm4gY2IobWF0Y2hWYWx1ZS5maWVsZHNbMF0sIHBhdGgsIHZhbHVlXzEpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlLmZpZWxkc1swXSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxsKGRlY29kZXJzLCBwYXRoLCB2YWx1ZV8xKSB7XG4gICAgY29uc3QgcnVubmVyID0gKGRlY29kZXJzXzFfbXV0LCB2YWx1ZXNfbXV0KSA9PiB7XG4gICAgICAgIHJ1bm5lcjpcbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZXJzXzEgPSBkZWNvZGVyc18xX211dCwgdmFsdWVzID0gdmFsdWVzX211dDtcbiAgICAgICAgICAgIGlmIChpc0VtcHR5KGRlY29kZXJzXzEpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCB2YWx1ZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGhlYWRfMShkZWNvZGVyc18xKShwYXRoKSh2YWx1ZV8xKTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlLmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkZWNvZGVyc18xX211dCA9IHRhaWxfMShkZWNvZGVyc18xKTtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzX211dCA9IGFwcGVuZF8xKHZhbHVlcywgc2luZ2xldG9uKG1hdGNoVmFsdWUuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIHJ1bm5lcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHJ1bm5lcihkZWNvZGVycywgZW1wdHkoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXAoY3RvciwgZDEsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gZDEocGF0aCwgdmFsdWVfMSk7XG4gICAgaWYgKG1hdGNoVmFsdWUudGFnID09PSAxKSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgbWF0Y2hWYWx1ZS5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBjdG9yKG1hdGNoVmFsdWUuZmllbGRzWzBdKSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwMihjdG9yLCBkMSwgZDIsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKV07XG4gICAgY29uc3QgY29weU9mU3RydWN0ID0gbWF0Y2hWYWx1ZVswXTtcbiAgICBpZiAoY29weU9mU3RydWN0LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzEgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICBpZiAoY29weU9mU3RydWN0XzEudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF8xLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIGN0b3IoY29weU9mU3RydWN0LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzEuZmllbGRzWzBdKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXAzKGN0b3IsIGQxLCBkMiwgZDMsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKSwgZDMocGF0aCwgdmFsdWVfMSldO1xuICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzJdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY3Rvcihjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwNChjdG9yLCBkMSwgZDIsIGQzLCBkNCwgcGF0aCwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBbZDEocGF0aCwgdmFsdWVfMSksIGQyKHBhdGgsIHZhbHVlXzEpLCBkMyhwYXRoLCB2YWx1ZV8xKSwgZDQocGF0aCwgdmFsdWVfMSldO1xuICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzJdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8zID0gbWF0Y2hWYWx1ZVszXTtcbiAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY3Rvcihjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwNShjdG9yLCBkMSwgZDIsIGQzLCBkNCwgZDUsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKSwgZDMocGF0aCwgdmFsdWVfMSksIGQ0KHBhdGgsIHZhbHVlXzEpLCBkNShwYXRoLCB2YWx1ZV8xKV07XG4gICAgY29uc3QgY29weU9mU3RydWN0ID0gbWF0Y2hWYWx1ZVswXTtcbiAgICBpZiAoY29weU9mU3RydWN0LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzEgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICBpZiAoY29weU9mU3RydWN0XzEudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF8xLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfMiA9IG1hdGNoVmFsdWVbMl07XG4gICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzIudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzMgPSBtYXRjaFZhbHVlWzNdO1xuICAgICAgICAgICAgICAgIGlmIChjb3B5T2ZTdHJ1Y3RfMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMy5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzQgPSBtYXRjaFZhbHVlWzRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzQudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF80LmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIGN0b3IoY29weU9mU3RydWN0LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzEuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8zLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzQuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXA2KGN0b3IsIGQxLCBkMiwgZDMsIGQ0LCBkNSwgZDYsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKSwgZDMocGF0aCwgdmFsdWVfMSksIGQ0KHBhdGgsIHZhbHVlXzEpLCBkNShwYXRoLCB2YWx1ZV8xKSwgZDYocGF0aCwgdmFsdWVfMSldO1xuICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzJdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8zID0gbWF0Y2hWYWx1ZVszXTtcbiAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF80ID0gbWF0Y2hWYWx1ZVs0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF80LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfNC5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzUgPSBtYXRjaFZhbHVlWzVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF81LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY3Rvcihjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfNC5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF81LmZpZWxkc1swXSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwNyhjdG9yLCBkMSwgZDIsIGQzLCBkNCwgZDUsIGQ2LCBkNywgcGF0aCwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBbZDEocGF0aCwgdmFsdWVfMSksIGQyKHBhdGgsIHZhbHVlXzEpLCBkMyhwYXRoLCB2YWx1ZV8xKSwgZDQocGF0aCwgdmFsdWVfMSksIGQ1KHBhdGgsIHZhbHVlXzEpLCBkNihwYXRoLCB2YWx1ZV8xKSwgZDcocGF0aCwgdmFsdWVfMSldO1xuICAgIGNvbnN0IGNvcHlPZlN0cnVjdCA9IG1hdGNoVmFsdWVbMF07XG4gICAgaWYgKGNvcHlPZlN0cnVjdC50YWcgPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8xID0gbWF0Y2hWYWx1ZVsxXTtcbiAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzIgPSBtYXRjaFZhbHVlWzJdO1xuICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF8zID0gbWF0Y2hWYWx1ZVszXTtcbiAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF80ID0gbWF0Y2hWYWx1ZVs0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF80LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfNC5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzUgPSBtYXRjaFZhbHVlWzVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvcHlPZlN0cnVjdF81LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvcHlPZlN0cnVjdF82ID0gbWF0Y2hWYWx1ZVs2XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzYudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgY29weU9mU3RydWN0XzYuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgY3Rvcihjb3B5T2ZTdHJ1Y3QuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8yLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzMuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfNC5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF81LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzYuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwOChjdG9yLCBkMSwgZDIsIGQzLCBkNCwgZDUsIGQ2LCBkNywgZDgsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gW2QxKHBhdGgsIHZhbHVlXzEpLCBkMihwYXRoLCB2YWx1ZV8xKSwgZDMocGF0aCwgdmFsdWVfMSksIGQ0KHBhdGgsIHZhbHVlXzEpLCBkNShwYXRoLCB2YWx1ZV8xKSwgZDYocGF0aCwgdmFsdWVfMSksIGQ3KHBhdGgsIHZhbHVlXzEpLCBkOChwYXRoLCB2YWx1ZV8xKV07XG4gICAgY29uc3QgY29weU9mU3RydWN0ID0gbWF0Y2hWYWx1ZVswXTtcbiAgICBpZiAoY29weU9mU3RydWN0LnRhZyA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdC5maWVsZHNbMF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzEgPSBtYXRjaFZhbHVlWzFdO1xuICAgICAgICBpZiAoY29weU9mU3RydWN0XzEudGFnID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF8xLmZpZWxkc1swXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfMiA9IG1hdGNoVmFsdWVbMl07XG4gICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzIudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzMgPSBtYXRjaFZhbHVlWzNdO1xuICAgICAgICAgICAgICAgIGlmIChjb3B5T2ZTdHJ1Y3RfMy50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfMy5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzQgPSBtYXRjaFZhbHVlWzRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzQudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF80LmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb3B5T2ZTdHJ1Y3RfNSA9IG1hdGNoVmFsdWVbNV07XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzUudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfNS5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzYgPSBtYXRjaFZhbHVlWzZdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3B5T2ZTdHJ1Y3RfNi50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBjb3B5T2ZTdHJ1Y3RfNi5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29weU9mU3RydWN0XzcgPSBtYXRjaFZhbHVlWzddO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29weU9mU3RydWN0XzcudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGNvcHlPZlN0cnVjdF83LmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIGN0b3IoY29weU9mU3RydWN0LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzEuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfMi5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF8zLmZpZWxkc1swXSwgY29weU9mU3RydWN0XzQuZmllbGRzWzBdLCBjb3B5T2ZTdHJ1Y3RfNS5maWVsZHNbMF0sIGNvcHlPZlN0cnVjdF82LmZpZWxkc1swXSwgY29weU9mU3RydWN0XzcuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbmRNYXAoKSB7XG4gICAgcmV0dXJuIChkKSA9PiAoKGRfMSkgPT4gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IG1hcDIoKGFyZywgZnVuYykgPT4gZnVuYyhhcmcpLCB1bmN1cnJ5KDIsIGQpLCB1bmN1cnJ5KDIsIGRfMSksIHBhdGgsIHZhbHVlXzEpKSkpO1xufVxuXG5mdW5jdGlvbiB1bndyYXBXaXRoKGVycm9ycywgcGF0aCwgZGVjb2RlciwgdmFsdWVfMSkge1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBkZWNvZGVyKHBhdGgsIHZhbHVlXzEpO1xuICAgIGlmIChtYXRjaFZhbHVlLnRhZyA9PT0gMSkge1xuICAgICAgICB2b2lkIChlcnJvcnMucHVzaChtYXRjaFZhbHVlLmZpZWxkc1swXSkpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBtYXRjaFZhbHVlLmZpZWxkc1swXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXR0ZXJzJDEge1xuICAgIGNvbnN0cnVjdG9yKHBhdGgsIHYpIHtcbiAgICAgICAgbGV0IF90aGlzLCBfdGhpc18xO1xuICAgICAgICB0aGlzLmVycm9ycyA9IFtdO1xuICAgICAgICB0aGlzLnJlcXVpcmVkID0gKChfdGhpcyA9IHRoaXMsIHtcbiAgICAgICAgICAgIEZpZWxkKGZpZWxkTmFtZSwgZGVjb2Rlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiB1bndyYXBXaXRoKF90aGlzLmVycm9ycywgcGF0aCwgKHBhdGhfMSwgdmFsdWVfMSkgPT4gZmllbGQoZmllbGROYW1lLCBkZWNvZGVyLCBwYXRoXzEsIHZhbHVlXzEpLCB2KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBBdChmaWVsZE5hbWVzLCBkZWNvZGVyXzIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW53cmFwV2l0aChfdGhpcy5lcnJvcnMsIHBhdGgsIChmaXJzdFBhdGgsIGZpcnN0VmFsdWUpID0+IGF0KGZpZWxkTmFtZXMsIGRlY29kZXJfMiwgZmlyc3RQYXRoLCBmaXJzdFZhbHVlKSwgdik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgUmF3KGRlY29kZXJfNCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB1bndyYXBXaXRoKF90aGlzLmVycm9ycywgcGF0aCwgZGVjb2Rlcl80LCB2KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5vcHRpb25hbCA9ICgoX3RoaXNfMSA9IHRoaXMsIHtcbiAgICAgICAgICAgIEZpZWxkKGZpZWxkTmFtZV8xLCBkZWNvZGVyXzUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW53cmFwV2l0aChfdGhpc18xLmVycm9ycywgcGF0aCwgKHBhdGhfMiwgdmFsdWVfMikgPT4gb3B0aW9uYWwoZmllbGROYW1lXzEsIGRlY29kZXJfNSwgcGF0aF8yLCB2YWx1ZV8yKSwgdik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgQXQoZmllbGROYW1lc18xLCBkZWNvZGVyXzcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW53cmFwV2l0aChfdGhpc18xLmVycm9ycywgcGF0aCwgKGZpcnN0UGF0aF8xLCBmaXJzdFZhbHVlXzEpID0+IG9wdGlvbmFsQXQoZmllbGROYW1lc18xLCBkZWNvZGVyXzcsIGZpcnN0UGF0aF8xLCBmaXJzdFZhbHVlXzEpLCB2KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBSYXcoZGVjb2Rlcl85KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGRlY29kZXJfOShwYXRoLCB2KTtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVhc29uID0gbWF0Y2hWYWx1ZS5maWVsZHNbMF1bMV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbWF0Y2hWYWx1ZS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgIGxldCBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCwgdl8yO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHJlYXNvbi50YWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm5fbWF0Y2hpbmdfcmVzdWx0ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2XzIgPSByZWFzb24uZmllbGRzWzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfMiA9IHJlYXNvbi5maWVsZHNbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCA9IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybl9tYXRjaGluZ19yZXN1bHQgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfMiA9IHJlYXNvbi5maWVsZHNbMV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChwYXR0ZXJuX21hdGNoaW5nX3Jlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZfMiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkIChfdGhpc18xLmVycm9ycy5wdXNoKGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkIChfdGhpc18xLmVycm9ycy5wdXNoKGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzb21lKG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGdldCBSZXF1aXJlZCgpIHtcbiAgICAgICAgY29uc3QgX18gPSB0aGlzO1xuICAgICAgICByZXR1cm4gX18ucmVxdWlyZWQ7XG4gICAgfVxuICAgIGdldCBPcHRpb25hbCgpIHtcbiAgICAgICAgY29uc3QgX18gPSB0aGlzO1xuICAgICAgICByZXR1cm4gX18ub3B0aW9uYWw7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gR2V0dGVycyQxJHJlZmxlY3Rpb24oZ2VuMCkge1xuICAgIHJldHVybiBjbGFzc190eXBlKFwiVGhvdGguSnNvbi5EZWNvZGUuR2V0dGVyc2AxXCIsIFtnZW4wXSwgR2V0dGVycyQxKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdldHRlcnMkMV8kY3Rvcl80QTUxQjYwRShwYXRoLCB2KSB7XG4gICAgcmV0dXJuIG5ldyBHZXR0ZXJzJDEocGF0aCwgdik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBHZXR0ZXJzJDFfX2dldF9FcnJvcnMoX18pIHtcbiAgICByZXR1cm4gdG9MaXN0KF9fLmVycm9ycyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3QoYnVpbGRlciwgcGF0aCwgdikge1xuICAgIGNvbnN0IGdldHRlcnMgPSBHZXR0ZXJzJDFfJGN0b3JfNEE1MUI2MEUocGF0aCwgdik7XG4gICAgY29uc3QgcmVzdWx0ID0gYnVpbGRlcihnZXR0ZXJzKTtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gR2V0dGVycyQxX19nZXRfRXJyb3JzKGdldHRlcnMpO1xuICAgIGlmICghaXNFbXB0eShtYXRjaFZhbHVlKSkge1xuICAgICAgICBjb25zdCBlcnJvcnMgPSBtYXRjaFZhbHVlO1xuICAgICAgICBpZiAobGVuZ3RoKGVycm9ycykgPiAxKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oNywgbWFwXzEoKHR1cGxlZEFyZykgPT4gZXJyb3JUb1N0cmluZyh0dXBsZWRBcmdbMF0sIHR1cGxlZEFyZ1sxXSksIGVycm9ycykpXSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIGhlYWRfMShtYXRjaFZhbHVlKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcmVzdWx0KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTIoZGVjb2RlcjEsIGRlY29kZXIyKSB7XG4gICAgbGV0IGRlY29kZXJfMztcbiAgICBjb25zdCBkZWNvZGVyID0gZGVjb2RlcjE7XG4gICAgZGVjb2Rlcl8zID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MSkgPT4ge1xuICAgICAgICBsZXQgZGVjb2Rlcl8yO1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl8yID0gKChwYXRoXzEpID0+ICgodmFsdWVfMikgPT4gaW5kZXgoMSwgZGVjb2Rlcl8xLCBwYXRoXzEsIHZhbHVlXzIpKSk7XG4gICAgICAgIHJldHVybiAocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IGFuZFRoZW4oKHYyLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSA9PiBzdWNjZWVkKFt2MSwgdjJdLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSwgdW5jdXJyeSgyLCBkZWNvZGVyXzIpLCBwYXRoXzIsIHZhbHVlXzMpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzMpLCBwYXRoXzMsIHZhbHVlXzQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1cGxlMyhkZWNvZGVyMSwgZGVjb2RlcjIsIGRlY29kZXIzKSB7XG4gICAgbGV0IGRlY29kZXJfNTtcbiAgICBjb25zdCBkZWNvZGVyID0gZGVjb2RlcjE7XG4gICAgZGVjb2Rlcl81ID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzUpID0+ICgodmFsdWVfNikgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MSkgPT4ge1xuICAgICAgICBsZXQgZGVjb2Rlcl80O1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl80ID0gKChwYXRoXzEpID0+ICgodmFsdWVfMikgPT4gaW5kZXgoMSwgZGVjb2Rlcl8xLCBwYXRoXzEsIHZhbHVlXzIpKSk7XG4gICAgICAgIHJldHVybiAocGF0aF80KSA9PiAoKHZhbHVlXzUpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzM7XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVyXzIgPSBkZWNvZGVyMztcbiAgICAgICAgICAgIGRlY29kZXJfMyA9ICgocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IGluZGV4KDIsIGRlY29kZXJfMiwgcGF0aF8yLCB2YWx1ZV8zKSkpO1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gYW5kVGhlbigodjMsIGFyZzEwJDAwNDAsIGFyZzIwJDAwNDApID0+IHN1Y2NlZWQoW3YxLCB2MiwgdjNdLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSwgdW5jdXJyeSgyLCBkZWNvZGVyXzMpLCBwYXRoXzMsIHZhbHVlXzQpKTtcbiAgICAgICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl80KSwgcGF0aF80LCB2YWx1ZV81KSk7XG4gICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl81KSwgcGF0aF81LCB2YWx1ZV82KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTQoZGVjb2RlcjEsIGRlY29kZXIyLCBkZWNvZGVyMywgZGVjb2RlcjQpIHtcbiAgICBsZXQgZGVjb2Rlcl83O1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzcgPSAoKHBhdGgpID0+ICgodmFsdWVfMSkgPT4gaW5kZXgoMCwgZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkpKTtcbiAgICByZXR1cm4gKHBhdGhfNykgPT4gKCh2YWx1ZV84KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYxKSA9PiB7XG4gICAgICAgIGxldCBkZWNvZGVyXzY7XG4gICAgICAgIGNvbnN0IGRlY29kZXJfMSA9IGRlY29kZXIyO1xuICAgICAgICBkZWNvZGVyXzYgPSAoKHBhdGhfMSkgPT4gKCh2YWx1ZV8yKSA9PiBpbmRleCgxLCBkZWNvZGVyXzEsIHBhdGhfMSwgdmFsdWVfMikpKTtcbiAgICAgICAgcmV0dXJuIChwYXRoXzYpID0+ICgodmFsdWVfNykgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MikgPT4ge1xuICAgICAgICAgICAgbGV0IGRlY29kZXJfNTtcbiAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfMiA9IGRlY29kZXIzO1xuICAgICAgICAgICAgZGVjb2Rlcl81ID0gKChwYXRoXzIpID0+ICgodmFsdWVfMykgPT4gaW5kZXgoMiwgZGVjb2Rlcl8yLCBwYXRoXzIsIHZhbHVlXzMpKSk7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfNSkgPT4gKCh2YWx1ZV82KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYzKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGRlY29kZXJfNDtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzMgPSBkZWNvZGVyNDtcbiAgICAgICAgICAgICAgICBkZWNvZGVyXzQgPSAoKHBhdGhfMykgPT4gKCh2YWx1ZV80KSA9PiBpbmRleCgzLCBkZWNvZGVyXzMsIHBhdGhfMywgdmFsdWVfNCkpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHBhdGhfNCkgPT4gKCh2YWx1ZV81KSA9PiBhbmRUaGVuKCh2NCwgYXJnMTAkMDA0MCwgYXJnMjAkMDA0MCkgPT4gc3VjY2VlZChbdjEsIHYyLCB2MywgdjRdLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSwgdW5jdXJyeSgyLCBkZWNvZGVyXzQpLCBwYXRoXzQsIHZhbHVlXzUpKTtcbiAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfNSksIHBhdGhfNSwgdmFsdWVfNikpO1xuICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzYpLCBwYXRoXzYsIHZhbHVlXzcpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzcpLCBwYXRoXzcsIHZhbHVlXzgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1cGxlNShkZWNvZGVyMSwgZGVjb2RlcjIsIGRlY29kZXIzLCBkZWNvZGVyNCwgZGVjb2RlcjUpIHtcbiAgICBsZXQgZGVjb2Rlcl85O1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzkgPSAoKHBhdGgpID0+ICgodmFsdWVfMSkgPT4gaW5kZXgoMCwgZGVjb2RlciwgcGF0aCwgdmFsdWVfMSkpKTtcbiAgICByZXR1cm4gKHBhdGhfOSkgPT4gKCh2YWx1ZV8xMCkgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MSkgPT4ge1xuICAgICAgICBsZXQgZGVjb2Rlcl84O1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl84ID0gKChwYXRoXzEpID0+ICgodmFsdWVfMikgPT4gaW5kZXgoMSwgZGVjb2Rlcl8xLCBwYXRoXzEsIHZhbHVlXzIpKSk7XG4gICAgICAgIHJldHVybiAocGF0aF84KSA9PiAoKHZhbHVlXzkpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzc7XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVyXzIgPSBkZWNvZGVyMztcbiAgICAgICAgICAgIGRlY29kZXJfNyA9ICgocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IGluZGV4KDIsIGRlY29kZXJfMiwgcGF0aF8yLCB2YWx1ZV8zKSkpO1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzcpID0+ICgodmFsdWVfOCkgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2MykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzY7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl8zID0gZGVjb2RlcjQ7XG4gICAgICAgICAgICAgICAgZGVjb2Rlcl82ID0gKChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gaW5kZXgoMywgZGVjb2Rlcl8zLCBwYXRoXzMsIHZhbHVlXzQpKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzYpID0+ICgodmFsdWVfNykgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2NCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl81O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzQgPSBkZWNvZGVyNTtcbiAgICAgICAgICAgICAgICAgICAgZGVjb2Rlcl81ID0gKChwYXRoXzQpID0+ICgodmFsdWVfNSkgPT4gaW5kZXgoNCwgZGVjb2Rlcl80LCBwYXRoXzQsIHZhbHVlXzUpKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF81KSA9PiAoKHZhbHVlXzYpID0+IGFuZFRoZW4oKHY1LCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSA9PiBzdWNjZWVkKFt2MSwgdjIsIHYzLCB2NCwgdjVdLCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSwgdW5jdXJyeSgyLCBkZWNvZGVyXzUpLCBwYXRoXzUsIHZhbHVlXzYpKTtcbiAgICAgICAgICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzYpLCBwYXRoXzYsIHZhbHVlXzcpKTtcbiAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfNyksIHBhdGhfNywgdmFsdWVfOCkpO1xuICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzgpLCBwYXRoXzgsIHZhbHVlXzkpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzkpLCBwYXRoXzksIHZhbHVlXzEwKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTYoZGVjb2RlcjEsIGRlY29kZXIyLCBkZWNvZGVyMywgZGVjb2RlcjQsIGRlY29kZXI1LCBkZWNvZGVyNikge1xuICAgIGxldCBkZWNvZGVyXzExO1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzExID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzExKSA9PiAoKHZhbHVlXzEyKSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYxKSA9PiB7XG4gICAgICAgIGxldCBkZWNvZGVyXzEwO1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl8xMCA9ICgocGF0aF8xKSA9PiAoKHZhbHVlXzIpID0+IGluZGV4KDEsIGRlY29kZXJfMSwgcGF0aF8xLCB2YWx1ZV8yKSkpO1xuICAgICAgICByZXR1cm4gKHBhdGhfMTApID0+ICgodmFsdWVfMTEpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzk7XG4gICAgICAgICAgICBjb25zdCBkZWNvZGVyXzIgPSBkZWNvZGVyMztcbiAgICAgICAgICAgIGRlY29kZXJfOSA9ICgocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IGluZGV4KDIsIGRlY29kZXJfMiwgcGF0aF8yLCB2YWx1ZV8zKSkpO1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzkpID0+ICgodmFsdWVfMTApID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjMpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl84O1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfMyA9IGRlY29kZXI0O1xuICAgICAgICAgICAgICAgIGRlY29kZXJfOCA9ICgocGF0aF8zKSA9PiAoKHZhbHVlXzQpID0+IGluZGV4KDMsIGRlY29kZXJfMywgcGF0aF8zLCB2YWx1ZV80KSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF84KSA9PiAoKHZhbHVlXzkpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRlY29kZXJfNztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl80ID0gZGVjb2RlcjU7XG4gICAgICAgICAgICAgICAgICAgIGRlY29kZXJfNyA9ICgocGF0aF80KSA9PiAoKHZhbHVlXzUpID0+IGluZGV4KDQsIGRlY29kZXJfNCwgcGF0aF80LCB2YWx1ZV81KSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHBhdGhfNykgPT4gKCh2YWx1ZV84KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHY1KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl82O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl81ID0gZGVjb2RlcjY7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVyXzYgPSAoKHBhdGhfNSkgPT4gKCh2YWx1ZV82KSA9PiBpbmRleCg1LCBkZWNvZGVyXzUsIHBhdGhfNSwgdmFsdWVfNikpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF82KSA9PiAoKHZhbHVlXzcpID0+IGFuZFRoZW4oKHY2LCBhcmcxMCQwMDQwLCBhcmcyMCQwMDQwKSA9PiBzdWNjZWVkKFt2MSwgdjIsIHYzLCB2NCwgdjUsIHY2XSwgYXJnMTAkMDA0MCwgYXJnMjAkMDA0MCksIHVuY3VycnkoMiwgZGVjb2Rlcl82KSwgcGF0aF82LCB2YWx1ZV83KSk7XG4gICAgICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfNyksIHBhdGhfNywgdmFsdWVfOCkpO1xuICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfOCksIHBhdGhfOCwgdmFsdWVfOSkpO1xuICAgICAgICAgICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl85KSwgcGF0aF85LCB2YWx1ZV8xMCkpO1xuICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzEwKSwgcGF0aF8xMCwgdmFsdWVfMTEpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzExKSwgcGF0aF8xMSwgdmFsdWVfMTIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1cGxlNyhkZWNvZGVyMSwgZGVjb2RlcjIsIGRlY29kZXIzLCBkZWNvZGVyNCwgZGVjb2RlcjUsIGRlY29kZXI2LCBkZWNvZGVyNykge1xuICAgIGxldCBkZWNvZGVyXzEzO1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzEzID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzEzKSA9PiAoKHZhbHVlXzE0KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYxKSA9PiB7XG4gICAgICAgIGxldCBkZWNvZGVyXzEyO1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl8xMiA9ICgocGF0aF8xKSA9PiAoKHZhbHVlXzIpID0+IGluZGV4KDEsIGRlY29kZXJfMSwgcGF0aF8xLCB2YWx1ZV8yKSkpO1xuICAgICAgICByZXR1cm4gKHBhdGhfMTIpID0+ICgodmFsdWVfMTMpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzExO1xuICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl8yID0gZGVjb2RlcjM7XG4gICAgICAgICAgICBkZWNvZGVyXzExID0gKChwYXRoXzIpID0+ICgodmFsdWVfMykgPT4gaW5kZXgoMiwgZGVjb2Rlcl8yLCBwYXRoXzIsIHZhbHVlXzMpKSk7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMTEpID0+ICgodmFsdWVfMTIpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjMpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl8xMDtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzMgPSBkZWNvZGVyNDtcbiAgICAgICAgICAgICAgICBkZWNvZGVyXzEwID0gKChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gaW5kZXgoMywgZGVjb2Rlcl8zLCBwYXRoXzMsIHZhbHVlXzQpKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzEwKSA9PiAoKHZhbHVlXzExKSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHY0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfNCA9IGRlY29kZXI1O1xuICAgICAgICAgICAgICAgICAgICBkZWNvZGVyXzkgPSAoKHBhdGhfNCkgPT4gKCh2YWx1ZV81KSA9PiBpbmRleCg0LCBkZWNvZGVyXzQsIHBhdGhfNCwgdmFsdWVfNSkpKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzkpID0+ICgodmFsdWVfMTApID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzUgPSBkZWNvZGVyNjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZXJfOCA9ICgocGF0aF81KSA9PiAoKHZhbHVlXzYpID0+IGluZGV4KDUsIGRlY29kZXJfNSwgcGF0aF81LCB2YWx1ZV82KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzgpID0+ICgodmFsdWVfOSkgPT4gYW5kVGhlbih1bmN1cnJ5KDMsICh2NikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl82ID0gZGVjb2Rlcjc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2Rlcl83ID0gKChwYXRoXzYpID0+ICgodmFsdWVfNykgPT4gaW5kZXgoNiwgZGVjb2Rlcl82LCBwYXRoXzYsIHZhbHVlXzcpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzcpID0+ICgodmFsdWVfOCkgPT4gYW5kVGhlbigodjcsIGFyZzEwJDAwNDAsIGFyZzIwJDAwNDApID0+IHN1Y2NlZWQoW3YxLCB2MiwgdjMsIHY0LCB2NSwgdjYsIHY3XSwgYXJnMTAkMDA0MCwgYXJnMjAkMDA0MCksIHVuY3VycnkoMiwgZGVjb2Rlcl83KSwgcGF0aF83LCB2YWx1ZV84KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzgpLCBwYXRoXzgsIHZhbHVlXzkpKTtcbiAgICAgICAgICAgICAgICAgICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl85KSwgcGF0aF85LCB2YWx1ZV8xMCkpO1xuICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTApLCBwYXRoXzEwLCB2YWx1ZV8xMSkpO1xuICAgICAgICAgICAgfSksIHVuY3VycnkoMiwgZGVjb2Rlcl8xMSksIHBhdGhfMTEsIHZhbHVlXzEyKSk7XG4gICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTIpLCBwYXRoXzEyLCB2YWx1ZV8xMykpO1xuICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTMpLCBwYXRoXzEzLCB2YWx1ZV8xNCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGU4KGRlY29kZXIxLCBkZWNvZGVyMiwgZGVjb2RlcjMsIGRlY29kZXI0LCBkZWNvZGVyNSwgZGVjb2RlcjYsIGRlY29kZXI3LCBkZWNvZGVyOCkge1xuICAgIGxldCBkZWNvZGVyXzE1O1xuICAgIGNvbnN0IGRlY29kZXIgPSBkZWNvZGVyMTtcbiAgICBkZWNvZGVyXzE1ID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGluZGV4KDAsIGRlY29kZXIsIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzE1KSA9PiAoKHZhbHVlXzE2KSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHYxKSA9PiB7XG4gICAgICAgIGxldCBkZWNvZGVyXzE0O1xuICAgICAgICBjb25zdCBkZWNvZGVyXzEgPSBkZWNvZGVyMjtcbiAgICAgICAgZGVjb2Rlcl8xNCA9ICgocGF0aF8xKSA9PiAoKHZhbHVlXzIpID0+IGluZGV4KDEsIGRlY29kZXJfMSwgcGF0aF8xLCB2YWx1ZV8yKSkpO1xuICAgICAgICByZXR1cm4gKHBhdGhfMTQpID0+ICgodmFsdWVfMTUpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjIpID0+IHtcbiAgICAgICAgICAgIGxldCBkZWNvZGVyXzEzO1xuICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl8yID0gZGVjb2RlcjM7XG4gICAgICAgICAgICBkZWNvZGVyXzEzID0gKChwYXRoXzIpID0+ICgodmFsdWVfMykgPT4gaW5kZXgoMiwgZGVjb2Rlcl8yLCBwYXRoXzIsIHZhbHVlXzMpKSk7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMTMpID0+ICgodmFsdWVfMTQpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjMpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl8xMjtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzMgPSBkZWNvZGVyNDtcbiAgICAgICAgICAgICAgICBkZWNvZGVyXzEyID0gKChwYXRoXzMpID0+ICgodmFsdWVfNCkgPT4gaW5kZXgoMywgZGVjb2Rlcl8zLCBwYXRoXzMsIHZhbHVlXzQpKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzEyKSA9PiAoKHZhbHVlXzEzKSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHY0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzExO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzQgPSBkZWNvZGVyNTtcbiAgICAgICAgICAgICAgICAgICAgZGVjb2Rlcl8xMSA9ICgocGF0aF80KSA9PiAoKHZhbHVlXzUpID0+IGluZGV4KDQsIGRlY29kZXJfNCwgcGF0aF80LCB2YWx1ZV81KSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHBhdGhfMTEpID0+ICgodmFsdWVfMTIpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzEwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVjb2Rlcl81ID0gZGVjb2RlcjY7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVyXzEwID0gKChwYXRoXzUpID0+ICgodmFsdWVfNikgPT4gaW5kZXgoNSwgZGVjb2Rlcl81LCBwYXRoXzUsIHZhbHVlXzYpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHBhdGhfMTApID0+ICgodmFsdWVfMTEpID0+IGFuZFRoZW4odW5jdXJyeSgzLCAodjYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGVjb2Rlcl85O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfNiA9IGRlY29kZXI3O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZXJfOSA9ICgocGF0aF82KSA9PiAoKHZhbHVlXzcpID0+IGluZGV4KDYsIGRlY29kZXJfNiwgcGF0aF82LCB2YWx1ZV83KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF85KSA9PiAoKHZhbHVlXzEwKSA9PiBhbmRUaGVuKHVuY3VycnkoMywgKHY3KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkZWNvZGVyXzg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJfNyA9IGRlY29kZXI4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNvZGVyXzggPSAoKHBhdGhfNykgPT4gKCh2YWx1ZV84KSA9PiBpbmRleCg3LCBkZWNvZGVyXzcsIHBhdGhfNywgdmFsdWVfOCkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzgpID0+ICgodmFsdWVfOSkgPT4gYW5kVGhlbigodjgsIGFyZzEwJDAwNDAsIGFyZzIwJDAwNDApID0+IHN1Y2NlZWQoW3YxLCB2MiwgdjMsIHY0LCB2NSwgdjYsIHY3LCB2OF0sIGFyZzEwJDAwNDAsIGFyZzIwJDAwNDApLCB1bmN1cnJ5KDIsIGRlY29kZXJfOCksIHBhdGhfOCwgdmFsdWVfOSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfOSksIHBhdGhfOSwgdmFsdWVfMTApKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTApLCBwYXRoXzEwLCB2YWx1ZV8xMSkpO1xuICAgICAgICAgICAgICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzExKSwgcGF0aF8xMSwgdmFsdWVfMTIpKTtcbiAgICAgICAgICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzEyKSwgcGF0aF8xMiwgdmFsdWVfMTMpKTtcbiAgICAgICAgICAgIH0pLCB1bmN1cnJ5KDIsIGRlY29kZXJfMTMpLCBwYXRoXzEzLCB2YWx1ZV8xNCkpO1xuICAgICAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzE0KSwgcGF0aF8xNCwgdmFsdWVfMTUpKTtcbiAgICB9KSwgdW5jdXJyeSgyLCBkZWNvZGVyXzE1KSwgcGF0aF8xNSwgdmFsdWVfMTYpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpY3QoZGVjb2Rlcikge1xuICAgIGxldCBkO1xuICAgIGNvbnN0IGRlY29kZXJfMSA9IGRlY29kZXI7XG4gICAgZCA9ICgocGF0aCkgPT4gKCh2YWx1ZV8xKSA9PiBrZXlWYWx1ZVBhaXJzKGRlY29kZXJfMSwgcGF0aCwgdmFsdWVfMSkpKTtcbiAgICByZXR1cm4gKHBhdGhfMSkgPT4gKCh2YWx1ZV8yKSA9PiBtYXAob2ZMaXN0LCB1bmN1cnJ5KDIsIGQpLCBwYXRoXzEsIHZhbHVlXzIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcCQwMDI3KGtleURlY29kZXIsIHZhbHVlRGVjb2Rlcikge1xuICAgIGxldCBkO1xuICAgIGNvbnN0IGRlY29kZXIgPSB0dXBsZTIoa2V5RGVjb2RlciwgdmFsdWVEZWNvZGVyKTtcbiAgICBkID0gKChwYXRoKSA9PiAoKHZhbHVlXzEpID0+IGFycmF5KHVuY3VycnkoMiwgZGVjb2RlciksIHBhdGgsIHZhbHVlXzEpKSk7XG4gICAgcmV0dXJuIChwYXRoXzEpID0+ICgodmFsdWVfMikgPT4gbWFwKG9mU2VxXzEsIHVuY3VycnkoMiwgZCksIHBhdGhfMSwgdmFsdWVfMikpO1xufVxuXG5mdW5jdGlvbiB0b01hcCh4cykge1xuICAgIHJldHVybiBvZlNlcV8xKHhzKTtcbn1cblxuZnVuY3Rpb24gdG9TZXQoeHMpIHtcbiAgICByZXR1cm4gb2ZTZXFfMih4cywge1xuICAgICAgICBDb21wYXJlOiBjb21wYXJlLFxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhdXRvT2JqZWN0KGRlY29kZXJJbmZvcywgcGF0aCwgdmFsdWVfMSkge1xuICAgIGlmICghKHZhbHVlXzEgPT09IG51bGwgPyBmYWxzZSA6IChPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWVfMSB8fCBmYWxzZSkgPT09IE9iamVjdC5wcm90b3R5cGUpKSkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhbiBvYmplY3RcIiwgdmFsdWVfMSldKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmb2xkQmFjayh1bmN1cnJ5KDIsICh0dXBsZWRBcmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB0dXBsZWRBcmdbMF07XG4gICAgICAgICAgICByZXR1cm4gKGFjYykgPT4gKChhY2MudGFnID09PSAwKSA/IFJlc3VsdF9NYXAoKHYpID0+IGNvbnModiwgYWNjLmZpZWxkc1swXSksIHR1cGxlZEFyZ1sxXSgocGF0aCArIFwiLlwiKSArIG5hbWUpKHZhbHVlXzFbbmFtZV0pKSA6IGFjYyk7XG4gICAgICAgIH0pLCBkZWNvZGVySW5mb3MsIG5ldyBGU2hhcnBSZXN1bHQkMigwLCBlbXB0eSgpKSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhdXRvT2JqZWN0MihrZXlEZWNvZGVyLCB2YWx1ZURlY29kZXIsIHBhdGgsIHZhbHVlXzEpIHtcbiAgICBpZiAoISh2YWx1ZV8xID09PSBudWxsID8gZmFsc2UgOiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlXzEgfHwgZmFsc2UpID09PSBPYmplY3QucHJvdG90eXBlKSkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDAsIFwiYW4gb2JqZWN0XCIsIHZhbHVlXzEpXSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZm9sZF8yKChhY2MsIG5hbWUpID0+IHtcbiAgICAgICAgICAgIGlmIChhY2MudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGtleURlY29kZXIocGF0aCwgbmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWUudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IF9hcmcgPSB2YWx1ZURlY29kZXIoKHBhdGggKyBcIi5cIikgKyBuYW1lLCB2YWx1ZV8xW25hbWVdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKF9hcmcudGFnID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDAsIGNvbnMoW21hdGNoVmFsdWUuZmllbGRzWzBdLCBfYXJnLmZpZWxkc1swXV0sIGFjYy5maWVsZHNbMF0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgX2FyZy5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWUuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgZW1wdHkoKSksIE9iamVjdC5rZXlzKHZhbHVlXzEpKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1peGVkQXJyYXkob2Zmc2V0LCBkZWNvZGVycywgcGF0aCwgdmFsdWVzKSB7XG4gICAgbGV0IGFyZ18xO1xuICAgIGNvbnN0IGV4cGVjdGVkTGVuZ3RoID0gKGRlY29kZXJzLmxlbmd0aCArIG9mZnNldCkgfCAwO1xuICAgIGlmIChleHBlY3RlZExlbmd0aCAhPT0gdmFsdWVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoLCBuZXcgRXJyb3JSZWFzb24oNiwgKGFyZ18xID0gKHZhbHVlcy5sZW5ndGggfCAwKSwgdG9UZXh0KHByaW50ZihcIkV4cGVjdGVkIGFycmF5IG9mIGxlbmd0aCAlaSBidXQgZ290ICVpXCIpKShleHBlY3RlZExlbmd0aCkoYXJnXzEpKSldKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCByZXN1bHQgPSBuZXcgRlNoYXJwUmVzdWx0JDIoMCwgZW1wdHkoKSk7XG4gICAgICAgIGZvciAobGV0IGkgPSBvZmZzZXQ7IGkgPD0gKHZhbHVlcy5sZW5ndGggLSAxKTsgaSsrKSB7XG4gICAgICAgICAgICBpZiAocmVzdWx0LnRhZyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjYyA9IHJlc3VsdC5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aF8xID0gdG9UZXh0KHByaW50ZihcIiVzWyVpXVwiKSkocGF0aCkoaSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjb2RlciA9IGRlY29kZXJzW2kgLSBvZmZzZXRdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlXzEgPSB2YWx1ZXNbaV07XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gUmVzdWx0X01hcCgodikgPT4gY29ucyh2LCBhY2MpLCBkZWNvZGVyKHBhdGhfMSkodmFsdWVfMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBSZXN1bHRfTWFwKHJldmVyc2UsIHJlc3VsdCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBtYWtlVW5pb24oZXh0cmEsIGNhc2VTdHJhdGVneSwgdCwgbmFtZSwgcGF0aCwgdmFsdWVzKSB7XG4gICAgY29uc3QgdWNpID0gdHJ5RmluZCgoeCkgPT4gKG5hbWVfMyh4KSA9PT0gbmFtZSksIGdldFVuaW9uQ2FzZXModCwgdHJ1ZSkpO1xuICAgIGlmICh1Y2kgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCB1Y2lfMSA9IHVjaTtcbiAgICAgICAgY29uc3QgZGVjb2RlcnMgPSBtYXBfMigoZmkpID0+IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBmaVsxXSksIGdldFVuaW9uQ2FzZUZpZWxkcyh1Y2lfMSkpO1xuICAgICAgICByZXR1cm4gUmVzdWx0X01hcCgodmFsdWVzXzIpID0+IG1ha2VVbmlvbl8xKHVjaV8xLCB0b0FycmF5KHZhbHVlc18yKSwgdHJ1ZSksICgoZGVjb2RlcnMubGVuZ3RoID09PSAwKSAmJiAodmFsdWVzLmxlbmd0aCA8PSAxKSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIGVtcHR5KCkpKSA6IG1peGVkQXJyYXkoMSwgZGVjb2RlcnMsIHBhdGgsIHZhbHVlcykpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aCwgbmV3IEVycm9yUmVhc29uKDYsICgoXCJDYW5ub3QgZmluZCBjYXNlIFwiICsgbmFtZSkgKyBcIiBpbiBcIikgKyBmdWxsTmFtZV8xKHQpKV0pO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gYXV0b0RlY29kZVJlY29yZHNBbmRVbmlvbnMoZXh0cmEsIGNhc2VTdHJhdGVneSwgaXNPcHRpb25hbCwgdCkge1xuICAgIGNvbnN0IGRlY29kZXJSZWYgPSBuZXcgRlNoYXJwUmVmKG51bGwpO1xuICAgIGxldCBleHRyYV8xO1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSBmdWxsTmFtZV8xKHQpO1xuICAgIGV4dHJhXzEgPSAoKG1hdGNoVmFsdWUgPT09IFwiXCIpID8gZXh0cmEgOiBhZGQobWF0Y2hWYWx1ZSwgZGVjb2RlclJlZiwgZXh0cmEpKTtcbiAgICBsZXQgZGVjb2RlcjtcbiAgICBpZiAoaXNSZWNvcmQodCwgdHJ1ZSkpIHtcbiAgICAgICAgY29uc3QgZGVjb2RlcnMgPSBtYXBfMigoZmkpID0+IFtVdGlsX0Nhc2luZ19jb252ZXJ0KGNhc2VTdHJhdGVneSwgbmFtZV8zKGZpKSksIGF1dG9EZWNvZGVyKGV4dHJhXzEsIGNhc2VTdHJhdGVneSwgZmFsc2UsIGZpWzFdKV0sIGdldFJlY29yZEVsZW1lbnRzKHQsIHRydWUpKTtcbiAgICAgICAgZGVjb2RlciA9ICgocGF0aCkgPT4gKCh2YWx1ZV8xKSA9PiBSZXN1bHRfTWFwKCh4cykgPT4gbWFrZVJlY29yZCh0LCB0b0FycmF5KHhzKSwgdHJ1ZSksIGF1dG9PYmplY3QoZGVjb2RlcnMsIHBhdGgsIHZhbHVlXzEpKSkpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc1VuaW9uKHQsIHRydWUpKSB7XG4gICAgICAgIGRlY29kZXIgPSAoKHBhdGhfMSkgPT4gKCh2YWx1ZV8yKSA9PiB7XG4gICAgICAgICAgICBpZiAoKHR5cGVvZiB2YWx1ZV8yKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBtYWtlVW5pb24oZXh0cmFfMSwgY2FzZVN0cmF0ZWd5LCB0LCB2YWx1ZV8yLCBwYXRoXzEsIFtdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVfMikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSB2YWx1ZV8yO1xuICAgICAgICAgICAgICAgIHJldHVybiBSZXN1bHRfQmluZCgobmFtZV8yKSA9PiBtYWtlVW5pb24oZXh0cmFfMSwgY2FzZVN0cmF0ZWd5LCB0LCBuYW1lXzIsIHBhdGhfMSwgdmFsdWVzKSwgc3RyaW5nKHBhdGhfMSArIFwiWzBdXCIsIHZhbHVlc1swXSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xLCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhIHN0cmluZyBvciBhcnJheVwiLCB2YWx1ZV8yKV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzT3B0aW9uYWwpIHtcbiAgICAgICAgZGVjb2RlciA9ICgocGF0aF8yKSA9PiAoKHZhbHVlXzMpID0+IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMiwgbmV3IEVycm9yUmVhc29uKDIsIFwiYW4gZXh0cmEgY29kZXIgZm9yIFwiICsgZnVsbE5hbWVfMSh0KSwgdmFsdWVfMyldKSkpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBtZXNzYWdlO1xuICAgICAgICBjb25zdCBhcmdfMSA9IGZ1bGxOYW1lXzEodCk7XG4gICAgICAgIG1lc3NhZ2UgPSB0b1RleHQocHJpbnRmKFwiQ2Fubm90IGdlbmVyYXRlIGF1dG8gZGVjb2RlciBmb3IgJXMuIFBsZWFzZSBwYXNzIGFuIGV4dHJhIGRlY29kZXIuXFxuXFxuRG9jdW1lbnRhdGlvbiBhdmFpbGFibGUgYXQ6IGh0dHBzOi8vdGhvdGgtb3JnLmdpdGh1Yi5pby9UaG90aC5Kc29uL2RvY3VtZW50YXRpb24vYXV0by9leHRyYS1jb2RlcnMuaHRtbCNyZWFkeS10by11c2UtZXh0cmEtY29kZXJzXCIpKShhcmdfMSk7XG4gICAgICAgIHRocm93IChuZXcgRXJyb3IobWVzc2FnZSkpO1xuICAgIH1cbiAgICBkZWNvZGVyUmVmLmNvbnRlbnRzID0gZGVjb2RlcjtcbiAgICByZXR1cm4gZGVjb2Rlcjtcbn1cblxuZnVuY3Rpb24gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgaXNPcHRpb25hbCwgdCkge1xuICAgIGxldCBkZWNvZGVyXzEzLCBkZWNvZGVyXzE0LCBkZWNvZGVyXzE1LCBkZWNvZGVyXzE2O1xuICAgIGNvbnN0IGZ1bGxuYW1lID0gZnVsbE5hbWVfMSh0KTtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gdHJ5RmluZF8xKGZ1bGxuYW1lLCBleHRyYSk7XG4gICAgaWYgKG1hdGNoVmFsdWUgPT0gbnVsbCkge1xuICAgICAgICBpZiAoaXNBcnJheSh0KSkge1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlciA9IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBnZXRFbGVtZW50VHlwZSh0KSk7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMSkgPT4gKCh2YWx1ZV8yKSA9PiBhcnJheSh1bmN1cnJ5KDIsIGRlY29kZXIpLCBwYXRoXzEsIHZhbHVlXzIpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc0VudW0odCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVudW1UeXBlID0gZnVsbE5hbWVfMShnZXRFbnVtVW5kZXJseWluZ1R5cGUodCkpO1xuICAgICAgICAgICAgaWYgKGVudW1UeXBlID09PSBcIlN5c3RlbS5TQnl0ZVwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzIpID0+ICgodmFsdWVfNCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0XzIgPSB0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoXzMgPSBwYXRoXzI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlXzUgPSB2YWx1ZV80O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzEgPSBzYnl0ZShwYXRoXzMpKHZhbHVlXzUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV8xLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlXzEuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZSA9IG1hdGNoVmFsdWVfMS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbnMoZW51bVZhbHVlLCBnZXRFbnVtVmFsdWVzKHRfMiksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcXVhbHM6ICh4LCB5KSA9PiAoeCA9PT0geSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0SGFzaENvZGU6IG51bWJlckhhc2gsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcGFyc2VFbnVtKHRfMiwgZW51bVZhbHVlLnRvU3RyaW5nKCkpKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzMsIG5ldyBFcnJvclJlYXNvbigxLCBmdWxsTmFtZV8xKHRfMiksIHZhbHVlXzUsIFwiVW5rb3duIHZhbHVlIHByb3ZpZGVkIGZvciB0aGUgZW51bVwiKV0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZW51bVR5cGUgPT09IFwiU3lzdGVtLkJ5dGVcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF80KSA9PiAoKHZhbHVlXzcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdF8zID0gdDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aF81ID0gcGF0aF80O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZV84ID0gdmFsdWVfNztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZV8yID0gYnl0ZShwYXRoXzUpKHZhbHVlXzgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV8yLnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlXzIuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZV8xID0gbWF0Y2hWYWx1ZV8yLmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250YWlucyhlbnVtVmFsdWVfMSwgZ2V0RW51bVZhbHVlcyh0XzMpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRXF1YWxzOiAoeF8xLCB5XzEpID0+ICh4XzEgPT09IHlfMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0SGFzaENvZGU6IG51bWJlckhhc2gsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcGFyc2VFbnVtKHRfMywgZW51bVZhbHVlXzEudG9TdHJpbmcoKSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfNSwgbmV3IEVycm9yUmVhc29uKDEsIGZ1bGxOYW1lXzEodF8zKSwgdmFsdWVfOCwgXCJVbmtvd24gdmFsdWUgcHJvdmlkZWQgZm9yIHRoZSBlbnVtXCIpXSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlbnVtVHlwZSA9PT0gXCJTeXN0ZW0uSW50MTZcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF82KSA9PiAoKHZhbHVlXzEwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRfNCA9IHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhfNyA9IHBhdGhfNjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWVfMTEgPSB2YWx1ZV8xMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZV8zID0gaW50MTYocGF0aF83KSh2YWx1ZV8xMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzMudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWVfMy5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW51bVZhbHVlXzIgPSBtYXRjaFZhbHVlXzMuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5zKGVudW1WYWx1ZV8yLCBnZXRFbnVtVmFsdWVzKHRfNCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcXVhbHM6ICh4XzIsIHlfMikgPT4gKHhfMiA9PT0geV8yKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRIYXNoQ29kZTogbnVtYmVySGFzaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBwYXJzZUVudW0odF80LCBpbnQxNlRvU3RyaW5nKGVudW1WYWx1ZV8yKSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfNywgbmV3IEVycm9yUmVhc29uKDEsIGZ1bGxOYW1lXzEodF80KSwgdmFsdWVfMTEsIFwiVW5rb3duIHZhbHVlIHByb3ZpZGVkIGZvciB0aGUgZW51bVwiKV0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZW51bVR5cGUgPT09IFwiU3lzdGVtLlVJbnQxNlwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzgpID0+ICgodmFsdWVfMTMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdF81ID0gdDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aF85ID0gcGF0aF84O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZV8xNCA9IHZhbHVlXzEzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzQgPSB1aW50MTYocGF0aF85KSh2YWx1ZV8xNCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzQudGFnID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZTaGFycFJlc3VsdCQyKDEsIG1hdGNoVmFsdWVfNC5maWVsZHNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW51bVZhbHVlXzMgPSBtYXRjaFZhbHVlXzQuZmllbGRzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5zKGVudW1WYWx1ZV8zLCBnZXRFbnVtVmFsdWVzKHRfNSksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcXVhbHM6ICh4XzMsIHlfMykgPT4gKHhfMyA9PT0geV8zKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRIYXNoQ29kZTogbnVtYmVySGFzaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCBwYXJzZUVudW0odF81LCBlbnVtVmFsdWVfMy50b1N0cmluZygpKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF85LCBuZXcgRXJyb3JSZWFzb24oMSwgZnVsbE5hbWVfMSh0XzUpLCB2YWx1ZV8xNCwgXCJVbmtvd24gdmFsdWUgcHJvdmlkZWQgZm9yIHRoZSBlbnVtXCIpXSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlbnVtVHlwZSA9PT0gXCJTeXN0ZW0uSW50MzJcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF8xMCkgPT4gKCh2YWx1ZV8xNikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0XzYgPSB0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoXzExID0gcGF0aF8xMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWVfMTcgPSB2YWx1ZV8xNjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hWYWx1ZV81ID0gaW50KHBhdGhfMTEpKHZhbHVlXzE3KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfNS50YWcgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRlNoYXJwUmVzdWx0JDIoMSwgbWF0Y2hWYWx1ZV81LmZpZWxkc1swXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbnVtVmFsdWVfNCA9IG1hdGNoVmFsdWVfNS5maWVsZHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbnMoZW51bVZhbHVlXzQsIGdldEVudW1WYWx1ZXModF82KSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVxdWFsczogKHhfNCwgeV80KSA9PiAoeF80ID09PSB5XzQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldEhhc2hDb2RlOiBudW1iZXJIYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkgPyAobmV3IEZTaGFycFJlc3VsdCQyKDAsIHBhcnNlRW51bSh0XzYsIGludDMyVG9TdHJpbmcoZW51bVZhbHVlXzQpKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBbcGF0aF8xMSwgbmV3IEVycm9yUmVhc29uKDEsIGZ1bGxOYW1lXzEodF82KSwgdmFsdWVfMTcsIFwiVW5rb3duIHZhbHVlIHByb3ZpZGVkIGZvciB0aGUgZW51bVwiKV0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZW51bVR5cGUgPT09IFwiU3lzdGVtLlVJbnQzMlwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzEyKSA9PiAoKHZhbHVlXzE5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRfNyA9IHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhfMTMgPSBwYXRoXzEyO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZV8yMCA9IHZhbHVlXzE5O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzYgPSB1aW50MzIocGF0aF8xMykodmFsdWVfMjApO1xuICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2hWYWx1ZV82LnRhZyA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlXzYuZmllbGRzWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZV81ID0gbWF0Y2hWYWx1ZV82LmZpZWxkc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb250YWlucyhlbnVtVmFsdWVfNSwgZ2V0RW51bVZhbHVlcyh0XzcpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRXF1YWxzOiAoeF81LCB5XzUpID0+ICh4XzUgPT09IHlfNSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0SGFzaENvZGU6IG51bWJlckhhc2gsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSA/IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgcGFyc2VFbnVtKHRfNywgZW51bVZhbHVlXzUudG9TdHJpbmcoKSkpKSA6IChuZXcgRlNoYXJwUmVzdWx0JDIoMSwgW3BhdGhfMTMsIG5ldyBFcnJvclJlYXNvbigxLCBmdWxsTmFtZV8xKHRfNyksIHZhbHVlXzIwLCBcIlVua293biB2YWx1ZSBwcm92aWRlZCBmb3IgdGhlIGVudW1cIildKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFyZ183ID0gZnVsbE5hbWVfMSh0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbG9fMSA9IHRvRmFpbChwcmludGYoXCJDYW5ub3QgZ2VuZXJhdGUgYXV0byBkZWNvZGVyIGZvciAlcy5cXG5UaG90aC5Kc29uLk5ldCBvbmx5IHN1cHBvcnQgdGhlIGZvbGxvd2luZyBlbnVtIHR5cGVzOlxcbi0gc2J5dGVcXG4tIGJ5dGVcXG4tIGludDE2XFxuLSB1aW50MTZcXG4tIGludFxcbi0gdWludDMyXFxuSWYgeW91IGNhblxcdTAwMjd0IHVzZSBvbmUgb2YgdGhlc2UgdHlwZXMsIHBsZWFzZSBwYXNzIGFuIGV4dHJhIGRlY29kZXIuXFxuICAgICAgICAgICAgICAgICAgICBcIikpKGFyZ183KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKGFyZ184KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsb18yID0gY2xvXzEoYXJnXzgpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xvXzI7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc0dlbmVyaWNUeXBlKHQpKSB7XG4gICAgICAgICAgICBpZiAoaXNUdXBsZSh0KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZXJzID0gbWFwXzIoKHRfOCkgPT4gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgZmFsc2UsIHRfOCksIGdldFR1cGxlRWxlbWVudHModCkpO1xuICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF8xNCkgPT4gKCh2YWx1ZV8yMSkgPT4gKEFycmF5LmlzQXJyYXkodmFsdWVfMjEpID8gUmVzdWx0X01hcCgoeHMpID0+IG1ha2VUdXBsZSh0b0FycmF5KHhzKSwgdCksIG1peGVkQXJyYXkoMCwgZGVjb2RlcnMsIHBhdGhfMTQsIHZhbHVlXzIxKSkgOiAobmV3IEZTaGFycFJlc3VsdCQyKDEsIFtwYXRoXzE0LCBuZXcgRXJyb3JSZWFzb24oMCwgXCJhbiBhcnJheVwiLCB2YWx1ZV8yMSldKSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGxuYW1lXzEgPSBmdWxsTmFtZV8xKGdldEdlbmVyaWNUeXBlRGVmaW5pdGlvbih0KSk7XG4gICAgICAgICAgICAgICAgaWYgKGZ1bGxuYW1lXzEgPT09IFwiTWljcm9zb2Z0LkZTaGFycC5Db3JlLkZTaGFycE9wdGlvbmAxW1N5c3RlbS5PYmplY3RdXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkZWNvZGVyXzEzID0gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgdHJ1ZSwgZ2V0R2VuZXJpY3ModClbMF0pLCAocGF0aF8xNSkgPT4gKCh2YWx1ZV8yMikgPT4gb3B0aW9uKHVuY3VycnkoMiwgZGVjb2Rlcl8xMyksIHBhdGhfMTUsIHZhbHVlXzIyKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChmdWxsbmFtZV8xID09PSBcIk1pY3Jvc29mdC5GU2hhcnAuQ29sbGVjdGlvbnMuRlNoYXJwTGlzdGAxW1N5c3RlbS5PYmplY3RdXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkZWNvZGVyXzE0ID0gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgZmFsc2UsIGdldEdlbmVyaWNzKHQpWzBdKSwgKHBhdGhfMTYpID0+ICgodmFsdWVfMjMpID0+IGxpc3QodW5jdXJyeSgyLCBkZWNvZGVyXzE0KSwgcGF0aF8xNiwgdmFsdWVfMjMpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lXzEgPT09IFwiU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUVudW1lcmFibGVgMVtTeXN0ZW0uT2JqZWN0XVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoZGVjb2Rlcl8xNSA9IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBnZXRHZW5lcmljcyh0KVswXSksIChwYXRoXzE3KSA9PiAoKHZhbHVlXzI0KSA9PiBzZXEodW5jdXJyeSgyLCBkZWNvZGVyXzE1KSwgcGF0aF8xNywgdmFsdWVfMjQpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lXzEgPT09IFwiTWljcm9zb2Z0LkZTaGFycC5Db2xsZWN0aW9ucy5GU2hhcnBNYXBgMltTeXN0ZW0uT2JqZWN0LFN5c3RlbS5PYmplY3RdXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5RGVjb2RlciA9IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBnZXRHZW5lcmljcyh0KVswXSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlRGVjb2RlciA9IGF1dG9EZWNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGZhbHNlLCBnZXRHZW5lcmljcyh0KVsxXSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkXzIwO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyc18xID0gb2ZBcnJheShbKHBhdGhfMTgpID0+ICgodmFsdWVfMjUpID0+IGF1dG9PYmplY3QyKHVuY3VycnkoMiwga2V5RGVjb2RlciksIHVuY3VycnkoMiwgdmFsdWVEZWNvZGVyKSwgcGF0aF8xOCwgdmFsdWVfMjUpKSwgKGRlY29kZXJfMTYgPSB0dXBsZTIodW5jdXJyeSgyLCBrZXlEZWNvZGVyKSwgdW5jdXJyeSgyLCB2YWx1ZURlY29kZXIpKSwgKHBhdGhfMTkpID0+ICgodmFsdWVfMjYpID0+IGxpc3QodW5jdXJyeSgyLCBkZWNvZGVyXzE2KSwgcGF0aF8xOSwgdmFsdWVfMjYpKSldKTtcbiAgICAgICAgICAgICAgICAgICAgZF8yMCA9ICgocGF0aF8yMCkgPT4gKCh2YWx1ZV8yNykgPT4gb25lT2YoZGVjb2RlcnNfMSwgcGF0aF8yMCwgdmFsdWVfMjcpKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAocGF0aF8yMSkgPT4gKCh2YWx1ZV8yOSkgPT4gbWFwKHRvTWFwLCB1bmN1cnJ5KDIsIGRfMjApLCBwYXRoXzIxLCB2YWx1ZV8yOSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChmdWxsbmFtZV8xID09PSBcIk1pY3Jvc29mdC5GU2hhcnAuQ29sbGVjdGlvbnMuRlNoYXJwU2V0YDFbU3lzdGVtLk9iamVjdF1cIikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWNvZGVyXzE3ID0gYXV0b0RlY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgZmFsc2UsIGdldEdlbmVyaWNzKHQpWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwYXRoXzIyKSA9PiAoKHZhbHVlXzMwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzcgPSBhcnJheSh1bmN1cnJ5KDIsIGRlY29kZXJfMTcpLCBwYXRoXzIyLCB2YWx1ZV8zMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKG1hdGNoVmFsdWVfNy50YWcgPT09IDApID8gKG5ldyBGU2hhcnBSZXN1bHQkMigwLCB0b1NldChtYXRjaFZhbHVlXzcuZmllbGRzWzBdKSkpIDogKG5ldyBGU2hhcnBSZXN1bHQkMigxLCBtYXRjaFZhbHVlXzcuZmllbGRzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF1dG9EZWNvZGVSZWNvcmRzQW5kVW5pb25zKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIGlzT3B0aW9uYWwsIHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uQm9vbGVhblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMjMpID0+ICgodmFsdWVfMzIpID0+IGJvb2wocGF0aF8yMywgdmFsdWVfMzIpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJNaWNyb3NvZnQuRlNoYXJwLkNvcmUuVW5pdFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMjQpID0+ICgodmFsdWVfMzMpID0+IHVuaXQocGF0aF8yNCwgdmFsdWVfMzMpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uU3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAocGF0aF8yNSkgPT4gKCh2YWx1ZV8zNCkgPT4gc3RyaW5nKHBhdGhfMjUsIHZhbHVlXzM0KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLkNoYXJcIikge1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzI2KSA9PiAoKHZhbHVlXzM1KSA9PiBjaGFyKHBhdGhfMjYsIHZhbHVlXzM1KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlNCeXRlXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBzYnl0ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uQnl0ZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYnl0ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uSW50MTZcIikge1xuICAgICAgICAgICAgcmV0dXJuIGludDE2O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5VSW50MTZcIikge1xuICAgICAgICAgICAgcmV0dXJuIHVpbnQxNjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uSW50MzJcIikge1xuICAgICAgICAgICAgcmV0dXJuIGludDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uVUludDMyXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB1aW50MzI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLkRvdWJsZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMjcpID0+ICgodmFsdWVfMzYpID0+IGZsb2F0KHBhdGhfMjcsIHZhbHVlXzM2KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlNpbmdsZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMjgpID0+ICgodmFsdWVfMzcpID0+IGZsb2F0MzIocGF0aF8yOCwgdmFsdWVfMzcpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uRGF0ZVRpbWVcIikge1xuICAgICAgICAgICAgcmV0dXJuIChwYXRoXzI5KSA9PiAoKHZhbHVlXzM4KSA9PiBkYXRldGltZVV0YyhwYXRoXzI5LCB2YWx1ZV8zOCkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5EYXRlVGltZU9mZnNldFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMzApID0+ICgodmFsdWVfMzkpID0+IGRhdGV0aW1lT2Zmc2V0KHBhdGhfMzAsIHZhbHVlXzM5KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlRpbWVTcGFuXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAocGF0aF8zMSkgPT4gKCh2YWx1ZV80MCkgPT4gdGltZXNwYW4ocGF0aF8zMSwgdmFsdWVfNDApKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uR3VpZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHBhdGhfMzIpID0+ICgodmFsdWVfNDEpID0+IGd1aWQocGF0aF8zMiwgdmFsdWVfNDEpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uT2JqZWN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiAoX2FyZ182KSA9PiAoKHYpID0+IChuZXcgRlNoYXJwUmVzdWx0JDIoMCwgdikpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhdXRvRGVjb2RlUmVjb3Jkc0FuZFVuaW9ucyhleHRyYSwgY2FzZVN0cmF0ZWd5LCBpc09wdGlvbmFsLCB0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgZGVjb2RlclJlZiA9IG1hdGNoVmFsdWU7XG4gICAgICAgIHJldHVybiAocGF0aCkgPT4gKCh2YWx1ZV8xKSA9PiBkZWNvZGVyUmVmLmNvbnRlbnRzKHBhdGgpKHZhbHVlXzEpKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VFeHRyYShleHRyYSkge1xuICAgIGlmIChleHRyYSAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBtYXBfMygoX2FyZywgdHVwbGVkQXJnKSA9PiAobmV3IEZTaGFycFJlZih0dXBsZWRBcmdbMV0pKSwgZXh0cmEuQ29kZXJzKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBlbXB0eV8xKCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV0byB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXV0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiBjbGFzc190eXBlKFwiVGhvdGguSnNvbi5EZWNvZGUuQXV0b1wiLCB2b2lkIDAsIEF1dG8pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXV0b19nZW5lcmF0ZUJveGVkRGVjb2RlckNhY2hlZF83OTk4OEFFRih0LCBjYXNlU3RyYXRlZ3ksIGV4dHJhKSB7XG4gICAgbGV0IHlfMSwgeTtcbiAgICBjb25zdCBjYXNlU3RyYXRlZ3lfMSA9IGRlZmF1bHRBcmcoY2FzZVN0cmF0ZWd5LCBuZXcgQ2FzZVN0cmF0ZWd5KDApKTtcbiAgICByZXR1cm4gVXRpbF9DYWNoZSQxX19HZXRPckFkZF80Mzk4MTQ2NChVdGlsX0NhY2hlZERlY29kZXJzLCAoeV8xID0gKCh5ID0gZnVsbE5hbWVfMSh0KSwgdG9TdHJpbmdfMTIoY2FzZVN0cmF0ZWd5XzEpICsgeSkpLCBkZWZhdWx0QXJnKG1hcF80KChlKSA9PiBlLkhhc2gsIGV4dHJhKSwgXCJcIikgKyB5XzEpLCAoKSA9PiBhdXRvRGVjb2RlcihtYWtlRXh0cmEoZXh0cmEpLCBjYXNlU3RyYXRlZ3lfMSwgZmFsc2UsIHQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEF1dG9fZ2VuZXJhdGVCb3hlZERlY29kZXJfNzk5ODhBRUYodCwgY2FzZVN0cmF0ZWd5LCBleHRyYSkge1xuICAgIGNvbnN0IGNhc2VTdHJhdGVneV8xID0gZGVmYXVsdEFyZyhjYXNlU3RyYXRlZ3ksIG5ldyBDYXNlU3RyYXRlZ3koMCkpO1xuICAgIHJldHVybiBhdXRvRGVjb2RlcihtYWtlRXh0cmEoZXh0cmEpLCBjYXNlU3RyYXRlZ3lfMSwgZmFsc2UsIHQpO1xufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Decode.fs.js\n");
|
|
3417
3417
|
|
|
3418
3418
|
/***/ }),
|
|
3419
3419
|
|
|
3420
|
-
/***/ "./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.
|
|
3420
|
+
/***/ "./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Encode.fs.js":
|
|
3421
3421
|
/*!*******************************************************************************!*\
|
|
3422
|
-
!*** ./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.
|
|
3422
|
+
!*** ./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Encode.fs.js ***!
|
|
3423
3423
|
\*******************************************************************************/
|
|
3424
3424
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
3425
3425
|
|
|
3426
3426
|
"use strict";
|
|
3427
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Auto: () => (/* binding */ Auto),\n/* harmony export */ Auto$reflection: () => (/* binding */ Auto$reflection),\n/* harmony export */ Auto_generateBoxedEncoderCached_Z20B7B430: () => (/* binding */ Auto_generateBoxedEncoderCached_Z20B7B430),\n/* harmony export */ Auto_generateBoxedEncoder_Z20B7B430: () => (/* binding */ Auto_generateBoxedEncoder_Z20B7B430),\n/* harmony export */ Enum_byte: () => (/* binding */ Enum_byte),\n/* harmony export */ Enum_int: () => (/* binding */ Enum_int),\n/* harmony export */ Enum_int16: () => (/* binding */ Enum_int16),\n/* harmony export */ Enum_sbyte: () => (/* binding */ Enum_sbyte),\n/* harmony export */ Enum_uint16: () => (/* binding */ Enum_uint16),\n/* harmony export */ Enum_uint32: () => (/* binding */ Enum_uint32),\n/* harmony export */ bigint: () => (/* binding */ bigint),\n/* harmony export */ datetime: () => (/* binding */ datetime),\n/* harmony export */ datetimeOffset: () => (/* binding */ datetimeOffset),\n/* harmony export */ decimal: () => (/* binding */ decimal),\n/* harmony export */ dict: () => (/* binding */ dict),\n/* harmony export */ encode: () => (/* binding */ encode),\n/* harmony export */ guid: () => (/* binding */ guid),\n/* harmony export */ int64: () => (/* binding */ int64),\n/* harmony export */ list: () => (/* binding */ list),\n/* harmony export */ map: () => (/* binding */ map),\n/* harmony export */ nil: () => (/* binding */ nil),\n/* harmony export */ object: () => (/* binding */ object),\n/* harmony export */ option: () => (/* binding */ option),\n/* harmony export */ seq: () => (/* binding */ seq),\n/* harmony export */ timespan: () => (/* binding */ timespan),\n/* harmony export */ toString: () => (/* binding */ toString),\n/* harmony export */ tuple2: () => (/* binding */ tuple2),\n/* harmony export */ tuple3: () => (/* binding */ tuple3),\n/* harmony export */ tuple4: () => (/* binding */ tuple4),\n/* harmony export */ tuple5: () => (/* binding */ tuple5),\n/* harmony export */ tuple6: () => (/* binding */ tuple6),\n/* harmony export */ tuple7: () => (/* binding */ tuple7),\n/* harmony export */ tuple8: () => (/* binding */ tuple8),\n/* harmony export */ uint64: () => (/* binding */ uint64),\n/* harmony export */ unit: () => (/* binding */ unit)\n/* harmony export */ });\n/* harmony import */ var _fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fable-library.3.7.20/Decimal.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Decimal.js\");\n/* harmony import */ var _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fable-library.3.7.20/Map.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Map.js\");\n/* harmony import */ var _fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../fable-library.3.7.20/BigInt.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/BigInt.js\");\n/* harmony import */ var _fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../fable-library.3.7.20/Date.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Date.js\");\n/* harmony import */ var _fable_library_3_7_20_TimeSpan_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../fable-library.3.7.20/TimeSpan.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/TimeSpan.js\");\n/* harmony import */ var _fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n/* harmony import */ var _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../fable-library.3.7.20/Array.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Array.js\");\n/* harmony import */ var _Types_fs_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Types.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/Types.fs.js\");\n/* harmony import */ var _fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../fable-library.3.7.20/Seq.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Seq.js\");\n/* harmony import */ var _fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction guid(value) {\n return value;\n}\n\nfunction decimal(value) {\n return (0,_fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_0__.toString)(value);\n}\n\nconst nil = null;\n\nfunction object(values) {\n const o = {};\n const enumerator = (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__.getEnumerator)(values);\n try {\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\n const forLoopVar = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\n o[forLoopVar[0]] = forLoopVar[1];\n }\n }\n finally {\n (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__.disposeSafe)(enumerator);\n }\n return o;\n}\n\nfunction list(values) {\n return Array.from(values);\n}\n\nfunction seq(values) {\n return Array.from(values);\n}\n\nfunction dict(values) {\n return object((0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.toList)(values));\n}\n\nfunction bigint(value) {\n return (0,_fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_3__.toString)(value);\n}\n\nfunction datetimeOffset(value) {\n return (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_4__.toString)(value, \"O\", {});\n}\n\nfunction timespan(value) {\n return (0,_fable_library_3_7_20_TimeSpan_js__WEBPACK_IMPORTED_MODULE_5__.toString)(value);\n}\n\nfunction int64(value) {\n return String(value);\n}\n\nfunction uint64(value) {\n return String(value);\n}\n\nfunction unit() {\n return null;\n}\n\nfunction tuple2(enc1, enc2, v1, v2) {\n return [enc1(v1), enc2(v2)];\n}\n\nfunction tuple3(enc1, enc2, enc3, v1, v2, v3) {\n return [enc1(v1), enc2(v2), enc3(v3)];\n}\n\nfunction tuple4(enc1, enc2, enc3, enc4, v1, v2, v3, v4) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4)];\n}\n\nfunction tuple5(enc1, enc2, enc3, enc4, enc5, v1, v2, v3, v4, v5) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4), enc5(v5)];\n}\n\nfunction tuple6(enc1, enc2, enc3, enc4, enc5, enc6, v1, v2, v3, v4, v5, v6) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4), enc5(v5), enc6(v6)];\n}\n\nfunction tuple7(enc1, enc2, enc3, enc4, enc5, enc6, enc7, v1, v2, v3, v4, v5, v6, v7) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4), enc5(v5), enc6(v6), enc7(v7)];\n}\n\nfunction tuple8(enc1, enc2, enc3, enc4, enc5, enc6, enc7, enc8, v1, v2, v3, v4, v5, v6, v7, v8) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4), enc5(v5), enc6(v6), enc7(v7), enc8(v8)];\n}\n\nfunction map(keyEncoder, valueEncoder, values) {\n return list((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_6__.map)((tupledArg) => tuple2(keyEncoder, valueEncoder, tupledArg[0], tupledArg[1]), (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.toList)(values)));\n}\n\nfunction Enum_byte(value) {\n return value;\n}\n\nfunction Enum_sbyte(value) {\n return value;\n}\n\nfunction Enum_int16(value) {\n return value;\n}\n\nfunction Enum_uint16(value) {\n return value;\n}\n\nfunction Enum_int(value) {\n return value;\n}\n\nfunction Enum_uint32(value) {\n return value;\n}\n\nfunction datetime(value) {\n return (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_4__.toString)(value, \"O\", {});\n}\n\nfunction toString(space, value) {\n return JSON.stringify(value, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__.uncurry)(2, null), (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.some)(space));\n}\n\nfunction option(encoder) {\n return (arg) => (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArgWith)((0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.map)(encoder, arg), () => nil);\n}\n\nfunction autoEncodeRecordsAndUnions(extra, caseStrategy, skipNullField, t) {\n const encoderRef = new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_8__.FSharpRef(null);\n let extra_1;\n const matchValue = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t);\n extra_1 = ((matchValue === \"\") ? extra : (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.add)(matchValue, encoderRef, extra));\n let encoder;\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isRecord)(t, true)) {\n const setters = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_10__.map)((fi) => {\n const targetKey = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.Util_Casing_convert)(caseStrategy, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.name)(fi));\n const encode_1 = autoEncoder(extra_1, caseStrategy, skipNullField, fi[1]);\n return (source) => ((target) => {\n const value = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getRecordField)(source, fi);\n if ((!skipNullField) ? true : (skipNullField && (!(value == null)))) {\n target[targetKey]=encode_1(value);\n }\n return target;\n });\n }, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getRecordElements)(t, true));\n encoder = ((source_1) => (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.fold)((target_1, set$) => set$(source_1)(target_1), {}, setters));\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isUnion)(t, true)) {\n encoder = ((value_1) => {\n const patternInput = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getUnionFields)(value_1, t, true);\n const info = patternInput[0];\n const fields = patternInput[1];\n const matchValue_1 = fields.length | 0;\n if (matchValue_1 === 0) {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.name)(info);\n }\n else {\n const len = matchValue_1 | 0;\n const fieldTypes = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getUnionCaseFields)(info);\n const target_2 = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_10__.fill)(new Array(len + 1), 0, len + 1, null);\n target_2[0] = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.name)(info);\n for (let i = 1; i <= len; i++) {\n const encode_2 = autoEncoder(extra_1, caseStrategy, skipNullField, fieldTypes[i - 1][1]);\n target_2[i] = encode_2(fields[i - 1]);\n }\n return target_2;\n }\n });\n }\n else {\n let message;\n const arg = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t);\n message = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.printf)(\"Cannot generate auto encoder for %s. Please pass an extra encoder.\\n\\nDocumentation available at: https://thoth-org.github.io/Thoth.Json/documentation/auto/extra-coders.html#ready-to-use-extra-coders\"))(arg);\n throw (new Error(message));\n }\n encoderRef.contents = encoder;\n return encoder;\n}\n\nfunction autoEncoder(extra, caseStrategy, skipNullField, t) {\n const fullname = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t);\n const matchValue = (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.tryFind)(fullname, extra);\n if (matchValue == null) {\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isArray)(t)) {\n const encoder = autoEncoder(extra, caseStrategy, skipNullField, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getElementType)(t));\n return (value) => seq((0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.map)(encoder, value));\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isEnum)(t)) {\n const enumType = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getEnumUnderlyingType)(t));\n if (enumType === \"System.SByte\") {\n return (value_1) => value_1;\n }\n else if (enumType === \"System.Byte\") {\n return (value_3) => value_3;\n }\n else if (enumType === \"System.Int16\") {\n return (value_5) => value_5;\n }\n else if (enumType === \"System.UInt16\") {\n return (value_7) => value_7;\n }\n else if (enumType === \"System.Int32\") {\n return (value_9) => value_9;\n }\n else if (enumType === \"System.UInt32\") {\n return (value_11) => value_11;\n }\n else {\n const arg = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t);\n const clo_1 = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toFail)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.printf)(\"Cannot generate auto encoder for %s.\\nThoth.Json.Net only support the following enum types:\\n- sbyte\\n- byte\\n- int16\\n- uint16\\n- int\\n- uint32\\n\\nIf you can\\u0027t use one of these types, please pass an extra encoder.\\n\\nDocumentation available at: https://thoth-org.github.io/Thoth.Json/documentation/auto/extra-coders.html#ready-to-use-extra-coders\\n \"))(arg);\n return clo_1;\n }\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isGenericType)(t)) {\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isTuple)(t)) {\n const encoders = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_10__.map)((t_2) => autoEncoder(extra, caseStrategy, skipNullField, t_2), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getTupleElements)(t));\n return (value_13) => seq((0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.mapIndexed)((i, x) => encoders[i](x), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getTupleFields)(value_13)));\n }\n else {\n const fullname_1 = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenericTypeDefinition)(t));\n if (fullname_1 === \"Microsoft.FSharp.Core.FSharpOption`1[System.Object]\") {\n const encoder_2 = new _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__.Lazy(() => option(autoEncoder(extra, caseStrategy, skipNullField, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenerics)(t)[0])));\n return (value_14) => {\n if (value_14 == null) {\n return nil;\n }\n else {\n return encoder_2.Value(value_14);\n }\n };\n }\n else if (((fullname_1 === \"Microsoft.FSharp.Collections.FSharpList`1[System.Object]\") ? true : (fullname_1 === \"Microsoft.FSharp.Collections.FSharpSet`1[System.Object]\")) ? true : (fullname_1 === \"System.Collections.Generic.IEnumerable`1[System.Object]\")) {\n const encoder_3 = autoEncoder(extra, caseStrategy, skipNullField, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenerics)(t)[0]);\n return (value_15) => seq((0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.map)(encoder_3, value_15));\n }\n else if (fullname_1 === \"Microsoft.FSharp.Collections.FSharpMap`2[System.Object,System.Object]\") {\n const keyType = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenerics)(t)[0];\n const valueEncoder = autoEncoder(extra, caseStrategy, skipNullField, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenerics)(t)[1]);\n if (((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(keyType) === \"System.String\") ? true : ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(keyType) === \"System.Guid\")) {\n return (value_16) => (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.fold)((target, _arg) => {\n const activePatternResult = _arg;\n target[activePatternResult[0]]=valueEncoder(activePatternResult[1]);\n return target;\n }, {}, value_16);\n }\n else {\n let keyEncoder;\n const clo_2 = autoEncoder(extra, caseStrategy, skipNullField, keyType);\n keyEncoder = (clo_2);\n return (value_17) => seq((0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.map)((_arg_1) => {\n const activePatternResult_1 = _arg_1;\n return [keyEncoder(activePatternResult_1[0]), valueEncoder(activePatternResult_1[1])];\n }, value_17));\n }\n }\n else {\n return autoEncodeRecordsAndUnions(extra, caseStrategy, skipNullField, t);\n }\n }\n }\n else if (fullname === \"System.Boolean\") {\n return (value_18) => value_18;\n }\n else if (fullname === \"Microsoft.FSharp.Core.Unit\") {\n return unit;\n }\n else if (fullname === \"System.String\") {\n return (value_20) => value_20;\n }\n else if (fullname === \"System.Char\") {\n return (value_22) => value_22;\n }\n else if (fullname === \"System.SByte\") {\n return (value_24) => value_24;\n }\n else if (fullname === \"System.Byte\") {\n return (value_26) => value_26;\n }\n else if (fullname === \"System.Int16\") {\n return (value_28) => value_28;\n }\n else if (fullname === \"System.UInt16\") {\n return (value_30) => value_30;\n }\n else if (fullname === \"System.Int32\") {\n return (value_32) => value_32;\n }\n else if (fullname === \"System.UInt32\") {\n return (value_34) => value_34;\n }\n else if (fullname === \"System.Double\") {\n return (value_36) => value_36;\n }\n else if (fullname === \"System.Single\") {\n return (value_38) => value_38;\n }\n else if (fullname === \"System.DateTime\") {\n return datetime;\n }\n else if (fullname === \"System.DateTimeOffset\") {\n return datetimeOffset;\n }\n else if (fullname === \"System.TimeSpan\") {\n return timespan;\n }\n else if (fullname === \"System.Guid\") {\n return guid;\n }\n else if (fullname === \"System.Object\") {\n return (x_1) => x_1;\n }\n else {\n return autoEncodeRecordsAndUnions(extra, caseStrategy, skipNullField, t);\n }\n }\n else {\n const encoderRef = matchValue;\n return (v) => encoderRef.contents(v);\n }\n}\n\nfunction makeExtra(extra) {\n if (extra != null) {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.map)((_arg, tupledArg) => (new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_8__.FSharpRef(tupledArg[0])), extra.Coders);\n }\n else {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.empty)();\n }\n}\n\nclass Auto {\n constructor() {\n }\n}\n\nfunction Auto$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.class_type)(\"Thoth.Json.Encode.Auto\", void 0, Auto);\n}\n\nfunction Auto_generateBoxedEncoderCached_Z20B7B430(t, caseStrategy, extra, skipNullField) {\n let y_1, y;\n const caseStrategy_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)(caseStrategy, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.CaseStrategy(0));\n const skipNullField_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)(skipNullField, true);\n return (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.Util_Cache$1__GetOrAdd_43981464)(_Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.Util_CachedEncoders, (y_1 = ((y = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t), (0,_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_8__.toString)(caseStrategy_1) + y)), (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)((0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.map)((e) => e.Hash, extra), \"\") + y_1), () => autoEncoder(makeExtra(extra), caseStrategy_1, skipNullField_1, t));\n}\n\nfunction Auto_generateBoxedEncoder_Z20B7B430(t, caseStrategy, extra, skipNullField) {\n const caseStrategy_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)(caseStrategy, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.CaseStrategy(0));\n const skipNullField_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)(skipNullField, true);\n return autoEncoder(makeExtra(extra), caseStrategy_1, skipNullField_1, t);\n}\n\nfunction encode(space, value) {\n return toString(space, value);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9UaG90aC5Kc29uLjEwLjAuMC9FbmNvZGUuZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUE0RTtBQUNnQjtBQUNEO0FBQ2hCO0FBQ0Y7QUFDSTtBQUNkO0FBQ29DO0FBQ2Q7QUFDK1A7QUFDOVE7QUFDa0Q7QUFDeEM7QUFDTDs7QUFFcEU7QUFDUDtBQUNBOztBQUVPO0FBQ1AsV0FBVywwRUFBVTtBQUNyQjs7QUFFTzs7QUFFQTtBQUNQO0FBQ0EsdUJBQXVCLDRFQUFhO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSwwRUFBVztBQUNuQjtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQLGtCQUFrQixvRUFBTTtBQUN4Qjs7QUFFTztBQUNQLFdBQVcseUVBQVU7QUFDckI7O0FBRU87QUFDUCxXQUFXLHVFQUFVLGVBQWU7QUFDcEM7O0FBRU87QUFDUCxXQUFXLDJFQUFVO0FBQ3JCOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQLGdCQUFnQixrRUFBSyw4RUFBOEUsb0VBQU07QUFDekc7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUCxXQUFXLHVFQUFVLGVBQWU7QUFDcEM7O0FBRU87QUFDUCxpQ0FBaUMsc0VBQU8sV0FBVyxxRUFBSTtBQUN2RDs7QUFFTztBQUNQLG9CQUFvQiwrRUFBYyxDQUFDLG9FQUFLO0FBQ3hDOztBQUVBO0FBQ0EsMkJBQTJCLHFFQUFTO0FBQ3BDO0FBQ0EsdUJBQXVCLDZFQUFVO0FBQ2pDLDZDQUE2QyxpRUFBRztBQUNoRDtBQUNBLFFBQVEsNkVBQVE7QUFDaEIsd0JBQXdCLG9FQUFLO0FBQzdCLDhCQUE4QixrRUFBbUIsZUFBZSx5RUFBSTtBQUNwRTtBQUNBO0FBQ0EsOEJBQThCLG1GQUFjO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVMsRUFBRSxzRkFBaUI7QUFDNUIsaUNBQWlDLG1FQUFJLGlEQUFpRDtBQUN0RjtBQUNBLGFBQWEsNEVBQU87QUFDcEI7QUFDQSxpQ0FBaUMsbUZBQWM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIseUVBQUk7QUFDM0I7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLHVGQUFrQjtBQUNyRCxpQ0FBaUMscUVBQUk7QUFDckMsOEJBQThCLHlFQUFJO0FBQ2xDLGdDQUFnQyxVQUFVO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDZFQUFVO0FBQzlCLGtCQUFrQix3RUFBTSxDQUFDLHdFQUFNO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsNkVBQVU7QUFDL0IsdUJBQXVCLHFFQUFPO0FBQzlCO0FBQ0EsWUFBWSw0RUFBTztBQUNuQiw0RUFBNEUsbUZBQWM7QUFDMUYsa0NBQWtDLGtFQUFLO0FBQ3ZDO0FBQ0EsaUJBQWlCLDJFQUFNO0FBQ3ZCLDZCQUE2Qiw2RUFBVSxDQUFDLDBGQUFxQjtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qiw2RUFBVTtBQUN0Qyw4QkFBOEIsd0VBQU0sQ0FBQyx3RUFBTTtBQUMzQztBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsa0ZBQWE7QUFDOUIsZ0JBQWdCLDRFQUFPO0FBQ3ZCLGlDQUFpQyxvRUFBSyxnRUFBZ0UscUZBQWdCO0FBQ3RILHlDQUF5Qyx5RUFBVSwyQkFBMkIsbUZBQWM7QUFDNUY7QUFDQTtBQUNBLG1DQUFtQyw2RUFBVSxDQUFDLDZGQUF3QjtBQUN0RTtBQUNBLDBDQUEwQywrREFBSSw4REFBOEQsZ0ZBQVc7QUFDdkg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRkFBc0YsZ0ZBQVc7QUFDakcsNkNBQTZDLGtFQUFLO0FBQ2xEO0FBQ0E7QUFDQSxvQ0FBb0MsZ0ZBQVc7QUFDL0MseUZBQXlGLGdGQUFXO0FBQ3BHLHlCQUF5Qiw2RUFBVSx5Q0FBeUMsNkVBQVU7QUFDdEYsNkNBQTZDLG1FQUFJO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsa0VBQUs7QUFDdEQ7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZUFBZSxpRUFBSywyQkFBMkIscUVBQVM7QUFDeEQ7QUFDQTtBQUNBLGVBQWUsbUVBQUs7QUFDcEI7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsK0VBQVU7QUFDckI7O0FBRU87QUFDUDtBQUNBLDJCQUEyQiwyRUFBVSxtQkFBbUIsdURBQVk7QUFDcEUsNEJBQTRCLDJFQUFVO0FBQ3RDLFdBQVcsOEVBQStCLENBQUMsOERBQW1CLGVBQWUsNkVBQVUsS0FBSyx3RUFBVSx3QkFBd0IsMkVBQVUsQ0FBQyxvRUFBSztBQUM5STs7QUFFTztBQUNQLDJCQUEyQiwyRUFBVSxtQkFBbUIsdURBQVk7QUFDcEUsNEJBQTRCLDJFQUFVO0FBQ3RDO0FBQ0E7O0FBRU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGZsYXJlaHIvd29ya2Zsb3dzLWFwcC8uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL1Rob3RoLkpzb24uMTAuMC4wL0VuY29kZS5mcy5qcz9kYmEzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvU3RyaW5nIGFzIHRvU3RyaW5nXzEgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvRGVjaW1hbC5qc1wiO1xuaW1wb3J0IHsgTGF6eSwgdW5jdXJyeSwgZGlzcG9zZVNhZmUsIGdldEVudW1lcmF0b3IgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvVXRpbC5qc1wiO1xuaW1wb3J0IHsgZW1wdHksIG1hcCBhcyBtYXBfNSwgdHJ5RmluZCwgYWRkLCB0b0xpc3QgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvTWFwLmpzXCI7XG5pbXBvcnQgeyB0b1N0cmluZyBhcyB0b1N0cmluZ18yIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0JpZ0ludC5qc1wiO1xuaW1wb3J0IHsgdG9TdHJpbmcgYXMgdG9TdHJpbmdfMyB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9EYXRlLmpzXCI7XG5pbXBvcnQgeyB0b1N0cmluZyBhcyB0b1N0cmluZ180IH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1RpbWVTcGFuLmpzXCI7XG5pbXBvcnQgeyBtYXAgYXMgbWFwXzEgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvTGlzdC5qc1wiO1xuaW1wb3J0IHsgZGVmYXVsdEFyZywgbWFwIGFzIG1hcF8yLCBkZWZhdWx0QXJnV2l0aCwgc29tZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9PcHRpb24uanNcIjtcbmltcG9ydCB7IHRvU3RyaW5nIGFzIHRvU3RyaW5nXzUsIEZTaGFycFJlZiB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9UeXBlcy5qc1wiO1xuaW1wb3J0IHsgY2xhc3NfdHlwZSwgZ2V0R2VuZXJpY3MsIGdldEdlbmVyaWNUeXBlRGVmaW5pdGlvbiwgZ2V0VHVwbGVGaWVsZHMsIGdldFR1cGxlRWxlbWVudHMsIGlzVHVwbGUsIGlzR2VuZXJpY1R5cGUsIGdldEVudW1VbmRlcmx5aW5nVHlwZSwgaXNFbnVtLCBnZXRFbGVtZW50VHlwZSwgaXNBcnJheSwgZ2V0VW5pb25DYXNlRmllbGRzLCBnZXRVbmlvbkZpZWxkcywgaXNVbmlvbiwgZ2V0UmVjb3JkRWxlbWVudHMsIGdldFJlY29yZEZpZWxkLCBuYW1lLCBpc1JlY29yZCwgZnVsbE5hbWUgYXMgZnVsbE5hbWVfMSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9SZWZsZWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBmaWxsLCBtYXAgYXMgbWFwXzMgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvQXJyYXkuanNcIjtcbmltcG9ydCB7IFV0aWxfQ2FjaGVkRW5jb2RlcnMsIFV0aWxfQ2FjaGUkMV9fR2V0T3JBZGRfNDM5ODE0NjQsIENhc2VTdHJhdGVneSwgVXRpbF9DYXNpbmdfY29udmVydCB9IGZyb20gXCIuL1R5cGVzLmZzLmpzXCI7XG5pbXBvcnQgeyBtYXBJbmRleGVkLCBtYXAgYXMgbWFwXzQsIGZvbGQgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvU2VxLmpzXCI7XG5pbXBvcnQgeyB0b0ZhaWwsIHByaW50ZiwgdG9UZXh0IH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1N0cmluZy5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3VpZCh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY2ltYWwodmFsdWUpIHtcbiAgICByZXR1cm4gdG9TdHJpbmdfMSh2YWx1ZSk7XG59XG5cbmV4cG9ydCBjb25zdCBuaWwgPSBudWxsO1xuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0KHZhbHVlcykge1xuICAgIGNvbnN0IG8gPSB7fTtcbiAgICBjb25zdCBlbnVtZXJhdG9yID0gZ2V0RW51bWVyYXRvcih2YWx1ZXMpO1xuICAgIHRyeSB7XG4gICAgICAgIHdoaWxlIChlbnVtZXJhdG9yW1wiU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhdG9yLk1vdmVOZXh0XCJdKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvckxvb3BWYXIgPSBlbnVtZXJhdG9yW1wiU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUVudW1lcmF0b3JgMS5nZXRfQ3VycmVudFwiXSgpO1xuICAgICAgICAgICAgb1tmb3JMb29wVmFyWzBdXSA9IGZvckxvb3BWYXJbMV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIGRpc3Bvc2VTYWZlKGVudW1lcmF0b3IpO1xuICAgIH1cbiAgICByZXR1cm4gbztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3QodmFsdWVzKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odmFsdWVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcSh2YWx1ZXMpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh2YWx1ZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGljdCh2YWx1ZXMpIHtcbiAgICByZXR1cm4gb2JqZWN0KHRvTGlzdCh2YWx1ZXMpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ2ludCh2YWx1ZSkge1xuICAgIHJldHVybiB0b1N0cmluZ18yKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lT2Zmc2V0KHZhbHVlKSB7XG4gICAgcmV0dXJuIHRvU3RyaW5nXzModmFsdWUsIFwiT1wiLCB7fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lc3Bhbih2YWx1ZSkge1xuICAgIHJldHVybiB0b1N0cmluZ180KHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludDY0KHZhbHVlKSB7XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1aW50NjQodmFsdWUpIHtcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaXQoKSB7XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTIoZW5jMSwgZW5jMiwgdjEsIHYyKSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGUzKGVuYzEsIGVuYzIsIGVuYzMsIHYxLCB2MiwgdjMpIHtcbiAgICByZXR1cm4gW2VuYzEodjEpLCBlbmMyKHYyKSwgZW5jMyh2MyldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGU0KGVuYzEsIGVuYzIsIGVuYzMsIGVuYzQsIHYxLCB2MiwgdjMsIHY0KSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MiksIGVuYzModjMpLCBlbmM0KHY0KV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTUoZW5jMSwgZW5jMiwgZW5jMywgZW5jNCwgZW5jNSwgdjEsIHYyLCB2MywgdjQsIHY1KSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MiksIGVuYzModjMpLCBlbmM0KHY0KSwgZW5jNSh2NSldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGU2KGVuYzEsIGVuYzIsIGVuYzMsIGVuYzQsIGVuYzUsIGVuYzYsIHYxLCB2MiwgdjMsIHY0LCB2NSwgdjYpIHtcbiAgICByZXR1cm4gW2VuYzEodjEpLCBlbmMyKHYyKSwgZW5jMyh2MyksIGVuYzQodjQpLCBlbmM1KHY1KSwgZW5jNih2NildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGU3KGVuYzEsIGVuYzIsIGVuYzMsIGVuYzQsIGVuYzUsIGVuYzYsIGVuYzcsIHYxLCB2MiwgdjMsIHY0LCB2NSwgdjYsIHY3KSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MiksIGVuYzModjMpLCBlbmM0KHY0KSwgZW5jNSh2NSksIGVuYzYodjYpLCBlbmM3KHY3KV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTgoZW5jMSwgZW5jMiwgZW5jMywgZW5jNCwgZW5jNSwgZW5jNiwgZW5jNywgZW5jOCwgdjEsIHYyLCB2MywgdjQsIHY1LCB2NiwgdjcsIHY4KSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MiksIGVuYzModjMpLCBlbmM0KHY0KSwgZW5jNSh2NSksIGVuYzYodjYpLCBlbmM3KHY3KSwgZW5jOCh2OCldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwKGtleUVuY29kZXIsIHZhbHVlRW5jb2RlciwgdmFsdWVzKSB7XG4gICAgcmV0dXJuIGxpc3QobWFwXzEoKHR1cGxlZEFyZykgPT4gdHVwbGUyKGtleUVuY29kZXIsIHZhbHVlRW5jb2RlciwgdHVwbGVkQXJnWzBdLCB0dXBsZWRBcmdbMV0pLCB0b0xpc3QodmFsdWVzKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRW51bV9ieXRlKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRW51bV9zYnl0ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVudW1faW50MTYodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFbnVtX3VpbnQxNih2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVudW1faW50KHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRW51bV91aW50MzIodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRldGltZSh2YWx1ZSkge1xuICAgIHJldHVybiB0b1N0cmluZ18zKHZhbHVlLCBcIk9cIiwge30pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcoc3BhY2UsIHZhbHVlKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLCB1bmN1cnJ5KDIsIG51bGwpLCBzb21lKHNwYWNlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb24oZW5jb2Rlcikge1xuICAgIHJldHVybiAoYXJnKSA9PiBkZWZhdWx0QXJnV2l0aChtYXBfMihlbmNvZGVyLCBhcmcpLCAoKSA9PiBuaWwpO1xufVxuXG5mdW5jdGlvbiBhdXRvRW5jb2RlUmVjb3Jkc0FuZFVuaW9ucyhleHRyYSwgY2FzZVN0cmF0ZWd5LCBza2lwTnVsbEZpZWxkLCB0KSB7XG4gICAgY29uc3QgZW5jb2RlclJlZiA9IG5ldyBGU2hhcnBSZWYobnVsbCk7XG4gICAgbGV0IGV4dHJhXzE7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IGZ1bGxOYW1lXzEodCk7XG4gICAgZXh0cmFfMSA9ICgobWF0Y2hWYWx1ZSA9PT0gXCJcIikgPyBleHRyYSA6IGFkZChtYXRjaFZhbHVlLCBlbmNvZGVyUmVmLCBleHRyYSkpO1xuICAgIGxldCBlbmNvZGVyO1xuICAgIGlmIChpc1JlY29yZCh0LCB0cnVlKSkge1xuICAgICAgICBjb25zdCBzZXR0ZXJzID0gbWFwXzMoKGZpKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRLZXkgPSBVdGlsX0Nhc2luZ19jb252ZXJ0KGNhc2VTdHJhdGVneSwgbmFtZShmaSkpO1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlXzEgPSBhdXRvRW5jb2RlcihleHRyYV8xLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIGZpWzFdKTtcbiAgICAgICAgICAgIHJldHVybiAoc291cmNlKSA9PiAoKHRhcmdldCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0UmVjb3JkRmllbGQoc291cmNlLCBmaSk7XG4gICAgICAgICAgICAgICAgaWYgKCghc2tpcE51bGxGaWVsZCkgPyB0cnVlIDogKHNraXBOdWxsRmllbGQgJiYgKCEodmFsdWUgPT0gbnVsbCkpKSkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRbdGFyZ2V0S2V5XT1lbmNvZGVfMSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgZ2V0UmVjb3JkRWxlbWVudHModCwgdHJ1ZSkpO1xuICAgICAgICBlbmNvZGVyID0gKChzb3VyY2VfMSkgPT4gZm9sZCgodGFyZ2V0XzEsIHNldCQpID0+IHNldCQoc291cmNlXzEpKHRhcmdldF8xKSwge30sIHNldHRlcnMpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNVbmlvbih0LCB0cnVlKSkge1xuICAgICAgICBlbmNvZGVyID0gKCh2YWx1ZV8xKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXR0ZXJuSW5wdXQgPSBnZXRVbmlvbkZpZWxkcyh2YWx1ZV8xLCB0LCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IGluZm8gPSBwYXR0ZXJuSW5wdXRbMF07XG4gICAgICAgICAgICBjb25zdCBmaWVsZHMgPSBwYXR0ZXJuSW5wdXRbMV07XG4gICAgICAgICAgICBjb25zdCBtYXRjaFZhbHVlXzEgPSBmaWVsZHMubGVuZ3RoIHwgMDtcbiAgICAgICAgICAgIGlmIChtYXRjaFZhbHVlXzEgPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmFtZShpbmZvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlbiA9IG1hdGNoVmFsdWVfMSB8IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRUeXBlcyA9IGdldFVuaW9uQ2FzZUZpZWxkcyhpbmZvKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRfMiA9IGZpbGwobmV3IEFycmF5KGxlbiArIDEpLCAwLCBsZW4gKyAxLCBudWxsKTtcbiAgICAgICAgICAgICAgICB0YXJnZXRfMlswXSA9IG5hbWUoaW5mbyk7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gbGVuOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5jb2RlXzIgPSBhdXRvRW5jb2RlcihleHRyYV8xLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIGZpZWxkVHlwZXNbaSAtIDFdWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0XzJbaV0gPSBlbmNvZGVfMihmaWVsZHNbaSAtIDFdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldF8yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBtZXNzYWdlO1xuICAgICAgICBjb25zdCBhcmcgPSBmdWxsTmFtZV8xKHQpO1xuICAgICAgICBtZXNzYWdlID0gdG9UZXh0KHByaW50ZihcIkNhbm5vdCBnZW5lcmF0ZSBhdXRvIGVuY29kZXIgZm9yICVzLiBQbGVhc2UgcGFzcyBhbiBleHRyYSBlbmNvZGVyLlxcblxcbkRvY3VtZW50YXRpb24gYXZhaWxhYmxlIGF0OiBodHRwczovL3Rob3RoLW9yZy5naXRodWIuaW8vVGhvdGguSnNvbi9kb2N1bWVudGF0aW9uL2F1dG8vZXh0cmEtY29kZXJzLmh0bWwjcmVhZHktdG8tdXNlLWV4dHJhLWNvZGVyc1wiKSkoYXJnKTtcbiAgICAgICAgdGhyb3cgKG5ldyBFcnJvcihtZXNzYWdlKSk7XG4gICAgfVxuICAgIGVuY29kZXJSZWYuY29udGVudHMgPSBlbmNvZGVyO1xuICAgIHJldHVybiBlbmNvZGVyO1xufVxuXG5mdW5jdGlvbiBhdXRvRW5jb2RlcihleHRyYSwgY2FzZVN0cmF0ZWd5LCBza2lwTnVsbEZpZWxkLCB0KSB7XG4gICAgY29uc3QgZnVsbG5hbWUgPSBmdWxsTmFtZV8xKHQpO1xuICAgIGNvbnN0IG1hdGNoVmFsdWUgPSB0cnlGaW5kKGZ1bGxuYW1lLCBleHRyYSk7XG4gICAgaWYgKG1hdGNoVmFsdWUgPT0gbnVsbCkge1xuICAgICAgICBpZiAoaXNBcnJheSh0KSkge1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlciA9IGF1dG9FbmNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIGdldEVsZW1lbnRUeXBlKHQpKTtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWUpID0+IHNlcShtYXBfNChlbmNvZGVyLCB2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzRW51bSh0KSkge1xuICAgICAgICAgICAgY29uc3QgZW51bVR5cGUgPSBmdWxsTmFtZV8xKGdldEVudW1VbmRlcmx5aW5nVHlwZSh0KSk7XG4gICAgICAgICAgICBpZiAoZW51bVR5cGUgPT09IFwiU3lzdGVtLlNCeXRlXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHZhbHVlXzEpID0+IHZhbHVlXzE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlbnVtVHlwZSA9PT0gXCJTeXN0ZW0uQnl0ZVwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8zKSA9PiB2YWx1ZV8zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZW51bVR5cGUgPT09IFwiU3lzdGVtLkludDE2XCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHZhbHVlXzUpID0+IHZhbHVlXzU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlbnVtVHlwZSA9PT0gXCJTeXN0ZW0uVUludDE2XCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHZhbHVlXzcpID0+IHZhbHVlXzc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlbnVtVHlwZSA9PT0gXCJTeXN0ZW0uSW50MzJcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfOSkgPT4gdmFsdWVfOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGVudW1UeXBlID09PSBcIlN5c3RlbS5VSW50MzJcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfMTEpID0+IHZhbHVlXzExO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXJnID0gZnVsbE5hbWVfMSh0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbG9fMSA9IHRvRmFpbChwcmludGYoXCJDYW5ub3QgZ2VuZXJhdGUgYXV0byBlbmNvZGVyIGZvciAlcy5cXG5UaG90aC5Kc29uLk5ldCBvbmx5IHN1cHBvcnQgdGhlIGZvbGxvd2luZyBlbnVtIHR5cGVzOlxcbi0gc2J5dGVcXG4tIGJ5dGVcXG4tIGludDE2XFxuLSB1aW50MTZcXG4tIGludFxcbi0gdWludDMyXFxuXFxuSWYgeW91IGNhblxcdTAwMjd0IHVzZSBvbmUgb2YgdGhlc2UgdHlwZXMsIHBsZWFzZSBwYXNzIGFuIGV4dHJhIGVuY29kZXIuXFxuXFxuRG9jdW1lbnRhdGlvbiBhdmFpbGFibGUgYXQ6IGh0dHBzOi8vdGhvdGgtb3JnLmdpdGh1Yi5pby9UaG90aC5Kc29uL2RvY3VtZW50YXRpb24vYXV0by9leHRyYS1jb2RlcnMuaHRtbCNyZWFkeS10by11c2UtZXh0cmEtY29kZXJzXFxuICAgICAgICAgICAgICAgICAgICBcIikpKGFyZyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNsb18xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzR2VuZXJpY1R5cGUodCkpIHtcbiAgICAgICAgICAgIGlmIChpc1R1cGxlKHQpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5jb2RlcnMgPSBtYXBfMygodF8yKSA9PiBhdXRvRW5jb2RlcihleHRyYSwgY2FzZVN0cmF0ZWd5LCBza2lwTnVsbEZpZWxkLCB0XzIpLCBnZXRUdXBsZUVsZW1lbnRzKHQpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHZhbHVlXzEzKSA9PiBzZXEobWFwSW5kZXhlZCgoaSwgeCkgPT4gZW5jb2RlcnNbaV0oeCksIGdldFR1cGxlRmllbGRzKHZhbHVlXzEzKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnVsbG5hbWVfMSA9IGZ1bGxOYW1lXzEoZ2V0R2VuZXJpY1R5cGVEZWZpbml0aW9uKHQpKTtcbiAgICAgICAgICAgICAgICBpZiAoZnVsbG5hbWVfMSA9PT0gXCJNaWNyb3NvZnQuRlNoYXJwLkNvcmUuRlNoYXJwT3B0aW9uYDFbU3lzdGVtLk9iamVjdF1cIikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmNvZGVyXzIgPSBuZXcgTGF6eSgoKSA9PiBvcHRpb24oYXV0b0VuY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgc2tpcE51bGxGaWVsZCwgZ2V0R2VuZXJpY3ModClbMF0pKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfMTQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZV8xNCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5pbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbmNvZGVyXzIuVmFsdWUodmFsdWVfMTQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmICgoKGZ1bGxuYW1lXzEgPT09IFwiTWljcm9zb2Z0LkZTaGFycC5Db2xsZWN0aW9ucy5GU2hhcnBMaXN0YDFbU3lzdGVtLk9iamVjdF1cIikgPyB0cnVlIDogKGZ1bGxuYW1lXzEgPT09IFwiTWljcm9zb2Z0LkZTaGFycC5Db2xsZWN0aW9ucy5GU2hhcnBTZXRgMVtTeXN0ZW0uT2JqZWN0XVwiKSkgPyB0cnVlIDogKGZ1bGxuYW1lXzEgPT09IFwiU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUVudW1lcmFibGVgMVtTeXN0ZW0uT2JqZWN0XVwiKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmNvZGVyXzMgPSBhdXRvRW5jb2RlcihleHRyYSwgY2FzZVN0cmF0ZWd5LCBza2lwTnVsbEZpZWxkLCBnZXRHZW5lcmljcyh0KVswXSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfMTUpID0+IHNlcShtYXBfNChlbmNvZGVyXzMsIHZhbHVlXzE1KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lXzEgPT09IFwiTWljcm9zb2Z0LkZTaGFycC5Db2xsZWN0aW9ucy5GU2hhcnBNYXBgMltTeXN0ZW0uT2JqZWN0LFN5c3RlbS5PYmplY3RdXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5VHlwZSA9IGdldEdlbmVyaWNzKHQpWzBdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZUVuY29kZXIgPSBhdXRvRW5jb2RlcihleHRyYSwgY2FzZVN0cmF0ZWd5LCBza2lwTnVsbEZpZWxkLCBnZXRHZW5lcmljcyh0KVsxXSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICgoZnVsbE5hbWVfMShrZXlUeXBlKSA9PT0gXCJTeXN0ZW0uU3RyaW5nXCIpID8gdHJ1ZSA6IChmdWxsTmFtZV8xKGtleVR5cGUpID09PSBcIlN5c3RlbS5HdWlkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHZhbHVlXzE2KSA9PiBmb2xkKCh0YXJnZXQsIF9hcmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVQYXR0ZXJuUmVzdWx0ID0gX2FyZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRbYWN0aXZlUGF0dGVyblJlc3VsdFswXV09dmFsdWVFbmNvZGVyKGFjdGl2ZVBhdHRlcm5SZXN1bHRbMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB7fSwgdmFsdWVfMTYpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGtleUVuY29kZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9fMiA9IGF1dG9FbmNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIGtleVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5RW5jb2RlciA9IChjbG9fMik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHZhbHVlXzE3KSA9PiBzZXEobWFwXzQoKF9hcmdfMSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVBhdHRlcm5SZXN1bHRfMSA9IF9hcmdfMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW2tleUVuY29kZXIoYWN0aXZlUGF0dGVyblJlc3VsdF8xWzBdKSwgdmFsdWVFbmNvZGVyKGFjdGl2ZVBhdHRlcm5SZXN1bHRfMVsxXSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgdmFsdWVfMTcpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF1dG9FbmNvZGVSZWNvcmRzQW5kVW5pb25zKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uQm9vbGVhblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlXzE4KSA9PiB2YWx1ZV8xODtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJNaWNyb3NvZnQuRlNoYXJwLkNvcmUuVW5pdFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5pdDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uU3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVfMjApID0+IHZhbHVlXzIwO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5DaGFyXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVfMjIpID0+IHZhbHVlXzIyO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5TQnl0ZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlXzI0KSA9PiB2YWx1ZV8yNDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uQnl0ZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlXzI2KSA9PiB2YWx1ZV8yNjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uSW50MTZcIikge1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8yOCkgPT4gdmFsdWVfMjg7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlVJbnQxNlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlXzMwKSA9PiB2YWx1ZV8zMDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uSW50MzJcIikge1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8zMikgPT4gdmFsdWVfMzI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlVJbnQzMlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlXzM0KSA9PiB2YWx1ZV8zNDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uRG91YmxlXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVfMzYpID0+IHZhbHVlXzM2O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5TaW5nbGVcIikge1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8zOCkgPT4gdmFsdWVfMzg7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLkRhdGVUaW1lXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRldGltZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uRGF0ZVRpbWVPZmZzZXRcIikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGV0aW1lT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5UaW1lU3BhblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGltZXNwYW47XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLkd1aWRcIikge1xuICAgICAgICAgICAgcmV0dXJuIGd1aWQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLk9iamVjdFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHhfMSkgPT4geF8xO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGF1dG9FbmNvZGVSZWNvcmRzQW5kVW5pb25zKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIHQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBlbmNvZGVyUmVmID0gbWF0Y2hWYWx1ZTtcbiAgICAgICAgcmV0dXJuICh2KSA9PiBlbmNvZGVyUmVmLmNvbnRlbnRzKHYpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gbWFrZUV4dHJhKGV4dHJhKSB7XG4gICAgaWYgKGV4dHJhICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG1hcF81KChfYXJnLCB0dXBsZWRBcmcpID0+IChuZXcgRlNoYXJwUmVmKHR1cGxlZEFyZ1swXSkpLCBleHRyYS5Db2RlcnMpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGVtcHR5KCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXV0byB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXV0byRyZWZsZWN0aW9uKCkge1xuICAgIHJldHVybiBjbGFzc190eXBlKFwiVGhvdGguSnNvbi5FbmNvZGUuQXV0b1wiLCB2b2lkIDAsIEF1dG8pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXV0b19nZW5lcmF0ZUJveGVkRW5jb2RlckNhY2hlZF9aMjBCN0I0MzAodCwgY2FzZVN0cmF0ZWd5LCBleHRyYSwgc2tpcE51bGxGaWVsZCkge1xuICAgIGxldCB5XzEsIHk7XG4gICAgY29uc3QgY2FzZVN0cmF0ZWd5XzEgPSBkZWZhdWx0QXJnKGNhc2VTdHJhdGVneSwgbmV3IENhc2VTdHJhdGVneSgwKSk7XG4gICAgY29uc3Qgc2tpcE51bGxGaWVsZF8xID0gZGVmYXVsdEFyZyhza2lwTnVsbEZpZWxkLCB0cnVlKTtcbiAgICByZXR1cm4gVXRpbF9DYWNoZSQxX19HZXRPckFkZF80Mzk4MTQ2NChVdGlsX0NhY2hlZEVuY29kZXJzLCAoeV8xID0gKCh5ID0gZnVsbE5hbWVfMSh0KSwgdG9TdHJpbmdfNShjYXNlU3RyYXRlZ3lfMSkgKyB5KSksIGRlZmF1bHRBcmcobWFwXzIoKGUpID0+IGUuSGFzaCwgZXh0cmEpLCBcIlwiKSArIHlfMSksICgpID0+IGF1dG9FbmNvZGVyKG1ha2VFeHRyYShleHRyYSksIGNhc2VTdHJhdGVneV8xLCBza2lwTnVsbEZpZWxkXzEsIHQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEF1dG9fZ2VuZXJhdGVCb3hlZEVuY29kZXJfWjIwQjdCNDMwKHQsIGNhc2VTdHJhdGVneSwgZXh0cmEsIHNraXBOdWxsRmllbGQpIHtcbiAgICBjb25zdCBjYXNlU3RyYXRlZ3lfMSA9IGRlZmF1bHRBcmcoY2FzZVN0cmF0ZWd5LCBuZXcgQ2FzZVN0cmF0ZWd5KDApKTtcbiAgICBjb25zdCBza2lwTnVsbEZpZWxkXzEgPSBkZWZhdWx0QXJnKHNraXBOdWxsRmllbGQsIHRydWUpO1xuICAgIHJldHVybiBhdXRvRW5jb2RlcihtYWtlRXh0cmEoZXh0cmEpLCBjYXNlU3RyYXRlZ3lfMSwgc2tpcE51bGxGaWVsZF8xLCB0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShzcGFjZSwgdmFsdWUpIHtcbiAgICByZXR1cm4gdG9TdHJpbmcoc3BhY2UsIHZhbHVlKTtcbn1cblxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/Encode.fs.js\n");
|
|
3427
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Auto: () => (/* binding */ Auto),\n/* harmony export */ Auto$reflection: () => (/* binding */ Auto$reflection),\n/* harmony export */ Auto_generateBoxedEncoderCached_Z20B7B430: () => (/* binding */ Auto_generateBoxedEncoderCached_Z20B7B430),\n/* harmony export */ Auto_generateBoxedEncoder_Z20B7B430: () => (/* binding */ Auto_generateBoxedEncoder_Z20B7B430),\n/* harmony export */ Enum_byte: () => (/* binding */ Enum_byte),\n/* harmony export */ Enum_int: () => (/* binding */ Enum_int),\n/* harmony export */ Enum_int16: () => (/* binding */ Enum_int16),\n/* harmony export */ Enum_sbyte: () => (/* binding */ Enum_sbyte),\n/* harmony export */ Enum_uint16: () => (/* binding */ Enum_uint16),\n/* harmony export */ Enum_uint32: () => (/* binding */ Enum_uint32),\n/* harmony export */ bigint: () => (/* binding */ bigint),\n/* harmony export */ datetime: () => (/* binding */ datetime),\n/* harmony export */ datetimeOffset: () => (/* binding */ datetimeOffset),\n/* harmony export */ decimal: () => (/* binding */ decimal),\n/* harmony export */ dict: () => (/* binding */ dict),\n/* harmony export */ encode: () => (/* binding */ encode),\n/* harmony export */ guid: () => (/* binding */ guid),\n/* harmony export */ int64: () => (/* binding */ int64),\n/* harmony export */ list: () => (/* binding */ list),\n/* harmony export */ map: () => (/* binding */ map),\n/* harmony export */ nil: () => (/* binding */ nil),\n/* harmony export */ object: () => (/* binding */ object),\n/* harmony export */ option: () => (/* binding */ option),\n/* harmony export */ seq: () => (/* binding */ seq),\n/* harmony export */ timespan: () => (/* binding */ timespan),\n/* harmony export */ toString: () => (/* binding */ toString),\n/* harmony export */ tuple2: () => (/* binding */ tuple2),\n/* harmony export */ tuple3: () => (/* binding */ tuple3),\n/* harmony export */ tuple4: () => (/* binding */ tuple4),\n/* harmony export */ tuple5: () => (/* binding */ tuple5),\n/* harmony export */ tuple6: () => (/* binding */ tuple6),\n/* harmony export */ tuple7: () => (/* binding */ tuple7),\n/* harmony export */ tuple8: () => (/* binding */ tuple8),\n/* harmony export */ uint64: () => (/* binding */ uint64),\n/* harmony export */ unit: () => (/* binding */ unit)\n/* harmony export */ });\n/* harmony import */ var _fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fable-library.3.7.20/Decimal.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Decimal.js\");\n/* harmony import */ var _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fable-library.3.7.20/Util.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Util.js\");\n/* harmony import */ var _fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fable-library.3.7.20/Map.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Map.js\");\n/* harmony import */ var _fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../fable-library.3.7.20/BigInt.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/BigInt.js\");\n/* harmony import */ var _fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../fable-library.3.7.20/Date.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Date.js\");\n/* harmony import */ var _fable_library_3_7_20_TimeSpan_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../fable-library.3.7.20/TimeSpan.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/TimeSpan.js\");\n/* harmony import */ var _fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../fable-library.3.7.20/List.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/List.js\");\n/* harmony import */ var _fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../fable-library.3.7.20/Option.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Option.js\");\n/* harmony import */ var _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../fable-library.3.7.20/Array.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Array.js\");\n/* harmony import */ var _Types_fs_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Types.fs.js */ \"./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Types.fs.js\");\n/* harmony import */ var _fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../fable-library.3.7.20/Seq.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Seq.js\");\n/* harmony import */ var _fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../fable-library.3.7.20/String.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/String.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction guid(value) {\n return value;\n}\n\nfunction decimal(value) {\n return (0,_fable_library_3_7_20_Decimal_js__WEBPACK_IMPORTED_MODULE_0__.toString)(value);\n}\n\nconst nil = null;\n\nfunction object(values) {\n const o = {};\n const enumerator = (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__.getEnumerator)(values);\n try {\n while (enumerator[\"System.Collections.IEnumerator.MoveNext\"]()) {\n const forLoopVar = enumerator[\"System.Collections.Generic.IEnumerator`1.get_Current\"]();\n o[forLoopVar[0]] = forLoopVar[1];\n }\n }\n finally {\n (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__.disposeSafe)(enumerator);\n }\n return o;\n}\n\nfunction list(values) {\n return Array.from(values);\n}\n\nfunction seq(values) {\n return Array.from(values);\n}\n\nfunction dict(values) {\n return object((0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.toList)(values));\n}\n\nfunction bigint(value) {\n return (0,_fable_library_3_7_20_BigInt_js__WEBPACK_IMPORTED_MODULE_3__.toString)(value);\n}\n\nfunction datetimeOffset(value) {\n return (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_4__.toString)(value, \"O\", {});\n}\n\nfunction timespan(value) {\n return (0,_fable_library_3_7_20_TimeSpan_js__WEBPACK_IMPORTED_MODULE_5__.toString)(value);\n}\n\nfunction int64(value) {\n return String(value);\n}\n\nfunction uint64(value) {\n return String(value);\n}\n\nfunction unit() {\n return null;\n}\n\nfunction tuple2(enc1, enc2, v1, v2) {\n return [enc1(v1), enc2(v2)];\n}\n\nfunction tuple3(enc1, enc2, enc3, v1, v2, v3) {\n return [enc1(v1), enc2(v2), enc3(v3)];\n}\n\nfunction tuple4(enc1, enc2, enc3, enc4, v1, v2, v3, v4) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4)];\n}\n\nfunction tuple5(enc1, enc2, enc3, enc4, enc5, v1, v2, v3, v4, v5) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4), enc5(v5)];\n}\n\nfunction tuple6(enc1, enc2, enc3, enc4, enc5, enc6, v1, v2, v3, v4, v5, v6) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4), enc5(v5), enc6(v6)];\n}\n\nfunction tuple7(enc1, enc2, enc3, enc4, enc5, enc6, enc7, v1, v2, v3, v4, v5, v6, v7) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4), enc5(v5), enc6(v6), enc7(v7)];\n}\n\nfunction tuple8(enc1, enc2, enc3, enc4, enc5, enc6, enc7, enc8, v1, v2, v3, v4, v5, v6, v7, v8) {\n return [enc1(v1), enc2(v2), enc3(v3), enc4(v4), enc5(v5), enc6(v6), enc7(v7), enc8(v8)];\n}\n\nfunction map(keyEncoder, valueEncoder, values) {\n return list((0,_fable_library_3_7_20_List_js__WEBPACK_IMPORTED_MODULE_6__.map)((tupledArg) => tuple2(keyEncoder, valueEncoder, tupledArg[0], tupledArg[1]), (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.toList)(values)));\n}\n\nfunction Enum_byte(value) {\n return value;\n}\n\nfunction Enum_sbyte(value) {\n return value;\n}\n\nfunction Enum_int16(value) {\n return value;\n}\n\nfunction Enum_uint16(value) {\n return value;\n}\n\nfunction Enum_int(value) {\n return value;\n}\n\nfunction Enum_uint32(value) {\n return value;\n}\n\nfunction datetime(value) {\n return (0,_fable_library_3_7_20_Date_js__WEBPACK_IMPORTED_MODULE_4__.toString)(value, \"O\", {});\n}\n\nfunction toString(space, value) {\n return JSON.stringify(value, (0,_fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__.uncurry)(2, void 0), (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.some)(space));\n}\n\nfunction option(encoder) {\n return (arg) => (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArgWith)((0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.map)(encoder, arg), () => nil);\n}\n\nfunction autoEncodeRecordsAndUnions(extra, caseStrategy, skipNullField, t) {\n const encoderRef = new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_8__.FSharpRef(null);\n let extra_1;\n const matchValue = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t);\n extra_1 = ((matchValue === \"\") ? extra : (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.add)(matchValue, encoderRef, extra));\n let encoder;\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isRecord)(t, true)) {\n const setters = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_10__.map)((fi) => {\n const targetKey = (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.Util_Casing_convert)(caseStrategy, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.name)(fi));\n const encode_1 = autoEncoder(extra_1, caseStrategy, skipNullField, fi[1]);\n return (source) => ((target) => {\n const value = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getRecordField)(source, fi);\n if ((!skipNullField) ? true : (skipNullField && (!(value == null)))) {\n target[targetKey]=encode_1(value);\n }\n return target;\n });\n }, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getRecordElements)(t, true));\n encoder = ((source_1) => (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.fold)((target_1, set$) => set$(source_1)(target_1), {}, setters));\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isUnion)(t, true)) {\n encoder = ((value_1) => {\n const patternInput = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getUnionFields)(value_1, t, true);\n const info = patternInput[0];\n const fields = patternInput[1];\n const matchValue_1 = fields.length | 0;\n if (matchValue_1 === 0) {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.name)(info);\n }\n else {\n const len = matchValue_1 | 0;\n const fieldTypes = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getUnionCaseFields)(info);\n const target_2 = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_10__.fill)(new Array(len + 1), 0, len + 1, null);\n target_2[0] = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.name)(info);\n for (let i = 1; i <= len; i++) {\n const encode_2 = autoEncoder(extra_1, caseStrategy, skipNullField, fieldTypes[i - 1][1]);\n target_2[i] = encode_2(fields[i - 1]);\n }\n return target_2;\n }\n });\n }\n else {\n let message;\n const arg = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t);\n message = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toText)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.printf)(\"Cannot generate auto encoder for %s. Please pass an extra encoder.\\n\\nDocumentation available at: https://thoth-org.github.io/Thoth.Json/documentation/auto/extra-coders.html#ready-to-use-extra-coders\"))(arg);\n throw (new Error(message));\n }\n encoderRef.contents = encoder;\n return encoder;\n}\n\nfunction autoEncoder(extra, caseStrategy, skipNullField, t) {\n const fullname = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t);\n const matchValue = (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.tryFind)(fullname, extra);\n if (matchValue == null) {\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isArray)(t)) {\n const encoder = autoEncoder(extra, caseStrategy, skipNullField, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getElementType)(t));\n return (value) => seq((0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.map)(encoder, value));\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isEnum)(t)) {\n const enumType = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getEnumUnderlyingType)(t));\n if (enumType === \"System.SByte\") {\n return (value_1) => value_1;\n }\n else if (enumType === \"System.Byte\") {\n return (value_3) => value_3;\n }\n else if (enumType === \"System.Int16\") {\n return (value_5) => value_5;\n }\n else if (enumType === \"System.UInt16\") {\n return (value_7) => value_7;\n }\n else if (enumType === \"System.Int32\") {\n return (value_9) => value_9;\n }\n else if (enumType === \"System.UInt32\") {\n return (value_11) => value_11;\n }\n else {\n const arg = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t);\n const clo_1 = (0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.toFail)((0,_fable_library_3_7_20_String_js__WEBPACK_IMPORTED_MODULE_13__.printf)(\"Cannot generate auto encoder for %s.\\nThoth.Json.Net only support the following enum types:\\n- sbyte\\n- byte\\n- int16\\n- uint16\\n- int\\n- uint32\\n\\nIf you can\\u0027t use one of these types, please pass an extra encoder.\\n\\nDocumentation available at: https://thoth-org.github.io/Thoth.Json/documentation/auto/extra-coders.html#ready-to-use-extra-coders\\n \"))(arg);\n return clo_1;\n }\n }\n else if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isGenericType)(t)) {\n if ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.isTuple)(t)) {\n const encoders = (0,_fable_library_3_7_20_Array_js__WEBPACK_IMPORTED_MODULE_10__.map)((t_2) => autoEncoder(extra, caseStrategy, skipNullField, t_2), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getTupleElements)(t));\n return (value_13) => seq((0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.mapIndexed)((i, x) => encoders[i](x), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getTupleFields)(value_13)));\n }\n else {\n const fullname_1 = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenericTypeDefinition)(t));\n if (fullname_1 === \"Microsoft.FSharp.Core.FSharpOption`1[System.Object]\") {\n const encoder_2 = new _fable_library_3_7_20_Util_js__WEBPACK_IMPORTED_MODULE_1__.Lazy(() => option(autoEncoder(extra, caseStrategy, skipNullField, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenerics)(t)[0])));\n return (value_14) => {\n if (value_14 == null) {\n return nil;\n }\n else {\n return encoder_2.Value(value_14);\n }\n };\n }\n else if (((fullname_1 === \"Microsoft.FSharp.Collections.FSharpList`1[System.Object]\") ? true : (fullname_1 === \"Microsoft.FSharp.Collections.FSharpSet`1[System.Object]\")) ? true : (fullname_1 === \"System.Collections.Generic.IEnumerable`1[System.Object]\")) {\n const encoder_3 = autoEncoder(extra, caseStrategy, skipNullField, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenerics)(t)[0]);\n return (value_15) => seq((0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.map)(encoder_3, value_15));\n }\n else if (fullname_1 === \"Microsoft.FSharp.Collections.FSharpMap`2[System.Object,System.Object]\") {\n const keyType = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenerics)(t)[0];\n const valueEncoder = autoEncoder(extra, caseStrategy, skipNullField, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.getGenerics)(t)[1]);\n if (((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(keyType) === \"System.String\") ? true : ((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(keyType) === \"System.Guid\")) {\n return (value_16) => (0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.fold)((target, _arg) => {\n const activePatternResult = _arg;\n target[activePatternResult[0]]=valueEncoder(activePatternResult[1]);\n return target;\n }, {}, value_16);\n }\n else {\n let keyEncoder;\n const clo_2 = autoEncoder(extra, caseStrategy, skipNullField, keyType);\n keyEncoder = (clo_2);\n return (value_17) => seq((0,_fable_library_3_7_20_Seq_js__WEBPACK_IMPORTED_MODULE_12__.map)((_arg_1) => {\n const activePatternResult_1 = _arg_1;\n return [keyEncoder(activePatternResult_1[0]), valueEncoder(activePatternResult_1[1])];\n }, value_17));\n }\n }\n else {\n return autoEncodeRecordsAndUnions(extra, caseStrategy, skipNullField, t);\n }\n }\n }\n else if (fullname === \"System.Boolean\") {\n return (value_18) => value_18;\n }\n else if (fullname === \"Microsoft.FSharp.Core.Unit\") {\n return unit;\n }\n else if (fullname === \"System.String\") {\n return (value_20) => value_20;\n }\n else if (fullname === \"System.Char\") {\n return (value_22) => value_22;\n }\n else if (fullname === \"System.SByte\") {\n return (value_24) => value_24;\n }\n else if (fullname === \"System.Byte\") {\n return (value_26) => value_26;\n }\n else if (fullname === \"System.Int16\") {\n return (value_28) => value_28;\n }\n else if (fullname === \"System.UInt16\") {\n return (value_30) => value_30;\n }\n else if (fullname === \"System.Int32\") {\n return (value_32) => value_32;\n }\n else if (fullname === \"System.UInt32\") {\n return (value_34) => value_34;\n }\n else if (fullname === \"System.Double\") {\n return (value_36) => value_36;\n }\n else if (fullname === \"System.Single\") {\n return (value_38) => value_38;\n }\n else if (fullname === \"System.DateTime\") {\n return datetime;\n }\n else if (fullname === \"System.DateTimeOffset\") {\n return datetimeOffset;\n }\n else if (fullname === \"System.TimeSpan\") {\n return timespan;\n }\n else if (fullname === \"System.Guid\") {\n return guid;\n }\n else if (fullname === \"System.Object\") {\n return (x_1) => x_1;\n }\n else {\n return autoEncodeRecordsAndUnions(extra, caseStrategy, skipNullField, t);\n }\n }\n else {\n const encoderRef = matchValue;\n return (v) => encoderRef.contents(v);\n }\n}\n\nfunction makeExtra(extra) {\n if (extra != null) {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.map)((_arg, tupledArg) => (new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_8__.FSharpRef(tupledArg[0])), extra.Coders);\n }\n else {\n return (0,_fable_library_3_7_20_Map_js__WEBPACK_IMPORTED_MODULE_2__.empty)();\n }\n}\n\nclass Auto {\n constructor() {\n }\n}\n\nfunction Auto$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.class_type)(\"Thoth.Json.Encode.Auto\", void 0, Auto);\n}\n\nfunction Auto_generateBoxedEncoderCached_Z20B7B430(t, caseStrategy, extra, skipNullField) {\n let y_1, y;\n const caseStrategy_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)(caseStrategy, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.CaseStrategy(0));\n const skipNullField_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)(skipNullField, true);\n return (0,_Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.Util_Cache$1__GetOrAdd_43981464)(_Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.Util_CachedEncoders, (y_1 = ((y = (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_9__.fullName)(t), (0,_fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_8__.toString)(caseStrategy_1) + y)), (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)((0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.map)((e) => e.Hash, extra), \"\") + y_1), () => autoEncoder(makeExtra(extra), caseStrategy_1, skipNullField_1, t));\n}\n\nfunction Auto_generateBoxedEncoder_Z20B7B430(t, caseStrategy, extra, skipNullField) {\n const caseStrategy_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)(caseStrategy, new _Types_fs_js__WEBPACK_IMPORTED_MODULE_11__.CaseStrategy(0));\n const skipNullField_1 = (0,_fable_library_3_7_20_Option_js__WEBPACK_IMPORTED_MODULE_7__.defaultArg)(skipNullField, true);\n return autoEncoder(makeExtra(extra), caseStrategy_1, skipNullField_1, t);\n}\n\nfunction encode(space, value) {\n return toString(space, value);\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9UaG90aC5Kc29uLjEwLjIuMC9FbmNvZGUuZnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUE0RTtBQUNnQjtBQUNEO0FBQ2hCO0FBQ0Y7QUFDSTtBQUNkO0FBQ29DO0FBQ2Q7QUFDK1A7QUFDOVE7QUFDa0Q7QUFDeEM7QUFDTDs7QUFFcEU7QUFDUDtBQUNBOztBQUVPO0FBQ1AsV0FBVywwRUFBVTtBQUNyQjs7QUFFTzs7QUFFQTtBQUNQO0FBQ0EsdUJBQXVCLDRFQUFhO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSwwRUFBVztBQUNuQjtBQUNBO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQLGtCQUFrQixvRUFBTTtBQUN4Qjs7QUFFTztBQUNQLFdBQVcseUVBQVU7QUFDckI7O0FBRU87QUFDUCxXQUFXLHVFQUFVLGVBQWU7QUFDcEM7O0FBRU87QUFDUCxXQUFXLDJFQUFVO0FBQ3JCOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQLGdCQUFnQixrRUFBSyw4RUFBOEUsb0VBQU07QUFDekc7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7O0FBRU87QUFDUCxXQUFXLHVFQUFVLGVBQWU7QUFDcEM7O0FBRU87QUFDUCxpQ0FBaUMsc0VBQU8sYUFBYSxxRUFB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TztBQUNQO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsK0VBQVU7QUFDckI7O0FBRU87QUFDUDtBQUNBLDJCQUEyQiwyRUFBVSxtQkFBbUIsdURBQVk7QUFDcEUsNEJBQTRCLDJFQUFVO0FBQ3RDLFdBQVcsOEVBQStCLENBQUMsOERBQW1CLGVBQWUsNkVBQVUsS0FBSyx3RUFBVSx3QkFBd0IsMkVBQVUsQ0FBQyxvRUFBSztBQUM5STs7QUFFTztBQUNQLDJCQUEyQiwyRUFBVSxtQkFBbUIsdURBQVk7QUFDcEUsNEJBQTRCLDJFQUFVO0FBQ3RDO0FBQ0E7O0FBRU87QUFDUDtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGZsYXJlaHIvd29ya2Zsb3dzLWFwcC8uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL1Rob3RoLkpzb24uMTAuMi4wL0VuY29kZS5mcy5qcz83YmYxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvU3RyaW5nIGFzIHRvU3RyaW5nXzEgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvRGVjaW1hbC5qc1wiO1xuaW1wb3J0IHsgTGF6eSwgdW5jdXJyeSwgZGlzcG9zZVNhZmUsIGdldEVudW1lcmF0b3IgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvVXRpbC5qc1wiO1xuaW1wb3J0IHsgZW1wdHksIG1hcCBhcyBtYXBfNSwgdHJ5RmluZCwgYWRkLCB0b0xpc3QgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvTWFwLmpzXCI7XG5pbXBvcnQgeyB0b1N0cmluZyBhcyB0b1N0cmluZ18yIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0JpZ0ludC5qc1wiO1xuaW1wb3J0IHsgdG9TdHJpbmcgYXMgdG9TdHJpbmdfMyB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9EYXRlLmpzXCI7XG5pbXBvcnQgeyB0b1N0cmluZyBhcyB0b1N0cmluZ180IH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1RpbWVTcGFuLmpzXCI7XG5pbXBvcnQgeyBtYXAgYXMgbWFwXzEgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvTGlzdC5qc1wiO1xuaW1wb3J0IHsgZGVmYXVsdEFyZywgbWFwIGFzIG1hcF8yLCBkZWZhdWx0QXJnV2l0aCwgc29tZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9PcHRpb24uanNcIjtcbmltcG9ydCB7IHRvU3RyaW5nIGFzIHRvU3RyaW5nXzUsIEZTaGFycFJlZiB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9UeXBlcy5qc1wiO1xuaW1wb3J0IHsgY2xhc3NfdHlwZSwgZ2V0R2VuZXJpY3MsIGdldEdlbmVyaWNUeXBlRGVmaW5pdGlvbiwgZ2V0VHVwbGVGaWVsZHMsIGdldFR1cGxlRWxlbWVudHMsIGlzVHVwbGUsIGlzR2VuZXJpY1R5cGUsIGdldEVudW1VbmRlcmx5aW5nVHlwZSwgaXNFbnVtLCBnZXRFbGVtZW50VHlwZSwgaXNBcnJheSwgZ2V0VW5pb25DYXNlRmllbGRzLCBnZXRVbmlvbkZpZWxkcywgaXNVbmlvbiwgZ2V0UmVjb3JkRWxlbWVudHMsIGdldFJlY29yZEZpZWxkLCBuYW1lLCBpc1JlY29yZCwgZnVsbE5hbWUgYXMgZnVsbE5hbWVfMSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9SZWZsZWN0aW9uLmpzXCI7XG5pbXBvcnQgeyBmaWxsLCBtYXAgYXMgbWFwXzMgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvQXJyYXkuanNcIjtcbmltcG9ydCB7IFV0aWxfQ2FjaGVkRW5jb2RlcnMsIFV0aWxfQ2FjaGUkMV9fR2V0T3JBZGRfNDM5ODE0NjQsIENhc2VTdHJhdGVneSwgVXRpbF9DYXNpbmdfY29udmVydCB9IGZyb20gXCIuL1R5cGVzLmZzLmpzXCI7XG5pbXBvcnQgeyBtYXBJbmRleGVkLCBtYXAgYXMgbWFwXzQsIGZvbGQgfSBmcm9tIFwiLi4vZmFibGUtbGlicmFyeS4zLjcuMjAvU2VxLmpzXCI7XG5pbXBvcnQgeyB0b0ZhaWwsIHByaW50ZiwgdG9UZXh0IH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1N0cmluZy5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ3VpZCh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY2ltYWwodmFsdWUpIHtcbiAgICByZXR1cm4gdG9TdHJpbmdfMSh2YWx1ZSk7XG59XG5cbmV4cG9ydCBjb25zdCBuaWwgPSBudWxsO1xuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0KHZhbHVlcykge1xuICAgIGNvbnN0IG8gPSB7fTtcbiAgICBjb25zdCBlbnVtZXJhdG9yID0gZ2V0RW51bWVyYXRvcih2YWx1ZXMpO1xuICAgIHRyeSB7XG4gICAgICAgIHdoaWxlIChlbnVtZXJhdG9yW1wiU3lzdGVtLkNvbGxlY3Rpb25zLklFbnVtZXJhdG9yLk1vdmVOZXh0XCJdKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvckxvb3BWYXIgPSBlbnVtZXJhdG9yW1wiU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUVudW1lcmF0b3JgMS5nZXRfQ3VycmVudFwiXSgpO1xuICAgICAgICAgICAgb1tmb3JMb29wVmFyWzBdXSA9IGZvckxvb3BWYXJbMV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICAgIGRpc3Bvc2VTYWZlKGVudW1lcmF0b3IpO1xuICAgIH1cbiAgICByZXR1cm4gbztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3QodmFsdWVzKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odmFsdWVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcSh2YWx1ZXMpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh2YWx1ZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGljdCh2YWx1ZXMpIHtcbiAgICByZXR1cm4gb2JqZWN0KHRvTGlzdCh2YWx1ZXMpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJpZ2ludCh2YWx1ZSkge1xuICAgIHJldHVybiB0b1N0cmluZ18yKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lT2Zmc2V0KHZhbHVlKSB7XG4gICAgcmV0dXJuIHRvU3RyaW5nXzModmFsdWUsIFwiT1wiLCB7fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lc3Bhbih2YWx1ZSkge1xuICAgIHJldHVybiB0b1N0cmluZ180KHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludDY0KHZhbHVlKSB7XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1aW50NjQodmFsdWUpIHtcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuaXQoKSB7XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTIoZW5jMSwgZW5jMiwgdjEsIHYyKSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGUzKGVuYzEsIGVuYzIsIGVuYzMsIHYxLCB2MiwgdjMpIHtcbiAgICByZXR1cm4gW2VuYzEodjEpLCBlbmMyKHYyKSwgZW5jMyh2MyldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGU0KGVuYzEsIGVuYzIsIGVuYzMsIGVuYzQsIHYxLCB2MiwgdjMsIHY0KSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MiksIGVuYzModjMpLCBlbmM0KHY0KV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTUoZW5jMSwgZW5jMiwgZW5jMywgZW5jNCwgZW5jNSwgdjEsIHYyLCB2MywgdjQsIHY1KSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MiksIGVuYzModjMpLCBlbmM0KHY0KSwgZW5jNSh2NSldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGU2KGVuYzEsIGVuYzIsIGVuYzMsIGVuYzQsIGVuYzUsIGVuYzYsIHYxLCB2MiwgdjMsIHY0LCB2NSwgdjYpIHtcbiAgICByZXR1cm4gW2VuYzEodjEpLCBlbmMyKHYyKSwgZW5jMyh2MyksIGVuYzQodjQpLCBlbmM1KHY1KSwgZW5jNih2NildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVwbGU3KGVuYzEsIGVuYzIsIGVuYzMsIGVuYzQsIGVuYzUsIGVuYzYsIGVuYzcsIHYxLCB2MiwgdjMsIHY0LCB2NSwgdjYsIHY3KSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MiksIGVuYzModjMpLCBlbmM0KHY0KSwgZW5jNSh2NSksIGVuYzYodjYpLCBlbmM3KHY3KV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dXBsZTgoZW5jMSwgZW5jMiwgZW5jMywgZW5jNCwgZW5jNSwgZW5jNiwgZW5jNywgZW5jOCwgdjEsIHYyLCB2MywgdjQsIHY1LCB2NiwgdjcsIHY4KSB7XG4gICAgcmV0dXJuIFtlbmMxKHYxKSwgZW5jMih2MiksIGVuYzModjMpLCBlbmM0KHY0KSwgZW5jNSh2NSksIGVuYzYodjYpLCBlbmM3KHY3KSwgZW5jOCh2OCldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwKGtleUVuY29kZXIsIHZhbHVlRW5jb2RlciwgdmFsdWVzKSB7XG4gICAgcmV0dXJuIGxpc3QobWFwXzEoKHR1cGxlZEFyZykgPT4gdHVwbGUyKGtleUVuY29kZXIsIHZhbHVlRW5jb2RlciwgdHVwbGVkQXJnWzBdLCB0dXBsZWRBcmdbMV0pLCB0b0xpc3QodmFsdWVzKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRW51bV9ieXRlKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRW51bV9zYnl0ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVudW1faW50MTYodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFbnVtX3VpbnQxNih2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVudW1faW50KHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRW51bV91aW50MzIodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRldGltZSh2YWx1ZSkge1xuICAgIHJldHVybiB0b1N0cmluZ18zKHZhbHVlLCBcIk9cIiwge30pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcoc3BhY2UsIHZhbHVlKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlLCB1bmN1cnJ5KDIsIHZvaWQgMCksIHNvbWUoc3BhY2UpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9wdGlvbihlbmNvZGVyKSB7XG4gICAgcmV0dXJuIChhcmcpID0+IGRlZmF1bHRBcmdXaXRoKG1hcF8yKGVuY29kZXIsIGFyZyksICgpID0+IG5pbCk7XG59XG5cbmZ1bmN0aW9uIGF1dG9FbmNvZGVSZWNvcmRzQW5kVW5pb25zKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIHQpIHtcbiAgICBjb25zdCBlbmNvZGVyUmVmID0gbmV3IEZTaGFycFJlZihudWxsKTtcbiAgICBsZXQgZXh0cmFfMTtcbiAgICBjb25zdCBtYXRjaFZhbHVlID0gZnVsbE5hbWVfMSh0KTtcbiAgICBleHRyYV8xID0gKChtYXRjaFZhbHVlID09PSBcIlwiKSA/IGV4dHJhIDogYWRkKG1hdGNoVmFsdWUsIGVuY29kZXJSZWYsIGV4dHJhKSk7XG4gICAgbGV0IGVuY29kZXI7XG4gICAgaWYgKGlzUmVjb3JkKHQsIHRydWUpKSB7XG4gICAgICAgIGNvbnN0IHNldHRlcnMgPSBtYXBfMygoZmkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldEtleSA9IFV0aWxfQ2FzaW5nX2NvbnZlcnQoY2FzZVN0cmF0ZWd5LCBuYW1lKGZpKSk7XG4gICAgICAgICAgICBjb25zdCBlbmNvZGVfMSA9IGF1dG9FbmNvZGVyKGV4dHJhXzEsIGNhc2VTdHJhdGVneSwgc2tpcE51bGxGaWVsZCwgZmlbMV0pO1xuICAgICAgICAgICAgcmV0dXJuIChzb3VyY2UpID0+ICgodGFyZ2V0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRSZWNvcmRGaWVsZChzb3VyY2UsIGZpKTtcbiAgICAgICAgICAgICAgICBpZiAoKCFza2lwTnVsbEZpZWxkKSA/IHRydWUgOiAoc2tpcE51bGxGaWVsZCAmJiAoISh2YWx1ZSA9PSBudWxsKSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFt0YXJnZXRLZXldPWVuY29kZV8xKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCBnZXRSZWNvcmRFbGVtZW50cyh0LCB0cnVlKSk7XG4gICAgICAgIGVuY29kZXIgPSAoKHNvdXJjZV8xKSA9PiBmb2xkKCh0YXJnZXRfMSwgc2V0JCkgPT4gc2V0JChzb3VyY2VfMSkodGFyZ2V0XzEpLCB7fSwgc2V0dGVycykpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpc1VuaW9uKHQsIHRydWUpKSB7XG4gICAgICAgIGVuY29kZXIgPSAoKHZhbHVlXzEpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhdHRlcm5JbnB1dCA9IGdldFVuaW9uRmllbGRzKHZhbHVlXzEsIHQsIHRydWUpO1xuICAgICAgICAgICAgY29uc3QgaW5mbyA9IHBhdHRlcm5JbnB1dFswXTtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IHBhdHRlcm5JbnB1dFsxXTtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoVmFsdWVfMSA9IGZpZWxkcy5sZW5ndGggfCAwO1xuICAgICAgICAgICAgaWYgKG1hdGNoVmFsdWVfMSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuYW1lKGluZm8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGVuID0gbWF0Y2hWYWx1ZV8xIHwgMDtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFR5cGVzID0gZ2V0VW5pb25DYXNlRmllbGRzKGluZm8pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldF8yID0gZmlsbChuZXcgQXJyYXkobGVuICsgMSksIDAsIGxlbiArIDEsIG51bGwpO1xuICAgICAgICAgICAgICAgIHRhcmdldF8yWzBdID0gbmFtZShpbmZvKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBsZW47IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmNvZGVfMiA9IGF1dG9FbmNvZGVyKGV4dHJhXzEsIGNhc2VTdHJhdGVneSwgc2tpcE51bGxGaWVsZCwgZmllbGRUeXBlc1tpIC0gMV1bMV0pO1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRfMltpXSA9IGVuY29kZV8yKGZpZWxkc1tpIC0gMV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0XzI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGV0IG1lc3NhZ2U7XG4gICAgICAgIGNvbnN0IGFyZyA9IGZ1bGxOYW1lXzEodCk7XG4gICAgICAgIG1lc3NhZ2UgPSB0b1RleHQocHJpbnRmKFwiQ2Fubm90IGdlbmVyYXRlIGF1dG8gZW5jb2RlciBmb3IgJXMuIFBsZWFzZSBwYXNzIGFuIGV4dHJhIGVuY29kZXIuXFxuXFxuRG9jdW1lbnRhdGlvbiBhdmFpbGFibGUgYXQ6IGh0dHBzOi8vdGhvdGgtb3JnLmdpdGh1Yi5pby9UaG90aC5Kc29uL2RvY3VtZW50YXRpb24vYXV0by9leHRyYS1jb2RlcnMuaHRtbCNyZWFkeS10by11c2UtZXh0cmEtY29kZXJzXCIpKShhcmcpO1xuICAgICAgICB0aHJvdyAobmV3IEVycm9yKG1lc3NhZ2UpKTtcbiAgICB9XG4gICAgZW5jb2RlclJlZi5jb250ZW50cyA9IGVuY29kZXI7XG4gICAgcmV0dXJuIGVuY29kZXI7XG59XG5cbmZ1bmN0aW9uIGF1dG9FbmNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIHQpIHtcbiAgICBjb25zdCBmdWxsbmFtZSA9IGZ1bGxOYW1lXzEodCk7XG4gICAgY29uc3QgbWF0Y2hWYWx1ZSA9IHRyeUZpbmQoZnVsbG5hbWUsIGV4dHJhKTtcbiAgICBpZiAobWF0Y2hWYWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIGlmIChpc0FycmF5KHQpKSB7XG4gICAgICAgICAgICBjb25zdCBlbmNvZGVyID0gYXV0b0VuY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgc2tpcE51bGxGaWVsZCwgZ2V0RWxlbWVudFR5cGUodCkpO1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZSkgPT4gc2VxKG1hcF80KGVuY29kZXIsIHZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNFbnVtKHQpKSB7XG4gICAgICAgICAgICBjb25zdCBlbnVtVHlwZSA9IGZ1bGxOYW1lXzEoZ2V0RW51bVVuZGVybHlpbmdUeXBlKHQpKTtcbiAgICAgICAgICAgIGlmIChlbnVtVHlwZSA9PT0gXCJTeXN0ZW0uU0J5dGVcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfMSkgPT4gdmFsdWVfMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGVudW1UeXBlID09PSBcIlN5c3RlbS5CeXRlXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHZhbHVlXzMpID0+IHZhbHVlXzM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChlbnVtVHlwZSA9PT0gXCJTeXN0ZW0uSW50MTZcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfNSkgPT4gdmFsdWVfNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGVudW1UeXBlID09PSBcIlN5c3RlbS5VSW50MTZcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfNykgPT4gdmFsdWVfNztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGVudW1UeXBlID09PSBcIlN5c3RlbS5JbnQzMlwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV85KSA9PiB2YWx1ZV85O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoZW51bVR5cGUgPT09IFwiU3lzdGVtLlVJbnQzMlwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8xMSkgPT4gdmFsdWVfMTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhcmcgPSBmdWxsTmFtZV8xKHQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsb18xID0gdG9GYWlsKHByaW50ZihcIkNhbm5vdCBnZW5lcmF0ZSBhdXRvIGVuY29kZXIgZm9yICVzLlxcblRob3RoLkpzb24uTmV0IG9ubHkgc3VwcG9ydCB0aGUgZm9sbG93aW5nIGVudW0gdHlwZXM6XFxuLSBzYnl0ZVxcbi0gYnl0ZVxcbi0gaW50MTZcXG4tIHVpbnQxNlxcbi0gaW50XFxuLSB1aW50MzJcXG5cXG5JZiB5b3UgY2FuXFx1MDAyN3QgdXNlIG9uZSBvZiB0aGVzZSB0eXBlcywgcGxlYXNlIHBhc3MgYW4gZXh0cmEgZW5jb2Rlci5cXG5cXG5Eb2N1bWVudGF0aW9uIGF2YWlsYWJsZSBhdDogaHR0cHM6Ly90aG90aC1vcmcuZ2l0aHViLmlvL1Rob3RoLkpzb24vZG9jdW1lbnRhdGlvbi9hdXRvL2V4dHJhLWNvZGVycy5odG1sI3JlYWR5LXRvLXVzZS1leHRyYS1jb2RlcnNcXG4gICAgICAgICAgICAgICAgICAgIFwiKSkoYXJnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2xvXzE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNHZW5lcmljVHlwZSh0KSkge1xuICAgICAgICAgICAgaWYgKGlzVHVwbGUodCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmNvZGVycyA9IG1hcF8zKCh0XzIpID0+IGF1dG9FbmNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIHRfMiksIGdldFR1cGxlRWxlbWVudHModCkpO1xuICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfMTMpID0+IHNlcShtYXBJbmRleGVkKChpLCB4KSA9PiBlbmNvZGVyc1tpXSh4KSwgZ2V0VHVwbGVGaWVsZHModmFsdWVfMTMpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmdWxsbmFtZV8xID0gZnVsbE5hbWVfMShnZXRHZW5lcmljVHlwZURlZmluaXRpb24odCkpO1xuICAgICAgICAgICAgICAgIGlmIChmdWxsbmFtZV8xID09PSBcIk1pY3Jvc29mdC5GU2hhcnAuQ29yZS5GU2hhcnBPcHRpb25gMVtTeXN0ZW0uT2JqZWN0XVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuY29kZXJfMiA9IG5ldyBMYXp5KCgpID0+IG9wdGlvbihhdXRvRW5jb2RlcihleHRyYSwgY2FzZVN0cmF0ZWd5LCBza2lwTnVsbEZpZWxkLCBnZXRHZW5lcmljcyh0KVswXSkpKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8xNCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlXzE0ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmlsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVuY29kZXJfMi5WYWx1ZSh2YWx1ZV8xNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKCgoZnVsbG5hbWVfMSA9PT0gXCJNaWNyb3NvZnQuRlNoYXJwLkNvbGxlY3Rpb25zLkZTaGFycExpc3RgMVtTeXN0ZW0uT2JqZWN0XVwiKSA/IHRydWUgOiAoZnVsbG5hbWVfMSA9PT0gXCJNaWNyb3NvZnQuRlNoYXJwLkNvbGxlY3Rpb25zLkZTaGFycFNldGAxW1N5c3RlbS5PYmplY3RdXCIpKSA/IHRydWUgOiAoZnVsbG5hbWVfMSA9PT0gXCJTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JRW51bWVyYWJsZWAxW1N5c3RlbS5PYmplY3RdXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuY29kZXJfMyA9IGF1dG9FbmNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIGdldEdlbmVyaWNzKHQpWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8xNSkgPT4gc2VxKG1hcF80KGVuY29kZXJfMywgdmFsdWVfMTUpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWVfMSA9PT0gXCJNaWNyb3NvZnQuRlNoYXJwLkNvbGxlY3Rpb25zLkZTaGFycE1hcGAyW1N5c3RlbS5PYmplY3QsU3lzdGVtLk9iamVjdF1cIikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXlUeXBlID0gZ2V0R2VuZXJpY3ModClbMF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlRW5jb2RlciA9IGF1dG9FbmNvZGVyKGV4dHJhLCBjYXNlU3RyYXRlZ3ksIHNraXBOdWxsRmllbGQsIGdldEdlbmVyaWNzKHQpWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChmdWxsTmFtZV8xKGtleVR5cGUpID09PSBcIlN5c3RlbS5TdHJpbmdcIikgPyB0cnVlIDogKGZ1bGxOYW1lXzEoa2V5VHlwZSkgPT09IFwiU3lzdGVtLkd1aWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfMTYpID0+IGZvbGQoKHRhcmdldCwgX2FyZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVBhdHRlcm5SZXN1bHQgPSBfYXJnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFthY3RpdmVQYXR0ZXJuUmVzdWx0WzBdXT12YWx1ZUVuY29kZXIoYWN0aXZlUGF0dGVyblJlc3VsdFsxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHt9LCB2YWx1ZV8xNik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQga2V5RW5jb2RlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsb18yID0gYXV0b0VuY29kZXIoZXh0cmEsIGNhc2VTdHJhdGVneSwgc2tpcE51bGxGaWVsZCwga2V5VHlwZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXlFbmNvZGVyID0gKGNsb18yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAodmFsdWVfMTcpID0+IHNlcShtYXBfNCgoX2FyZ18xKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlUGF0dGVyblJlc3VsdF8xID0gX2FyZ18xO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBba2V5RW5jb2RlcihhY3RpdmVQYXR0ZXJuUmVzdWx0XzFbMF0pLCB2YWx1ZUVuY29kZXIoYWN0aXZlUGF0dGVyblJlc3VsdF8xWzFdKV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB2YWx1ZV8xNykpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXV0b0VuY29kZVJlY29yZHNBbmRVbmlvbnMoZXh0cmEsIGNhc2VTdHJhdGVneSwgc2tpcE51bGxGaWVsZCwgdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5Cb29sZWFuXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVfMTgpID0+IHZhbHVlXzE4O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIk1pY3Jvc29mdC5GU2hhcnAuQ29yZS5Vbml0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiB1bml0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5TdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8yMCkgPT4gdmFsdWVfMjA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLkNoYXJcIikge1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8yMikgPT4gdmFsdWVfMjI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlNCeXRlXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVfMjQpID0+IHZhbHVlXzI0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5CeXRlXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVfMjYpID0+IHZhbHVlXzI2O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5JbnQxNlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlXzI4KSA9PiB2YWx1ZV8yODtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uVUludDE2XCIpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVfMzApID0+IHZhbHVlXzMwO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5JbnQzMlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlXzMyKSA9PiB2YWx1ZV8zMjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uVUludDMyXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAodmFsdWVfMzQpID0+IHZhbHVlXzM0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5Eb3VibGVcIikge1xuICAgICAgICAgICAgcmV0dXJuICh2YWx1ZV8zNikgPT4gdmFsdWVfMzY7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlNpbmdsZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlXzM4KSA9PiB2YWx1ZV8zODtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uRGF0ZVRpbWVcIikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGV0aW1lO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZ1bGxuYW1lID09PSBcIlN5c3RlbS5EYXRlVGltZU9mZnNldFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZXRpbWVPZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZnVsbG5hbWUgPT09IFwiU3lzdGVtLlRpbWVTcGFuXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aW1lc3BhbjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uR3VpZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZ3VpZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmdWxsbmFtZSA9PT0gXCJTeXN0ZW0uT2JqZWN0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiAoeF8xKSA9PiB4XzE7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYXV0b0VuY29kZVJlY29yZHNBbmRVbmlvbnMoZXh0cmEsIGNhc2VTdHJhdGVneSwgc2tpcE51bGxGaWVsZCwgdCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbnN0IGVuY29kZXJSZWYgPSBtYXRjaFZhbHVlO1xuICAgICAgICByZXR1cm4gKHYpID0+IGVuY29kZXJSZWYuY29udGVudHModik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBtYWtlRXh0cmEoZXh0cmEpIHtcbiAgICBpZiAoZXh0cmEgIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbWFwXzUoKF9hcmcsIHR1cGxlZEFyZykgPT4gKG5ldyBGU2hhcnBSZWYodHVwbGVkQXJnWzBdKSksIGV4dHJhLkNvZGVycyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gZW1wdHkoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBdXRvIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRvJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIGNsYXNzX3R5cGUoXCJUaG90aC5Kc29uLkVuY29kZS5BdXRvXCIsIHZvaWQgMCwgQXV0byk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRvX2dlbmVyYXRlQm94ZWRFbmNvZGVyQ2FjaGVkX1oyMEI3QjQzMCh0LCBjYXNlU3RyYXRlZ3ksIGV4dHJhLCBza2lwTnVsbEZpZWxkKSB7XG4gICAgbGV0IHlfMSwgeTtcbiAgICBjb25zdCBjYXNlU3RyYXRlZ3lfMSA9IGRlZmF1bHRBcmcoY2FzZVN0cmF0ZWd5LCBuZXcgQ2FzZVN0cmF0ZWd5KDApKTtcbiAgICBjb25zdCBza2lwTnVsbEZpZWxkXzEgPSBkZWZhdWx0QXJnKHNraXBOdWxsRmllbGQsIHRydWUpO1xuICAgIHJldHVybiBVdGlsX0NhY2hlJDFfX0dldE9yQWRkXzQzOTgxNDY0KFV0aWxfQ2FjaGVkRW5jb2RlcnMsICh5XzEgPSAoKHkgPSBmdWxsTmFtZV8xKHQpLCB0b1N0cmluZ181KGNhc2VTdHJhdGVneV8xKSArIHkpKSwgZGVmYXVsdEFyZyhtYXBfMigoZSkgPT4gZS5IYXNoLCBleHRyYSksIFwiXCIpICsgeV8xKSwgKCkgPT4gYXV0b0VuY29kZXIobWFrZUV4dHJhKGV4dHJhKSwgY2FzZVN0cmF0ZWd5XzEsIHNraXBOdWxsRmllbGRfMSwgdCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXV0b19nZW5lcmF0ZUJveGVkRW5jb2Rlcl9aMjBCN0I0MzAodCwgY2FzZVN0cmF0ZWd5LCBleHRyYSwgc2tpcE51bGxGaWVsZCkge1xuICAgIGNvbnN0IGNhc2VTdHJhdGVneV8xID0gZGVmYXVsdEFyZyhjYXNlU3RyYXRlZ3ksIG5ldyBDYXNlU3RyYXRlZ3koMCkpO1xuICAgIGNvbnN0IHNraXBOdWxsRmllbGRfMSA9IGRlZmF1bHRBcmcoc2tpcE51bGxGaWVsZCwgdHJ1ZSk7XG4gICAgcmV0dXJuIGF1dG9FbmNvZGVyKG1ha2VFeHRyYShleHRyYSksIGNhc2VTdHJhdGVneV8xLCBza2lwTnVsbEZpZWxkXzEsIHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlKHNwYWNlLCB2YWx1ZSkge1xuICAgIHJldHVybiB0b1N0cmluZyhzcGFjZSwgdmFsdWUpO1xufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Encode.fs.js\n");
|
|
3428
3428
|
|
|
3429
3429
|
/***/ }),
|
|
3430
3430
|
|
|
3431
|
-
/***/ "./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.
|
|
3431
|
+
/***/ "./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Types.fs.js":
|
|
3432
3432
|
/*!******************************************************************************!*\
|
|
3433
|
-
!*** ./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.
|
|
3433
|
+
!*** ./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Types.fs.js ***!
|
|
3434
3434
|
\******************************************************************************/
|
|
3435
3435
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
3436
3436
|
|
|
3437
3437
|
"use strict";
|
|
3438
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CaseStrategy: () => (/* binding */ CaseStrategy),\n/* harmony export */ CaseStrategy$reflection: () => (/* binding */ CaseStrategy$reflection),\n/* harmony export */ ErrorReason: () => (/* binding */ ErrorReason),\n/* harmony export */ ErrorReason$reflection: () => (/* binding */ ErrorReason$reflection),\n/* harmony export */ ExtraCoders: () => (/* binding */ ExtraCoders),\n/* harmony export */ ExtraCoders$reflection: () => (/* binding */ ExtraCoders$reflection),\n/* harmony export */ Util_Cache$1: () => (/* binding */ Util_Cache$1),\n/* harmony export */ Util_Cache$1$reflection: () => (/* binding */ Util_Cache$1$reflection),\n/* harmony export */ Util_Cache$1_$ctor: () => (/* binding */ Util_Cache$1_$ctor),\n/* harmony export */ Util_Cache$1__GetOrAdd_43981464: () => (/* binding */ Util_Cache$1__GetOrAdd_43981464),\n/* harmony export */ Util_CachedDecoders: () => (/* binding */ Util_CachedDecoders),\n/* harmony export */ Util_CachedEncoders: () => (/* binding */ Util_CachedEncoders),\n/* harmony export */ Util_Casing_convert: () => (/* binding */ Util_Casing_convert),\n/* harmony export */ Util_Casing_lowerFirst: () => (/* binding */ Util_Casing_lowerFirst)\n/* harmony export */ });\n/* harmony import */ var _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../fable-library.3.7.20/MapUtil.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MapUtil.js\");\n/* harmony import */ var _fable_library_3_7_20_RegExp_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../fable-library.3.7.20/RegExp.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/RegExp.js\");\n\n\n\n\n\n\nclass ErrorReason extends _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"BadPrimitive\", \"BadPrimitiveExtra\", \"BadType\", \"BadField\", \"BadPath\", \"TooSmallArray\", \"FailMessage\", \"BadOneOf\"];\n }\n}\n\nfunction ErrorReason$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.union_type)(\"Thoth.Json.ErrorReason\", [], ErrorReason, () => [[[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type], [\"Item3\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type], [\"Item3\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"Item\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type]], [[\"Item\", (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.list_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type)]]]);\n}\n\nclass CaseStrategy extends _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"PascalCase\", \"CamelCase\", \"SnakeCase\"];\n }\n}\n\nfunction CaseStrategy$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.union_type)(\"Thoth.Json.CaseStrategy\", [], CaseStrategy, () => [[], [], []]);\n}\n\nclass ExtraCoders extends _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__.Record {\n constructor(Hash, Coders) {\n super();\n this.Hash = Hash;\n this.Coders = Coders;\n }\n}\n\nfunction ExtraCoders$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.record_type)(\"Thoth.Json.ExtraCoders\", [], ExtraCoders, () => [[\"Hash\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Coders\", (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.class_type)(\"Microsoft.FSharp.Collections.FSharpMap`2\", [_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.tuple_type)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.lambda_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type, _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.lambda_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.lambda_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.tuple_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type, ErrorReason$reflection())], _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_2__.FSharpResult$2, () => [[[\"ResultValue\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"ErrorValue\", (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.tuple_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type, ErrorReason$reflection())]]]))))])]]);\n}\n\nclass Util_Cache$1 {\n constructor() {\n this.cache = (new Map([]));\n }\n}\n\nfunction Util_Cache$1$reflection(gen0) {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.class_type)(\"Thoth.Json.Util.Cache`1\", [gen0], Util_Cache$1);\n}\n\nfunction Util_Cache$1_$ctor() {\n return new Util_Cache$1();\n}\n\nfunction Util_Cache$1__GetOrAdd_43981464(__, key, factory) {\n let matchValue;\n let outArg = null;\n matchValue = [(0,_fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_3__.tryGetValue)(__.cache, key, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n const x_1 = factory();\n (0,_fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_3__.addToDict)(__.cache, key, x_1);\n return x_1;\n }\n}\n\nconst Util_CachedEncoders = Util_Cache$1_$ctor();\n\nconst Util_CachedDecoders = Util_Cache$1_$ctor();\n\nfunction Util_Casing_lowerFirst(str) {\n return str.slice(void 0, 0 + 1).toLowerCase() + str.slice(1, str.length);\n}\n\nfunction Util_Casing_convert(caseStrategy, fieldName) {\n switch (caseStrategy.tag) {\n case 2: {\n return (0,_fable_library_3_7_20_RegExp_js__WEBPACK_IMPORTED_MODULE_4__.replace)(Util_Casing_lowerFirst(fieldName), \"[A-Z]\", \"_$0\").toLowerCase();\n }\n case 0: {\n return fieldName;\n }\n default: {\n return Util_Casing_lowerFirst(fieldName);\n }\n }\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9UaG90aC5Kc29uLjEwLjAuMC9UeXBlcy5mcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTRFO0FBQzJFO0FBQ3BGO0FBQ1M7QUFDaEI7O0FBRXJELDBCQUEwQixpRUFBSztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLCtFQUFVLDhEQUE4RCw0RUFBVyxhQUFhLHlFQUFRLGVBQWUsNEVBQVcsYUFBYSx5RUFBUSxhQUFhLDRFQUFXLGVBQWUsNEVBQVcsYUFBYSx5RUFBUSxlQUFlLDRFQUFXLGFBQWEseUVBQVEsZUFBZSw0RUFBVyxhQUFhLHlFQUFRLGFBQWEsNEVBQVcsZUFBZSw0RUFBVyxhQUFhLHlFQUFRLGNBQWMsNEVBQVcsY0FBYyw4RUFBUyxDQUFDLDRFQUFXO0FBQzFjOztBQUVPLDJCQUEyQixpRUFBSztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLCtFQUFVO0FBQ3JCOztBQUVPLDBCQUEwQixrRUFBTTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLGdGQUFXLDREQUE0RCw0RUFBVyxjQUFjLCtFQUFVLDhDQUE4Qyw0RUFBVyxFQUFFLCtFQUFVLENBQUMsZ0ZBQVcsQ0FBQyx5RUFBUSxFQUFFLHlFQUFRLEdBQUcsZ0ZBQVcsQ0FBQyw0RUFBVyxFQUFFLGdGQUFXLENBQUMseUVBQVEsRUFBRSwrRUFBVSwwQ0FBMEMseUVBQVEsRUFBRSwrRUFBVSxDQUFDLDRFQUFXLDhCQUE4QiwyRUFBYywwQkFBMEIseUVBQVEsb0JBQW9CLCtFQUFVLENBQUMsNEVBQVc7QUFDdmQ7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsK0VBQVU7QUFDckI7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBLGtCQUFrQiw2RUFBVyxvQkFBb0IscUVBQVM7QUFDMUQ7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsMkVBQVM7QUFDakI7QUFDQTtBQUNBOztBQUVPOztBQUVBOztBQUVBO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQSxtQkFBbUIsd0VBQU87QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGZsYXJlaHIvd29ya2Zsb3dzLWFwcC8uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL1Rob3RoLkpzb24uMTAuMC4wL1R5cGVzLmZzLmpzP2I3NTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRlNoYXJwUmVmLCBSZWNvcmQsIFVuaW9uIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1R5cGVzLmpzXCI7XG5pbXBvcnQgeyByZWNvcmRfdHlwZSwgY2xhc3NfdHlwZSwgdHVwbGVfdHlwZSwgbGFtYmRhX3R5cGUsIHVuaW9uX3R5cGUsIGxpc3RfdHlwZSwgb2JqX3R5cGUsIHN0cmluZ190eXBlIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1JlZmxlY3Rpb24uanNcIjtcbmltcG9ydCB7IEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgYWRkVG9EaWN0LCB0cnlHZXRWYWx1ZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9NYXBVdGlsLmpzXCI7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1JlZ0V4cC5qc1wiO1xuXG5leHBvcnQgY2xhc3MgRXJyb3JSZWFzb24gZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkJhZFByaW1pdGl2ZVwiLCBcIkJhZFByaW1pdGl2ZUV4dHJhXCIsIFwiQmFkVHlwZVwiLCBcIkJhZEZpZWxkXCIsIFwiQmFkUGF0aFwiLCBcIlRvb1NtYWxsQXJyYXlcIiwgXCJGYWlsTWVzc2FnZVwiLCBcIkJhZE9uZU9mXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVycm9yUmVhc29uJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJUaG90aC5Kc29uLkVycm9yUmVhc29uXCIsIFtdLCBFcnJvclJlYXNvbiwgKCkgPT4gW1tbXCJJdGVtMVwiLCBzdHJpbmdfdHlwZV0sIFtcIkl0ZW0yXCIsIG9ial90eXBlXV0sIFtbXCJJdGVtMVwiLCBzdHJpbmdfdHlwZV0sIFtcIkl0ZW0yXCIsIG9ial90eXBlXSwgW1wiSXRlbTNcIiwgc3RyaW5nX3R5cGVdXSwgW1tcIkl0ZW0xXCIsIHN0cmluZ190eXBlXSwgW1wiSXRlbTJcIiwgb2JqX3R5cGVdXSwgW1tcIkl0ZW0xXCIsIHN0cmluZ190eXBlXSwgW1wiSXRlbTJcIiwgb2JqX3R5cGVdXSwgW1tcIkl0ZW0xXCIsIHN0cmluZ190eXBlXSwgW1wiSXRlbTJcIiwgb2JqX3R5cGVdLCBbXCJJdGVtM1wiLCBzdHJpbmdfdHlwZV1dLCBbW1wiSXRlbTFcIiwgc3RyaW5nX3R5cGVdLCBbXCJJdGVtMlwiLCBvYmpfdHlwZV1dLCBbW1wiSXRlbVwiLCBzdHJpbmdfdHlwZV1dLCBbW1wiSXRlbVwiLCBsaXN0X3R5cGUoc3RyaW5nX3R5cGUpXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIENhc2VTdHJhdGVneSBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiUGFzY2FsQ2FzZVwiLCBcIkNhbWVsQ2FzZVwiLCBcIlNuYWtlQ2FzZVwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDYXNlU3RyYXRlZ3kkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIlRob3RoLkpzb24uQ2FzZVN0cmF0ZWd5XCIsIFtdLCBDYXNlU3RyYXRlZ3ksICgpID0+IFtbXSwgW10sIFtdXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBFeHRyYUNvZGVycyBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSGFzaCwgQ29kZXJzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSGFzaCA9IEhhc2g7XG4gICAgICAgIHRoaXMuQ29kZXJzID0gQ29kZXJzO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEV4dHJhQ29kZXJzJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiVGhvdGguSnNvbi5FeHRyYUNvZGVyc1wiLCBbXSwgRXh0cmFDb2RlcnMsICgpID0+IFtbXCJIYXNoXCIsIHN0cmluZ190eXBlXSwgW1wiQ29kZXJzXCIsIGNsYXNzX3R5cGUoXCJNaWNyb3NvZnQuRlNoYXJwLkNvbGxlY3Rpb25zLkZTaGFycE1hcGAyXCIsIFtzdHJpbmdfdHlwZSwgdHVwbGVfdHlwZShsYW1iZGFfdHlwZShvYmpfdHlwZSwgb2JqX3R5cGUpLCBsYW1iZGFfdHlwZShzdHJpbmdfdHlwZSwgbGFtYmRhX3R5cGUob2JqX3R5cGUsIHVuaW9uX3R5cGUoXCJNaWNyb3NvZnQuRlNoYXJwLkNvcmUuRlNoYXJwUmVzdWx0YDJcIiwgW29ial90eXBlLCB0dXBsZV90eXBlKHN0cmluZ190eXBlLCBFcnJvclJlYXNvbiRyZWZsZWN0aW9uKCkpXSwgRlNoYXJwUmVzdWx0JDIsICgpID0+IFtbW1wiUmVzdWx0VmFsdWVcIiwgb2JqX3R5cGVdXSwgW1tcIkVycm9yVmFsdWVcIiwgdHVwbGVfdHlwZShzdHJpbmdfdHlwZSwgRXJyb3JSZWFzb24kcmVmbGVjdGlvbigpKV1dXSkpKSldKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFV0aWxfQ2FjaGUkMSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY2FjaGUgPSAobmV3IE1hcChbXSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFV0aWxfQ2FjaGUkMSRyZWZsZWN0aW9uKGdlbjApIHtcbiAgICByZXR1cm4gY2xhc3NfdHlwZShcIlRob3RoLkpzb24uVXRpbC5DYWNoZWAxXCIsIFtnZW4wXSwgVXRpbF9DYWNoZSQxKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFV0aWxfQ2FjaGUkMV8kY3RvcigpIHtcbiAgICByZXR1cm4gbmV3IFV0aWxfQ2FjaGUkMSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVXRpbF9DYWNoZSQxX19HZXRPckFkZF80Mzk4MTQ2NChfXywga2V5LCBmYWN0b3J5KSB7XG4gICAgbGV0IG1hdGNoVmFsdWU7XG4gICAgbGV0IG91dEFyZyA9IG51bGw7XG4gICAgbWF0Y2hWYWx1ZSA9IFt0cnlHZXRWYWx1ZShfXy5jYWNoZSwga2V5LCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgb3V0QXJnID0gdjtcbiAgICB9KSksIG91dEFyZ107XG4gICAgaWYgKG1hdGNoVmFsdWVbMF0pIHtcbiAgICAgICAgcmV0dXJuIG1hdGNoVmFsdWVbMV07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCB4XzEgPSBmYWN0b3J5KCk7XG4gICAgICAgIGFkZFRvRGljdChfXy5jYWNoZSwga2V5LCB4XzEpO1xuICAgICAgICByZXR1cm4geF8xO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IFV0aWxfQ2FjaGVkRW5jb2RlcnMgPSBVdGlsX0NhY2hlJDFfJGN0b3IoKTtcblxuZXhwb3J0IGNvbnN0IFV0aWxfQ2FjaGVkRGVjb2RlcnMgPSBVdGlsX0NhY2hlJDFfJGN0b3IoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFV0aWxfQ2FzaW5nX2xvd2VyRmlyc3Qoc3RyKSB7XG4gICAgcmV0dXJuIHN0ci5zbGljZSh2b2lkIDAsIDAgKyAxKS50b0xvd2VyQ2FzZSgpICsgc3RyLnNsaWNlKDEsIHN0ci5sZW5ndGgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVXRpbF9DYXNpbmdfY29udmVydChjYXNlU3RyYXRlZ3ksIGZpZWxkTmFtZSkge1xuICAgIHN3aXRjaCAoY2FzZVN0cmF0ZWd5LnRhZykge1xuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiByZXBsYWNlKFV0aWxfQ2FzaW5nX2xvd2VyRmlyc3QoZmllbGROYW1lKSwgXCJbQS1aXVwiLCBcIl8kMFwiKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIGZpZWxkTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gVXRpbF9DYXNpbmdfbG93ZXJGaXJzdChmaWVsZE5hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.0.0/Types.fs.js\n");
|
|
3438
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CaseStrategy: () => (/* binding */ CaseStrategy),\n/* harmony export */ CaseStrategy$reflection: () => (/* binding */ CaseStrategy$reflection),\n/* harmony export */ ErrorReason: () => (/* binding */ ErrorReason),\n/* harmony export */ ErrorReason$reflection: () => (/* binding */ ErrorReason$reflection),\n/* harmony export */ ExtraCoders: () => (/* binding */ ExtraCoders),\n/* harmony export */ ExtraCoders$reflection: () => (/* binding */ ExtraCoders$reflection),\n/* harmony export */ Util_Cache$1: () => (/* binding */ Util_Cache$1),\n/* harmony export */ Util_Cache$1$reflection: () => (/* binding */ Util_Cache$1$reflection),\n/* harmony export */ Util_Cache$1_$ctor: () => (/* binding */ Util_Cache$1_$ctor),\n/* harmony export */ Util_Cache$1__GetOrAdd_43981464: () => (/* binding */ Util_Cache$1__GetOrAdd_43981464),\n/* harmony export */ Util_CachedDecoders: () => (/* binding */ Util_CachedDecoders),\n/* harmony export */ Util_CachedEncoders: () => (/* binding */ Util_CachedEncoders),\n/* harmony export */ Util_Casing_convert: () => (/* binding */ Util_Casing_convert),\n/* harmony export */ Util_Casing_lowerFirst: () => (/* binding */ Util_Casing_lowerFirst)\n/* harmony export */ });\n/* harmony import */ var _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../fable-library.3.7.20/Types.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Types.js\");\n/* harmony import */ var _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../fable-library.3.7.20/Reflection.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Reflection.js\");\n/* harmony import */ var _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../fable-library.3.7.20/Choice.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/Choice.js\");\n/* harmony import */ var _fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../fable-library.3.7.20/MapUtil.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/MapUtil.js\");\n/* harmony import */ var _fable_library_3_7_20_RegExp_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../fable-library.3.7.20/RegExp.js */ \"./tests/Workflows.UI.Tests/fable_modules/fable-library.3.7.20/RegExp.js\");\n\n\n\n\n\n\nclass ErrorReason extends _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"BadPrimitive\", \"BadPrimitiveExtra\", \"BadType\", \"BadField\", \"BadPath\", \"TooSmallArray\", \"FailMessage\", \"BadOneOf\"];\n }\n}\n\nfunction ErrorReason$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.union_type)(\"Thoth.Json.ErrorReason\", [], ErrorReason, () => [[[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type], [\"Item3\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type], [\"Item3\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type]], [[\"Item1\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Item2\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"Item\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type]], [[\"Item\", (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.list_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type)]]]);\n}\n\nclass CaseStrategy extends _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__.Union {\n constructor(tag, ...fields) {\n super();\n this.tag = (tag | 0);\n this.fields = fields;\n }\n cases() {\n return [\"PascalCase\", \"CamelCase\", \"SnakeCase\"];\n }\n}\n\nfunction CaseStrategy$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.union_type)(\"Thoth.Json.CaseStrategy\", [], CaseStrategy, () => [[], [], []]);\n}\n\nclass ExtraCoders extends _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__.Record {\n constructor(Hash, Coders) {\n super();\n this.Hash = Hash;\n this.Coders = Coders;\n }\n}\n\nfunction ExtraCoders$reflection() {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.record_type)(\"Thoth.Json.ExtraCoders\", [], ExtraCoders, () => [[\"Hash\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type], [\"Coders\", (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.class_type)(\"Microsoft.FSharp.Collections.FSharpMap`2\", [_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.tuple_type)((0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.lambda_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type, _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type), (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.lambda_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.lambda_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.union_type)(\"Microsoft.FSharp.Core.FSharpResult`2\", [_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type, (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.tuple_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type, ErrorReason$reflection())], _fable_library_3_7_20_Choice_js__WEBPACK_IMPORTED_MODULE_2__.FSharpResult$2, () => [[[\"ResultValue\", _fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.obj_type]], [[\"ErrorValue\", (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.tuple_type)(_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.string_type, ErrorReason$reflection())]]]))))])]]);\n}\n\nclass Util_Cache$1 {\n constructor() {\n this.cache = (new Map([]));\n }\n}\n\nfunction Util_Cache$1$reflection(gen0) {\n return (0,_fable_library_3_7_20_Reflection_js__WEBPACK_IMPORTED_MODULE_1__.class_type)(\"Thoth.Json.Util.Cache`1\", [gen0], Util_Cache$1);\n}\n\nfunction Util_Cache$1_$ctor() {\n return new Util_Cache$1();\n}\n\nfunction Util_Cache$1__GetOrAdd_43981464(__, key, factory) {\n let matchValue;\n let outArg = null;\n matchValue = [(0,_fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_3__.tryGetValue)(__.cache, key, new _fable_library_3_7_20_Types_js__WEBPACK_IMPORTED_MODULE_0__.FSharpRef(() => outArg, (v) => {\n outArg = v;\n })), outArg];\n if (matchValue[0]) {\n return matchValue[1];\n }\n else {\n const x_1 = factory();\n (0,_fable_library_3_7_20_MapUtil_js__WEBPACK_IMPORTED_MODULE_3__.addToDict)(__.cache, key, x_1);\n return x_1;\n }\n}\n\nconst Util_CachedEncoders = Util_Cache$1_$ctor();\n\nconst Util_CachedDecoders = Util_Cache$1_$ctor();\n\nfunction Util_Casing_lowerFirst(str) {\n return str.slice(void 0, 0 + 1).toLowerCase() + str.slice(1, str.length);\n}\n\nfunction Util_Casing_convert(caseStrategy, fieldName) {\n switch (caseStrategy.tag) {\n case 2: {\n return (0,_fable_library_3_7_20_RegExp_js__WEBPACK_IMPORTED_MODULE_4__.replace)(Util_Casing_lowerFirst(fieldName), \"[A-Z]\", \"_$0\").toLowerCase();\n }\n case 0: {\n return fieldName;\n }\n default: {\n return Util_Casing_lowerFirst(fieldName);\n }\n }\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi90ZXN0cy9Xb3JrZmxvd3MuVUkuVGVzdHMvZmFibGVfbW9kdWxlcy9UaG90aC5Kc29uLjEwLjIuMC9UeXBlcy5mcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTRFO0FBQzJFO0FBQ3BGO0FBQ1M7QUFDaEI7O0FBRXJELDBCQUEwQixpRUFBSztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLCtFQUFVLDhEQUE4RCw0RUFBVyxhQUFhLHlFQUFRLGVBQWUsNEVBQVcsYUFBYSx5RUFBUSxhQUFhLDRFQUFXLGVBQWUsNEVBQVcsYUFBYSx5RUFBUSxlQUFlLDRFQUFXLGFBQWEseUVBQVEsZUFBZSw0RUFBVyxhQUFhLHlFQUFRLGFBQWEsNEVBQVcsZUFBZSw0RUFBVyxhQUFhLHlFQUFRLGNBQWMsNEVBQVcsY0FBYyw4RUFBUyxDQUFDLDRFQUFXO0FBQzFjOztBQUVPLDJCQUEyQixpRUFBSztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLCtFQUFVO0FBQ3JCOztBQUVPLDBCQUEwQixrRUFBTTtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRU87QUFDUCxXQUFXLGdGQUFXLDREQUE0RCw0RUFBVyxjQUFjLCtFQUFVLDhDQUE4Qyw0RUFBVyxFQUFFLCtFQUFVLENBQUMsZ0ZBQVcsQ0FBQyx5RUFBUSxFQUFFLHlFQUFRLEdBQUcsZ0ZBQVcsQ0FBQyw0RUFBVyxFQUFFLGdGQUFXLENBQUMseUVBQVEsRUFBRSwrRUFBVSwwQ0FBMEMseUVBQVEsRUFBRSwrRUFBVSxDQUFDLDRFQUFXLDhCQUE4QiwyRUFBYywwQkFBMEIseUVBQVEsb0JBQW9CLCtFQUFVLENBQUMsNEVBQVc7QUFDdmQ7O0FBRU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFTztBQUNQLFdBQVcsK0VBQVU7QUFDckI7O0FBRU87QUFDUDtBQUNBOztBQUVPO0FBQ1A7QUFDQTtBQUNBLGtCQUFrQiw2RUFBVyxvQkFBb0IscUVBQVM7QUFDMUQ7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsMkVBQVM7QUFDakI7QUFDQTtBQUNBOztBQUVPOztBQUVBOztBQUVBO0FBQ1A7QUFDQTs7QUFFTztBQUNQO0FBQ0E7QUFDQSxtQkFBbUIsd0VBQU87QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGZsYXJlaHIvd29ya2Zsb3dzLWFwcC8uL3Rlc3RzL1dvcmtmbG93cy5VSS5UZXN0cy9mYWJsZV9tb2R1bGVzL1Rob3RoLkpzb24uMTAuMi4wL1R5cGVzLmZzLmpzPzg0YzUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRlNoYXJwUmVmLCBSZWNvcmQsIFVuaW9uIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1R5cGVzLmpzXCI7XG5pbXBvcnQgeyByZWNvcmRfdHlwZSwgY2xhc3NfdHlwZSwgdHVwbGVfdHlwZSwgbGFtYmRhX3R5cGUsIHVuaW9uX3R5cGUsIGxpc3RfdHlwZSwgb2JqX3R5cGUsIHN0cmluZ190eXBlIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1JlZmxlY3Rpb24uanNcIjtcbmltcG9ydCB7IEZTaGFycFJlc3VsdCQyIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL0Nob2ljZS5qc1wiO1xuaW1wb3J0IHsgYWRkVG9EaWN0LCB0cnlHZXRWYWx1ZSB9IGZyb20gXCIuLi9mYWJsZS1saWJyYXJ5LjMuNy4yMC9NYXBVdGlsLmpzXCI7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSBcIi4uL2ZhYmxlLWxpYnJhcnkuMy43LjIwL1JlZ0V4cC5qc1wiO1xuXG5leHBvcnQgY2xhc3MgRXJyb3JSZWFzb24gZXh0ZW5kcyBVbmlvbiB7XG4gICAgY29uc3RydWN0b3IodGFnLCAuLi5maWVsZHMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy50YWcgPSAodGFnIHwgMCk7XG4gICAgICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIH1cbiAgICBjYXNlcygpIHtcbiAgICAgICAgcmV0dXJuIFtcIkJhZFByaW1pdGl2ZVwiLCBcIkJhZFByaW1pdGl2ZUV4dHJhXCIsIFwiQmFkVHlwZVwiLCBcIkJhZEZpZWxkXCIsIFwiQmFkUGF0aFwiLCBcIlRvb1NtYWxsQXJyYXlcIiwgXCJGYWlsTWVzc2FnZVwiLCBcIkJhZE9uZU9mXCJdO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVycm9yUmVhc29uJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHVuaW9uX3R5cGUoXCJUaG90aC5Kc29uLkVycm9yUmVhc29uXCIsIFtdLCBFcnJvclJlYXNvbiwgKCkgPT4gW1tbXCJJdGVtMVwiLCBzdHJpbmdfdHlwZV0sIFtcIkl0ZW0yXCIsIG9ial90eXBlXV0sIFtbXCJJdGVtMVwiLCBzdHJpbmdfdHlwZV0sIFtcIkl0ZW0yXCIsIG9ial90eXBlXSwgW1wiSXRlbTNcIiwgc3RyaW5nX3R5cGVdXSwgW1tcIkl0ZW0xXCIsIHN0cmluZ190eXBlXSwgW1wiSXRlbTJcIiwgb2JqX3R5cGVdXSwgW1tcIkl0ZW0xXCIsIHN0cmluZ190eXBlXSwgW1wiSXRlbTJcIiwgb2JqX3R5cGVdXSwgW1tcIkl0ZW0xXCIsIHN0cmluZ190eXBlXSwgW1wiSXRlbTJcIiwgb2JqX3R5cGVdLCBbXCJJdGVtM1wiLCBzdHJpbmdfdHlwZV1dLCBbW1wiSXRlbTFcIiwgc3RyaW5nX3R5cGVdLCBbXCJJdGVtMlwiLCBvYmpfdHlwZV1dLCBbW1wiSXRlbVwiLCBzdHJpbmdfdHlwZV1dLCBbW1wiSXRlbVwiLCBsaXN0X3R5cGUoc3RyaW5nX3R5cGUpXV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIENhc2VTdHJhdGVneSBleHRlbmRzIFVuaW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih0YWcsIC4uLmZpZWxkcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnRhZyA9ICh0YWcgfCAwKTtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgfVxuICAgIGNhc2VzKCkge1xuICAgICAgICByZXR1cm4gW1wiUGFzY2FsQ2FzZVwiLCBcIkNhbWVsQ2FzZVwiLCBcIlNuYWtlQ2FzZVwiXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDYXNlU3RyYXRlZ3kkcmVmbGVjdGlvbigpIHtcbiAgICByZXR1cm4gdW5pb25fdHlwZShcIlRob3RoLkpzb24uQ2FzZVN0cmF0ZWd5XCIsIFtdLCBDYXNlU3RyYXRlZ3ksICgpID0+IFtbXSwgW10sIFtdXSk7XG59XG5cbmV4cG9ydCBjbGFzcyBFeHRyYUNvZGVycyBleHRlbmRzIFJlY29yZCB7XG4gICAgY29uc3RydWN0b3IoSGFzaCwgQ29kZXJzKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuSGFzaCA9IEhhc2g7XG4gICAgICAgIHRoaXMuQ29kZXJzID0gQ29kZXJzO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEV4dHJhQ29kZXJzJHJlZmxlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHJlY29yZF90eXBlKFwiVGhvdGguSnNvbi5FeHRyYUNvZGVyc1wiLCBbXSwgRXh0cmFDb2RlcnMsICgpID0+IFtbXCJIYXNoXCIsIHN0cmluZ190eXBlXSwgW1wiQ29kZXJzXCIsIGNsYXNzX3R5cGUoXCJNaWNyb3NvZnQuRlNoYXJwLkNvbGxlY3Rpb25zLkZTaGFycE1hcGAyXCIsIFtzdHJpbmdfdHlwZSwgdHVwbGVfdHlwZShsYW1iZGFfdHlwZShvYmpfdHlwZSwgb2JqX3R5cGUpLCBsYW1iZGFfdHlwZShzdHJpbmdfdHlwZSwgbGFtYmRhX3R5cGUob2JqX3R5cGUsIHVuaW9uX3R5cGUoXCJNaWNyb3NvZnQuRlNoYXJwLkNvcmUuRlNoYXJwUmVzdWx0YDJcIiwgW29ial90eXBlLCB0dXBsZV90eXBlKHN0cmluZ190eXBlLCBFcnJvclJlYXNvbiRyZWZsZWN0aW9uKCkpXSwgRlNoYXJwUmVzdWx0JDIsICgpID0+IFtbW1wiUmVzdWx0VmFsdWVcIiwgb2JqX3R5cGVdXSwgW1tcIkVycm9yVmFsdWVcIiwgdHVwbGVfdHlwZShzdHJpbmdfdHlwZSwgRXJyb3JSZWFzb24kcmVmbGVjdGlvbigpKV1dXSkpKSldKV1dKTtcbn1cblxuZXhwb3J0IGNsYXNzIFV0aWxfQ2FjaGUkMSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY2FjaGUgPSAobmV3IE1hcChbXSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFV0aWxfQ2FjaGUkMSRyZWZsZWN0aW9uKGdlbjApIHtcbiAgICByZXR1cm4gY2xhc3NfdHlwZShcIlRob3RoLkpzb24uVXRpbC5DYWNoZWAxXCIsIFtnZW4wXSwgVXRpbF9DYWNoZSQxKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFV0aWxfQ2FjaGUkMV8kY3RvcigpIHtcbiAgICByZXR1cm4gbmV3IFV0aWxfQ2FjaGUkMSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVXRpbF9DYWNoZSQxX19HZXRPckFkZF80Mzk4MTQ2NChfXywga2V5LCBmYWN0b3J5KSB7XG4gICAgbGV0IG1hdGNoVmFsdWU7XG4gICAgbGV0IG91dEFyZyA9IG51bGw7XG4gICAgbWF0Y2hWYWx1ZSA9IFt0cnlHZXRWYWx1ZShfXy5jYWNoZSwga2V5LCBuZXcgRlNoYXJwUmVmKCgpID0+IG91dEFyZywgKHYpID0+IHtcbiAgICAgICAgb3V0QXJnID0gdjtcbiAgICB9KSksIG91dEFyZ107XG4gICAgaWYgKG1hdGNoVmFsdWVbMF0pIHtcbiAgICAgICAgcmV0dXJuIG1hdGNoVmFsdWVbMV07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCB4XzEgPSBmYWN0b3J5KCk7XG4gICAgICAgIGFkZFRvRGljdChfXy5jYWNoZSwga2V5LCB4XzEpO1xuICAgICAgICByZXR1cm4geF8xO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IFV0aWxfQ2FjaGVkRW5jb2RlcnMgPSBVdGlsX0NhY2hlJDFfJGN0b3IoKTtcblxuZXhwb3J0IGNvbnN0IFV0aWxfQ2FjaGVkRGVjb2RlcnMgPSBVdGlsX0NhY2hlJDFfJGN0b3IoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFV0aWxfQ2FzaW5nX2xvd2VyRmlyc3Qoc3RyKSB7XG4gICAgcmV0dXJuIHN0ci5zbGljZSh2b2lkIDAsIDAgKyAxKS50b0xvd2VyQ2FzZSgpICsgc3RyLnNsaWNlKDEsIHN0ci5sZW5ndGgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVXRpbF9DYXNpbmdfY29udmVydChjYXNlU3RyYXRlZ3ksIGZpZWxkTmFtZSkge1xuICAgIHN3aXRjaCAoY2FzZVN0cmF0ZWd5LnRhZykge1xuICAgICAgICBjYXNlIDI6IHtcbiAgICAgICAgICAgIHJldHVybiByZXBsYWNlKFV0aWxfQ2FzaW5nX2xvd2VyRmlyc3QoZmllbGROYW1lKSwgXCJbQS1aXVwiLCBcIl8kMFwiKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgMDoge1xuICAgICAgICAgICAgcmV0dXJuIGZpZWxkTmFtZTtcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICByZXR1cm4gVXRpbF9DYXNpbmdfbG93ZXJGaXJzdChmaWVsZE5hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./tests/Workflows.UI.Tests/fable_modules/Thoth.Json.10.2.0/Types.fs.js\n");
|
|
3439
3439
|
|
|
3440
3440
|
/***/ }),
|
|
3441
3441
|
|