@hmcts/ccpay-web-component 6.2.13 → 6.2.14-beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/add-remission/add-remission.component.mjs +4 -4
- package/esm2022/lib/components/allocate-payments/allocate-payments.component.mjs +14 -9
- package/esm2022/lib/components/card-details/card-details.component.mjs +4 -4
- package/esm2022/lib/components/case-transactions/case-transactions.component.mjs +4 -4
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +4 -4
- package/esm2022/lib/components/error-banner/error-banner.component.mjs +4 -4
- package/esm2022/lib/components/fee-summary/fee-summary.component.mjs +4 -4
- package/esm2022/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.mjs +4 -4
- package/esm2022/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.mjs +4 -4
- package/esm2022/lib/components/notification-preview/notification-preview.component.mjs +4 -4
- package/esm2022/lib/components/page-not-found.component.mjs +4 -4
- package/esm2022/lib/components/payment-list/payment-list.component.mjs +4 -4
- package/esm2022/lib/components/payment-view/payment-view.component.mjs +4 -4
- package/esm2022/lib/components/pba-details/pba-details.component.mjs +4 -4
- package/esm2022/lib/components/pba-payment/pba-payment.component.mjs +4 -4
- package/esm2022/lib/components/process-refund/process-refund.component.mjs +4 -4
- package/esm2022/lib/components/processed-payments/processed-payments.component.mjs +4 -4
- package/esm2022/lib/components/refund-list/refund-list.component.mjs +4 -4
- package/esm2022/lib/components/refund-status/refund-status.component.mjs +4 -4
- package/esm2022/lib/components/reports/reports.component.mjs +4 -4
- package/esm2022/lib/components/service-request/service-request.component.mjs +4 -4
- package/esm2022/lib/components/status-history/status-history.component.mjs +4 -4
- package/esm2022/lib/components/table/table.component.mjs +4 -4
- package/esm2022/lib/components/unprocessed-payments/unprocessed-payments.component.mjs +4 -4
- package/esm2022/lib/payment-lib.component.mjs +4 -4
- package/esm2022/lib/payment-lib.module.mjs +35 -42
- package/esm2022/lib/payment-lib.service.mjs +4 -4
- package/esm2022/lib/pipes/capitalize.pipe.mjs +4 -4
- package/esm2022/lib/pipes/ccd-hyphens.pipe.mjs +4 -4
- package/esm2022/lib/pipes/key-value.pipe.mjs +4 -4
- package/esm2022/lib/pipes/sanitize-html.pipe.mjs +4 -4
- package/esm2022/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.mjs +4 -4
- package/esm2022/lib/services/card-details/card-details.service.mjs +4 -4
- package/esm2022/lib/services/case-transactions/case-transactions.service.mjs +4 -4
- package/esm2022/lib/services/notification/notification.service.mjs +4 -4
- package/esm2022/lib/services/orderslist.service.mjs +4 -4
- package/esm2022/lib/services/payment-list/payment-list.service.mjs +4 -4
- package/esm2022/lib/services/payment-view/payment-view.service.mjs +4 -4
- package/esm2022/lib/services/refunds/refunds.service.mjs +4 -4
- package/esm2022/lib/services/shared/error-handler.service.mjs +4 -4
- package/esm2022/lib/services/shared/httpclient/webcomponent.http.client.mjs +4 -4
- package/esm2022/lib/services/shared/logger/console-logger.service.mjs +4 -4
- package/esm2022/lib/services/shared/logger/logger.service.mjs +4 -4
- package/esm2022/lib/services/status-history/status-history.service.mjs +4 -4
- package/esm2022/lib/services/xl-file/xl-file.service.mjs +4 -4
- package/fesm2022/hmcts-ccpay-web-component.mjs +177 -179
- package/fesm2022/hmcts-ccpay-web-component.mjs.map +1 -1
- package/lib/components/add-remission/add-remission.component.d.ts +1 -1
- package/lib/components/allocate-payments/allocate-payments.component.d.ts +2 -2
- package/lib/components/case-transactions/case-transactions.component.d.ts +1 -1
- package/lib/components/fee-summary/fee-summary.component.d.ts +1 -1
- package/lib/payment-lib.module.d.ts +19 -20
- package/package.json +3 -3
|
@@ -18,10 +18,10 @@ export class StatusHistoryComponent {
|
|
|
18
18
|
ngOnInit() {
|
|
19
19
|
this.statusHistoryService.getPaymentStatusesByReference(this.paymentLibComponent.paymentReference, this.paymentLibComponent.paymentMethod).subscribe(statuses => this.statuses = statuses, (error) => this.errorMessage = error.replace(/"/g, ""));
|
|
20
20
|
}
|
|
21
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
22
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatusHistoryComponent, deps: [{ token: i1.StatusHistoryService }, { token: 'PAYMENT_LIB' }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StatusHistoryComponent, isStandalone: true, selector: "ccpay-payment-statuses", inputs: { isTakePayment: "isTakePayment" }, ngImport: i0, template: "<div class=\"column\">\n <h2 class=\"heading-medium\">{{ pageTitle }}</h2>\n</div>\n\n\n<div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\" *ngIf=\"errorMessage\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment status history could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n</div>\n\n<div *ngIf=\"!errorMessage && statuses\">\n <table>\n <thead>\n <tr>\n <th>Status</th>\n <th *ngIf=\"isTakePayment\">Amount</th>\n <th>Date and time</th>\n </tr>\n </thead> \n <tbody>\n <tr *ngFor=\"let status of statuses.status_histories\">\n <td>{{ status.status }}</td>\n <td *ngIf=\"isTakePayment\">\u00A3{{ statuses.amount | number:'.2' }}</td>\n <td>{{ status.date_created | date:'dd MMMM yyyy HH:mm:ss'}}</td>\n </tr>\n </tbody>\n </table>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }, { kind: "pipe", type: i2.DatePipe, name: "date" }] });
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatusHistoryComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{ selector: 'ccpay-payment-statuses', imports: [CommonModule], standalone: true, template: "<div class=\"column\">\n <h2 class=\"heading-medium\">{{ pageTitle }}</h2>\n</div>\n\n\n<div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\" *ngIf=\"errorMessage\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payment status history could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n</div>\n\n<div *ngIf=\"!errorMessage && statuses\">\n <table>\n <thead>\n <tr>\n <th>Status</th>\n <th *ngIf=\"isTakePayment\">Amount</th>\n <th>Date and time</th>\n </tr>\n </thead> \n <tbody>\n <tr *ngFor=\"let status of statuses.status_histories\">\n <td>{{ status.status }}</td>\n <td *ngIf=\"isTakePayment\">\u00A3{{ statuses.amount | number:'.2' }}</td>\n <td>{{ status.date_created | date:'dd MMMM yyyy HH:mm:ss'}}</td>\n </tr>\n </tbody>\n </table>\n</div>\n" }]
|
|
27
27
|
}], ctorParameters: () => [{ type: i1.StatusHistoryService }, { type: undefined, decorators: [{
|
|
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
30
30
|
}] }], propDecorators: { isTakePayment: [{
|
|
31
31
|
type: Input
|
|
32
32
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3N0YXR1cy1oaXN0b3J5L3N0YXR1cy1oaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9zdGF0dXMtaGlzdG9yeS9zdGF0dXMtaGlzdG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBVS9DLE1BQU0sT0FBTyxzQkFBc0I7SUFNYjtJQUNhO0lBTnhCLGFBQWEsQ0FBVTtJQUNoQyxTQUFTLEdBQVcsd0JBQXdCLENBQUM7SUFDN0MsUUFBUSxDQUFtQjtJQUMzQixZQUFZLENBQVM7SUFFckIsWUFBb0Isb0JBQTBDLEVBQzdCLG1CQUFvQztRQURqRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzdCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBaUI7SUFBSSxDQUFDO0lBRTFFLFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQ2xKLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLEVBQ3BDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFRLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUNqRSxDQUFDO0lBRUosQ0FBQzt3R0FmVSxzQkFBc0Isc0RBT3ZCLGFBQWE7NEZBUFosc0JBQXNCLDhIQ2RuQyxpZ0NBZ0NBLHlERHJCWSxZQUFZOzs0RkFHWCxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0Usd0JBQXdCLFdBR3pCLENBQUMsWUFBWSxDQUFDLGNBQ1gsSUFBSTs7MEJBU2IsTUFBTTsyQkFBQyxhQUFhO3lDQU5kLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVN0YXR1c0hpc3RvcmllcyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVN0YXR1c0hpc3Rvcmllcyc7XG5pbXBvcnQgeyBTdGF0dXNIaXN0b3J5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0YXR1cy1oaXN0b3J5L3N0YXR1cy1oaXN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG50eXBlIFBheW1lbnRMaWJBbGlhcyA9IFBheW1lbnRMaWJDb21wb25lbnQ7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LXBheW1lbnQtc3RhdHVzZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLWhpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMtaGlzdG9yeS5jb21wb25lbnQuY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFN0YXR1c0hpc3RvcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBpc1Rha2VQYXltZW50OiBib29sZWFuO1xuICBwYWdlVGl0bGU6IHN0cmluZyA9ICdQYXltZW50IHN0YXR1cyBoaXN0b3J5JztcbiAgc3RhdHVzZXM6IElTdGF0dXNIaXN0b3JpZXM7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RhdHVzSGlzdG9yeVNlcnZpY2U6IFN0YXR1c0hpc3RvcnlTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ1BBWU1FTlRfTElCJykgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQWxpYXMpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RhdHVzSGlzdG9yeVNlcnZpY2UuZ2V0UGF5bWVudFN0YXR1c2VzQnlSZWZlcmVuY2UodGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRSZWZlcmVuY2UsIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50TWV0aG9kKS5zdWJzY3JpYmUoXG4gICAgICBzdGF0dXNlcyA9PiB0aGlzLnN0YXR1c2VzID0gc3RhdHVzZXMsXG4gICAgICAoZXJyb3I6IGFueSkgPT4gdGhpcy5lcnJvck1lc3NhZ2UgPSA8YW55PmVycm9yLnJlcGxhY2UoL1wiL2csIFwiXCIpXG4gICAgKTtcblxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgPGgyIGNsYXNzPVwiaGVhZGluZy1tZWRpdW1cIj57eyBwYWdlVGl0bGUgfX08L2gyPlxuPC9kaXY+XG5cblxuPGRpdiBjbGFzcz1cImVycm9yLXN1bW1hcnlcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsbGVkYnk9XCJmYWlsdXJlLWVycm9yLXN1bW1hcnktaGVhZGluZ1wiIHRhYmluZGV4PVwiLTFcIiAqbmdJZj1cImVycm9yTWVzc2FnZVwiPlxuICA8aDIgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bSBlcnJvci1zdW1tYXJ5LWhlYWRpbmdcIiBpZD1cImZhaWx1cmUtZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCI+XG4gICAgUGF5bWVudCBzdGF0dXMgaGlzdG9yeSBjb3VsZCBub3QgYmUgcmV0cmlldmVkXG4gIDwvaDI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAge3sgZXJyb3JNZXNzYWdlIH19XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCIhZXJyb3JNZXNzYWdlICYmIHN0YXR1c2VzXCI+XG4gIDx0YWJsZT5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD5TdGF0dXM8L3RoPlxuICAgICAgICAgIDx0aCAqbmdJZj1cImlzVGFrZVBheW1lbnRcIj5BbW91bnQ8L3RoPlxuICAgICAgICAgIDx0aD5EYXRlIGFuZCB0aW1lPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+IFxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHN0YXR1cyBvZiBzdGF0dXNlcy5zdGF0dXNfaGlzdG9yaWVzXCI+XG4gICAgICAgICAgPHRkPnt7IHN0YXR1cy5zdGF0dXMgfX08L3RkPlxuICAgICAgICAgIDx0ZCAqbmdJZj1cImlzVGFrZVBheW1lbnRcIj7Co3t7IHN0YXR1c2VzLmFtb3VudCB8IG51bWJlcjonLjInIH19PC90ZD5cbiAgICAgICAgICA8dGQ+e3sgc3RhdHVzLmRhdGVfY3JlYXRlZCB8IGRhdGU6J2RkIE1NTU0geXl5eSBISDptbTpzcyd9fTwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
|
|
@@ -99,10 +99,10 @@ export class TableComponent {
|
|
|
99
99
|
goToCaseReview(ccdCaseNumber, refundData) {
|
|
100
100
|
this.router.navigate([`/cases/case-details/${ccdCaseNumber}`], { relativeTo: this.activeRoute });
|
|
101
101
|
}
|
|
102
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
103
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
102
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: [{ token: 'PAYMENT_LIB' }, { token: i0.ChangeDetectorRef }, { token: i1.OrderslistService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableComponent, selector: "ccpay-table", inputs: { DATASOURCE: "DATASOURCE", STATUS: "STATUS", errorMessage: "errorMessage" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"add-remission\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n\n <div *ngIf=\"dataSource.data.length > 0\" class=\"govuk-form-group float-right\">\n <label class=\"govuk-label dropdpwn\" for=\"sort\">\n Filter by caseworker:\n </label>\n <select class=\"govuk-select\" id=\"sort\" name=\"sort\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>All caseworkers</option>\n <option *ngFor=\"let name of userLst;\" value=\"{{name}}\">{{name}}</option>ss\n </select>\n </div>\n\n <div *ngIf=\"dataSource.data.length > 0\" class=\"govuk-form-group float-right-padding\">\n <label class=\"govuk-label dropdpwn\" for=\"sort\">\n Filter by service:\n </label>\n <select class=\"govuk-select\" id=\"sort\" name=\"sort\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>All services</option>\n <option *ngFor=\"let name of serviceLst;\" value=\"{{name}}\">{{name}}</option>\n </select>\n </div>\n\n <div *ngIf=\"dataSource.data.length > 0\" class=\"example-container\">\n\n <mat-table [dataSource]=\"dataSource\" matSort>\n\n <ng-container matColumnDef=\"ccd_case_number\">\n <mat-header-cell *matHeaderCellDef>Case reference</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.ccd_case_number | ccdHyphens }}</mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"refund_reference\">\n <mat-header-cell *matHeaderCellDef> Refund reference</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.refund_reference}}</mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"user_full_name\">\n <mat-header-cell *matHeaderCellDef> Submitted by</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.user_full_name }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"date_created\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Date created</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.date_created | date:'d MMMM yyyy'}}</mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"date_updated\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Last updated</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.date_updated |\n date:'d MMMM yyyy'}}\n </mat-cell>\n </ng-container>\n\n <ng-container *ngIf=\"isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef> Action</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\"><a href=\"javascript:void(0)\"\n (click)=\"goToCaseReview(row.ccd_case_number, row)\">Review\n case</a> <a href=\"javascript:void(0)\" (click)=\"goToRefundProcessComponent(row.refund_reference, row)\">Process\n refund</a></mat-cell>\n </ng-container>\n\n <ng-container *ngIf=\"!isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef> Action</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\"><a href=\"javascript:void(0)\"\n (click)=\"goToRefundViewComponent(row.refund_reference, row)\">Review\n refund</a></mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\">\n </mat-row>\n </mat-table>\n <mat-paginator [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator>\n </div>\n\n <div class=\"govuk-label dropdpwn\" *ngIf=\"dataSource.data.length === 0\">No records to display</div>\n</div>\n", styles: [".mat-header-row{min-height:27px}.mat-cell{padding:0 10px 0 0;text-align:left;word-wrap:break-word;white-space:inherit!important;font-size:19px;line-height:25px;font-family:nta,Arial,sans-serif;font-weight:400}.mat-table{color:#0b0c0c;display:table;font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;margin-bottom:1px;box-sizing:border-box;text-indent:initial;border-spacing:0;border-collapse:collapse;font-size:1.1875rem;line-height:1.31578947;table-layout:fixed;width:102%}.mat-header-cell,.mat-mdc-header-cell{text-align:left;font-weight:700;padding:10px 10px 10px 0;word-wrap:break-word;font-size:19px;line-height:25px;color:#0b0c0c;cursor:pointer;font-family:inherit}.mat-mdc-row,mat-header-row,mat-footer-row{border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}.row.mat-mdc-row{border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}.dropdpwn{display:inline-block;margin-right:10px;font-size:19px}.mat-column-ccdCaseNumber{flex:3em}.mat-column-refundReference{flex:6em}.mat-column-reason{flex:2em}.govuk-select{font-size:19px;font-weight:400}.govuk-error-summary__title{font-size:24px!important}.float-right{float:right}.float-right-padding{float:initial;padding-right:2em;padding-left:8em}.float-left-padding{padding-left:12em}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i8.CcdHyphensPipe, name: "ccdHyphens" }] });
|
|
104
104
|
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
|
|
106
106
|
type: Component,
|
|
107
107
|
args: [{ selector: 'ccpay-table', template: "<div class=\"add-remission\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n\n <div *ngIf=\"dataSource.data.length > 0\" class=\"govuk-form-group float-right\">\n <label class=\"govuk-label dropdpwn\" for=\"sort\">\n Filter by caseworker:\n </label>\n <select class=\"govuk-select\" id=\"sort\" name=\"sort\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>All caseworkers</option>\n <option *ngFor=\"let name of userLst;\" value=\"{{name}}\">{{name}}</option>ss\n </select>\n </div>\n\n <div *ngIf=\"dataSource.data.length > 0\" class=\"govuk-form-group float-right-padding\">\n <label class=\"govuk-label dropdpwn\" for=\"sort\">\n Filter by service:\n </label>\n <select class=\"govuk-select\" id=\"sort\" name=\"sort\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>All services</option>\n <option *ngFor=\"let name of serviceLst;\" value=\"{{name}}\">{{name}}</option>\n </select>\n </div>\n\n <div *ngIf=\"dataSource.data.length > 0\" class=\"example-container\">\n\n <mat-table [dataSource]=\"dataSource\" matSort>\n\n <ng-container matColumnDef=\"ccd_case_number\">\n <mat-header-cell *matHeaderCellDef>Case reference</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.ccd_case_number | ccdHyphens }}</mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"refund_reference\">\n <mat-header-cell *matHeaderCellDef> Refund reference</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.refund_reference}}</mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"user_full_name\">\n <mat-header-cell *matHeaderCellDef> Submitted by</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.user_full_name }}\n </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"date_created\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Date created</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.date_created | date:'d MMMM yyyy'}}</mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"date_updated\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Last updated</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.date_updated |\n date:'d MMMM yyyy'}}\n </mat-cell>\n </ng-container>\n\n <ng-container *ngIf=\"isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef> Action</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\"><a href=\"javascript:void(0)\"\n (click)=\"goToCaseReview(row.ccd_case_number, row)\">Review\n case</a> <a href=\"javascript:void(0)\" (click)=\"goToRefundProcessComponent(row.refund_reference, row)\">Process\n refund</a></mat-cell>\n </ng-container>\n\n <ng-container *ngIf=\"!isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef> Action</mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\"><a href=\"javascript:void(0)\"\n (click)=\"goToRefundViewComponent(row.refund_reference, row)\">Review\n refund</a></mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\">\n </mat-row>\n </mat-table>\n <mat-paginator [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator>\n </div>\n\n <div class=\"govuk-label dropdpwn\" *ngIf=\"dataSource.data.length === 0\">No records to display</div>\n</div>\n", styles: [".mat-header-row{min-height:27px}.mat-cell{padding:0 10px 0 0;text-align:left;word-wrap:break-word;white-space:inherit!important;font-size:19px;line-height:25px;font-family:nta,Arial,sans-serif;font-weight:400}.mat-table{color:#0b0c0c;display:table;font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;margin-bottom:1px;box-sizing:border-box;text-indent:initial;border-spacing:0;border-collapse:collapse;font-size:1.1875rem;line-height:1.31578947;table-layout:fixed;width:102%}.mat-header-cell,.mat-mdc-header-cell{text-align:left;font-weight:700;padding:10px 10px 10px 0;word-wrap:break-word;font-size:19px;line-height:25px;color:#0b0c0c;cursor:pointer;font-family:inherit}.mat-mdc-row,mat-header-row,mat-footer-row{border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}.row.mat-mdc-row{border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}.dropdpwn{display:inline-block;margin-right:10px;font-size:19px}.mat-column-ccdCaseNumber{flex:3em}.mat-column-refundReference{flex:6em}.mat-column-reason{flex:2em}.govuk-select{font-size:19px;font-weight:400}.govuk-error-summary__title{font-size:24px!important}.float-right{float:right}.float-right-padding{float:initial;padding-right:2em;padding-left:8em}.float-left-padding{padding-left:12em}\n"] }]
|
|
108
108
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
124
124
|
type: ViewChild,
|
|
125
125
|
args: [MatSort]
|
|
126
126
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQU96RCxNQUFNLE9BQU8sY0FBYztJQWlCUTtJQUN2QjtJQUNBO0lBQ0E7SUFDQTtJQXBCVyxVQUFVLENBQVE7SUFDdEIsTUFBTSxDQUFTO0lBQ1QsWUFBWSxDQUFTO0lBQzVDLGNBQWMsQ0FBVTtJQUN4Qix5R0FBeUc7SUFDekcsZ0JBQWdCLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXZILFVBQVUsQ0FBMEI7SUFDcEMsT0FBTyxDQUFDO0lBQ1IsVUFBVSxDQUFDO0lBQ1gsV0FBVyxDQUFTO0lBQ3BCLEtBQUssQ0FBUztJQUNkLFVBQVUsQ0FBZ0I7SUFD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QUMsUUFBUSxDQUFDLENBQUMsdUJBQXVCLGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkcsQ0FBQzt1R0FwRlUsY0FBYyxrQkFpQmYsYUFBYTsyRkFqQlosY0FBYyxvTEFjZCxZQUFZLHVFQUNaLE9BQU8sZ0RDN0JwQix1eUlBeUZBOzsyRkQzRWEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxhQUFhOzswQkFxQnBCLE1BQU07MkJBQUMsYUFBYTsySkFoQkYsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNGLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDUSxZQUFZO3NCQUFsQyxLQUFLO3VCQUFDLGNBQWM7Z0JBV0ksU0FBUztzQkFBakMsU0FBUzt1QkFBQyxZQUFZO2dCQUNILElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBJUmVmdW5kTGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZExpc3QnO1xuaW1wb3J0IHsgT3JkZXJzbGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmRlcnNsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG50eXBlIFBheW1lbnRMaWJBbGlhcyA9IFBheW1lbnRMaWJDb21wb25lbnQ7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgnREFUQVNPVVJDRScpIERBVEFTT1VSQ0U6IGFueVtdO1xuICBASW5wdXQoJ1NUQVRVUycpIFNUQVRVUzogc3RyaW5nO1xuICBASW5wdXQoJ2Vycm9yTWVzc2FnZScpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBpc0FwcHJvdmFsRmxvdzogYm9vbGVhbjtcbiAgLy8gZGlzcGxheWVkQ29sdW1ucyA9IFsnY2NkQ2FzZU51bWJlcicsICdyZWZ1bmRSZWZlcmVuY2UnLCAncmVhc29uJywgJ2NyZWF0ZUJ5JywgJ3VwZGF0ZURhdGUnLCAnQWN0aW9uJ107XG4gIGRpc3BsYXllZENvbHVtbnMgPSBbJ2NjZF9jYXNlX251bWJlcicsICdyZWZ1bmRfcmVmZXJlbmNlJywgJ3VzZXJfZnVsbF9uYW1lJywgJ2RhdGVfY3JlYXRlZCcsICdkYXRlX3VwZGF0ZWQnLCAnQWN0aW9uJ107XG5cbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT47XG4gIHVzZXJMc3Q7XG4gIHNlcnZpY2VMc3Q7XG4gIGFjdHVhbGNvdW50OiBudW1iZXI7XG4gIGNvdW50OiBudW1iZXI7XG4gIHJlZnVuZExpc3Q6IElSZWZ1bmRMaXN0W107XG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdQQVlNRU5UX0xJQicpIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkFsaWFzLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgT3JkZXJzbGlzdFNlcnZpY2U6IE9yZGVyc2xpc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3RpdmVSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7IH1cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9yTWVzc2FnZTtcbiAgICBpZiAodGhpcy5TVEFUVVMudG9Mb3dlckNhc2UoKSA9PT0gJ3NlbnQgZm9yIGFwcHJvdmFsJykge1xuICAgICAgdGhpcy5pc0FwcHJvdmFsRmxvdyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNBcHByb3ZhbEZsb3cgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5yZWZ1bmRMaXN0ID0gdGhpcy5EQVRBU09VUkNFO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5yZWZ1bmRMaXN0KTtcbiAgICB0aGlzLmFjdHVhbGNvdW50ID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xuICAgIGlmICh0aGlzLnJlZnVuZExpc3QgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy51c2VyTHN0ID0gdGhpcy5yZWZ1bmRMaXN0LnJlZHVjZSgociwgeyB1c2VyX2Z1bGxfbmFtZSB9KSA9PiAoclt1c2VyX2Z1bGxfbmFtZV0gPSAnJywgciksIHt9KTtcbiAgICAgIHRoaXMudXNlckxzdCA9IE9iamVjdC5rZXlzKHRoaXMudXNlckxzdCk7XG4gICAgICB0aGlzLnVzZXJMc3Quc29ydCgoYSwgYikgPT4gYS50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYikpO1xuICAgICAgdGhpcy5zZXJ2aWNlTHN0ID0gdGhpcy5yZWZ1bmRMaXN0LnJlZHVjZSgociwgeyBzZXJ2aWNlX3R5cGUgfSkgPT4gKHJbc2VydmljZV90eXBlXSA9ICcnLCByKSwge30pO1xuICAgICAgdGhpcy5zZXJ2aWNlTHN0ID0gT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlTHN0KTtcbiAgICAgIHRoaXMuc2VydmljZUxzdC5zb3J0KChhLCBiKSA9PiBhLnRvU3RyaW5nKCkubG9jYWxlQ29tcGFyZShiKSk7XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBwYWdpbmF0b3IgYW5kIHNvcnQgYWZ0ZXIgdGhlIHZpZXcgaW5pdCBzaW5jZSB0aGlzIGNvbXBvbmVudCB3aWxsXG4gICAqIGJlIGFibGUgdG8gcXVlcnkgaXRzIHZpZXcgZm9yIHRoZSBpbml0aWFsaXplZCBwYWdpbmF0b3IgYW5kIHNvcnQuXG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKSB7XG5cbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcblxuICAgIC8vY29uc3Qgc29ydFN0YXRlOiBTb3J0ID0ge2FjdGl2ZTogJ2RhdGVfdXBkYXRlZCcsIGRpcmVjdGlvbjogJ2Rlc2MnfTtcbiAgICAvLyB0aGlzLnNvcnQuYWN0aXZlID0gc29ydFN0YXRlLmFjdGl2ZTtcbiAgICAvLyB0aGlzLnNvcnQuZGlyZWN0aW9uID0gc29ydFN0YXRlLmRpcmVjdGlvbjtcbiAgICAvLyB0aGlzLnNvcnQuc29ydENoYW5nZS5lbWl0KHNvcnRTdGF0ZSk7XG4gICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIGFwcGx5RmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcbiAgICBmaWx0ZXJWYWx1ZSA9IGZpbHRlclZhbHVlLnRyaW0oKTsgLy8gUmVtb3ZlIHdoaXRlc3BhY2VcbiAgICBmaWx0ZXJWYWx1ZSA9IGZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCk7IC8vIERhdGFzb3VyY2UgZGVmYXVsdHMgdG8gbG93ZXJjYXNlIG1hdGNoZXNcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gZmlsdGVyVmFsdWU7XG4gIH1cbiAgc2VsZWN0Y2hhbmdlKGFyZ3MpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gYXJncy50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5hY3R1YWxjb3VudCA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG4gIH1cbiAgZ29Ub1JlZnVuZFByb2Nlc3NDb21wb25lbnQocmVmdW5kUmVmZXJlbmNlOiBzdHJpbmcsIHJlZnVuZERhdGE6IElSZWZ1bmRMaXN0KSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnJlZnVuZGxpc3Rzb3VyY2UgPSByZWZ1bmREYXRhO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5yZWZ1bmRSZWZlcmVuY2UgPSByZWZ1bmRSZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3Byb2Nlc3MtcmVmdW5kJztcbiAgfVxuICBnb1RvUmVmdW5kVmlld0NvbXBvbmVudChyZWZ1bmRSZWZlcmVuY2U6IHN0cmluZywgcmVmdW5kRGF0YTogSVJlZnVuZExpc3QpIHtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldFJlZnVuZFZpZXcocmVmdW5kRGF0YSk7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVIgPSByZWZ1bmREYXRhLmNjZF9jYXNlX251bWJlcjtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNDYWxsRnJvbVJlZnVuZExpc3QgPSB0cnVlO1xuICB9XG4gIGdvVG9DYXNlUmV2aWV3KGNjZENhc2VOdW1iZXI6IHN0cmluZywgcmVmdW5kRGF0YTogSVJlZnVuZExpc3QpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjY2RDYXNlTnVtYmVyfWBdLCB7IHJlbGF0aXZlVG86IHRoaXMuYWN0aXZlUm91dGUgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGQtcmVtaXNzaW9uXCI+XG4gIDxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3Itc3VtbWFyeVwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWxsZWRieT1cImZhaWx1cmUtZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZy1tZWRpdW0gZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCIgaWQ9XCJmYWlsdXJlLWVycm9yLXN1bW1hcnktaGVhZGluZ1wiPlxuICAgICAgICBFcnJvciBpbiBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0XG4gICAgICA8L2gyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cblxuICA8ZGl2ICpuZ0lmPVwiZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA+IDBcIiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgZmxvYXQtcmlnaHRcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBkcm9wZHB3blwiIGZvcj1cInNvcnRcIj5cbiAgICAgIEZpbHRlciBieSBjYXNld29ya2VyOlxuICAgIDwvbGFiZWw+XG4gICAgPHNlbGVjdCBjbGFzcz1cImdvdnVrLXNlbGVjdFwiIGlkPVwic29ydFwiIG5hbWU9XCJzb3J0XCIgKGNoYW5nZSk9XCJzZWxlY3RjaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIHNlbGVjdGVkPSdzZWxlY3RlZCc+QWxsIGNhc2V3b3JrZXJzPC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBuYW1lIG9mIHVzZXJMc3Q7XCIgdmFsdWU9XCJ7e25hbWV9fVwiPnt7bmFtZX19PC9vcHRpb24+c3NcbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImRhdGFTb3VyY2UuZGF0YS5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIGZsb2F0LXJpZ2h0LXBhZGRpbmdcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBkcm9wZHB3blwiIGZvcj1cInNvcnRcIj5cbiAgICAgIEZpbHRlciBieSBzZXJ2aWNlOlxuICAgIDwvbGFiZWw+XG4gICAgPHNlbGVjdCBjbGFzcz1cImdvdnVrLXNlbGVjdFwiIGlkPVwic29ydFwiIG5hbWU9XCJzb3J0XCIgKGNoYW5nZSk9XCJzZWxlY3RjaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIHNlbGVjdGVkPSdzZWxlY3RlZCc+QWxsIHNlcnZpY2VzPC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBuYW1lIG9mIHNlcnZpY2VMc3Q7XCIgdmFsdWU9XCJ7e25hbWV9fVwiPnt7bmFtZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkYXRhU291cmNlLmRhdGEubGVuZ3RoID4gMFwiIGNsYXNzPVwiZXhhbXBsZS1jb250YWluZXJcIj5cblxuICAgIDxtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQ+XG5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY2NkX2Nhc2VfbnVtYmVyXCI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+Q2FzZSByZWZlcmVuY2U8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwid2hpdGVzcGFjZS1pbmhlcml0XCI+IHt7cm93LmNjZF9jYXNlX251bWJlciB8IGNjZEh5cGhlbnMgfX08L21hdC1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicmVmdW5kX3JlZmVyZW5jZVwiPlxuICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBSZWZ1bmQgcmVmZXJlbmNlPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cIndoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3Jvdy5yZWZ1bmRfcmVmZXJlbmNlfX08L21hdC1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXNlcl9mdWxsX25hbWVcIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gU3VibWl0dGVkIGJ5PC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBbc3R5bGUuY29sb3JdPVwicm93LmNvbG9yXCIgY2xhc3M9XCJ3aGl0ZXNwYWNlLWluaGVyaXRcIj4ge3tyb3cudXNlcl9mdWxsX25hbWUgfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRhdGVfY3JlYXRlZFwiPlxuICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gRGF0ZSBjcmVhdGVkPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cIndoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3Jvdy5kYXRlX2NyZWF0ZWQgfCBkYXRlOidkIE1NTU0geXl5eSd9fTwvbWF0LWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkYXRlX3VwZGF0ZWRcIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+IExhc3QgdXBkYXRlZDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgW3N0eWxlLmNvbG9yXT1cInJvdy5jb2xvclwiIGNsYXNzPVwid2hpdGVzcGFjZS1pbmhlcml0XCI+IHt7cm93LmRhdGVfdXBkYXRlZCB8XG4gICAgICAgICAgZGF0ZTonZCBNTU1NIHl5eXknfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNBcHByb3ZhbEZsb3dcIiBtYXRDb2x1bW5EZWY9XCJBY3Rpb25cIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9uPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBbc3R5bGUuY29sb3JdPVwicm93LmNvbG9yXCI+PGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub0Nhc2VSZXZpZXcocm93LmNjZF9jYXNlX251bWJlciwgcm93KVwiPlJldmlld1xuICAgICAgICAgIGNhc2U8L2E+Jm5ic3A7PGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJnb1RvUmVmdW5kUHJvY2Vzc0NvbXBvbmVudChyb3cucmVmdW5kX3JlZmVyZW5jZSwgcm93KVwiPlByb2Nlc3NcbiAgICAgICAgICByZWZ1bmQ8L2E+PC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQXBwcm92YWxGbG93XCIgbWF0Q29sdW1uRGVmPVwiQWN0aW9uXCI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbjwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgW3N0eWxlLmNvbG9yXT1cInJvdy5jb2xvclwiPjxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9SZWZ1bmRWaWV3Q29tcG9uZW50KHJvdy5yZWZ1bmRfcmVmZXJlbmNlLCByb3cpXCI+UmV2aWV3XG4gICAgICAgICAgcmVmdW5kPC9hPjwvbWF0LWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPlxuICAgICAgPC9tYXQtcm93PlxuICAgIDwvbWF0LXRhYmxlPlxuICAgIDxtYXQtcGFnaW5hdG9yIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiPjwvbWF0LXBhZ2luYXRvcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWxhYmVsIGRyb3BkcHduXCIgKm5nSWY9XCJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwXCI+Tm8gcmVjb3JkcyB0byBkaXNwbGF5PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQU96RCxNQUFNLE9BQU8sY0FBYztJQWlCUTtJQUN2QjtJQUNBO0lBQ0E7SUFDQTtJQXBCVyxVQUFVLENBQVE7SUFDdEIsTUFBTSxDQUFTO0lBQ1QsWUFBWSxDQUFTO0lBQzVDLGNBQWMsQ0FBVTtJQUN4Qix5R0FBeUc7SUFDekcsZ0JBQWdCLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXZILFVBQVUsQ0FBMEI7SUFDcEMsT0FBTyxDQUFDO0lBQ1IsVUFBVSxDQUFDO0lBQ1gsV0FBVyxDQUFTO0lBQ3BCLEtBQUssQ0FBUztJQUNkLFVBQVUsQ0FBZ0I7SUFD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QUMsUUFBUSxDQUFDLENBQUMsdUJBQXVCLGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkcsQ0FBQzt3R0FwRlUsY0FBYyxrQkFpQmYsYUFBYTs0RkFqQlosY0FBYyxvTEFjZCxZQUFZLHVFQUNaLE9BQU8sZ0RDN0JwQix1eUlBeUZBOzs0RkQzRWEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxhQUFhOzswQkFxQnBCLE1BQU07MkJBQUMsYUFBYTsySkFoQkYsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNGLE1BQU07c0JBQXRCLEtBQUs7dUJBQUMsUUFBUTtnQkFDUSxZQUFZO3NCQUFsQyxLQUFLO3VCQUFDLGNBQWM7Z0JBV0ksU0FBUztzQkFBakMsU0FBUzt1QkFBQyxZQUFZO2dCQUNILElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBJUmVmdW5kTGlzdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVJlZnVuZExpc3QnO1xuaW1wb3J0IHsgT3JkZXJzbGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmRlcnNsaXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG50eXBlIFBheW1lbnRMaWJBbGlhcyA9IFBheW1lbnRMaWJDb21wb25lbnQ7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgnREFUQVNPVVJDRScpIERBVEFTT1VSQ0U6IGFueVtdO1xuICBASW5wdXQoJ1NUQVRVUycpIFNUQVRVUzogc3RyaW5nO1xuICBASW5wdXQoJ2Vycm9yTWVzc2FnZScpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBpc0FwcHJvdmFsRmxvdzogYm9vbGVhbjtcbiAgLy8gZGlzcGxheWVkQ29sdW1ucyA9IFsnY2NkQ2FzZU51bWJlcicsICdyZWZ1bmRSZWZlcmVuY2UnLCAncmVhc29uJywgJ2NyZWF0ZUJ5JywgJ3VwZGF0ZURhdGUnLCAnQWN0aW9uJ107XG4gIGRpc3BsYXllZENvbHVtbnMgPSBbJ2NjZF9jYXNlX251bWJlcicsICdyZWZ1bmRfcmVmZXJlbmNlJywgJ3VzZXJfZnVsbF9uYW1lJywgJ2RhdGVfY3JlYXRlZCcsICdkYXRlX3VwZGF0ZWQnLCAnQWN0aW9uJ107XG5cbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT47XG4gIHVzZXJMc3Q7XG4gIHNlcnZpY2VMc3Q7XG4gIGFjdHVhbGNvdW50OiBudW1iZXI7XG4gIGNvdW50OiBudW1iZXI7XG4gIHJlZnVuZExpc3Q6IElSZWZ1bmRMaXN0W107XG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdQQVlNRU5UX0xJQicpIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkFsaWFzLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgT3JkZXJzbGlzdFNlcnZpY2U6IE9yZGVyc2xpc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3RpdmVSb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7IH1cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9yTWVzc2FnZTtcbiAgICBpZiAodGhpcy5TVEFUVVMudG9Mb3dlckNhc2UoKSA9PT0gJ3NlbnQgZm9yIGFwcHJvdmFsJykge1xuICAgICAgdGhpcy5pc0FwcHJvdmFsRmxvdyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNBcHByb3ZhbEZsb3cgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5yZWZ1bmRMaXN0ID0gdGhpcy5EQVRBU09VUkNFO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5yZWZ1bmRMaXN0KTtcbiAgICB0aGlzLmFjdHVhbGNvdW50ID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xuICAgIGlmICh0aGlzLnJlZnVuZExpc3QgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy51c2VyTHN0ID0gdGhpcy5yZWZ1bmRMaXN0LnJlZHVjZSgociwgeyB1c2VyX2Z1bGxfbmFtZSB9KSA9PiAoclt1c2VyX2Z1bGxfbmFtZV0gPSAnJywgciksIHt9KTtcbiAgICAgIHRoaXMudXNlckxzdCA9IE9iamVjdC5rZXlzKHRoaXMudXNlckxzdCk7XG4gICAgICB0aGlzLnVzZXJMc3Quc29ydCgoYSwgYikgPT4gYS50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYikpO1xuICAgICAgdGhpcy5zZXJ2aWNlTHN0ID0gdGhpcy5yZWZ1bmRMaXN0LnJlZHVjZSgociwgeyBzZXJ2aWNlX3R5cGUgfSkgPT4gKHJbc2VydmljZV90eXBlXSA9ICcnLCByKSwge30pO1xuICAgICAgdGhpcy5zZXJ2aWNlTHN0ID0gT2JqZWN0LmtleXModGhpcy5zZXJ2aWNlTHN0KTtcbiAgICAgIHRoaXMuc2VydmljZUxzdC5zb3J0KChhLCBiKSA9PiBhLnRvU3RyaW5nKCkubG9jYWxlQ29tcGFyZShiKSk7XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBwYWdpbmF0b3IgYW5kIHNvcnQgYWZ0ZXIgdGhlIHZpZXcgaW5pdCBzaW5jZSB0aGlzIGNvbXBvbmVudCB3aWxsXG4gICAqIGJlIGFibGUgdG8gcXVlcnkgaXRzIHZpZXcgZm9yIHRoZSBpbml0aWFsaXplZCBwYWdpbmF0b3IgYW5kIHNvcnQuXG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKSB7XG5cbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcblxuICAgIC8vY29uc3Qgc29ydFN0YXRlOiBTb3J0ID0ge2FjdGl2ZTogJ2RhdGVfdXBkYXRlZCcsIGRpcmVjdGlvbjogJ2Rlc2MnfTtcbiAgICAvLyB0aGlzLnNvcnQuYWN0aXZlID0gc29ydFN0YXRlLmFjdGl2ZTtcbiAgICAvLyB0aGlzLnNvcnQuZGlyZWN0aW9uID0gc29ydFN0YXRlLmRpcmVjdGlvbjtcbiAgICAvLyB0aGlzLnNvcnQuc29ydENoYW5nZS5lbWl0KHNvcnRTdGF0ZSk7XG4gICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIGFwcGx5RmlsdGVyKGZpbHRlclZhbHVlOiBzdHJpbmcpIHtcbiAgICBmaWx0ZXJWYWx1ZSA9IGZpbHRlclZhbHVlLnRyaW0oKTsgLy8gUmVtb3ZlIHdoaXRlc3BhY2VcbiAgICBmaWx0ZXJWYWx1ZSA9IGZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCk7IC8vIERhdGFzb3VyY2UgZGVmYXVsdHMgdG8gbG93ZXJjYXNlIG1hdGNoZXNcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gZmlsdGVyVmFsdWU7XG4gIH1cbiAgc2VsZWN0Y2hhbmdlKGFyZ3MpIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gYXJncy50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5hY3R1YWxjb3VudCA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG4gIH1cbiAgZ29Ub1JlZnVuZFByb2Nlc3NDb21wb25lbnQocmVmdW5kUmVmZXJlbmNlOiBzdHJpbmcsIHJlZnVuZERhdGE6IElSZWZ1bmRMaXN0KSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnJlZnVuZGxpc3Rzb3VyY2UgPSByZWZ1bmREYXRhO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5yZWZ1bmRSZWZlcmVuY2UgPSByZWZ1bmRSZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3Byb2Nlc3MtcmVmdW5kJztcbiAgfVxuICBnb1RvUmVmdW5kVmlld0NvbXBvbmVudChyZWZ1bmRSZWZlcmVuY2U6IHN0cmluZywgcmVmdW5kRGF0YTogSVJlZnVuZExpc3QpIHtcbiAgICB0aGlzLk9yZGVyc2xpc3RTZXJ2aWNlLnNldFJlZnVuZFZpZXcocmVmdW5kRGF0YSk7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVIgPSByZWZ1bmREYXRhLmNjZF9jYXNlX251bWJlcjtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNDYWxsRnJvbVJlZnVuZExpc3QgPSB0cnVlO1xuICB9XG4gIGdvVG9DYXNlUmV2aWV3KGNjZENhc2VOdW1iZXI6IHN0cmluZywgcmVmdW5kRGF0YTogSVJlZnVuZExpc3QpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9jYXNlcy9jYXNlLWRldGFpbHMvJHtjY2RDYXNlTnVtYmVyfWBdLCB7IHJlbGF0aXZlVG86IHRoaXMuYWN0aXZlUm91dGUgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGQtcmVtaXNzaW9uXCI+XG4gIDxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3Itc3VtbWFyeVwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWxsZWRieT1cImZhaWx1cmUtZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZy1tZWRpdW0gZXJyb3Itc3VtbWFyeS1oZWFkaW5nXCIgaWQ9XCJmYWlsdXJlLWVycm9yLXN1bW1hcnktaGVhZGluZ1wiPlxuICAgICAgICBFcnJvciBpbiBwcm9jZXNzaW5nIHRoZSByZXF1ZXN0XG4gICAgICA8L2gyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cblxuICA8ZGl2ICpuZ0lmPVwiZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA+IDBcIiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgZmxvYXQtcmlnaHRcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBkcm9wZHB3blwiIGZvcj1cInNvcnRcIj5cbiAgICAgIEZpbHRlciBieSBjYXNld29ya2VyOlxuICAgIDwvbGFiZWw+XG4gICAgPHNlbGVjdCBjbGFzcz1cImdvdnVrLXNlbGVjdFwiIGlkPVwic29ydFwiIG5hbWU9XCJzb3J0XCIgKGNoYW5nZSk9XCJzZWxlY3RjaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIHNlbGVjdGVkPSdzZWxlY3RlZCc+QWxsIGNhc2V3b3JrZXJzPC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBuYW1lIG9mIHVzZXJMc3Q7XCIgdmFsdWU9XCJ7e25hbWV9fVwiPnt7bmFtZX19PC9vcHRpb24+c3NcbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImRhdGFTb3VyY2UuZGF0YS5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIGZsb2F0LXJpZ2h0LXBhZGRpbmdcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBkcm9wZHB3blwiIGZvcj1cInNvcnRcIj5cbiAgICAgIEZpbHRlciBieSBzZXJ2aWNlOlxuICAgIDwvbGFiZWw+XG4gICAgPHNlbGVjdCBjbGFzcz1cImdvdnVrLXNlbGVjdFwiIGlkPVwic29ydFwiIG5hbWU9XCJzb3J0XCIgKGNoYW5nZSk9XCJzZWxlY3RjaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIHNlbGVjdGVkPSdzZWxlY3RlZCc+QWxsIHNlcnZpY2VzPC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBuYW1lIG9mIHNlcnZpY2VMc3Q7XCIgdmFsdWU9XCJ7e25hbWV9fVwiPnt7bmFtZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJkYXRhU291cmNlLmRhdGEubGVuZ3RoID4gMFwiIGNsYXNzPVwiZXhhbXBsZS1jb250YWluZXJcIj5cblxuICAgIDxtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQ+XG5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY2NkX2Nhc2VfbnVtYmVyXCI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+Q2FzZSByZWZlcmVuY2U8L21hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwid2hpdGVzcGFjZS1pbmhlcml0XCI+IHt7cm93LmNjZF9jYXNlX251bWJlciB8IGNjZEh5cGhlbnMgfX08L21hdC1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicmVmdW5kX3JlZmVyZW5jZVwiPlxuICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBSZWZ1bmQgcmVmZXJlbmNlPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cIndoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3Jvdy5yZWZ1bmRfcmVmZXJlbmNlfX08L21hdC1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidXNlcl9mdWxsX25hbWVcIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gU3VibWl0dGVkIGJ5PC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBbc3R5bGUuY29sb3JdPVwicm93LmNvbG9yXCIgY2xhc3M9XCJ3aGl0ZXNwYWNlLWluaGVyaXRcIj4ge3tyb3cudXNlcl9mdWxsX25hbWUgfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRhdGVfY3JlYXRlZFwiPlxuICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4gRGF0ZSBjcmVhdGVkPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cIndoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3Jvdy5kYXRlX2NyZWF0ZWQgfCBkYXRlOidkIE1NTU0geXl5eSd9fTwvbWF0LWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkYXRlX3VwZGF0ZWRcIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+IExhc3QgdXBkYXRlZDwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgW3N0eWxlLmNvbG9yXT1cInJvdy5jb2xvclwiIGNsYXNzPVwid2hpdGVzcGFjZS1pbmhlcml0XCI+IHt7cm93LmRhdGVfdXBkYXRlZCB8XG4gICAgICAgICAgZGF0ZTonZCBNTU1NIHl5eXknfX1cbiAgICAgICAgPC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNBcHByb3ZhbEZsb3dcIiBtYXRDb2x1bW5EZWY9XCJBY3Rpb25cIj5cbiAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9uPC9tYXQtaGVhZGVyLWNlbGw+XG4gICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBbc3R5bGUuY29sb3JdPVwicm93LmNvbG9yXCI+PGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub0Nhc2VSZXZpZXcocm93LmNjZF9jYXNlX251bWJlciwgcm93KVwiPlJldmlld1xuICAgICAgICAgIGNhc2U8L2E+Jm5ic3A7PGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJnb1RvUmVmdW5kUHJvY2Vzc0NvbXBvbmVudChyb3cucmVmdW5kX3JlZmVyZW5jZSwgcm93KVwiPlByb2Nlc3NcbiAgICAgICAgICByZWZ1bmQ8L2E+PC9tYXQtY2VsbD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzQXBwcm92YWxGbG93XCIgbWF0Q29sdW1uRGVmPVwiQWN0aW9uXCI+XG4gICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbjwvbWF0LWhlYWRlci1jZWxsPlxuICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgW3N0eWxlLmNvbG9yXT1cInJvdy5jb2xvclwiPjxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9SZWZ1bmRWaWV3Q29tcG9uZW50KHJvdy5yZWZ1bmRfcmVmZXJlbmNlLCByb3cpXCI+UmV2aWV3XG4gICAgICAgICAgcmVmdW5kPC9hPjwvbWF0LWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC9tYXQtaGVhZGVyLXJvdz5cbiAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPlxuICAgICAgPC9tYXQtcm93PlxuICAgIDwvbWF0LXRhYmxlPlxuICAgIDxtYXQtcGFnaW5hdG9yIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiPjwvbWF0LXBhZ2luYXRvcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWxhYmVsIGRyb3BkcHduXCIgKm5nSWY9XCJkYXRhU291cmNlLmRhdGEubGVuZ3RoID09PSAwXCI+Tm8gcmVjb3JkcyB0byBkaXNwbGF5PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -195,10 +195,10 @@ export class UnprocessedPaymentsComponent {
|
|
|
195
195
|
event.preventDefault();
|
|
196
196
|
this.unassignedRecordSelectedList = obj;
|
|
197
197
|
}
|
|
198
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
199
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: UnprocessedPaymentsComponent, isStandalone: true, selector: "ccpay-app-unprocessed-payments", inputs: { FEE_RECORDS_EXISTS: "FEE_RECORDS_EXISTS", PAYMENTREF: "PAYMENTREF", ISTURNOFF: "ISTURNOFF", IS_BUTTON_ENABLE: "IS_BUTTON_ENABLE", IS_OS_AMT_AVAILABLE: "IS_OS_AMT_AVAILABLE", ISSFENABLE: "ISSFENABLE", PAYMENTSLENGTH: "PAYMENTSLENGTH", LEVEL: "LEVEL" }, outputs: { selectedUnprocessedFeeEvent: "selectedUnprocessedFeeEvent", getUnprocessedFeeCount: "getUnprocessedFeeCount" }, ngImport: i0, template: "<!-- <ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments govuk-grid-column-full govuk-!-padding-bottom-3\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <h3 class=\"heading-medium\" *ngIf=\"!IS_BUTTON_ENABLE\">Unprocessed payments</h3>\n <h3 class=\"heading-medium\" *ngIf=\"IS_BUTTON_ENABLE\">Unallocated payments</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">Select</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\"><a href=\"#\" (click)=\"unprocessedPaymentUnSelectEvent($event)\">Unselect</a></td>\n \n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i of index;\">\n <td class=\"govuk-table__cell\" *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"multiple-choice unprocessed-payments--radio-button\">\n <input id=\"'unpaiedFee'+i+''\"\n aria-label=\"unassignedRecord\"\n name=\"unassignedRecord\"\n type=\"radio\"\n [(ngModel)]=\"recordId\"\n (click)=\"unprocessedPaymentSelectEvent(unassignedRecord.dcn_reference)\"\n value=\"{{unassignedRecord.dcn_reference}}\" />\n <label for=\"radio-inline-1\"></label>\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n {{unassignedRecord.dcn_reference}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell whitespace-inherit\"> {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"upPaymentErrorMessage !== null\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No unallocated payments record available</td>\n </tbody>\n </table>\n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled govuk-!-margin-right-1' : 'button govuk-button--secondary govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n \n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button button--disabled govuk-!-margin-right-1' : 'button govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n </div>\n</ng-container> -->\n\n\n<ng-container *ngIf=\"!IS_BUTTON_ENABLE\">\n <table class=\"govuk-table\">\n \n <thead class=\"govuk-table__head\" *ngIf='PAYMENTSLENGTH === 0 '>\n <!-- <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-14\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr> -->\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\" class=\"col-13\">\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n </tr>\n </tbody>\n \n </table>\n\n</ng-container>\n\n\n<!--Orders Unallocated changes-->\n<ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <table class=\"table\">\n \n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-13\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-16\" scope=\"col\">Date allocated</td>\n <td class=\"govuk-table__header col-24\" colspan=\"3\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-13\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <tr>\n <td class=\"govuk-table__cell whitespace-inherit col-13\" >\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit col-10\">\n {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\" colspan=\"8\">\n <div *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\" class=\"alignright\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled' : 'button govuk-button--secondary'\" (click)=\"redirectToFeeSearchPage($event,unassignedRecord.dcn_reference)\">\n Allocate to new service request\n </button><br/>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"goToAllocatePage(unassignedRecord.dcn_reference)\">\n Allocate to existing service request \n </button>\n </div>\n \n </td>\n </tr>\n \n <!-- <ng-container> -->\n <tr>\n <td class=\"unassigned noborders\" colspan=\"10\">\n <summary (click)=\"unassignedRecord.expanded = !unassignedRecord.expanded\" class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text\">\n More details and actions\n </span>\n </summary>\n <div *ngIf=\"unassignedRecord.expanded\" class=\"govuk-details__text govuk-!-margin-bottom-5 paddingright\">\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-5\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Method\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}}\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Payment assest number (DCN) \n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{unassignedRecord.dcn_reference}}\n </dd>\n </div>\n </dl>\n <div class=\" govuk-!-margin-bottom-5\">\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unidentifiedPage',unassignedRecord.dcn_reference)\">\n Mark as unidentified\n </button>\n </div>\n <div>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unsolicitedPage',unassignedRecord.dcn_reference)\">\n Mark as transferred\n </button> \n </div>\n\n </div>\n </td> \n </tr> \n <!-- </ng-container> -->\n </ng-container>\n </tbody>\n </table>\n \n </div>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'main'\">\n\n</ng-container>\n<!-- <ng-container *ngIf=\"PAYMENTSLENGTH === 0 && unassignedRecordListLength === 0\">\n <br/>No payments.<br/>\n</ng-container> -->\n\n", styles: [".unprocessed-payments .unprocessed-payments--radio-button{bottom:10px}.disable{text-decoration:none;padding:.526315em .789473em .263157em;cursor:default;color:#fff;background-color:#00823b;pointer-events:none;font-size:1em;line-height:1.25;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618}.button.disabled,.button[disabled=disabled],.button[disabled]{zoom:1;filter:alpha(opacity=50);opacity:.5}.button.disabled:active,.button[disabled=disabled]:active,.button[disabled]:active{top:0;-webkit-box-shadow:0 2px 0 #003618;-moz-box-shadow:0 2px 0 #003618;box-shadow:0 2px #003618}.button[disabled=disabled]{background:#00823b}.col-13{width:13%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-15{width:15%!important}.lowercase{text-transform:lowercase}.capitalize:first-letter{text-transform:uppercase}.whitespace-inherit{white-space:inherit!important}.top_row{display:table;width:100%}.top_row>div{display:table-cell;width:50%;border-bottom:1px solid #eee}.unassigned{border-top:hidden}.col-16{width:16%!important}.col-10{width:10%!important}.col-14{width:14%!important}.col-19{width:19%!important;padding-left:0!important}.col-18{width:18%!important;padding-left:0!important;padding-right:0!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-11{width:11%!important}.col-37{width:37%!important}.noborders>td{border-color:transparent;border-top-style:hidden;border-right-style:hidden;border-left-style:hidden}.govuk-button--secondary{margin-bottom:10px}.govuk-summary-list{font-size:19px}.govuk-summary-list__key{width:35%}td{white-space:nowrap;overflow:hidden!important}table{table-layout:fixed;width:100%}th,td{word-wrap:break-word}.alignright{text-align:right}.paddingright{padding-right:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i5.CurrencyPipe, name: "currency" }] });
|
|
198
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnprocessedPaymentsComponent, deps: [{ token: i1.Router }, { token: i2.BulkScaningPaymentService }, { token: 'PAYMENT_LIB' }, { token: i3.PaymentViewService }, { token: i4.OrderslistService }], target: i0.ɵɵFactoryTarget.Component });
|
|
199
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UnprocessedPaymentsComponent, isStandalone: true, selector: "ccpay-app-unprocessed-payments", inputs: { FEE_RECORDS_EXISTS: "FEE_RECORDS_EXISTS", PAYMENTREF: "PAYMENTREF", ISTURNOFF: "ISTURNOFF", IS_BUTTON_ENABLE: "IS_BUTTON_ENABLE", IS_OS_AMT_AVAILABLE: "IS_OS_AMT_AVAILABLE", ISSFENABLE: "ISSFENABLE", PAYMENTSLENGTH: "PAYMENTSLENGTH", LEVEL: "LEVEL" }, outputs: { selectedUnprocessedFeeEvent: "selectedUnprocessedFeeEvent", getUnprocessedFeeCount: "getUnprocessedFeeCount" }, ngImport: i0, template: "<!-- <ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments govuk-grid-column-full govuk-!-padding-bottom-3\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <h3 class=\"heading-medium\" *ngIf=\"!IS_BUTTON_ENABLE\">Unprocessed payments</h3>\n <h3 class=\"heading-medium\" *ngIf=\"IS_BUTTON_ENABLE\">Unallocated payments</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">Select</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\"><a href=\"#\" (click)=\"unprocessedPaymentUnSelectEvent($event)\">Unselect</a></td>\n \n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i of index;\">\n <td class=\"govuk-table__cell\" *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"multiple-choice unprocessed-payments--radio-button\">\n <input id=\"'unpaiedFee'+i+''\"\n aria-label=\"unassignedRecord\"\n name=\"unassignedRecord\"\n type=\"radio\"\n [(ngModel)]=\"recordId\"\n (click)=\"unprocessedPaymentSelectEvent(unassignedRecord.dcn_reference)\"\n value=\"{{unassignedRecord.dcn_reference}}\" />\n <label for=\"radio-inline-1\"></label>\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n {{unassignedRecord.dcn_reference}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell whitespace-inherit\"> {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"upPaymentErrorMessage !== null\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No unallocated payments record available</td>\n </tbody>\n </table>\n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled govuk-!-margin-right-1' : 'button govuk-button--secondary govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n \n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button button--disabled govuk-!-margin-right-1' : 'button govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n </div>\n</ng-container> -->\n\n\n<ng-container *ngIf=\"!IS_BUTTON_ENABLE\">\n <table class=\"govuk-table\">\n \n <thead class=\"govuk-table__head\" *ngIf='PAYMENTSLENGTH === 0 '>\n <!-- <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-14\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr> -->\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\" class=\"col-13\">\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n </tr>\n </tbody>\n \n </table>\n\n</ng-container>\n\n\n<!--Orders Unallocated changes-->\n<ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <table class=\"table\">\n \n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-13\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-16\" scope=\"col\">Date allocated</td>\n <td class=\"govuk-table__header col-24\" colspan=\"3\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-13\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <tr>\n <td class=\"govuk-table__cell whitespace-inherit col-13\" >\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit col-10\">\n {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\" colspan=\"8\">\n <div *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\" class=\"alignright\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled' : 'button govuk-button--secondary'\" (click)=\"redirectToFeeSearchPage($event,unassignedRecord.dcn_reference)\">\n Allocate to new service request\n </button><br/>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"goToAllocatePage(unassignedRecord.dcn_reference)\">\n Allocate to existing service request \n </button>\n </div>\n \n </td>\n </tr>\n \n <!-- <ng-container> -->\n <tr>\n <td class=\"unassigned noborders\" colspan=\"10\">\n <summary (click)=\"unassignedRecord.expanded = !unassignedRecord.expanded\" class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text\">\n More details and actions\n </span>\n </summary>\n <div *ngIf=\"unassignedRecord.expanded\" class=\"govuk-details__text govuk-!-margin-bottom-5 paddingright\">\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-5\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Method\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}}\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Payment assest number (DCN) \n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{unassignedRecord.dcn_reference}}\n </dd>\n </div>\n </dl>\n <div class=\" govuk-!-margin-bottom-5\">\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unidentifiedPage',unassignedRecord.dcn_reference)\">\n Mark as unidentified\n </button>\n </div>\n <div>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unsolicitedPage',unassignedRecord.dcn_reference)\">\n Mark as transferred\n </button> \n </div>\n\n </div>\n </td> \n </tr> \n <!-- </ng-container> -->\n </ng-container>\n </tbody>\n </table>\n \n </div>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'main'\">\n\n</ng-container>\n<!-- <ng-container *ngIf=\"PAYMENTSLENGTH === 0 && unassignedRecordListLength === 0\">\n <br/>No payments.<br/>\n</ng-container> -->\n\n", styles: [".unprocessed-payments .unprocessed-payments--radio-button{bottom:10px}.disable{text-decoration:none;padding:.526315em .789473em .263157em;cursor:default;color:#fff;background-color:#00823b;pointer-events:none;font-size:1em;line-height:1.25;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618}.button.disabled,.button[disabled=disabled],.button[disabled]{zoom:1;filter:alpha(opacity=50);opacity:.5}.button.disabled:active,.button[disabled=disabled]:active,.button[disabled]:active{top:0;-webkit-box-shadow:0 2px 0 #003618;-moz-box-shadow:0 2px 0 #003618;box-shadow:0 2px #003618}.button[disabled=disabled]{background:#00823b}.col-13{width:13%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-15{width:15%!important}.lowercase{text-transform:lowercase}.capitalize:first-letter{text-transform:uppercase}.whitespace-inherit{white-space:inherit!important}.top_row{display:table;width:100%}.top_row>div{display:table-cell;width:50%;border-bottom:1px solid #eee}.unassigned{border-top:hidden}.col-16{width:16%!important}.col-10{width:10%!important}.col-14{width:14%!important}.col-19{width:19%!important;padding-left:0!important}.col-18{width:18%!important;padding-left:0!important;padding-right:0!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-11{width:11%!important}.col-37{width:37%!important}.noborders>td{border-color:transparent;border-top-style:hidden;border-right-style:hidden;border-left-style:hidden}.govuk-button--secondary{margin-bottom:10px}.govuk-summary-list{font-size:19px}.govuk-summary-list__key{width:35%}td{white-space:nowrap;overflow:hidden!important}table{table-layout:fixed;width:100%}th,td{word-wrap:break-word}.alignright{text-align:right}.paddingright{padding-right:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i5.CurrencyPipe, name: "currency" }] });
|
|
200
200
|
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnprocessedPaymentsComponent, decorators: [{
|
|
202
202
|
type: Component,
|
|
203
203
|
args: [{ selector: 'ccpay-app-unprocessed-payments', imports: [CommonModule], standalone: true, template: "<!-- <ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments govuk-grid-column-full govuk-!-padding-bottom-3\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <h3 class=\"heading-medium\" *ngIf=\"!IS_BUTTON_ENABLE\">Unprocessed payments</h3>\n <h3 class=\"heading-medium\" *ngIf=\"IS_BUTTON_ENABLE\">Unallocated payments</h3>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">Select</td>\n <td class=\"govuk-table__header\" scope=\"col\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\"><a href=\"#\" (click)=\"unprocessedPaymentUnSelectEvent($event)\">Unselect</a></td>\n \n <td class=\"govuk-table__header\" scope=\"col\">Payment asset number (DCN)</td>\n <td class=\"govuk-table__header\" scope=\"col\">Banked date</td>\n <td class=\"govuk-table__header\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header\" scope=\"col\">Method</td>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" >\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i of index;\">\n <td class=\"govuk-table__cell\" *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"multiple-choice unprocessed-payments--radio-button\">\n <input id=\"'unpaiedFee'+i+''\"\n aria-label=\"unassignedRecord\"\n name=\"unassignedRecord\"\n type=\"radio\"\n [(ngModel)]=\"recordId\"\n (click)=\"unprocessedPaymentSelectEvent(unassignedRecord.dcn_reference)\"\n value=\"{{unassignedRecord.dcn_reference}}\" />\n <label for=\"radio-inline-1\"></label>\n </div>\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\">\n {{unassignedRecord.dcn_reference}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.date_banked | date:'dd MMM yyyy'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"capitalize govuk-table__cell whitespace-inherit\"> {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}} </td>\n </tr>\n </tbody>\n <tbody class=\"govuk-table__body\" *ngIf=\"upPaymentErrorMessage !== null\">\n <td class=\"govuk-table__cell\" colspan=\"6\">No unallocated payments record available</td>\n </tbody>\n </table>\n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled govuk-!-margin-right-1' : 'button govuk-button--secondary govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled govuk-!-margin-right-1\" : \"button govuk-button--secondary govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n \n <div class=\"button-grb\" *ngIf=\"IS_BUTTON_ENABLE && isTurnOff\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button button--disabled govuk-!-margin-right-1' : 'button govuk-!-margin-right-1'\" (click)=\"redirectToFeeSearchPage($event)\">\n Allocate to a new fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"goToAllocatePage()\">\n Allocate to an existing fee\n </button>\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unidentifiedPage')\">\n Mark as unidentified\n </button>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button button--disabled govuk-!-margin-right-1\" : \"button govuk-!-margin-right-1\"' (click)=\"loadUnsolicitedPage('unsolicitedPage')\">\n Mark as transferred\n </button> \n </div>\n </div>\n</ng-container> -->\n\n\n<ng-container *ngIf=\"!IS_BUTTON_ENABLE\">\n <table class=\"govuk-table\">\n \n <thead class=\"govuk-table__head\" *ngIf='PAYMENTSLENGTH === 0 '>\n <!-- <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-14\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-10\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-14\" scope=\"col\">Date</td>\n <td class=\"govuk-table__header col-20\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr> -->\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <td class=\"govuk-table__cell whitespace-inherit\" class=\"col-13\">\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit\"> {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}</td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n <td class=\"govuk-table__cell whitespace-inherit\"></td>\n </tr>\n </tbody>\n \n </table>\n\n</ng-container>\n\n\n<!--Orders Unallocated changes-->\n<ng-container *ngIf=\"IS_BUTTON_ENABLE\">\n <div class=\"unprocessed-payments\">\n <input #myInput type='hidden' class='iFrameDrivenImageValue' value='CASETRANSACTION'>\n <table class=\"table\">\n \n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__header col-13\" scope=\"col\">Status</td>\n <td class=\"govuk-table__header col-9\" scope=\"col\">Amount</td>\n <td class=\"govuk-table__header col-16\" scope=\"col\">Date allocated</td>\n <td class=\"govuk-table__header col-24\" colspan=\"3\" scope=\"col\">Request reference</td>\n <td class=\"govuk-table__header col-13\" scope=\"col\"></td>\n <td class=\"govuk-table__header\" scope=\"col\"></td>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let unassignedRecord of unassignedRecordList; let i = index;\">\n <tr>\n <td class=\"govuk-table__cell whitespace-inherit col-13\" >\n Unallocated \n </td>\n <td class=\"govuk-table__cell whitespace-inherit col-10\">\n {{unassignedRecord.amount | currency :'GBP':'symbol':'1.2-2'}}\n </td>\n <td class=\"govuk-table__cell whitespace-inherit\" colspan=\"8\">\n <div *ngIf=\"IS_BUTTON_ENABLE && !isTurnOff\" class=\"alignright\">\n <button type=\"button\"\n [disabled]=\"!isAllocatedToNewFeebtnEnabled\"\n [ngClass]=\"!isAllocatedToNewFeebtnEnabled ? 'button govuk-button--secondary button--disabled' : 'button govuk-button--secondary'\" (click)=\"redirectToFeeSearchPage($event,unassignedRecord.dcn_reference)\">\n Allocate to new service request\n </button><br/>\n <button type=\"button\" \n [disabled]=\"!isAllocateToExistingFeebtnEnabled\"\n [ngClass]='!isAllocateToExistingFeebtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"goToAllocatePage(unassignedRecord.dcn_reference)\">\n Allocate to existing service request \n </button>\n </div>\n \n </td>\n </tr>\n \n <!-- <ng-container> -->\n <tr>\n <td class=\"unassigned noborders\" colspan=\"10\">\n <summary (click)=\"unassignedRecord.expanded = !unassignedRecord.expanded\" class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text\">\n More details and actions\n </span>\n </summary>\n <div *ngIf=\"unassignedRecord.expanded\" class=\"govuk-details__text govuk-!-margin-bottom-5 paddingright\">\n <dl class=\"govuk-summary-list govuk-!-margin-bottom-5\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Method\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{ trimUnderscore(unassignedRecord.payment_method) | lowercase}}\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n Payment assest number (DCN) \n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{unassignedRecord.dcn_reference}}\n </dd>\n </div>\n </dl>\n <div class=\" govuk-!-margin-bottom-5\">\n <button type=\"button\" \n [disabled]=\"!isMarkAsUnidentifiedbtnEnabled\"\n [ngClass]='!isMarkAsUnidentifiedbtnEnabled ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unidentifiedPage',unassignedRecord.dcn_reference)\">\n Mark as unidentified\n </button>\n </div>\n <div>\n <button type=\"button\" \n [disabled]=\"!isUnprocessedRecordSelected\"\n [ngClass]='!isUnprocessedRecordSelected ? \"button govuk-button--secondary button--disabled\" : \"button govuk-button--secondary\"' (click)=\"loadUnsolicitedPage('unsolicitedPage',unassignedRecord.dcn_reference)\">\n Mark as transferred\n </button> \n </div>\n\n </div>\n </td> \n </tr> \n <!-- </ng-container> -->\n </ng-container>\n </tbody>\n </table>\n \n </div>\n</ng-container>\n\n<ng-container *ngIf=\"viewStatus === 'main'\">\n\n</ng-container>\n<!-- <ng-container *ngIf=\"PAYMENTSLENGTH === 0 && unassignedRecordListLength === 0\">\n <br/>No payments.<br/>\n</ng-container> -->\n\n", styles: [".unprocessed-payments .unprocessed-payments--radio-button{bottom:10px}.disable{text-decoration:none;padding:.526315em .789473em .263157em;cursor:default;color:#fff;background-color:#00823b;pointer-events:none;font-size:1em;line-height:1.25;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618}.button.disabled,.button[disabled=disabled],.button[disabled]{zoom:1;filter:alpha(opacity=50);opacity:.5}.button.disabled:active,.button[disabled=disabled]:active,.button[disabled]:active{top:0;-webkit-box-shadow:0 2px 0 #003618;-moz-box-shadow:0 2px 0 #003618;box-shadow:0 2px #003618}.button[disabled=disabled]{background:#00823b}.col-13{width:13%!important}.col-17{width:17%!important}.col-12{width:12%!important}.col-9{width:9%!important}.col-15{width:15%!important}.lowercase{text-transform:lowercase}.capitalize:first-letter{text-transform:uppercase}.whitespace-inherit{white-space:inherit!important}.top_row{display:table;width:100%}.top_row>div{display:table-cell;width:50%;border-bottom:1px solid #eee}.unassigned{border-top:hidden}.col-16{width:16%!important}.col-10{width:10%!important}.col-14{width:14%!important}.col-19{width:19%!important;padding-left:0!important}.col-18{width:18%!important;padding-left:0!important;padding-right:0!important}.col-21{width:21%!important}.col-20{width:20%!important}.col-11{width:11%!important}.col-37{width:37%!important}.noborders>td{border-color:transparent;border-top-style:hidden;border-right-style:hidden;border-left-style:hidden}.govuk-button--secondary{margin-bottom:10px}.govuk-summary-list{font-size:19px}.govuk-summary-list__key{width:35%}td{white-space:nowrap;overflow:hidden!important}table{table-layout:fixed;width:100%}th,td{word-wrap:break-word}.alignright{text-align:right}.paddingright{padding-right:0}\n"] }]
|
|
204
204
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.BulkScaningPaymentService }, { type: undefined, decorators: [{
|
|
@@ -233,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
233
233
|
}], getUnprocessedFeeCount: [{
|
|
234
234
|
type: Output
|
|
235
235
|
}] } });
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy91bnByb2Nlc3NlZC1wYXltZW50cy91bnByb2Nlc3NlZC1wYXltZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUc3RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBUy9DLE1BQU0sT0FBTyw0QkFBNEI7SUFtQ25CO0lBQ1Y7SUFDdUI7SUFDdkI7SUFDQTtJQXJDbUIsa0JBQWtCLENBQVU7SUFDcEMsVUFBVSxDQUFTO0lBQ3BCLFNBQVMsQ0FBVTtJQUNaLGdCQUFnQixDQUFVO0lBQ3ZCLG1CQUFtQixDQUFVO0lBQ3RDLFVBQVUsQ0FBVTtJQUNoQixjQUFjLENBQVM7SUFDaEMsS0FBSyxDQUFTO0lBRXBCLDJCQUEyQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3ZFLHNCQUFzQixHQUF5QixJQUFJLFlBQVks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QkFBbUI7c0JBQWhELEtBQUs7dUJBQUMscUJBQXFCO2dCQUNQLFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDTSxjQUFjO3NCQUF0QyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDUCxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBRUosMkJBQTJCO3NCQUFwQyxNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2J1bGstc2NhbmluZy1wYXltZW50L2J1bGstc2NhbmluZy1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JQlNQYXltZW50cyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWFwcC11bnByb2Nlc3NlZC1wYXltZW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi91bnByb2Nlc3NlZC1wYXltZW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFVucHJvY2Vzc2VkUGF5bWVudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgnRkVFX1JFQ09SRFNfRVhJU1RTJykgRkVFX1JFQ09SRFNfRVhJU1RTOiBib29sZWFuO1xuICBASW5wdXQoJ1BBWU1FTlRSRUYnKSBQQVlNRU5UUkVGOiBzdHJpbmc7XG4gIEBJbnB1dCgnSVNUVVJOT0ZGJykgSVNUVVJOT0ZGOiBib29sZWFuO1xuICBASW5wdXQoJ0lTX0JVVFRPTl9FTkFCTEUnKSBJU19CVVRUT05fRU5BQkxFOiBib29sZWFuO1xuICBASW5wdXQoJ0lTX09TX0FNVF9BVkFJTEFCTEUnKSBJU19PU19BTVRfQVZBSUxBQkxFOiBib29sZWFuO1xuICBASW5wdXQoJ0lTU0ZFTkFCTEUnKSBJU1NGRU5BQkxFOiBib29sZWFuO1xuICBASW5wdXQoJ1BBWU1FTlRTTEVOR1RIJykgUEFZTUVOVFNMRU5HVEg6IE51bWJlcjtcbiAgQElucHV0KCdMRVZFTCcpIExFVkVMOiBOdW1iZXI7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkVW5wcm9jZXNzZWRGZWVFdmVudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBnZXRVbnByb2Nlc3NlZEZlZUNvdW50OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB2aWV3U3RhdHVzID0gJ21haW4nO1xuICB1bmFzc2lnbmVkUmVjb3JkTGlzdDogSUJTUGF5bWVudHM7XG4gIHVwUGF5bWVudEVycm9yTWVzc2FnZTogc3RyaW5nID0gbnVsbDtcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICByZWNvcmRJZDogc3RyaW5nID0gbnVsbDtcbiAgaXNSZWNvcmRFeGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuICBkY25OdW1iZXI6IHN0cmluZyA9IG51bGw7XG4gIHNlbGVjdGVkT3B0aW9uOiBzdHJpbmc7XG4gIGlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZDogYm9vbGVhbiA9IHRydWU7XG4gIGlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNFeGNlcHRpb25DYXNlOiBib29sZWFuID0gZmFsc2U7XG4gIHNlcnZpY2VJZDogc3RyaW5nID0gbnVsbDtcbiAgaXNCdWxrU2NhbkVuYWJsZTtcbiAgaXNUdXJuT2ZmOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNTdEZpeEVuYWJsZTtcbiAgdW5hc3NpZ25lZFJlY29yZFNlbGVjdGVkTGlzdDogSUJTUGF5bWVudHM7XG4gIHVuYXNzaWduZWRSZWNvcmRMaXN0TGVuZ3RoOiBudW1iZXIgPSAwO1xuICBzaG93Q29udGVudDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYnVsa1NjYW5pbmdQYXltZW50U2VydmljZTogQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSxcbiAgICBASW5qZWN0KCdQQVlNRU5UX0xJQicpIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCxcbiAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgT3JkZXJzbGlzdFNlcnZpY2U6IE9yZGVyc2xpc3RTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gVG9kbyAuLi5cbiAgICB0aGlzLmNjZENhc2VOdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0NEX0NBU0VfTlVNQkVSO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuU0VMRUNURURfT1BUSU9OLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5kY25OdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuRENOX05VTUJFUjtcbiAgICB0aGlzLmlzQnVsa1NjYW5FbmFibGUgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRTtcbiAgICB0aGlzLmlzVHVybk9mZiA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1RVUk5PRkY7XG4gICAgdGhpcy5pc1N0Rml4RW5hYmxlID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTU0ZFTkFCTEU7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRGZWVFeGlzdHMoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMuRkVFX1JFQ09SRFNfRVhJU1RTID0gZGF0YSk7XG4gICAgdGhpcy5nZXRVbmFzc2lnbmVkUGF5bWVudGxpc3QoKTtcblxuICB9XG5cbiAgZ2V0VW5hc3NpZ25lZFBheW1lbnRsaXN0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uID09PSAnZGNuJykge1xuICAgICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLmdldEJTUGF5bWVudHNCeURDTih0aGlzLmRjbk51bWJlcikuc3Vic2NyaWJlKFxuICAgICAgICB1bmFzc2lnbmVkUGF5bWVudHMgPT4ge1xuICAgICAgICAgIC8vICB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5tYXAoZGF0YSA9PiBkYXRhLmV4cGFuZGFibGU9ZmFsc2UpO1xuICAgICAgICAgIGlmICh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSAmJiB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5wYXltZW50cykge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHVuYXNzaWduZWRQYXltZW50c1sncGF5bWVudHMnXSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50cyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gJ2Vycm9yJztcbiAgICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoJzAnKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLmdldEJTUGF5bWVudHNCeUNDRCh0aGlzLmNjZENhc2VOdW1iZXIpLnN1YnNjcmliZShcbiAgICAgICAgdW5hc3NpZ25lZFBheW1lbnRzID0+IHtcbiAgICAgICAgICAvLyAgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ubWFwKGRhdGEgPT4gZGF0YS5leHBhbmRhYmxlPWZhbHNlKTtcbiAgICAgICAgICBpZiAodW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10gJiYgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucGF5bWVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh1bmFzc2lnbmVkUGF5bWVudHNbJ3BheW1lbnRzJ10pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwUGF5bWVudEVycm9yTWVzc2FnZSA9ICdlcnJvcic7XG4gICAgICAgICAgICB0aGlzLmdldFVucHJvY2Vzc2VkRmVlQ291bnQuZW1pdCgnMCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnVwUGF5bWVudEVycm9yTWVzc2FnZSA9IGVycm9yO1xuICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gIH1cblxuICBzZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50cykge1xuXG4gICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdCA9IHVuYXNzaWduZWRQYXltZW50cy5wYXltZW50cztcbiAgICBpZiAodGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdCkge1xuICAgICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdExlbmd0aCA9IHVuYXNzaWduZWRQYXltZW50cy5wYXltZW50cy5sZW5ndGhcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlSWQgPSB1bmFzc2lnbmVkUGF5bWVudHMucmVzcG9uc2libGVfc2VydmljZV9pZDtcbiAgICBpZiAodW5hc3NpZ25lZFBheW1lbnRzWydjY2RfcmVmZXJlbmNlJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pc0V4Y2VwdGlvbkNhc2UgPSB0cnVlO1xuICAgIH1cbiAgICAvLyB0aGlzLmlzUmVjb3JkRXhpc3QgPSAgdGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdC5sZW5ndGggPT09IDA7XG4gICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoPGFueT50aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0Lmxlbmd0aCk7XG4gICAgdGhpcy51bnByb2Nlc3NlZFBheW1lbnRTZWxlY3RFdmVudCh0aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0KTtcbiAgfVxuXG4gIGZvcm1hdFVuYXNzaWduZWRSZWNvcmRJZChJRDogTnVtYmVyKSB7XG4gICAgcmV0dXJuIGB1bmFzc2lnbnJlY29yZC0ke0lEfWA7XG4gIH1cblxuICB0cmltVW5kZXJzY29yZShtZXRob2Q6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UucmVtb3ZlVW53YW50ZWRTdHJpbmcobWV0aG9kLCAnICcpO1xuICB9XG5cbiAgcmVkaXJlY3RUb0ZlZVNlYXJjaFBhZ2UoZXZlbnQ6IGFueSwgZGNuX3JlZmVyZW5jZTogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnJlY29yZElkID0gZGNuX3JlZmVyZW5jZTtcbiAgICBsZXQgdXJsID0gdGhpcy5pc0J1bGtTY2FuRW5hYmxlID8gJyZpc0J1bGtTY2FubmluZz1FbmFibGUnIDogJyZpc0J1bGtTY2FubmluZz1EaXNhYmxlJztcbiAgICB1cmwgKz0gdGhpcy5JU1RVUk5PRkYgPyAnJmlzVHVybk9mZj1FbmFibGUnIDogJyZpc1R1cm5PZmY9RGlzYWJsZSc7XG4gICAgdXJsICs9IHRoaXMuaXNTdEZpeEVuYWJsZSA/ICcmaXNTdEZpeEVuYWJsZT1FbmFibGUnIDogJyZpc1N0Rml4RW5hYmxlPURpc2FibGUnO1xuICAgIHVybCArPSBgJmNhc2VUeXBlPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNBU0VUWVBFfWA7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvZmVlLXNlYXJjaD9zZWxlY3RlZE9wdGlvbj0ke3RoaXMuc2VsZWN0ZWRPcHRpb259JmNjZENhc2VOdW1iZXI9JHt0aGlzLmNjZENhc2VOdW1iZXJ9JmRjbj0ke3RoaXMucmVjb3JkSWR9JHt1cmx9YCk7XG4gIH1cblxuICBsb2FkVW5zb2xpY2l0ZWRQYWdlKHZpZXdOYW1lOiBzdHJpbmcsIGRjbl9yZWZlcmVuY2U6IGFueSkge1xuICAgIHRoaXMucmVjb3JkSWQgPSBkY25fcmVmZXJlbmNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5ic3BheW1lbnRkY24gPSB0aGlzLnJlY29yZElkO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9IHZpZXdOYW1lO1xuICB9XG5cbiAgdW5wcm9jZXNzZWRQYXltZW50U2VsZWN0RXZlbnQoc2VsZWN0ZWRSZWNvcmRSZWZlcmVuY2U6IGFueSkge1xuICAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLnZhbGlkYXRlQnV0dG9ucygpO1xuICAgIHRoaXMuc2VsZWN0ZWRVbnByb2Nlc3NlZEZlZUV2ZW50LmVtaXQoc2VsZWN0ZWRSZWNvcmRSZWZlcmVuY2UpO1xuICB9XG5cbiAgcmVzZXRCdXR0b25zKCkge1xuICAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGdvVG9BbGxvY2F0ZVBhZ2UoZGNuX3JlZmVyZW5jZTogYW55KSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmJzcGF5bWVudGRjbiA9IGRjbl9yZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnVuUHJvY2Vzc2VkUGF5bWVudFNlcnZpY2VJZCA9IHRoaXMuc2VydmljZUlkXG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzVHVybk9mZiA9IHRoaXMuSVNUVVJOT0ZGO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1NGRU5BQkxFID0gdGhpcy5pc1N0Rml4RW5hYmxlO1xuXG4gICAgaWYgKHRoaXMuSVNUVVJOT0ZGKSB7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudEdyb3VwUmVmZXJlbmNlID0gdGhpcy5QQVlNRU5UUkVGO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ2ZlZS1zdW1tYXJ5JztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRHcm91cFJlZmVyZW5jZSA9IG51bGw7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnYWxsb2NhdGUtcGF5bWVudHMnO1xuICAgIH1cblxuICB9XG5cbiAgdmFsaWRhdGVCdXR0b25zKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkICYmIHRoaXMuaXNFeGNlcHRpb25DYXNlKSB7XG4gICAgICAgIHRoaXMuaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgJiYgIXRoaXMuaXNFeGNlcHRpb25DYXNlICYmICF0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUykge1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgJiYgIXRoaXMuaXNFeGNlcHRpb25DYXNlICYmIHRoaXMuRkVFX1JFQ09SRFNfRVhJU1RTKSB7XG4gICAgICAgIGlmICghdGhpcy5JU1RVUk5PRkYpIHtcbiAgICAgICAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID0gdGhpcy5JU19PU19BTVRfQVZBSUxBQkxFO1xuICAgICAgICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgNDAwMCk7XG4gIH1cblxuICB1bnByb2Nlc3NlZFBheW1lbnRVblNlbGVjdEV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucmVjb3JkSWQgPSBudWxsO1xuICAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICAvL3RoaXMudmFsaWRhdGVCdXR0b25zKCk7XG4gICAgdGhpcy5zZWxlY3RlZFVucHJvY2Vzc2VkRmVlRXZlbnQuZW1pdCgnJyk7XG4gIH1cblxuICBzaG93RGV0YWlsUm93KGV2ZW50OiBhbnksIG9iajogYW55LCBpOiBhbnkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkU2VsZWN0ZWRMaXN0ID0gb2JqO1xuXG4gIH1cbn1cbiIsIjwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEVcIj5cbiAgICA8ZGl2IGNsYXNzPVwidW5wcm9jZXNzZWQtcGF5bWVudHMgZ292dWstZ3JpZC1jb2x1bW4tZnVsbCBnb3Z1ay0hLXBhZGRpbmctYm90dG9tLTNcIj5cbiAgICAgICAgPGlucHV0ICNteUlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2lGcmFtZURyaXZlbkltYWdlVmFsdWUnIHZhbHVlPSdDQVNFVFJBTlNBQ1RJT04nPlxuICAgICAgICA8aDMgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiICpuZ0lmPVwiIUlTX0JVVFRPTl9FTkFCTEVcIj5VbnByb2Nlc3NlZCBwYXltZW50czwvaDM+XG4gICAgICAgIDxoMyBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCIgKm5nSWY9XCJJU19CVVRUT05fRU5BQkxFXCI+VW5hbGxvY2F0ZWQgcGF5bWVudHM8L2gzPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgIWlzVHVybk9mZlwiPlNlbGVjdDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgaXNUdXJuT2ZmXCI+PGEgaHJlZj1cIiNcIiAoY2xpY2spPVwidW5wcm9jZXNzZWRQYXltZW50VW5TZWxlY3RFdmVudCgkZXZlbnQpXCI+VW5zZWxlY3Q8L2E+PC90ZD5cbiAgICAgIFxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+UGF5bWVudCBhc3NldCBudW1iZXIgKERDTik8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+QmFua2VkIGRhdGU8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+QW1vdW50PC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPk1ldGhvZDwvdGQ+XG4gICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiA+XG4gICAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgdW5hc3NpZ25lZFJlY29yZCBvZiB1bmFzc2lnbmVkUmVjb3JkTGlzdDsgbGV0IGkgb2YgaW5kZXg7XCI+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlwbGUtY2hvaWNlIHVucHJvY2Vzc2VkLXBheW1lbnRzLS1yYWRpby1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCIndW5wYWllZEZlZScraSsnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cInVuYXNzaWduZWRSZWNvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ1bmFzc2lnbmVkUmVjb3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVjb3JkSWRcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1bnByb2Nlc3NlZFBheW1lbnRTZWxlY3RFdmVudCh1bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2UpXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInt7dW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlfX1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyYWRpby1pbmxpbmUtMVwiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPlxuICAgICAgICAgICAgICAgICAgICB7e3VuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZX19XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgd2hpdGVzcGFjZS1pbmhlcml0XCI+IHt7dW5hc3NpZ25lZFJlY29yZC5kYXRlX2JhbmtlZCB8IGRhdGU6J2RkIE1NTSB5eXl5J319PC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3VuYXNzaWduZWRSZWNvcmQuYW1vdW50IHwgY3VycmVuY3kgOidHQlAnOidzeW1ib2wnOicxLjItMid9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjYXBpdGFsaXplIGdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7eyB0cmltVW5kZXJzY29yZSh1bmFzc2lnbmVkUmVjb3JkLnBheW1lbnRfbWV0aG9kKSB8IGxvd2VyY2FzZX19ICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiAqbmdJZj1cInVwUGF5bWVudEVycm9yTWVzc2FnZSAhPT0gbnVsbFwiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI2XCI+Tm8gdW5hbGxvY2F0ZWQgcGF5bWVudHMgcmVjb3JkIGF2YWlsYWJsZTwvdGQ+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyYlwiICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRSAmJiAhaXNUdXJuT2ZmXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPyAnYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMScgOiAnYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTEnXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gYSBuZXcgZmVlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID8gIFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiIDogXCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiJyAoY2xpY2spPVwiZ29Ub0FsbG9jYXRlUGFnZSgpXCI+XG4gICAgICAgICAgICAgIEFsbG9jYXRlIHRvIGFuIGV4aXN0aW5nIGZlZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3VuaWRlbnRpZmllZFBhZ2UnKVwiPlxuICAgICAgICAgICAgICBNYXJrIGFzIHVuaWRlbnRpZmllZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3Vuc29saWNpdGVkUGFnZScpXCI+XG4gICAgICAgICAgICAgIE1hcmsgYXMgdHJhbnNmZXJyZWRcbiAgICAgICAgICAgIDwvYnV0dG9uPiAgXG4gICAgICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1ncmJcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgaXNUdXJuT2ZmXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPyAnYnV0dG9uIGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMScgOiAnYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTEnXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gYSBuZXcgZmVlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID8gIFwiYnV0dG9uIGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiIDogXCJidXR0b24gZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiJyAoY2xpY2spPVwiZ29Ub0FsbG9jYXRlUGFnZSgpXCI+XG4gICAgICAgICAgICAgIEFsbG9jYXRlIHRvIGFuIGV4aXN0aW5nIGZlZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3VuaWRlbnRpZmllZFBhZ2UnKVwiPlxuICAgICAgICAgICAgICBNYXJrIGFzIHVuaWRlbnRpZmllZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA/ICBcImJ1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3Vuc29saWNpdGVkUGFnZScpXCI+XG4gICAgICAgICAgICAgIE1hcmsgYXMgdHJhbnNmZXJyZWRcbiAgICAgICAgICAgIDwvYnV0dG9uPiBcbiAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4gLS0+XG5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFJU19CVVRUT05fRU5BQkxFXCI+XG4gICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICBcbiAgICAgICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIiAqbmdJZj0nUEFZTUVOVFNMRU5HVEggPT09IDAgJz5cbiAgICAgICAgICAgIDwhLS0gPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTE0XCIgc2NvcGU9XCJjb2xcIj5TdGF0dXM8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTEwXCIgc2NvcGU9XCJjb2xcIj5BbW91bnQ8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTE0XCIgc2NvcGU9XCJjb2xcIj5EYXRlPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0yMFwiIHNjb3BlPVwiY29sXCI+UmVxdWVzdCByZWZlcmVuY2U8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTlcIiBzY29wZT1cImNvbFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+PC90ZD5cbiAgICAgICAgICAgICAgPC90cj4gLS0+XG4gICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgdW5hc3NpZ25lZFJlY29yZCBvZiB1bmFzc2lnbmVkUmVjb3JkTGlzdDsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgd2hpdGVzcGFjZS1pbmhlcml0XCIgY2xhc3M9XCJjb2wtMTNcIj5cbiAgICAgICAgICAgICAgICAgICAgVW5hbGxvY2F0ZWQgXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3VuYXNzaWduZWRSZWNvcmQuYW1vdW50IHwgY3VycmVuY3kgOidHQlAnOidzeW1ib2wnOicxLjItMid9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgIFxuICAgIDwvdGFibGU+XG5cbjwvbmctY29udGFpbmVyPlxuXG5cbjwhLS1PcmRlcnMgVW5hbGxvY2F0ZWQgY2hhbmdlcy0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEVcIj5cbiAgICA8ZGl2IGNsYXNzPVwidW5wcm9jZXNzZWQtcGF5bWVudHNcIj5cbiAgICAgICAgPGlucHV0ICNteUlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2lGcmFtZURyaXZlbkltYWdlVmFsdWUnIHZhbHVlPSdDQVNFVFJBTlNBQ1RJT04nPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlXCI+XG4gICAgICAgICAgICAgXG4gICAgICAgICAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtMTNcIiBzY29wZT1cImNvbFwiPlN0YXR1czwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtOVwiIHNjb3BlPVwiY29sXCI+QW1vdW50PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0xNlwiIHNjb3BlPVwiY29sXCI+RGF0ZSBhbGxvY2F0ZWQ8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTI0XCIgY29sc3Bhbj1cIjNcIiBzY29wZT1cImNvbFwiPlJlcXVlc3QgcmVmZXJlbmNlPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0xM1wiIHNjb3BlPVwiY29sXCI+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVuYXNzaWduZWRSZWNvcmQgb2YgdW5hc3NpZ25lZFJlY29yZExpc3Q7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCAgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXQgY29sLTEzXCIgPlxuICAgICAgICAgICAgICAgICAgVW5hbGxvY2F0ZWQgXG4gICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdCBjb2wtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAge3t1bmFzc2lnbmVkUmVjb3JkLmFtb3VudCB8IGN1cnJlbmN5IDonR0JQJzonc3ltYm9sJzonMS4yLTInfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiIGNvbHNwYW49XCI4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRSAmJiAhaXNUdXJuT2ZmXCIgY2xhc3M9XCJhbGlnbnJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPyAnYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWQnIDogJ2J1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSdcIiAoY2xpY2spPVwicmVkaXJlY3RUb0ZlZVNlYXJjaFBhZ2UoJGV2ZW50LHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gbmV3IHNlcnZpY2UgcmVxdWVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+PGJyLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID8gIFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWRcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCInIChjbGljayk9XCJnb1RvQWxsb2NhdGVQYWdlKHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gZXhpc3Rpbmcgc2VydmljZSByZXF1ZXN0IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIFxuICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXI+IC0tPlxuICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInVuYXNzaWduZWQgbm9ib3JkZXJzXCIgY29sc3Bhbj1cIjEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnkgKGNsaWNrKT1cInVuYXNzaWduZWRSZWNvcmQuZXhwYW5kZWQgPSAhdW5hc3NpZ25lZFJlY29yZC5leHBhbmRlZFwiIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9yZSBkZXRhaWxzIGFuZCBhY3Rpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVuYXNzaWduZWRSZWNvcmQuZXhwYW5kZWRcIiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3RleHQgIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS01IHBhZGRpbmdyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3QgZ292dWstIS1tYXJnaW4tYm90dG9tLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0cmltVW5kZXJzY29yZSh1bmFzc2lnbmVkUmVjb3JkLnBheW1lbnRfbWV0aG9kKSB8IGxvd2VyY2FzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGF5bWVudCBhc3Nlc3QgbnVtYmVyIChEQ04pIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3VuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkXCIgOiBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeVwiJyAoY2xpY2spPVwibG9hZFVuc29saWNpdGVkUGFnZSgndW5pZGVudGlmaWVkUGFnZScsdW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJrIGFzIHVuaWRlbnRpZmllZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID8gIFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWRcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCInIChjbGljayk9XCJsb2FkVW5zb2xpY2l0ZWRQYWdlKCd1bnNvbGljaXRlZFBhZ2UnLHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJrIGFzIHRyYW5zZmVycmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L3RkPiBcbiAgICAgICAgICAgICAgICA8L3RyPiBcbiAgICAgICAgICAgICAgPCEtLSA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICBcbiAgICAgICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdtYWluJ1wiPlxuXG48L25nLWNvbnRhaW5lcj5cbjwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIlBBWU1FTlRTTEVOR1RIID09PSAwICYmIHVuYXNzaWduZWRSZWNvcmRMaXN0TGVuZ3RoID09PSAwXCI+XG4gIDxici8+Tm8gcGF5bWVudHMuPGJyLz5cbjwvbmctY29udGFpbmVyPiAtLT5cblxuIl19
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5wcm9jZXNzZWQtcGF5bWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy91bnByb2Nlc3NlZC1wYXltZW50cy91bnByb2Nlc3NlZC1wYXltZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUc3RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBUy9DLE1BQU0sT0FBTyw0QkFBNEI7SUFtQ25CO0lBQ1Y7SUFDdUI7SUFDdkI7SUFDQTtJQXJDbUIsa0JBQWtCLENBQVU7SUFDcEMsVUFBVSxDQUFTO0lBQ3BCLFNBQVMsQ0FBVTtJQUNaLGdCQUFnQixDQUFVO0lBQ3ZCLG1CQUFtQixDQUFVO0lBQ3RDLFVBQVUsQ0FBVTtJQUNoQixjQUFjLENBQVM7SUFDaEMsS0FBSyxDQUFTO0lBRXBCLDJCQUEyQixHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3ZFLHNCQUFzQixHQUF5QixJQUFJLFlBQVks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QkFBbUI7c0JBQWhELEtBQUs7dUJBQUMscUJBQXFCO2dCQUNQLFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDTSxjQUFjO3NCQUF0QyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDUCxLQUFLO3NCQUFwQixLQUFLO3VCQUFDLE9BQU87Z0JBRUosMkJBQTJCO3NCQUFwQyxNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2J1bGstc2NhbmluZy1wYXltZW50L2J1bGstc2NhbmluZy1wYXltZW50LnNlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IElCU1BheW1lbnRzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JQlNQYXltZW50cyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUGF5bWVudFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC12aWV3L3BheW1lbnQtdmlldy5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZGVyc2xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXJzbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWFwcC11bnByb2Nlc3NlZC1wYXltZW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi91bnByb2Nlc3NlZC1wYXltZW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VucHJvY2Vzc2VkLXBheW1lbnRzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFVucHJvY2Vzc2VkUGF5bWVudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgnRkVFX1JFQ09SRFNfRVhJU1RTJykgRkVFX1JFQ09SRFNfRVhJU1RTOiBib29sZWFuO1xuICBASW5wdXQoJ1BBWU1FTlRSRUYnKSBQQVlNRU5UUkVGOiBzdHJpbmc7XG4gIEBJbnB1dCgnSVNUVVJOT0ZGJykgSVNUVVJOT0ZGOiBib29sZWFuO1xuICBASW5wdXQoJ0lTX0JVVFRPTl9FTkFCTEUnKSBJU19CVVRUT05fRU5BQkxFOiBib29sZWFuO1xuICBASW5wdXQoJ0lTX09TX0FNVF9BVkFJTEFCTEUnKSBJU19PU19BTVRfQVZBSUxBQkxFOiBib29sZWFuO1xuICBASW5wdXQoJ0lTU0ZFTkFCTEUnKSBJU1NGRU5BQkxFOiBib29sZWFuO1xuICBASW5wdXQoJ1BBWU1FTlRTTEVOR1RIJykgUEFZTUVOVFNMRU5HVEg6IE51bWJlcjtcbiAgQElucHV0KCdMRVZFTCcpIExFVkVMOiBOdW1iZXI7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkVW5wcm9jZXNzZWRGZWVFdmVudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBnZXRVbnByb2Nlc3NlZEZlZUNvdW50OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICB2aWV3U3RhdHVzID0gJ21haW4nO1xuICB1bmFzc2lnbmVkUmVjb3JkTGlzdDogSUJTUGF5bWVudHM7XG4gIHVwUGF5bWVudEVycm9yTWVzc2FnZTogc3RyaW5nID0gbnVsbDtcbiAgY2NkQ2FzZU51bWJlcjogc3RyaW5nO1xuICByZWNvcmRJZDogc3RyaW5nID0gbnVsbDtcbiAgaXNSZWNvcmRFeGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuICBkY25OdW1iZXI6IHN0cmluZyA9IG51bGw7XG4gIHNlbGVjdGVkT3B0aW9uOiBzdHJpbmc7XG4gIGlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZDogYm9vbGVhbiA9IHRydWU7XG4gIGlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNFeGNlcHRpb25DYXNlOiBib29sZWFuID0gZmFsc2U7XG4gIHNlcnZpY2VJZDogc3RyaW5nID0gbnVsbDtcbiAgaXNCdWxrU2NhbkVuYWJsZTtcbiAgaXNUdXJuT2ZmOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNTdEZpeEVuYWJsZTtcbiAgdW5hc3NpZ25lZFJlY29yZFNlbGVjdGVkTGlzdDogSUJTUGF5bWVudHM7XG4gIHVuYXNzaWduZWRSZWNvcmRMaXN0TGVuZ3RoOiBudW1iZXIgPSAwO1xuICBzaG93Q29udGVudDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYnVsa1NjYW5pbmdQYXltZW50U2VydmljZTogQnVsa1NjYW5pbmdQYXltZW50U2VydmljZSxcbiAgICBASW5qZWN0KCdQQVlNRU5UX0xJQicpIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCxcbiAgICBwcml2YXRlIHBheW1lbnRWaWV3U2VydmljZTogUGF5bWVudFZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgT3JkZXJzbGlzdFNlcnZpY2U6IE9yZGVyc2xpc3RTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gVG9kbyAuLi5cbiAgICB0aGlzLmNjZENhc2VOdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0NEX0NBU0VfTlVNQkVSO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuU0VMRUNURURfT1BUSU9OLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5kY25OdW1iZXIgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuRENOX05VTUJFUjtcbiAgICB0aGlzLmlzQnVsa1NjYW5FbmFibGUgPSB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuSVNCU0VOQUJMRTtcbiAgICB0aGlzLmlzVHVybk9mZiA9IHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1RVUk5PRkY7XG4gICAgdGhpcy5pc1N0Rml4RW5hYmxlID0gdGhpcy5wYXltZW50TGliQ29tcG9uZW50LklTU0ZFTkFCTEU7XG4gICAgdGhpcy5PcmRlcnNsaXN0U2VydmljZS5nZXRGZWVFeGlzdHMoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMuRkVFX1JFQ09SRFNfRVhJU1RTID0gZGF0YSk7XG4gICAgdGhpcy5nZXRVbmFzc2lnbmVkUGF5bWVudGxpc3QoKTtcblxuICB9XG5cbiAgZ2V0VW5hc3NpZ25lZFBheW1lbnRsaXN0KCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uID09PSAnZGNuJykge1xuICAgICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLmdldEJTUGF5bWVudHNCeURDTih0aGlzLmRjbk51bWJlcikuc3Vic2NyaWJlKFxuICAgICAgICB1bmFzc2lnbmVkUGF5bWVudHMgPT4ge1xuICAgICAgICAgIC8vICB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5tYXAoZGF0YSA9PiBkYXRhLmV4cGFuZGFibGU9ZmFsc2UpO1xuICAgICAgICAgIGlmICh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSAmJiB1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXS5wYXltZW50cykge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50c1snZGF0YSddKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHVuYXNzaWduZWRQYXltZW50c1sncGF5bWVudHMnXSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50cyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gJ2Vycm9yJztcbiAgICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudXBQYXltZW50RXJyb3JNZXNzYWdlID0gZXJyb3I7XG4gICAgICAgICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoJzAnKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idWxrU2NhbmluZ1BheW1lbnRTZXJ2aWNlLmdldEJTUGF5bWVudHNCeUNDRCh0aGlzLmNjZENhc2VOdW1iZXIpLnN1YnNjcmliZShcbiAgICAgICAgdW5hc3NpZ25lZFBheW1lbnRzID0+IHtcbiAgICAgICAgICAvLyAgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ubWFwKGRhdGEgPT4gZGF0YS5leHBhbmRhYmxlPWZhbHNlKTtcbiAgICAgICAgICBpZiAodW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10gJiYgdW5hc3NpZ25lZFBheW1lbnRzWydkYXRhJ10ucGF5bWVudHMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHNbJ2RhdGEnXSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh1bmFzc2lnbmVkUGF5bWVudHNbJ3BheW1lbnRzJ10pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVzRm9yVW5hc3NpZ25lZFJlY29yZCh1bmFzc2lnbmVkUGF5bWVudHMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwUGF5bWVudEVycm9yTWVzc2FnZSA9ICdlcnJvcic7XG4gICAgICAgICAgICB0aGlzLmdldFVucHJvY2Vzc2VkRmVlQ291bnQuZW1pdCgnMCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnVwUGF5bWVudEVycm9yTWVzc2FnZSA9IGVycm9yO1xuICAgICAgICAgIHRoaXMuZ2V0VW5wcm9jZXNzZWRGZWVDb3VudC5lbWl0KCcwJyk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gIH1cblxuICBzZXRWYWx1ZXNGb3JVbmFzc2lnbmVkUmVjb3JkKHVuYXNzaWduZWRQYXltZW50cykge1xuXG4gICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdCA9IHVuYXNzaWduZWRQYXltZW50cy5wYXltZW50cztcbiAgICBpZiAodGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdCkge1xuICAgICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdExlbmd0aCA9IHVuYXNzaWduZWRQYXltZW50cy5wYXltZW50cy5sZW5ndGhcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlSWQgPSB1bmFzc2lnbmVkUGF5bWVudHMucmVzcG9uc2libGVfc2VydmljZV9pZDtcbiAgICBpZiAodW5hc3NpZ25lZFBheW1lbnRzWydjY2RfcmVmZXJlbmNlJ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pc0V4Y2VwdGlvbkNhc2UgPSB0cnVlO1xuICAgIH1cbiAgICAvLyB0aGlzLmlzUmVjb3JkRXhpc3QgPSAgdGhpcy51bmFzc2lnbmVkUmVjb3JkTGlzdC5sZW5ndGggPT09IDA7XG4gICAgdGhpcy5nZXRVbnByb2Nlc3NlZEZlZUNvdW50LmVtaXQoPGFueT50aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0Lmxlbmd0aCk7XG4gICAgdGhpcy51bnByb2Nlc3NlZFBheW1lbnRTZWxlY3RFdmVudCh0aGlzLnVuYXNzaWduZWRSZWNvcmRMaXN0KTtcbiAgfVxuXG4gIGZvcm1hdFVuYXNzaWduZWRSZWNvcmRJZChJRDogTnVtYmVyKSB7XG4gICAgcmV0dXJuIGB1bmFzc2lnbnJlY29yZC0ke0lEfWA7XG4gIH1cblxuICB0cmltVW5kZXJzY29yZShtZXRob2Q6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmJ1bGtTY2FuaW5nUGF5bWVudFNlcnZpY2UucmVtb3ZlVW53YW50ZWRTdHJpbmcobWV0aG9kLCAnICcpO1xuICB9XG5cbiAgcmVkaXJlY3RUb0ZlZVNlYXJjaFBhZ2UoZXZlbnQ6IGFueSwgZGNuX3JlZmVyZW5jZTogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnJlY29yZElkID0gZGNuX3JlZmVyZW5jZTtcbiAgICBsZXQgdXJsID0gdGhpcy5pc0J1bGtTY2FuRW5hYmxlID8gJyZpc0J1bGtTY2FubmluZz1FbmFibGUnIDogJyZpc0J1bGtTY2FubmluZz1EaXNhYmxlJztcbiAgICB1cmwgKz0gdGhpcy5JU1RVUk5PRkYgPyAnJmlzVHVybk9mZj1FbmFibGUnIDogJyZpc1R1cm5PZmY9RGlzYWJsZSc7XG4gICAgdXJsICs9IHRoaXMuaXNTdEZpeEVuYWJsZSA/ICcmaXNTdEZpeEVuYWJsZT1FbmFibGUnIDogJyZpc1N0Rml4RW5hYmxlPURpc2FibGUnO1xuICAgIHVybCArPSBgJmNhc2VUeXBlPSR7dGhpcy5wYXltZW50TGliQ29tcG9uZW50LkNBU0VUWVBFfWA7XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvZmVlLXNlYXJjaD9zZWxlY3RlZE9wdGlvbj0ke3RoaXMuc2VsZWN0ZWRPcHRpb259JmNjZENhc2VOdW1iZXI9JHt0aGlzLmNjZENhc2VOdW1iZXJ9JmRjbj0ke3RoaXMucmVjb3JkSWR9JHt1cmx9YCk7XG4gIH1cblxuICBsb2FkVW5zb2xpY2l0ZWRQYWdlKHZpZXdOYW1lOiBzdHJpbmcsIGRjbl9yZWZlcmVuY2U6IGFueSkge1xuICAgIHRoaXMucmVjb3JkSWQgPSBkY25fcmVmZXJlbmNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5ic3BheW1lbnRkY24gPSB0aGlzLnJlY29yZElkO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9IHZpZXdOYW1lO1xuICB9XG5cbiAgdW5wcm9jZXNzZWRQYXltZW50U2VsZWN0RXZlbnQoc2VsZWN0ZWRSZWNvcmRSZWZlcmVuY2U6IGFueSkge1xuICAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLnZhbGlkYXRlQnV0dG9ucygpO1xuICAgIHRoaXMuc2VsZWN0ZWRVbnByb2Nlc3NlZEZlZUV2ZW50LmVtaXQoc2VsZWN0ZWRSZWNvcmRSZWZlcmVuY2UpO1xuICB9XG5cbiAgcmVzZXRCdXR0b25zKCkge1xuICAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGdvVG9BbGxvY2F0ZVBhZ2UoZGNuX3JlZmVyZW5jZTogYW55KSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmJzcGF5bWVudGRjbiA9IGRjbl9yZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnVuUHJvY2Vzc2VkUGF5bWVudFNlcnZpY2VJZCA9IHRoaXMuc2VydmljZUlkXG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LmlzVHVybk9mZiA9IHRoaXMuSVNUVVJOT0ZGO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5JU1NGRU5BQkxFID0gdGhpcy5pc1N0Rml4RW5hYmxlO1xuXG4gICAgaWYgKHRoaXMuSVNUVVJOT0ZGKSB7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucGF5bWVudEdyb3VwUmVmZXJlbmNlID0gdGhpcy5QQVlNRU5UUkVGO1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnZpZXdOYW1lID0gJ2ZlZS1zdW1tYXJ5JztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRHcm91cFJlZmVyZW5jZSA9IG51bGw7XG4gICAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAnYWxsb2NhdGUtcGF5bWVudHMnO1xuICAgIH1cblxuICB9XG5cbiAgdmFsaWRhdGVCdXR0b25zKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkICYmIHRoaXMuaXNFeGNlcHRpb25DYXNlKSB7XG4gICAgICAgIHRoaXMuaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgJiYgIXRoaXMuaXNFeGNlcHRpb25DYXNlICYmICF0aGlzLkZFRV9SRUNPUkRTX0VYSVNUUykge1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1VucHJvY2Vzc2VkUmVjb3JkU2VsZWN0ZWQgJiYgIXRoaXMuaXNFeGNlcHRpb25DYXNlICYmIHRoaXMuRkVFX1JFQ09SRFNfRVhJU1RTKSB7XG4gICAgICAgIGlmICghdGhpcy5JU1RVUk5PRkYpIHtcbiAgICAgICAgICB0aGlzLmlzQWxsb2NhdGVUb0V4aXN0aW5nRmVlYnRuRW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5pc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID0gdGhpcy5JU19PU19BTVRfQVZBSUxBQkxFO1xuICAgICAgICAgIHRoaXMuaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgNDAwMCk7XG4gIH1cblxuICB1bnByb2Nlc3NlZFBheW1lbnRVblNlbGVjdEV2ZW50KGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucmVjb3JkSWQgPSBudWxsO1xuICAgIHRoaXMuaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQWxsb2NhdGVkVG9OZXdGZWVidG5FbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5pc01hcmtBc1VuaWRlbnRpZmllZGJ0bkVuYWJsZWQgPSBmYWxzZTtcbiAgICAvL3RoaXMudmFsaWRhdGVCdXR0b25zKCk7XG4gICAgdGhpcy5zZWxlY3RlZFVucHJvY2Vzc2VkRmVlRXZlbnQuZW1pdCgnJyk7XG4gIH1cblxuICBzaG93RGV0YWlsUm93KGV2ZW50OiBhbnksIG9iajogYW55LCBpOiBhbnkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy51bmFzc2lnbmVkUmVjb3JkU2VsZWN0ZWRMaXN0ID0gb2JqO1xuXG4gIH1cbn1cbiIsIjwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEVcIj5cbiAgICA8ZGl2IGNsYXNzPVwidW5wcm9jZXNzZWQtcGF5bWVudHMgZ292dWstZ3JpZC1jb2x1bW4tZnVsbCBnb3Z1ay0hLXBhZGRpbmctYm90dG9tLTNcIj5cbiAgICAgICAgPGlucHV0ICNteUlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2lGcmFtZURyaXZlbkltYWdlVmFsdWUnIHZhbHVlPSdDQVNFVFJBTlNBQ1RJT04nPlxuICAgICAgICA8aDMgY2xhc3M9XCJoZWFkaW5nLW1lZGl1bVwiICpuZ0lmPVwiIUlTX0JVVFRPTl9FTkFCTEVcIj5VbnByb2Nlc3NlZCBwYXltZW50czwvaDM+XG4gICAgICAgIDxoMyBjbGFzcz1cImhlYWRpbmctbWVkaXVtXCIgKm5nSWY9XCJJU19CVVRUT05fRU5BQkxFXCI+VW5hbGxvY2F0ZWQgcGF5bWVudHM8L2gzPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCI+XG4gICAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgIWlzVHVybk9mZlwiPlNlbGVjdDwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgaXNUdXJuT2ZmXCI+PGEgaHJlZj1cIiNcIiAoY2xpY2spPVwidW5wcm9jZXNzZWRQYXltZW50VW5TZWxlY3RFdmVudCgkZXZlbnQpXCI+VW5zZWxlY3Q8L2E+PC90ZD5cbiAgICAgIFxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+UGF5bWVudCBhc3NldCBudW1iZXIgKERDTik8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+QmFua2VkIGRhdGU8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+QW1vdW50PC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cImNvbFwiPk1ldGhvZDwvdGQ+XG4gICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiA+XG4gICAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgdW5hc3NpZ25lZFJlY29yZCBvZiB1bmFzc2lnbmVkUmVjb3JkTGlzdDsgbGV0IGkgb2YgaW5kZXg7XCI+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlwbGUtY2hvaWNlIHVucHJvY2Vzc2VkLXBheW1lbnRzLS1yYWRpby1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCIndW5wYWllZEZlZScraSsnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cInVuYXNzaWduZWRSZWNvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ1bmFzc2lnbmVkUmVjb3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicmVjb3JkSWRcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ1bnByb2Nlc3NlZFBheW1lbnRTZWxlY3RFdmVudCh1bmFzc2lnbmVkUmVjb3JkLmRjbl9yZWZlcmVuY2UpXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInt7dW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlfX1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyYWRpby1pbmxpbmUtMVwiPjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPlxuICAgICAgICAgICAgICAgICAgICB7e3VuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZX19XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgd2hpdGVzcGFjZS1pbmhlcml0XCI+IHt7dW5hc3NpZ25lZFJlY29yZC5kYXRlX2JhbmtlZCB8IGRhdGU6J2RkIE1NTSB5eXl5J319PC90ZD5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3VuYXNzaWduZWRSZWNvcmQuYW1vdW50IHwgY3VycmVuY3kgOidHQlAnOidzeW1ib2wnOicxLjItMid9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjYXBpdGFsaXplIGdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7eyB0cmltVW5kZXJzY29yZSh1bmFzc2lnbmVkUmVjb3JkLnBheW1lbnRfbWV0aG9kKSB8IGxvd2VyY2FzZX19ICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIiAqbmdJZj1cInVwUGF5bWVudEVycm9yTWVzc2FnZSAhPT0gbnVsbFwiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI2XCI+Tm8gdW5hbGxvY2F0ZWQgcGF5bWVudHMgcmVjb3JkIGF2YWlsYWJsZTwvdGQ+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyYlwiICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRSAmJiAhaXNUdXJuT2ZmXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPyAnYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMScgOiAnYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTEnXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gYSBuZXcgZmVlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID8gIFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiIDogXCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiJyAoY2xpY2spPVwiZ29Ub0FsbG9jYXRlUGFnZSgpXCI+XG4gICAgICAgICAgICAgIEFsbG9jYXRlIHRvIGFuIGV4aXN0aW5nIGZlZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3VuaWRlbnRpZmllZFBhZ2UnKVwiPlxuICAgICAgICAgICAgICBNYXJrIGFzIHVuaWRlbnRpZmllZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3Vuc29saWNpdGVkUGFnZScpXCI+XG4gICAgICAgICAgICAgIE1hcmsgYXMgdHJhbnNmZXJyZWRcbiAgICAgICAgICAgIDwvYnV0dG9uPiAgXG4gICAgICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1ncmJcIiAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEUgJiYgaXNUdXJuT2ZmXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPyAnYnV0dG9uIGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMScgOiAnYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTEnXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9GZWVTZWFyY2hQYWdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gYSBuZXcgZmVlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID8gIFwiYnV0dG9uIGJ1dHRvbi0tZGlzYWJsZWQgZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiIDogXCJidXR0b24gZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiJyAoY2xpY2spPVwiZ29Ub0FsbG9jYXRlUGFnZSgpXCI+XG4gICAgICAgICAgICAgIEFsbG9jYXRlIHRvIGFuIGV4aXN0aW5nIGZlZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3VuaWRlbnRpZmllZFBhZ2UnKVwiPlxuICAgICAgICAgICAgICBNYXJrIGFzIHVuaWRlbnRpZmllZFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzVW5wcm9jZXNzZWRSZWNvcmRTZWxlY3RlZCA/ICBcImJ1dHRvbiBidXR0b24tLWRpc2FibGVkIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIiA6IFwiYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTFcIicgKGNsaWNrKT1cImxvYWRVbnNvbGljaXRlZFBhZ2UoJ3Vuc29saWNpdGVkUGFnZScpXCI+XG4gICAgICAgICAgICAgIE1hcmsgYXMgdHJhbnNmZXJyZWRcbiAgICAgICAgICAgIDwvYnV0dG9uPiBcbiAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4gLS0+XG5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFJU19CVVRUT05fRU5BQkxFXCI+XG4gICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIj5cbiAgICAgICBcbiAgICAgICAgPHRoZWFkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRcIiAqbmdJZj0nUEFZTUVOVFNMRU5HVEggPT09IDAgJz5cbiAgICAgICAgICAgIDwhLS0gPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTE0XCIgc2NvcGU9XCJjb2xcIj5TdGF0dXM8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTEwXCIgc2NvcGU9XCJjb2xcIj5BbW91bnQ8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTE0XCIgc2NvcGU9XCJjb2xcIj5EYXRlPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0yMFwiIHNjb3BlPVwiY29sXCI+UmVxdWVzdCByZWZlcmVuY2U8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTlcIiBzY29wZT1cImNvbFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwiY29sXCI+PC90ZD5cbiAgICAgICAgICAgICAgPC90cj4gLS0+XG4gICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgdW5hc3NpZ25lZFJlY29yZCBvZiB1bmFzc2lnbmVkUmVjb3JkTGlzdDsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgd2hpdGVzcGFjZS1pbmhlcml0XCIgY2xhc3M9XCJjb2wtMTNcIj5cbiAgICAgICAgICAgICAgICAgICAgVW5hbGxvY2F0ZWQgXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPiB7e3VuYXNzaWduZWRSZWNvcmQuYW1vdW50IHwgY3VycmVuY3kgOidHQlAnOidzeW1ib2wnOicxLjItMid9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiPjwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgIFxuICAgIDwvdGFibGU+XG5cbjwvbmctY29udGFpbmVyPlxuXG5cbjwhLS1PcmRlcnMgVW5hbGxvY2F0ZWQgY2hhbmdlcy0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIklTX0JVVFRPTl9FTkFCTEVcIj5cbiAgICA8ZGl2IGNsYXNzPVwidW5wcm9jZXNzZWQtcGF5bWVudHNcIj5cbiAgICAgICAgPGlucHV0ICNteUlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2lGcmFtZURyaXZlbkltYWdlVmFsdWUnIHZhbHVlPSdDQVNFVFJBTlNBQ1RJT04nPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlXCI+XG4gICAgICAgICAgICAgXG4gICAgICAgICAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtMTNcIiBzY29wZT1cImNvbFwiPlN0YXR1czwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjb2wtOVwiIHNjb3BlPVwiY29sXCI+QW1vdW50PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0xNlwiIHNjb3BlPVwiY29sXCI+RGF0ZSBhbGxvY2F0ZWQ8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY29sLTI0XCIgY29sc3Bhbj1cIjNcIiBzY29wZT1cImNvbFwiPlJlcXVlc3QgcmVmZXJlbmNlPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNvbC0xM1wiIHNjb3BlPVwiY29sXCI+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJjb2xcIj48L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHVuYXNzaWduZWRSZWNvcmQgb2YgdW5hc3NpZ25lZFJlY29yZExpc3Q7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCAgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCB3aGl0ZXNwYWNlLWluaGVyaXQgY29sLTEzXCIgPlxuICAgICAgICAgICAgICAgICAgVW5hbGxvY2F0ZWQgXG4gICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdCBjb2wtMTBcIj5cbiAgICAgICAgICAgICAgICAgICAge3t1bmFzc2lnbmVkUmVjb3JkLmFtb3VudCB8IGN1cnJlbmN5IDonR0JQJzonc3ltYm9sJzonMS4yLTInfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHdoaXRlc3BhY2UtaW5oZXJpdFwiIGNvbHNwYW49XCI4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwiSVNfQlVUVE9OX0VOQUJMRSAmJiAhaXNUdXJuT2ZmXCIgY2xhc3M9XCJhbGlnbnJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlZFRvTmV3RmVlYnRuRW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIhaXNBbGxvY2F0ZWRUb05ld0ZlZWJ0bkVuYWJsZWQgPyAnYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWQnIDogJ2J1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSdcIiAoY2xpY2spPVwicmVkaXJlY3RUb0ZlZVNlYXJjaFBhZ2UoJGV2ZW50LHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gbmV3IHNlcnZpY2UgcmVxdWVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+PGJyLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0FsbG9jYXRlVG9FeGlzdGluZ0ZlZWJ0bkVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNBbGxvY2F0ZVRvRXhpc3RpbmdGZWVidG5FbmFibGVkID8gIFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWRcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCInIChjbGljayk9XCJnb1RvQWxsb2NhdGVQYWdlKHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb2NhdGUgdG8gZXhpc3Rpbmcgc2VydmljZSByZXF1ZXN0IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIFxuICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXI+IC0tPlxuICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInVuYXNzaWduZWQgbm9ib3JkZXJzXCIgY29sc3Bhbj1cIjEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnkgKGNsaWNrKT1cInVuYXNzaWduZWRSZWNvcmQuZXhwYW5kZWQgPSAhdW5hc3NpZ25lZFJlY29yZC5leHBhbmRlZFwiIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9yZSBkZXRhaWxzIGFuZCBhY3Rpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVuYXNzaWduZWRSZWNvcmQuZXhwYW5kZWRcIiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3RleHQgIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS01IHBhZGRpbmdyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGwgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3QgZ292dWstIS1tYXJnaW4tYm90dG9tLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB0cmltVW5kZXJzY29yZSh1bmFzc2lnbmVkUmVjb3JkLnBheW1lbnRfbWV0aG9kKSB8IGxvd2VyY2FzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGF5bWVudCBhc3Nlc3QgbnVtYmVyIChEQ04pIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3VuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNNYXJrQXNVbmlkZW50aWZpZWRidG5FbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT0nIWlzTWFya0FzVW5pZGVudGlmaWVkYnRuRW5hYmxlZCA/ICBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBidXR0b24tLWRpc2FibGVkXCIgOiBcImJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeVwiJyAoY2xpY2spPVwibG9hZFVuc29saWNpdGVkUGFnZSgndW5pZGVudGlmaWVkUGFnZScsdW5hc3NpZ25lZFJlY29yZC5kY25fcmVmZXJlbmNlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJrIGFzIHVuaWRlbnRpZmllZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPSchaXNVbnByb2Nlc3NlZFJlY29yZFNlbGVjdGVkID8gIFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGJ1dHRvbi0tZGlzYWJsZWRcIiA6IFwiYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCInIChjbGljayk9XCJsb2FkVW5zb2xpY2l0ZWRQYWdlKCd1bnNvbGljaXRlZFBhZ2UnLHVuYXNzaWduZWRSZWNvcmQuZGNuX3JlZmVyZW5jZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJrIGFzIHRyYW5zZmVycmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L3RkPiBcbiAgICAgICAgICAgICAgICA8L3RyPiBcbiAgICAgICAgICAgICAgPCEtLSA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICBcbiAgICAgICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXdTdGF0dXMgPT09ICdtYWluJ1wiPlxuXG48L25nLWNvbnRhaW5lcj5cbjwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIlBBWU1FTlRTTEVOR1RIID09PSAwICYmIHVuYXNzaWduZWRSZWNvcmRMaXN0TGVuZ3RoID09PSAwXCI+XG4gIDxici8+Tm8gcGF5bWVudHMuPGJyLz5cbjwvbmctY29udGFpbmVyPiAtLT5cblxuIl19
|