@hmcts/ccd-case-ui-toolkit 7.2.51-test-log-errors-1 → 7.2.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/banners/notification-banner/notification-banner.component.mjs +4 -4
- package/esm2022/lib/components/form/date-input/date-input.component.mjs +1 -1
- package/esm2022/lib/components/header/header-bar/header-bar.component.mjs +5 -5
- package/esm2022/lib/shared/components/activity/activity.component.mjs +3 -3
- package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +3 -3
- package/esm2022/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +1 -1
- package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +5 -5
- package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +5 -5
- package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +9 -5
- package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +9 -5
- package/esm2022/lib/shared/components/case-timeline/case-timeline.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +9 -4
- package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +16 -3
- package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +28 -8
- package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +13 -9
- package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +41 -6
- package/esm2022/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +9 -5
- package/esm2022/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +9 -5
- package/esm2022/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +10 -6
- package/esm2022/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +3 -3
- package/esm2022/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +9 -5
- package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +3 -3
- package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +6 -6
- package/esm2022/lib/shared/components/palette/address/write-address-field.component.mjs +4 -4
- package/esm2022/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +4 -4
- package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +4 -4
- package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +9 -9
- package/esm2022/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +8 -7
- package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +1 -1
- package/esm2022/lib/shared/components/palette/document/read-document-field.component.mjs +7 -7
- package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +6 -6
- package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +5 -5
- package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +12 -12
- package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +7 -7
- package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +6 -6
- package/esm2022/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +7 -7
- package/esm2022/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +5 -5
- package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +6 -2
- package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +71 -69
- package/esm2022/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.mjs +23 -19
- package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +5 -5
- package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +5 -5
- package/esm2022/lib/shared/components/search-result/search-result.component.mjs +5 -5
- package/esm2022/lib/shared/directives/substitutor/label-substitutor.directive.mjs +5 -2
- package/esm2022/lib/shared/services/form/field-type-sanitiser.mjs +1 -1
- package/esm2022/lib/shared/services/form/form-value.service.mjs +1 -101
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +515 -500
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts +2 -0
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts +2 -0
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts +2 -0
- package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +1 -0
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +1 -0
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts +2 -0
- package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts +3 -2
- package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts.map +1 -1
- package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts +2 -0
- package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts.map +1 -1
- package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts +2 -0
- package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts.map +1 -1
- package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts +2 -0
- package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts.map +1 -1
- package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts +2 -0
- package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts.map +1 -1
- package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +2 -2
- package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
- package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +2 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts +2 -0
- package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts.map +1 -1
- package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts.map +1 -1
- package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
- package/lib/shared/services/form/form-value.service.d.ts +0 -100
- package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ import * as i2 from "../../../case-editor/services/judicial-worker.service";
|
|
|
8
8
|
import * as i3 from "../../../case-editor/services/case-worker.service";
|
|
9
9
|
import * as i4 from "@angular/common";
|
|
10
10
|
import * as i5 from "rpx-xui-translation";
|
|
11
|
-
const _c0 = a0 => ["/", "cases", "case-details", a0, "tasks"];
|
|
11
|
+
const _c0 = (a0, a1, a2) => ["/", "cases", "case-details", a0, a1, a2, "tasks"];
|
|
12
12
|
function TaskAssignedComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
13
13
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "h2", 3);
|
|
14
14
|
i0.ɵɵtext(3);
|
|
@@ -42,7 +42,7 @@ function TaskAssignedComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
42
42
|
i0.ɵɵadvance(3);
|
|
43
43
|
i0.ɵɵtextInterpolate3("", i0.ɵɵpipeBind1(17, 14, "This task is assigned to"), " ", ctx_r0.assignedUserName, ". ", i0.ɵɵpipeBind1(18, 16, "You must assign it to yourself to continue."), "");
|
|
44
44
|
i0.ɵɵadvance(3);
|
|
45
|
-
i0.ɵɵproperty("routerLink", i0.ɵɵ
|
|
45
|
+
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction3(20, _c0, ctx_r0.jurisdiction, ctx_r0.caseType, ctx_r0.caseId));
|
|
46
46
|
i0.ɵɵadvance();
|
|
47
47
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 18, "Return to tasks tab"), " ");
|
|
48
48
|
} }
|
|
@@ -52,6 +52,8 @@ export class TaskAssignedComponent {
|
|
|
52
52
|
caseworkerService;
|
|
53
53
|
task = null;
|
|
54
54
|
caseId;
|
|
55
|
+
jurisdiction;
|
|
56
|
+
caseType;
|
|
55
57
|
assignedUserName;
|
|
56
58
|
caseworkerSubscription;
|
|
57
59
|
judicialworkerSubscription;
|
|
@@ -64,6 +66,8 @@ export class TaskAssignedComponent {
|
|
|
64
66
|
}
|
|
65
67
|
ngOnInit() {
|
|
66
68
|
// Current user is a caseworker?
|
|
69
|
+
this.jurisdiction = this.task.jurisdiction;
|
|
70
|
+
this.caseType = this.task.case_type_id;
|
|
67
71
|
this.caseworkerSubscription = this.caseworkerService.getCaseworkers(this.task.jurisdiction).subscribe(result => {
|
|
68
72
|
if (result && result[0].service === this.task.jurisdiction && result[0].caseworkers) {
|
|
69
73
|
const caseworker = result[0].caseworkers.find(x => x.idamId === this.task.assignee);
|
|
@@ -98,15 +102,15 @@ export class TaskAssignedComponent {
|
|
|
98
102
|
}
|
|
99
103
|
}
|
|
100
104
|
static ɵfac = function TaskAssignedComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TaskAssignedComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.JudicialworkerService), i0.ɵɵdirectiveInject(i3.CaseworkerService)); };
|
|
101
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TaskAssignedComponent, selectors: [["app-task-assigned"]], decls: 1, vars: 1, consts: [["class", "govuk-!-margin-9", 4, "ngIf"], [1, "govuk-!-margin-9"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["href", "#"], [1, "govuk-form-group", "govuk-form-group--error"], [1, "govuk-heading-m"], [
|
|
102
|
-
i0.ɵɵtemplate(0, TaskAssignedComponent_div_0_Template, 22,
|
|
105
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TaskAssignedComponent, selectors: [["app-task-assigned"]], decls: 1, vars: 1, consts: [["class", "govuk-!-margin-9", 4, "ngIf"], [1, "govuk-!-margin-9"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["href", "#"], [1, "govuk-form-group", "govuk-form-group--error"], [1, "govuk-heading-m"], [3, "routerLink"]], template: function TaskAssignedComponent_Template(rf, ctx) { if (rf & 1) {
|
|
106
|
+
i0.ɵɵtemplate(0, TaskAssignedComponent_div_0_Template, 22, 24, "div", 0);
|
|
103
107
|
} if (rf & 2) {
|
|
104
108
|
i0.ɵɵproperty("ngIf", ctx.assignedUserName);
|
|
105
109
|
} }, dependencies: [i4.NgIf, i1.RouterLink, i5.RpxTranslatePipe], encapsulation: 2 });
|
|
106
110
|
}
|
|
107
111
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TaskAssignedComponent, [{
|
|
108
112
|
type: Component,
|
|
109
|
-
args: [{ selector: 'app-task-assigned', template: "<div class=\"govuk-!-margin-9\" *ngIf=\"assignedUserName\">\n <div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">{{'Task assignment required' | rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"govuk-form-group govuk-form-group--error\">\n <h2 class=\"govuk-heading-m\">{{'Task assignment required' | rpxTranslate}}</h2>\n\n <p>{{'This task is assigned to' | rpxTranslate}} {{assignedUserName}}. {{'You must assign it to yourself to continue.' | rpxTranslate}}</p>\n\n <a
|
|
113
|
+
args: [{ selector: 'app-task-assigned', template: "<div class=\"govuk-!-margin-9\" *ngIf=\"assignedUserName\">\n <div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">{{'Task assignment required' | rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"govuk-form-group govuk-form-group--error\">\n <h2 class=\"govuk-heading-m\">{{'Task assignment required' | rpxTranslate}}</h2>\n\n <p>{{'This task is assigned to' | rpxTranslate}} {{assignedUserName}}. {{'You must assign it to yourself to continue.' | rpxTranslate}}</p>\n\n <a [routerLink]=\"['/', 'cases', 'case-details', jurisdiction, caseType, caseId, 'tasks']\">\n {{'Return to tasks tab' | rpxTranslate}}\n </a>\n </div>\n</div>\n" }]
|
|
110
114
|
}], () => [{ type: i1.ActivatedRoute }, { type: i2.JudicialworkerService }, { type: i3.CaseworkerService }], null); })();
|
|
111
115
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TaskAssignedComponent, { className: "TaskAssignedComponent", filePath: "lib/shared/components/event-start/components/task-assigned/task-assigned.component.ts", lineNumber: 12 }); })();
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1hc3NpZ25lZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZXZlbnQtc3RhcnQvY29tcG9uZW50cy90YXNrLWFzc2lnbmVkL3Rhc2stYXNzaWduZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2V2ZW50LXN0YXJ0L2NvbXBvbmVudHMvdGFzay1hc3NpZ25lZC90YXNrLWFzc2lnbmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7Ozs7Ozs7O0lDSDFGLEFBREYsQUFERiw4QkFBdUQsYUFDeUUsWUFDNUQ7SUFDOUQsWUFDRjs7SUFBQSxpQkFBSztJQUlDLEFBREYsQUFERixBQURGLDhCQUF1QyxZQUNZLFNBQzNDLFdBQ1U7SUFBQSxZQUE2Qzs7SUFJakUsQUFERSxBQURFLEFBREUsQUFEMkQsaUJBQUksRUFDMUQsRUFDRixFQUNELEVBQ0Y7SUFHRixBQURKLCtCQUFzRCxhQUN0QjtJQUFBLGFBQTZDOztJQUFBLGlCQUFLO0lBRWhGLDBCQUFHO0lBQUEsYUFBb0k7OztJQUFBLGlCQUFJO0lBRTNJLDZCQUEwRjtJQUN4RixhQUNGOztJQUVKLEFBREUsQUFERSxpQkFBSSxFQUNBLEVBQ0Y7OztJQXBCQSxlQUNGO0lB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QUM7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDVCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7K0dBeERVLHFCQUFxQjs2REFBckIscUJBQXFCO1lDWGxDLHdFQUF1RDs7WUFBeEIsMkNBQXNCOzs7aUZEV3hDLHFCQUFxQjtjQUpqQyxTQUFTOzJCQUNFLG1CQUFtQjs7a0ZBR2xCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi93b3JrLWFsbG9jYXRpb24vVGFzayc7XG5pbXBvcnQgeyBDYXNld29ya2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2Utd29ya2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnVkaWNpYWx3b3JrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvanVkaWNpYWwtd29ya2VyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGFzay1hc3NpZ25lZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrLWFzc2lnbmVkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUYXNrQXNzaWduZWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHRhc2s6IFRhc2sgPSBudWxsO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBqdXJpc2RpY3Rpb246IHN0cmluZztcbiAgcHVibGljIGNhc2VUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyBhc3NpZ25lZFVzZXJOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNld29ya2VyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBqdWRpY2lhbHdvcmtlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkganVkaWNpYWx3b3JrZXJTZXJ2aWNlOiBKdWRpY2lhbHdvcmtlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNld29ya2VyU2VydmljZTogQ2FzZXdvcmtlclNlcnZpY2UpIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLmNhc2VfaWQ7XG4gICAgdGhpcy50YXNrID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyBhcyBUYXNrO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEN1cnJlbnQgdXNlciBpcyBhIGNhc2V3b3JrZXI/XG4gICAgdGhpcy5qdXJpc2RpY3Rpb24gPSB0aGlzLnRhc2suanVyaXNkaWN0aW9uO1xuICAgIHRoaXMuY2FzZVR5cGUgPSB0aGlzLnRhc2suY2FzZV90eXBlX2lkO1xuICAgIHRoaXMuY2FzZXdvcmtlclN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZXdvcmtlclNlcnZpY2UuZ2V0Q2FzZXdvcmtlcnModGhpcy50YXNrLmp1cmlzZGljdGlvbikuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdFswXS5zZXJ2aWNlID09PSB0aGlzLnRhc2suanVyaXNkaWN0aW9uICYmIHJlc3VsdFswXS5jYXNld29ya2Vycykge1xuICAgICAgICBjb25zdCBjYXNld29ya2VyID0gcmVzdWx0WzBdLmNhc2V3b3JrZXJzLmZpbmQoeCA9PiB4LmlkYW1JZCA9PT0gdGhpcy50YXNrLmFzc2lnbmVlKTtcbiAgICAgICAgaWYgKGNhc2V3b3JrZXIpIHtcbiAgICAgICAgICB0aGlzLmFzc2lnbmVkVXNlck5hbWUgPSBgJHtjYXNld29ya2VyLmZpcnN0TmFtZX0gJHtjYXNld29ya2VyLmxhc3ROYW1lfWA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmFzc2lnbmVkVXNlck5hbWUpIHtcbiAgICAgICAgLy8gQ3VycmVudCB1c2VyIGlzIGEganVkaWNpYWwgdXNlcj9cbiAgICAgICAgdGhpcy5qdWRpY2lhbHdvcmtlclN1YnNjcmlwdGlvbiA9XG4gICAgICAgICAgdGhpcy5qdWRpY2lhbHdvcmtlclNlcnZpY2UuZ2V0SnVkaWNpYWx3b3JrZXJzKFt0aGlzLnRhc2suYXNzaWduZWVdLCB0aGlzLnRhc2suanVyaXNkaWN0aW9uKVxuICAgICAgICAgICAgLnN1YnNjcmliZShqdWRpY2lhbHdvcmtlcnMgPT4ge1xuICAgICAgICAgICAgICBpZiAoanVkaWNpYWx3b3JrZXJzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QganVkaWNpYWx3b3JrZXIgPSBqdWRpY2lhbHdvcmtlcnMuZmluZCh4ID0+IHguc2lkYW1faWQgPT09IHRoaXMudGFzay5hc3NpZ25lZSk7XG4gICAgICAgICAgICAgICAgaWYgKGp1ZGljaWFsd29ya2VyKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmFzc2lnbmVkVXNlck5hbWUgPSBqdWRpY2lhbHdvcmtlci5mdWxsX25hbWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKCF0aGlzLmFzc2lnbmVkVXNlck5hbWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFzc2lnbmVkVXNlck5hbWUgPSAnYW5vdGhlciB1c2VyJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FzZXdvcmtlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXNld29ya2VyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmp1ZGljaWFsd29ya2VyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmp1ZGljaWFsd29ya2VyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tOVwiICpuZ0lmPVwiYXNzaWduZWRVc2VyTmFtZVwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIiByb2xlPVwiYWxlcnRcIiB0YWJpbmRleD1cIi0xXCIgZGF0YS1tb2R1bGU9XCJlcnJvci1zdW1tYXJ5XCI+XG4gICAgPGgyIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGVcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgIHt7J1RoZXJlIGlzIGEgcHJvYmxlbScgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvaDI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgICA8bGk+XG4gICAgICAgICAgPGEgaHJlZj1cIiNcIj57eydUYXNrIGFzc2lnbm1lbnQgcmVxdWlyZWQnIHwgcnB4VHJhbnNsYXRlfX08L2E+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cCBnb3Z1ay1mb3JtLWdyb3VwLS1lcnJvclwiPlxuICAgICAgPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1tXCI+e3snVGFzayBhc3NpZ25tZW50IHJlcXVpcmVkJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cblxuICAgIDxwPnt7J1RoaXMgdGFzayBpcyBhc3NpZ25lZCB0bycgfCBycHhUcmFuc2xhdGV9fSB7e2Fzc2lnbmVkVXNlck5hbWV9fS4ge3snWW91IG11c3QgYXNzaWduIGl0IHRvIHlvdXJzZWxmIHRvIGNvbnRpbnVlLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLycsICdjYXNlcycsICdjYXNlLWRldGFpbHMnLCBqdXJpc2RpY3Rpb24sIGNhc2VUeXBlLCBjYXNlSWQsICd0YXNrcyddXCI+XG4gICAgICB7eydSZXR1cm4gdG8gdGFza3MgdGFiJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9hPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -7,7 +7,7 @@ export class TaskConflictComponent {
|
|
|
7
7
|
task;
|
|
8
8
|
caseId;
|
|
9
9
|
static ɵfac = function TaskConflictComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TaskConflictComponent)(); };
|
|
10
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TaskConflictComponent, selectors: [["app-task-conflict"]], inputs: { task: "task", caseId: "caseId" }, decls: 24, vars: 21, consts: [[1, "govuk-!-margin-9"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["href", "#"], [1, "govuk-form-group", "govuk-form-group--error"], [1, "govuk-heading-m"], [
|
|
10
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TaskConflictComponent, selectors: [["app-task-conflict"]], inputs: { task: "task", caseId: "caseId" }, decls: 24, vars: 21, consts: [[1, "govuk-!-margin-9"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["href", "#"], [1, "govuk-form-group", "govuk-form-group--error"], [1, "govuk-heading-m"], [3, "routerLink"]], template: function TaskConflictComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11
11
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h2", 2);
|
|
12
12
|
i0.ɵɵtext(3);
|
|
13
13
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
@@ -51,11 +51,11 @@ export class TaskConflictComponent {
|
|
|
51
51
|
}
|
|
52
52
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TaskConflictComponent, [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ selector: 'app-task-conflict', template: "<div class=\"govuk-!-margin-9\">\n <div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">{{'Task conflict' | rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"govuk-form-group govuk-form-group--error\">\n <h2 class=\"govuk-heading-m\">{{'Task conflict' | rpxTranslate}}</h2>\n <p>{{'This task cannot be completed due to conflict with another task or tasks for this case.' | rpxTranslate}}</p>\n <p>{{'If the problem persists, contact William Priest' | rpxTranslate}}</p>\n <a
|
|
54
|
+
args: [{ selector: 'app-task-conflict', template: "<div class=\"govuk-!-margin-9\">\n <div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">{{'Task conflict' | rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"govuk-form-group govuk-form-group--error\">\n <h2 class=\"govuk-heading-m\">{{'Task conflict' | rpxTranslate}}</h2>\n <p>{{'This task cannot be completed due to conflict with another task or tasks for this case.' | rpxTranslate}}</p>\n <p>{{'If the problem persists, contact William Priest' | rpxTranslate}}</p>\n <a [routerLink]=\"['/', 'cases', 'case-details', caseId, 'tasks']\">{{'Return to tasks tab' | rpxTranslate}}</a>\n </div>\n</div>\n" }]
|
|
55
55
|
}], null, { task: [{
|
|
56
56
|
type: Input
|
|
57
57
|
}], caseId: [{
|
|
58
58
|
type: Input
|
|
59
59
|
}] }); })();
|
|
60
60
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TaskConflictComponent, { className: "TaskConflictComponent", filePath: "lib/shared/components/event-start/components/task-conflict/task-conflict.component.ts", lineNumber: 8 }); })();
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jb25mbGljdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZXZlbnQtc3RhcnQvY29tcG9uZW50cy90YXNrLWNvbmZsaWN0L3Rhc2stY29uZmxpY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2V2ZW50LXN0YXJ0L2NvbXBvbmVudHMvdGFzay1jb25mbGljdC90YXNrLWNvbmZsaWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU9qRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hCLElBQUksQ0FBTztJQUNYLE1BQU0sQ0FBUzsrR0FGcEIscUJBQXFCOzZEQUFyQixxQkFBcUI7WUNMOUIsQUFERixBQURGLDhCQUE4QixhQUNrRyxZQUM1RDtZQUM5RCxZQUNGOztZQUFBLGlCQUFLO1lBSUMsQUFERixBQURGLEFBREYsOEJBQXVDLFlBQ1ksU0FDM0MsV0FDVTtZQUFBLFlBQWtDOztZQUl0RCxBQURFLEFBREUsQUFERSxBQURnRCxpQkFBSSxFQUMvQyxFQUNGLEVBQ0QsRUFDRjtZQUdKLEFBREYsK0JBQXNELGFBQ3hCO1lBQUEsYUFBa0M7O1lBQUEsaUJBQUs7WUFDbkUsMEJBQUc7WUFBQSxhQUE0Rzs7WUFBQSxpQkFBSTtZQUNuSCwwQkFBRztZQUFBLGFBQW9FOztZQUFBLGlCQUFJO1lBQzNFLDZCQUFrRTtZQUFBLGFBQXdDOztZQUU5RyxBQURFLEFBRDRHLGlCQUFJLEVBQzFHLEVBQ0Y7O1lBakJBLGVBQ0Y7WUFERSwyRUFDRjtZQUlrQixlQUFrQztZQUFsQyw0REFBa0M7WUFPeEIsZUFBa0M7WUFBbEMsNkRBQWtDO1lBQzNELGVBQTRHO1lBQTVHLHVJQUE0RztZQUM1RyxlQUFvRTtZQUFwRSwrRkFBb0U7WUFDcEUsZUFBOEQ7WUFBOUQsb0VBQThEO1lBQUMsY0FBd0M7WUFBeEMsbUVBQXdDOzs7aUZEWGpHLHFCQUFxQjtjQUpqQyxTQUFTOzJCQUNFLG1CQUFtQjtnQkFJYixJQUFJO2tCQUFuQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSzs7a0ZBRksscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi93b3JrLWFsbG9jYXRpb24vVGFzayc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10YXNrLWNvbmZsaWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stY29uZmxpY3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tDb25mbGljdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyB0YXNrOiBUYXNrO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tOVwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIiByb2xlPVwiYWxlcnRcIiB0YWJpbmRleD1cIi0xXCIgZGF0YS1tb2R1bGU9XCJlcnJvci1zdW1tYXJ5XCI+XG4gICAgPGgyIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGVcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgIHt7J1RoZXJlIGlzIGEgcHJvYmxlbScgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvaDI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgICA8bGk+XG4gICAgICAgICAgPGEgaHJlZj1cIiNcIj57eydUYXNrIGNvbmZsaWN0JyB8IHJweFRyYW5zbGF0ZX19PC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgZ292dWstZm9ybS1ncm91cC0tZXJyb3JcIj5cbiAgICA8aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLW1cIj57eydUYXNrIGNvbmZsaWN0JyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cbiAgICA8cD57eydUaGlzIHRhc2sgY2Fubm90IGJlIGNvbXBsZXRlZCBkdWUgdG8gY29uZmxpY3Qgd2l0aCBhbm90aGVyIHRhc2sgb3IgdGFza3MgZm9yIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgPHA+e3snSWYgdGhlIHByb2JsZW0gcGVyc2lzdHMsIGNvbnRhY3QgV2lsbGlhbSBQcmllc3QnIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgPGEgW3JvdXRlckxpbmtdPVwiWycvJywgJ2Nhc2VzJywgJ2Nhc2UtZGV0YWlscycsIGNhc2VJZCwgJ3Rhc2tzJ11cIj57eydSZXR1cm4gdG8gdGFza3MgdGFiJyB8IHJweFRyYW5zbGF0ZX19PC9hPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -3,16 +3,20 @@ import { ActivatedRoute } from '@angular/router';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/router";
|
|
5
5
|
import * as i2 from "rpx-xui-translation";
|
|
6
|
-
const _c0 = a0 => ["/", "cases", "case-details", a0, "tasks"];
|
|
6
|
+
const _c0 = (a0, a1, a2) => ["/", "cases", "case-details", a0, a1, a2, "tasks"];
|
|
7
7
|
export class TaskUnassignedComponent {
|
|
8
8
|
route;
|
|
9
9
|
caseId;
|
|
10
|
+
jurisdiction;
|
|
11
|
+
caseType;
|
|
10
12
|
constructor(route) {
|
|
11
13
|
this.route = route;
|
|
12
14
|
this.caseId = this.route.snapshot.data.case.case_id;
|
|
15
|
+
this.jurisdiction = this.route.snapshot.data.case.case_type.jurisdiction.id;
|
|
16
|
+
this.caseType = this.route.snapshot.data.case.case_type.id;
|
|
13
17
|
}
|
|
14
18
|
static ɵfac = function TaskUnassignedComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TaskUnassignedComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute)); };
|
|
15
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TaskUnassignedComponent, selectors: [["app-task-unassigned"]], decls: 21, vars:
|
|
19
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TaskUnassignedComponent, selectors: [["app-task-unassigned"]], decls: 21, vars: 20, consts: [[1, "govuk-!-margin-9"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["href", "#"], [1, "govuk-form-group", "govuk-form-group--error"], [1, "govuk-heading-m"], [3, "routerLink"]], template: function TaskUnassignedComponent_Template(rf, ctx) { if (rf & 1) {
|
|
16
20
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h2", 2);
|
|
17
21
|
i0.ɵɵtext(3);
|
|
18
22
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
@@ -43,14 +47,14 @@ export class TaskUnassignedComponent {
|
|
|
43
47
|
i0.ɵɵadvance(3);
|
|
44
48
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(17, 12, "You must assign one of the available tasks from the task tab to continue with your work."));
|
|
45
49
|
i0.ɵɵadvance(2);
|
|
46
|
-
i0.ɵɵproperty("routerLink", i0.ɵɵ
|
|
50
|
+
i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction3(16, _c0, ctx.jurisdiction, ctx.caseType, ctx.caseId));
|
|
47
51
|
i0.ɵɵadvance();
|
|
48
52
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 14, "Return to tasks tab to assign a task"), " ");
|
|
49
53
|
} }, dependencies: [i1.RouterLink, i2.RpxTranslatePipe], encapsulation: 2 });
|
|
50
54
|
}
|
|
51
55
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TaskUnassignedComponent, [{
|
|
52
56
|
type: Component,
|
|
53
|
-
args: [{ selector: 'app-task-unassigned', template: "<div class=\"govuk-!-margin-9\">\n <div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">{{'Task assignment required' | rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"govuk-form-group govuk-form-group--error\">\n <h2 class=\"govuk-heading-m\">{{'Task assignment required' | rpxTranslate}}</h2>\n\n <p>{{'You must assign one of the available tasks from the task tab to continue with your work.' | rpxTranslate}}</p>\n\n <a
|
|
57
|
+
args: [{ selector: 'app-task-unassigned', template: "<div class=\"govuk-!-margin-9\">\n <div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">{{'Task assignment required' | rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"govuk-form-group govuk-form-group--error\">\n <h2 class=\"govuk-heading-m\">{{'Task assignment required' | rpxTranslate}}</h2>\n\n <p>{{'You must assign one of the available tasks from the task tab to continue with your work.' | rpxTranslate}}</p>\n\n <a [routerLink]=\"['/', 'cases', 'case-details', jurisdiction, caseType, caseId, 'tasks']\">\n {{'Return to tasks tab to assign a task' | rpxTranslate}}\n </a>\n </div>\n</div>\n" }]
|
|
54
58
|
}], () => [{ type: i1.ActivatedRoute }], null); })();
|
|
55
59
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TaskUnassignedComponent, { className: "TaskUnassignedComponent", filePath: "lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.ts", lineNumber: 8 }); })();
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay11bmFzc2lnbmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9ldmVudC1zdGFydC9jb21wb25lbnRzL3Rhc2stdW5hc3NpZ25lZC90YXNrLXVuYXNzaWduZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2V2ZW50LXN0YXJ0L2NvbXBvbmVudHMvdGFzay11bmFzc2lnbmVkL3Rhc2stdW5hc3NpZ25lZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFNakQsTUFBTSxPQUFPLHVCQUF1QjtJQU1MO0lBSnRCLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBUztJQUNyQixRQUFRLENBQVM7SUFFeEIsWUFBNkIsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDNUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDN0QsQ0FBQztpSEFWVSx1QkFBdUI7NkRBQXZCLHVCQUF1QjtZQ0poQyxBQUZGLEFBREYsOEJBQThCLGFBRUUsWUFDb0M7WUFDOUQsWUFDRjs7WUFBQSxpQkFBSztZQUlDLEFBREYsQUFERixBQURGLDhCQUF1QyxZQUNZLFNBQzNDLFdBQ1U7WUFBQSxZQUE2Qzs7WUFJakUsQUFERSxBQURFLEFBREUsQUFEMkQsaUJBQUksRUFDMUQsRUFDRixFQUNELEVBQ0Y7WUFHSixBQURGLCtCQUFzRCxhQUN4QjtZQUFBLGFBQTZDOztZQUFBLGlCQUFLO1lBRTlFLDBCQUFHO1lBQUEsYUFBNkc7O1lBQUEsaUJBQUk7WUFFcEgsNkJBQTBGO1lBQ3hGLGFBQ0Y7O1lBRUosQUFERSxBQURFLGlCQUFJLEVBQ0EsRUFDRjs7WUFwQkEsZUFDRjtZQURFLDJFQUNGO1lBSWtCLGVBQTZDO1lBQTdDLHVFQUE2QztZQU9uQyxlQUE2QztZQUE3Qyx3RUFBNkM7WUFFdEUsZUFBNkc7WUFBN0csd0lBQTZHO1lBRTdHLGVBQXNGO1lBQXRGLG9HQUFzRjtZQUN2RixjQUNGO1lBREUsK0ZBQ0Y7OztpRkRmUyx1QkFBdUI7Y0FKbkMsU0FBUzsyQkFDRSxxQkFBcUI7O2tGQUdwQix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRhc2stdW5hc3NpZ25lZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXNrLXVuYXNzaWduZWQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tVbmFzc2lnbmVkQ29tcG9uZW50IHtcblxuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBqdXJpc2RpY3Rpb246IHN0cmluZztcbiAgcHVibGljIGNhc2VUeXBlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLmNhc2VfaWQ7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb24gPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS5jYXNlX3R5cGUuanVyaXNkaWN0aW9uLmlkO1xuICAgIHRoaXMuY2FzZVR5cGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS5jYXNlX3R5cGUuaWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi05XCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5XCIgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiIHJvbGU9XCJhbGVydFwiIHRhYmluZGV4PVwiLTFcIlxuICAgIGRhdGEtbW9kdWxlPVwiZXJyb3Itc3VtbWFyeVwiPlxuICAgIDxoMiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlXCIgaWQ9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgICB7eydUaGVyZSBpcyBhIHByb2JsZW0nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2gyPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAgICA8dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cbiAgICAgICAgPGxpPlxuICAgICAgICAgIDxhIGhyZWY9XCIjXCI+e3snVGFzayBhc3NpZ25tZW50IHJlcXVpcmVkJyB8IHJweFRyYW5zbGF0ZX19PC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgZ292dWstZm9ybS1ncm91cC0tZXJyb3JcIj5cbiAgICA8aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLW1cIj57eydUYXNrIGFzc2lnbm1lbnQgcmVxdWlyZWQnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuXG4gICAgPHA+e3snWW91IG11c3QgYXNzaWduIG9uZSBvZiB0aGUgYXZhaWxhYmxlIHRhc2tzIGZyb20gdGhlIHRhc2sgdGFiIHRvIGNvbnRpbnVlIHdpdGggeW91ciB3b3JrLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cblxuICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLycsICdjYXNlcycsICdjYXNlLWRldGFpbHMnLCBqdXJpc2RpY3Rpb24sIGNhc2VUeXBlLCBjYXNlSWQsICd0YXNrcyddXCI+XG4gICAgICB7eydSZXR1cm4gdG8gdGFza3MgdGFiIHRvIGFzc2lnbiBhIHRhc2snIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2E+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -116,7 +116,7 @@ export class EventStartGuard {
|
|
|
116
116
|
}
|
|
117
117
|
else if (tasksAssignedToUser.length > 1 && !taskId) {
|
|
118
118
|
// if more than one task assigned to the user then give multiple tasks error
|
|
119
|
-
this.router.navigate([`/cases/case-details/${caseId}/multiple-tasks-exist`]);
|
|
119
|
+
this.router.navigate([`/cases/case-details/${this.jurisdiction}/${this.caseType}/${caseId}/multiple-tasks-exist`]);
|
|
120
120
|
return false;
|
|
121
121
|
}
|
|
122
122
|
else {
|
|
@@ -149,7 +149,7 @@ export class EventStartGuard {
|
|
|
149
149
|
if (this.router && this.router.url && this.router.url.includes('event-start')) {
|
|
150
150
|
return of(true);
|
|
151
151
|
}
|
|
152
|
-
this.router.navigate([`/cases/case-details/${caseId}/event-start`], { queryParams: { caseId, eventId, taskId } });
|
|
152
|
+
this.router.navigate([`/cases/case-details/${this.jurisdiction}/${this.caseType}/${caseId}/event-start`], { queryParams: { caseId, eventId, taskId } });
|
|
153
153
|
return of(false);
|
|
154
154
|
}
|
|
155
155
|
else {
|
|
@@ -187,4 +187,4 @@ export class EventStartGuard {
|
|
|
187
187
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventStartGuard, [{
|
|
188
188
|
type: Injectable
|
|
189
189
|
}], () => [{ type: i1.WorkAllocationService }, { type: i2.Router }, { type: i3.SessionStorageService }, { type: i4.AbstractAppConfig }, { type: i3.ReadCookieService }, { type: i1.CaseNotifier }], null); })();
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3RhcnQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZXZlbnQtc3RhcnQvZXZlbnQtZ3VhcmQvZXZlbnQtc3RhcnQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXVDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7Ozs7QUFHaEcsTUFBTSxPQUFPLGVBQWU7SUFLRztJQUNWO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFUWCxZQUFZLENBQVM7SUFDckIsUUFBUSxDQUFTO0lBQ2pCLE1BQU0sQ0FBUztJQUV2QixZQUE2QixxQkFBNEMsRUFDdEQsTUFBYyxFQUNkLHFCQUE0QyxFQUM1QyxjQUFpQyxFQUNqQyxhQUFnQyxFQUNoQyxZQUEwQjtRQUxoQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQ3RELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLG1C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R0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sa0JBQWtCLEdBQUc7WUFDekIsY0FBYyxFQUFFO2dCQUNkLFNBQVMsRUFBRTtvQkFDVCxTQUFTLEVBQUUsSUFBSTtvQkFDZixhQUFhLEVBQUUsSUFBSTtpQkFDcEI7Z0JBQ0QsYUFBYSxFQUFFO29CQUNiLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjthQUNGO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7UUFDMUgsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDM0csQ0FBQzt5R0ExS1UsZUFBZTtnRUFBZixlQUFlLFdBQWYsZUFBZTs7aUZBQWYsZUFBZTtjQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RBcHBDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9hcHAuY29uZmlnJztcbmltcG9ydCB7IFRhc2ssIFRhc2tFdmVudENvbXBsZXRpb25JbmZvIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrJztcbmltcG9ydCB7IFRhc2tQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrUGF5bG9hZCc7XG5pbXBvcnQgeyBSZWFkQ29va2llU2VydmljZSwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FzZUVkaXRDb21wb25lbnQsIENhc2VOb3RpZmllciwgV29ya0FsbG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuaW1wb3J0IHsgcmVtb3ZlVGFza0Zyb21DbGllbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3IvY2FzZS1lZGl0LXV0aWxzL2Nhc2UtZWRpdC51dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFdmVudFN0YXJ0R3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gIHByaXZhdGUganVyaXNkaWN0aW9uOiBzdHJpbmc7XG4gIHByaXZhdGUgY2FzZVR5cGU6IHN0cmluZztcbiAgcHJpdmF0ZSBjYXNlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHdvcmtBbGxvY2F0aW9uU2VydmljZTogV29ya0FsbG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFic3RyYWN0Q29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvb2tpZVNlcnZpY2U6IFJlYWRDb29raWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIpIHtcbiAgICB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5zdWJzY3JpYmUoKGNhc2VEZXRhaWxzKSA9PiB7XG4gICAgICBpZiAoY2FzZURldGFpbHMpIHtcbiAgICAgICAgdGhpcy5qdXJpc2RpY3Rpb24gPSBjYXNlRGV0YWlscz8uY2FzZV90eXBlPy5qdXJpc2RpY3Rpb24/LmlkO1xuICAgICAgICB0aGlzLmNhc2VUeXBlID0gY2FzZURldGFpbHM/LmNhc2VfdHlwZT8uaWQ7XG4gICAgICAgIHRoaXMuY2FzZUlkID0gY2FzZURldGFpbHM/LmNhc2VfaWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjYXNlSWQgPSByb3V0ZS5wYXJhbXNbJ2NpZCddO1xuICAgIGNvbnN0IGV2ZW50SWQgPSByb3V0ZS5wYXJhbXNbJ2VpZCddO1xuICAgIGNvbnN0IHRhc2tJZCA9IHJvdXRlLnF1ZXJ5UGFyYW1zWyd0aWQnXTtcbiAgICAvLyBjaGVjayBpZiB3ZSBoYXZlIHRoZSBjYXNlIGRldGFpbHMgaW4gdGhlIGNhc2Ugbm90aWZpZXJcbiAgICAvLyBpZiBub3QsIHRoZW4gZmV0Y2ggdGhlIGNhc2UgZGV0YWlscyB1c2luZyBjYXNlIG5vdGlmaWVyXG4gICAgY29uc3QgY2FzZURhdGFPYnNlcnZhYmxlID0gKCF0aGlzLmp1cmlzZGljdGlvbiB8fCAhdGhpcy5jYXNlVHlwZSB8fCAhdGhpcy5jYXNlSWQpID9cbiAgICAgIHRoaXMuY2FzZU5vdGlmaWVyLmZldGNoQW5kUmVmcmVzaChjYXNlSWQpLnBpcGUoXG4gICAgICAgIHRhcCgoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgICB0aGlzLmp1cmlzZGljdGlvbiA9IGNhc2VEZXRhaWxzPy5jYXNlX3R5cGU/Lmp1cmlzZGljdGlvbj8uaWQ7XG4gICAgICAgICAgdGhpcy5jYXNlVHlwZSA9IGNhc2VEZXRhaWxzPy5jYXNlX3R5cGU/LmlkO1xuICAgICAgICAgIHRoaXMuY2FzZUlkID0gY2FzZURldGFpbHM/LmNhc2VfaWQ7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICAgICkgOiBvZih0cnVlKTtcblxuICAgIGxldCB1c2VySWQ6IHN0cmluZztcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICBjb25zdCB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgICAgdXNlcklkID0gdXNlckluZm8uaWQgPyB1c2VySW5mby5pZCA6IHVzZXJJbmZvLnVpZDtcbiAgICB9XG4gICAgY29uc3QgbGFuZ3VhZ2VDb29raWUgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0Q29va2llKCdleHVpLXByZWZlcnJlZC1sYW5ndWFnZScpO1xuICAgIGNvbnN0IGN1cnJlbnRMYW5ndWFnZSA9ICEhbGFuZ3VhZ2VDb29raWUgJiYgbGFuZ3VhZ2VDb29raWUgIT09ICcnID8gbGFuZ3VhZ2VDb29raWUgOiAnZW4nO1xuICAgIGNvbnN0IHByZUNsaWVudENvbnRleHQgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKENhc2VFZGl0Q29tcG9uZW50LkNMSUVOVF9DT05URVhUKTtcbiAgICBpZiAoIXByZUNsaWVudENvbnRleHQpIHtcbiAgICAgIC8vIGNyZWF0ZXMgY2xpZW50IGNvbnRleHQgZm9yIGxhbmd1YWdlIGlmIG5vdCBhbHJlYWR5IGV4aXN0aW5nXG4gICAgICBjb25zdCBzdG9yZUNsaWVudENvbnRleHQgPSB7XG4gICAgICAgIGNsaWVudF9jb250ZXh0OiB7XG4gICAgICAgICAgdXNlcl9sYW5ndWFnZToge1xuICAgICAgICAgICAgbGFuZ3VhZ2U6IGN1cnJlbnRMYW5ndWFnZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oQ2FzZUVkaXRDb21wb25lbnQuQ0xJRU5UX0NPTlRFWFQsIEpTT04uc3RyaW5naWZ5KHN0b3JlQ2xpZW50Q29udGV4dCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjbGllbnRDb250ZXh0T2JqID0gSlNPTi5wYXJzZShwcmVDbGllbnRDb250ZXh0KTtcbiAgICAgIGlmICghY2xpZW50Q29udGV4dE9iaj8uY2xpZW50X2NvbnRleHQ/LnVzZXJfbGFuZ3VhZ2UpIHtcbiAgICAgICAgY29uc3QgY2xpZW50Q29udGV4dEFkZExhbmd1YWdlID0ge1xuICAgICAgICAgIC4uLmNsaWVudENvbnRleHRPYmosXG4gICAgICAgICAgY2xpZW50X2NvbnRleHQ6IHtcbiAgICAgICAgICAgIC4uLmNsaWVudENvbnRleHRPYmouY2xpZW50X2NvbnRleHQsXG4gICAgICAgICAgICB1c2VyX2xhbmd1YWdlOiB7XG4gICAgICAgICAgICAgIGxhbmd1YWdlOiBjdXJyZW50TGFuZ3VhZ2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShDYXNlRWRpdENvbXBvbmVudC5DTElFTlRfQ09OVEVYVCwgSlNPTi5zdHJpbmdpZnkoY2xpZW50Q29udGV4dEFkZExhbmd1YWdlKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYXNlRGF0YU9ic2VydmFibGUucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmp1cmlzZGljdGlvbiAmJiB0aGlzLmNhc2VUeXBlKSB7XG4gICAgICAgICAgaWYgKHRoaXMuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5nZXRUYXNrc0J5Q2FzZUlkQW5kRXZlbnRJZChldmVudElkLCBjYXNlSWQsIHRoaXMuY2FzZVR5cGUsIHRoaXMuanVyaXNkaWN0aW9uKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHBheWxvYWQ6IFRhc2tQYXlsb2FkKSA9PiB0aGlzLmNoZWNrRm9yVGFza3MocGF5bG9hZCwgY2FzZUlkLCBldmVudElkLCB0YXNrSWQsIHVzZXJJZCkpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuYWJzdHJhY3RDb25maWcubG9nTWVzc2FnZShgRXZlbnRTdGFydEd1YXJkOiBjYXNlSWQgJHt0aGlzLmNhc2VJZH0gaW4gY2FzZSBub3RpZmllciBub3QgbWF0Y2hlZCB3aXRoIHRoZSByb3V0ZSBwYXJhbWV0ZXIgY2FzZUlkICR7Y2FzZUlkfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWJzdHJhY3RDb25maWcubG9nTWVzc2FnZShgRXZlbnRTdGFydEd1YXJkOiBjYXNlSW5mbyBkZXRhaWxzIG5vdCBhdmFpbGFibGUgaW4gY2FzZSBub3RpZmllciBmb3IgJHtjYXNlSWR9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1Rhc2tJbkV2ZW50Tm90UmVxdWlyZWQocGF5bG9hZDogVGFza1BheWxvYWQsIGNhc2VJZDogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgZXZlbnRJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghcGF5bG9hZCB8fCAhcGF5bG9hZC50YXNrcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHRhc2tOdW1iZXIgPSBwYXlsb2FkLnRhc2tzLmxlbmd0aDtcbiAgICBpZiAodGFza051bWJlciA9PT0gMCkge1xuICAgICAgLy8gaWYgdGhlcmUgYXJlIG5vIHRhc2tzIGp1c3QgY2Fycnkgb25cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBHZXQgbnVtYmVyIG9mIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXJcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgY29uc3QgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICBjb25zdCB0YXNrc0Fzc2lnbmVkVG9Vc2VyID0gcGF5bG9hZC50YXNrcy5maWx0ZXIoeCA9PlxuICAgICAgeC50YXNrX3N0YXRlICE9PSAndW5hc3NpZ25lZCcgJiYgKHguYXNzaWduZWUgPT09IHVzZXJJbmZvLmlkIHx8IHguYXNzaWduZWUgPT09IHVzZXJJbmZvLnVpZClcbiAgICApO1xuICAgIGlmICh0YXNrc0Fzc2lnbmVkVG9Vc2VyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gaWYgbm8gdGFza3MgYXNzaWduZWQgdG8gdXNlciBjYXJyeSBvblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh0YXNrc0Fzc2lnbmVkVG9Vc2VyLmxlbmd0aCA+IDEgJiYgIXRhc2tJZCkge1xuICAgICAgLy8gaWYgbW9yZSB0aGFuIG9uZSB0YXNrIGFzc2lnbmVkIHRvIHRoZSB1c2VyIHRoZW4gZ2l2ZSBtdWx0aXBsZSB0YXNrcyBlcnJvclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvY2FzZXMvY2FzZS1kZXRhaWxzLyR7Y2FzZUlkfS9tdWx0aXBsZS10YXNrcy1leGlzdGBdKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHRhc2s6IGFueTtcbiAgICAgIGlmICh0YXNrSWQpIHtcbiAgICAgICAgdGFzayA9IHBheWxvYWQudGFza3MuZmluZCh4ID0+IHguaWQgPT09IHRhc2tJZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0YXNrID0gdGFza3NBc3NpZ25lZFRvVXNlclswXTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q2xpZW50Q29udGV4dFN0b3JhZ2UodGFzaywgY2FzZUlkLCBldmVudElkLCB1c2VySWQpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0ZvclRhc2tzKHBheWxvYWQ6IFRhc2tQYXlsb2FkLCBjYXNlSWQ6IHN0cmluZywgZXZlbnRJZDogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgdXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGFza0lkICYmIHBheWxvYWQ/LnRhc2tzPy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB0YXNrID0gcGF5bG9hZC50YXNrcy5maW5kKCh0KSA9PiB0LmlkID09IHRhc2tJZCk7XG4gICAgICBpZiAodGFzaykge1xuICAgICAgICB0aGlzLnNldENsaWVudENvbnRleHRTdG9yYWdlKHRhc2ssIGNhc2VJZCwgZXZlbnRJZCwgdXNlcklkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlbW92ZVRhc2tGcm9tQ2xpZW50Q29udGV4dCh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwYXlsb2FkLnRhc2tfcmVxdWlyZWRfZm9yX2V2ZW50KSB7XG4gICAgICAvLyBUaGVyZSBhcmUgc29tZSBpc3N1ZXMgaW4gRXZlbnRUcmlnZ2VyUmVzb2x2ZXIvQ2FzZVNlcnZpY2UgYW5kL29yIENDRCBmb3Igc29tZSBldmVudHNcbiAgICAgIC8vIHdoaWNoIHRyaWdnZXJzIHRoZSBDYW5BY3RpdmF0ZSBndWFyZCBhZ2Fpbi5cbiAgICAgIC8vIElmIGV2ZW50IHN0YXJ0IGlzIGluaXRpYXRlZCBhZ2FpbiwgdGhlbiB3ZSBkbyBub3QgbmVlZCB0byBwZXJmb3JtIHN0YXRlIG1hY2hpbmUgcHJvY2Vzc2luZyBhZ2Fpbi5cbiAgICAgIC8vIGh0dHBzOi8vdG9vbHMuaG1jdHMubmV0L2ppcmEvYnJvd3NlL0VVSS01NDg5XG4gICAgICBpZiAodGhpcy5yb3V0ZXIgJiYgdGhpcy5yb3V0ZXIudXJsICYmIHRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnZXZlbnQtc3RhcnQnKSkge1xuICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjYXNlSWR9L2V2ZW50LXN0YXJ0YF0sIHsgcXVlcnlQYXJhbXM6IHsgY2FzZUlkLCBldmVudElkLCB0YXNrSWQgfSB9KTtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNoZWNrVGFza0luRXZlbnROb3RSZXF1aXJlZChwYXlsb2FkLCBjYXNlSWQsIHRhc2tJZCwgZXZlbnRJZCwgdXNlcklkKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRVhVSS0yNzQzIC0gTWFrZSB0YXNrRXZlbnRDb21wbGV0aW9uSW5mbyBhbHdheXMgYXZhaWxhYmxlIGluIHNlc3Npb24gc3RvcmFnZSB3aXRoIGNsaWVudCBjb250ZXh0XG4gIHByaXZhdGUgc2V0Q2xpZW50Q29udGV4dFN0b3JhZ2UodGFzazogVGFzaywgY2FzZUlkOiBzdHJpbmcsIGV2ZW50SWQ6IHN0cmluZywgdXNlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBTdG9yZSB0YXNrIHRvIHNlc3Npb25cbiAgICBjb25zdCB0YXNrRXZlbnRDb21wbGV0aW9uSW5mbzogVGFza0V2ZW50Q29tcGxldGlvbkluZm8gPSB7XG4gICAgICBjYXNlSWQ6IGNhc2VJZCxcbiAgICAgIGV2ZW50SWQ6IGV2ZW50SWQsXG4gICAgICB1c2VySWQ6IHVzZXJJZCxcbiAgICAgIHRhc2tJZDogdGFzay5pZCxcbiAgICAgIGNyZWF0ZWRUaW1lc3RhbXA6IERhdGUubm93KClcbiAgICB9O1xuICAgIGNvbnN0IGN1cnJlbnRMYW5ndWFnZSA9IHRoaXMuY29va2llU2VydmljZS5nZXRDb29raWUoJ2V4dWktcHJlZmVycmVkLWxhbmd1YWdlJyk7XG4gICAgY29uc3Qgc3RvcmVDbGllbnRDb250ZXh0ID0ge1xuICAgICAgY2xpZW50X2NvbnRleHQ6IHtcbiAgICAgICAgdXNlcl90YXNrOiB7XG4gICAgICAgICAgdGFza19kYXRhOiB0YXNrLFxuICAgICAgICAgIGNvbXBsZXRlX3Rhc2s6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgdXNlcl9sYW5ndWFnZToge1xuICAgICAgICAgIGxhbmd1YWdlOiBjdXJyZW50TGFuZ3VhZ2VcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShDYXNlRWRpdENvbXBvbmVudC5UQVNLX0VWRU5UX0NPTVBMRVRJT05fSU5GTywgSlNPTi5zdHJpbmdpZnkodGFza0V2ZW50Q29tcGxldGlvbkluZm8pKTtcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKENhc2VFZGl0Q29tcG9uZW50LkNMSUVOVF9DT05URVhULCBKU09OLnN0cmluZ2lmeShzdG9yZUNsaWVudENvbnRleHQpKTtcbiAgfVxufVxuIl19
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3RhcnQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvZXZlbnQtc3RhcnQvZXZlbnQtZ3VhcmQvZXZlbnQtc3RhcnQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXVDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOzs7Ozs7QUFHaEcsTUFBTSxPQUFPLGVBQWU7SUFLRztJQUNWO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFUWixZQUFZLENBQVM7SUFDckIsUUFBUSxDQUFTO0lBQ2hCLE1BQU0sQ0FBUztJQUV2QixZQUE2QixxQkFBNEMsRUFDdEQsTUFBYyxFQUNkLHFCQUE0QyxFQUM1QyxjQUFpQyxFQUNqQyxhQUFnQyxFQUNoQyxZQUEwQjtRQUxoQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQ3RELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLG1C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RSxJQUFJLENBQUMsRUFBRTtZQUNmLGdCQUFnQixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7U0FDN0IsQ0FBQztRQUNGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDaEYsTUFBTSxrQkFBa0IsR0FBRztZQUN6QixjQUFjLEVBQUU7Z0JBQ2QsU0FBUyxFQUFFO29CQUNULFNBQVMsRUFBRSxJQUFJO29CQUNmLGFBQWEsRUFBRSxJQUFJO2lCQUNwQjtnQkFDRCxhQUFhLEVBQUU7b0JBQ2IsUUFBUSxFQUFFLGVBQWU7aUJBQzFCO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUMzRyxDQUFDO3lHQTFLVSxlQUFlO2dFQUFmLGVBQWUsV0FBZixlQUFlOztpRkFBZixlQUFlO2NBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgVGFzaywgVGFza0V2ZW50Q29tcGxldGlvbkluZm8gfSBmcm9tICcuLi8uLi8uLi9kb21haW4vd29yay1hbGxvY2F0aW9uL1Rhc2snO1xuaW1wb3J0IHsgVGFza1BheWxvYWQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vd29yay1hbGxvY2F0aW9uL1Rhc2tQYXlsb2FkJztcbmltcG9ydCB7IFJlYWRDb29raWVTZXJ2aWNlLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlRWRpdENvbXBvbmVudCwgQ2FzZU5vdGlmaWVyLCBXb3JrQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvcic7XG5pbXBvcnQgeyByZW1vdmVUYXNrRnJvbUNsaWVudENvbnRleHQgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9jYXNlLWVkaXQtdXRpbHMvY2FzZS1lZGl0LnV0aWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2ZW50U3RhcnRHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVR5cGU6IHN0cmluZztcbiAgcHJpdmF0ZSBjYXNlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHdvcmtBbGxvY2F0aW9uU2VydmljZTogV29ya0FsbG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFic3RyYWN0Q29uZmlnOiBBYnN0cmFjdEFwcENvbmZpZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvb2tpZVNlcnZpY2U6IFJlYWRDb29raWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIpIHtcbiAgICB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5zdWJzY3JpYmUoKGNhc2VEZXRhaWxzKSA9PiB7XG4gICAgICBpZiAoY2FzZURldGFpbHMpIHtcbiAgICAgICAgdGhpcy5qdXJpc2RpY3Rpb24gPSBjYXNlRGV0YWlscz8uY2FzZV90eXBlPy5qdXJpc2RpY3Rpb24/LmlkO1xuICAgICAgICB0aGlzLmNhc2VUeXBlID0gY2FzZURldGFpbHM/LmNhc2VfdHlwZT8uaWQ7XG4gICAgICAgIHRoaXMuY2FzZUlkID0gY2FzZURldGFpbHM/LmNhc2VfaWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjYXNlSWQgPSByb3V0ZS5wYXJhbXNbJ2NpZCddO1xuICAgIGNvbnN0IGV2ZW50SWQgPSByb3V0ZS5wYXJhbXNbJ2VpZCddO1xuICAgIGNvbnN0IHRhc2tJZCA9IHJvdXRlLnF1ZXJ5UGFyYW1zWyd0aWQnXTtcbiAgICAvLyBjaGVjayBpZiB3ZSBoYXZlIHRoZSBjYXNlIGRldGFpbHMgaW4gdGhlIGNhc2Ugbm90aWZpZXJcbiAgICAvLyBpZiBub3QsIHRoZW4gZmV0Y2ggdGhlIGNhc2UgZGV0YWlscyB1c2luZyBjYXNlIG5vdGlmaWVyXG4gICAgY29uc3QgY2FzZURhdGFPYnNlcnZhYmxlID0gKCF0aGlzLmp1cmlzZGljdGlvbiB8fCAhdGhpcy5jYXNlVHlwZSB8fCAhdGhpcy5jYXNlSWQpID9cbiAgICAgIHRoaXMuY2FzZU5vdGlmaWVyLmZldGNoQW5kUmVmcmVzaChjYXNlSWQpLnBpcGUoXG4gICAgICAgIHRhcCgoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgICB0aGlzLmp1cmlzZGljdGlvbiA9IGNhc2VEZXRhaWxzPy5jYXNlX3R5cGU/Lmp1cmlzZGljdGlvbj8uaWQ7XG4gICAgICAgICAgdGhpcy5jYXNlVHlwZSA9IGNhc2VEZXRhaWxzPy5jYXNlX3R5cGU/LmlkO1xuICAgICAgICAgIHRoaXMuY2FzZUlkID0gY2FzZURldGFpbHM/LmNhc2VfaWQ7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICAgICkgOiBvZih0cnVlKTtcblxuICAgIGxldCB1c2VySWQ6IHN0cmluZztcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICBjb25zdCB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgICAgdXNlcklkID0gdXNlckluZm8uaWQgPyB1c2VySW5mby5pZCA6IHVzZXJJbmZvLnVpZDtcbiAgICB9XG4gICAgY29uc3QgbGFuZ3VhZ2VDb29raWUgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0Q29va2llKCdleHVpLXByZWZlcnJlZC1sYW5ndWFnZScpO1xuICAgIGNvbnN0IGN1cnJlbnRMYW5ndWFnZSA9ICEhbGFuZ3VhZ2VDb29raWUgJiYgbGFuZ3VhZ2VDb29raWUgIT09ICcnID8gbGFuZ3VhZ2VDb29raWUgOiAnZW4nO1xuICAgIGNvbnN0IHByZUNsaWVudENvbnRleHQgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKENhc2VFZGl0Q29tcG9uZW50LkNMSUVOVF9DT05URVhUKTtcbiAgICBpZiAoIXByZUNsaWVudENvbnRleHQpIHtcbiAgICAgIC8vIGNyZWF0ZXMgY2xpZW50IGNvbnRleHQgZm9yIGxhbmd1YWdlIGlmIG5vdCBhbHJlYWR5IGV4aXN0aW5nXG4gICAgICBjb25zdCBzdG9yZUNsaWVudENvbnRleHQgPSB7XG4gICAgICAgIGNsaWVudF9jb250ZXh0OiB7XG4gICAgICAgICAgdXNlcl9sYW5ndWFnZToge1xuICAgICAgICAgICAgbGFuZ3VhZ2U6IGN1cnJlbnRMYW5ndWFnZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oQ2FzZUVkaXRDb21wb25lbnQuQ0xJRU5UX0NPTlRFWFQsIEpTT04uc3RyaW5naWZ5KHN0b3JlQ2xpZW50Q29udGV4dCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjbGllbnRDb250ZXh0T2JqID0gSlNPTi5wYXJzZShwcmVDbGllbnRDb250ZXh0KTtcbiAgICAgIGlmICghY2xpZW50Q29udGV4dE9iaj8uY2xpZW50X2NvbnRleHQ/LnVzZXJfbGFuZ3VhZ2UpIHtcbiAgICAgICAgY29uc3QgY2xpZW50Q29udGV4dEFkZExhbmd1YWdlID0ge1xuICAgICAgICAgIC4uLmNsaWVudENvbnRleHRPYmosXG4gICAgICAgICAgY2xpZW50X2NvbnRleHQ6IHtcbiAgICAgICAgICAgIC4uLmNsaWVudENvbnRleHRPYmouY2xpZW50X2NvbnRleHQsXG4gICAgICAgICAgICB1c2VyX2xhbmd1YWdlOiB7XG4gICAgICAgICAgICAgIGxhbmd1YWdlOiBjdXJyZW50TGFuZ3VhZ2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShDYXNlRWRpdENvbXBvbmVudC5DTElFTlRfQ09OVEVYVCwgSlNPTi5zdHJpbmdpZnkoY2xpZW50Q29udGV4dEFkZExhbmd1YWdlKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYXNlRGF0YU9ic2VydmFibGUucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmp1cmlzZGljdGlvbiAmJiB0aGlzLmNhc2VUeXBlKSB7XG4gICAgICAgICAgaWYgKHRoaXMuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5nZXRUYXNrc0J5Q2FzZUlkQW5kRXZlbnRJZChldmVudElkLCBjYXNlSWQsIHRoaXMuY2FzZVR5cGUsIHRoaXMuanVyaXNkaWN0aW9uKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHBheWxvYWQ6IFRhc2tQYXlsb2FkKSA9PiB0aGlzLmNoZWNrRm9yVGFza3MocGF5bG9hZCwgY2FzZUlkLCBldmVudElkLCB0YXNrSWQsIHVzZXJJZCkpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuYWJzdHJhY3RDb25maWcubG9nTWVzc2FnZShgRXZlbnRTdGFydEd1YXJkOiBjYXNlSWQgJHt0aGlzLmNhc2VJZH0gaW4gY2FzZSBub3RpZmllciBub3QgbWF0Y2hlZCB3aXRoIHRoZSByb3V0ZSBwYXJhbWV0ZXIgY2FzZUlkICR7Y2FzZUlkfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWJzdHJhY3RDb25maWcubG9nTWVzc2FnZShgRXZlbnRTdGFydEd1YXJkOiBjYXNlSW5mbyBkZXRhaWxzIG5vdCBhdmFpbGFibGUgaW4gY2FzZSBub3RpZmllciBmb3IgJHtjYXNlSWR9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1Rhc2tJbkV2ZW50Tm90UmVxdWlyZWQocGF5bG9hZDogVGFza1BheWxvYWQsIGNhc2VJZDogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZywgZXZlbnRJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghcGF5bG9hZCB8fCAhcGF5bG9hZC50YXNrcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHRhc2tOdW1iZXIgPSBwYXlsb2FkLnRhc2tzLmxlbmd0aDtcbiAgICBpZiAodGFza051bWJlciA9PT0gMCkge1xuICAgICAgLy8gaWYgdGhlcmUgYXJlIG5vIHRhc2tzIGp1c3QgY2Fycnkgb25cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBHZXQgbnVtYmVyIG9mIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXJcbiAgICBjb25zdCB1c2VySW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJyk7XG4gICAgY29uc3QgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICBjb25zdCB0YXNrc0Fzc2lnbmVkVG9Vc2VyID0gcGF5bG9hZC50YXNrcy5maWx0ZXIoeCA9PlxuICAgICAgeC50YXNrX3N0YXRlICE9PSAndW5hc3NpZ25lZCcgJiYgKHguYXNzaWduZWUgPT09IHVzZXJJbmZvLmlkIHx8IHguYXNzaWduZWUgPT09IHVzZXJJbmZvLnVpZClcbiAgICApO1xuICAgIGlmICh0YXNrc0Fzc2lnbmVkVG9Vc2VyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gaWYgbm8gdGFza3MgYXNzaWduZWQgdG8gdXNlciBjYXJyeSBvblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh0YXNrc0Fzc2lnbmVkVG9Vc2VyLmxlbmd0aCA+IDEgJiYgIXRhc2tJZCkge1xuICAgICAgLy8gaWYgbW9yZSB0aGFuIG9uZSB0YXNrIGFzc2lnbmVkIHRvIHRoZSB1c2VyIHRoZW4gZ2l2ZSBtdWx0aXBsZSB0YXNrcyBlcnJvclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvY2FzZXMvY2FzZS1kZXRhaWxzLyR7dGhpcy5qdXJpc2RpY3Rpb259LyR7dGhpcy5jYXNlVHlwZX0vJHtjYXNlSWR9L211bHRpcGxlLXRhc2tzLWV4aXN0YF0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgdGFzazogYW55O1xuICAgICAgaWYgKHRhc2tJZCkge1xuICAgICAgICB0YXNrID0gcGF5bG9hZC50YXNrcy5maW5kKHggPT4geC5pZCA9PT0gdGFza0lkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhc2sgPSB0YXNrc0Fzc2lnbmVkVG9Vc2VyWzBdO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRDbGllbnRDb250ZXh0U3RvcmFnZSh0YXNrLCBjYXNlSWQsIGV2ZW50SWQsIHVzZXJJZCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9yVGFza3MocGF5bG9hZDogVGFza1BheWxvYWQsIGNhc2VJZDogc3RyaW5nLCBldmVudElkOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICh0YXNrSWQgJiYgcGF5bG9hZD8udGFza3M/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHRhc2sgPSBwYXlsb2FkLnRhc2tzLmZpbmQoKHQpID0+IHQuaWQgPT0gdGFza0lkKTtcbiAgICAgIGlmICh0YXNrKSB7XG4gICAgICAgIHRoaXMuc2V0Q2xpZW50Q29udGV4dFN0b3JhZ2UodGFzaywgY2FzZUlkLCBldmVudElkLCB1c2VySWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVtb3ZlVGFza0Zyb21DbGllbnRDb250ZXh0KHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHBheWxvYWQudGFza19yZXF1aXJlZF9mb3JfZXZlbnQpIHtcbiAgICAgIC8vIFRoZXJlIGFyZSBzb21lIGlzc3VlcyBpbiBFdmVudFRyaWdnZXJSZXNvbHZlci9DYXNlU2VydmljZSBhbmQvb3IgQ0NEIGZvciBzb21lIGV2ZW50c1xuICAgICAgLy8gd2hpY2ggdHJpZ2dlcnMgdGhlIENhbkFjdGl2YXRlIGd1YXJkIGFnYWluLlxuICAgICAgLy8gSWYgZXZlbnQgc3RhcnQgaXMgaW5pdGlhdGVkIGFnYWluLCB0aGVuIHdlIGRvIG5vdCBuZWVkIHRvIHBlcmZvcm0gc3RhdGUgbWFjaGluZSBwcm9jZXNzaW5nIGFnYWluLlxuICAgICAgLy8gaHR0cHM6Ly90b29scy5obWN0cy5uZXQvamlyYS9icm93c2UvRVVJLTU0ODlcbiAgICAgIGlmICh0aGlzLnJvdXRlciAmJiB0aGlzLnJvdXRlci51cmwgJiYgdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKCdldmVudC1zdGFydCcpKSB7XG4gICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2Nhc2VzL2Nhc2UtZGV0YWlscy8ke3RoaXMuanVyaXNkaWN0aW9ufS8ke3RoaXMuY2FzZVR5cGV9LyR7Y2FzZUlkfS9ldmVudC1zdGFydGBdLCB7IHF1ZXJ5UGFyYW1zOiB7IGNhc2VJZCwgZXZlbnRJZCwgdGFza0lkIH0gfSk7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5jaGVja1Rhc2tJbkV2ZW50Tm90UmVxdWlyZWQocGF5bG9hZCwgY2FzZUlkLCB0YXNrSWQsIGV2ZW50SWQsIHVzZXJJZCkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVYVUktMjc0MyAtIE1ha2UgdGFza0V2ZW50Q29tcGxldGlvbkluZm8gYWx3YXlzIGF2YWlsYWJsZSBpbiBzZXNzaW9uIHN0b3JhZ2Ugd2l0aCBjbGllbnQgY29udGV4dFxuICBwcml2YXRlIHNldENsaWVudENvbnRleHRTdG9yYWdlKHRhc2s6IFRhc2ssIGNhc2VJZDogc3RyaW5nLCBldmVudElkOiBzdHJpbmcsIHVzZXJJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gU3RvcmUgdGFzayB0byBzZXNzaW9uXG4gICAgY29uc3QgdGFza0V2ZW50Q29tcGxldGlvbkluZm86IFRhc2tFdmVudENvbXBsZXRpb25JbmZvID0ge1xuICAgICAgY2FzZUlkOiBjYXNlSWQsXG4gICAgICBldmVudElkOiBldmVudElkLFxuICAgICAgdXNlcklkOiB1c2VySWQsXG4gICAgICB0YXNrSWQ6IHRhc2suaWQsXG4gICAgICBjcmVhdGVkVGltZXN0YW1wOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBjb25zdCBjdXJyZW50TGFuZ3VhZ2UgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0Q29va2llKCdleHVpLXByZWZlcnJlZC1sYW5ndWFnZScpO1xuICAgIGNvbnN0IHN0b3JlQ2xpZW50Q29udGV4dCA9IHtcbiAgICAgIGNsaWVudF9jb250ZXh0OiB7XG4gICAgICAgIHVzZXJfdGFzazoge1xuICAgICAgICAgIHRhc2tfZGF0YTogdGFzayxcbiAgICAgICAgICBjb21wbGV0ZV90YXNrOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXJfbGFuZ3VhZ2U6IHtcbiAgICAgICAgICBsYW5ndWFnZTogY3VycmVudExhbmd1YWdlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oQ2FzZUVkaXRDb21wb25lbnQuVEFTS19FVkVOVF9DT01QTEVUSU9OX0lORk8sIEpTT04uc3RyaW5naWZ5KHRhc2tFdmVudENvbXBsZXRpb25JbmZvKSk7XG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShDYXNlRWRpdENvbXBvbmVudC5DTElFTlRfQ09OVEVYVCwgSlNPTi5zdHJpbmdpZnkoc3RvcmVDbGllbnRDb250ZXh0KSk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs
CHANGED
|
@@ -64,7 +64,7 @@ export class EventStartStateMachineService {
|
|
|
64
64
|
// Trigger final state to complete processing of state machine
|
|
65
65
|
state.trigger(EventStartStates.FINAL);
|
|
66
66
|
// Navigate to no tasks available error page
|
|
67
|
-
context.router.navigate([`/cases/case-details/${context.caseId}/no-tasks-available`], { relativeTo: context.route });
|
|
67
|
+
context.router.navigate([`/cases/case-details/${context.tasks[0]?.jurisdiction}/${context.tasks[0]?.case_type_id}/${context.caseId}/no-tasks-available`], { relativeTo: context.route });
|
|
68
68
|
}
|
|
69
69
|
entryActionForStateOneOrMoreTasks(state, context) {
|
|
70
70
|
state.trigger(EventStartStates.TASK_ASSIGNED_TO_USER);
|
|
@@ -106,12 +106,12 @@ export class EventStartStateMachineService {
|
|
|
106
106
|
let theQueryParams = {};
|
|
107
107
|
if (context.tasks[0].assignee) {
|
|
108
108
|
// Task is assigned to some other user, navigate to task assigned error page
|
|
109
|
-
navigationURL = `/cases/case-details/${context.caseId}/task-assigned`;
|
|
109
|
+
navigationURL = `/cases/case-details/${context.tasks[0]?.jurisdiction}/${context.tasks[0]?.case_type_id}/${context.caseId}/task-assigned`;
|
|
110
110
|
theQueryParams = context.tasks[0];
|
|
111
111
|
}
|
|
112
112
|
else {
|
|
113
113
|
// Task is unassigned, navigate to task unassigned error page
|
|
114
|
-
navigationURL = `/cases/case-details/${context.caseId}/task-unassigned`;
|
|
114
|
+
navigationURL = `/cases/case-details/${context.tasks[0]?.jurisdiction}/${context.tasks[0]?.case_type_id}/${context.caseId}/task-unassigned`;
|
|
115
115
|
}
|
|
116
116
|
// Trigger final state to complete processing of state machine
|
|
117
117
|
state.trigger(EventStartStates.FINAL);
|
|
@@ -158,13 +158,13 @@ export class EventStartStateMachineService {
|
|
|
158
158
|
// EXUI-2668 - Only add client context when taskEventCompletionInfo is set - stops auto completing incorrect tasks
|
|
159
159
|
context.sessionStorageService.setItem(CaseEditComponent.CLIENT_CONTEXT, JSON.stringify(clientContext));
|
|
160
160
|
// Allow user to perform the event
|
|
161
|
-
context.router.navigate([`/cases/case-details/${context.caseId}/trigger/${context.eventId}`], { relativeTo: context.route });
|
|
161
|
+
context.router.navigate([`/cases/case-details/${task.jurisdiction}/${task.case_type_id}/${context.caseId}/trigger/${context.eventId}`], { relativeTo: context.route });
|
|
162
162
|
}
|
|
163
163
|
entryActionForStateMultipleTasksAssignedToUser(state, context) {
|
|
164
164
|
// Trigger final state to complete processing of state machine
|
|
165
165
|
state.trigger(EventStartStates.FINAL);
|
|
166
166
|
// Navigate to multiple tasks exist error page
|
|
167
|
-
context.router.navigate([`/cases/case-details/${context.caseId}/multiple-tasks-exist`], { relativeTo: context.route });
|
|
167
|
+
context.router.navigate([`/cases/case-details/${context.tasks[0]?.jurisdiction}/${context.tasks[0]?.case_type_id}/${context.caseId}/multiple-tasks-exist`], { relativeTo: context.route });
|
|
168
168
|
}
|
|
169
169
|
finalAction(state) {
|
|
170
170
|
// Final actions can be performed here, the state machine finished running
|
|
@@ -204,4 +204,4 @@ export class EventStartStateMachineService {
|
|
|
204
204
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventStartStateMachineService, [{
|
|
205
205
|
type: Injectable
|
|
206
206
|
}], null, null); })();
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3RhcnQtc3RhdGUtbWFjaGluZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2V2ZW50LXN0YXJ0L3NlcnZpY2VzL2V2ZW50LXN0YXJ0LXN0YXRlLW1hY2hpbmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBUyxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFpQyxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUc1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFdEQsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztBQUdsRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ2pDLDBCQUEwQixDQUFRO0lBQ2xDLFdBQVcsQ0FBUTtJQUNuQixZQUFZLENBQVE7SUFDcEIsbUJBQW1CLENBQVE7SUFDM0IsdUJBQXVCLENBQVE7SUFDL0IsMEJBQTBCLENBQVE7SUFDbEMsZ0NBQWdDLENBQVE7SUFDeEMsbUJBQW1CLENBQVE7SUFDM0IsVUFBVSxDQUFRO0lBRWxCLHNCQUFzQixDQUFDLE9BQXNDO1FBQ2xFLE9BQU8sSUFBSSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLFlBQVksQ0FBQyxZQUEwQjtRQUM1QyxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFlBQVksQ0FBQyxXQUFXLENBQ3hELGdCQUFnQixDQUFDLHdCQUF3QixFQUN6QyxLQUFLLEVBQ0wsSUFBSSxDQUFDLHdDQUF3QyxDQUM5QyxDQUFDO1FBRUYsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxXQUFX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Q0FBQztJQUVNLDJDQUEyQztRQUNoRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUMzQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQ3RCLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7SUFDSixDQUFDO0lBRU0saURBQWlEO1FBQ3RELElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxhQUFhLENBQ2pELGdCQUFnQixDQUFDLEtBQUssRUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7dUhBalNVLDZCQUE2QjtnRUFBN0IsNkJBQTZCLFdBQTdCLDZCQUE2Qjs7aUZBQTdCLDZCQUE2QjtjQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0YXRlLCBTdGF0ZU1hY2hpbmUgfSBmcm9tICdAZWRpdW0vZnNtJztcbmltcG9ydCB7IEV2ZW50U3RhcnRTdGF0ZU1hY2hpbmVDb250ZXh0LCBFdmVudFN0YXJ0U3RhdGVzIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhc2tFdmVudENvbXBsZXRpb25JbmZvIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrJztcbmltcG9ydCB7IFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL3VzZXIvdXNlci1pbmZvLm1vZGVsJztcbmltcG9ydCB7IENhc2VFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuXG5jb25zdCBFVkVOVF9TVEFURV9NQUNISU5FID0gJ0VWRU5UIFNUQVRFIE1BQ0hJTkUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXZlbnRTdGFydFN0YXRlTWFjaGluZVNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGVDaGVja0Zvck1hdGNoaW5nVGFza3M6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVOb1Rhc2s6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVPbmVUYXNrOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlT25lT3JNb3JlVGFza3M6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVUYXNrQXNzaWduZWRUb1VzZXI6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVPbmVUYXNrQXNzaWduZWRUb1VzZXI6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVNdWx0aXBsZVRhc2tzQXNzaWduZWRUb1VzZXI6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVUYXNrVW5hc3NpZ25lZDogU3RhdGU7XG4gIHB1YmxpYyBzdGF0ZUZpbmFsOiBTdGF0ZTtcblxuICBwdWJsaWMgaW5pdGlhbGlzZVN0YXRlTWFjaGluZShjb250ZXh0OiBFdmVudFN0YXJ0U3RhdGVNYWNoaW5lQ29udGV4dCk6IFN0YXRlTWFjaGluZSB7XG4gICAgcmV0dXJuIG5ldyBTdGF0ZU1hY2hpbmUoRVZFTlRfU1RBVEVfTUFDSElORSwgY29udGV4dCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlU3RhdGVzKHN0YXRlTWFjaGluZTogU3RhdGVNYWNoaW5lKTogdm9pZCB7XG4gICAgLy8gSW5pdGlhbCBzdGF0ZVxuICAgIHRoaXMuc3RhdGVDaGVja0Zvck1hdGNoaW5nVGFza3MgPSBzdGF0ZU1hY2hpbmUuY3JlYXRlU3RhdGUoXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLkNIRUNLX0ZPUl9NQVRDSElOR19UQVNLUyxcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlQ2hlY2tGb3JNYXRjaGluZ1Rhc2tzXG4gICAgKTtcblxuICAgIC8vIFN0YXRlcyBiYXNlZCBvbiBudW1iZXIgb2YgdGFza3MgYXZhaWxhYmxlXG4gICAgdGhpcy5zdGF0ZU5vVGFzayA9IHN0YXRlTWFjaGluZS5jcmVhdGVTdGF0ZShcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuTk9fVEFTSyxcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlTm9UYXNrXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlT25lT3JNb3JlVGFza3MgPSBzdGF0ZU1hY2hpbmUuY3JlYXRlU3RhdGUoXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLk9ORV9PUl9NT1JFX1RBU0tTLFxuICAgICAgZmFsc2UsXG4gICAgICB0aGlzLmVudHJ5QWN0aW9uRm9yU3RhdGVPbmVPck1vcmVUYXNrc1xuICAgICk7XG5cbiAgICAvLyBTdGF0ZXMgYmFzZWQgb24gbnVtYmVyIG9mIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXJcbiAgICB0aGlzLnN0YXRlVGFza1VuYXNzaWduZWQgPSBzdGF0ZU1hY2hpbmUuY3JlYXRlU3RhdGUoXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLlRBU0tfVU5BU1NJR05FRCxcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlVGFza1VuQXNzaWduZWRcbiAgICApO1xuICAgIHRoaXMuc3RhdGVUYXNrQXNzaWduZWRUb1VzZXIgPSBzdGF0ZU1hY2hpbmUuY3JlYXRlU3RhdGUoXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLlRBU0tfQVNTSUdORURfVE9fVVNFUixcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlVGFza0Fzc2lnbmVkVG9Vc2VyXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlT25lVGFza0Fzc2lnbmVkVG9Vc2VyID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5PTkVfVEFTS19BU1NJR05FRF9UT19VU0VSLFxuICAgICAgZmFsc2UsXG4gICAgICB0aGlzLmVudHJ5QWN0aW9uRm9yU3RhdGVPbmVUYXNrQXNzaWduZWRUb1VzZXJcbiAgICApO1xuICAgIHRoaXMuc3RhdGVNdWx0aXBsZVRhc2tzQXNzaWduZWRUb1VzZXIgPSBzdGF0ZU1hY2hpbmUuY3JlYXRlU3RhdGUoXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLk1VTFRJUExFX1RBU0tTX0FTU0lHTkVEX1RPX1VTRVIsXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZU11bHRpcGxlVGFza3NBc3NpZ25lZFRvVXNlclxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgZmluYWwgc3RhdGUsIHRoZSBzZWNvbmQgcGFyYW0gaXNDb21wbGV0ZSBpcyBzZXQgdG8gdHJ1ZSB0byBtYWtlIHN1cmUgc3RhdGUgbWFjaGluZSBmaW5pc2hlZCBydW5uaW5nXG4gICAgdGhpcy5zdGF0ZUZpbmFsID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5GSU5BTCxcbiAgICAgIHRydWUsXG4gICAgICB0aGlzLmZpbmFsQWN0aW9uXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9ucygpOiB2b2lkIHtcbiAgICAvLyBJbml0aWFsIHRyYW5zaXRpb25cbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVDaGVja0Zvck1hdGNoaW5nVGFza3MoKTtcblxuICAgIC8vIFRyYW5zaXRpb25zIGJhc2VkIG9uIG51bWJlciBvZiB0YXNrcyBhdmFpbGFibGVcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVOb1Rhc2soKTtcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVPbmVPck1vcmVUYXNrcygpO1xuXG4gICAgLy8gVHJhbnNpdGlvbnMgYmFzZWQgb24gbnVtYmVyIG9mIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXJcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVUYXNrVW5hc3NpZ25lZCgpO1xuICAgIHRoaXMuYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZVRhc2tBc3NpZ25lZFRvVXNlcigpO1xuICAgIHRoaXMuYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZU9uZVRhc2tBc3NpZ25lZFRvVXNlcigpO1xuICAgIHRoaXMuYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZU11bHRpcGxlVGFza3NBc3NpZ25lZFRvVXNlcigpO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0U3RhdGVNYWNoaW5lKHN0YXRlTWFjaGluZTogU3RhdGVNYWNoaW5lKTogdm9pZCB7XG4gICAgc3RhdGVNYWNoaW5lLnN0YXJ0KHRoaXMuc3RhdGVDaGVja0Zvck1hdGNoaW5nVGFza3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgZW50cnkgYWN0aW9uIGZvciBzdGF0ZSBjaGVjayBmb3IgbWF0Y2hpbmcgdGFza3MsIGRlY2lkZWQgYmFzZWQgb24gdGhlIG51bWJlciBvZiB0YXNrc1xuICAgKi9cbiAgcHVibGljIGVudHJ5QWN0aW9uRm9yU3RhdGVDaGVja0Zvck1hdGNoaW5nVGFza3Moc3RhdGU6IFN0YXRlLCBjb250ZXh0OiBFdmVudFN0YXJ0U3RhdGVNYWNoaW5lQ29udGV4dCk6IHZvaWQge1xuICAgIGNvbnN0IHRhc2tDb3VudCA9IGNvbnRleHQgJiYgY29udGV4dC50YXNrcyA/IGNvbnRleHQudGFza3MubGVuZ3RoIDogMDtcblxuICAgIGlmICh0YXNrQ291bnQgPT09IDApIHtcbiAgICAgIC8vIFRyaWdnZXIgc3RhdGUgbm8gdGFza1xuICAgICAgc3RhdGUudHJpZ2dlcihFdmVudFN0YXJ0U3RhdGVzLk5PX1RBU0spO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUcmlnZ2VyIHN0YXRlIG9uZSBvciBtb3JlIHRhc2tzXG4gICAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50U3RhcnRTdGF0ZXMuT05FX09SX01PUkVfVEFTS1MpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlTm9UYXNrKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRTdGFydFN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBUcmlnZ2VyIGZpbmFsIHN0YXRlIHRvIGNvbXBsZXRlIHByb2Nlc3Npbmcgb2Ygc3RhdGUgbWFjaGluZVxuICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRTdGFydFN0YXRlcy5GSU5BTCk7XG4gICAgLy8gTmF2aWdhdGUgdG8gbm8gdGFza3MgYXZhaWxhYmxlIGVycm9yIHBhZ2VcbiAgICBjb250ZXh0LnJvdXRlci5uYXZpZ2F0ZShbYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjb250ZXh0LmNhc2VJZH0vbm8tdGFza3MtYXZhaWxhYmxlYF0sIHsgcmVsYXRpdmVUbzogY29udGV4dC5yb3V0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlT25lT3JNb3JlVGFza3Moc3RhdGU6IFN0YXRlLCBjb250ZXh0OiBFdmVudFN0YXJ0U3RhdGVNYWNoaW5lQ29udGV4dCk6IHZvaWQge1xuICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRTdGFydFN0YXRlcy5UQVNLX0FTU0lHTkVEX1RPX1VTRVIpO1xuICB9XG5cbiAgcHVibGljIGVudHJ5QWN0aW9uRm9yU3RhdGVNdWx0aXBsZVRhc2tzKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRTdGFydFN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50U3RhcnRTdGF0ZXMuTVVMVElQTEVfVEFTS1NfQVNTSUdORURfVE9fVVNFUik7XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tBc3NpZ25lZFRvVXNlcihzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50U3RhcnRTdGF0ZU1hY2hpbmVDb250ZXh0KTogdm9pZCB7XG4gICAgLy8gR2V0IG51bWJlciBvZiB0YXNrcyBhc3NpZ25lZCB0byB1c2VyXG4gICAgY29uc3QgdXNlckluZm9TdHIgPSBjb250ZXh0LnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgY29uc3QgdGFza3NBc3NpZ25lZFRvVXNlciA9IGNvbnRleHQudGFza3MuZmlsdGVyKHggPT5cbiAgICAgICAgeC50YXNrX3N0YXRlICE9PSAndW5hc3NpZ25lZCcgJiYgeC5hc3NpZ25lZSA9PT0gdXNlckluZm8uaWQgfHwgeC5hc3NpZ25lZSA9PT0gdXNlckluZm8udWlkXG4gICAgICApO1xuXG4gICAgLy8gQ2hlY2sgaWYgdXNlciBpbml0aWF0ZWQgdGhlIGV2ZW50IGZyb20gdGFzayB0YWJcbiAgICBjb25zdCBpc0V2ZW50SW5pdGlhdGVkRnJvbVRhc2tUYWIgPSBjb250ZXh0LnRhc2tJZCAhPT0gdW5kZWZpbmVkICYmIHRhc2tzQXNzaWduZWRUb1VzZXIuZmluZEluZGV4KHggPT4geC5pZCA9PT0gY29udGV4dC50YXNrSWQpID4gLTE7XG5cbiAgICBpZiAoaXNFdmVudEluaXRpYXRlZEZyb21UYXNrVGFiKSB7XG4gICAgICAvLyBVc2VyIGluaXRpYXRlZCBldmVudCBmcm9tIHRhc2sgdGFiXG4gICAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50U3RhcnRTdGF0ZXMuT05FX1RBU0tfQVNTSUdORURfVE9fVVNFUik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVzZXIgaW5pdGlhdGVkIGV2ZW50IGZyb20gZHJvcGRvd25cbiAgICAgIHN3aXRjaCAodGFza3NBc3NpZ25lZFRvVXNlci5sZW5ndGgpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIC8vIE5vIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXIsIHRyaWdnZXIgc3RhdGUgdGFzayB1bmFzc2lnbmVkXG4gICAgICAgICAgc3RhdGUudHJpZ2dlcihFdmVudFN0YXJ0U3RhdGVzLlRBU0tfVU5BU1NJR05FRCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAvLyBPbmUgdGFzayBhc3NpZ25lZCB0byB1c2VyXG4gICAgICAgICAgc3RhdGUudHJpZ2dlcihFdmVudFN0YXJ0U3RhdGVzLk9ORV9UQVNLX0FTU0lHTkVEX1RPX1VTRVIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIC8vIE11bHRpcGxlIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXIsIHRyaWdnZXIgc3RhdGUgbXVsdGlwbGUgdGFza3MgYXNzaWduZWQgdG8gdXNlclxuICAgICAgICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRTdGFydFN0YXRlcy5NVUxUSVBMRV9UQVNLU19BU1NJR05FRF9UT19VU0VSKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tVbkFzc2lnbmVkKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRTdGFydFN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICBsZXQgbmF2aWdhdGlvblVSTCA9ICcnO1xuICAgIGxldCB0aGVRdWVyeVBhcmFtczogUGFyYW1zID0ge307XG4gIFxuICAgIGlmIChjb250ZXh0LnRhc2tzWzBdLmFzc2lnbmVlKSB7XG4gICAgICAvLyBUYXNrIGlzIGFzc2lnbmVkIHRvIHNvbWUgb3RoZXIgdXNlciwgbmF2aWdhdGUgdG8gdGFzayBhc3NpZ25lZCBlcnJvciBwYWdlXG4gICAgICBuYXZpZ2F0aW9uVVJMID0gYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjb250ZXh0LmNhc2VJZH0vdGFzay1hc3NpZ25lZGA7XG4gICAgICB0aGVRdWVyeVBhcmFtcyA9IGNvbnRleHQudGFza3NbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRhc2sgaXMgdW5hc3NpZ25lZCwgbmF2aWdhdGUgdG8gdGFzayB1bmFzc2lnbmVkIGVycm9yIHBhZ2VcbiAgICAgIG5hdmlnYXRpb25VUkwgPSBgL2Nhc2VzL2Nhc2UtZGV0YWlscy8ke2NvbnRleHQuY2FzZUlkfS90YXNrLXVuYXNzaWduZWRgO1xuICAgIH1cblxuICAgIC8vIFRyaWdnZXIgZmluYWwgc3RhdGUgdG8gY29tcGxldGUgcHJvY2Vzc2luZyBvZiBzdGF0ZSBtYWNoaW5lXG4gICAgc3RhdGUudHJpZ2dlcihFdmVudFN0YXJ0U3RhdGVzLkZJTkFMKTtcbiAgICAvLyBOYXZpZ2F0ZVxuICAgIGNvbnRleHQucm91dGVyLm5hdmlnYXRlKFtgJHtuYXZpZ2F0aW9uVVJMfWBdLCB7IHF1ZXJ5UGFyYW1zOiB0aGVRdWVyeVBhcmFtcywgcmVsYXRpdmVUbzogY29udGV4dC5yb3V0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlT25lVGFza0Fzc2lnbmVkVG9Vc2VyKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRTdGFydFN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBUcmlnZ2VyIGZpbmFsIHN0YXRlIHRvIGNvbXBsZXRlIHByb2Nlc3Npbmcgb2Ygc3RhdGUgbWFjaGluZVxuICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRTdGFydFN0YXRlcy5GSU5BTCk7XG5cbiAgICAvLyBHZXQgdGFzayBhc3NpZ25lZCB0byB1c2VyXG4gICAgbGV0IHRhc2sgPSBjb250ZXh0LnRhc2tzLmZpbmQoeCA9PiB4LmlkID09PSBjb250ZXh0LnRhc2tJZCk7XG4gICAgaWYgKCF0YXNrKSB7XG4gICAgICB0YXNrID0gY29udGV4dC50YXNrc1swXTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXNrU3RyID0gSlNPTi5zdHJpbmdpZnkodGFzayk7XG4gICAgY29uc29sZS5sb2coJ2VudHJ5QWN0aW9uRm9yU3RhdGVPbmVUYXNrQXNzaWduZWRUb1VzZXI6IHNldHRpbmcgY2xpZW50IGNvbnRleHQgdGFza19kYXRhIHRvICcgKyB0YXNrU3RyKTtcbiAgICAvLyBTdG9yZSB0YXNrIHRvIHNlc3Npb25cbiAgICBjb25zdCBjdXJyZW50TGFuZ3VhZ2UgPSBjb250ZXh0LmNvb2tpZVNlcnZpY2UuZ2V0Q29va2llKCdleHVpLXByZWZlcnJlZC1sYW5ndWFnZScpO1xuICAgIGNvbnN0IGNsaWVudENvbnRleHQgPSB7XG4gICAgICBjbGllbnRfY29udGV4dDoge1xuICAgICAgICB1c2VyX3Rhc2s6IHtcbiAgICAgICAgICB0YXNrX2RhdGE6IHRhc2ssXG4gICAgICAgICAgY29tcGxldGVfdGFzazogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB1c2VyX2xhbmd1YWdlOiB7XG4gICAgICAgICAgbGFuZ3VhZ2U6IGN1cnJlbnRMYW5ndWFnZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICBsZXQgdXNlckluZm86IFVzZXJJbmZvO1xuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gY29udGV4dC5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcbiAgICBpZiAodXNlckluZm9TdHIpIHtcbiAgICAgIHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgfVxuICAgIC8vIFN0b3JlIHRhc2sgdG8gc2Vzc2lvblxuICAgIGNvbnN0IHRhc2tFdmVudENvbXBsZXRpb25JbmZvOiBUYXNrRXZlbnRDb21wbGV0aW9uSW5mbyA9IHtcbiAgICAgIGNhc2VJZDogY29udGV4dC5jYXNlSWQsXG4gICAgICBldmVudElkOiBjb250ZXh0LmV2ZW50SWQsXG4gICAgICB1c2VySWQ6IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQsXG4gICAgICB0YXNrSWQ6IHRhc2suaWQsXG4gICAgICBjcmVhdGVkVGltZXN0YW1wOiBEYXRlLm5vdygpfTtcbiAgICBjb250ZXh0LnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKENhc2VFZGl0Q29tcG9uZW50LlRBU0tfRVZFTlRfQ09NUExFVElPTl9JTkZPLCBKU09OLnN0cmluZ2lmeSh0YXNrRXZlbnRDb21wbGV0aW9uSW5mbykpO1xuICAgIC8vIEVYVUktMjY2OCAtIE9ubHkgYWRkIGNsaWVudCBjb250ZXh0IHdoZW4gdGFza0V2ZW50Q29tcGxldGlvbkluZm8gaXMgc2V0IC0gc3RvcHMgYXV0byBjb21wbGV0aW5nIGluY29ycmVjdCB0YXNrc1xuICAgIGNvbnRleHQuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oQ2FzZUVkaXRDb21wb25lbnQuQ0xJRU5UX0NPTlRFWFQsIEpTT04uc3RyaW5naWZ5KGNsaWVudENvbnRleHQpKTtcbiAgICAvLyBBbGxvdyB1c2VyIHRvIHBlcmZvcm0gdGhlIGV2ZW50XG4gICAgY29udGV4dC5yb3V0ZXIubmF2aWdhdGUoW2AvY2FzZXMvY2FzZS1kZXRhaWxzLyR7Y29udGV4dC5jYXNlSWR9L3RyaWdnZXIvJHtjb250ZXh0LmV2ZW50SWR9YF0sXG4gICAgICB7IHJlbGF0aXZlVG86IGNvbnRleHQucm91dGUgfSk7XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZU11bHRpcGxlVGFza3NBc3NpZ25lZFRvVXNlcihzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50U3RhcnRTdGF0ZU1hY2hpbmVDb250ZXh0KTogdm9pZCB7XG4gICAgLy8gVHJpZ2dlciBmaW5hbCBzdGF0ZSB0byBjb21wbGV0ZSBwcm9jZXNzaW5nIG9mIHN0YXRlIG1hY2hpbmVcbiAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50U3RhcnRTdGF0ZXMuRklOQUwpO1xuICAgIC8vIE5hdmlnYXRlIHRvIG11bHRpcGxlIHRhc2tzIGV4aXN0IGVycm9yIHBhZ2VcbiAgICBjb250ZXh0LnJvdXRlci5uYXZpZ2F0ZShbYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjb250ZXh0LmNhc2VJZH0vbXVsdGlwbGUtdGFza3MtZXhpc3RgXSwgeyByZWxhdGl2ZVRvOiBjb250ZXh0LnJvdXRlIH0pO1xuICB9XG5cbiAgcHVibGljIGZpbmFsQWN0aW9uKHN0YXRlOiBTdGF0ZSk6IHZvaWQge1xuICAgIC8vIEZpbmFsIGFjdGlvbnMgY2FuIGJlIHBlcmZvcm1lZCBoZXJlLCB0aGUgc3RhdGUgbWFjaGluZSBmaW5pc2hlZCBydW5uaW5nXG4gICAgLy8gY29uc29sZS5sb2coJ0ZJTkFMJywgc3RhdGUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlQ2hlY2tGb3JNYXRjaGluZ1Rhc2tzKCk6IHZvaWQge1xuICAgIC8vIE5vIHRhc2tzXG4gICAgdGhpcy5zdGF0ZUNoZWNrRm9yTWF0Y2hpbmdUYXNrcy5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5OT19UQVNLLFxuICAgICAgdGhpcy5zdGF0ZU5vVGFza1xuICAgICk7XG4gICAgLy8gT25lIHRhc2tcbiAgICB0aGlzLnN0YXRlQ2hlY2tGb3JNYXRjaGluZ1Rhc2tzLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLk9ORV9PUl9NT1JFX1RBU0tTLFxuICAgICAgdGhpcy5zdGF0ZU9uZU9yTW9yZVRhc2tzXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlTm9UYXNrKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVOb1Rhc2suYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuRklOQUwsXG4gICAgICB0aGlzLnN0YXRlRmluYWxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFkZFRyYW5zaXRpb25zRm9yU3RhdGVPbmVPck1vcmVUYXNrcygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlT25lT3JNb3JlVGFza3MuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuVEFTS19BU1NJR05FRF9UT19VU0VSLFxuICAgICAgdGhpcy5zdGF0ZVRhc2tBc3NpZ25lZFRvVXNlclxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZVRhc2tVbmFzc2lnbmVkKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUYXNrVW5hc3NpZ25lZC5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5GSU5BTCxcbiAgICAgIHRoaXMuc3RhdGVGaW5hbFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZVRhc2tBc3NpZ25lZFRvVXNlcigpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlVGFza0Fzc2lnbmVkVG9Vc2VyLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLk9ORV9UQVNLX0FTU0lHTkVEX1RPX1VTRVIsXG4gICAgICB0aGlzLnN0YXRlT25lVGFza0Fzc2lnbmVkVG9Vc2VyXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlVGFza0Fzc2lnbmVkVG9Vc2VyLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLlRBU0tfVU5BU1NJR05FRCxcbiAgICAgIHRoaXMuc3RhdGVUYXNrVW5hc3NpZ25lZFxuICAgICk7XG4gICAgdGhpcy5zdGF0ZVRhc2tBc3NpZ25lZFRvVXNlci5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5NVUxUSVBMRV9UQVNLU19BU1NJR05FRF9UT19VU0VSLFxuICAgICAgdGhpcy5zdGF0ZU11bHRpcGxlVGFza3NBc3NpZ25lZFRvVXNlclxuICAgICk7XG4gICAgdGhpcy5zdGF0ZVRhc2tBc3NpZ25lZFRvVXNlci5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5GSU5BTCxcbiAgICAgIHRoaXMuc3RhdGVGaW5hbFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZU9uZVRhc2tBc3NpZ25lZFRvVXNlcigpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlT25lVGFza0Fzc2lnbmVkVG9Vc2VyLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLkZJTkFMLFxuICAgICAgdGhpcy5zdGF0ZUZpbmFsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlTXVsdGlwbGVUYXNrc0Fzc2lnbmVkVG9Vc2VyKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVNdWx0aXBsZVRhc2tzQXNzaWduZWRUb1VzZXIuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuRklOQUwsXG4gICAgICB0aGlzLnN0YXRlRmluYWxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc3RhcnQtc3RhdGUtbWFjaGluZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2V2ZW50LXN0YXJ0L3NlcnZpY2VzL2V2ZW50LXN0YXJ0LXN0YXRlLW1hY2hpbmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBUyxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakQsT0FBTyxFQUFpQyxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUc1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFdEQsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztBQUdsRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ2pDLDBCQUEwQixDQUFRO0lBQ2xDLFdBQVcsQ0FBUTtJQUNuQixZQUFZLENBQVE7SUFDcEIsbUJBQW1CLENBQVE7SUFDM0IsdUJBQXVCLENBQVE7SUFDL0IsMEJBQTBCLENBQVE7SUFDbEMsZ0NBQWdDLENBQVE7SUFDeEMsbUJBQW1CLENBQVE7SUFDM0IsVUFBVSxDQUFRO0lBRWxCLHNCQUFzQixDQUFDLE9BQXNDO1FBQ2xFLE9BQU8sSUFBSSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLFlBQVksQ0FBQyxZQUEwQjtRQUM1QyxnQkFBZ0I7UUFDaEIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFlBQVksQ0FBQyxXQUFXLENBQ3hELGdCQUFnQixDQUFDLHdCQUF3QixFQUN6QyxLQUFLLEVBQ0wsSUFBSSxDQUFDLHdDQUF3QyxDQUM5QyxDQUFDO1FBRUYsNENBQTRDO1FBQzVDLElBQUksQ0FBQyxXQUFX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QVUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTSx3Q0FBd0M7UUFDN0MsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FDeEMsZ0JBQWdCLENBQUMseUJBQXlCLEVBQzFDLElBQUksQ0FBQywwQkFBMEIsQ0FDaEMsQ0FBQztRQUNGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQ3hDLGdCQUFnQixDQUFDLGVBQWUsRUFDaEMsSUFBSSxDQUFDLG1CQUFtQixDQUN6QixDQUFDO1FBQ0YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FDeEMsZ0JBQWdCLENBQUMsK0JBQStCLEVBQ2hELElBQUksQ0FBQyxnQ0FBZ0MsQ0FDdEMsQ0FBQztRQUNGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQ3hDLGdCQUFnQixDQUFDLEtBQUssRUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTSwyQ0FBMkM7UUFDaEQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGFBQWEsQ0FDM0MsZ0JBQWdCLENBQUMsS0FBSyxFQUN0QixJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVNLGlEQUFpRDtRQUN0RCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsYUFBYSxDQUNqRCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQ3RCLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7SUFDSixDQUFDO3VIQWhTVSw2QkFBNkI7Z0VBQTdCLDZCQUE2QixXQUE3Qiw2QkFBNkI7O2lGQUE3Qiw2QkFBNkI7Y0FEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdGF0ZSwgU3RhdGVNYWNoaW5lIH0gZnJvbSAnQGVkaXVtL2ZzbSc7XG5pbXBvcnQgeyBFdmVudFN0YXJ0U3RhdGVNYWNoaW5lQ29udGV4dCwgRXZlbnRTdGFydFN0YXRlcyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBUYXNrRXZlbnRDb21wbGV0aW9uSW5mbyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi93b3JrLWFsbG9jYXRpb24vVGFzayc7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi91c2VyL3VzZXItaW5mby5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlRWRpdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yJztcblxuY29uc3QgRVZFTlRfU1RBVEVfTUFDSElORSA9ICdFVkVOVCBTVEFURSBNQUNISU5FJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2ZW50U3RhcnRTdGF0ZU1hY2hpbmVTZXJ2aWNlIHtcbiAgcHVibGljIHN0YXRlQ2hlY2tGb3JNYXRjaGluZ1Rhc2tzOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlTm9UYXNrOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlT25lVGFzazogU3RhdGU7XG4gIHB1YmxpYyBzdGF0ZU9uZU9yTW9yZVRhc2tzOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlVGFza0Fzc2lnbmVkVG9Vc2VyOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlT25lVGFza0Fzc2lnbmVkVG9Vc2VyOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlTXVsdGlwbGVUYXNrc0Fzc2lnbmVkVG9Vc2VyOiBTdGF0ZTtcbiAgcHVibGljIHN0YXRlVGFza1VuYXNzaWduZWQ6IFN0YXRlO1xuICBwdWJsaWMgc3RhdGVGaW5hbDogU3RhdGU7XG5cbiAgcHVibGljIGluaXRpYWxpc2VTdGF0ZU1hY2hpbmUoY29udGV4dDogRXZlbnRTdGFydFN0YXRlTWFjaGluZUNvbnRleHQpOiBTdGF0ZU1hY2hpbmUge1xuICAgIHJldHVybiBuZXcgU3RhdGVNYWNoaW5lKEVWRU5UX1NUQVRFX01BQ0hJTkUsIGNvbnRleHQpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVN0YXRlcyhzdGF0ZU1hY2hpbmU6IFN0YXRlTWFjaGluZSk6IHZvaWQge1xuICAgIC8vIEluaXRpYWwgc3RhdGVcbiAgICB0aGlzLnN0YXRlQ2hlY2tGb3JNYXRjaGluZ1Rhc2tzID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5DSEVDS19GT1JfTUFUQ0hJTkdfVEFTS1MsXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZUNoZWNrRm9yTWF0Y2hpbmdUYXNrc1xuICAgICk7XG5cbiAgICAvLyBTdGF0ZXMgYmFzZWQgb24gbnVtYmVyIG9mIHRhc2tzIGF2YWlsYWJsZVxuICAgIHRoaXMuc3RhdGVOb1Rhc2sgPSBzdGF0ZU1hY2hpbmUuY3JlYXRlU3RhdGUoXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLk5PX1RBU0ssXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZU5vVGFza1xuICAgICk7XG4gICAgdGhpcy5zdGF0ZU9uZU9yTW9yZVRhc2tzID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5PTkVfT1JfTU9SRV9UQVNLUyxcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlT25lT3JNb3JlVGFza3NcbiAgICApO1xuXG4gICAgLy8gU3RhdGVzIGJhc2VkIG9uIG51bWJlciBvZiB0YXNrcyBhc3NpZ25lZCB0byB1c2VyXG4gICAgdGhpcy5zdGF0ZVRhc2tVbmFzc2lnbmVkID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5UQVNLX1VOQVNTSUdORUQsXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tVbkFzc2lnbmVkXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlVGFza0Fzc2lnbmVkVG9Vc2VyID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5UQVNLX0FTU0lHTkVEX1RPX1VTRVIsXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tBc3NpZ25lZFRvVXNlclxuICAgICk7XG4gICAgdGhpcy5zdGF0ZU9uZVRhc2tBc3NpZ25lZFRvVXNlciA9IHN0YXRlTWFjaGluZS5jcmVhdGVTdGF0ZShcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuT05FX1RBU0tfQVNTSUdORURfVE9fVVNFUixcbiAgICAgIGZhbHNlLFxuICAgICAgdGhpcy5lbnRyeUFjdGlvbkZvclN0YXRlT25lVGFza0Fzc2lnbmVkVG9Vc2VyXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlTXVsdGlwbGVUYXNrc0Fzc2lnbmVkVG9Vc2VyID0gc3RhdGVNYWNoaW5lLmNyZWF0ZVN0YXRlKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5NVUxUSVBMRV9UQVNLU19BU1NJR05FRF9UT19VU0VSLFxuICAgICAgZmFsc2UsXG4gICAgICB0aGlzLmVudHJ5QWN0aW9uRm9yU3RhdGVNdWx0aXBsZVRhc2tzQXNzaWduZWRUb1VzZXJcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIGZpbmFsIHN0YXRlLCB0aGUgc2Vjb25kIHBhcmFtIGlzQ29tcGxldGUgaXMgc2V0IHRvIHRydWUgdG8gbWFrZSBzdXJlIHN0YXRlIG1hY2hpbmUgZmluaXNoZWQgcnVubmluZ1xuICAgIHRoaXMuc3RhdGVGaW5hbCA9IHN0YXRlTWFjaGluZS5jcmVhdGVTdGF0ZShcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuRklOQUwsXG4gICAgICB0cnVlLFxuICAgICAgdGhpcy5maW5hbEFjdGlvblxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnMoKTogdm9pZCB7XG4gICAgLy8gSW5pdGlhbCB0cmFuc2l0aW9uXG4gICAgdGhpcy5hZGRUcmFuc2l0aW9uc0ZvclN0YXRlQ2hlY2tGb3JNYXRjaGluZ1Rhc2tzKCk7XG5cbiAgICAvLyBUcmFuc2l0aW9ucyBiYXNlZCBvbiBudW1iZXIgb2YgdGFza3MgYXZhaWxhYmxlXG4gICAgdGhpcy5hZGRUcmFuc2l0aW9uc0ZvclN0YXRlTm9UYXNrKCk7XG4gICAgdGhpcy5hZGRUcmFuc2l0aW9uc0ZvclN0YXRlT25lT3JNb3JlVGFza3MoKTtcblxuICAgIC8vIFRyYW5zaXRpb25zIGJhc2VkIG9uIG51bWJlciBvZiB0YXNrcyBhc3NpZ25lZCB0byB1c2VyXG4gICAgdGhpcy5hZGRUcmFuc2l0aW9uc0ZvclN0YXRlVGFza1VuYXNzaWduZWQoKTtcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVUYXNrQXNzaWduZWRUb1VzZXIoKTtcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVPbmVUYXNrQXNzaWduZWRUb1VzZXIoKTtcbiAgICB0aGlzLmFkZFRyYW5zaXRpb25zRm9yU3RhdGVNdWx0aXBsZVRhc2tzQXNzaWduZWRUb1VzZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydFN0YXRlTWFjaGluZShzdGF0ZU1hY2hpbmU6IFN0YXRlTWFjaGluZSk6IHZvaWQge1xuICAgIHN0YXRlTWFjaGluZS5zdGFydCh0aGlzLnN0YXRlQ2hlY2tGb3JNYXRjaGluZ1Rhc2tzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsIGVudHJ5IGFjdGlvbiBmb3Igc3RhdGUgY2hlY2sgZm9yIG1hdGNoaW5nIHRhc2tzLCBkZWNpZGVkIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgdGFza3NcbiAgICovXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlQ2hlY2tGb3JNYXRjaGluZ1Rhc2tzKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRTdGFydFN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXNrQ291bnQgPSBjb250ZXh0ICYmIGNvbnRleHQudGFza3MgPyBjb250ZXh0LnRhc2tzLmxlbmd0aCA6IDA7XG5cbiAgICBpZiAodGFza0NvdW50ID09PSAwKSB7XG4gICAgICAvLyBUcmlnZ2VyIHN0YXRlIG5vIHRhc2tcbiAgICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRTdGFydFN0YXRlcy5OT19UQVNLKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVHJpZ2dlciBzdGF0ZSBvbmUgb3IgbW9yZSB0YXNrc1xuICAgICAgc3RhdGUudHJpZ2dlcihFdmVudFN0YXJ0U3RhdGVzLk9ORV9PUl9NT1JFX1RBU0tTKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZU5vVGFzayhzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50U3RhcnRTdGF0ZU1hY2hpbmVDb250ZXh0KTogdm9pZCB7XG4gICAgLy8gVHJpZ2dlciBmaW5hbCBzdGF0ZSB0byBjb21wbGV0ZSBwcm9jZXNzaW5nIG9mIHN0YXRlIG1hY2hpbmVcbiAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50U3RhcnRTdGF0ZXMuRklOQUwpO1xuICAgIC8vIE5hdmlnYXRlIHRvIG5vIHRhc2tzIGF2YWlsYWJsZSBlcnJvciBwYWdlXG4gICAgY29udGV4dC5yb3V0ZXIubmF2aWdhdGUoW2AvY2FzZXMvY2FzZS1kZXRhaWxzLyR7Y29udGV4dC50YXNrc1swXT8uanVyaXNkaWN0aW9ufS8ke2NvbnRleHQudGFza3NbMF0/LmNhc2VfdHlwZV9pZH0vJHtjb250ZXh0LmNhc2VJZH0vbm8tdGFza3MtYXZhaWxhYmxlYF0sIHsgcmVsYXRpdmVUbzogY29udGV4dC5yb3V0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlT25lT3JNb3JlVGFza3Moc3RhdGU6IFN0YXRlLCBjb250ZXh0OiBFdmVudFN0YXJ0U3RhdGVNYWNoaW5lQ29udGV4dCk6IHZvaWQge1xuICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRTdGFydFN0YXRlcy5UQVNLX0FTU0lHTkVEX1RPX1VTRVIpO1xuICB9XG5cbiAgcHVibGljIGVudHJ5QWN0aW9uRm9yU3RhdGVNdWx0aXBsZVRhc2tzKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRTdGFydFN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50U3RhcnRTdGF0ZXMuTVVMVElQTEVfVEFTS1NfQVNTSUdORURfVE9fVVNFUik7XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tBc3NpZ25lZFRvVXNlcihzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50U3RhcnRTdGF0ZU1hY2hpbmVDb250ZXh0KTogdm9pZCB7XG4gICAgLy8gR2V0IG51bWJlciBvZiB0YXNrcyBhc3NpZ25lZCB0byB1c2VyXG4gICAgY29uc3QgdXNlckluZm9TdHIgPSBjb250ZXh0LnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgY29uc3QgdGFza3NBc3NpZ25lZFRvVXNlciA9IGNvbnRleHQudGFza3MuZmlsdGVyKHggPT5cbiAgICAgICAgeC50YXNrX3N0YXRlICE9PSAndW5hc3NpZ25lZCcgJiYgeC5hc3NpZ25lZSA9PT0gdXNlckluZm8uaWQgfHwgeC5hc3NpZ25lZSA9PT0gdXNlckluZm8udWlkXG4gICAgICApO1xuXG4gICAgLy8gQ2hlY2sgaWYgdXNlciBpbml0aWF0ZWQgdGhlIGV2ZW50IGZyb20gdGFzayB0YWJcbiAgICBjb25zdCBpc0V2ZW50SW5pdGlhdGVkRnJvbVRhc2tUYWIgPSBjb250ZXh0LnRhc2tJZCAhPT0gdW5kZWZpbmVkICYmIHRhc2tzQXNzaWduZWRUb1VzZXIuZmluZEluZGV4KHggPT4geC5pZCA9PT0gY29udGV4dC50YXNrSWQpID4gLTE7XG5cbiAgICBpZiAoaXNFdmVudEluaXRpYXRlZEZyb21UYXNrVGFiKSB7XG4gICAgICAvLyBVc2VyIGluaXRpYXRlZCBldmVudCBmcm9tIHRhc2sgdGFiXG4gICAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50U3RhcnRTdGF0ZXMuT05FX1RBU0tfQVNTSUdORURfVE9fVVNFUik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVzZXIgaW5pdGlhdGVkIGV2ZW50IGZyb20gZHJvcGRvd25cbiAgICAgIHN3aXRjaCAodGFza3NBc3NpZ25lZFRvVXNlci5sZW5ndGgpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIC8vIE5vIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXIsIHRyaWdnZXIgc3RhdGUgdGFzayB1bmFzc2lnbmVkXG4gICAgICAgICAgc3RhdGUudHJpZ2dlcihFdmVudFN0YXJ0U3RhdGVzLlRBU0tfVU5BU1NJR05FRCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAvLyBPbmUgdGFzayBhc3NpZ25lZCB0byB1c2VyXG4gICAgICAgICAgc3RhdGUudHJpZ2dlcihFdmVudFN0YXJ0U3RhdGVzLk9ORV9UQVNLX0FTU0lHTkVEX1RPX1VTRVIpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIC8vIE11bHRpcGxlIHRhc2tzIGFzc2lnbmVkIHRvIHVzZXIsIHRyaWdnZXIgc3RhdGUgbXVsdGlwbGUgdGFza3MgYXNzaWduZWQgdG8gdXNlclxuICAgICAgICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRTdGFydFN0YXRlcy5NVUxUSVBMRV9UQVNLU19BU1NJR05FRF9UT19VU0VSKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZVRhc2tVbkFzc2lnbmVkKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRTdGFydFN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICBsZXQgbmF2aWdhdGlvblVSTCA9ICcnO1xuICAgIGxldCB0aGVRdWVyeVBhcmFtczogUGFyYW1zID0ge307XG4gICAgaWYgKGNvbnRleHQudGFza3NbMF0uYXNzaWduZWUpIHtcbiAgICAgIC8vIFRhc2sgaXMgYXNzaWduZWQgdG8gc29tZSBvdGhlciB1c2VyLCBuYXZpZ2F0ZSB0byB0YXNrIGFzc2lnbmVkIGVycm9yIHBhZ2VcbiAgICAgIG5hdmlnYXRpb25VUkwgPSBgL2Nhc2VzL2Nhc2UtZGV0YWlscy8ke2NvbnRleHQudGFza3NbMF0/Lmp1cmlzZGljdGlvbn0vJHtjb250ZXh0LnRhc2tzWzBdPy5jYXNlX3R5cGVfaWR9LyR7Y29udGV4dC5jYXNlSWR9L3Rhc2stYXNzaWduZWRgO1xuICAgICAgdGhlUXVlcnlQYXJhbXMgPSBjb250ZXh0LnRhc2tzWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUYXNrIGlzIHVuYXNzaWduZWQsIG5hdmlnYXRlIHRvIHRhc2sgdW5hc3NpZ25lZCBlcnJvciBwYWdlXG4gICAgICBuYXZpZ2F0aW9uVVJMID0gYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjb250ZXh0LnRhc2tzWzBdPy5qdXJpc2RpY3Rpb259LyR7Y29udGV4dC50YXNrc1swXT8uY2FzZV90eXBlX2lkfS8ke2NvbnRleHQuY2FzZUlkfS90YXNrLXVuYXNzaWduZWRgO1xuICAgIH1cblxuICAgIC8vIFRyaWdnZXIgZmluYWwgc3RhdGUgdG8gY29tcGxldGUgcHJvY2Vzc2luZyBvZiBzdGF0ZSBtYWNoaW5lXG4gICAgc3RhdGUudHJpZ2dlcihFdmVudFN0YXJ0U3RhdGVzLkZJTkFMKTtcbiAgICAvLyBOYXZpZ2F0ZVxuICAgIGNvbnRleHQucm91dGVyLm5hdmlnYXRlKFtgJHtuYXZpZ2F0aW9uVVJMfWBdLCB7IHF1ZXJ5UGFyYW1zOiB0aGVRdWVyeVBhcmFtcywgcmVsYXRpdmVUbzogY29udGV4dC5yb3V0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBlbnRyeUFjdGlvbkZvclN0YXRlT25lVGFza0Fzc2lnbmVkVG9Vc2VyKHN0YXRlOiBTdGF0ZSwgY29udGV4dDogRXZlbnRTdGFydFN0YXRlTWFjaGluZUNvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBUcmlnZ2VyIGZpbmFsIHN0YXRlIHRvIGNvbXBsZXRlIHByb2Nlc3Npbmcgb2Ygc3RhdGUgbWFjaGluZVxuICAgIHN0YXRlLnRyaWdnZXIoRXZlbnRTdGFydFN0YXRlcy5GSU5BTCk7XG5cbiAgICAvLyBHZXQgdGFzayBhc3NpZ25lZCB0byB1c2VyXG4gICAgbGV0IHRhc2sgPSBjb250ZXh0LnRhc2tzLmZpbmQoeCA9PiB4LmlkID09PSBjb250ZXh0LnRhc2tJZCk7XG4gICAgaWYgKCF0YXNrKSB7XG4gICAgICB0YXNrID0gY29udGV4dC50YXNrc1swXTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXNrU3RyID0gSlNPTi5zdHJpbmdpZnkodGFzayk7XG4gICAgY29uc29sZS5sb2coJ2VudHJ5QWN0aW9uRm9yU3RhdGVPbmVUYXNrQXNzaWduZWRUb1VzZXI6IHNldHRpbmcgY2xpZW50IGNvbnRleHQgdGFza19kYXRhIHRvICcgKyB0YXNrU3RyKTtcbiAgICAvLyBTdG9yZSB0YXNrIHRvIHNlc3Npb25cbiAgICBjb25zdCBjdXJyZW50TGFuZ3VhZ2UgPSBjb250ZXh0LmNvb2tpZVNlcnZpY2UuZ2V0Q29va2llKCdleHVpLXByZWZlcnJlZC1sYW5ndWFnZScpO1xuICAgIGNvbnN0IGNsaWVudENvbnRleHQgPSB7XG4gICAgICBjbGllbnRfY29udGV4dDoge1xuICAgICAgICB1c2VyX3Rhc2s6IHtcbiAgICAgICAgICB0YXNrX2RhdGE6IHRhc2ssXG4gICAgICAgICAgY29tcGxldGVfdGFzazogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB1c2VyX2xhbmd1YWdlOiB7XG4gICAgICAgICAgbGFuZ3VhZ2U6IGN1cnJlbnRMYW5ndWFnZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICBsZXQgdXNlckluZm86IFVzZXJJbmZvO1xuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gY29udGV4dC5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcbiAgICBpZiAodXNlckluZm9TdHIpIHtcbiAgICAgIHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgfVxuICAgIC8vIFN0b3JlIHRhc2sgdG8gc2Vzc2lvblxuICAgIGNvbnN0IHRhc2tFdmVudENvbXBsZXRpb25JbmZvOiBUYXNrRXZlbnRDb21wbGV0aW9uSW5mbyA9IHtcbiAgICAgIGNhc2VJZDogY29udGV4dC5jYXNlSWQsXG4gICAgICBldmVudElkOiBjb250ZXh0LmV2ZW50SWQsXG4gICAgICB1c2VySWQ6IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQsXG4gICAgICB0YXNrSWQ6IHRhc2suaWQsXG4gICAgICBjcmVhdGVkVGltZXN0YW1wOiBEYXRlLm5vdygpfTtcbiAgICBjb250ZXh0LnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKENhc2VFZGl0Q29tcG9uZW50LlRBU0tfRVZFTlRfQ09NUExFVElPTl9JTkZPLCBKU09OLnN0cmluZ2lmeSh0YXNrRXZlbnRDb21wbGV0aW9uSW5mbykpO1xuICAgIC8vIEVYVUktMjY2OCAtIE9ubHkgYWRkIGNsaWVudCBjb250ZXh0IHdoZW4gdGFza0V2ZW50Q29tcGxldGlvbkluZm8gaXMgc2V0IC0gc3RvcHMgYXV0byBjb21wbGV0aW5nIGluY29ycmVjdCB0YXNrc1xuICAgIGNvbnRleHQuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oQ2FzZUVkaXRDb21wb25lbnQuQ0xJRU5UX0NPTlRFWFQsIEpTT04uc3RyaW5naWZ5KGNsaWVudENvbnRleHQpKTtcbiAgICAvLyBBbGxvdyB1c2VyIHRvIHBlcmZvcm0gdGhlIGV2ZW50XG4gICAgY29udGV4dC5yb3V0ZXIubmF2aWdhdGUoW2AvY2FzZXMvY2FzZS1kZXRhaWxzLyR7dGFzay5qdXJpc2RpY3Rpb259LyR7dGFzay5jYXNlX3R5cGVfaWR9LyR7Y29udGV4dC5jYXNlSWR9L3RyaWdnZXIvJHtjb250ZXh0LmV2ZW50SWR9YF0sXG4gICAgICB7IHJlbGF0aXZlVG86IGNvbnRleHQucm91dGUgfSk7XG4gIH1cblxuICBwdWJsaWMgZW50cnlBY3Rpb25Gb3JTdGF0ZU11bHRpcGxlVGFza3NBc3NpZ25lZFRvVXNlcihzdGF0ZTogU3RhdGUsIGNvbnRleHQ6IEV2ZW50U3RhcnRTdGF0ZU1hY2hpbmVDb250ZXh0KTogdm9pZCB7XG4gICAgLy8gVHJpZ2dlciBmaW5hbCBzdGF0ZSB0byBjb21wbGV0ZSBwcm9jZXNzaW5nIG9mIHN0YXRlIG1hY2hpbmVcbiAgICBzdGF0ZS50cmlnZ2VyKEV2ZW50U3RhcnRTdGF0ZXMuRklOQUwpO1xuICAgIC8vIE5hdmlnYXRlIHRvIG11bHRpcGxlIHRhc2tzIGV4aXN0IGVycm9yIHBhZ2VcbiAgICBjb250ZXh0LnJvdXRlci5uYXZpZ2F0ZShbYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjb250ZXh0LnRhc2tzWzBdPy5qdXJpc2RpY3Rpb259LyR7Y29udGV4dC50YXNrc1swXT8uY2FzZV90eXBlX2lkfS8ke2NvbnRleHQuY2FzZUlkfS9tdWx0aXBsZS10YXNrcy1leGlzdGBdLCB7IHJlbGF0aXZlVG86IGNvbnRleHQucm91dGUgfSk7XG4gIH1cblxuICBwdWJsaWMgZmluYWxBY3Rpb24oc3RhdGU6IFN0YXRlKTogdm9pZCB7XG4gICAgLy8gRmluYWwgYWN0aW9ucyBjYW4gYmUgcGVyZm9ybWVkIGhlcmUsIHRoZSBzdGF0ZSBtYWNoaW5lIGZpbmlzaGVkIHJ1bm5pbmdcbiAgICAvLyBjb25zb2xlLmxvZygnRklOQUwnLCBzdGF0ZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIGFkZFRyYW5zaXRpb25zRm9yU3RhdGVDaGVja0Zvck1hdGNoaW5nVGFza3MoKTogdm9pZCB7XG4gICAgLy8gTm8gdGFza3NcbiAgICB0aGlzLnN0YXRlQ2hlY2tGb3JNYXRjaGluZ1Rhc2tzLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLk5PX1RBU0ssXG4gICAgICB0aGlzLnN0YXRlTm9UYXNrXG4gICAgKTtcbiAgICAvLyBPbmUgdGFza1xuICAgIHRoaXMuc3RhdGVDaGVja0Zvck1hdGNoaW5nVGFza3MuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuT05FX09SX01PUkVfVEFTS1MsXG4gICAgICB0aGlzLnN0YXRlT25lT3JNb3JlVGFza3NcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFkZFRyYW5zaXRpb25zRm9yU3RhdGVOb1Rhc2soKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZU5vVGFzay5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5GSU5BTCxcbiAgICAgIHRoaXMuc3RhdGVGaW5hbFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHJhbnNpdGlvbnNGb3JTdGF0ZU9uZU9yTW9yZVRhc2tzKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVPbmVPck1vcmVUYXNrcy5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5UQVNLX0FTU0lHTkVEX1RPX1VTRVIsXG4gICAgICB0aGlzLnN0YXRlVGFza0Fzc2lnbmVkVG9Vc2VyXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlVGFza1VuYXNzaWduZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVRhc2tVbmFzc2lnbmVkLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLkZJTkFMLFxuICAgICAgdGhpcy5zdGF0ZUZpbmFsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlVGFza0Fzc2lnbmVkVG9Vc2VyKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUYXNrQXNzaWduZWRUb1VzZXIuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuT05FX1RBU0tfQVNTSUdORURfVE9fVVNFUixcbiAgICAgIHRoaXMuc3RhdGVPbmVUYXNrQXNzaWduZWRUb1VzZXJcbiAgICApO1xuICAgIHRoaXMuc3RhdGVUYXNrQXNzaWduZWRUb1VzZXIuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuVEFTS19VTkFTU0lHTkVELFxuICAgICAgdGhpcy5zdGF0ZVRhc2tVbmFzc2lnbmVkXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlVGFza0Fzc2lnbmVkVG9Vc2VyLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLk1VTFRJUExFX1RBU0tTX0FTU0lHTkVEX1RPX1VTRVIsXG4gICAgICB0aGlzLnN0YXRlTXVsdGlwbGVUYXNrc0Fzc2lnbmVkVG9Vc2VyXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlVGFza0Fzc2lnbmVkVG9Vc2VyLmFkZFRyYW5zaXRpb24oXG4gICAgICBFdmVudFN0YXJ0U3RhdGVzLkZJTkFMLFxuICAgICAgdGhpcy5zdGF0ZUZpbmFsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUcmFuc2l0aW9uc0ZvclN0YXRlT25lVGFza0Fzc2lnbmVkVG9Vc2VyKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVPbmVUYXNrQXNzaWduZWRUb1VzZXIuYWRkVHJhbnNpdGlvbihcbiAgICAgIEV2ZW50U3RhcnRTdGF0ZXMuRklOQUwsXG4gICAgICB0aGlzLnN0YXRlRmluYWxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFkZFRyYW5zaXRpb25zRm9yU3RhdGVNdWx0aXBsZVRhc2tzQXNzaWduZWRUb1VzZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZU11bHRpcGxlVGFza3NBc3NpZ25lZFRvVXNlci5hZGRUcmFuc2l0aW9uKFxuICAgICAgRXZlbnRTdGFydFN0YXRlcy5GSU5BTCxcbiAgICAgIHRoaXMuc3RhdGVGaW5hbFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|