@bnsights/bbsf-admin-portal 1.0.7 → 1.0.8

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.
Files changed (73) hide show
  1. package/bnsights-bbsf-admin-portal-1.0.8.tgz +0 -0
  2. package/bundles/bnsights-bbsf-admin-portal.umd.js +18838 -14339
  3. package/bundles/bnsights-bbsf-admin-portal.umd.js.map +1 -1
  4. package/esm2015/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.js +2 -2
  5. package/esm2015/lib/Pages/account/account-routing.module.js +8 -2
  6. package/esm2015/lib/Pages/account/account.module.js +6 -3
  7. package/esm2015/lib/Pages/account/activation/activation.component.js +91 -0
  8. package/esm2015/lib/Pages/account/forgot-password/forgot-password.component.js +12 -6
  9. package/esm2015/lib/Pages/account/rest-password/rest-password.component.js +89 -0
  10. package/esm2015/lib/Pages/account/upload-license/upload-license.component.js +70 -0
  11. package/esm2015/lib/Pages/departments/department/department.component.js +8 -8
  12. package/esm2015/lib/Pages/helpCenter/help-center/help-center.component.js +3 -3
  13. package/esm2015/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.js +3 -3
  14. package/esm2015/lib/Pages/home/home.component.js +2 -2
  15. package/esm2015/lib/Pages/localizations/localizations.component.js +5 -5
  16. package/esm2015/lib/Pages/lookups/lookup/lookup.component.js +3 -3
  17. package/esm2015/lib/Pages/notifications/add/add.component.js +1 -3
  18. package/esm2015/lib/Pages/notifications/edit/edit.component.js +1 -3
  19. package/esm2015/lib/Pages/notifications/template-info/template-info.component.js +2 -2
  20. package/esm2015/lib/Pages/notifications/templates/templates.component.js +3 -3
  21. package/esm2015/lib/Pages/publicHolidays/public-holiday/public-holiday.component.js +76 -82
  22. package/esm2015/lib/Pages/shared/Enums/ConditionRHSType.js +6 -0
  23. package/esm2015/lib/Pages/shared/Enums/WFActivityType.js +12 -0
  24. package/esm2015/lib/Pages/shared/Enums/WFVariableDataType.js +14 -0
  25. package/esm2015/lib/Pages/shared/Services/AccountService.service.js +21 -1
  26. package/esm2015/lib/Pages/shared/Services/DepartmentService.service.js +1 -1
  27. package/esm2015/lib/Pages/shared/Services/WorkFlowVersionService.service.js +24 -0
  28. package/esm2015/lib/Pages/shared/Services/WorkflowActivityService.service.js +32 -5
  29. package/esm2015/lib/Pages/shared/Services/WorkflowInstanceService.service.js +24 -0
  30. package/esm2015/lib/Pages/shared/Services/WorkflowLogVariablesService.service.js +24 -0
  31. package/esm2015/lib/Pages/shared/Services/WorkflowService.service.js +12 -4
  32. package/esm2015/lib/Pages/shared/Services/WorkflowVariablesService.service.js +12 -6
  33. package/esm2015/lib/Pages/shared/models/DepartmentModels/DepartmentModel.js +3 -2
  34. package/esm2015/lib/Pages/shared/models/UserModels/ActivationModel.js +3 -0
  35. package/esm2015/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.js +8 -0
  36. package/esm2015/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.js +535 -0
  37. package/esm2015/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.js +852 -0
  38. package/esm2015/lib/Pages/workflows/instance-info/instance-info.component.js +309 -0
  39. package/esm2015/lib/Pages/workflows/tabs/tabs.component.js +611 -430
  40. package/esm2015/lib/Pages/workflows/version-info/version-info.component.js +143 -0
  41. package/esm2015/lib/Pages/workflows/workflow/workflow.component.js +136 -148
  42. package/esm2015/lib/Pages/workflows/workflows-routing.module.js +9 -1
  43. package/esm2015/lib/Pages/workflows/workflows.module.js +7 -3
  44. package/fesm2015/bnsights-bbsf-admin-portal.js +12887 -8483
  45. package/fesm2015/bnsights-bbsf-admin-portal.js.map +1 -1
  46. package/lib/Pages/account/account.module.d.ts +10 -7
  47. package/lib/Pages/account/activation/activation.component.d.ts +32 -0
  48. package/lib/Pages/account/forgot-password/forgot-password.component.d.ts +4 -1
  49. package/lib/Pages/account/rest-password/rest-password.component.d.ts +32 -0
  50. package/lib/Pages/account/upload-license/upload-license.component.d.ts +25 -0
  51. package/lib/Pages/publicHolidays/public-holiday/public-holiday.component.d.ts +11 -14
  52. package/lib/Pages/shared/Enums/ConditionRHSType.d.ts +4 -0
  53. package/lib/Pages/shared/Enums/WFActivityType.d.ts +10 -0
  54. package/lib/Pages/shared/Enums/WFVariableDataType.d.ts +12 -0
  55. package/lib/Pages/shared/Services/AccountService.service.d.ts +7 -0
  56. package/lib/Pages/shared/Services/WorkFlowVersionService.service.d.ts +10 -0
  57. package/lib/Pages/shared/Services/WorkflowActivityService.service.d.ts +9 -3
  58. package/lib/Pages/shared/Services/WorkflowInstanceService.service.d.ts +10 -0
  59. package/lib/Pages/shared/Services/WorkflowLogVariablesService.service.d.ts +10 -0
  60. package/lib/Pages/shared/Services/WorkflowService.service.d.ts +5 -3
  61. package/lib/Pages/shared/Services/WorkflowVariablesService.service.d.ts +5 -4
  62. package/lib/Pages/shared/models/DepartmentModels/DepartmentModel.d.ts +8 -8
  63. package/lib/Pages/shared/models/UserModels/ActivationModel.d.ts +10 -0
  64. package/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.d.ts +13 -0
  65. package/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.d.ts +77 -0
  66. package/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.d.ts +83 -0
  67. package/lib/Pages/workflows/instance-info/instance-info.component.d.ts +81 -0
  68. package/lib/Pages/workflows/tabs/tabs.component.d.ts +73 -80
  69. package/lib/Pages/workflows/version-info/version-info.component.d.ts +41 -0
  70. package/lib/Pages/workflows/workflow/workflow.component.d.ts +26 -29
  71. package/lib/Pages/workflows/workflows.module.d.ts +19 -15
  72. package/package.json +3 -3
  73. package/bnsights-bbsf-admin-portal-1.0.7.tgz +0 -0
@@ -338,7 +338,7 @@ export class ActiveDirectoryAddComponent {
338
338
  }
339
339
  }
340
340
  ActiveDirectoryAddComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ActiveDirectoryAddComponent, deps: [{ token: i1.PageInfoService }, { token: i2.UtilityService }, { token: i2.BBSFTranslateService }, { token: i2.EnvironmentService }, { token: i3.DataSecretService }, { token: i2.AuthService }, { token: i4.ActiveDirectoryService }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Component });
341
- ActiveDirectoryAddComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ActiveDirectoryAddComponent, selector: "lib-active-directory-add", viewQueries: [{ propertyName: "el", first: true, predicate: ["wizard"], descendants: true, static: true }], ngImport: i0, template: "\r\n\r\n<div class=\"container-fluid\">\r\n <div class=\"\r\n stepper stepper-pills stepper-column\r\n d-flex\r\n flex-column flex-xl-row flex-row-fluid \"\r\n id=\"kt_create_account_stepper\">\r\n <div class=\"\r\n d-flex\r\n justify-content-center\r\n rounded\r\n justify-content-xl-start\r\n flex-row-auto\r\n \r\n me-9\r\n card\r\n \">\r\n <div class=\"card-body px-6 px-lg-10 px-xxl-15 py-20\">\r\n <div class=\"stepper-nav\">\r\n <div class=\"stepper-item\"\r\n [ngClass]=\"{\r\n current: currentStep$.value === 1 }\">\r\n <div class=\"stepper-line w-40px\"></div>\r\n\r\n <div class=\"stepper-icon w-40px h-40px\">\r\n <i class=\"stepper-check fas fa-check\"></i>\r\n <span class=\"stepper-number\">1</span>\r\n </div>\r\n\r\n <div class=\"stepper-label\">\r\n <h3 class=\"stepper-title\">{{utilityService.getResourceValue(\"ActiveDirectory\")}}</h3>\r\n\r\n <div class=\"stepper-desc fw-bold\">{{utilityService.getResourceValue(\"ActiveDirectory_Tab1Note\")}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stepper-item\"\r\n [ngClass]=\"{\r\n current: currentStep$.value === 2 }\">\r\n <div class=\"stepper-line w-40px\"></div>\r\n\r\n <div class=\"stepper-icon w-40px h-40px\">\r\n <i class=\"stepper-check fas fa-check\"></i>\r\n <span class=\"stepper-number\">2</span>\r\n </div>\r\n\r\n <div class=\"stepper-label\">\r\n <h3 class=\"stepper-title\">{{utilityService.getResourceValue(\"ActiveDirectory_SelectContainer\")}}</h3>\r\n <div class=\"stepper-desc fw-bold\">{{utilityService.getResourceValue(\"ActiveDirectory_Tab2Note\")}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stepper-item\"\r\n [ngClass]=\"{\r\n current: currentStep$.value === 3}\">\r\n <div class=\"stepper-line w-40px\"></div>\r\n\r\n <div class=\"stepper-icon w-40px h-40px\">\r\n <i class=\"stepper-check fas fa-check\"></i>\r\n <span class=\"stepper-number\">3</span>\r\n </div>\r\n\r\n <div class=\"stepper-label\">\r\n <h3 class=\"stepper-title\">{{utilityService.getResourceValue(\"Options\")}}</h3>\r\n <div class=\"stepper-desc fw-bold\">{{utilityService.getResourceValue(\"ActiveDirectory_Tab3Note\")}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card d-flex flex-row-fluid flex-center rounded\">\r\n <form class=\"p-20 w-100 card-body\"\r\n id=\"kt_create_account_form\" [formGroup]=\"AddActiveDirectoryForm\">\r\n <div class=\"current\" *ngIf=\"IsAddFormLoaded\">\r\n <ng-container *ngIf=\"currentStep$.value === 1\">\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddTypeOptions\" [group]=\"AddActiveDirectoryForm\" (OnChange)=\"typeChange($event)\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-TextBox [options]=\"AddDomain\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-TextBox [options]=\"AddSamAccount\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-TextBox [options]=\"AddPassword\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"form-group mb-10\" *ngIf=\"AddShowBuiltInGroupsVisible\">\r\n <BBSF-Toggleslide [options]=\"AddShowBuiltInGroups\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-Toggleslide>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"currentStep$.value === 2\">\r\n <div class=\"form-group mb-10\">\r\n <BBSF-TextBox [options]=\"AddSearchTree\" [group]=\"AddActiveDirectoryForm\"></BBSF-TextBox>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentStep$.value === 3\">\r\n <div class=\"form-group\">\r\n <BBSF-TextBox [options]=\"AddName\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddPermissionSet\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddLanguage\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddWelcomeMsgTemp\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddFileProvider\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-Toggleslide [options]=\"AddMarkInactive\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-Toggleslide>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-Toggleslide [options]=\"AddDailyJob\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-Toggleslide>\r\n </div>\r\n <div class=\"table-responsive\">\r\n <!-- begin::Table -->\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Type\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Property\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ADProperty\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"IncludeInUpdate\")}}</th>\r\n <th class=\"min-w-50px\"></th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-bold text-gray-600 border-0\">\r\n <tr *ngFor=\"let option of AddMappingsOptions;let i=index;\">\r\n <td>\r\n <BBSF-DropdownList [options]=\"option[0]\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </td>\r\n <td>\r\n <BBSF-DropdownList [options]=\"option[1]\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </td>\r\n <td>\r\n <BBSF-TextBox [options]=\"option[2]\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </td>\r\n <td>\r\n <BBSF-CheckBox [options]=\"option[3]\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-CheckBox>\r\n </td>\r\n\r\n <td>\r\n <a class=\"btn btn-icon btn-light-danger\" (click)=\"deleteADMapping(option)\">\r\n <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n </a>\r\n </td>\r\n </tr>\r\n\r\n </tbody>\r\n </table>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"d-flex flex-stack pt-10\">\r\n <div class=\"mr-2\">\r\n <ng-container *ngIf=\"currentStep$.value !== 1\">\r\n <button type=\"button\"\r\n class=\"btn btn-lg btn-light-primary me-3\"\r\n (click)=\"prevStep()\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr063.svg'\"\r\n class=\"svg-icon svg-icon-4 me-1\"></span>\r\n {{utilityService.getResourceValue(\"Previous\")}}\r\n </button>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"currentStep$.value !== formsCount\">\r\n <div>\r\n <button type=\"button\"\r\n class=\"btn btn-lg btn-primary me-3\"\r\n (click)=\"nextStep()\">\r\n <span class=\"indicator-label\">\r\n <ng-container *ngIf=\"currentStep$.value < formsCount\">\r\n {{utilityService.getResourceValue(\"Next\")}} {{ \" \" }}\r\n <span [inlineSVG]=\"\r\n './src/assets/images/arr064.svg'\r\n \"\r\n class=\"svg-icon svg-icon-3 ms-2 me-0\"></span>\r\n </ng-container>\r\n \r\n </span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"currentStep$.value === formsCount\" >\r\n <button type=\"button\"\r\n class=\"btn btn-lg btn-primary me-3\"\r\n (click)=\"onSubmit()\">\r\n {{utilityService.getResourceValue(\"Submit\")}}\r\n </button>\r\n \r\n </ng-container>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n</div>\r\n", components: [{ type: i6.ɵh, selector: "BBSF-DropdownList", inputs: ["group", "options"], outputs: ["OnChange", "onClear"] }, { type: i6.ɵd, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i6.ɵj, selector: "BBSF-Toggleslide", inputs: ["group", "options"] }, { type: i6.ɵg, selector: "BBSF-CheckBox", inputs: ["group", "options"], outputs: ["OnChange"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }] });
341
+ ActiveDirectoryAddComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ActiveDirectoryAddComponent, selector: "lib-active-directory-add", viewQueries: [{ propertyName: "el", first: true, predicate: ["wizard"], descendants: true, static: true }], ngImport: i0, template: "\r\n\r\n<div class=\"container-fluid\">\r\n <div class=\"\r\n stepper stepper-pills stepper-column\r\n d-flex\r\n flex-column flex-xl-row flex-row-fluid \"\r\n id=\"kt_create_account_stepper\">\r\n <div class=\"d-flex justify-content-center rounded justify-content-xl-start flex-row-auto me-9 card\">\r\n <div class=\"card-body px-6 px-lg-10 px-xxl-15 py-20\">\r\n <div class=\"stepper-nav\">\r\n <div class=\"stepper-item\"\r\n [ngClass]=\"{\r\n current: currentStep$.value === 1 }\">\r\n <div class=\"stepper-line w-40px\"></div>\r\n\r\n <div class=\"stepper-icon w-40px h-40px\">\r\n <i class=\"stepper-check fas fa-check\"></i>\r\n <span class=\"stepper-number\">1</span>\r\n </div>\r\n\r\n <div class=\"stepper-label\">\r\n <h3 class=\"stepper-title\">{{utilityService.getResourceValue(\"ActiveDirectory\")}}</h3>\r\n\r\n <div class=\"stepper-desc fw-bold\">{{utilityService.getResourceValue(\"ActiveDirectory_Tab1Note\")}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stepper-item\"\r\n [ngClass]=\"{\r\n current: currentStep$.value === 2 }\">\r\n <div class=\"stepper-line w-40px\"></div>\r\n\r\n <div class=\"stepper-icon w-40px h-40px\">\r\n <i class=\"stepper-check fas fa-check\"></i>\r\n <span class=\"stepper-number\">2</span>\r\n </div>\r\n\r\n <div class=\"stepper-label\">\r\n <h3 class=\"stepper-title\">{{utilityService.getResourceValue(\"ActiveDirectory_SelectContainer\")}}</h3>\r\n <div class=\"stepper-desc fw-bold\">{{utilityService.getResourceValue(\"ActiveDirectory_Tab2Note\")}}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stepper-item\"\r\n [ngClass]=\"{\r\n current: currentStep$.value === 3}\">\r\n <div class=\"stepper-line w-40px\"></div>\r\n\r\n <div class=\"stepper-icon w-40px h-40px\">\r\n <i class=\"stepper-check fas fa-check\"></i>\r\n <span class=\"stepper-number\">3</span>\r\n </div>\r\n\r\n <div class=\"stepper-label\">\r\n <h3 class=\"stepper-title\">{{utilityService.getResourceValue(\"Options\")}}</h3>\r\n <div class=\"stepper-desc fw-bold\">{{utilityService.getResourceValue(\"ActiveDirectory_Tab3Note\")}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card d-flex flex-row-fluid flex-center rounded\">\r\n <form class=\"p-20 w-100 card-body\"\r\n id=\"kt_create_account_form\" [formGroup]=\"AddActiveDirectoryForm\">\r\n <div class=\"current\" *ngIf=\"IsAddFormLoaded\">\r\n <ng-container *ngIf=\"currentStep$.value === 1\">\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddTypeOptions\" [group]=\"AddActiveDirectoryForm\" (OnChange)=\"typeChange($event)\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-TextBox [options]=\"AddDomain\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-TextBox [options]=\"AddSamAccount\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-TextBox [options]=\"AddPassword\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"form-group mb-10\" *ngIf=\"AddShowBuiltInGroupsVisible\">\r\n <BBSF-Toggleslide [options]=\"AddShowBuiltInGroups\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-Toggleslide>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"currentStep$.value === 2\">\r\n <div class=\"form-group mb-10\">\r\n <BBSF-TextBox [options]=\"AddSearchTree\" [group]=\"AddActiveDirectoryForm\"></BBSF-TextBox>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"currentStep$.value === 3\">\r\n <div class=\"form-group\">\r\n <BBSF-TextBox [options]=\"AddName\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddPermissionSet\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddLanguage\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddWelcomeMsgTemp\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-DropdownList [options]=\"AddFileProvider\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-Toggleslide [options]=\"AddMarkInactive\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-Toggleslide>\r\n </div>\r\n <div class=\"form-group mb-10\">\r\n <BBSF-Toggleslide [options]=\"AddDailyJob\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-Toggleslide>\r\n </div>\r\n <div class=\"table-responsive\">\r\n <!-- begin::Table -->\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer table-w-control\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Type\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"Property\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"ADProperty\")}}</th>\r\n <th class=\"min-w-150px\">{{utilityService.getResourceValue(\"IncludeInUpdate\")}}</th>\r\n <th class=\"min-w-50px\"></th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"fw-bold text-gray-600 border-0\">\r\n <tr *ngFor=\"let option of AddMappingsOptions;let i=index;\">\r\n <td>\r\n <BBSF-DropdownList [options]=\"option[0]\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </td>\r\n <td>\r\n <BBSF-DropdownList [options]=\"option[1]\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-DropdownList>\r\n </td>\r\n <td>\r\n <BBSF-TextBox [options]=\"option[2]\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-TextBox>\r\n </td>\r\n <td>\r\n <BBSF-CheckBox [options]=\"option[3]\" [group]=\"AddActiveDirectoryForm\">\r\n </BBSF-CheckBox>\r\n </td>\r\n\r\n <td>\r\n <a class=\"btn btn-icon btn-light-danger\" (click)=\"deleteADMapping(option)\">\r\n <i class=\" fa fa-trash hidden\" aria-hidden=\"true\"></i>\r\n </a>\r\n </td>\r\n </tr>\r\n\r\n </tbody>\r\n </table>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"d-flex flex-stack pt-10\">\r\n <div class=\"mr-2\">\r\n <ng-container *ngIf=\"currentStep$.value !== 1\">\r\n <button type=\"button\"\r\n class=\"btn btn-lg btn-light-primary me-3\"\r\n (click)=\"prevStep()\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr063.svg'\"\r\n class=\"svg-icon svg-icon-4 me-1\"></span>\r\n {{utilityService.getResourceValue(\"Previous\")}}\r\n </button>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"currentStep$.value !== formsCount\">\r\n <div>\r\n <button type=\"button\"\r\n class=\"btn btn-lg btn-primary me-3\"\r\n (click)=\"nextStep()\">\r\n <span class=\"indicator-label\">\r\n <ng-container *ngIf=\"currentStep$.value < formsCount\">\r\n {{utilityService.getResourceValue(\"Next\")}} {{ \" \" }}\r\n <span [inlineSVG]=\"\r\n './src/assets/images/arr064.svg'\r\n \"\r\n class=\"svg-icon svg-icon-3 ms-2 me-0\"></span>\r\n </ng-container>\r\n \r\n </span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"currentStep$.value === formsCount\" >\r\n <button type=\"button\"\r\n class=\"btn btn-lg btn-primary me-3\"\r\n (click)=\"onSubmit()\">\r\n {{utilityService.getResourceValue(\"Submit\")}}\r\n </button>\r\n \r\n </ng-container>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n</div>\r\n", components: [{ type: i6.ɵh, selector: "BBSF-DropdownList", inputs: ["group", "options"], outputs: ["OnChange", "onClear"] }, { type: i6.ɵd, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { type: i6.ɵj, selector: "BBSF-Toggleslide", inputs: ["group", "options"] }, { type: i6.ɵg, selector: "BBSF-CheckBox", inputs: ["group", "options"], outputs: ["OnChange"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }] });
342
342
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ActiveDirectoryAddComponent, decorators: [{
343
343
  type: Component,
344
344
  args: [{
@@ -349,4 +349,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
349
349
  type: ViewChild,
350
350
  args: ['wizard', { static: true }]
351
351
  }] } });
352
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWRpcmVjdG9yeS1hZGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9BY3RpdmVEaXJlY3Rvcmllcy9hY3RpdmUtZGlyZWN0b3J5LWFkZC9hY3RpdmUtZGlyZWN0b3J5LWFkZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL0FjdGl2ZURpcmVjdG9yaWVzL2FjdGl2ZS1kaXJlY3RvcnktYWRkL2FjdGl2ZS1kaXJlY3RvcnktYWRkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekksT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdkcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBU3ZDLE1BQU0sT0FBTywyQkFBMkI7SUFvRHRDLFlBQW9CLGVBQWdDLEVBQVMsY0FBOEIsRUFBVSxvQkFBMEMsRUFBVSxrQkFBc0MsRUFBVSxZQUErQixFQUFVLFdBQXdCLEVBQVUsc0JBQThDLEVBQVUsTUFBYztRQUF0VSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSx5QkFBb0Is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QztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsdUNBQXVDO2lCQUNyRDsyVEFrQndDLEVBQUU7c0JBQXhDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRvZ2dsZVNsaWRlT3B0aW9ucywgQ29udHJvbExheW91dCwgRHJvcGRvd25PcHRpb25zLCBJbnB1dFR5cGUsIFRleHRCb3hPcHRpb25zLCBDaGVja0JveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IERhdGFTZWNyZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvQWN0aXZlRGlyZWN0b3J5U2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZlRGlyZWN0b3J5QWRkRWRpdE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9BRE1vZGVscy9BY3RpdmVEaXJlY3RvcnlBZGRFZGl0TW9kZWwnO1xyXG5pbXBvcnQgeyBBRE1hcHBpbmdNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvQURNb2RlbHMvQURNYXBwaW5nTW9kZWwnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21ldHJvbmljL2NvcmUvc2VydmljZXMvcGFnZS1pbmZvLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFjdGl2ZS1kaXJlY3RvcnktYWRkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZlLWRpcmVjdG9yeS1hZGQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3RpdmVEaXJlY3RvcnlBZGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQXBpVXJsID0gXCIvYXBpL2FkbWluL0FEQ29ubmVjdGlvbi9cIjtcclxuICBsYW5ndWFnZTogc3RyaW5nID0gXCJcIjtcclxuICBQcm9kdWN0aW9uTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vd2l6YXJkXHJcbiAgZm9ybXNDb3VudCA9IDM7XHJcbiAgY3VycmVudFN0ZXAkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoMSk7XHJcbiAgLy93aXphcmRcclxuICBQZXJtaXNzaW9uU2V0TGlzdDogYW55W10gPSBbXTtcclxuICBMYW5ndWFnZXNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIFdlbGNvbWVNc2dUZW1wTGlzdDogYW55W10gPSBbXTtcclxuICBBRFR5cGVzTGlzdDogYW55W10gPSBbXTtcclxuICBGaWxlUHJvdmlkZXJzOiBhbnlbXSA9IFtdO1xyXG4gIGNvbm5lY3Rpb25UeXBlR3JvdXBJZDogbnVtYmVyO1xyXG5cclxuICBtYXBwaW5nUHJvcGVydGllc0xpc3Q6IGFueVtdID0gW107XHJcbiAgbWFwcGluZ1R5cGVzTGlzdDogYW55W10gPSBbXTtcclxuICBAVmlld0NoaWxkKCd3aXphcmQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBlbDogRWxlbWVudFJlZjtcclxuXHJcbiAgLy9BZGQgTW9kZWwgQ29udHJvbHNcclxuICBBZGRBY3RpdmVEaXJlY3RvcnlGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgQWRkVHlwZU9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICBBZGREb21haW46IFRleHRCb3hPcHRpb25zO1xyXG4gIEFkZFNhbUFjY291bnQ6IFRleHRCb3hPcHRpb25zO1xyXG4gIEFkZFBhc3N3b3JkOiBUZXh0Qm94T3B0aW9ucztcclxuICBBZGRTZWFyY2hUcmVlOiBUZXh0Qm94T3B0aW9ucztcclxuICBBZGRTaG93QnVpbHRJbkdyb3VwczogVG9nZ2xlU2xpZGVPcHRpb25zO1xyXG4gIEFkZE5hbWU6IFRleHRCb3hPcHRpb25zO1xyXG4gIEFkZFBlcm1pc3Npb25TZXQ6IERyb3Bkb3duT3B0aW9ucztcclxuICBBZGRMYW5ndWFnZTogRHJvcGRvd25PcHRpb25zO1xyXG4gIEFkZFdlbGNvbWVNc2dUZW1wOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgQWRkRmlsZVByb3ZpZGVyOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgQWRkTWFya0luYWN0aXZlOiBUb2dnbGVTbGlkZU9wdGlvbnM7XHJcbiAgQWRkRGFpbHlKb2I6IFRvZ2dsZVNsaWRlT3B0aW9ucztcclxuICBBZGRNYXBwaW5nc09wdGlvbnM6IGFueVtdID0gW107XHJcbiAgQWRkTWFwcGluZ3NDb3VudDogbnVtYmVyID0gMDtcclxuXHJcblxyXG5cclxuICBBZGRTaG93QnVpbHRJbkdyb3Vwc1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBJc0FkZEZvcm1Mb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy9BZGREZXNjcmlwdGlvbjogVGV4dEFyZWFPcHRpb25zO1xyXG4gIC8vQWRkT3JnYW5pemF0aW9uT3B0aW9uczogRHJvcGRvd25PcHRpb25zO1xyXG5cclxuICBzdWJtaXR0ZWQgPSBmYWxzZTtcclxuICB3aXphcmQ6IGFueTtcclxuXHJcbiAgdmFsaWRhdGlvbkVycm9yOiBzdHJpbmc7XHJcbiAgZXJyb3JJc0ZvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdHJlZU5vZGVEYXRhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm9TZXJ2aWNlOiBQYWdlSW5mb1NlcnZpY2UsIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsIHByaXZhdGUgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlczogRGF0YVNlY3JldFNlcnZpY2UsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIEFjdGl2ZURpcmVjdG9yeVNlcnZpY2U6IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLmxhbmd1YWdlID0gZXZlbnQubGFuZztcclxuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgfSlcclxuICAgIHRoaXMubGFuZ3VhZ2UgPSBhd2FpdCB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpO1xyXG4gICAgdGhpcy5Qcm9kdWN0aW9uTW9kZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFByb2R1Y3Rpb25Nb2RlKClcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2UoKTtcclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgdGhpcy5BY3RpdmVEaXJlY3RvcnlTZXJ2aWNlLkxvYWRkcm9wZG93bnMoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBsZXQgRHJvcGRvd25MaXN0cyA9IHJlc3VsdCBhcyBhbnlcclxuICAgICAgdGhpcy5QZXJtaXNzaW9uU2V0TGlzdCA9IERyb3Bkb3duTGlzdHMucGVybWlzc2lvblNldHM7XHJcbiAgICAgIHRoaXMuQURUeXBlc0xpc3QgPSBEcm9wZG93bkxpc3RzLmFkVHlwZXM7XHJcbiAgICAgIHRoaXMuTGFuZ3VhZ2VzTGlzdCA9IERyb3Bkb3duTGlzdHMubGFuZ3VhZ2VzO1xyXG4gICAgICB0aGlzLldlbGNvbWVNc2dUZW1wTGlzdCA9IERyb3Bkb3duTGlzdHMudGVtcGxhdGVzO1xyXG4gICAgICB0aGlzLkZpbGVQcm92aWRlcnMgPSBEcm9wZG93bkxpc3RzLmZpbGVQcm92aWRlcnM7XHJcbiAgICAgIHRoaXMuY29ubmVjdGlvblR5cGVHcm91cElkID0gRHJvcGRvd25MaXN0cy5jb25uZWN0aW9uVHlwZUdyb3VwSWQ7XHJcblxyXG4gICAgICB0aGlzLm1hcHBpbmdQcm9wZXJ0aWVzTGlzdCA9IERyb3Bkb3duTGlzdHMubWFwcGluZ1Byb3BlcnRpZXM7XHJcbiAgICAgIHRoaXMubWFwcGluZ1R5cGVzTGlzdCA9IERyb3Bkb3duTGlzdHMubWFwcGluZ1R5cGVzO1xyXG5cclxuICAgICAgdGhpcy5BZGRBY3RpdmVEaXJlY3RvcnlGb3JtLnJlc2V0KCk7XHJcbiAgICAgIHRoaXMuQWRkRG9tYWluID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkRG9tYWluLk5hbWUgPSBcIkFkZERvbWFpblwiO1xyXG4gICAgICB0aGlzLkFkZERvbWFpbi5MYWJlbEtleSA9IFwiRG9tYWluXCI7XHJcbiAgICAgIHRoaXMuQWRkRG9tYWluLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5BZGREb21haW4uVmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLkFkZERvbWFpbi5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuQWRkU2FtQWNjb3VudCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZFNhbUFjY291bnQuTmFtZSA9IFwiQWRkU2FtQWNjb3VudFwiO1xyXG4gICAgICB0aGlzLkFkZFNhbUFjY291bnQuTGFiZWxLZXkgPSBcIlNhbUFjY291bnRcIjtcclxuICAgICAgdGhpcy5BZGRTYW1BY2NvdW50LlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5BZGRTYW1BY2NvdW50LlZhbHVlID0gbnVsbDtcclxuXHJcbiAgICAgIHRoaXMuQWRkUGFzc3dvcmQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGRQYXNzd29yZC5OYW1lID0gXCJBZGRQYXNzd29yZFwiO1xyXG4gICAgICB0aGlzLkFkZFBhc3N3b3JkLkxhYmVsS2V5ID0gXCJQYXNzd29yZFwiO1xyXG4gICAgICB0aGlzLkFkZFBhc3N3b3JkLlR5cGUgPSBJbnB1dFR5cGUuUGFzc3dvcmQ7XHJcbiAgICAgIHRoaXMuQWRkUGFzc3dvcmQuVmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLkFkZFBhc3N3b3JkLlJlbW92ZURlZmF1bHRQYXNzd29yZFZhbGlkYXRpb24gPSB0cnVlO1xyXG5cclxuXHJcbiAgICAgIHRoaXMuQWRkVHlwZU9wdGlvbnMgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkVHlwZU9wdGlvbnMuTmFtZSA9IFwiQWRkVHlwZU9wdGlvbnNcIlxyXG4gICAgICB0aGlzLkFkZFR5cGVPcHRpb25zLkxhYmVsS2V5ID0gXCJUeXBlXCJcclxuICAgICAgdGhpcy5BZGRUeXBlT3B0aW9ucy5WaWV3VHlwZSA9IENvbnRyb2xMYXlvdXQuSG9yaXpvbnRhbFxyXG4gICAgICB0aGlzLkFkZFR5cGVPcHRpb25zLkRhdGFTb3VyY2UgPSB0aGlzLkFEVHlwZXNMaXN0XHJcbiAgICAgIHRoaXMuQWRkVHlwZU9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRUeXBlT3B0aW9ucy5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkVHlwZU9wdGlvbnMuUGxhY2Vob2xkZXIgPSBcIlwiO1xyXG4gICAgICB0aGlzLkFkZFR5cGVPcHRpb25zLklzUmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5BZGRTaG93QnVpbHRJbkdyb3VwcyA9IG5ldyBUb2dnbGVTbGlkZU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGRTaG93QnVpbHRJbkdyb3Vwcy5OYW1lID0gXCJBZGRTaG93QnVpbHRJbkdyb3Vwc1wiXHJcbiAgICAgIHRoaXMuQWRkU2hvd0J1aWx0SW5Hcm91cHMuTGFiZWxWYWx1ZSA9IFwiU2hvd0J1aWx0SW5Hcm91cHNcIlxyXG4gICAgICB0aGlzLkFkZFNob3dCdWlsdEluR3JvdXBzLkxhYmVsS2V5ID0gXCJTaG93QnVpbHRJbkdyb3Vwc1wiXHJcbiAgICAgIHRoaXMuQWRkU2hvd0J1aWx0SW5Hcm91cHMuVmFsdWUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5BZGRTaG93QnVpbHRJbkdyb3Vwcy5WaWV3VHlwZSA9IENvbnRyb2xMYXlvdXQuSG9yaXpvbnRhbDtcclxuXHJcbiAgICAgIHRoaXMuQWRkU2VhcmNoVHJlZSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZFNlYXJjaFRyZWUuTmFtZSA9IFwiQWRkU2VhcmNoVHJlZVwiO1xyXG4gICAgICB0aGlzLkFkZFNlYXJjaFRyZWUuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRTZWFyY2hUcmVlLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5BZGRTZWFyY2hUcmVlLlZhbHVlID0gbnVsbDtcclxuXHJcbiAgICAgIHRoaXMuQWRkTmFtZSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZE5hbWUuTmFtZSA9IFwiQWRkTmFtZVwiO1xyXG4gICAgICB0aGlzLkFkZE5hbWUuTGFiZWxLZXkgPSBcIk5hbWVcIjtcclxuICAgICAgdGhpcy5BZGROYW1lLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5BZGROYW1lLlZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5BZGROYW1lLklzUmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5BZGRQZXJtaXNzaW9uU2V0ID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZFBlcm1pc3Npb25TZXQuTmFtZSA9IFwiQWRkUGVybWlzc2lvblNldFwiXHJcbiAgICAgIHRoaXMuQWRkUGVybWlzc2lvblNldC5MYWJlbEtleSA9IFwiUGVybWlzc2lvblNldFwiXHJcbiAgICAgIHRoaXMuQWRkUGVybWlzc2lvblNldC5EYXRhU291cmNlID0gdGhpcy5QZXJtaXNzaW9uU2V0TGlzdFxyXG4gICAgICB0aGlzLkFkZFBlcm1pc3Npb25TZXQuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRQZXJtaXNzaW9uU2V0LkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRQZXJtaXNzaW9uU2V0LlBsYWNlaG9sZGVyID0gXCJQZXJtaXNzaW9uU2V0XCI7XHJcbiAgICAgIHRoaXMuQWRkUGVybWlzc2lvblNldC5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuQWRkTGFuZ3VhZ2UgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkTGFuZ3VhZ2UuTmFtZSA9IFwiQWRkTGFuZ3VhZ2VcIlxyXG4gICAgICB0aGlzLkFkZExhbmd1YWdlLkxhYmVsS2V5ID0gXCJMYW5ndWFnZVwiXHJcbiAgICAgIHRoaXMuQWRkTGFuZ3VhZ2UuRGF0YVNvdXJjZSA9IHRoaXMuTGFuZ3VhZ2VzTGlzdFxyXG4gICAgICB0aGlzLkFkZExhbmd1YWdlLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkTGFuZ3VhZ2UuQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZExhbmd1YWdlLlBsYWNlaG9sZGVyID0gXCJcIjtcclxuICAgICAgdGhpcy5BZGRMYW5ndWFnZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuQWRkV2VsY29tZU1zZ1RlbXAgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkV2VsY29tZU1zZ1RlbXAuTmFtZSA9IFwiQWRkV2VsY29tZU1zZ1RlbXBcIlxyXG4gICAgICB0aGlzLkFkZFdlbGNvbWVNc2dUZW1wLkxhYmVsS2V5ID0gXCJXZWxjb21lTXNnVGVtcGxhdGVcIlxyXG4gICAgICB0aGlzLkFkZFdlbGNvbWVNc2dUZW1wLkRhdGFTb3VyY2UgPSB0aGlzLldlbGNvbWVNc2dUZW1wTGlzdFxyXG4gICAgICB0aGlzLkFkZFdlbGNvbWVNc2dUZW1wLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkV2VsY29tZU1zZ1RlbXAuQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZFdlbGNvbWVNc2dUZW1wLlBsYWNlaG9sZGVyID0gXCJXZWxjb21lTXNnVGVtcGxhdGVcIjtcclxuXHJcbiAgICAgIHRoaXMuQWRkRmlsZVByb3ZpZGVyID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZEZpbGVQcm92aWRlci5OYW1lID0gXCJBZGRGaWxlUHJvdmlkZXJcIlxyXG4gICAgICB0aGlzLkFkZEZpbGVQcm92aWRlci5MYWJlbEtleSA9IFwiRmlsZVByb3ZpZGVyXCJcclxuICAgICAgdGhpcy5BZGRGaWxlUHJvdmlkZXIuRGF0YVNvdXJjZSA9IHRoaXMuRmlsZVByb3ZpZGVyc1xyXG4gICAgICB0aGlzLkFkZEZpbGVQcm92aWRlci5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZEZpbGVQcm92aWRlci5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkRmlsZVByb3ZpZGVyLlBsYWNlaG9sZGVyID0gXCJXZWxjb21lTXNnVGVtcGxhdGVcIjtcclxuXHJcbiAgICAgIHRoaXMuQWRkTWFya0luYWN0aXZlID0gbmV3IFRvZ2dsZVNsaWRlT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZE1hcmtJbmFjdGl2ZS5OYW1lID0gXCJBZGRNYXJrSW5hY3RpdmVcIlxyXG4gICAgICB0aGlzLkFkZE1hcmtJbmFjdGl2ZS5MYWJlbEtleSA9IFwiTWFya0FzSW5hY3RpdmVcIlxyXG4gICAgICB0aGlzLkFkZE1hcmtJbmFjdGl2ZS5WYWx1ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkFkZE1hcmtJbmFjdGl2ZS5WaWV3VHlwZSA9IENvbnRyb2xMYXlvdXQuSG9yaXpvbnRhbDtcclxuXHJcbiAgICAgIHRoaXMuQWRkRGFpbHlKb2IgPSBuZXcgVG9nZ2xlU2xpZGVPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkRGFpbHlKb2IuTmFtZSA9IFwiQWRkRGFpbHlKb2JcIlxyXG4gICAgICB0aGlzLkFkZERhaWx5Sm9iLkxhYmVsS2V5ID0gXCJBZGRUb0RhaWx5Sm9iXCJcclxuICAgICAgdGhpcy5BZGREYWlseUpvYi5WYWx1ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkFkZERhaWx5Sm9iLlZpZXdUeXBlID0gQ29udHJvbExheW91dC5Ib3Jpem9udGFsO1xyXG5cclxuICAgICAgLy9zZXQgQUQgbWFwcGluZ1xyXG4gICAgICBsZXQgZGF0YTogYW55ID0gdGhpcy5nZXRBRE1hcHBpbmdPcHRpb25zKERyb3Bkb3duTGlzdHMuYWRNYXBwaW5ncyk7XHJcbiAgICAgIHRoaXMuQWRkTWFwcGluZ3NPcHRpb25zID0gZGF0YVswXTtcclxuICAgICAgdGhpcy5BZGRNYXBwaW5nc0NvdW50ID0gZGF0YVsxXTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuSXNBZGRGb3JtTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfSwgNTApO1xyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRBRE1hcHBpbmdPcHRpb25zKEFETWFwcGluZ3M6IGFueVtdKSB7XHJcbiAgICBsZXQgQURNYXBwaW5nT3B0aW9uczogYW55W10gPSBbXTtcclxuICAgIGxldCBBRE1hcHBpbmdDb3VudDogbnVtYmVyID0gMDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgQURNYXBwaW5ncy5sZW5ndGg7IGkrKykge1xyXG5cclxuICAgICAgbGV0IG9iamVjdE1hcHBpbmdPcHRpb25zOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgICAgbGV0IEFETWFwcGluZ1R5cGUgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIGxldCBzZWxlY3RlZFR5cGUgPSB0aGlzLm1hcHBpbmdUeXBlc0xpc3QuZmlsdGVyKChpdGVtKSA9PiB7IHJldHVybiBpdGVtLmtleSA9PSBBRE1hcHBpbmdzW2ldLmFkTWFwcGluZ1R5cGVJdGVtSUQ7IH0pLm1hcCgoaXRlbSkgPT4gaXRlbS5rZXkpWzBdO1xyXG4gICAgICBBRE1hcHBpbmdUeXBlLk5hbWUgPSBcIkFETWFwcGluZ1R5cGVcIiArIGk7XHJcbiAgICAgIEFETWFwcGluZ1R5cGUuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgICAgQURNYXBwaW5nVHlwZS5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICBBRE1hcHBpbmdUeXBlLlNlbGVjdGVkSXRlbXMgPSBzZWxlY3RlZFR5cGU7XHJcbiAgICAgIEFETWFwcGluZ1R5cGUuVmlld1R5cGUgPSBDb250cm9sTGF5b3V0Lkhvcml6b250YWw7XHJcbiAgICAgIEFETWFwcGluZ1R5cGUuRGF0YVNvdXJjZSA9IHRoaXMubWFwcGluZ1R5cGVzTGlzdDtcclxuICAgICAgQURNYXBwaW5nVHlwZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIGxldCBBRE1hcHBpbmdQcm9wZXJ0eSA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgbGV0IHNlbGVjdGVkUHJvcGVydHkgPSB0aGlzLm1hcHBpbmdQcm9wZXJ0aWVzTGlzdC5maWx0ZXIoKGl0ZW0pID0+IHsgcmV0dXJuIGl0ZW0ua2V5ID09IEFETWFwcGluZ3NbaV0uYmJzZlByb3BlcnR5TmFtZTsgfSkubWFwKChpdGVtKSA9PiBpdGVtLmtleSlbMF07XHJcbiAgICAgIEFETWFwcGluZ1Byb3BlcnR5Lk5hbWUgPSBcIkFETWFwcGluZ1Byb3BlcnR5XCIgKyBpO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eS5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eS5TZWxlY3RlZEl0ZW1zID0gc2VsZWN0ZWRQcm9wZXJ0eTtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHkuVmlld1R5cGUgPSBDb250cm9sTGF5b3V0Lkhvcml6b250YWw7XHJcbiAgICAgIEFETWFwcGluZ1Byb3BlcnR5LkRhdGFTb3VyY2UgPSB0aGlzLm1hcHBpbmdQcm9wZXJ0aWVzTGlzdDtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHkuSXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG5cclxuICAgICAgbGV0IEFETWFwcGluZ1Byb3BlcnR5TmFtZSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eU5hbWUuTmFtZSA9IFwiQURNYXBwaW5nUHJvcGVydHlOYW1lXCIgKyBpO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eU5hbWUuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHlOYW1lLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHlOYW1lLlZhbHVlID0gQURNYXBwaW5nc1tpXS5hZFByb3BlcnR5TmFtZTtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHlOYW1lLklzUmVxdWlyZWQgPSBmYWxzZTtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHlOYW1lLlZpZXdUeXBlID0gQ29udHJvbExheW91dC5Ib3Jpem9udGFsO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eU5hbWUuSXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG4gICAgICBsZXQgQURNYXBwaW5nSW5jbHVkZVVwZGF0ZSA9IG5ldyBDaGVja0JveE9wdGlvbnMoKTtcclxuICAgICAgQURNYXBwaW5nSW5jbHVkZVVwZGF0ZS5OYW1lID0gXCJBRE1hcHBpbmdJbmNsdWRlVXBkYXRlXCIgKyBpO1xyXG4gICAgICBBRE1hcHBpbmdJbmNsdWRlVXBkYXRlLlZhbHVlID0gQURNYXBwaW5nc1tpXS5pbmNsdWRlSW5VcGRhdGU7XHJcbiAgICAgIEFETWFwcGluZ0luY2x1ZGVVcGRhdGUuSXNEaXNhYmxlZCA9IHRydWU7XHJcblxyXG5cclxuICAgICAgb2JqZWN0TWFwcGluZ09wdGlvbnMucHVzaChBRE1hcHBpbmdUeXBlLCBBRE1hcHBpbmdQcm9wZXJ0eSwgQURNYXBwaW5nUHJvcGVydHlOYW1lLCBBRE1hcHBpbmdJbmNsdWRlVXBkYXRlKTtcclxuICAgICAgQURNYXBwaW5nT3B0aW9ucy5wdXNoKG9iamVjdE1hcHBpbmdPcHRpb25zKTtcclxuICAgICAgQURNYXBwaW5nQ291bnQgKz0gMTtcclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gW0FETWFwcGluZ09wdGlvbnMsIEFETWFwcGluZ0NvdW50XTtcclxuICB9XHJcbiAgZGVsZXRlQURNYXBwaW5nKGRlbGV0ZWRBRE1BcHBpbmc6IGFueSkge1xyXG4gICAgbGV0IGRlbGV0ZWRNYXBwaW5nSW5kZXg6IG51bWJlciA9IHRoaXMuQWRkTWFwcGluZ3NPcHRpb25zLmluZGV4T2YoZGVsZXRlZEFETUFwcGluZyk7XHJcbiAgICBpZiAoZGVsZXRlZE1hcHBpbmdJbmRleCAhPT0gLTEpIHtcclxuICAgICAgdGhpcy5BZGRNYXBwaW5nc09wdGlvbnMuc3BsaWNlKGRlbGV0ZWRNYXBwaW5nSW5kZXgsIDEpO1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlbGV0ZWRBRE1BcHBpbmcubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLkFkZEFjdGl2ZURpcmVjdG9yeUZvcm0ucmVtb3ZlQ29udHJvbChkZWxldGVkQURNQXBwaW5nW2ldLk5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHR5cGVDaGFuZ2UodHlwZVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZVZhbHVlID09IHRoaXMuY29ubmVjdGlvblR5cGVHcm91cElkKSB7XHJcbiAgICAgIHRoaXMuQWRkU2hvd0J1aWx0SW5Hcm91cHNWaXNpYmxlID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLkFkZFNob3dCdWlsdEluR3JvdXBzVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmV4dFN0ZXAoKSB7XHJcbiAgICBjb25zdCBuZXh0U3RlcCA9IHRoaXMuY3VycmVudFN0ZXAkLnZhbHVlICsgMTtcclxuICAgIGlmIChuZXh0U3RlcCA+IHRoaXMuZm9ybXNDb3VudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwJC5uZXh0KG5leHRTdGVwKTtcclxuICB9XHJcblxyXG4gIHByZXZTdGVwKCkge1xyXG4gICAgY29uc3QgcHJldlN0ZXAgPSB0aGlzLmN1cnJlbnRTdGVwJC52YWx1ZSAtIDE7XHJcbiAgICBpZiAocHJldlN0ZXAgPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50U3RlcCQubmV4dChwcmV2U3RlcCk7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIEluaXRpYWxpemUgZm9ybSB3aXphcmRcclxuICAgIC8vdGhpcy53aXphcmQgPW5ldyAoS1RXaXphcmQgYXMgYW55KSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHtcclxuICAgIC8vICBzdGFydFN0ZXA6IDEsXHJcbiAgICAvLyAgY2xpY2thYmxlU3RlcHM6IHRydWVcclxuICAgIC8vfSk7XHJcblxyXG4gICAgLy8gVmFsaWRhdGlvbiBiZWZvcmUgZ29pbmcgdG8gbmV4dCBwYWdlXHJcblxyXG4gICAgdGhpcy53aXphcmQub24oJ2JlZm9yZU5leHQnLCAod2l6YXJkT2JqKSA9PiB7XHJcbiAgICAgIGlmICh3aXphcmRPYmouY3VycmVudFN0ZXAgPT09IDEpIHtcclxuICAgICAgICB3aXphcmRPYmouc3RvcCgpO1xyXG5cclxuICAgICAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLkFkZEFjdGl2ZURpcmVjdG9yeUZvcm0udmFsdWU7XHJcbiAgICAgICAgaWYgKChSZXN1bHRNb2RlbC5BZGRUeXBlT3B0aW9ucyA9PSB1bmRlZmluZWQpIHx8IChSZXN1bHRNb2RlbC5BZGREb21haW4gPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgfHwgUmVzdWx0TW9kZWwuQWRkVHlwZU9wdGlvbnMgPT0gbnVsbCB8fCBSZXN1bHRNb2RlbC5BZGREb21haW4gPT0gbnVsbCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGxldCBBZGRNb2RlbDogQWN0aXZlRGlyZWN0b3J5QWRkRWRpdE1vZGVsID0gbmV3IEFjdGl2ZURpcmVjdG9yeUFkZEVkaXRNb2RlbCgpO1xyXG4gICAgICAgIEFkZE1vZGVsLkNvbm5lY3Rpb25OYW1lID0gUmVzdWx0TW9kZWwuQWRkTmFtZTtcclxuICAgICAgICBBZGRNb2RlbC5Eb21haW4gPSBSZXN1bHRNb2RlbC5BZGREb21haW47XHJcbiAgICAgICAgbGV0IEFEVHlwZXMgPSBSZXN1bHRNb2RlbC5BZGRUeXBlT3B0aW9ucztcclxuICAgICAgICBsZXQgdHlwZUl0ZW1JRDogbnVtYmVyO1xyXG4gICAgICAgIHR5cGVJdGVtSUQgPSBOdW1iZXIoQURUeXBlcyk7XHJcbiAgICAgICAgQWRkTW9kZWwuQURDb25uZWN0aW9uVHlwZUl0ZW1JRCA9IFJlc3VsdE1vZGVsLkFkZFR5cGVPcHRpb25zICE9IG51bGwgPyB0eXBlSXRlbUlEIDogbnVsbDtcclxuICAgICAgICBBZGRNb2RlbC5TYW1BY2NvdW50ID0gUmVzdWx0TW9kZWwuQWRkU2FtQWNjb3VudDtcclxuICAgICAgICBBZGRNb2RlbC5QYXNzd29yZCA9IFJlc3VsdE1vZGVsLkFkZFBhc3N3b3JkO1xyXG4gICAgICAgIEFkZE1vZGVsLlNob3dCdWlsdEluR3JvdXBzID0gUmVzdWx0TW9kZWwuQWRkU2hvd0J1aWx0SW5Hcm91cHM7XHJcblxyXG5cclxuICAgICAgICB0aGlzLkFjdGl2ZURpcmVjdG9yeVNlcnZpY2UuQ2hlY2tWYWxpZGF0aW9uYW5kR2V0RGF0YShBZGRNb2RlbCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgIHZhciBkYXRhID0gcmVzdWx0IGFzIGFueTtcclxuICAgICAgICAgIGlmIChkYXRhLnZhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnRyZWVOb2RlRGF0YSA9IGRhdGEudHJlZURhdGE7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JJc0ZvdW5kID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHdpemFyZE9iai5yZXN1bWUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvciA9IGRhdGEuZXJyb3I7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JJc0ZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9mb3Jtc1xyXG4gICAgICAgIC8vIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9mb3JtLXZhbGlkYXRpb25cclxuXHJcbiAgICAgICAgLy8gdmFsaWRhdGUgdGhlIGZvcm0gYW5kIHVzZSBiZWxvdyBmdW5jdGlvbiB0byBzdG9wIHRoZSB3aXphcmQncyBzdGVwXHJcbiAgICAgICAgLy8gd2l6YXJkT2JqLnN0b3AoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gQ2hhbmdlIGV2ZW50XHJcbiAgICAvL3RoaXMud2l6YXJkLm9uKCdjaGFuZ2UnLCAoKSA9PiB7XHJcbiAgICAvLyAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgICBLVFV0aWwuc2Nyb2xsVG9wKCk7XHJcbiAgICAvLyAgfSwgNTAwKTtcclxuICAgIC8vfSk7XHJcbiAgfVxyXG4gIGFkZEFjdGl2ZURpcmVjdG9yeSgpIHtcclxuICAgIGlmICh0aGlzLkFkZEFjdGl2ZURpcmVjdG9yeUZvcm0uaW52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5BZGRBY3RpdmVEaXJlY3RvcnlGb3JtLnZhbHVlO1xyXG4gICAgICAvL2NvbnNvbGUubG9nKFJlc3VsdE1vZGVsKTtcclxuICAgICAgbGV0IEFkZE1vZGVsOiBBY3RpdmVEaXJlY3RvcnlBZGRFZGl0TW9kZWwgPSBuZXcgQWN0aXZlRGlyZWN0b3J5QWRkRWRpdE1vZGVsKCk7XHJcbiAgICAgIEFkZE1vZGVsLkNvbm5lY3Rpb25OYW1lID0gUmVzdWx0TW9kZWwuQWRkTmFtZTtcclxuICAgICAgQWRkTW9kZWwuRG9tYWluID0gUmVzdWx0TW9kZWwuQWRkRG9tYWluO1xyXG4gICAgICBBZGRNb2RlbC5BRENvbm5lY3Rpb25UeXBlSXRlbUlEID0gUmVzdWx0TW9kZWwuQWRkVHlwZU9wdGlvbnMgIT0gbnVsbCA/IE51bWJlcihSZXN1bHRNb2RlbC5BZGRUeXBlT3B0aW9ucykgOiBudWxsXHJcbiAgICAgIEFkZE1vZGVsLlNhbUFjY291bnQgPSBSZXN1bHRNb2RlbC5BZGRTYW1BY2NvdW50O1xyXG4gICAgICBBZGRNb2RlbC5QYXNzd29yZCA9IFJlc3VsdE1vZGVsLkFkZFBhc3N3b3JkO1xyXG4gICAgICBBZGRNb2RlbC5TaG93QnVpbHRJbkdyb3VwcyA9IFJlc3VsdE1vZGVsLkFkZFNob3dCdWlsdEluR3JvdXBzO1xyXG4gICAgICBBZGRNb2RlbC5QZXJtaXNzaW9uU2V0SUQgPSBSZXN1bHRNb2RlbC5BZGRQZXJtaXNzaW9uU2V0ICE9IG51bGwgPyBOdW1iZXIoUmVzdWx0TW9kZWwuQWRkUGVybWlzc2lvblNldCkgOiBudWxsXHJcbiAgICAgIEFkZE1vZGVsLkxhbmdLZXkgPSBSZXN1bHRNb2RlbC5BZGRMYW5ndWFnZTtcclxuICAgICAgQWRkTW9kZWwuV2VsY29tZVRlbXBsYXRlSUQgPSBSZXN1bHRNb2RlbC5BZGRXZWxjb21lTXNnVGVtcCAhPSBudWxsID8gTnVtYmVyKFJlc3VsdE1vZGVsLkFkZFdlbGNvbWVNc2dUZW1wKSA6IG51bGxcclxuICAgICAgQWRkTW9kZWwuSW1hZ2VzRmlsZVByb3ZpZGVyTmFtZSA9IFJlc3VsdE1vZGVsLkFkZEZpbGVQcm92aWRlclxyXG4gICAgICBBZGRNb2RlbC5NYXJrQXNJbmFjdGl2ZSA9IFJlc3VsdE1vZGVsLkFkZE1hcmtJbmFjdGl2ZVxyXG4gICAgICBBZGRNb2RlbC5BZGRUb0RhaWx5Sm9iID0gUmVzdWx0TW9kZWwuQWRkRGFpbHlKb2JcclxuXHJcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpcy5BZGRNYXBwaW5nc0NvdW50OyBqKyspIHtcclxuICAgICAgICBsZXQgYWRkTUFwcGluZ1R5cGUgPSBSZXN1bHRNb2RlbFtcIkFETWFwcGluZ1R5cGVcIiArIGpdO1xyXG4gICAgICAgIGlmIChhZGRNQXBwaW5nVHlwZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBsZXQgZWRpdE1BcHBpbmdQcm9wZXJ0eSA9IFJlc3VsdE1vZGVsW1wiQURNYXBwaW5nUHJvcGVydHlcIiArIGpdO1xyXG4gICAgICAgIGxldCBlZGl0TUFwcGluZ1Byb3BlcnR5TmFtZSA9IFJlc3VsdE1vZGVsW1wiQURNYXBwaW5nUHJvcGVydHlOYW1lXCIgKyBqXTtcclxuXHJcbiAgICAgICAgbGV0IGFkTUFwcGluZ09iajogQURNYXBwaW5nTW9kZWwgPSBuZXcgQURNYXBwaW5nTW9kZWwoKTtcclxuICAgICAgICBhZE1BcHBpbmdPYmouQURNYXBwaW5nVHlwZUl0ZW1JRCA9IE51bWJlcihhZGRNQXBwaW5nVHlwZSk7XHJcbiAgICAgICAgYWRNQXBwaW5nT2JqLkJCU0ZQcm9wZXJ0eU5hbWUgPSBlZGl0TUFwcGluZ1Byb3BlcnR5O1xyXG4gICAgICAgIGFkTUFwcGluZ09iai5BRFByb3BlcnR5TmFtZSA9IGVkaXRNQXBwaW5nUHJvcGVydHlOYW1lO1xyXG4gICAgICAgIEFkZE1vZGVsLkFETWFwcGluZ3MucHVzaChhZE1BcHBpbmdPYmopO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkFjdGl2ZURpcmVjdG9yeVNlcnZpY2UuQWRkQWN0aXZlRGlyZWN0b3J5KEFkZE1vZGVsKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIHRoaXMuQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybS5yZXNldCgpO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL0FkbWluL0FEQ29ubmVjdGlvbiddKTtcclxuXHJcbiAgICAgIH0sIChlcnJvcikgPT4ge1xyXG5cclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5hZGRBY3RpdmVEaXJlY3RvcnkoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gIHRoaXMud2l6YXJkID0gdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG5cclxuIiwiXHJcblxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgPGRpdiBjbGFzcz1cIlxyXG4gICAgc3RlcHBlciBzdGVwcGVyLXBpbGxzIHN0ZXBwZXItY29sdW1uXHJcbiAgICBkLWZsZXhcclxuICAgIGZsZXgtY29sdW1uIGZsZXgteGwtcm93IGZsZXgtcm93LWZsdWlkIFwiXHJcbiAgICAgICBpZD1cImt0X2NyZWF0ZV9hY2NvdW50X3N0ZXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJcclxuICAgICAgZC1mbGV4XHJcbiAgICAgIGp1c3RpZnktY29udGVudC1jZW50ZXJcclxuICAgICAgcm91bmRlZFxyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnRcclxuICAgICAgZmxleC1yb3ctYXV0b1xyXG4gICAgIFxyXG4gICAgICBtZS05XHJcbiAgICAgIGNhcmRcclxuICAgIFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB4LTYgcHgtbGctMTAgcHgteHhsLTE1IHB5LTIwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbmF2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1pdGVtXCJcclxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICBjdXJyZW50OiBjdXJyZW50U3RlcCQudmFsdWUgPT09IDEgfVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1saW5lIHctNDBweFwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItaWNvbiB3LTQwcHggaC00MHB4XCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzdGVwcGVyLWNoZWNrIGZhcyBmYS1jaGVja1wiPjwvaT5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXItbnVtYmVyXCI+MTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cInN0ZXBwZXItdGl0bGVcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmVEaXJlY3RvcnlcIil9fTwvaDM+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWRlc2MgZnctYm9sZFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFjdGl2ZURpcmVjdG9yeV9UYWIxTm90ZVwiKX19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItaXRlbVwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgY3VycmVudDogY3VycmVudFN0ZXAkLnZhbHVlID09PSAyIH1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbGluZSB3LTQwcHhcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWljb24gdy00MHB4IGgtNDBweFwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwic3RlcHBlci1jaGVjayBmYXMgZmEtY2hlY2tcIj48L2k+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwcGVyLW51bWJlclwiPjI8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbGFiZWxcIj5cclxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJzdGVwcGVyLXRpdGxlXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWN0aXZlRGlyZWN0b3J5X1NlbGVjdENvbnRhaW5lclwiKX19PC9oMz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1kZXNjIGZ3LWJvbGRcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmVEaXJlY3RvcnlfVGFiMk5vdGVcIil9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgIGN1cnJlbnQ6IGN1cnJlbnRTdGVwJC52YWx1ZSA9PT0gM31cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbGluZSB3LTQwcHhcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWljb24gdy00MHB4IGgtNDBweFwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwic3RlcHBlci1jaGVjayBmYXMgZmEtY2hlY2tcIj48L2k+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwcGVyLW51bWJlclwiPjM8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbGFiZWxcIj5cclxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJzdGVwcGVyLXRpdGxlXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiT3B0aW9uc1wiKX19PC9oMz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1kZXNjIGZ3LWJvbGRcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmVEaXJlY3RvcnlfVGFiM05vdGVcIil9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGQtZmxleCBmbGV4LXJvdy1mbHVpZCBmbGV4LWNlbnRlciAgcm91bmRlZFwiPlxyXG4gICAgICA8Zm9ybSBjbGFzcz1cInAtMjAgdy0xMDAgY2FyZC1ib2R5XCJcclxuICAgICAgICAgICAgaWQ9XCJrdF9jcmVhdGVfYWNjb3VudF9mb3JtXCIgW2Zvcm1Hcm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImN1cnJlbnRcIiAqbmdJZj1cIklzQWRkRm9ybUxvYWRlZFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA9PT0gMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkFkZFR5cGVPcHRpb25zXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIiAoT25DaGFuZ2UpPVwidHlwZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMTBcIj5cclxuICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkFkZERvbWFpblwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiQWRkU2FtQWNjb3VudFwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiQWRkUGFzc3dvcmRcIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMTBcIiAqbmdJZj1cIkFkZFNob3dCdWlsdEluR3JvdXBzVmlzaWJsZVwiPlxyXG4gICAgICAgICAgICAgIDxCQlNGLVRvZ2dsZXNsaWRlIFtvcHRpb25zXT1cIkFkZFNob3dCdWlsdEluR3JvdXBzXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj5cclxuICAgICAgICAgICAgICA8L0JCU0YtVG9nZ2xlc2xpZGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFN0ZXAkLnZhbHVlID09PSAyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJBZGRTZWFyY2hUcmVlXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj48L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFN0ZXAkLnZhbHVlID09PSAzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJBZGROYW1lXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj5cclxuICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkFkZFBlcm1pc3Npb25TZXRcIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJBZGRMYW5ndWFnZVwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgPC9CQlNGLURyb3Bkb3duTGlzdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkFkZFdlbGNvbWVNc2dUZW1wXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj5cclxuICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMTBcIj5cclxuICAgICAgICAgICAgICA8QkJTRi1Ecm9wZG93bkxpc3QgW29wdGlvbnNdPVwiQWRkRmlsZVByb3ZpZGVyXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj5cclxuICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMTBcIj5cclxuICAgICAgICAgICAgICA8QkJTRi1Ub2dnbGVzbGlkZSBbb3B0aW9uc109XCJBZGRNYXJrSW5hY3RpdmVcIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgIDwvQkJTRi1Ub2dnbGVzbGlkZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtVG9nZ2xlc2xpZGUgW29wdGlvbnNdPVwiQWRkRGFpbHlKb2JcIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgIDwvQkJTRi1Ub2dnbGVzbGlkZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgICAgICAgPCEtLSBiZWdpbjo6VGFibGUgLS0+XHJcbiAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgYWxpZ24tbWlkZGxlIHRhYmxlLXJvdy1kYXNoZWQgZnMtNiBneS01IGRhdGFUYWJsZSBuby1mb290ZXIgdGFibGUtdy1jb250cm9sXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cInRleHQtc3RhcnQgdGV4dC1ncmF5LTQwMCBmdy1ib2xkZXIgZnMtNyB0ZXh0LXVwcGVyY2FzZSBncy0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUeXBlXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUHJvcGVydHlcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBRFByb3BlcnR5XCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiSW5jbHVkZUluVXBkYXRlXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTUwcHhcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImZ3LWJvbGQgdGV4dC1ncmF5LTYwMCBib3JkZXItMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBBZGRNYXBwaW5nc09wdGlvbnM7bGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIm9wdGlvblswXVwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIm9wdGlvblsxXVwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJvcHRpb25bMl1cIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8QkJTRi1DaGVja0JveCBbb3B0aW9uc109XCJvcHRpb25bM11cIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9CQlNGLUNoZWNrQm94PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1saWdodC1kYW5nZXJcIiAoY2xpY2spPVwiZGVsZXRlQURNYXBwaW5nKG9wdGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCIgZmEgZmEtdHJhc2ggaGlkZGVuXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIHB0LTEwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItMlwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFN0ZXAkLnZhbHVlICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1sZyBidG4tbGlnaHQtcHJpbWFyeSBtZS0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2U3RlcCgpXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2My5zdmcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tNCBtZS0xXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUHJldmlvdXNcIil9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSAhPT0gZm9ybXNDb3VudFwiPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGcgYnRuLXByaW1hcnkgbWUtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dFN0ZXAoKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmRpY2F0b3ItbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA8IGZvcm1zQ291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJOZXh0XCIpfX0ge3sgXCIgXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDY0LnN2ZydcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMyBtcy0yIG1lLTBcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA9PT0gZm9ybXNDb3VudFwiID5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGcgYnRuLXByaW1hcnkgbWUtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3VibWl0KClcIj5cclxuICAgICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTdWJtaXRcIil9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICBcclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcblxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWRpcmVjdG9yeS1hZGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9BY3RpdmVEaXJlY3Rvcmllcy9hY3RpdmUtZGlyZWN0b3J5LWFkZC9hY3RpdmUtZGlyZWN0b3J5LWFkZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL0FjdGl2ZURpcmVjdG9yaWVzL2FjdGl2ZS1kaXJlY3RvcnktYWRkL2FjdGl2ZS1kaXJlY3RvcnktYWRkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekksT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDdkcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBU3ZDLE1BQU0sT0FBTywyQkFBMkI7SUFvRHRDLFlBQW9CLGVBQWdDLEVBQVMsY0FBOEIsRUFBVSxvQkFBMEMsRUFBVSxrQkFBc0MsRUFBVSxZQUErQixFQUFVLFdBQXdCLEVBQVUsc0JBQThDLEVBQVUsTUFBYztRQUF0VSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSx5QkFBb0Is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QztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsdUNBQXVDO2lCQUNyRDsyVEFrQndDLEVBQUU7c0JBQXhDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRvZ2dsZVNsaWRlT3B0aW9ucywgQ29udHJvbExheW91dCwgRHJvcGRvd25PcHRpb25zLCBJbnB1dFR5cGUsIFRleHRCb3hPcHRpb25zLCBDaGVja0JveE9wdGlvbnMgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IERhdGFTZWNyZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL1NlcnZpY2VzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvQWN0aXZlRGlyZWN0b3J5U2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZlRGlyZWN0b3J5QWRkRWRpdE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9BRE1vZGVscy9BY3RpdmVEaXJlY3RvcnlBZGRFZGl0TW9kZWwnO1xyXG5pbXBvcnQgeyBBRE1hcHBpbmdNb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvQURNb2RlbHMvQURNYXBwaW5nTW9kZWwnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlLCBCQlNGVHJhbnNsYXRlU2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtdXRpbGl0aWVzJztcclxuaW1wb3J0IHsgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX21ldHJvbmljL2NvcmUvc2VydmljZXMvcGFnZS1pbmZvLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFjdGl2ZS1kaXJlY3RvcnktYWRkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZlLWRpcmVjdG9yeS1hZGQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3RpdmVEaXJlY3RvcnlBZGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQXBpVXJsID0gXCIvYXBpL2FkbWluL0FEQ29ubmVjdGlvbi9cIjtcclxuICBsYW5ndWFnZTogc3RyaW5nID0gXCJcIjtcclxuICBQcm9kdWN0aW9uTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8vd2l6YXJkXHJcbiAgZm9ybXNDb3VudCA9IDM7XHJcbiAgY3VycmVudFN0ZXAkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoMSk7XHJcbiAgLy93aXphcmRcclxuICBQZXJtaXNzaW9uU2V0TGlzdDogYW55W10gPSBbXTtcclxuICBMYW5ndWFnZXNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIFdlbGNvbWVNc2dUZW1wTGlzdDogYW55W10gPSBbXTtcclxuICBBRFR5cGVzTGlzdDogYW55W10gPSBbXTtcclxuICBGaWxlUHJvdmlkZXJzOiBhbnlbXSA9IFtdO1xyXG4gIGNvbm5lY3Rpb25UeXBlR3JvdXBJZDogbnVtYmVyO1xyXG5cclxuICBtYXBwaW5nUHJvcGVydGllc0xpc3Q6IGFueVtdID0gW107XHJcbiAgbWFwcGluZ1R5cGVzTGlzdDogYW55W10gPSBbXTtcclxuICBAVmlld0NoaWxkKCd3aXphcmQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBlbDogRWxlbWVudFJlZjtcclxuXHJcbiAgLy9BZGQgTW9kZWwgQ29udHJvbHNcclxuICBBZGRBY3RpdmVEaXJlY3RvcnlGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgQWRkVHlwZU9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICBBZGREb21haW46IFRleHRCb3hPcHRpb25zO1xyXG4gIEFkZFNhbUFjY291bnQ6IFRleHRCb3hPcHRpb25zO1xyXG4gIEFkZFBhc3N3b3JkOiBUZXh0Qm94T3B0aW9ucztcclxuICBBZGRTZWFyY2hUcmVlOiBUZXh0Qm94T3B0aW9ucztcclxuICBBZGRTaG93QnVpbHRJbkdyb3VwczogVG9nZ2xlU2xpZGVPcHRpb25zO1xyXG4gIEFkZE5hbWU6IFRleHRCb3hPcHRpb25zO1xyXG4gIEFkZFBlcm1pc3Npb25TZXQ6IERyb3Bkb3duT3B0aW9ucztcclxuICBBZGRMYW5ndWFnZTogRHJvcGRvd25PcHRpb25zO1xyXG4gIEFkZFdlbGNvbWVNc2dUZW1wOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgQWRkRmlsZVByb3ZpZGVyOiBEcm9wZG93bk9wdGlvbnM7XHJcbiAgQWRkTWFya0luYWN0aXZlOiBUb2dnbGVTbGlkZU9wdGlvbnM7XHJcbiAgQWRkRGFpbHlKb2I6IFRvZ2dsZVNsaWRlT3B0aW9ucztcclxuICBBZGRNYXBwaW5nc09wdGlvbnM6IGFueVtdID0gW107XHJcbiAgQWRkTWFwcGluZ3NDb3VudDogbnVtYmVyID0gMDtcclxuXHJcblxyXG5cclxuICBBZGRTaG93QnVpbHRJbkdyb3Vwc1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBJc0FkZEZvcm1Mb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy9BZGREZXNjcmlwdGlvbjogVGV4dEFyZWFPcHRpb25zO1xyXG4gIC8vQWRkT3JnYW5pemF0aW9uT3B0aW9uczogRHJvcGRvd25PcHRpb25zO1xyXG5cclxuICBzdWJtaXR0ZWQgPSBmYWxzZTtcclxuICB3aXphcmQ6IGFueTtcclxuXHJcbiAgdmFsaWRhdGlvbkVycm9yOiBzdHJpbmc7XHJcbiAgZXJyb3JJc0ZvdW5kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdHJlZU5vZGVEYXRhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnZUluZm9TZXJ2aWNlOiBQYWdlSW5mb1NlcnZpY2UsIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsIHByaXZhdGUgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlczogRGF0YVNlY3JldFNlcnZpY2UsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIEFjdGl2ZURpcmVjdG9yeVNlcnZpY2U6IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLmxhbmd1YWdlID0gZXZlbnQubGFuZztcclxuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgfSlcclxuICAgIHRoaXMubGFuZ3VhZ2UgPSBhd2FpdCB0aGlzLnV0aWxpdHlTZXJ2aWNlLmdldEN1cnJlbnRMYW5ndWFnZSgpO1xyXG4gICAgdGhpcy5Qcm9kdWN0aW9uTW9kZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFByb2R1Y3Rpb25Nb2RlKClcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVBhZ2UoKTtcclxuXHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgdGhpcy5BY3RpdmVEaXJlY3RvcnlTZXJ2aWNlLkxvYWRkcm9wZG93bnMoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBsZXQgRHJvcGRvd25MaXN0cyA9IHJlc3VsdCBhcyBhbnlcclxuICAgICAgdGhpcy5QZXJtaXNzaW9uU2V0TGlzdCA9IERyb3Bkb3duTGlzdHMucGVybWlzc2lvblNldHM7XHJcbiAgICAgIHRoaXMuQURUeXBlc0xpc3QgPSBEcm9wZG93bkxpc3RzLmFkVHlwZXM7XHJcbiAgICAgIHRoaXMuTGFuZ3VhZ2VzTGlzdCA9IERyb3Bkb3duTGlzdHMubGFuZ3VhZ2VzO1xyXG4gICAgICB0aGlzLldlbGNvbWVNc2dUZW1wTGlzdCA9IERyb3Bkb3duTGlzdHMudGVtcGxhdGVzO1xyXG4gICAgICB0aGlzLkZpbGVQcm92aWRlcnMgPSBEcm9wZG93bkxpc3RzLmZpbGVQcm92aWRlcnM7XHJcbiAgICAgIHRoaXMuY29ubmVjdGlvblR5cGVHcm91cElkID0gRHJvcGRvd25MaXN0cy5jb25uZWN0aW9uVHlwZUdyb3VwSWQ7XHJcblxyXG4gICAgICB0aGlzLm1hcHBpbmdQcm9wZXJ0aWVzTGlzdCA9IERyb3Bkb3duTGlzdHMubWFwcGluZ1Byb3BlcnRpZXM7XHJcbiAgICAgIHRoaXMubWFwcGluZ1R5cGVzTGlzdCA9IERyb3Bkb3duTGlzdHMubWFwcGluZ1R5cGVzO1xyXG5cclxuICAgICAgdGhpcy5BZGRBY3RpdmVEaXJlY3RvcnlGb3JtLnJlc2V0KCk7XHJcbiAgICAgIHRoaXMuQWRkRG9tYWluID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkRG9tYWluLk5hbWUgPSBcIkFkZERvbWFpblwiO1xyXG4gICAgICB0aGlzLkFkZERvbWFpbi5MYWJlbEtleSA9IFwiRG9tYWluXCI7XHJcbiAgICAgIHRoaXMuQWRkRG9tYWluLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5BZGREb21haW4uVmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLkFkZERvbWFpbi5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuQWRkU2FtQWNjb3VudCA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZFNhbUFjY291bnQuTmFtZSA9IFwiQWRkU2FtQWNjb3VudFwiO1xyXG4gICAgICB0aGlzLkFkZFNhbUFjY291bnQuTGFiZWxLZXkgPSBcIlNhbUFjY291bnRcIjtcclxuICAgICAgdGhpcy5BZGRTYW1BY2NvdW50LlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5BZGRTYW1BY2NvdW50LlZhbHVlID0gbnVsbDtcclxuXHJcbiAgICAgIHRoaXMuQWRkUGFzc3dvcmQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGRQYXNzd29yZC5OYW1lID0gXCJBZGRQYXNzd29yZFwiO1xyXG4gICAgICB0aGlzLkFkZFBhc3N3b3JkLkxhYmVsS2V5ID0gXCJQYXNzd29yZFwiO1xyXG4gICAgICB0aGlzLkFkZFBhc3N3b3JkLlR5cGUgPSBJbnB1dFR5cGUuUGFzc3dvcmQ7XHJcbiAgICAgIHRoaXMuQWRkUGFzc3dvcmQuVmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLkFkZFBhc3N3b3JkLlJlbW92ZURlZmF1bHRQYXNzd29yZFZhbGlkYXRpb24gPSB0cnVlO1xyXG5cclxuXHJcbiAgICAgIHRoaXMuQWRkVHlwZU9wdGlvbnMgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkVHlwZU9wdGlvbnMuTmFtZSA9IFwiQWRkVHlwZU9wdGlvbnNcIlxyXG4gICAgICB0aGlzLkFkZFR5cGVPcHRpb25zLkxhYmVsS2V5ID0gXCJUeXBlXCJcclxuICAgICAgdGhpcy5BZGRUeXBlT3B0aW9ucy5WaWV3VHlwZSA9IENvbnRyb2xMYXlvdXQuSG9yaXpvbnRhbFxyXG4gICAgICB0aGlzLkFkZFR5cGVPcHRpb25zLkRhdGFTb3VyY2UgPSB0aGlzLkFEVHlwZXNMaXN0XHJcbiAgICAgIHRoaXMuQWRkVHlwZU9wdGlvbnMuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRUeXBlT3B0aW9ucy5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkVHlwZU9wdGlvbnMuUGxhY2Vob2xkZXIgPSBcIlwiO1xyXG4gICAgICB0aGlzLkFkZFR5cGVPcHRpb25zLklzUmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5BZGRTaG93QnVpbHRJbkdyb3VwcyA9IG5ldyBUb2dnbGVTbGlkZU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGRTaG93QnVpbHRJbkdyb3Vwcy5OYW1lID0gXCJBZGRTaG93QnVpbHRJbkdyb3Vwc1wiXHJcbiAgICAgIHRoaXMuQWRkU2hvd0J1aWx0SW5Hcm91cHMuTGFiZWxWYWx1ZSA9IFwiU2hvd0J1aWx0SW5Hcm91cHNcIlxyXG4gICAgICB0aGlzLkFkZFNob3dCdWlsdEluR3JvdXBzLkxhYmVsS2V5ID0gXCJTaG93QnVpbHRJbkdyb3Vwc1wiXHJcbiAgICAgIHRoaXMuQWRkU2hvd0J1aWx0SW5Hcm91cHMuVmFsdWUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5BZGRTaG93QnVpbHRJbkdyb3Vwcy5WaWV3VHlwZSA9IENvbnRyb2xMYXlvdXQuSG9yaXpvbnRhbDtcclxuXHJcbiAgICAgIHRoaXMuQWRkU2VhcmNoVHJlZSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZFNlYXJjaFRyZWUuTmFtZSA9IFwiQWRkU2VhcmNoVHJlZVwiO1xyXG4gICAgICB0aGlzLkFkZFNlYXJjaFRyZWUuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRTZWFyY2hUcmVlLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5BZGRTZWFyY2hUcmVlLlZhbHVlID0gbnVsbDtcclxuXHJcbiAgICAgIHRoaXMuQWRkTmFtZSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZE5hbWUuTmFtZSA9IFwiQWRkTmFtZVwiO1xyXG4gICAgICB0aGlzLkFkZE5hbWUuTGFiZWxLZXkgPSBcIk5hbWVcIjtcclxuICAgICAgdGhpcy5BZGROYW1lLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5BZGROYW1lLlZhbHVlID0gbnVsbDtcclxuICAgICAgdGhpcy5BZGROYW1lLklzUmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5BZGRQZXJtaXNzaW9uU2V0ID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZFBlcm1pc3Npb25TZXQuTmFtZSA9IFwiQWRkUGVybWlzc2lvblNldFwiXHJcbiAgICAgIHRoaXMuQWRkUGVybWlzc2lvblNldC5MYWJlbEtleSA9IFwiUGVybWlzc2lvblNldFwiXHJcbiAgICAgIHRoaXMuQWRkUGVybWlzc2lvblNldC5EYXRhU291cmNlID0gdGhpcy5QZXJtaXNzaW9uU2V0TGlzdFxyXG4gICAgICB0aGlzLkFkZFBlcm1pc3Npb25TZXQuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRQZXJtaXNzaW9uU2V0LkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRQZXJtaXNzaW9uU2V0LlBsYWNlaG9sZGVyID0gXCJQZXJtaXNzaW9uU2V0XCI7XHJcbiAgICAgIHRoaXMuQWRkUGVybWlzc2lvblNldC5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuQWRkTGFuZ3VhZ2UgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkTGFuZ3VhZ2UuTmFtZSA9IFwiQWRkTGFuZ3VhZ2VcIlxyXG4gICAgICB0aGlzLkFkZExhbmd1YWdlLkxhYmVsS2V5ID0gXCJMYW5ndWFnZVwiXHJcbiAgICAgIHRoaXMuQWRkTGFuZ3VhZ2UuRGF0YVNvdXJjZSA9IHRoaXMuTGFuZ3VhZ2VzTGlzdFxyXG4gICAgICB0aGlzLkFkZExhbmd1YWdlLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkTGFuZ3VhZ2UuQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZExhbmd1YWdlLlBsYWNlaG9sZGVyID0gXCJcIjtcclxuICAgICAgdGhpcy5BZGRMYW5ndWFnZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuQWRkV2VsY29tZU1zZ1RlbXAgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkV2VsY29tZU1zZ1RlbXAuTmFtZSA9IFwiQWRkV2VsY29tZU1zZ1RlbXBcIlxyXG4gICAgICB0aGlzLkFkZFdlbGNvbWVNc2dUZW1wLkxhYmVsS2V5ID0gXCJXZWxjb21lTXNnVGVtcGxhdGVcIlxyXG4gICAgICB0aGlzLkFkZFdlbGNvbWVNc2dUZW1wLkRhdGFTb3VyY2UgPSB0aGlzLldlbGNvbWVNc2dUZW1wTGlzdFxyXG4gICAgICB0aGlzLkFkZFdlbGNvbWVNc2dUZW1wLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkV2VsY29tZU1zZ1RlbXAuQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZFdlbGNvbWVNc2dUZW1wLlBsYWNlaG9sZGVyID0gXCJXZWxjb21lTXNnVGVtcGxhdGVcIjtcclxuXHJcbiAgICAgIHRoaXMuQWRkRmlsZVByb3ZpZGVyID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZEZpbGVQcm92aWRlci5OYW1lID0gXCJBZGRGaWxlUHJvdmlkZXJcIlxyXG4gICAgICB0aGlzLkFkZEZpbGVQcm92aWRlci5MYWJlbEtleSA9IFwiRmlsZVByb3ZpZGVyXCJcclxuICAgICAgdGhpcy5BZGRGaWxlUHJvdmlkZXIuRGF0YVNvdXJjZSA9IHRoaXMuRmlsZVByb3ZpZGVyc1xyXG4gICAgICB0aGlzLkFkZEZpbGVQcm92aWRlci5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZEZpbGVQcm92aWRlci5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkRmlsZVByb3ZpZGVyLlBsYWNlaG9sZGVyID0gXCJXZWxjb21lTXNnVGVtcGxhdGVcIjtcclxuXHJcbiAgICAgIHRoaXMuQWRkTWFya0luYWN0aXZlID0gbmV3IFRvZ2dsZVNsaWRlT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZE1hcmtJbmFjdGl2ZS5OYW1lID0gXCJBZGRNYXJrSW5hY3RpdmVcIlxyXG4gICAgICB0aGlzLkFkZE1hcmtJbmFjdGl2ZS5MYWJlbEtleSA9IFwiTWFya0FzSW5hY3RpdmVcIlxyXG4gICAgICB0aGlzLkFkZE1hcmtJbmFjdGl2ZS5WYWx1ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkFkZE1hcmtJbmFjdGl2ZS5WaWV3VHlwZSA9IENvbnRyb2xMYXlvdXQuSG9yaXpvbnRhbDtcclxuXHJcbiAgICAgIHRoaXMuQWRkRGFpbHlKb2IgPSBuZXcgVG9nZ2xlU2xpZGVPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkRGFpbHlKb2IuTmFtZSA9IFwiQWRkRGFpbHlKb2JcIlxyXG4gICAgICB0aGlzLkFkZERhaWx5Sm9iLkxhYmVsS2V5ID0gXCJBZGRUb0RhaWx5Sm9iXCJcclxuICAgICAgdGhpcy5BZGREYWlseUpvYi5WYWx1ZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkFkZERhaWx5Sm9iLlZpZXdUeXBlID0gQ29udHJvbExheW91dC5Ib3Jpem9udGFsO1xyXG5cclxuICAgICAgLy9zZXQgQUQgbWFwcGluZ1xyXG4gICAgICBsZXQgZGF0YTogYW55ID0gdGhpcy5nZXRBRE1hcHBpbmdPcHRpb25zKERyb3Bkb3duTGlzdHMuYWRNYXBwaW5ncyk7XHJcbiAgICAgIHRoaXMuQWRkTWFwcGluZ3NPcHRpb25zID0gZGF0YVswXTtcclxuICAgICAgdGhpcy5BZGRNYXBwaW5nc0NvdW50ID0gZGF0YVsxXTtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuSXNBZGRGb3JtTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfSwgNTApO1xyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRBRE1hcHBpbmdPcHRpb25zKEFETWFwcGluZ3M6IGFueVtdKSB7XHJcbiAgICBsZXQgQURNYXBwaW5nT3B0aW9uczogYW55W10gPSBbXTtcclxuICAgIGxldCBBRE1hcHBpbmdDb3VudDogbnVtYmVyID0gMDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgQURNYXBwaW5ncy5sZW5ndGg7IGkrKykge1xyXG5cclxuICAgICAgbGV0IG9iamVjdE1hcHBpbmdPcHRpb25zOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgICAgbGV0IEFETWFwcGluZ1R5cGUgPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIGxldCBzZWxlY3RlZFR5cGUgPSB0aGlzLm1hcHBpbmdUeXBlc0xpc3QuZmlsdGVyKChpdGVtKSA9PiB7IHJldHVybiBpdGVtLmtleSA9PSBBRE1hcHBpbmdzW2ldLmFkTWFwcGluZ1R5cGVJdGVtSUQ7IH0pLm1hcCgoaXRlbSkgPT4gaXRlbS5rZXkpWzBdO1xyXG4gICAgICBBRE1hcHBpbmdUeXBlLk5hbWUgPSBcIkFETWFwcGluZ1R5cGVcIiArIGk7XHJcbiAgICAgIEFETWFwcGluZ1R5cGUuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgICAgQURNYXBwaW5nVHlwZS5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICBBRE1hcHBpbmdUeXBlLlNlbGVjdGVkSXRlbXMgPSBzZWxlY3RlZFR5cGU7XHJcbiAgICAgIEFETWFwcGluZ1R5cGUuVmlld1R5cGUgPSBDb250cm9sTGF5b3V0Lkhvcml6b250YWw7XHJcbiAgICAgIEFETWFwcGluZ1R5cGUuRGF0YVNvdXJjZSA9IHRoaXMubWFwcGluZ1R5cGVzTGlzdDtcclxuICAgICAgQURNYXBwaW5nVHlwZS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIGxldCBBRE1hcHBpbmdQcm9wZXJ0eSA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgbGV0IHNlbGVjdGVkUHJvcGVydHkgPSB0aGlzLm1hcHBpbmdQcm9wZXJ0aWVzTGlzdC5maWx0ZXIoKGl0ZW0pID0+IHsgcmV0dXJuIGl0ZW0ua2V5ID09IEFETWFwcGluZ3NbaV0uYmJzZlByb3BlcnR5TmFtZTsgfSkubWFwKChpdGVtKSA9PiBpdGVtLmtleSlbMF07XHJcbiAgICAgIEFETWFwcGluZ1Byb3BlcnR5Lk5hbWUgPSBcIkFETWFwcGluZ1Byb3BlcnR5XCIgKyBpO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eS5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eS5TZWxlY3RlZEl0ZW1zID0gc2VsZWN0ZWRQcm9wZXJ0eTtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHkuVmlld1R5cGUgPSBDb250cm9sTGF5b3V0Lkhvcml6b250YWw7XHJcbiAgICAgIEFETWFwcGluZ1Byb3BlcnR5LkRhdGFTb3VyY2UgPSB0aGlzLm1hcHBpbmdQcm9wZXJ0aWVzTGlzdDtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHkuSXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG5cclxuICAgICAgbGV0IEFETWFwcGluZ1Byb3BlcnR5TmFtZSA9IG5ldyBUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eU5hbWUuTmFtZSA9IFwiQURNYXBwaW5nUHJvcGVydHlOYW1lXCIgKyBpO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eU5hbWUuSGlkZUxhYmVsID0gdHJ1ZTtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHlOYW1lLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHlOYW1lLlZhbHVlID0gQURNYXBwaW5nc1tpXS5hZFByb3BlcnR5TmFtZTtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHlOYW1lLklzUmVxdWlyZWQgPSBmYWxzZTtcclxuICAgICAgQURNYXBwaW5nUHJvcGVydHlOYW1lLlZpZXdUeXBlID0gQ29udHJvbExheW91dC5Ib3Jpem9udGFsO1xyXG4gICAgICBBRE1hcHBpbmdQcm9wZXJ0eU5hbWUuSXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG4gICAgICBsZXQgQURNYXBwaW5nSW5jbHVkZVVwZGF0ZSA9IG5ldyBDaGVja0JveE9wdGlvbnMoKTtcclxuICAgICAgQURNYXBwaW5nSW5jbHVkZVVwZGF0ZS5OYW1lID0gXCJBRE1hcHBpbmdJbmNsdWRlVXBkYXRlXCIgKyBpO1xyXG4gICAgICBBRE1hcHBpbmdJbmNsdWRlVXBkYXRlLlZhbHVlID0gQURNYXBwaW5nc1tpXS5pbmNsdWRlSW5VcGRhdGU7XHJcbiAgICAgIEFETWFwcGluZ0luY2x1ZGVVcGRhdGUuSXNEaXNhYmxlZCA9IHRydWU7XHJcblxyXG5cclxuICAgICAgb2JqZWN0TWFwcGluZ09wdGlvbnMucHVzaChBRE1hcHBpbmdUeXBlLCBBRE1hcHBpbmdQcm9wZXJ0eSwgQURNYXBwaW5nUHJvcGVydHlOYW1lLCBBRE1hcHBpbmdJbmNsdWRlVXBkYXRlKTtcclxuICAgICAgQURNYXBwaW5nT3B0aW9ucy5wdXNoKG9iamVjdE1hcHBpbmdPcHRpb25zKTtcclxuICAgICAgQURNYXBwaW5nQ291bnQgKz0gMTtcclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4gW0FETWFwcGluZ09wdGlvbnMsIEFETWFwcGluZ0NvdW50XTtcclxuICB9XHJcbiAgZGVsZXRlQURNYXBwaW5nKGRlbGV0ZWRBRE1BcHBpbmc6IGFueSkge1xyXG4gICAgbGV0IGRlbGV0ZWRNYXBwaW5nSW5kZXg6IG51bWJlciA9IHRoaXMuQWRkTWFwcGluZ3NPcHRpb25zLmluZGV4T2YoZGVsZXRlZEFETUFwcGluZyk7XHJcbiAgICBpZiAoZGVsZXRlZE1hcHBpbmdJbmRleCAhPT0gLTEpIHtcclxuICAgICAgdGhpcy5BZGRNYXBwaW5nc09wdGlvbnMuc3BsaWNlKGRlbGV0ZWRNYXBwaW5nSW5kZXgsIDEpO1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRlbGV0ZWRBRE1BcHBpbmcubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLkFkZEFjdGl2ZURpcmVjdG9yeUZvcm0ucmVtb3ZlQ29udHJvbChkZWxldGVkQURNQXBwaW5nW2ldLk5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHR5cGVDaGFuZ2UodHlwZVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZVZhbHVlID09IHRoaXMuY29ubmVjdGlvblR5cGVHcm91cElkKSB7XHJcbiAgICAgIHRoaXMuQWRkU2hvd0J1aWx0SW5Hcm91cHNWaXNpYmxlID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLkFkZFNob3dCdWlsdEluR3JvdXBzVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmV4dFN0ZXAoKSB7XHJcbiAgICBjb25zdCBuZXh0U3RlcCA9IHRoaXMuY3VycmVudFN0ZXAkLnZhbHVlICsgMTtcclxuICAgIGlmIChuZXh0U3RlcCA+IHRoaXMuZm9ybXNDb3VudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRTdGVwJC5uZXh0KG5leHRTdGVwKTtcclxuICB9XHJcblxyXG4gIHByZXZTdGVwKCkge1xyXG4gICAgY29uc3QgcHJldlN0ZXAgPSB0aGlzLmN1cnJlbnRTdGVwJC52YWx1ZSAtIDE7XHJcbiAgICBpZiAocHJldlN0ZXAgPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50U3RlcCQubmV4dChwcmV2U3RlcCk7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIEluaXRpYWxpemUgZm9ybSB3aXphcmRcclxuICAgIC8vdGhpcy53aXphcmQgPW5ldyAoS1RXaXphcmQgYXMgYW55KSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHtcclxuICAgIC8vICBzdGFydFN0ZXA6IDEsXHJcbiAgICAvLyAgY2xpY2thYmxlU3RlcHM6IHRydWVcclxuICAgIC8vfSk7XHJcblxyXG4gICAgLy8gVmFsaWRhdGlvbiBiZWZvcmUgZ29pbmcgdG8gbmV4dCBwYWdlXHJcblxyXG4gICAgdGhpcy53aXphcmQub24oJ2JlZm9yZU5leHQnLCAod2l6YXJkT2JqKSA9PiB7XHJcbiAgICAgIGlmICh3aXphcmRPYmouY3VycmVudFN0ZXAgPT09IDEpIHtcclxuICAgICAgICB3aXphcmRPYmouc3RvcCgpO1xyXG5cclxuICAgICAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLkFkZEFjdGl2ZURpcmVjdG9yeUZvcm0udmFsdWU7XHJcbiAgICAgICAgaWYgKChSZXN1bHRNb2RlbC5BZGRUeXBlT3B0aW9ucyA9PSB1bmRlZmluZWQpIHx8IChSZXN1bHRNb2RlbC5BZGREb21haW4gPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgfHwgUmVzdWx0TW9kZWwuQWRkVHlwZU9wdGlvbnMgPT0gbnVsbCB8fCBSZXN1bHRNb2RlbC5BZGREb21haW4gPT0gbnVsbCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGxldCBBZGRNb2RlbDogQWN0aXZlRGlyZWN0b3J5QWRkRWRpdE1vZGVsID0gbmV3IEFjdGl2ZURpcmVjdG9yeUFkZEVkaXRNb2RlbCgpO1xyXG4gICAgICAgIEFkZE1vZGVsLkNvbm5lY3Rpb25OYW1lID0gUmVzdWx0TW9kZWwuQWRkTmFtZTtcclxuICAgICAgICBBZGRNb2RlbC5Eb21haW4gPSBSZXN1bHRNb2RlbC5BZGREb21haW47XHJcbiAgICAgICAgbGV0IEFEVHlwZXMgPSBSZXN1bHRNb2RlbC5BZGRUeXBlT3B0aW9ucztcclxuICAgICAgICBsZXQgdHlwZUl0ZW1JRDogbnVtYmVyO1xyXG4gICAgICAgIHR5cGVJdGVtSUQgPSBOdW1iZXIoQURUeXBlcyk7XHJcbiAgICAgICAgQWRkTW9kZWwuQURDb25uZWN0aW9uVHlwZUl0ZW1JRCA9IFJlc3VsdE1vZGVsLkFkZFR5cGVPcHRpb25zICE9IG51bGwgPyB0eXBlSXRlbUlEIDogbnVsbDtcclxuICAgICAgICBBZGRNb2RlbC5TYW1BY2NvdW50ID0gUmVzdWx0TW9kZWwuQWRkU2FtQWNjb3VudDtcclxuICAgICAgICBBZGRNb2RlbC5QYXNzd29yZCA9IFJlc3VsdE1vZGVsLkFkZFBhc3N3b3JkO1xyXG4gICAgICAgIEFkZE1vZGVsLlNob3dCdWlsdEluR3JvdXBzID0gUmVzdWx0TW9kZWwuQWRkU2hvd0J1aWx0SW5Hcm91cHM7XHJcblxyXG5cclxuICAgICAgICB0aGlzLkFjdGl2ZURpcmVjdG9yeVNlcnZpY2UuQ2hlY2tWYWxpZGF0aW9uYW5kR2V0RGF0YShBZGRNb2RlbCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgIHZhciBkYXRhID0gcmVzdWx0IGFzIGFueTtcclxuICAgICAgICAgIGlmIChkYXRhLnZhbCkge1xyXG4gICAgICAgICAgICB0aGlzLnRyZWVOb2RlRGF0YSA9IGRhdGEudHJlZURhdGE7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JJc0ZvdW5kID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHdpemFyZE9iai5yZXN1bWUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvciA9IGRhdGEuZXJyb3I7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JJc0ZvdW5kID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9mb3Jtc1xyXG4gICAgICAgIC8vIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9mb3JtLXZhbGlkYXRpb25cclxuXHJcbiAgICAgICAgLy8gdmFsaWRhdGUgdGhlIGZvcm0gYW5kIHVzZSBiZWxvdyBmdW5jdGlvbiB0byBzdG9wIHRoZSB3aXphcmQncyBzdGVwXHJcbiAgICAgICAgLy8gd2l6YXJkT2JqLnN0b3AoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gQ2hhbmdlIGV2ZW50XHJcbiAgICAvL3RoaXMud2l6YXJkLm9uKCdjaGFuZ2UnLCAoKSA9PiB7XHJcbiAgICAvLyAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAvLyAgICBLVFV0aWwuc2Nyb2xsVG9wKCk7XHJcbiAgICAvLyAgfSwgNTAwKTtcclxuICAgIC8vfSk7XHJcbiAgfVxyXG4gIGFkZEFjdGl2ZURpcmVjdG9yeSgpIHtcclxuICAgIGlmICh0aGlzLkFkZEFjdGl2ZURpcmVjdG9yeUZvcm0uaW52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5BZGRBY3RpdmVEaXJlY3RvcnlGb3JtLnZhbHVlO1xyXG4gICAgICAvL2NvbnNvbGUubG9nKFJlc3VsdE1vZGVsKTtcclxuICAgICAgbGV0IEFkZE1vZGVsOiBBY3RpdmVEaXJlY3RvcnlBZGRFZGl0TW9kZWwgPSBuZXcgQWN0aXZlRGlyZWN0b3J5QWRkRWRpdE1vZGVsKCk7XHJcbiAgICAgIEFkZE1vZGVsLkNvbm5lY3Rpb25OYW1lID0gUmVzdWx0TW9kZWwuQWRkTmFtZTtcclxuICAgICAgQWRkTW9kZWwuRG9tYWluID0gUmVzdWx0TW9kZWwuQWRkRG9tYWluO1xyXG4gICAgICBBZGRNb2RlbC5BRENvbm5lY3Rpb25UeXBlSXRlbUlEID0gUmVzdWx0TW9kZWwuQWRkVHlwZU9wdGlvbnMgIT0gbnVsbCA/IE51bWJlcihSZXN1bHRNb2RlbC5BZGRUeXBlT3B0aW9ucykgOiBudWxsXHJcbiAgICAgIEFkZE1vZGVsLlNhbUFjY291bnQgPSBSZXN1bHRNb2RlbC5BZGRTYW1BY2NvdW50O1xyXG4gICAgICBBZGRNb2RlbC5QYXNzd29yZCA9IFJlc3VsdE1vZGVsLkFkZFBhc3N3b3JkO1xyXG4gICAgICBBZGRNb2RlbC5TaG93QnVpbHRJbkdyb3VwcyA9IFJlc3VsdE1vZGVsLkFkZFNob3dCdWlsdEluR3JvdXBzO1xyXG4gICAgICBBZGRNb2RlbC5QZXJtaXNzaW9uU2V0SUQgPSBSZXN1bHRNb2RlbC5BZGRQZXJtaXNzaW9uU2V0ICE9IG51bGwgPyBOdW1iZXIoUmVzdWx0TW9kZWwuQWRkUGVybWlzc2lvblNldCkgOiBudWxsXHJcbiAgICAgIEFkZE1vZGVsLkxhbmdLZXkgPSBSZXN1bHRNb2RlbC5BZGRMYW5ndWFnZTtcclxuICAgICAgQWRkTW9kZWwuV2VsY29tZVRlbXBsYXRlSUQgPSBSZXN1bHRNb2RlbC5BZGRXZWxjb21lTXNnVGVtcCAhPSBudWxsID8gTnVtYmVyKFJlc3VsdE1vZGVsLkFkZFdlbGNvbWVNc2dUZW1wKSA6IG51bGxcclxuICAgICAgQWRkTW9kZWwuSW1hZ2VzRmlsZVByb3ZpZGVyTmFtZSA9IFJlc3VsdE1vZGVsLkFkZEZpbGVQcm92aWRlclxyXG4gICAgICBBZGRNb2RlbC5NYXJrQXNJbmFjdGl2ZSA9IFJlc3VsdE1vZGVsLkFkZE1hcmtJbmFjdGl2ZVxyXG4gICAgICBBZGRNb2RlbC5BZGRUb0RhaWx5Sm9iID0gUmVzdWx0TW9kZWwuQWRkRGFpbHlKb2JcclxuXHJcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpcy5BZGRNYXBwaW5nc0NvdW50OyBqKyspIHtcclxuICAgICAgICBsZXQgYWRkTUFwcGluZ1R5cGUgPSBSZXN1bHRNb2RlbFtcIkFETWFwcGluZ1R5cGVcIiArIGpdO1xyXG4gICAgICAgIGlmIChhZGRNQXBwaW5nVHlwZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICBsZXQgZWRpdE1BcHBpbmdQcm9wZXJ0eSA9IFJlc3VsdE1vZGVsW1wiQURNYXBwaW5nUHJvcGVydHlcIiArIGpdO1xyXG4gICAgICAgIGxldCBlZGl0TUFwcGluZ1Byb3BlcnR5TmFtZSA9IFJlc3VsdE1vZGVsW1wiQURNYXBwaW5nUHJvcGVydHlOYW1lXCIgKyBqXTtcclxuXHJcbiAgICAgICAgbGV0IGFkTUFwcGluZ09iajogQURNYXBwaW5nTW9kZWwgPSBuZXcgQURNYXBwaW5nTW9kZWwoKTtcclxuICAgICAgICBhZE1BcHBpbmdPYmouQURNYXBwaW5nVHlwZUl0ZW1JRCA9IE51bWJlcihhZGRNQXBwaW5nVHlwZSk7XHJcbiAgICAgICAgYWRNQXBwaW5nT2JqLkJCU0ZQcm9wZXJ0eU5hbWUgPSBlZGl0TUFwcGluZ1Byb3BlcnR5O1xyXG4gICAgICAgIGFkTUFwcGluZ09iai5BRFByb3BlcnR5TmFtZSA9IGVkaXRNQXBwaW5nUHJvcGVydHlOYW1lO1xyXG4gICAgICAgIEFkZE1vZGVsLkFETWFwcGluZ3MucHVzaChhZE1BcHBpbmdPYmopO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkFjdGl2ZURpcmVjdG9yeVNlcnZpY2UuQWRkQWN0aXZlRGlyZWN0b3J5KEFkZE1vZGVsKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIHRoaXMuQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybS5yZXNldCgpO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL0FkbWluL0FEQ29ubmVjdGlvbiddKTtcclxuXHJcbiAgICAgIH0sIChlcnJvcikgPT4ge1xyXG5cclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5hZGRBY3RpdmVEaXJlY3RvcnkoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gIHRoaXMud2l6YXJkID0gdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG5cclxuIiwiXHJcblxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbiAgPGRpdiBjbGFzcz1cIlxyXG4gICAgc3RlcHBlciBzdGVwcGVyLXBpbGxzIHN0ZXBwZXItY29sdW1uXHJcbiAgICBkLWZsZXhcclxuICAgIGZsZXgtY29sdW1uIGZsZXgteGwtcm93IGZsZXgtcm93LWZsdWlkIFwiXHJcbiAgICAgICBpZD1cImt0X2NyZWF0ZV9hY2NvdW50X3N0ZXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciByb3VuZGVkIGp1c3RpZnktY29udGVudC14bC1zdGFydCBmbGV4LXJvdy1hdXRvIG1lLTkgY2FyZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB4LTYgcHgtbGctMTAgcHgteHhsLTE1IHB5LTIwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbmF2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1pdGVtXCJcclxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICBjdXJyZW50OiBjdXJyZW50U3RlcCQudmFsdWUgPT09IDEgfVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1saW5lIHctNDBweFwiPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItaWNvbiB3LTQwcHggaC00MHB4XCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzdGVwcGVyLWNoZWNrIGZhcyBmYS1jaGVja1wiPjwvaT5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBwZXItbnVtYmVyXCI+MTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cInN0ZXBwZXItdGl0bGVcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmVEaXJlY3RvcnlcIil9fTwvaDM+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWRlc2MgZnctYm9sZFwiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFjdGl2ZURpcmVjdG9yeV9UYWIxTm90ZVwiKX19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItaXRlbVwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgY3VycmVudDogY3VycmVudFN0ZXAkLnZhbHVlID09PSAyIH1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbGluZSB3LTQwcHhcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWljb24gdy00MHB4IGgtNDBweFwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwic3RlcHBlci1jaGVjayBmYXMgZmEtY2hlY2tcIj48L2k+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwcGVyLW51bWJlclwiPjI8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbGFiZWxcIj5cclxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJzdGVwcGVyLXRpdGxlXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWN0aXZlRGlyZWN0b3J5X1NlbGVjdENvbnRhaW5lclwiKX19PC9oMz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1kZXNjIGZ3LWJvbGRcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmVEaXJlY3RvcnlfVGFiMk5vdGVcIil9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgIGN1cnJlbnQ6IGN1cnJlbnRTdGVwJC52YWx1ZSA9PT0gM31cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbGluZSB3LTQwcHhcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwcGVyLWljb24gdy00MHB4IGgtNDBweFwiPlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwic3RlcHBlci1jaGVjayBmYXMgZmEtY2hlY2tcIj48L2k+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwcGVyLW51bWJlclwiPjM8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBwZXItbGFiZWxcIj5cclxuICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJzdGVwcGVyLXRpdGxlXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiT3B0aW9uc1wiKX19PC9oMz5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcHBlci1kZXNjIGZ3LWJvbGRcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmVEaXJlY3RvcnlfVGFiM05vdGVcIil9fTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkIGQtZmxleCBmbGV4LXJvdy1mbHVpZCBmbGV4LWNlbnRlciAgcm91bmRlZFwiPlxyXG4gICAgICA8Zm9ybSBjbGFzcz1cInAtMjAgdy0xMDAgY2FyZC1ib2R5XCJcclxuICAgICAgICAgICAgaWQ9XCJrdF9jcmVhdGVfYWNjb3VudF9mb3JtXCIgW2Zvcm1Hcm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImN1cnJlbnRcIiAqbmdJZj1cIklzQWRkRm9ybUxvYWRlZFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA9PT0gMVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkFkZFR5cGVPcHRpb25zXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIiAoT25DaGFuZ2UpPVwidHlwZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMTBcIj5cclxuICAgICAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkFkZERvbWFpblwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiQWRkU2FtQWNjb3VudFwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiQWRkUGFzc3dvcmRcIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMTBcIiAqbmdJZj1cIkFkZFNob3dCdWlsdEluR3JvdXBzVmlzaWJsZVwiPlxyXG4gICAgICAgICAgICAgIDxCQlNGLVRvZ2dsZXNsaWRlIFtvcHRpb25zXT1cIkFkZFNob3dCdWlsdEluR3JvdXBzXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj5cclxuICAgICAgICAgICAgICA8L0JCU0YtVG9nZ2xlc2xpZGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFN0ZXAkLnZhbHVlID09PSAyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJBZGRTZWFyY2hUcmVlXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj48L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFN0ZXAkLnZhbHVlID09PSAzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJBZGROYW1lXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj5cclxuICAgICAgICAgICAgICA8L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkFkZFBlcm1pc3Npb25TZXRcIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJBZGRMYW5ndWFnZVwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgPC9CQlNGLURyb3Bkb3duTGlzdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkFkZFdlbGNvbWVNc2dUZW1wXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj5cclxuICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMTBcIj5cclxuICAgICAgICAgICAgICA8QkJTRi1Ecm9wZG93bkxpc3QgW29wdGlvbnNdPVwiQWRkRmlsZVByb3ZpZGVyXCIgW2dyb3VwXT1cIkFkZEFjdGl2ZURpcmVjdG9yeUZvcm1cIj5cclxuICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbWItMTBcIj5cclxuICAgICAgICAgICAgICA8QkJTRi1Ub2dnbGVzbGlkZSBbb3B0aW9uc109XCJBZGRNYXJrSW5hY3RpdmVcIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgIDwvQkJTRi1Ub2dnbGVzbGlkZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgPEJCU0YtVG9nZ2xlc2xpZGUgW29wdGlvbnNdPVwiQWRkRGFpbHlKb2JcIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgIDwvQkJTRi1Ub2dnbGVzbGlkZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgICAgICAgPCEtLSBiZWdpbjo6VGFibGUgLS0+XHJcbiAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgYWxpZ24tbWlkZGxlIHRhYmxlLXJvdy1kYXNoZWQgZnMtNiBneS01IGRhdGFUYWJsZSBuby1mb290ZXIgdGFibGUtdy1jb250cm9sXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cInRleHQtc3RhcnQgdGV4dC1ncmF5LTQwMCBmdy1ib2xkZXIgZnMtNyB0ZXh0LXVwcGVyY2FzZSBncy0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUeXBlXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUHJvcGVydHlcIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibWluLXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBRFByb3BlcnR5XCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiSW5jbHVkZUluVXBkYXRlXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm1pbi13LTUwcHhcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImZ3LWJvbGQgdGV4dC1ncmF5LTYwMCBib3JkZXItMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBBZGRNYXBwaW5nc09wdGlvbnM7bGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIm9wdGlvblswXVwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIm9wdGlvblsxXVwiIFtncm91cF09XCJBZGRBY3RpdmVEaXJlY3RvcnlGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJvcHRpb25bMl1cIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9CQlNGLVRleHRCb3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8QkJTRi1DaGVja0JveCBbb3B0aW9uc109XCJvcHRpb25bM11cIiBbZ3JvdXBdPVwiQWRkQWN0aXZlRGlyZWN0b3J5Rm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9CQlNGLUNoZWNrQm94PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1saWdodC1kYW5nZXJcIiAoY2xpY2spPVwiZGVsZXRlQURNYXBwaW5nKG9wdGlvbilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCIgZmEgZmEtdHJhc2ggaGlkZGVuXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIHB0LTEwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItMlwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFN0ZXAkLnZhbHVlICE9PSAxXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1sZyBidG4tbGlnaHQtcHJpbWFyeSBtZS0zXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2U3RlcCgpXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2My5zdmcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tNCBtZS0xXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiUHJldmlvdXNcIil9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSAhPT0gZm9ybXNDb3VudFwiPlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGcgYnRuLXByaW1hcnkgbWUtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmV4dFN0ZXAoKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmRpY2F0b3ItbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA8IGZvcm1zQ291bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJOZXh0XCIpfX0ge3sgXCIgXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy4vc3JjL2Fzc2V0cy9pbWFnZXMvYXJyMDY0LnN2ZydcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMyBtcy0yIG1lLTBcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRTdGVwJC52YWx1ZSA9PT0gZm9ybXNDb3VudFwiID5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tbGcgYnRuLXByaW1hcnkgbWUtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3VibWl0KClcIj5cclxuICAgICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJTdWJtaXRcIil9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICBcclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcblxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,16 +1,22 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { RouterModule } from '@angular/router';
3
3
  import { AccountComponent } from './account.component';
4
+ import { ActivationComponent } from './activation/activation.component';
4
5
  import { ForgotPasswordComponent } from './forgot-password/forgot-password.component';
5
6
  import { LoginComponent } from './login/login.component';
6
7
  import { RegisterComponent } from './register/register.component';
8
+ import { RestPasswordComponent } from './rest-password/rest-password.component';
9
+ import { UploadLicenseComponent } from './upload-license/upload-license.component';
7
10
  import * as i0 from "@angular/core";
8
11
  import * as i1 from "@angular/router";
9
12
  const routes = [
10
13
  { path: "account", component: AccountComponent, children: [
11
14
  { path: "login", component: LoginComponent },
12
15
  { path: "register", component: RegisterComponent },
13
- { path: "forgotpassword", component: ForgotPasswordComponent },
16
+ { path: "forgotPassword", component: ForgotPasswordComponent },
17
+ { path: "restPassword/:id", component: RestPasswordComponent },
18
+ { path: "activation/:id", component: ActivationComponent },
19
+ { path: "uploadLicense", component: UploadLicenseComponent },
14
20
  ] }
15
21
  ];
16
22
  export class AccountRoutingModule {
@@ -25,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
25
31
  exports: [RouterModule]
26
32
  }]
27
33
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvYWNjb3VudC9hY2NvdW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBSWxFLE1BQU0sTUFBTSxHQUFXO0lBQ3RCLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxTQUFTLEVBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFDO1lBQ3BELEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsY0FBYyxFQUFDO1lBQ3hDLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsaUJBQWlCLEVBQUM7WUFDOUMsRUFBQyxJQUFJLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLHVCQUF1QixFQUFDO1NBQzNELEVBQUM7Q0FFRixDQUFDO0FBTUYsTUFBTSxPQUFPLG9CQUFvQjs7a0hBQXBCLG9CQUFvQjttSEFBcEIsb0JBQW9CLHdDQUZyQixZQUFZO21IQUVYLG9CQUFvQixZQUh0QixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDOUIsWUFBWTs0RkFFWCxvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlcywgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWNjb3VudENvbXBvbmVudCB9IGZyb20gJy4vYWNjb3VudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jnb3RQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vbG9naW4vbG9naW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVnaXN0ZXJDb21wb25lbnQgfSBmcm9tICcuL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4ge3BhdGggOlwiYWNjb3VudFwiLGNvbXBvbmVudDpBY2NvdW50Q29tcG9uZW50ICxjaGlsZHJlbjpbXHJcbiAgIHtwYXRoOlwibG9naW5cIiwgY29tcG9uZW50OkxvZ2luQ29tcG9uZW50fSxcclxuICAge3BhdGg6XCJyZWdpc3RlclwiLCBjb21wb25lbnQ6UmVnaXN0ZXJDb21wb25lbnR9LFxyXG4gICB7cGF0aDpcImZvcmdvdHBhc3N3b3JkXCIsIGNvbXBvbmVudDpGb3Jnb3RQYXNzd29yZENvbXBvbmVudH0sXHJcbiBdfVxyXG4gXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY291bnRSb3V0aW5nTW9kdWxlIHsgfVxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvYWNjb3VudC9hY2NvdW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBSW5GLE1BQU0sTUFBTSxHQUFXO0lBQ3RCLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxTQUFTLEVBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFDO1lBQ3BELEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsY0FBYyxFQUFDO1lBQ3hDLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUMsaUJBQWlCLEVBQUM7WUFDOUMsRUFBQyxJQUFJLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLHVCQUF1QixFQUFDO1lBQzFELEVBQUMsSUFBSSxFQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBQyxxQkFBcUIsRUFBQztZQUMxRCxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUMsbUJBQW1CLEVBQUM7WUFDdEQsRUFBQyxJQUFJLEVBQUMsZUFBZSxFQUFFLFNBQVMsRUFBQyxzQkFBc0IsRUFBQztTQUV6RCxFQUFDO0NBRUYsQ0FBQztBQU1GLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQix3Q0FGckIsWUFBWTttSEFFWCxvQkFBb0IsWUFIdEIsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQzlCLFlBQVk7NEZBRVgsb0JBQW9CO2tCQUpoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXMsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFjY291bnRDb21wb25lbnQgfSBmcm9tICcuL2FjY291bnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWN0aXZhdGlvbi9hY3RpdmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3Jnb3QtcGFzc3dvcmQvZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWdpc3RlckNvbXBvbmVudCB9IGZyb20gJy4vcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzdFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9yZXN0LXBhc3N3b3JkL3Jlc3QtcGFzc3dvcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkTGljZW5zZUNvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkLWxpY2Vuc2UvdXBsb2FkLWxpY2Vuc2UuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiB7cGF0aCA6XCJhY2NvdW50XCIsY29tcG9uZW50OkFjY291bnRDb21wb25lbnQgLGNoaWxkcmVuOltcclxuICAge3BhdGg6XCJsb2dpblwiLCBjb21wb25lbnQ6TG9naW5Db21wb25lbnR9LFxyXG4gICB7cGF0aDpcInJlZ2lzdGVyXCIsIGNvbXBvbmVudDpSZWdpc3RlckNvbXBvbmVudH0sXHJcbiAgIHtwYXRoOlwiZm9yZ290UGFzc3dvcmRcIiwgY29tcG9uZW50OkZvcmdvdFBhc3N3b3JkQ29tcG9uZW50fSxcclxuICAge3BhdGg6XCJyZXN0UGFzc3dvcmQvOmlkXCIsIGNvbXBvbmVudDpSZXN0UGFzc3dvcmRDb21wb25lbnR9LFxyXG4gICB7cGF0aDpcImFjdGl2YXRpb24vOmlkXCIsIGNvbXBvbmVudDpBY3RpdmF0aW9uQ29tcG9uZW50fSxcclxuICAge3BhdGg6XCJ1cGxvYWRMaWNlbnNlXCIsIGNvbXBvbmVudDpVcGxvYWRMaWNlbnNlQ29tcG9uZW50fSxcclxuXHJcbiBdfVxyXG4gXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXHJcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY291bnRSb3V0aW5nTW9kdWxlIHsgfVxyXG4iXX0=
@@ -11,11 +11,14 @@ import { AuthService } from '@bnsights/bbsf-utilities';
11
11
  import { ForgotPasswordComponent } from './forgot-password/forgot-password.component';
12
12
  import { BBSFControlsModule } from '@bnsights/bbsf-controls';
13
13
  import { AccountService } from '../shared/Services/AccountService.service';
14
+ import { RestPasswordComponent } from './rest-password/rest-password.component';
15
+ import { ActivationComponent } from './activation/activation.component';
16
+ import { UploadLicenseComponent } from './upload-license/upload-license.component';
14
17
  import * as i0 from "@angular/core";
15
18
  export class AccountModule {
16
19
  }
17
20
  AccountModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AccountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- AccountModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AccountModule, declarations: [LoginComponent, RegisterComponent, AccountComponent, ForgotPasswordComponent], imports: [CommonModule,
21
+ AccountModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AccountModule, declarations: [LoginComponent, RegisterComponent, AccountComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent], imports: [CommonModule,
19
22
  RouterModule,
20
23
  AccountRoutingModule,
21
24
  SharedModule,
@@ -37,7 +40,7 @@ AccountModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
37
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AccountModule, decorators: [{
38
41
  type: NgModule,
39
42
  args: [{
40
- declarations: [LoginComponent, RegisterComponent, AccountComponent, ForgotPasswordComponent],
43
+ declarations: [LoginComponent, RegisterComponent, AccountComponent, ForgotPasswordComponent, RestPasswordComponent, ActivationComponent, UploadLicenseComponent],
41
44
  imports: [
42
45
  CommonModule,
43
46
  RouterModule,
@@ -53,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
53
56
  ]
54
57
  }]
55
58
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2FjY291bnQvYWNjb3VudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBcUIzRSxNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQWhCVCxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLGFBRXpGLFlBQVk7UUFDWixZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGtCQUFrQjs0R0FRVCxhQUFhLGFBTGQ7UUFDUixXQUFXO1FBQ1gsY0FBYztLQUNmLFlBYlE7WUFDUCxZQUFZO1lBQ1osWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixrQkFBa0I7U0FFbkI7NEZBTVUsYUFBYTtrQkFqQnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixDQUFDO29CQUM1RixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUVuQjtvQkFDRCxTQUFTLEVBQUM7d0JBQ1IsV0FBVzt3QkFDWCxjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlZ2lzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY2NvdW50Q29tcG9uZW50IH0gZnJvbSAnLi9hY2NvdW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFjY291bnRSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9hY2NvdW50LXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBGb3Jnb3RQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCQlNGQ29udHJvbHNNb2R1bGUgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL1NlcnZpY2VzL0FjY291bnRTZXJ2aWNlLnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0xvZ2luQ29tcG9uZW50LCBSZWdpc3RlckNvbXBvbmVudCwgQWNjb3VudENvbXBvbmVudCwgRm9yZ290UGFzc3dvcmRDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIEFjY291bnRSb3V0aW5nTW9kdWxlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQkJTRkNvbnRyb2xzTW9kdWxlLFxyXG5cclxuICBdLFxyXG4gIHByb3ZpZGVyczpbXHJcbiAgICBBdXRoU2VydmljZSxcclxuICAgIEFjY291bnRTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWNjb3VudE1vZHVsZSB7IH1cclxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2FjY291bnQvYWNjb3VudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBcUJuRixNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQWhCVCxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLGFBRTdKLFlBQVk7UUFDWixZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGtCQUFrQjs0R0FRVCxhQUFhLGFBTGQ7UUFDUixXQUFXO1FBQ1gsY0FBYztLQUNmLFlBYlE7WUFDUCxZQUFZO1lBQ1osWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixrQkFBa0I7U0FFbkI7NEZBTVUsYUFBYTtrQkFqQnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDO29CQUNoSyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUVuQjtvQkFDRCxTQUFTLEVBQUM7d0JBQ1IsV0FBVzt3QkFDWCxjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlZ2lzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY2NvdW50Q29tcG9uZW50IH0gZnJvbSAnLi9hY2NvdW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFjY291bnRSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9hY2NvdW50LXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBGb3Jnb3RQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCQlNGQ29udHJvbHNNb2R1bGUgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scyc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL1NlcnZpY2VzL0FjY291bnRTZXJ2aWNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXN0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3Jlc3QtcGFzc3dvcmQvcmVzdC1wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9hY3RpdmF0aW9uL2FjdGl2YXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkTGljZW5zZUNvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkLWxpY2Vuc2UvdXBsb2FkLWxpY2Vuc2UuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtMb2dpbkNvbXBvbmVudCwgUmVnaXN0ZXJDb21wb25lbnQsIEFjY291bnRDb21wb25lbnQsIEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50LCBSZXN0UGFzc3dvcmRDb21wb25lbnQsIEFjdGl2YXRpb25Db21wb25lbnQsIFVwbG9hZExpY2Vuc2VDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIEFjY291bnRSb3V0aW5nTW9kdWxlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQkJTRkNvbnRyb2xzTW9kdWxlLFxyXG5cclxuICBdLFxyXG4gIHByb3ZpZGVyczpbXHJcbiAgICBBdXRoU2VydmljZSxcclxuICAgIEFjY291bnRTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWNjb3VudE1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,91 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { CustomValidation, FormOptions, InputType, TextBoxOptions } from '@bnsights/bbsf-controls';
4
+ import { ActivationModel } from '../../shared/models/UserModels/ActivationModel';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ import * as i2 from "../../shared/Services/AccountService.service";
8
+ import * as i3 from "@bnsights/bbsf-utilities";
9
+ import * as i4 from "@bnsights/bbsf-controls";
10
+ import * as i5 from "@angular/common";
11
+ export class ActivationComponent {
12
+ constructor(activatedRoute, accountService, utilityService, router) {
13
+ this.activatedRoute = activatedRoute;
14
+ this.accountService = accountService;
15
+ this.utilityService = utilityService;
16
+ this.router = router;
17
+ this.ActivationModel = new ActivationModel();
18
+ this.ErrorMessage = null;
19
+ this.UserName = "";
20
+ //activate Model Controls
21
+ this.activateForm = new FormGroup({});
22
+ this.activateFormOptions = new FormOptions;
23
+ this.customValidation = new CustomValidation();
24
+ this.isModelLoaded = false;
25
+ this.getActivateModel = () => {
26
+ let paramArray = [];
27
+ let ResultModel = this.activateForm.value;
28
+ let RestModel = new ActivationModel();
29
+ RestModel.Token = this.Token;
30
+ RestModel.Password = ResultModel.password;
31
+ RestModel.PasswordConfirmation = ResultModel.confirmPassword;
32
+ paramArray.push(RestModel);
33
+ return paramArray;
34
+ };
35
+ this.getActivateFunction = (model) => {
36
+ return this.accountService.activate(model);
37
+ };
38
+ this.onSuccessHandler = (result) => {
39
+ if (result.val)
40
+ this.router.navigate(['/Admin/account/login']);
41
+ };
42
+ this.activatedRoute.params.subscribe(params => {
43
+ this.Token = params['id'];
44
+ });
45
+ }
46
+ ngOnInit() {
47
+ this.accountService.getActivation(this.Token).subscribe((result) => {
48
+ let model = result;
49
+ this.UserName = model.username;
50
+ if (model.isValid) {
51
+ this.activateForm = new FormGroup({});
52
+ this.activateFormOptions = new FormOptions();
53
+ this.activateFormOptions.FormGroup = this.activateForm;
54
+ this.activateFormOptions.GetModelFunction = this.getActivateModel;
55
+ this.activateFormOptions.ServiceSubmitFunction = this.getActivateFunction;
56
+ this.activateFormOptions.OnSuccessHandler = this.onSuccessHandler;
57
+ this.password = new TextBoxOptions();
58
+ this.password.Name = "password";
59
+ this.password.LabelKey = "password";
60
+ this.password.Type = InputType.Password;
61
+ this.password.IsRequired = true;
62
+ this.customValidation.functionBody = (control) => {
63
+ let Password = this.activateForm.controls["password"].value;
64
+ if (control.value != Password)
65
+ return { 'customerError': true };
66
+ return null;
67
+ };
68
+ this.customValidation.massage = this.utilityService.getResourceValue("PasswordNotMatch");
69
+ this.confirmPassword = new TextBoxOptions();
70
+ this.confirmPassword.Name = "confirmPassword";
71
+ this.confirmPassword.LabelKey = "confirmPassword";
72
+ this.confirmPassword.Type = InputType.Password;
73
+ this.confirmPassword.IsRequired = true;
74
+ this.confirmPassword.CustomValidation = [this.customValidation];
75
+ }
76
+ else
77
+ this.ErrorMessage = model.validationError;
78
+ this.isModelLoaded = true;
79
+ });
80
+ }
81
+ }
82
+ ActivationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ActivationComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.AccountService }, { token: i3.UtilityService }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
83
+ ActivationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ActivationComponent, selector: "lib-activation", ngImport: i0, template: "<div class=\"d-flex flex-column flex-root h-100\">\r\n <!--begin::Authentication - Sign-in -->\r\n <div class=\"d-flex flex-column flex-lg-row flex-column-fluid h-100\">\r\n <!--begin::Aside-->\r\n <div class=\"d-flex flex-column flex-lg-row-auto w-xl-600px positon-xl-relative\"\r\n style=\"background-color: #1E1E2D;\">\r\n <div class=\"d-flex flex-column position-xl-fixed top-0 bottom-0 w-xl-600px scroll-y\">\r\n <div class=\"d-flex flex-row-fluid flex-column text-center p-10 pt-lg-20\">\r\n <!--begin::Logo-->\r\n <img alt=\"Logo\" src=\"./src/assets/images/bnsights-logo.svg\" class=\"h-60px mt-10\">\r\n </div>\r\n </div>\r\n </div>\r\n <!--end::Aside-->\r\n <div class=\"d-flex flex-column flex-lg-row-fluid py-10\">\r\n <div class=\"d-flex flex-center flex-column flex-column-fluid\">\r\n <div class=\"w-lg-500px p-10 p-lg-15 mx-auto\">\r\n\r\n <div class=\"form w-100\" novalidate=\"novalidate\" id=\"kt_sign_in_form\">\r\n <div class=\"text-center mb-10\">\r\n <h1 class=\"text-dark mb-3\"> {{UserName}} </h1>\r\n </div>\r\n <BBSF-Form [options]=\"activateFormOptions\" *ngIf=\"ErrorMessage==null &&isModelLoaded\">\r\n <div class=\"fv-row mb-10\">\r\n <BBSF-TextBox [options]=\"password\" [group]=\"activateForm\"></BBSF-TextBox>\r\n </div>\r\n <div class=\"fv-row mb-10\">\r\n <BBSF-TextBox [options]=\"confirmPassword\" [group]=\"activateForm\"></BBSF-TextBox>\r\n </div>\r\n <div class=\"text-center\">\r\n <!--begin::Submit button-->\r\n <button type=\"submit\"\r\n class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"Activate\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n <div *ngIf=\"ErrorMessage!=null\">\r\n <ul class=\"alert alert-danger alert-InvalidValidation\">\r\n <li>\r\n {{ErrorMessage}}\r\n </li>\r\n </ul>\r\n <a href=\"/Admin/account/login\"\r\n class=\"link-primary fs-6 fw-bolder d-flex justify-content-end mt-2\"><i\r\n class=\"fas fa-arrow-left\"></i> {{utilityService.getResourceValue(\"Back\")}} </a>\r\n\r\n </div>\r\n </div>\r\n <!--end::Form-->\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n</div>", components: [{ type: i4.ɵv, selector: "BBSF-Form", inputs: ["options"] }, { type: i4.ɵd, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ActivationComponent, decorators: [{
85
+ type: Component,
86
+ args: [{
87
+ selector: 'lib-activation',
88
+ templateUrl: './activation.component.html',
89
+ }]
90
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.AccountService }, { type: i3.UtilityService }, { type: i1.Router }]; } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLWFkbWluLXBvcnRhbC9zcmMvbGliL1BhZ2VzL2FjY291bnQvYWN0aXZhdGlvbi9hY3RpdmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvYWNjb3VudC9hY3RpdmF0aW9uL2FjdGl2YXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHbkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7O0FBT2pGLE1BQU0sT0FBTyxtQkFBbUI7SUFrQjlCLFlBRVksY0FBOEIsRUFDOUIsY0FBOEIsRUFDOUIsY0FBOEIsRUFDOUIsTUFBYztRQUhkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFuQjFCLG9CQUFlLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7UUFDekQsaUJBQVksR0FBVyxJQUFJLENBQUE7UUFDM0IsYUFBUSxHQUFTLEVBQUUsQ0FBQTtRQUduQix5QkFBeUI7UUFDekIsaUJBQVksR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyx3QkFBbUIsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUd0QyxxQkFB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QUFRO3dCQUMzQixPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO29CQUNuQyxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBRXpGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDO2dCQUNsRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO2dCQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUdqRTs7Z0JBRUMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO1lBRTNDLElBQUksQ0FBQyxhQUFhLEdBQUUsSUFBSSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7aUhBekVVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLHNEQ2JoQyxrL0ZBc0RNOzRGRHpDTyxtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDZCQUE2QjtpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDdXN0b21WYWxpZGF0aW9uLCBGb3JtT3B0aW9ucywgSW5wdXRUeXBlLCBUZXh0Qm94T3B0aW9ucyB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzJztcclxuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAYm5zaWdodHMvYmJzZi11dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvVXNlck1vZGVscy9BY3RpdmF0aW9uTW9kZWwnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9TZXJ2aWNlcy9BY2NvdW50U2VydmljZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFjdGl2YXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3RpdmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2YXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvL1BhZ2UgIGRhdGFcclxuICBUb2tlbjogc3RyaW5nO1xyXG4gIEFjdGl2YXRpb25Nb2RlbDogQWN0aXZhdGlvbk1vZGVsID0gbmV3IEFjdGl2YXRpb25Nb2RlbCgpO1xyXG4gIEVycm9yTWVzc2FnZTogc3RyaW5nID0gbnVsbFxyXG4gIFVzZXJOYW1lOnN0cmluZyA9XCJcIlxyXG5cclxuXHJcbiAgLy9hY3RpdmF0ZSBNb2RlbCBDb250cm9sc1xyXG4gIGFjdGl2YXRlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIGFjdGl2YXRlRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnM7XHJcbiAgcGFzc3dvcmQ6IFRleHRCb3hPcHRpb25zO1xyXG4gIGNvbmZpcm1QYXNzd29yZDogVGV4dEJveE9wdGlvbnM7XHJcbiAgY3VzdG9tVmFsaWRhdGlvbjogQ3VzdG9tVmFsaWRhdGlvbiA9IG5ldyBDdXN0b21WYWxpZGF0aW9uKCk7XHJcbiAgaXNNb2RlbExvYWRlZDpib29sZWFuPWZhbHNlXHJcblxyXG5cclxuICBjb25zdHJ1Y3RvclxyXG4gICAgKFxyXG4gICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgcHJpdmF0ZSBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UsXHJcbiAgICAgIHB1YmxpYyAgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICkge1xyXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIHRoaXMuVG9rZW4gPSBwYXJhbXNbJ2lkJ107XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuYWNjb3VudFNlcnZpY2UuZ2V0QWN0aXZhdGlvbih0aGlzLlRva2VuKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICBsZXQgbW9kZWwgPSByZXN1bHQgYXMgYW55XHJcbiAgICAgIHRoaXMuVXNlck5hbWU9IG1vZGVsLnVzZXJuYW1lXHJcbiAgICAgIGlmIChtb2RlbC5pc1ZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUZvcm1PcHRpb25zID0gbmV3IEZvcm1PcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuYWN0aXZhdGVGb3JtXHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUZvcm1PcHRpb25zLkdldE1vZGVsRnVuY3Rpb24gPSB0aGlzLmdldEFjdGl2YXRlTW9kZWw7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZUZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9IHRoaXMuZ2V0QWN0aXZhdGVGdW5jdGlvbjtcclxuICAgICAgICB0aGlzLmFjdGl2YXRlRm9ybU9wdGlvbnMuT25TdWNjZXNzSGFuZGxlciA9IHRoaXMub25TdWNjZXNzSGFuZGxlcjtcclxuXHJcblxyXG4gICAgICAgIHRoaXMucGFzc3dvcmQgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgICB0aGlzLnBhc3N3b3JkLk5hbWUgPSBcInBhc3N3b3JkXCI7XHJcbiAgICAgICAgdGhpcy5wYXNzd29yZC5MYWJlbEtleSA9IFwicGFzc3dvcmRcIjtcclxuICAgICAgICB0aGlzLnBhc3N3b3JkLlR5cGUgPSBJbnB1dFR5cGUuUGFzc3dvcmQ7XHJcbiAgICAgICAgdGhpcy5wYXNzd29yZC5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5jdXN0b21WYWxpZGF0aW9uLmZ1bmN0aW9uQm9keSA9IChjb250cm9sKSA9PiB7XHJcbiAgICAgICAgICBsZXQgUGFzc3dvcmQgPSB0aGlzLmFjdGl2YXRlRm9ybS5jb250cm9sc1tcInBhc3N3b3JkXCJdLnZhbHVlO1xyXG4gICAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUgIT0gUGFzc3dvcmQpXHJcbiAgICAgICAgICAgIHJldHVybiB7ICdjdXN0b21lckVycm9yJzogdHJ1ZSB9O1xyXG4gICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmN1c3RvbVZhbGlkYXRpb24ubWFzc2FnZSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIlBhc3N3b3JkTm90TWF0Y2hcIik7XHJcblxyXG4gICAgICAgIHRoaXMuY29uZmlybVBhc3N3b3JkID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5jb25maXJtUGFzc3dvcmQuTmFtZSA9IFwiY29uZmlybVBhc3N3b3JkXCI7XHJcbiAgICAgICAgdGhpcy5jb25maXJtUGFzc3dvcmQuTGFiZWxLZXkgPSBcImNvbmZpcm1QYXNzd29yZFwiO1xyXG4gICAgICAgIHRoaXMuY29uZmlybVBhc3N3b3JkLlR5cGUgPSBJbnB1dFR5cGUuUGFzc3dvcmQ7XHJcbiAgICAgICAgdGhpcy5jb25maXJtUGFzc3dvcmQuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb25maXJtUGFzc3dvcmQuQ3VzdG9tVmFsaWRhdGlvbiA9IFt0aGlzLmN1c3RvbVZhbGlkYXRpb25dO1xyXG5cclxuXHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuRXJyb3JNZXNzYWdlID0gbW9kZWwudmFsaWRhdGlvbkVycm9yXHJcblxyXG4gICAgICB0aGlzLmlzTW9kZWxMb2FkZWQ9IHRydWU7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZhdGVNb2RlbCA9ICgpID0+IHtcclxuICAgIGxldCBwYXJhbUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IFJlc3VsdE1vZGVsID0gdGhpcy5hY3RpdmF0ZUZvcm0udmFsdWU7XHJcbiAgICBsZXQgUmVzdE1vZGVsOkFjdGl2YXRpb25Nb2RlbD0gbmV3IEFjdGl2YXRpb25Nb2RlbCgpO1xyXG4gICAgUmVzdE1vZGVsLlRva2VuPXRoaXMuVG9rZW5cclxuICAgIFJlc3RNb2RlbC5QYXNzd29yZD1SZXN1bHRNb2RlbC5wYXNzd29yZFxyXG4gICAgUmVzdE1vZGVsLlBhc3N3b3JkQ29uZmlybWF0aW9uPVJlc3VsdE1vZGVsLmNvbmZpcm1QYXNzd29yZFxyXG4gICAgcGFyYW1BcnJheS5wdXNoKFJlc3RNb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2YXRlRnVuY3Rpb24gPSAobW9kZWwpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudFNlcnZpY2UuYWN0aXZhdGUobW9kZWwpXHJcbiAgfVxyXG4gIG9uU3VjY2Vzc0hhbmRsZXIgPSAocmVzdWx0KSA9PiB7XHJcbiAgICBpZiAocmVzdWx0LnZhbClcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvQWRtaW4vYWNjb3VudC9sb2dpbiddKVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtcm9vdCBoLTEwMFwiPlxyXG4gICAgPCEtLWJlZ2luOjpBdXRoZW50aWNhdGlvbiAtIFNpZ24taW4gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbGctcm93IGZsZXgtY29sdW1uLWZsdWlkIGgtMTAwXCI+XHJcbiAgICAgICAgPCEtLWJlZ2luOjpBc2lkZS0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1sZy1yb3ctYXV0byB3LXhsLTYwMHB4IHBvc2l0b24teGwtcmVsYXRpdmVcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMxRTFFMkQ7XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gcG9zaXRpb24teGwtZml4ZWQgdG9wLTAgYm90dG9tLTAgdy14bC02MDBweCBzY3JvbGwteVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdy1mbHVpZCBmbGV4LWNvbHVtbiB0ZXh0LWNlbnRlciBwLTEwIHB0LWxnLTIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLWJlZ2luOjpMb2dvLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJMb2dvXCIgc3JjPVwiLi9zcmMvYXNzZXRzL2ltYWdlcy9ibnNpZ2h0cy1sb2dvLnN2Z1wiIGNsYXNzPVwiaC02MHB4IG10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLWVuZDo6QXNpZGUtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbGctcm93LWZsdWlkIHB5LTEwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jZW50ZXIgZmxleC1jb2x1bW4gZmxleC1jb2x1bW4tZmx1aWRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWxnLTUwMHB4IHAtMTAgcC1sZy0xNSBteC1hdXRvXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtIHctMTAwXCIgbm92YWxpZGF0ZT1cIm5vdmFsaWRhdGVcIiBpZD1cImt0X3NpZ25faW5fZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cInRleHQtZGFyayBtYi0zXCI+IHt7VXNlck5hbWV9fSA8L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJhY3RpdmF0ZUZvcm1PcHRpb25zXCIgKm5nSWY9XCJFcnJvck1lc3NhZ2U9PW51bGwgJiZpc01vZGVsTG9hZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnYtcm93IG1iLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJCU0YtVGV4dEJveCBbb3B0aW9uc109XCJwYXNzd29yZFwiIFtncm91cF09XCJhY3RpdmF0ZUZvcm1cIj48L0JCU0YtVGV4dEJveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ2LXJvdyBtYi0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiY29uZmlybVBhc3N3b3JkXCIgW2dyb3VwXT1cImFjdGl2YXRlRm9ybVwiPjwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tYmVnaW46OlN1Ym1pdCBidXR0b24tLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBY3RpdmF0ZVwiKX19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9CQlNGLUZvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJFcnJvck1lc3NhZ2UhPW51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlciBhbGVydC1JbnZhbGlkVmFsaWRhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tFcnJvck1lc3NhZ2V9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi9BZG1pbi9hY2NvdW50L2xvZ2luXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxpbmstcHJpbWFyeSBmcy02IGZ3LWJvbGRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC0yXCI+PGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtYXJyb3ctbGVmdFwiPjwvaT4ge3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQmFja1wiKX19IDwvYT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS1lbmQ6OkZvcm0tLT5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==