@hmcts/ccd-case-ui-toolkit 7.0.70-ungrey-back-button → 7.0.71
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/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +33 -99
- package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +37 -49
- package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +4 -7
- package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +1 -3
- package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +4 -14
- package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +12 -5
- package/esm2022/lib/shared/components/palette/base-field/index.mjs +1 -3
- package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +21 -21
- package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +3 -3
- package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +22 -22
- package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +35 -77
- package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +29 -32
- package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +28 -33
- package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +63 -128
- package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +28 -28
- package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +105 -107
- package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +4 -11
- package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +31 -107
- package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +18 -27
- package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +7 -19
- package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +45 -55
- package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +9 -13
- package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +39 -48
- package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +1 -13
- package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +23 -70
- package/esm2022/lib/shared/components/palette/palette.module.mjs +2 -2
- package/esm2022/lib/shared/domain/index.mjs +1 -2
- package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +2 -2
- package/esm2022/lib/shared/services/index.mjs +1 -2
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +747 -1373
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +3 -16
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +2 -7
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +0 -1
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +1 -2
- 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-specific-access-request/case-specific-access-request.component.d.ts +1 -0
- package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/index.d.ts +0 -2
- package/lib/shared/components/palette/base-field/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +2 -4
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +2 -4
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +4 -11
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +3 -6
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +2 -5
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +5 -12
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +2 -4
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +3 -6
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +5 -10
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +3 -6
- package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +2 -6
- package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +3 -6
- package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +2 -5
- package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +3 -6
- package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +0 -5
- package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +3 -6
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
- package/lib/shared/domain/index.d.ts +0 -1
- package/lib/shared/domain/index.d.ts.map +1 -1
- package/lib/shared/services/index.d.ts +0 -1
- package/lib/shared/services/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/esm2022/lib/shared/components/palette/base-field/abstract-field-write-journey.component.mjs +0 -92
- package/esm2022/lib/shared/components/palette/base-field/abstract-journey.component.mjs +0 -82
- package/esm2022/lib/shared/domain/journey/index.mjs +0 -3
- package/esm2022/lib/shared/domain/journey/journey-instigator.model.mjs +0 -2
- package/esm2022/lib/shared/domain/journey/journey.model.mjs +0 -2
- package/esm2022/lib/shared/services/journey/index.mjs +0 -2
- package/esm2022/lib/shared/services/journey/multipage-component-state.service.mjs +0 -114
- package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts +0 -30
- package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts.map +0 -1
- package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts +0 -27
- package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts.map +0 -1
- package/lib/shared/domain/journey/index.d.ts +0 -3
- package/lib/shared/domain/journey/index.d.ts.map +0 -1
- package/lib/shared/domain/journey/journey-instigator.model.d.ts +0 -5
- package/lib/shared/domain/journey/journey-instigator.model.d.ts.map +0 -1
- package/lib/shared/domain/journey/journey.model.d.ts +0 -18
- package/lib/shared/domain/journey/journey.model.d.ts.map +0 -1
- package/lib/shared/services/journey/index.d.ts +0 -2
- package/lib/shared/services/journey/index.d.ts.map +0 -1
- package/lib/shared/services/journey/multipage-component-state.service.d.ts +0 -25
- package/lib/shared/services/journey/multipage-component-state.service.d.ts.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Component, NgZone } from '@angular/core';
|
|
2
2
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
3
|
import { of } from 'rxjs';
|
|
4
|
-
import { Constants } from '../../../commons/constants';
|
|
5
4
|
import { DisplayMode } from '../../../domain';
|
|
6
5
|
import { CaseReferencePipe } from '../../../pipes';
|
|
7
6
|
import { ActivityPollingService, AlertService, EventStatusService, FieldsUtils, SessionStorageService } from '../../../services';
|
|
8
7
|
import { CaseNotifier, CasesService } from '../../case-editor';
|
|
8
|
+
import { Constants } from '../../../commons/constants';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../../case-editor";
|
|
11
11
|
import * as i2 from "@angular/router";
|
|
@@ -43,7 +43,6 @@ export class CaseEventTriggerComponent {
|
|
|
43
43
|
activitySubscription;
|
|
44
44
|
caseSubscription;
|
|
45
45
|
parentUrl;
|
|
46
|
-
routerCurrentNavigation;
|
|
47
46
|
constructor(ngZone, casesService, caseNotifier, router, alertService, route, caseReferencePipe, activityPollingService, sessionStorageService) {
|
|
48
47
|
this.ngZone = ngZone;
|
|
49
48
|
this.casesService = casesService;
|
|
@@ -54,7 +53,6 @@ export class CaseEventTriggerComponent {
|
|
|
54
53
|
this.caseReferencePipe = caseReferencePipe;
|
|
55
54
|
this.activityPollingService = activityPollingService;
|
|
56
55
|
this.sessionStorageService = sessionStorageService;
|
|
57
|
-
this.routerCurrentNavigation = this.router.getCurrentNavigation();
|
|
58
56
|
}
|
|
59
57
|
ngOnInit() {
|
|
60
58
|
if (this.route.snapshot.data.case) {
|
|
@@ -133,16 +131,8 @@ export class CaseEventTriggerComponent {
|
|
|
133
131
|
});
|
|
134
132
|
}
|
|
135
133
|
cancel() {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
if (previousUrl.indexOf('#') > -1) {
|
|
139
|
-
const url = previousUrl.split('#')[0];
|
|
140
|
-
const fragment = previousUrl.split('#')[1].replace('%20', ' ');
|
|
141
|
-
return this.router.navigate([url], { fragment: fragment });
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
return this.router.navigate([previousUrl]);
|
|
145
|
-
}
|
|
134
|
+
if (this.router.url && this.router.url.includes('linkCases')) {
|
|
135
|
+
this.router.navigate(['cases', 'case-details', this.caseDetails.case_id], { fragment: 'Linked cases' });
|
|
146
136
|
}
|
|
147
137
|
else {
|
|
148
138
|
return this.router.navigate([this.parentUrl]);
|
|
@@ -163,4 +153,4 @@ export class CaseEventTriggerComponent {
|
|
|
163
153
|
args: [{ selector: 'ccd-case-event-trigger', template: "<div *ngIf=\"isDataLoaded()\" class=\"screen-990\">\n <ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n <ccd-case-edit [caseDetails]=\"caseDetails\"\n [submit]=\"submit()\"\n [validate]=\"validate()\"\n [eventTrigger]=\"eventTrigger\"\n (cancelled)=\"cancel()\"\n (submitted)=\"submitted($event)\"></ccd-case-edit>\n</div>\n" }]
|
|
164
154
|
}], () => [{ type: i0.NgZone }, { type: i1.CasesService }, { type: i1.CaseNotifier }, { type: i2.Router }, { type: i3.AlertService }, { type: i2.ActivatedRoute }, { type: i4.CaseReferencePipe }, { type: i3.ActivityPollingService }, { type: i3.SessionStorageService }], null); })();
|
|
165
155
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEventTriggerComponent, { className: "CaseEventTriggerComponent", filePath: "lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.ts", lineNumber: 14 }); })();
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQWMsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBdUQsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqSSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7OztJQ1AvRCw4QkFBK0M7SUFDN0Msa0NBQW1GO0lBQ25GLHdDQUsrQztJQUFoQyxBQURBLG9NQUFhLGVBQVEsS0FBQyw2TEFDVCx3QkFBaUIsS0FBQztJQUNo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LHdCQUF3Qjs7a0ZBR3ZCLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb24sIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb21tb25zL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBY3Rpdml0eSwgQ2FzZUV2ZW50RGF0YSwgQ2FzZUV2ZW50VHJpZ2dlciwgQ2FzZVZpZXcsIERpc3BsYXlNb2RlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VSZWZlcmVuY2VQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHlQb2xsaW5nU2VydmljZSwgQWxlcnRTZXJ2aWNlLCBFdmVudFN0YXR1c1NlcnZpY2UsIEZpZWxkc1V0aWxzLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIsIENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZXZlbnQtdHJpZ2dlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWV2ZW50LXRyaWdnZXIuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUV2ZW50VHJpZ2dlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFVkVOVF9DT01QTEVUSU9OX01FU1NBR0UgPSBgQ2FzZSAjJUNBU0VSRUZFUkVOQ0UlIGhhcyBiZWVuIHVwZGF0ZWQgd2l0aCBldmVudDogJU5BTUUlYDtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDQUxMQkFDS19GQUlMRURfTUVTU0FHRSA9ICcgYnV0IHRoZSBjYWxsYmFjayBzZXJ2aWNlIGNhbm5vdCBiZSBjb21wbGV0ZWQnO1xuXG4gIHB1YmxpYyBCQU5ORVIgPSBEaXNwbGF5TW9kZS5CQU5ORVI7XG4gIHB1YmxpYyBldmVudFRyaWdnZXI6IENhc2VFdmVudFRyaWdnZXI7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBhY3Rpdml0eVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgY2FzZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgcGFyZW50VXJsOiBzdHJpbmc7XG4gIHB1YmxpYyByb3V0ZXJDdXJyZW50TmF2aWdhdGlvbjogTmF2aWdhdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlUmVmZXJlbmNlUGlwZTogQ2FzZVJlZmVyZW5jZVBpcGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpdml0eVBvbGxpbmdTZXJ2aWNlOiBBY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yb3V0ZXJDdXJyZW50TmF2aWdhdGlvbiA9IHRoaXMucm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlKSB7XG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZU5vdGlmaWVyLmNhc2VWaWV3LnN1YnNjcmliZShjYXNlRGV0YWlscyA9PiB7XG4gICAgICAgIHRoaXMuY2FzZURldGFpbHMgPSBjYXNlRGV0YWlscztcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50VHJpZ2dlciA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5ldmVudFRyaWdnZXI7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gPSB0aGlzLnBvc3RFZGl0QWN0aXZpdHkoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdQb3N0ZWQgRURJVCBhY3Rpdml0eSBhbmQgcmVzdWx0IGlzOiAnICsgSlNPTi5zdHJpbmdpZnkoX3Jlc29sdmVkKSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMucm91dGUucGFyZW50LnVybC5zdWJzY3JpYmUocGF0aCA9PiB7XG4gICAgICB0aGlzLnBhcmVudFVybCA9IGAvJHtwYXRoLmpvaW4oJy8nKX1gO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5U3Vic2NyaXB0aW9uICYmIHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSAmJiB0aGlzLmNhc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwb3N0RWRpdEFjdGl2aXR5KCk6IE9ic2VydmFibGU8QWN0aXZpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5UG9sbGluZ1NlcnZpY2UucG9zdEVkaXRBY3Rpdml0eSh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQpO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdCgpOiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEpID0+IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSkgPT5cbiAgICAgIHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZUV2ZW50KHRoaXMuY2FzZURldGFpbHMsIHNhbml0aXplZEVkaXRGb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZSgpOiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEsIHBhZ2VJZDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEsIHBhZ2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBCeXBhc3MgdmFsaWRhdGlvbiBpZiB0aGUgZXZlbnRUcmlnZ2VyIGNhc2UgZmllbGRzIGNvbnRhaW4gYSBGbGFnTGF1bmNoZXIgZmllbGQ7IHRoaXMgZmllbGQgdHlwZSBjYW5ub3QgYmVcbiAgICAgIC8vIHZhbGlkYXRlZCwgdW5saWtlIHJlZ3VsYXIgZmllbGRzXG4gICAgICByZXR1cm4gdGhpcy5ldmVudFRyaWdnZXI/LmNhc2VfZmllbGRzPy5zb21lKChjYXNlRmllbGQpID0+IEZpZWxkc1V0aWxzLmlzQ2FzZUZpZWxkT2ZUeXBlKGNhc2VGaWVsZCwgWydGbGFnTGF1bmNoZXInXSkpXG4gICAgICAgID8gb2YobnVsbClcbiAgICAgICAgOiB0aGlzLmNhc2VzU2VydmljZS52YWxpZGF0ZUNhc2UodGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuaWQsIHNhbml0aXplZEVkaXRGb3JtLCBwYWdlSWQpO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3VibWl0dGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFN0YXR1czogc3RyaW5nID0gZXZlbnRbJ3N0YXR1cyddO1xuICAgIGNvbnN0IHRhc2tDb21wbGV0aW9uRmFpbGVkID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndGFza0NvbXBsZXRpb25FcnJvcicpID09PSAndHJ1ZSc7XG4gICAgdGhpcy5yb3V0ZXJcbiAgICAgIC5uYXZpZ2F0ZShbdGhpcy5wYXJlbnRVcmxdKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBjYXNlUmVmZXJlbmNlID0gdGhpcy5jYXNlUmVmZXJlbmNlUGlwZS50cmFuc2Zvcm0odGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkLnRvU3RyaW5nKCkpO1xuICAgICAgICBjb25zdCByZXBsYWNlbWVudHMgPSB7IENBU0VSRUZFUkVOQ0U6IGNhc2VSZWZlcmVuY2UsIE5BTUU6IHRoaXMuZXZlbnRUcmlnZ2VyLm5hbWUgfTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2V0UHJlc2VydmVBbGVydHModHJ1ZSk7XG4gICAgICAgIGlmICh0YXNrQ29tcGxldGlvbkZhaWxlZCkge1xuICAgICAgICAgIC8vIGlmIHRhc2sgc3RpbGwgcHJlc2VudCBpbiBzZXNzaW9uIHN0b3JhZ2UsIHdlIGtub3cgdGhhdCB0aGUgdGFzayBoYXMgbm90IGJlZW4gY29ycmVjdGx5IGNvbXBsZXRlZFxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLndhcm5pbmcoe1xuICAgICAgICAgICAgcGhyYXNlOiBDYXNlRXZlbnRUcmlnZ2VyQ29tcG9uZW50LkVWRU5UX0NPTVBMRVRJT05fTUVTU0FHRSArICcuICcgKyBDb25zdGFudHMuVEFTS19DT01QTEVUSU9OX0VSUk9SXG4gICAgICAgICAgICAsIHJlcGxhY2VtZW50c30pO1xuICAgICAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ3Rhc2tDb21wbGV0aW9uRXJyb3InKTtcbiAgICAgICAgfSBlbHNlIGlmIChFdmVudFN0YXR1c1NlcnZpY2UuaXNJbmNvbXBsZXRlKGV2ZW50U3RhdHVzKSkge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLndhcm5pbmcoe1xuICAgICAgICAgICAgcGhyYXNlOiBDYXNlRXZlbnRUcmlnZ2VyQ29tcG9uZW50LkVWRU5UX0NPTVBMRVRJT05fTUVTU0FHRSArIENhc2VFdmVudFRyaWdnZXJDb21wb25lbnQuQ0FMTEJBQ0tfRkFJTEVEX01FU1NBR0UsXG4gICAgICAgICAgICByZXBsYWNlbWVudHNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKHtcbiAgICAgICAgICAgIHBocmFzZTogQ2FzZUV2ZW50VHJpZ2dlckNvbXBvbmVudC5FVkVOVF9DT01QTEVUSU9OX01FU1NBR0UsXG4gICAgICAgICAgICByZXBsYWNlbWVudHMsXG4gICAgICAgICAgICBwcmVzZXJ2ZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcHJldmlvdXNVcmwgPSB0aGlzLnJvdXRlckN1cnJlbnROYXZpZ2F0aW9uPy5wcmV2aW91c05hdmlnYXRpb24/LmZpbmFsVXJsPy50b1N0cmluZygpO1xuICAgIGlmIChwcmV2aW91c1VybCkge1xuICAgICAgaWYgKHByZXZpb3VzVXJsLmluZGV4T2YoJyMnKSA+IC0xKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IHByZXZpb3VzVXJsLnNwbGl0KCcjJylbMF07XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gcHJldmlvdXNVcmwuc3BsaXQoJyMnKVsxXS5yZXBsYWNlKCclMjAnLCAnICcpO1xuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0sIHsgZnJhZ21lbnQ6IGZyYWdtZW50IH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwcmV2aW91c1VybF0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucGFyZW50VXJsXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzRGF0YUxvYWRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5ldmVudFRyaWdnZXIgJiYgdGhpcy5jYXNlRGV0YWlscyk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0RhdGFMb2FkZWQoKVwiIGNsYXNzPVwic2NyZWVuLTk5MFwiPlxuICA8Y2NkLWFjdGl2aXR5IFtjYXNlSWRdPVwiY2FzZURldGFpbHMuY2FzZV9pZFwiIFtkaXNwbGF5TW9kZV09XCJCQU5ORVJcIj48L2NjZC1hY3Rpdml0eT5cbiAgPGNjZC1jYXNlLWVkaXQgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgW3N1Ym1pdF09XCJzdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgIFt2YWxpZGF0ZV09XCJ2YWxpZGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgW2V2ZW50VHJpZ2dlcl09XCJldmVudFRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAoY2FuY2VsbGVkKT1cImNhbmNlbCgpXCJcbiAgICAgICAgICAgICAgICAgKHN1Ym1pdHRlZCk9XCJzdWJtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWNhc2UtZWRpdD5cbjwvZGl2PlxuIl19
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUF1RCxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pJLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztJQ1B2RCw4QkFBK0M7SUFDN0Msa0NBQW1GO0lBQ25GLHdDQUsrQztJQUFoQyxBQURBLG9NQUFhLGVBQVEsS0FBQyw2TEFDVCx3QkFBaUIsS0FBQztJQUNoRCxBQURpRCxpQkFBZ0IsRUFDM0Q7OztJQVBVLGNBQThCO0lBQUMsQUFBL0IsbURBQThCLDhCQUF1QjtJQUNwRCxjQUEyQjtJQUczQixBQURBLEFBREEsQUFEQSxnREFBMkIsMkJBQ1IsK0JBQ0kscUNBQ007O0FEUTlDLE1BQU0sT0FBTyx5QkFBeUI7SUFZakI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbkJaLE1BQU0sQ0FBVSx3QkFBd0IsR0FBRywyREFBMkQsQ0FBQztJQUN2RyxNQUFNLENBQVUsdUJBQXVCLEdBQUcsK0NBQStDLENBQUM7SUFFMUYsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDNUIsWUFBWSxDQUFtQjtJQUMvQixXQUFXLENBQVc7SUFDdEIsb0JBQW9CLENBQWU7SUFDbkMsZ0JBQWdCLENBQWU7SUFDL0IsU0FBUyxDQUFTO0lBRXpCLFlBQ21CLE1BQWMsRUFDZCxZQUEwQixFQUMxQixZQUEwQixFQUMxQixNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsS0FBcUIsRUFDckIsaUJBQW9DLEVBQ3BDLHNCQUE4QyxFQUM5QyxxQkFBNEM7UUFSNUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUUvRCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3pFLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMxRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFFLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ2pFLG1GQUFtRjtnQkFDckYsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sQ0FBQyxpQkFBZ0MsRUFBRSxFQUFFLENBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sQ0FBQyxpQkFBZ0MsRUFBRSxNQUFjLEVBQUUsRUFBRTtZQUMxRCw0R0FBNEc7WUFDNUcsbUNBQW1DO1lBQ25DLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztnQkFDcEgsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7Z0JBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvRixDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQVU7UUFDekIsTUFBTSxXQUFXLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLE1BQU0sQ0FBQztRQUNsRyxJQUFJLENBQUMsTUFBTTthQUNSLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzVGLE1BQU0sWUFBWSxHQUFHLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFDLElBQUksb0JBQW9CLEVBQUUsQ0FBQztnQkFDekIsbUdBQW1HO2dCQUNuRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztvQkFDeEIsTUFBTSxFQUFFLHlCQUF5QixDQUFDLHdCQUF3QixHQUFHLElBQUksR0FBRyxTQUFTLENBQUMscUJBQXFCO29CQUNqRyxZQUFZO2lCQUFDLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQy9ELENBQUM7aUJBQU0sSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7b0JBQ3hCLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyx3QkFBd0IsR0FBRyx5QkFBeUIsQ0FBQyx1QkFBdUI7b0JBQzlHLFlBQVk7aUJBQ2IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO29CQUN4QixNQUFNLEVBQUUseUJBQXlCLENBQUMsd0JBQXdCO29CQUMxRCxZQUFZO29CQUNaLFFBQVEsRUFBRSxJQUFJO2lCQUNmLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7bUZBakhVLHlCQUF5Qjs2REFBekIseUJBQXlCO1lDYnRDLDBFQUErQzs7WUFBekMseUNBQW9COzs7aUZEYWIseUJBQXlCO2NBSnJDLFNBQVM7MkJBQ0Usd0JBQXdCOztrRkFHdkIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdGl2aXR5LCBDYXNlRXZlbnREYXRhLCBDYXNlRXZlbnRUcmlnZ2VyLCBDYXNlVmlldywgRGlzcGxheU1vZGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLCBBbGVydFNlcnZpY2UsIEV2ZW50U3RhdHVzU2VydmljZSwgRmllbGRzVXRpbHMsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9ucy9jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS1ldmVudC10cmlnZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtZXZlbnQtdHJpZ2dlci5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDYXNlRXZlbnRUcmlnZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVWRU5UX0NPTVBMRVRJT05fTUVTU0FHRSA9IGBDYXNlICMlQ0FTRVJFRkVSRU5DRSUgaGFzIGJlZW4gdXBkYXRlZCB3aXRoIGV2ZW50OiAlTkFNRSVgO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENBTExCQUNLX0ZBSUxFRF9NRVNTQUdFID0gJyBidXQgdGhlIGNhbGxiYWNrIHNlcnZpY2UgY2Fubm90IGJlIGNvbXBsZXRlZCc7XG5cbiAgcHVibGljIEJBTk5FUiA9IERpc3BsYXlNb2RlLkJBTk5FUjtcbiAgcHVibGljIGV2ZW50VHJpZ2dlcjogQ2FzZUV2ZW50VHJpZ2dlcjtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGFjdGl2aXR5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBjYXNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBwYXJlbnRVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlUmVmZXJlbmNlUGlwZTogQ2FzZVJlZmVyZW5jZVBpcGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpdml0eVBvbGxpbmdTZXJ2aWNlOiBBY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlKSB7XG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZU5vdGlmaWVyLmNhc2VWaWV3LnN1YnNjcmliZShjYXNlRGV0YWlscyA9PiB7XG4gICAgICAgIHRoaXMuY2FzZURldGFpbHMgPSBjYXNlRGV0YWlscztcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50VHJpZ2dlciA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5ldmVudFRyaWdnZXI7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gPSB0aGlzLnBvc3RFZGl0QWN0aXZpdHkoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdQb3N0ZWQgRURJVCBhY3Rpdml0eSBhbmQgcmVzdWx0IGlzOiAnICsgSlNPTi5zdHJpbmdpZnkoX3Jlc29sdmVkKSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMucm91dGUucGFyZW50LnVybC5zdWJzY3JpYmUocGF0aCA9PiB7XG4gICAgICB0aGlzLnBhcmVudFVybCA9IGAvJHtwYXRoLmpvaW4oJy8nKX1gO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5U3Vic2NyaXB0aW9uICYmIHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5pc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSAmJiB0aGlzLmNhc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwb3N0RWRpdEFjdGl2aXR5KCk6IE9ic2VydmFibGU8QWN0aXZpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5UG9sbGluZ1NlcnZpY2UucG9zdEVkaXRBY3Rpdml0eSh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQpO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdCgpOiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEpID0+IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSkgPT5cbiAgICAgIHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZUV2ZW50KHRoaXMuY2FzZURldGFpbHMsIHNhbml0aXplZEVkaXRGb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZSgpOiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEsIHBhZ2VJZDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEsIHBhZ2VJZDogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBCeXBhc3MgdmFsaWRhdGlvbiBpZiB0aGUgZXZlbnRUcmlnZ2VyIGNhc2UgZmllbGRzIGNvbnRhaW4gYSBGbGFnTGF1bmNoZXIgZmllbGQ7IHRoaXMgZmllbGQgdHlwZSBjYW5ub3QgYmVcbiAgICAgIC8vIHZhbGlkYXRlZCwgdW5saWtlIHJlZ3VsYXIgZmllbGRzXG4gICAgICByZXR1cm4gdGhpcy5ldmVudFRyaWdnZXI/LmNhc2VfZmllbGRzPy5zb21lKChjYXNlRmllbGQpID0+IEZpZWxkc1V0aWxzLmlzQ2FzZUZpZWxkT2ZUeXBlKGNhc2VGaWVsZCwgWydGbGFnTGF1bmNoZXInXSkpXG4gICAgICAgID8gb2YobnVsbClcbiAgICAgICAgOiB0aGlzLmNhc2VzU2VydmljZS52YWxpZGF0ZUNhc2UodGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuaWQsIHNhbml0aXplZEVkaXRGb3JtLCBwYWdlSWQpO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3VibWl0dGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFN0YXR1czogc3RyaW5nID0gZXZlbnRbJ3N0YXR1cyddO1xuICAgIGNvbnN0IHRhc2tDb21wbGV0aW9uRmFpbGVkID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndGFza0NvbXBsZXRpb25FcnJvcicpID09PSAndHJ1ZSc7XG4gICAgdGhpcy5yb3V0ZXJcbiAgICAgIC5uYXZpZ2F0ZShbdGhpcy5wYXJlbnRVcmxdKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBjYXNlUmVmZXJlbmNlID0gdGhpcy5jYXNlUmVmZXJlbmNlUGlwZS50cmFuc2Zvcm0odGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkLnRvU3RyaW5nKCkpO1xuICAgICAgICBjb25zdCByZXBsYWNlbWVudHMgPSB7IENBU0VSRUZFUkVOQ0U6IGNhc2VSZWZlcmVuY2UsIE5BTUU6IHRoaXMuZXZlbnRUcmlnZ2VyLm5hbWUgfTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2V0UHJlc2VydmVBbGVydHModHJ1ZSk7XG4gICAgICAgIGlmICh0YXNrQ29tcGxldGlvbkZhaWxlZCkge1xuICAgICAgICAgIC8vIGlmIHRhc2sgc3RpbGwgcHJlc2VudCBpbiBzZXNzaW9uIHN0b3JhZ2UsIHdlIGtub3cgdGhhdCB0aGUgdGFzayBoYXMgbm90IGJlZW4gY29ycmVjdGx5IGNvbXBsZXRlZFxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLndhcm5pbmcoe1xuICAgICAgICAgICAgcGhyYXNlOiBDYXNlRXZlbnRUcmlnZ2VyQ29tcG9uZW50LkVWRU5UX0NPTVBMRVRJT05fTUVTU0FHRSArICcuICcgKyBDb25zdGFudHMuVEFTS19DT01QTEVUSU9OX0VSUk9SXG4gICAgICAgICAgICAsIHJlcGxhY2VtZW50c30pO1xuICAgICAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ3Rhc2tDb21wbGV0aW9uRXJyb3InKTtcbiAgICAgICAgfSBlbHNlIGlmIChFdmVudFN0YXR1c1NlcnZpY2UuaXNJbmNvbXBsZXRlKGV2ZW50U3RhdHVzKSkge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLndhcm5pbmcoe1xuICAgICAgICAgICAgcGhyYXNlOiBDYXNlRXZlbnRUcmlnZ2VyQ29tcG9uZW50LkVWRU5UX0NPTVBMRVRJT05fTUVTU0FHRSArIENhc2VFdmVudFRyaWdnZXJDb21wb25lbnQuQ0FMTEJBQ0tfRkFJTEVEX01FU1NBR0UsXG4gICAgICAgICAgICByZXBsYWNlbWVudHNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKHtcbiAgICAgICAgICAgIHBocmFzZTogQ2FzZUV2ZW50VHJpZ2dlckNvbXBvbmVudC5FVkVOVF9DT01QTEVUSU9OX01FU1NBR0UsXG4gICAgICAgICAgICByZXBsYWNlbWVudHMsXG4gICAgICAgICAgICBwcmVzZXJ2ZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMucm91dGVyLnVybCAmJiB0aGlzLnJvdXRlci51cmwuaW5jbHVkZXMoJ2xpbmtDYXNlcycpKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2Nhc2VzJywgJ2Nhc2UtZGV0YWlscycsIHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZF0sIHsgZnJhZ21lbnQ6ICdMaW5rZWQgY2FzZXMnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucGFyZW50VXJsXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzRGF0YUxvYWRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5ldmVudFRyaWdnZXIgJiYgdGhpcy5jYXNlRGV0YWlscyk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0RhdGFMb2FkZWQoKVwiIGNsYXNzPVwic2NyZWVuLTk5MFwiPlxuICA8Y2NkLWFjdGl2aXR5IFtjYXNlSWRdPVwiY2FzZURldGFpbHMuY2FzZV9pZFwiIFtkaXNwbGF5TW9kZV09XCJCQU5ORVJcIj48L2NjZC1hY3Rpdml0eT5cbiAgPGNjZC1jYXNlLWVkaXQgW2Nhc2VEZXRhaWxzXT1cImNhc2VEZXRhaWxzXCJcbiAgICAgICAgICAgICAgICAgW3N1Ym1pdF09XCJzdWJtaXQoKVwiXG4gICAgICAgICAgICAgICAgIFt2YWxpZGF0ZV09XCJ2YWxpZGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgW2V2ZW50VHJpZ2dlcl09XCJldmVudFRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAoY2FuY2VsbGVkKT1cImNhbmNlbCgpXCJcbiAgICAgICAgICAgICAgICAgKHN1Ym1pdHRlZCk9XCJzdWJtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWNhc2UtZWRpdD5cbjwvZGl2PlxuIl19
|
|
@@ -43,6 +43,7 @@ export class CaseSpecificAccessRequestComponent {
|
|
|
43
43
|
$roleAssignmentResponseSubscription;
|
|
44
44
|
genericError = 'There is a problem';
|
|
45
45
|
specificReasonControlName = 'specificReason';
|
|
46
|
+
getSpecificAccessError = false;
|
|
46
47
|
constructor(fb, router, casesService, route, caseNotifier) {
|
|
47
48
|
this.fb = fb;
|
|
48
49
|
this.router = router;
|
|
@@ -97,9 +98,15 @@ export class CaseSpecificAccessRequestComponent {
|
|
|
97
98
|
.subscribe(() => {
|
|
98
99
|
// Would have been nice to pass the caseId within state.data, but this isn't part of NavigationExtras until
|
|
99
100
|
// Angular 7.2
|
|
101
|
+
this.getSpecificAccessError = false;
|
|
100
102
|
this.router.navigate(['success'], { relativeTo: this.route });
|
|
101
103
|
}, () => {
|
|
102
|
-
//
|
|
104
|
+
// Show the generic error message
|
|
105
|
+
this.getSpecificAccessError = true;
|
|
106
|
+
this.errorMessage = {
|
|
107
|
+
title: this.genericError,
|
|
108
|
+
description: 'Sorry, there is a problem with the service; Try again later.'
|
|
109
|
+
};
|
|
103
110
|
});
|
|
104
111
|
}
|
|
105
112
|
}
|
|
@@ -116,7 +123,7 @@ export class CaseSpecificAccessRequestComponent {
|
|
|
116
123
|
return input.value === null || input.value.trim().length === 0;
|
|
117
124
|
}
|
|
118
125
|
static ɵfac = function CaseSpecificAccessRequestComponent_Factory(t) { return new (t || CaseSpecificAccessRequestComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.CasesService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i3.CaseNotifier)); };
|
|
119
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseSpecificAccessRequestComponent, selectors: [["ccd-case-specific-access-request"]], decls: 50, vars: 42, consts: [[3, "error", 4, "ngIf"], ["type", "information"], [3, "submit", "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "reason-hint", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "govuk-fieldset__heading"], ["data-module", "govuk-details", "role", "group", 1, "govuk-details"], ["
|
|
126
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseSpecificAccessRequestComponent, selectors: [["ccd-case-specific-access-request"]], decls: 50, vars: 42, consts: [[3, "error", 4, "ngIf"], ["type", "information"], [3, "submit", "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "reason-hint", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "govuk-fieldset__heading"], ["data-module", "govuk-details", "role", "group", 1, "govuk-details"], ["aria-expanded", "false", 1, "govuk-details__summary"], [1, "govuk-details__summary-text"], ["aria-hidden", "true", 1, "govuk-details__text"], [1, "govuk-body"], [1, "govuk-list", "govuk-list--bullet"], ["id", "reason-hint", 1, "govuk-hint"], ["id", "conditional-reason-3"], [1, "govuk-form-group"], ["id", "specific-reason-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "specific-reason", "name", "specific-reason", "rows", "8", "formControlName", "specificReason", 1, "govuk-textarea", 3, "ngClass"], [1, "govuk-button-group"], ["type", "submit", 1, "govuk-button", "govuk-!-margin-right-3"], [1, "govuk-grid-column-full", "govuk-!-padding-left-0"], ["href", "javascript:void(0)", 1, "govuk-body", 3, "click"], [3, "error"], ["id", "specific-reason-error-message", 1, "govuk-error-message"]], template: function CaseSpecificAccessRequestComponent_Template(rf, ctx) { if (rf & 1) {
|
|
120
127
|
i0.ɵɵtemplate(0, CaseSpecificAccessRequestComponent_exui_error_message_0_Template, 1, 1, "exui-error-message", 0);
|
|
121
128
|
i0.ɵɵelementStart(1, "cut-alert", 1);
|
|
122
129
|
i0.ɵɵtext(2);
|
|
@@ -170,7 +177,7 @@ export class CaseSpecificAccessRequestComponent {
|
|
|
170
177
|
i0.ɵɵpipe(49, "rpxTranslate");
|
|
171
178
|
i0.ɵɵelementEnd()()()()();
|
|
172
179
|
} if (rf & 2) {
|
|
173
|
-
i0.ɵɵproperty("ngIf", ctx.formGroup.invalid && ctx.submitted);
|
|
180
|
+
i0.ɵɵproperty("ngIf", ctx.formGroup.invalid && ctx.submitted || ctx.getSpecificAccessError);
|
|
174
181
|
i0.ɵɵadvance(2);
|
|
175
182
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 16, "Authorisation is needed to access this case."), "");
|
|
176
183
|
i0.ɵɵadvance(3);
|
|
@@ -205,7 +212,7 @@ export class CaseSpecificAccessRequestComponent {
|
|
|
205
212
|
}
|
|
206
213
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseSpecificAccessRequestComponent, [{
|
|
207
214
|
type: Component,
|
|
208
|
-
args: [{ selector: 'ccd-case-specific-access-request', template: "<exui-error-message\n *ngIf=\"formGroup.invalid && submitted\"\n [error]=\"errorMessage\"></exui-error-message>\n<cut-alert type=\"information\">\n {{'Authorisation is needed to access this case.' | rpxTranslate}}<br />\n {{'This could be because it\\'s outside your jurisdiction, or you may be excluded from the case. If you request access to this case, it will be logged for auditing purposes.' | rpxTranslate}}\n</cut-alert>\n<form [formGroup]=\"formGroup\" (submit)=\"onSubmit()\">\n <div class=\"govuk-form-group\"\n [ngClass]=\"{ 'form-group-error': formGroup.invalid && submitted }\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"reason-hint\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"govuk-fieldset__heading\">\n {{ title | rpxTranslate }}\n </h1>\n </legend>\n\n <details class=\"govuk-details\" data-module=\"govuk-details\" role=\"group\">\n <summary\n class=\"govuk-details__summary\"\n
|
|
215
|
+
args: [{ selector: 'ccd-case-specific-access-request', template: "<exui-error-message\n *ngIf=\"(formGroup.invalid && submitted) || getSpecificAccessError\"\n [error]=\"errorMessage\"></exui-error-message>\n<cut-alert type=\"information\">\n {{'Authorisation is needed to access this case.' | rpxTranslate}}<br />\n {{'This could be because it\\'s outside your jurisdiction, or you may be excluded from the case. If you request access to this case, it will be logged for auditing purposes.' | rpxTranslate}}\n</cut-alert>\n<form [formGroup]=\"formGroup\" (submit)=\"onSubmit()\">\n <div class=\"govuk-form-group\"\n [ngClass]=\"{ 'form-group-error': formGroup.invalid && submitted }\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"reason-hint\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"govuk-fieldset__heading\">\n {{ title | rpxTranslate }}\n </h1>\n </legend>\n\n <details class=\"govuk-details\" data-module=\"govuk-details\" role=\"group\">\n <summary\n class=\"govuk-details__summary\"\n aria-expanded=\"false\">\n <span class=\"govuk-details__summary-text\">\n {{'Help with requesting case access' | rpxTranslate}}\n </span>\n </summary>\n <div\n class=\"govuk-details__text\"\n aria-hidden=\"true\">\n <p class=\"govuk-body\">{{'You could include:' | rpxTranslate}}</p>\n <ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'the case reference of the linked case' | rpxTranslate}}</li>\n <li>{{'how long you require access to this case' | rpxTranslate}}</li>\n <li>{{'any other reasons why you require access' | rpxTranslate}}</li>\n </ul>\n </div>\n </details>\n\n <div id=\"reason-hint\" class=\"govuk-hint\">\n {{ hint | rpxTranslate }}\n </div>\n <div id=\"conditional-reason-3\">\n <div class=\"govuk-form-group\">\n <div\n id=\"specific-reason-error-message\"\n class=\"govuk-error-message\"\n *ngIf=\"formGroup.get('specificReason').invalid && submitted\">\n {{ errorMessage.description | rpxTranslate }}\n </div>\n <textarea\n class=\"govuk-textarea\"\n [ngClass]=\"{\n 'govuk-textarea--error':\n formGroup.get('specificReason').invalid && submitted\n }\"\n id=\"specific-reason\"\n name=\"specific-reason\"\n rows=\"8\"\n formControlName=\"specificReason\">\n </textarea>\n </div>\n </div>\n </fieldset>\n </div>\n\n <div class=\"govuk-button-group\">\n <button class=\"govuk-button govuk-!-margin-right-3\" type=\"submit\">\n {{'Submit' | rpxTranslate}}\n </button>\n <div class=\"govuk-grid-column-full govuk-!-padding-left-0\">\n <p>\n <a class=\"govuk-body\" (click)=\"onCancel()\" href=\"javascript:void(0)\">\n {{'Cancel' | rpxTranslate}}\n </a>\n </p>\n </div>\n </div>\n</form>\n" }]
|
|
209
216
|
}], () => [{ type: i1.FormBuilder }, { type: i2.Router }, { type: i3.CasesService }, { type: i2.ActivatedRoute }, { type: i3.CaseNotifier }], null); })();
|
|
210
217
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseSpecificAccessRequestComponent, { className: "CaseSpecificAccessRequestComponent", filePath: "lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.ts", lineNumber: 22 }); })();
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS12aWV3ZXIvY2FzZS1zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC9jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0L2Nhc2Utc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLFdBQVcsRUFDWCxXQUFXLEVBRVosTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzlCLE1BQU0sVUFBVSxDQUFDOzs7Ozs7OztJQ2ZsQix5Q0FFOEM7OztJQUE1QywyQ0FBc0I7OztJQXlDZCwrQkFHK0Q7SUFDN0QsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosY0FDRjtJQURFLHNGQUNGOztBRDNCVixNQUFNLE9BQU8sa0NBQWtDO0lBZTFCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFsQlosTUFBTSxDQUFDLHVCQUF1QixHQUFHLG9CQUFvQixDQUFDO0lBQ3RELFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsS0FBSyxDQUFTO0lBQ2QsSUFBSSxDQUFTO0lBQ2IsWUFBWSxDQUFTO0lBQ3JCLFNBQVMsQ0FBWTtJQUNyQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLFlBQVksQ0FBZTtJQUMzQixtQ0FBbUMsQ0FBZTtJQUV4QyxZQUFZLEdBQUcsb0JBQW9CLENBQUM7SUFDcEMseUJBQXlCLEdBQUcsZ0JBQWdCLENBQUM7SUFFOUQsWUFDbUIsRUFBZSxFQUNmLE1BQWMsRUFDZCxZQUEwQixFQUMxQixLQUFxQixFQUNyQixZQUEwQjtRQUoxQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ3pDLENBQUM7SUFFRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUksR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLFlBQVksR0FBRyw2QkFBNkIsQ0FBQyxRQUFRLENBQUM7UUFDM0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUM3QixhQUFhLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztTQUMzQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FDdkIsSUFBSSxDQUFDLHlCQUF5QixFQUM5QixJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDbEIsVUFBVSxFQUFFO2dCQUNWLENBQUMsT0FBd0IsRUFBcUMsRUFBRTtvQkFDOUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7d0JBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQzNCLENBQUM7b0JBQ0QsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQzthQUNGO1lBQ0QsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGtHQUFrRztRQUNsRyxvSEFBb0g7UUFDcEgsMEdBQTBHO1FBQzFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLFlBQVksR0FBRztnQkFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN4QixXQUFXLEVBQUUsMkJBQTJCLENBQUMsU0FBUztnQkFDbEQsT0FBTyxFQUFFLGlCQUFpQjthQUMzQixDQUFDO1FBQ0osQ0FBQztRQUVELG1DQUFtQztRQUNuQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsb0dBQW9HO1lBQ3BHLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDOUMsTUFBTSxxQkFBcUIsR0FBRztnQkFDNUIsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLEtBQUs7YUFDaEQsQ0FBQztZQUUzQixJQUFJLENBQUMsbUNBQW1DLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUM7aUJBQ3BILElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztpQkFDaEUsU0FBUyxDQUNSLEdBQUcsRUFBRTtnQkFDSCwyR0FBMkc7Z0JBQzNHLGNBQWM7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNoRSxDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNILHlCQUF5QjtZQUMzQixDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLHFHQUFxRztRQUNyRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQ0FBa0MsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLG1DQUFtQyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQXNCO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7NEZBcEdVLGtDQUFrQzs2REFBbEMsa0NBQWtDO1lDckIvQyxpSEFFeUI7WUFDekIsb0NBQThCO1lBQzVCLFlBQWlFOztZQUFBLHFCQUFNO1lBQ3ZFLFlBQ0Y7O1lBQUEsaUJBQVk7WUFDWiwrQkFBb0Q7WUFBdEIsK0dBQVUsY0FBVSxJQUFDO1lBSzNDLEFBREYsQUFERixBQUZGLDhCQUNxRSxrQkFDSCxpQkFDRyxhQUMzQjtZQUNsQyxhQUNGOztZQUNGLEFBREUsaUJBQUssRUFDRTtZQU9MLEFBSkYsQUFERixtQ0FBd0Usa0JBSTlDLGVBQ29CO1lBQ3hDLGFBQ0Y7O1lBQ0YsQUFERSxpQkFBTyxFQUNDO1lBSVIsQUFIRixnQ0FFcUIsYUFDRztZQUFBLGFBQXVDOztZQUFBLGlCQUFJO1lBRS9ELEFBREYsK0JBQTBDLFVBQ3BDO1lBQUEsYUFBMEQ7O1lBQUEsaUJBQUs7WUFDbkUsMkJBQUk7WUFBQSxhQUE2RDs7WUFBQSxpQkFBSztZQUN0RSwyQkFBSTtZQUFBLGFBQTZEOztZQUd2RSxBQURFLEFBREUsQUFEbUUsaUJBQUssRUFDbkUsRUFDRCxFQUNFO1lBRVYsZ0NBQXlDO1lBQ3ZDLGFBQ0Y7O1lBQUEsaUJBQU07WUFFSixBQURGLGdDQUErQixlQUNDO1lBQzVCLHNGQUcrRDtZQUcvRCxxQ0FTbUM7WUFDbkMsMkJBQUE7WUFJUixBQURFLEFBREUsQUFERSxBQURFLGlCQUFXLEVBQ1AsRUFDRixFQUNHLEVBQ1A7WUFHSixBQURGLGdDQUFnQyxrQkFDb0M7WUFDaEUsYUFDRjs7WUFBQSxpQkFBUztZQUdMLEFBREYsQUFERixnQ0FBMkQsU0FDdEQsYUFDb0U7WUFBL0MsMkdBQVMsY0FBVSxJQUFDO1lBQ3hDLGFBQ0Y7O1lBSVIsQUFERSxBQURFLEFBREUsQUFERSxpQkFBSSxFQUNGLEVBQ0EsRUFDRixFQUNEOztZQTVFSiw2REFBb0M7WUFHckMsZUFBaUU7WUFBakUscUdBQWlFO1lBQ2pFLGVBQ0Y7WUFERSxtT0FDRjtZQUNNLGVBQXVCO1lBQXZCLHlDQUF1QjtZQUV6QixjQUFrRTtZQUFsRSw2RkFBa0U7WUFJNUQsZUFDRjtZQURFLGtFQUNGO1lBU0ksZUFDRjtZQURFLDJGQUNGO1lBS3NCLGVBQXVDO1lBQXZDLGtFQUF1QztZQUV2RCxlQUEwRDtZQUExRCxxRkFBMEQ7WUFDMUQsZUFBNkQ7WUFBN0Qsd0ZBQTZEO1lBQzdELGVBQTZEO1lBQTdELHdGQUE2RDtZQU1yRSxlQUNGO1lBREUsaUVBQ0Y7WUFNTyxlQUEwRDtZQUExRCxtRkFBMEQ7WUFLM0QsY0FHRTtZQUhGLG1IQUdFO1lBYVIsZUFDRjtZQURFLGlFQUNGO1lBSU0sZUFDRjtZQURFLGlFQUNGOzs7aUZEcERLLGtDQUFrQztjQUo5QyxTQUFTOzJCQUNFLGtDQUFrQzs7a0ZBR2pDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXBcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSwgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuaW1wb3J0IHtcbiAgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0RXJyb3JzLFxuICBTcGVjaWZpY0FjY2Vzc1JlcXVlc3RQYWdlVGV4dFxufSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2Utc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgc3RhdGljIENBTkNFTF9MSU5LX0RFU1RJTkFUSU9OID0gJy93b3JrL215LXdvcmsvbGlzdCc7XG4gIHB1YmxpYyBjb2xsYXBzZWQgPSBmYWxzZTtcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVmTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2U6IEVycm9yTWVzc2FnZTtcbiAgcHVibGljICRyb2xlQXNzaWdubWVudFJlc3BvbnNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnZW5lcmljRXJyb3IgPSAnVGhlcmUgaXMgYSBwcm9ibGVtJztcbiAgcHJpdmF0ZSByZWFkb25seSBzcGVjaWZpY1JlYXNvbkNvbnRyb2xOYW1lID0gJ3NwZWNpZmljUmVhc29uJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllclxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlID0gU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0UGFnZVRleHQuVElUTEU7XG4gICAgdGhpcy5oaW50ID0gU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0UGFnZVRleHQuSElOVDtcbiAgICB0aGlzLmNhc2VSZWZMYWJlbCA9IFNwZWNpZmljQWNjZXNzUmVxdWVzdFBhZ2VUZXh0LkNBU0VfUkVGO1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICByYWRpb1NlbGVjdGVkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgbnVsbCksXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgdGhpcy5zcGVjaWZpY1JlYXNvbkNvbnRyb2xOYW1lLFxuICAgICAgbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtcbiAgICAgICAgICAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RW1wdHkoY29udHJvbCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZDogdHJ1ZSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdXBkYXRlT246ICdzdWJtaXQnLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgLy8gQ2xlYXIgdGhlIFwic3BlY2lmaWMgcmVhc29uXCIgZmllbGRzIG1hbnVhbGx5LiBUaGlzIHByZXZlbnRzIGFueSBwcmV2aW91cyB2YWx1ZSBiZWluZyByZXRhaW5lZCBieVxuICAgIC8vIHRoZSBmaWVsZCdzIEZvcm1Db250cm9sIHdoZW4gdGhlIGZpZWxkIGl0c2VsZiBpcyByZW1vdmVkIGZyb20gdGhlIERPTSBieSAqbmdJZi4gKElmIGl0IGlzIHN1YnNlcXVlbnRseSBhZGRlZCBiYWNrXG4gICAgLy8gdG8gdGhlIERPTSBieSAqbmdJZiwgaXQgd2lsbCBhcHBlYXIgZW1wdHkgYnV0IHRoZSBhc3NvY2lhdGVkIEZvcm1Db250cm9sIHN0aWxsIGhhcyB0aGUgcHJldmlvdXMgdmFsdWUuKVxuICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLmludmFsaWQpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0ge1xuICAgICAgICB0aXRsZTogdGhpcy5nZW5lcmljRXJyb3IsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBTcGVjaWZpY0FjY2Vzc1JlcXVlc3RFcnJvcnMuTk9fUkVBU09OLFxuICAgICAgICBmaWVsZElkOiAnc3BlY2lmaWMtcmVhc29uJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhdGUgU3BlY2lmaWMgQWNjZXNzIFJlcXVlc3RcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIC8vIEdldCB0aGUgQ2FzZSBSZWZlcmVuY2UgKGZvciB3aGljaCBhY2Nlc3MgaXMgYmVpbmcgcmVxdWVzdGVkKSBmcm9tIHRoZSBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IGRhdGFcbiAgICAgIGNvbnN0IGNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmNpZDtcbiAgICAgIGNvbnN0IHNwZWNpZmljQWNjZXNzUmVxdWVzdCA9IHtcbiAgICAgICAgc3BlY2lmaWNSZWFzb246IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLnZhbHVlXG4gICAgICB9IGFzIFNwZWNpZmljQWNjZXNzUmVxdWVzdDtcblxuICAgICAgdGhpcy4kcm9sZUFzc2lnbm1lbnRSZXNwb25zZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZVNwZWNpZmljQWNjZXNzUmVxdWVzdChjYXNlSWQsIHNwZWNpZmljQWNjZXNzUmVxdWVzdClcbiAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FzZU5vdGlmaWVyLmZldGNoQW5kUmVmcmVzaChjYXNlSWQpKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAvLyBXb3VsZCBoYXZlIGJlZW4gbmljZSB0byBwYXNzIHRoZSBjYXNlSWQgd2l0aGluIHN0YXRlLmRhdGEsIGJ1dCB0aGlzIGlzbid0IHBhcnQgb2YgTmF2aWdhdGlvbkV4dHJhcyB1bnRpbFxuICAgICAgICAgICAgLy8gQW5ndWxhciA3LjJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnc3VjY2VzcyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAvLyBOYXZpZ2F0ZSB0byBlcnJvciBwYWdlXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICAvLyBOYXZpZ2F0ZSB0byB0aGUgcGFnZSBiZWZvcmUgcHJldmlvdXMgb25lIChzaG91bGQgYmUgU2VhcmNoIFJlc3VsdHMgb3IgQ2FzZSBMaXN0IHBhZ2UsIGZvciBleGFtcGxlKVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoQ2FzZVNwZWNpZmljQWNjZXNzUmVxdWVzdENvbXBvbmVudC5DQU5DRUxfTElOS19ERVNUSU5BVElPTik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuJHJvbGVBc3NpZ25tZW50UmVzcG9uc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuJHJvbGVBc3NpZ25tZW50UmVzcG9uc2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlucHV0RW1wdHkoaW5wdXQ6IEFic3RyYWN0Q29udHJvbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbnB1dC52YWx1ZSA9PT0gbnVsbCB8fCBpbnB1dC52YWx1ZS50cmltKCkubGVuZ3RoID09PSAwO1xuICB9XG59XG4iLCI8ZXh1aS1lcnJvci1tZXNzYWdlXG4gICpuZ0lmPVwiZm9ybUdyb3VwLmludmFsaWQgJiYgc3VibWl0dGVkXCJcbiAgW2Vycm9yXT1cImVycm9yTWVzc2FnZVwiPjwvZXh1aS1lcnJvci1tZXNzYWdlPlxuPGN1dC1hbGVydCB0eXBlPVwiaW5mb3JtYXRpb25cIj5cbiAge3snQXV0aG9yaXNhdGlvbiBpcyBuZWVkZWQgdG8gYWNjZXNzIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX08YnIgLz5cbiAge3snVGhpcyBjb3VsZCBiZSBiZWNhdXNlIGl0XFwncyBvdXRzaWRlIHlvdXIganVyaXNkaWN0aW9uLCBvciB5b3UgbWF5IGJlIGV4Y2x1ZGVkIGZyb20gdGhlIGNhc2UuIElmIHlvdSByZXF1ZXN0IGFjY2VzcyB0byB0aGlzIGNhc2UsIGl0IHdpbGwgYmUgbG9nZ2VkIGZvciBhdWRpdGluZyBwdXJwb3Nlcy4nIHwgcnB4VHJhbnNsYXRlfX1cbjwvY3V0LWFsZXJ0PlxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAoc3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2Zvcm0tZ3JvdXAtZXJyb3InOiBmb3JtR3JvdXAuaW52YWxpZCAmJiBzdWJtaXR0ZWQgfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cInJlYXNvbi1oaW50XCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3sgdGl0bGUgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuXG4gICAgICA8ZGV0YWlscyBjbGFzcz1cImdvdnVrLWRldGFpbHNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWRldGFpbHNcIiByb2xlPVwiZ3JvdXBcIj5cbiAgICAgICAgPHN1bW1hcnlcbiAgICAgICAgICBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnlcIlxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0XCI+XG4gICAgICAgICAgICB7eydIZWxwIHdpdGggcmVxdWVzdGluZyBjYXNlIGFjY2VzcycgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zdW1tYXJ5PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX190ZXh0XCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydZb3UgY291bGQgaW5jbHVkZTonIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgICAgICAgICAgIDxsaT57eyd0aGUgY2FzZSByZWZlcmVuY2Ugb2YgdGhlIGxpbmtlZCBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICAgIDxsaT57eydob3cgbG9uZyB5b3UgcmVxdWlyZSBhY2Nlc3MgdG8gdGhpcyBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICAgIDxsaT57eydhbnkgb3RoZXIgcmVhc29ucyB3aHkgeW91IHJlcXVpcmUgYWNjZXNzJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGV0YWlscz5cblxuICAgICAgPGRpdiBpZD1cInJlYXNvbi1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgIHt7IGhpbnQgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cImNvbmRpdGlvbmFsLXJlYXNvbi0zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJzcGVjaWZpYy1yZWFzb24tZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtR3JvdXAuZ2V0KCdzcGVjaWZpY1JlYXNvbicpLmludmFsaWQgJiYgc3VibWl0dGVkXCI+XG4gICAgICAgICAgICB7eyBlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb24gfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnZ292dWstdGV4dGFyZWEtLWVycm9yJzpcbiAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdzcGVjaWZpY1JlYXNvbicpLmludmFsaWQgJiYgc3VibWl0dGVkXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIGlkPVwic3BlY2lmaWMtcmVhc29uXCJcbiAgICAgICAgICAgIG5hbWU9XCJzcGVjaWZpYy1yZWFzb25cIlxuICAgICAgICAgICAgcm93cz1cIjhcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3BlY2lmaWNSZWFzb25cIj5cbiAgICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTNcIiB0eXBlPVwic3VibWl0XCI+XG4gICAgICB7eydTdWJtaXQnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbCBnb3Z1ay0hLXBhZGRpbmctbGVmdC0wXCI+XG4gICAgICA8cD5cbiAgICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1ib2R5XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+XG4gICAgICAgICAge3snQ2FuY2VsJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS12aWV3ZXIvY2FzZS1zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC9jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0L2Nhc2Utc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLFdBQVcsRUFDWCxXQUFXLEVBRVosTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzlCLE1BQU0sVUFBVSxDQUFDOzs7Ozs7OztJQ2ZsQix5Q0FFOEM7OztJQUE1QywyQ0FBc0I7OztJQXdDZCwrQkFHK0Q7SUFDN0QsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosY0FDRjtJQURFLHNGQUNGOztBRDFCVixNQUFNLE9BQU8sa0NBQWtDO0lBZ0IxQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbkJaLE1BQU0sQ0FBQyx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQztJQUN0RCxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLEtBQUssQ0FBUztJQUNkLElBQUksQ0FBUztJQUNiLFlBQVksQ0FBUztJQUNyQixTQUFTLENBQVk7SUFDckIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixZQUFZLENBQWU7SUFDM0IsbUNBQW1DLENBQWU7SUFFeEMsWUFBWSxHQUFHLG9CQUFvQixDQUFDO0lBQ3BDLHlCQUF5QixHQUFHLGdCQUFnQixDQUFDO0lBQ3ZELHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUV0QyxZQUNtQixFQUFlLEVBQ2YsTUFBYyxFQUNkLFlBQTBCLEVBQzFCLEtBQXFCLEVBQ3JCLFlBQTBCO1FBSjFCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDekMsQ0FBQztJQUVFLFFBQVE7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLDZCQUE2QixDQUFDLEtBQUssQ0FBQztRQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLDZCQUE2QixDQUFDLElBQUksQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWSxHQUFHLDZCQUE2QixDQUFDLFFBQVEsQ0FBQztRQUMzRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzdCLGFBQWEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1NBQzNDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUN2QixJQUFJLENBQUMseUJBQXlCLEVBQzlCLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUNsQixVQUFVLEVBQUU7Z0JBQ1YsQ0FBQyxPQUF3QixFQUFxQyxFQUFFO29CQUM5RCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzt3QkFDN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDM0IsQ0FBQztvQkFDRCxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO2FBQ0Y7WUFDRCxRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsa0dBQWtHO1FBQ2xHLG9IQUFvSDtRQUNwSCwwR0FBMEc7UUFDMUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQ3hCLFdBQVcsRUFBRSwyQkFBMkIsQ0FBQyxTQUFTO2dCQUNsRCxPQUFPLEVBQUUsaUJBQWlCO2FBQzNCLENBQUM7UUFDSixDQUFDO1FBRUQsbUNBQW1DO1FBQ25DLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixvR0FBb0c7WUFDcEcsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUM5QyxNQUFNLHFCQUFxQixHQUFHO2dCQUM1QixjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUMsS0FBSzthQUNoRCxDQUFDO1lBRTNCLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztpQkFDcEgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUNoRSxTQUFTLENBQ1IsR0FBRyxFQUFFO2dCQUNILDJHQUEyRztnQkFDM0csY0FBYztnQkFDZCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsRUFDRCxHQUFHLEVBQUU7Z0JBQ0gsaUNBQWlDO2dCQUNqQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHO29CQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7b0JBQ3hCLFdBQVcsRUFBRSw4REFBOEQ7aUJBQzVFLENBQUM7WUFDSixDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLHFHQUFxRztRQUNyRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQ0FBa0MsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLG1DQUFtQyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQXNCO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7NEZBM0dVLGtDQUFrQzs2REFBbEMsa0NBQWtDO1lDckIvQyxpSEFFeUI7WUFDekIsb0NBQThCO1lBQzVCLFlBQWlFOztZQUFBLHFCQUFNO1lBQ3ZFLFlBQ0Y7O1lBQUEsaUJBQVk7WUFDWiwrQkFBb0Q7WUFBdEIsK0dBQVUsY0FBVSxJQUFDO1lBSzNDLEFBREYsQUFERixBQUZGLDhCQUNxRSxrQkFDSCxpQkFDRyxhQUMzQjtZQUNsQyxhQUNGOztZQUNGLEFBREUsaUJBQUssRUFDRTtZQU1MLEFBSEYsQUFERixtQ0FBd0Usa0JBRzlDLGVBQ29CO1lBQ3hDLGFBQ0Y7O1lBQ0YsQUFERSxpQkFBTyxFQUNDO1lBSVIsQUFIRixnQ0FFcUIsYUFDRztZQUFBLGFBQXVDOztZQUFBLGlCQUFJO1lBRS9ELEFBREYsK0JBQTBDLFVBQ3BDO1lBQUEsYUFBMEQ7O1lBQUEsaUJBQUs7WUFDbkUsMkJBQUk7WUFBQSxhQUE2RDs7WUFBQSxpQkFBSztZQUN0RSwyQkFBSTtZQUFBLGFBQTZEOztZQUd2RSxBQURFLEFBREUsQUFEbUUsaUJBQUssRUFDbkUsRUFDRCxFQUNFO1lBRVYsZ0NBQXlDO1lBQ3ZDLGFBQ0Y7O1lBQUEsaUJBQU07WUFFSixBQURGLGdDQUErQixlQUNDO1lBQzVCLHNGQUcrRDtZQUcvRCxxQ0FTbUM7WUFDbkMsMkJBQUE7WUFJUixBQURFLEFBREUsQUFERSxBQURFLGlCQUFXLEVBQ1AsRUFDRixFQUNHLEVBQ1A7WUFHSixBQURGLGdDQUFnQyxrQkFDb0M7WUFDaEUsYUFDRjs7WUFBQSxpQkFBUztZQUdMLEFBREYsQUFERixnQ0FBMkQsU0FDdEQsYUFDb0U7WUFBL0MsMkdBQVMsY0FBVSxJQUFDO1lBQ3hDLGFBQ0Y7O1lBSVIsQUFERSxBQURFLEFBREUsQUFERSxpQkFBSSxFQUNGLEVBQ0EsRUFDRixFQUNEOztZQTNFSiwyRkFBZ0U7WUFHakUsZUFBaUU7WUFBakUscUdBQWlFO1lBQ2pFLGVBQ0Y7WUFERSxtT0FDRjtZQUNNLGVBQXVCO1lBQXZCLHlDQUF1QjtZQUV6QixjQUFrRTtZQUFsRSw2RkFBa0U7WUFJNUQsZUFDRjtZQURFLGtFQUNGO1lBUUksZUFDRjtZQURFLDJGQUNGO1lBS3NCLGVBQXVDO1lBQXZDLGtFQUF1QztZQUV2RCxlQUEwRDtZQUExRCxxRkFBMEQ7WUFDMUQsZUFBNkQ7WUFBN0Qsd0ZBQTZEO1lBQzdELGVBQTZEO1lBQTdELHdGQUE2RDtZQU1yRSxlQUNGO1lBREUsaUVBQ0Y7WUFNTyxlQUEwRDtZQUExRCxtRkFBMEQ7WUFLM0QsY0FHRTtZQUhGLG1IQUdFO1lBYVIsZUFDRjtZQURFLGlFQUNGO1lBSU0sZUFDRjtZQURFLGlFQUNGOzs7aUZEbkRLLGtDQUFrQztjQUo5QyxTQUFTOzJCQUNFLGtDQUFrQzs7a0ZBR2pDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXBcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSwgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuaW1wb3J0IHtcbiAgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0RXJyb3JzLFxuICBTcGVjaWZpY0FjY2Vzc1JlcXVlc3RQYWdlVGV4dFxufSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2Utc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgc3RhdGljIENBTkNFTF9MSU5LX0RFU1RJTkFUSU9OID0gJy93b3JrL215LXdvcmsvbGlzdCc7XG4gIHB1YmxpYyBjb2xsYXBzZWQgPSBmYWxzZTtcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVmTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2U6IEVycm9yTWVzc2FnZTtcbiAgcHVibGljICRyb2xlQXNzaWdubWVudFJlc3BvbnNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnZW5lcmljRXJyb3IgPSAnVGhlcmUgaXMgYSBwcm9ibGVtJztcbiAgcHJpdmF0ZSByZWFkb25seSBzcGVjaWZpY1JlYXNvbkNvbnRyb2xOYW1lID0gJ3NwZWNpZmljUmVhc29uJztcbiAgcHVibGljIGdldFNwZWNpZmljQWNjZXNzRXJyb3IgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllclxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlID0gU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0UGFnZVRleHQuVElUTEU7XG4gICAgdGhpcy5oaW50ID0gU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0UGFnZVRleHQuSElOVDtcbiAgICB0aGlzLmNhc2VSZWZMYWJlbCA9IFNwZWNpZmljQWNjZXNzUmVxdWVzdFBhZ2VUZXh0LkNBU0VfUkVGO1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICByYWRpb1NlbGVjdGVkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgbnVsbCksXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgdGhpcy5zcGVjaWZpY1JlYXNvbkNvbnRyb2xOYW1lLFxuICAgICAgbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtcbiAgICAgICAgICAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RW1wdHkoY29udHJvbCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZDogdHJ1ZSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdXBkYXRlT246ICdzdWJtaXQnLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgLy8gQ2xlYXIgdGhlIFwic3BlY2lmaWMgcmVhc29uXCIgZmllbGRzIG1hbnVhbGx5LiBUaGlzIHByZXZlbnRzIGFueSBwcmV2aW91cyB2YWx1ZSBiZWluZyByZXRhaW5lZCBieVxuICAgIC8vIHRoZSBmaWVsZCdzIEZvcm1Db250cm9sIHdoZW4gdGhlIGZpZWxkIGl0c2VsZiBpcyByZW1vdmVkIGZyb20gdGhlIERPTSBieSAqbmdJZi4gKElmIGl0IGlzIHN1YnNlcXVlbnRseSBhZGRlZCBiYWNrXG4gICAgLy8gdG8gdGhlIERPTSBieSAqbmdJZiwgaXQgd2lsbCBhcHBlYXIgZW1wdHkgYnV0IHRoZSBhc3NvY2lhdGVkIEZvcm1Db250cm9sIHN0aWxsIGhhcyB0aGUgcHJldmlvdXMgdmFsdWUuKVxuICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLmludmFsaWQpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0ge1xuICAgICAgICB0aXRsZTogdGhpcy5nZW5lcmljRXJyb3IsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBTcGVjaWZpY0FjY2Vzc1JlcXVlc3RFcnJvcnMuTk9fUkVBU09OLFxuICAgICAgICBmaWVsZElkOiAnc3BlY2lmaWMtcmVhc29uJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhdGUgU3BlY2lmaWMgQWNjZXNzIFJlcXVlc3RcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIC8vIEdldCB0aGUgQ2FzZSBSZWZlcmVuY2UgKGZvciB3aGljaCBhY2Nlc3MgaXMgYmVpbmcgcmVxdWVzdGVkKSBmcm9tIHRoZSBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IGRhdGFcbiAgICAgIGNvbnN0IGNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmNpZDtcbiAgICAgIGNvbnN0IHNwZWNpZmljQWNjZXNzUmVxdWVzdCA9IHtcbiAgICAgICAgc3BlY2lmaWNSZWFzb246IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLnZhbHVlXG4gICAgICB9IGFzIFNwZWNpZmljQWNjZXNzUmVxdWVzdDtcblxuICAgICAgdGhpcy4kcm9sZUFzc2lnbm1lbnRSZXNwb25zZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZVNwZWNpZmljQWNjZXNzUmVxdWVzdChjYXNlSWQsIHNwZWNpZmljQWNjZXNzUmVxdWVzdClcbiAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FzZU5vdGlmaWVyLmZldGNoQW5kUmVmcmVzaChjYXNlSWQpKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAvLyBXb3VsZCBoYXZlIGJlZW4gbmljZSB0byBwYXNzIHRoZSBjYXNlSWQgd2l0aGluIHN0YXRlLmRhdGEsIGJ1dCB0aGlzIGlzbid0IHBhcnQgb2YgTmF2aWdhdGlvbkV4dHJhcyB1bnRpbFxuICAgICAgICAgICAgLy8gQW5ndWxhciA3LjJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3BlY2lmaWNBY2Nlc3NFcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydzdWNjZXNzJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIC8vIFNob3cgdGhlIGdlbmVyaWMgZXJyb3IgbWVzc2FnZVxuICAgICAgICAgICAgdGhpcy5nZXRTcGVjaWZpY0FjY2Vzc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0ge1xuICAgICAgICAgICAgICB0aXRsZTogdGhpcy5nZW5lcmljRXJyb3IsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU29ycnksIHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBzZXJ2aWNlOyBUcnkgYWdhaW4gbGF0ZXIuJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIC8vIE5hdmlnYXRlIHRvIHRoZSBwYWdlIGJlZm9yZSBwcmV2aW91cyBvbmUgKHNob3VsZCBiZSBTZWFyY2ggUmVzdWx0cyBvciBDYXNlIExpc3QgcGFnZSwgZm9yIGV4YW1wbGUpXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChDYXNlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0Q29tcG9uZW50LkNBTkNFTF9MSU5LX0RFU1RJTkFUSU9OKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4kcm9sZUFzc2lnbm1lbnRSZXNwb25zZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4kcm9sZUFzc2lnbm1lbnRSZXNwb25zZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5wdXRFbXB0eShpbnB1dDogQWJzdHJhY3RDb250cm9sKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlucHV0LnZhbHVlID09PSBudWxsIHx8IGlucHV0LnZhbHVlLnRyaW0oKS5sZW5ndGggPT09IDA7XG4gIH1cbn1cbiIsIjxleHVpLWVycm9yLW1lc3NhZ2VcbiAgKm5nSWY9XCIoZm9ybUdyb3VwLmludmFsaWQgJiYgc3VibWl0dGVkKSB8fCBnZXRTcGVjaWZpY0FjY2Vzc0Vycm9yXCJcbiAgW2Vycm9yXT1cImVycm9yTWVzc2FnZVwiPjwvZXh1aS1lcnJvci1tZXNzYWdlPlxuPGN1dC1hbGVydCB0eXBlPVwiaW5mb3JtYXRpb25cIj5cbiAge3snQXV0aG9yaXNhdGlvbiBpcyBuZWVkZWQgdG8gYWNjZXNzIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX08YnIgLz5cbiAge3snVGhpcyBjb3VsZCBiZSBiZWNhdXNlIGl0XFwncyBvdXRzaWRlIHlvdXIganVyaXNkaWN0aW9uLCBvciB5b3UgbWF5IGJlIGV4Y2x1ZGVkIGZyb20gdGhlIGNhc2UuIElmIHlvdSByZXF1ZXN0IGFjY2VzcyB0byB0aGlzIGNhc2UsIGl0IHdpbGwgYmUgbG9nZ2VkIGZvciBhdWRpdGluZyBwdXJwb3Nlcy4nIHwgcnB4VHJhbnNsYXRlfX1cbjwvY3V0LWFsZXJ0PlxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAoc3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2Zvcm0tZ3JvdXAtZXJyb3InOiBmb3JtR3JvdXAuaW52YWxpZCAmJiBzdWJtaXR0ZWQgfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cInJlYXNvbi1oaW50XCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3sgdGl0bGUgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuXG4gICAgICA8ZGV0YWlscyBjbGFzcz1cImdvdnVrLWRldGFpbHNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWRldGFpbHNcIiByb2xlPVwiZ3JvdXBcIj5cbiAgICAgICAgPHN1bW1hcnlcbiAgICAgICAgICBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnlcIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0XCI+XG4gICAgICAgICAgICB7eydIZWxwIHdpdGggcmVxdWVzdGluZyBjYXNlIGFjY2VzcycgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zdW1tYXJ5PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX190ZXh0XCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydZb3UgY291bGQgaW5jbHVkZTonIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgICAgICAgICAgIDxsaT57eyd0aGUgY2FzZSByZWZlcmVuY2Ugb2YgdGhlIGxpbmtlZCBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICAgIDxsaT57eydob3cgbG9uZyB5b3UgcmVxdWlyZSBhY2Nlc3MgdG8gdGhpcyBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICAgIDxsaT57eydhbnkgb3RoZXIgcmVhc29ucyB3aHkgeW91IHJlcXVpcmUgYWNjZXNzJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGV0YWlscz5cblxuICAgICAgPGRpdiBpZD1cInJlYXNvbi1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgIHt7IGhpbnQgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cImNvbmRpdGlvbmFsLXJlYXNvbi0zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJzcGVjaWZpYy1yZWFzb24tZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtR3JvdXAuZ2V0KCdzcGVjaWZpY1JlYXNvbicpLmludmFsaWQgJiYgc3VibWl0dGVkXCI+XG4gICAgICAgICAgICB7eyBlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb24gfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnZ292dWstdGV4dGFyZWEtLWVycm9yJzpcbiAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdzcGVjaWZpY1JlYXNvbicpLmludmFsaWQgJiYgc3VibWl0dGVkXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIGlkPVwic3BlY2lmaWMtcmVhc29uXCJcbiAgICAgICAgICAgIG5hbWU9XCJzcGVjaWZpYy1yZWFzb25cIlxuICAgICAgICAgICAgcm93cz1cIjhcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3BlY2lmaWNSZWFzb25cIj5cbiAgICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTNcIiB0eXBlPVwic3VibWl0XCI+XG4gICAgICB7eydTdWJtaXQnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbCBnb3Z1ay0hLXBhZGRpbmctbGVmdC0wXCI+XG4gICAgICA8cD5cbiAgICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1ib2R5XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+XG4gICAgICAgICAge3snQ2FuY2VsJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
export * from './abstract-field-read.component';
|
|
2
|
-
export * from './abstract-field-write-journey.component';
|
|
3
2
|
export * from './abstract-field-write.component';
|
|
4
|
-
export * from './abstract-journey.component';
|
|
5
3
|
export * from './field-read.component';
|
|
6
4
|
export * from './field-write.component';
|
|
7
5
|
export * from './field-read-label.component';
|
|
8
6
|
export * from './palette-context.enum';
|
|
9
7
|
export * from './payment-field.component';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9iYXNlLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQtcmVhZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC13cml0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC1yZWFkLWxhYmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhbGV0dGUtY29udGV4dC5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vcGF5bWVudC1maWVsZC5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { AddCommentsErrorMessage, AddCommentsStep, CaseFlagFieldState, CaseFlagFormFields, CaseFlagWizardStepTitle } from '../../enums';
|
|
4
|
-
import { AbstractJourneyComponent } from '../../../base-field';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
import * as i1 from "@angular/common";
|
|
7
6
|
import * as i2 from "@angular/forms";
|
|
@@ -17,10 +16,10 @@ function AddCommentsComponent_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
17
16
|
i0.ɵɵtextInterpolate1(" (", i0.ɵɵpipeBind1(2, 1, "optional"), ")");
|
|
18
17
|
} }
|
|
19
18
|
function AddCommentsComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
-
i0.ɵɵelementStart(0, "div",
|
|
19
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "span", 15);
|
|
21
20
|
i0.ɵɵtext(2, "!");
|
|
22
21
|
i0.ɵɵelementEnd();
|
|
23
|
-
i0.ɵɵelementStart(3, "strong",
|
|
22
|
+
i0.ɵɵelementStart(3, "strong", 16)(4, "span", 17);
|
|
24
23
|
i0.ɵɵtext(5);
|
|
25
24
|
i0.ɵɵpipe(6, "rpxTranslate");
|
|
26
25
|
i0.ɵɵelementEnd();
|
|
@@ -35,7 +34,7 @@ function AddCommentsComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
|
35
34
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 4, ctx_r0.addCommentsStepEnum.WARNING_TEXT), " ");
|
|
36
35
|
} }
|
|
37
36
|
function AddCommentsComponent_div_12_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
-
i0.ɵɵelementStart(0, "div",
|
|
37
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "span", 19);
|
|
39
38
|
i0.ɵɵtext(2);
|
|
40
39
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
41
40
|
i0.ɵɵelementEnd();
|
|
@@ -50,7 +49,7 @@ function AddCommentsComponent_div_12_Template(rf, ctx) { if (rf & 1) {
|
|
|
50
49
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagCommentsNotEnteredErrorMessage), " ");
|
|
51
50
|
} }
|
|
52
51
|
function AddCommentsComponent_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
-
i0.ɵɵelementStart(0, "div",
|
|
52
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "span", 19);
|
|
54
53
|
i0.ɵɵtext(2);
|
|
55
54
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
56
55
|
i0.ɵɵelementEnd();
|
|
@@ -64,7 +63,7 @@ function AddCommentsComponent_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
|
64
63
|
i0.ɵɵadvance(2);
|
|
65
64
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagCommentsCharLimitErrorMessage), " ");
|
|
66
65
|
} }
|
|
67
|
-
export class AddCommentsComponent
|
|
66
|
+
export class AddCommentsComponent {
|
|
68
67
|
formGroup;
|
|
69
68
|
optional = false;
|
|
70
69
|
isDisplayContextParameterExternal = false;
|
|
@@ -123,14 +122,8 @@ export class AddCommentsComponent extends AbstractJourneyComponent {
|
|
|
123
122
|
});
|
|
124
123
|
}
|
|
125
124
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if (this.errorMessages.length === 0) {
|
|
129
|
-
super.next();
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
static ɵfac = /*@__PURE__*/ (() => { let ɵAddCommentsComponent_BaseFactory; return function AddCommentsComponent_Factory(t) { return (ɵAddCommentsComponent_BaseFactory || (ɵAddCommentsComponent_BaseFactory = i0.ɵɵgetInheritedFactory(AddCommentsComponent)))(t || AddCommentsComponent); }; })();
|
|
133
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddCommentsComponent, selectors: [["ccd-add-comments"]], inputs: { formGroup: "formGroup", optional: "optional", isDisplayContextParameterExternal: "isDisplayContextParameterExternal", isDisplayContextParameter2Point1Enabled: "isDisplayContextParameter2Point1Enabled" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 21, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], [4, "ngIf"], ["id", "add-comments-hint", 1, "govuk-hint"], ["class", "govuk-warning-text", 4, "ngIf"], ["id", "flag-comments-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "add-comments-hint add-comments-char-limit-info add-comments-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "add-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["id", "flag-comments-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "add-comments-char-limit-error", 1, "govuk-error-message"]], template: function AddCommentsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
static ɵfac = function AddCommentsComponent_Factory(t) { return new (t || AddCommentsComponent)(); };
|
|
126
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddCommentsComponent, selectors: [["ccd-add-comments"]], inputs: { formGroup: "formGroup", optional: "optional", isDisplayContextParameterExternal: "isDisplayContextParameterExternal", isDisplayContextParameter2Point1Enabled: "isDisplayContextParameter2Point1Enabled" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 22, vars: 24, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], [4, "ngIf"], ["id", "add-comments-hint", 1, "govuk-hint"], ["class", "govuk-warning-text", 4, "ngIf"], ["id", "flag-comments-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "add-comments-hint add-comments-char-limit-info add-comments-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "add-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["id", "flag-comments-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "add-comments-char-limit-error", 1, "govuk-error-message"]], template: function AddCommentsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
134
127
|
i0.ɵɵelementContainerStart(0, 0);
|
|
135
128
|
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "h1", 3)(4, "label", 4);
|
|
136
129
|
i0.ɵɵtext(5);
|
|
@@ -148,18 +141,23 @@ export class AddCommentsComponent extends AbstractJourneyComponent {
|
|
|
148
141
|
i0.ɵɵpipe(17, "rpxTranslate");
|
|
149
142
|
i0.ɵɵelementEnd()()();
|
|
150
143
|
i0.ɵɵelementContainerEnd();
|
|
144
|
+
i0.ɵɵelementStart(18, "div", 12)(19, "button", 13);
|
|
145
|
+
i0.ɵɵlistener("click", function AddCommentsComponent_Template_button_click_19_listener() { return ctx.onNext(); });
|
|
146
|
+
i0.ɵɵtext(20);
|
|
147
|
+
i0.ɵɵpipe(21, "rpxTranslate");
|
|
148
|
+
i0.ɵɵelementEnd()();
|
|
151
149
|
} if (rf & 2) {
|
|
152
150
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
153
151
|
i0.ɵɵadvance(2);
|
|
154
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
152
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(22, _c0, ctx.errorMessages.length > 0));
|
|
155
153
|
i0.ɵɵadvance(2);
|
|
156
154
|
i0.ɵɵproperty("for", ctx.flagCommentsControlName);
|
|
157
155
|
i0.ɵɵadvance();
|
|
158
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6,
|
|
156
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 14, ctx.addCommentsTitle), "");
|
|
159
157
|
i0.ɵɵadvance(2);
|
|
160
158
|
i0.ɵɵproperty("ngIf", ctx.optional);
|
|
161
159
|
i0.ɵɵadvance(2);
|
|
162
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10,
|
|
160
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 16, ctx.addCommentsHint), " ");
|
|
163
161
|
i0.ɵɵadvance(2);
|
|
164
162
|
i0.ɵɵproperty("ngIf", !ctx.isDisplayContextParameterExternal && ctx.isDisplayContextParameter2Point1Enabled && !ctx.otherInternalFlagTypeSelected);
|
|
165
163
|
i0.ɵɵadvance();
|
|
@@ -169,12 +167,14 @@ export class AddCommentsComponent extends AbstractJourneyComponent {
|
|
|
169
167
|
i0.ɵɵadvance();
|
|
170
168
|
i0.ɵɵproperty("id", ctx.flagCommentsControlName)("name", ctx.flagCommentsControlName)("formControlName", ctx.flagCommentsControlName);
|
|
171
169
|
i0.ɵɵadvance(2);
|
|
172
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17,
|
|
170
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 18, ctx.addCommentsStepEnum.CHARACTER_LIMIT_INFO), " ");
|
|
171
|
+
i0.ɵɵadvance(4);
|
|
172
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 20, "Next"));
|
|
173
173
|
} }, dependencies: [i1.NgClass, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i3.RpxTranslatePipe], encapsulation: 2 });
|
|
174
174
|
}
|
|
175
175
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddCommentsComponent, [{
|
|
176
176
|
type: Component,
|
|
177
|
-
args: [{ selector: 'ccd-add-comments', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper\"><label class=\"govuk-label govuk-label--m\" [for]=\"flagCommentsControlName\">\n {{addCommentsTitle | rpxTranslate}}<span *ngIf=\"optional\"> ({{'optional' | rpxTranslate}})</span>\n </label>\n </h1>\n <div id=\"add-comments-hint\" class=\"govuk-hint\">\n {{addCommentsHint | rpxTranslate}}\n </div>\n <div class=\"govuk-warning-text\"\n *ngIf=\"!isDisplayContextParameterExternal && isDisplayContextParameter2Point1Enabled && !otherInternalFlagTypeSelected\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{addCommentsStepEnum.WARNING_TEXT | rpxTranslate}}\n </strong>\n </div>\n <div id=\"flag-comments-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"add-comments-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\" [id]=\"flagCommentsControlName\"\n [name]=\"flagCommentsControlName\" [formControlName]=\"flagCommentsControlName\" rows=\"5\"\n aria-describedby=\"add-comments-hint add-comments-char-limit-info add-comments-char-limit-error\"></textarea>\n <div id=\"add-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{addCommentsStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n </div>\n</ng-container>" }]
|
|
177
|
+
args: [{ selector: 'ccd-add-comments', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper\"><label class=\"govuk-label govuk-label--m\" [for]=\"flagCommentsControlName\">\n {{addCommentsTitle | rpxTranslate}}<span *ngIf=\"optional\"> ({{'optional' | rpxTranslate}})</span>\n </label>\n </h1>\n <div id=\"add-comments-hint\" class=\"govuk-hint\">\n {{addCommentsHint | rpxTranslate}}\n </div>\n <div class=\"govuk-warning-text\"\n *ngIf=\"!isDisplayContextParameterExternal && isDisplayContextParameter2Point1Enabled && !otherInternalFlagTypeSelected\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{addCommentsStepEnum.WARNING_TEXT | rpxTranslate}}\n </strong>\n </div>\n <div id=\"flag-comments-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"add-comments-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\" [id]=\"flagCommentsControlName\"\n [name]=\"flagCommentsControlName\" [formControlName]=\"flagCommentsControlName\" rows=\"5\"\n aria-describedby=\"add-comments-hint add-comments-char-limit-info add-comments-char-limit-error\"></textarea>\n <div id=\"add-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{addCommentsStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n" }]
|
|
178
178
|
}], null, { formGroup: [{
|
|
179
179
|
type: Input
|
|
180
180
|
}], optional: [{
|
|
@@ -186,5 +186,5 @@ export class AddCommentsComponent extends AbstractJourneyComponent {
|
|
|
186
186
|
}], caseFlagStateEmitter: [{
|
|
187
187
|
type: Output
|
|
188
188
|
}] }); })();
|
|
189
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddCommentsComponent, { className: "AddCommentsComponent", filePath: "lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.ts", lineNumber:
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL2FkZC1jb21tZW50cy9hZGQtY29tbWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvYWRkLWNvbW1lbnRzL2FkZC1jb21tZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4SSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztJQ0RsQiw0QkFBdUI7SUFBQyxZQUErQjs7SUFBQSxpQkFBTzs7SUFBdEMsY0FBK0I7SUFBL0Isa0VBQStCOzs7SUFRNUYsQUFGRiwrQkFDMEgsZUFDOUQ7SUFBQSxpQkFBQztJQUFBLGlCQUFPO0lBRWhFLEFBREYsa0NBQXlDLGVBQ0s7SUFBQSxZQUE0Qjs7SUFBQSxpQkFBTztJQUMvRSxZQUNGOztJQUNGLEFBREUsaUJBQVMsRUFDTDs7O0lBSDBDLGVBQTRCO0lBQTVCLHFEQUE0QjtJQUN4RSxlQUNGO0lBREUsOEZBQ0Y7OztJQUlBLEFBRkYsK0JBQzZDLGVBQ1A7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFBM0Isb0RBQTJCO0lBQVEsZUFDekU7SUFEeUUsZ0dBQ3pFOzs7SUFHRSxBQUZGLCtCQUM0QyxlQUNOO0lBQUEsWUFBMkI7O0lBQUEsaUJBQU87SUFBQyxZQUN6RTs7SUFBQSxpQkFBTTs7O0lBRGdDLGVBQTJCO0lBQTNCLG9EQUEyQjtJQUFRLGVBQ3pFO0lBRHlFLCtGQUN6RTs7QURkTixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsd0JBQXdCO0lBRWhELFNBQVMsQ0FBWTtJQUNyQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGlDQUFpQyxHQUFHLEtBQUssQ0FBQztJQUMxQyx1Q0FBdUMsR0FBRyxLQUFLLENBQUM7SUFFL0Msb0JBQW9CLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO0lBRWhHLGdCQUFnQixDQUEwQjtJQUMxQyxhQUFhLEdBQW1CLEVBQUUsQ0FBQztJQUNuQyxrQ0FBa0MsR0FBNEIsSUFBSSxDQUFDO0lBQ25FLGlDQUFpQyxHQUE0QixJQUFJLENBQUM7SUFDbEUsZUFBZSxDQUFrQjtJQUNqQyxtQkFBbUIsR0FBRyxlQUFlLENBQUM7SUFDN0IsdUJBQXVCLEdBQUcsY0FBYyxDQUFDO0lBQ3hDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztJQUM1QywwREFBMEQ7SUFDekMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDO0lBRTlDLElBQVcsNkJBQTZCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsS0FBSyxJQUFJLENBQUMsaUJBQWlCO1lBQ2pHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDLEVBQUUsS0FBSyxLQUFLLElBQUksQ0FBQztJQUN0RixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQy9ELHVCQUF1QixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQywrQkFBK0IsQ0FBQztRQUN0RyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7WUFDOUQsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDO1FBRWpFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9FLENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTTtRQUNYLCtCQUErQjtRQUMvQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDckksQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsa0NBQWtDLEdBQUcsSUFBSSxDQUFDO1FBQy9DLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxJQUFJLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMsa0NBQWtDLEdBQUcsSUFBSSxDQUFDLGlDQUFpQztnQkFDOUUsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLGtDQUFrQztnQkFDNUQsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLHlCQUF5QixDQUFDO1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsRUFBRTtnQkFDVCxXQUFXLEVBQUUsSUFBSSxDQUFDLGtDQUFrQztnQkFDcEQsT0FBTyxFQUFFLElBQUksQ0FBQyx1QkFBdUI7YUFDdEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsS0FBSztZQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzVGLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyx1QkFBdUIsQ0FBQyxpQ0FBaUMsQ0FBQztZQUNuRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDdEIsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsV0FBVyxFQUFFLHVCQUF1QixDQUFDLGlDQUFpQztnQkFDdEUsT0FBTyxFQUFFLElBQUksQ0FBQyx1QkFBdUI7YUFDdEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQzs2T0ExRVUsb0JBQW9CLFNBQXBCLG9CQUFvQjs2REFBcEIsb0JBQW9CO1lDWGpDLGdDQUFzQztZQUdBLEFBQWhDLEFBREYsQUFERiw4QkFBNEYsYUFDRCxZQUN2RCxlQUEwRTtZQUN0RyxZQUFtQzs7WUFBQSx1RUFBdUI7WUFFOUQsQUFERSxpQkFBUSxFQUNMO1lBQ0wsOEJBQStDO1lBQzdDLFlBQ0Y7O1lBQUEsaUJBQU07WUFhTixBQUpBLEFBUkEsdUVBQzBILDBEQVE3RSwwREFJRDtZQUc1QyxnQ0FFNkc7WUFDN0csZ0NBQTRHO1lBQzFHLGFBQ0Y7O1lBRUosQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjs7O1lBakNNLHlDQUF1QjtZQUVILGVBQTBEO1lBQTFELG1GQUEwRDtZQUNaLGVBQStCO1lBQS9CLGlEQUErQjtZQUNyRyxjQUFtQztZQUFuQywyRUFBbUM7WUFBTyxlQUFjO1lBQWQsbUNBQWM7WUFJMUQsZUFDRjtZQURFLDRFQUNGO1lBRUcsZUFBcUg7WUFBckgsa0pBQXFIO1lBUXJILGNBQXdDO1lBQXhDLDZEQUF3QztZQUl4QyxjQUF1QztZQUF2Qyw0REFBdUM7WUFHVCxjQUE4QjtZQUM1QixBQUFqQyxBQUQrQixnREFBOEIscUNBQzdCLGdEQUE0QztZQUc1RSxlQUNGO1lBREUscUdBQ0Y7OztpRkRwQk8sb0JBQW9CO2NBSmhDLFNBQVM7MkJBQ0Usa0JBQWtCO2dCQUtaLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsaUNBQWlDO2tCQUFoRCxLQUFLO1lBQ1UsdUNBQXVDO2tCQUF0RCxLQUFLO1lBRVcsb0JBQW9CO2tCQUFwQyxNQUFNOztrRkFQSSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBKb3VybmV5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQWRkQ29tbWVudHNFcnJvck1lc3NhZ2UsIEFkZENvbW1lbnRzU3RlcCwgQ2FzZUZsYWdGaWVsZFN0YXRlLCBDYXNlRmxhZ0Zvcm1GaWVsZHMsIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYmFzZS1maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1hZGQtY29tbWVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWNvbW1lbnRzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRDb21tZW50c0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSm91cm5leSB7XG5cbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uYWwgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHB1YmxpYyBhZGRDb21tZW50c1RpdGxlOiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBmbGFnQ29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlOiBBZGRDb21tZW50c0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnQ29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2U6IEFkZENvbW1lbnRzRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIGFkZENvbW1lbnRzSGludDogQWRkQ29tbWVudHNTdGVwO1xuICBwdWJsaWMgYWRkQ29tbWVudHNTdGVwRW51bSA9IEFkZENvbW1lbnRzU3RlcDtcbiAgcHVibGljIHJlYWRvbmx5IGZsYWdDb21tZW50c0NvbnRyb2xOYW1lID0gJ2ZsYWdDb21tZW50cyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudHNNYXhDaGFyTGltaXQgPSAyMDA7XG4gIC8vIENvZGUgZm9yIFwiT3RoZXJcIiBmbGFnIHR5cGUgYXMgZGVmaW5lZCBpbiBSZWZlcmVuY2UgRGF0YVxuICBwcml2YXRlIHJlYWRvbmx5IG90aGVyRmxhZ1R5cGVDb2RlID0gJ09UMDAwMSc7XG5cbiAgcHVibGljIGdldCBvdGhlckludGVybmFsRmxhZ1R5cGVTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpPy52YWx1ZT8uZmxhZ0NvZGUgPT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGUgJiZcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfVklTSUJMRV9JTlRFUk5BTExZX09OTFkpPy52YWx1ZSA9PT0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZENvbW1lbnRzVGl0bGUgPSAhdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwgP1xuICAgICAgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuQUREX0ZMQUdfQ09NTUVOVFMgOiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5BRERfRkxBR19DT01NRU5UU19FWFRFUk5BTF9NT0RFO1xuICAgIHRoaXMuYWRkQ29tbWVudHNIaW50ID0gIXRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsID9cbiAgICAgIEFkZENvbW1lbnRzU3RlcC5ISU5UX1RFWFQgOiBBZGRDb21tZW50c1N0ZXAuSElOVF9URVhUX0VYVEVSTkFMO1xuXG4gICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5mbGFnQ29tbWVudHNDb250cm9sTmFtZSkpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5mbGFnQ29tbWVudHNDb250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBWYWxpZGF0ZSBmbGFnIGNvbW1lbnRzIGVudHJ5XG4gICAgdGhpcy52YWxpZGF0ZVRleHRFbnRyeSgpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoeyBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUywgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRleHRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYWdDb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZmxhZ0NvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICBpZiAoIXRoaXMub3B0aW9uYWwgJiYgIXRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZsYWdDb21tZW50c0NvbnRyb2xOYW1lKS52YWx1ZSkge1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWxcbiAgICAgICAgPyBBZGRDb21tZW50c0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX05PVF9FTlRFUkVEX0VYVEVSTkFMXG4gICAgICAgIDogQWRkQ29tbWVudHNFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19OT1RfRU5URVJFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5mbGFnQ29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlLFxuICAgICAgICBmaWVsZElkOiB0aGlzLmZsYWdDb21tZW50c0NvbnRyb2xOYW1lXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZsYWdDb21tZW50c0NvbnRyb2xOYW1lKS52YWx1ZSAmJlxuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmxhZ0NvbW1lbnRzQ29udHJvbE5hbWUpLnZhbHVlLmxlbmd0aCA+IHRoaXMuY29tbWVudHNNYXhDaGFyTGltaXQpIHtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gQWRkQ29tbWVudHNFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBBZGRDb21tZW50c0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgIGZpZWxkSWQ6IHRoaXMuZmxhZ0NvbW1lbnRzQ29udHJvbE5hbWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZXh0KCkge1xuICAgIHRoaXMub25OZXh0KCk7XG5cbiAgICBpZiAodGhpcy5lcnJvck1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc3VwZXIubmV4dCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1heGxlbmd0aD1cIjIwMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgICAgPGgxIGNsYXNzPVwiZ292dWstbGFiZWwtd3JhcHBlclwiPjxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1tXCIgW2Zvcl09XCJmbGFnQ29tbWVudHNDb250cm9sTmFtZVwiPlxuICAgICAgICAgIHt7YWRkQ29tbWVudHNUaXRsZSB8IHJweFRyYW5zbGF0ZX19PHNwYW4gKm5nSWY9XCJvcHRpb25hbFwiPiAoe3snb3B0aW9uYWwnIHwgcnB4VHJhbnNsYXRlfX0pPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9oMT5cbiAgICAgIDxkaXYgaWQ9XCJhZGQtY29tbWVudHMtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICB7e2FkZENvbW1lbnRzSGludCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRcIlxuICAgICAgICAqbmdJZj1cIiFpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwgJiYgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkICYmICFvdGhlckludGVybmFsRmxhZ1R5cGVTZWxlY3RlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiE8L3NwYW4+XG4gICAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9fYXNzaXN0aXZlXCI+e3snV2FybmluZycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICB7e2FkZENvbW1lbnRzU3RlcEVudW0uV0FSTklOR19URVhUIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9zdHJvbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLWNvbW1lbnRzLW5vdC1lbnRlcmVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImZsYWdDb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7ZmxhZ0NvbW1lbnRzTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgaWQ9XCJhZGQtY29tbWVudHMtY2hhci1saW1pdC1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwiZmxhZ0NvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2ZsYWdDb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCIgW2lkXT1cImZsYWdDb21tZW50c0NvbnRyb2xOYW1lXCJcbiAgICAgICAgW25hbWVdPVwiZmxhZ0NvbW1lbnRzQ29udHJvbE5hbWVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZsYWdDb21tZW50c0NvbnRyb2xOYW1lXCIgcm93cz1cIjVcIlxuICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwiYWRkLWNvbW1lbnRzLWhpbnQgYWRkLWNvbW1lbnRzLWNoYXItbGltaXQtaW5mbyBhZGQtY29tbWVudHMtY2hhci1saW1pdC1lcnJvclwiPjwvdGV4dGFyZWE+XG4gICAgICA8ZGl2IGlkPVwiYWRkLWNvbW1lbnRzLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAge3thZGRDb21tZW50c1N0ZXBFbnVtLkNIQVJBQ1RFUl9MSU1JVF9JTkZPIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
189
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddCommentsComponent, { className: "AddCommentsComponent", filePath: "lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.ts", lineNumber: 11 }); })();
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL2FkZC1jb21tZW50cy9hZGQtY29tbWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvYWRkLWNvbW1lbnRzL2FkZC1jb21tZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztJQ0EzRiw0QkFBdUI7SUFBQyxZQUErQjs7SUFBQSxpQkFBTzs7SUFBdEMsY0FBK0I7SUFBL0Isa0VBQStCOzs7SUFRNUYsQUFGRiwrQkFDMEgsZUFDOUQ7SUFBQSxpQkFBQztJQUFBLGlCQUFPO0lBRWhFLEFBREYsa0NBQXlDLGVBQ0s7SUFBQSxZQUE0Qjs7SUFBQSxpQkFBTztJQUMvRSxZQUNGOztJQUNGLEFBREUsaUJBQVMsRUFDTDs7O0lBSDBDLGVBQTRCO0lBQTVCLHFEQUE0QjtJQUN4RSxlQUNGO0lBREUsOEZBQ0Y7OztJQUlBLEFBRkYsK0JBQzZDLGVBQ1A7SUFBQSxZQUEy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QyxhQUF5Qjs7WUFDbEcsQUFEa0csaUJBQVMsRUFDckc7O1lBdENRLHlDQUF1QjtZQUVILGVBQTBEO1lBQTFELG1GQUEwRDtZQUNaLGVBQStCO1lBQS9CLGlEQUErQjtZQUNyRyxjQUFtQztZQUFuQywyRUFBbUM7WUFBTyxlQUFjO1lBQWQsbUNBQWM7WUFJMUQsZUFDRjtZQURFLDRFQUNGO1lBRUcsZUFBcUg7WUFBckgsa0pBQXFIO1lBUXJILGNBQXdDO1lBQXhDLDZEQUF3QztZQUl4QyxjQUF1QztZQUF2Qyw0REFBdUM7WUFHVCxjQUE4QjtZQUM1QixBQUFqQyxBQUQrQixnREFBOEIscUNBQzdCLGdEQUE0QztZQUc1RSxlQUNGO1lBREUscUdBQ0Y7WUFNbUUsZUFBeUI7WUFBekIsb0RBQXlCOzs7aUZEM0JyRixvQkFBb0I7Y0FKaEMsU0FBUzsyQkFDRSxrQkFBa0I7Z0JBSVosU0FBUztrQkFBeEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVSxpQ0FBaUM7a0JBQWhELEtBQUs7WUFDVSx1Q0FBdUM7a0JBQXRELEtBQUs7WUFFVyxvQkFBb0I7a0JBQXBDLE1BQU07O2tGQU5JLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBBZGRDb21tZW50c0Vycm9yTWVzc2FnZSwgQWRkQ29tbWVudHNTdGVwLCBDYXNlRmxhZ0ZpZWxkU3RhdGUsIENhc2VGbGFnRm9ybUZpZWxkcywgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1hZGQtY29tbWVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWNvbW1lbnRzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZGRDb21tZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbmFsID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIyUG9pbnQxRW5hYmxlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgYWRkQ29tbWVudHNUaXRsZTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzTm90RW50ZXJlZEVycm9yTWVzc2FnZTogQWRkQ29tbWVudHNFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgZmxhZ0NvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBBZGRDb21tZW50c0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBhZGRDb21tZW50c0hpbnQ6IEFkZENvbW1lbnRzU3RlcDtcbiAgcHVibGljIGFkZENvbW1lbnRzU3RlcEVudW0gPSBBZGRDb21tZW50c1N0ZXA7XG4gIHB1YmxpYyByZWFkb25seSBmbGFnQ29tbWVudHNDb250cm9sTmFtZSA9ICdmbGFnQ29tbWVudHMnO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1lbnRzTWF4Q2hhckxpbWl0ID0gMjAwO1xuICAvLyBDb2RlIGZvciBcIk90aGVyXCIgZmxhZyB0eXBlIGFzIGRlZmluZWQgaW4gUmVmZXJlbmNlIERhdGFcbiAgcHJpdmF0ZSByZWFkb25seSBvdGhlckZsYWdUeXBlQ29kZSA9ICdPVDAwMDEnO1xuXG4gIHB1YmxpYyBnZXQgb3RoZXJJbnRlcm5hbEZsYWdUeXBlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8udmFsdWU/LmZsYWdDb2RlID09PSB0aGlzLm90aGVyRmxhZ1R5cGVDb2RlICYmXG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLklTX1ZJU0lCTEVfSU5URVJOQUxMWV9PTkxZKT8udmFsdWUgPT09IHRydWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRDb21tZW50c1RpdGxlID0gIXRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsID9cbiAgICAgIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLkFERF9GTEFHX0NPTU1FTlRTIDogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuQUREX0ZMQUdfQ09NTUVOVFNfRVhURVJOQUxfTU9ERTtcbiAgICB0aGlzLmFkZENvbW1lbnRzSGludCA9ICF0aGlzLmlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbCA/XG4gICAgICBBZGRDb21tZW50c1N0ZXAuSElOVF9URVhUIDogQWRkQ29tbWVudHNTdGVwLkhJTlRfVEVYVF9FWFRFUk5BTDtcblxuICAgIGlmICghdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZmxhZ0NvbW1lbnRzQ29udHJvbE5hbWUpKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuZmxhZ0NvbW1lbnRzQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBjb21tZW50cyBlbnRyeVxuICAgIHRoaXMudmFsaWRhdGVUZXh0RW50cnkoKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHsgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfQ09NTUVOVFMsIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVUZXh0RW50cnkoKTogdm9pZCB7XG4gICAgdGhpcy5mbGFnQ29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmZsYWdDb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgaWYgKCF0aGlzLm9wdGlvbmFsICYmICF0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5mbGFnQ29tbWVudHNDb250cm9sTmFtZSkudmFsdWUpIHtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IHRoaXMuaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsXG4gICAgICAgID8gQWRkQ29tbWVudHNFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19OT1RfRU5URVJFRF9FWFRFUk5BTFxuICAgICAgICA6IEFkZENvbW1lbnRzRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZmxhZ0NvbW1lbnRzTm90RW50ZXJlZEVycm9yTWVzc2FnZSxcbiAgICAgICAgZmllbGRJZDogdGhpcy5mbGFnQ29tbWVudHNDb250cm9sTmFtZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5mbGFnQ29tbWVudHNDb250cm9sTmFtZSkudmFsdWUgJiZcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZsYWdDb21tZW50c0NvbnRyb2xOYW1lKS52YWx1ZS5sZW5ndGggPiB0aGlzLmNvbW1lbnRzTWF4Q2hhckxpbWl0KSB7XG4gICAgICB0aGlzLmZsYWdDb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZSA9IEFkZENvbW1lbnRzRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfQ0hBUl9MSU1JVF9FWENFRURFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogQWRkQ29tbWVudHNFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICBmaWVsZElkOiB0aGlzLmZsYWdDb21tZW50c0NvbnRyb2xOYW1lXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tYXhsZW5ndGg9XCIyMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGVycm9yTWVzc2FnZXMubGVuZ3RoID4gMH1cIj5cbiAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXJcIj48bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiIFtmb3JdPVwiZmxhZ0NvbW1lbnRzQ29udHJvbE5hbWVcIj5cbiAgICAgICAgICB7e2FkZENvbW1lbnRzVGl0bGUgfCBycHhUcmFuc2xhdGV9fTxzcGFuICpuZ0lmPVwib3B0aW9uYWxcIj4gKHt7J29wdGlvbmFsJyB8IHJweFRyYW5zbGF0ZX19KTwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvaDE+XG4gICAgICA8ZGl2IGlkPVwiYWRkLWNvbW1lbnRzLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAge3thZGRDb21tZW50c0hpbnQgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0XCJcbiAgICAgICAgKm5nSWY9XCIhaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsICYmIGlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIyUG9pbnQxRW5hYmxlZCAmJiAhb3RoZXJJbnRlcm5hbEZsYWdUeXBlU2VsZWN0ZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj4hPC9zcGFuPlxuICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2Fzc2lzdGl2ZVwiPnt7J1dhcm5pbmcnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAge3thZGRDb21tZW50c1N0ZXBFbnVtLldBUk5JTkdfVEVYVCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvc3Ryb25nPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwiZmxhZy1jb21tZW50cy1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJmbGFnQ29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2ZsYWdDb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwiYWRkLWNvbW1lbnRzLWNoYXItbGltaXQtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImZsYWdDb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tmbGFnQ29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8dGV4dGFyZWEgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYVwiIFtpZF09XCJmbGFnQ29tbWVudHNDb250cm9sTmFtZVwiXG4gICAgICAgIFtuYW1lXT1cImZsYWdDb21tZW50c0NvbnRyb2xOYW1lXCIgW2Zvcm1Db250cm9sTmFtZV09XCJmbGFnQ29tbWVudHNDb250cm9sTmFtZVwiIHJvd3M9XCI1XCJcbiAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cImFkZC1jb21tZW50cy1oaW50IGFkZC1jb21tZW50cy1jaGFyLWxpbWl0LWluZm8gYWRkLWNvbW1lbnRzLWNoYXItbGltaXQtZXJyb3JcIj48L3RleHRhcmVhPlxuICAgICAgPGRpdiBpZD1cImFkZC1jb21tZW50cy1jaGFyLWxpbWl0LWluZm9cIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgIHt7YWRkQ29tbWVudHNTdGVwRW51bS5DSEFSQUNURVJfTElNSVRfSU5GTyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPnt7J05leHQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
|