ngx-techlify-checksheet 18.0.0 → 18.2.0
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/checksheet/checksheet-form/checksheet-form.component.mjs +88 -116
- package/esm2022/lib/checksheet/checksheet-form-button/checksheet-form-button.component.mjs +10 -12
- package/esm2022/lib/checksheet/checksheet-format/checksheet-format-copy-button/checksheet-format-copy-button.component.mjs +56 -0
- package/esm2022/lib/checksheet/checksheet-format/checksheet-format-delete-button/checksheet-format-delete-button.component.mjs +54 -0
- package/esm2022/lib/checksheet/checksheet-format/checksheet-format-publish-button/checksheet-format-publish-button.component.mjs +68 -0
- package/esm2022/lib/checksheet/checksheet-format/checksheet-format-unpublish-button/checksheet-format-unpublish-button.component.mjs +57 -0
- package/esm2022/lib/checksheet/checksheet-format/checksheet-format-view/checksheet-format-view.component.mjs +140 -0
- package/esm2022/lib/checksheet/checksheet-format-form/checksheet-format-form.component.mjs +139 -0
- package/esm2022/lib/checksheet/checksheet-format-list/checksheet-format-list.component.mjs +9 -67
- package/esm2022/lib/checksheet/checksheet-list/checksheet-list.component.mjs +28 -11
- package/esm2022/lib/checksheet/checksheet-list-widget/checksheet-list-widget.component.mjs +59 -0
- package/esm2022/lib/checksheet/checksheet-node-view/checksheet-node-view.component.mjs +24 -24
- package/esm2022/lib/checksheet/checksheet-question/checksheet-question.component.mjs +12 -13
- package/esm2022/lib/checksheet/checksheet-question-list/checksheet-question-list.component.mjs +7 -9
- package/esm2022/lib/checksheet/checksheet-report/checksheet-report.component.mjs +3 -3
- package/esm2022/lib/checksheet/checksheet-routing.module.mjs +6 -6
- package/esm2022/lib/checksheet/checksheet-submission-file/checksheet-submission-files/checksheet-submission-files.component.mjs +83 -17
- package/esm2022/lib/checksheet/checksheet-submission-list/checksheet-submission-list.component.mjs +5 -5
- package/esm2022/lib/checksheet/checksheet-submission-view/checksheet-submission-view.component.mjs +4 -4
- package/esm2022/lib/checksheet/checksheet.module.mjs +42 -20
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/ngx-techlify-checksheet.mjs +594 -378
- package/fesm2022/ngx-techlify-checksheet.mjs.map +1 -1
- package/lib/checksheet/checksheet-form/checksheet-form.component.d.ts +15 -34
- package/lib/checksheet/checksheet-form-button/checksheet-form-button.component.d.ts +3 -4
- package/lib/checksheet/checksheet-format/checksheet-format-copy-button/checksheet-format-copy-button.component.d.ts +16 -0
- package/lib/checksheet/checksheet-format/checksheet-format-delete-button/checksheet-format-delete-button.component.d.ts +16 -0
- package/lib/checksheet/checksheet-format/checksheet-format-publish-button/checksheet-format-publish-button.component.d.ts +18 -0
- package/lib/checksheet/checksheet-format/checksheet-format-unpublish-button/checksheet-format-unpublish-button.component.d.ts +16 -0
- package/lib/checksheet/{checksheet-view/checksheet-view.component.d.ts → checksheet-format/checksheet-format-view/checksheet-format-view.component.d.ts} +4 -4
- package/lib/checksheet/checksheet-format-form/checksheet-format-form.component.d.ts +39 -0
- package/lib/checksheet/checksheet-format-list/checksheet-format-list.component.d.ts +0 -3
- package/lib/checksheet/checksheet-list/checksheet-list.component.d.ts +5 -3
- package/lib/checksheet/checksheet-list-widget/checksheet-list-widget.component.d.ts +17 -0
- package/lib/checksheet/checksheet-node-view/checksheet-node-view.component.d.ts +2 -4
- package/lib/checksheet/checksheet-submission-file/checksheet-submission-files/checksheet-submission-files.component.d.ts +14 -4
- package/lib/checksheet/checksheet.module.d.ts +12 -7
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/esm2022/lib/checksheet/checksheet-submission-form/checksheet-submission-form.component.mjs +0 -131
- package/esm2022/lib/checksheet/checksheet-submission-form-button/checksheet-submission-form-button.component.mjs +0 -58
- package/esm2022/lib/checksheet/checksheet-view/checksheet-view.component.mjs +0 -140
- package/lib/checksheet/checksheet-submission-form/checksheet-submission-form.component.d.ts +0 -27
- package/lib/checksheet/checksheet-submission-form-button/checksheet-submission-form-button.component.d.ts +0 -29
package/esm2022/lib/checksheet/checksheet-question-list/checksheet-question-list.component.mjs
CHANGED
|
@@ -6,12 +6,10 @@ import * as i1 from "ngx-spinner";
|
|
|
6
6
|
import * as i2 from "ngx-techlify-core";
|
|
7
7
|
import * as i3 from "@angular/material/dialog";
|
|
8
8
|
import * as i4 from "@angular/common";
|
|
9
|
-
import * as i5 from "@angular/
|
|
10
|
-
import * as i6 from "@angular/material/
|
|
11
|
-
import * as i7 from "
|
|
12
|
-
import * as i8 from "
|
|
13
|
-
import * as i9 from "ngx-infinite-scroll";
|
|
14
|
-
import * as i10 from "../checksheet-question/checksheet-question.component";
|
|
9
|
+
import * as i5 from "@angular/material/card";
|
|
10
|
+
import * as i6 from "@angular/material/icon";
|
|
11
|
+
import * as i7 from "ngx-infinite-scroll";
|
|
12
|
+
import * as i8 from "../checksheet-question/checksheet-question.component";
|
|
15
13
|
export class ChecksheetQuestionListComponent {
|
|
16
14
|
spinnerService;
|
|
17
15
|
alertService;
|
|
@@ -144,11 +142,11 @@ export class ChecksheetQuestionListComponent {
|
|
|
144
142
|
});
|
|
145
143
|
}
|
|
146
144
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetQuestionListComponent, deps: [{ token: i1.NgxSpinnerService }, { token: i2.AlertService }, { token: i3.MatDialog }, { token: i2.DataManager }], target: i0.ɵɵFactoryTarget.Component });
|
|
147
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChecksheetQuestionListComponent, selector: "app-checksheet-question-list", inputs: { checksheet: "checksheet", submission: "submission", disableInput: "disableInput" }, outputs: { checksheetChange: "checksheetChange" }, ngImport: i0, template: "<ng-container *ngIf=\"checksheet?.id\">\n <
|
|
145
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ChecksheetQuestionListComponent, selector: "app-checksheet-question-list", inputs: { checksheet: "checksheet", submission: "submission", disableInput: "disableInput" }, outputs: { checksheetChange: "checksheetChange" }, ngImport: i0, template: "<ng-container *ngIf=\"checksheet?.id\">\n <mat-card *ngIf=\"!disableInput\" class=\"mb-3\">\n <mat-card-content class=\"d-flex justify-content-start align-items-center gap-2\">\n <h2 class=\"mb-0\">Questions</h2>\n <mat-icon (click)=\"addQuestion()\" class=\"cursor-pointer\">add</mat-icon>\n </mat-card-content>\n </mat-card>\n\n <div class=\"d-flex flex-column gap-3 mat-typography\" infiniteScroll\n [infiniteScrollDistance]=\"1\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n <mat-card *ngFor=\"let question of questions; let i = index\">\n <mat-card-content class=\"d-flex justify-content-between align-items-start gap-3\">\n <app-checksheet-question [questionInfo]=\"question\" [index]=\"i\"></app-checksheet-question>\n <div class=\"d-flex flex-row gap-3 justify-content-end\" *ngIf=\"!disableInput\">\n <mat-icon class=\"cursor-pointer\" (click)=\"deleteQuestion(question)\">delete</mat-icon>\n <mat-icon class=\"cursor-pointer\" (click)=\"editQuestion(question, i)\">edit</mat-icon>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"i > 0\" (click)=\"moveQuestionUp(i)\">arrow_upward</mat-icon>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"i < questions.length - 1\" (click)=\"moveQuestionDown(i)\">\n arrow_downward\n </mat-icon>\n </div>\n\n </mat-card-content>\n </mat-card>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"submission?.id\">\n <div class=\"d-flex flex-column gap-2\">\n <app-checksheet-question *ngFor=\"let question of submission.format.questions; let i = index\"\n [questionInfo]=\"question\" [index]=\"i\" [submissionView]=\"true\"\n [submissionId]=\"submission.id\" [disableInput]=\"disableInput\">\n </app-checksheet-question>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i8.ChecksheetQuestionComponent, selector: "app-checksheet-question", inputs: ["questionInfo", "index", "submissionView", "submissionId", "disableInput", "isWorking"], outputs: ["isWorkingChange"] }] });
|
|
148
146
|
}
|
|
149
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChecksheetQuestionListComponent, decorators: [{
|
|
150
148
|
type: Component,
|
|
151
|
-
args: [{ selector: 'app-checksheet-question-list', template: "<ng-container *ngIf=\"checksheet?.id\">\n <
|
|
149
|
+
args: [{ selector: 'app-checksheet-question-list', template: "<ng-container *ngIf=\"checksheet?.id\">\n <mat-card *ngIf=\"!disableInput\" class=\"mb-3\">\n <mat-card-content class=\"d-flex justify-content-start align-items-center gap-2\">\n <h2 class=\"mb-0\">Questions</h2>\n <mat-icon (click)=\"addQuestion()\" class=\"cursor-pointer\">add</mat-icon>\n </mat-card-content>\n </mat-card>\n\n <div class=\"d-flex flex-column gap-3 mat-typography\" infiniteScroll\n [infiniteScrollDistance]=\"1\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n <mat-card *ngFor=\"let question of questions; let i = index\">\n <mat-card-content class=\"d-flex justify-content-between align-items-start gap-3\">\n <app-checksheet-question [questionInfo]=\"question\" [index]=\"i\"></app-checksheet-question>\n <div class=\"d-flex flex-row gap-3 justify-content-end\" *ngIf=\"!disableInput\">\n <mat-icon class=\"cursor-pointer\" (click)=\"deleteQuestion(question)\">delete</mat-icon>\n <mat-icon class=\"cursor-pointer\" (click)=\"editQuestion(question, i)\">edit</mat-icon>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"i > 0\" (click)=\"moveQuestionUp(i)\">arrow_upward</mat-icon>\n <mat-icon class=\"cursor-pointer\" *ngIf=\"i < questions.length - 1\" (click)=\"moveQuestionDown(i)\">\n arrow_downward\n </mat-icon>\n </div>\n\n </mat-card-content>\n </mat-card>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"submission?.id\">\n <div class=\"d-flex flex-column gap-2\">\n <app-checksheet-question *ngFor=\"let question of submission.format.questions; let i = index\"\n [questionInfo]=\"question\" [index]=\"i\" [submissionView]=\"true\"\n [submissionId]=\"submission.id\" [disableInput]=\"disableInput\">\n </app-checksheet-question>\n </div>\n</ng-container>\n" }]
|
|
152
150
|
}], ctorParameters: () => [{ type: i1.NgxSpinnerService }, { type: i2.AlertService }, { type: i3.MatDialog }, { type: i2.DataManager }], propDecorators: { checksheet: [{
|
|
153
151
|
type: Input
|
|
154
152
|
}], checksheetChange: [{
|
|
@@ -158,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
158
156
|
}], disableInput: [{
|
|
159
157
|
type: Input
|
|
160
158
|
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1xdWVzdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXF1ZXN0aW9uLWxpc3QvY2hlY2tzaGVldC1xdWVzdGlvbi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXF1ZXN0aW9uLWxpc3QvY2hlY2tzaGVldC1xdWVzdGlvbi1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUVMLG9CQUFvQixFQUdyQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7Ozs7Ozs7QUFPakgsTUFBTSxPQUFPLCtCQUErQjtJQVNoQztJQUNBO0lBQ0E7SUFDQTtJQVhELFVBQVUsR0FBUSxFQUFFLENBQUM7SUFDcEIsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV2QyxVQUFVLENBQU87SUFDakIsWUFBWSxDQUFXO0lBQ2hDLFNBQVMsR0FBVSxFQUFFLENBQUM7SUFFdEIsWUFDVSxjQUFpQyxFQUNqQyxZQUEwQixFQUMxQixNQUFpQixFQUNqQixXQUF3QjtRQUh4QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUMvQixDQUFDO0lBRUosUUFB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QUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTmd4U3Bpbm5lclNlcnZpY2UgfSBmcm9tICduZ3gtc3Bpbm5lcic7XG5pbXBvcnQge1xuICBBY3Rpb25Qb3B1cCxcbiAgQWN0aW9uUG9wdXBDb21wb25lbnQsXG4gIEFsZXJ0U2VydmljZSxcbiAgRGF0YU1hbmFnZXJcbn0gZnJvbSAnbmd4LXRlY2hsaWZ5LWNvcmUnO1xuaW1wb3J0IHsgQ2hlY2tzaGVldFF1ZXN0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrc2hlZXQtcXVlc3Rpb24tZm9ybS9jaGVja3NoZWV0LXF1ZXN0aW9uLWZvcm0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoZWNrc2hlZXQtcXVlc3Rpb24tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja3NoZWV0LXF1ZXN0aW9uLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja3NoZWV0LXF1ZXN0aW9uLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja3NoZWV0UXVlc3Rpb25MaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY2hlY2tzaGVldDogYW55ID0ge307XG4gIEBPdXRwdXQoKSBjaGVja3NoZWV0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpIHN1Ym1pc3Npb24hOiBhbnk7XG4gIEBJbnB1dCgpIGRpc2FibGVJbnB1dCE6IGJvb2xlYW47XG4gIHF1ZXN0aW9uczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNwaW5uZXJTZXJ2aWNlOiBOZ3hTcGlubmVyU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBkYXRhTWFuYWdlcjogRGF0YU1hbmFnZXJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucXVlc3Rpb25zID0gdGhpcy5jaGVja3NoZWV0Py5xdWVzdGlvbnMgfHwgW107XG4gIH1cblxuICBvblNjcm9sbCgpIHt9XG5cbiAgZWRpdFF1ZXN0aW9uKHF1ZXN0aW9uOiBhbnksIGluZGV4OiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENoZWNrc2hlZXRRdWVzdGlvbkZvcm1Db21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnODAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICB1cGRhdGU6IHRydWUsXG4gICAgICAgIHF1ZXN0aW9uOiBxdWVzdGlvblxuICAgICAgfSxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2VcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHF1ZXN0aW9uID0gcmVzdWx0O1xuICAgICAgICB0aGlzLnF1ZXN0aW9uc1tpbmRleF0gPSBxdWVzdGlvbjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFkZFF1ZXN0aW9uKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ2hlY2tzaGVldFF1ZXN0aW9uRm9ybUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc4MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHF1ZXN0aW9uOiB7XG4gICAgICAgICAgZm9ybWF0X2lkOiB0aGlzLmNoZWNrc2hlZXQuaWRcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2VcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucXVlc3Rpb25zLnB1c2gocmVzdWx0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG1vdmVRdWVzdGlvblVwKGluZGV4OiBhbnkpIHtcbiAgICBpZiAoaW5kZXggPCB0aGlzLnF1ZXN0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2Uuc2hvdygpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKGluZGV4IDw9IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcTEgPSB0aGlzLnF1ZXN0aW9uc1tpbmRleF07XG4gICAgICAgIGNvbnN0IHEyID0gdGhpcy5xdWVzdGlvbnNbaW5kZXggLSAxXTtcbiAgICAgICAgYXdhaXQgdGhpcy5kYXRhTWFuYWdlci5QVVQoYGFwaS9jaGVja3NoZWV0LWZvcm1hdC1xdWVzdGlvbnMvJHtxMS5pZH1gLCB7XG4gICAgICAgICAgLi4ucTEsXG4gICAgICAgICAgcmFuazogaW5kZXggLSAxXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCB0aGlzLmRhdGFNYW5hZ2VyLlBVVChgYXBpL2NoZWNrc2hlZXQtZm9ybWF0LXF1ZXN0aW9ucy8ke3EyLmlkfWAsIHtcbiAgICAgICAgICAuLi5xMixcbiAgICAgICAgICByYW5rOiBpbmRleFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnF1ZXN0aW9uc1tpbmRleF0gPSBxMjtcbiAgICAgICAgdGhpcy5xdWVzdGlvbnNbaW5kZXggLSAxXSA9IHExO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXG4gICAgICAgICAgJ1VuYWJsZSB0byBtb3ZlIHF1ZXN0aW9uLCB0cnkgbGF0ZXInLFxuICAgICAgICAgICd3YXJuJ1xuICAgICAgICApO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5oaWRlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbW92ZVF1ZXN0aW9uRG93bihpbmRleDogYW55KSB7XG4gICAgaWYgKGluZGV4IDwgdGhpcy5xdWVzdGlvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLnNob3coKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHExID0gdGhpcy5xdWVzdGlvbnNbaW5kZXhdO1xuICAgICAgICBjb25zdCBxMiA9IHRoaXMucXVlc3Rpb25zW2luZGV4ICsgMV07XG4gICAgICAgIGF3YWl0IHRoaXMuZGF0YU1hbmFnZXIuUFVUKGBhcGkvY2hlY2tzaGVldC1mb3JtYXQtcXVlc3Rpb25zLyR7cTEuaWR9YCwge1xuICAgICAgICAgIC4uLnExLFxuICAgICAgICAgIHJhbms6IGluZGV4ICsgMVxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgdGhpcy5kYXRhTWFuYWdlci5QVVQoYGFwaS9jaGVja3NoZWV0LWZvcm1hdC1xdWVzdGlvbnMvJHtxMi5pZH1gLCB7XG4gICAgICAgICAgLi4ucTIsXG4gICAgICAgICAgcmFuazogaW5kZXhcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5xdWVzdGlvbnNbaW5kZXhdID0gcTI7XG4gICAgICAgIHRoaXMucXVlc3Rpb25zW2luZGV4ICsgMV0gPSBxMTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxuICAgICAgICAgICdVbmFibGUgdG8gbW92ZSBxdWVzdGlvbiwgdHJ5IGxhdGVyJyxcbiAgICAgICAgICAnd2FybidcbiAgICAgICAgKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZVF1ZXN0aW9uKHF1ZXN0aW9uOiBhbnkpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFjdGlvblBvcHVwQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzQwMHB4JyxcbiAgICAgIGRhdGE6IDxBY3Rpb25Qb3B1cD57XG4gICAgICAgIHRpdGxlOiAnRGVsZXRlIFF1ZXN0aW9uJyxcbiAgICAgICAgbWVzc2FnZTogYEFyZSB5b3Ugc3VyZSB0byBkZWxldGUgdGhlIHF1ZXN0aW9uP2BcbiAgICAgIH0sXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAvL0FjdGlvbiBjb25maXJtZWRcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLnNob3coKTtcbiAgICAgICAgICBhd2FpdCB0aGlzLmRhdGFNYW5hZ2VyLkRFTEVURShcbiAgICAgICAgICAgIGBhcGkvY2hlY2tzaGVldC1mb3JtYXQtcXVlc3Rpb25zLyR7cXVlc3Rpb24uaWR9YFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5xdWVzdGlvbnMgPSB0aGlzLnF1ZXN0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAoeDogYW55KSA9PiB4LmlkICE9PSBxdWVzdGlvbi5pZFxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXG4gICAgICAgICAgICAnVW5hYmxlIHRvIGRlbGV0ZSBxdWVzdGlvbiwgdHJ5IGxhdGVyJyxcbiAgICAgICAgICAgICd3YXJuJ1xuICAgICAgICAgICk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoZWNrc2hlZXQ/LmlkXCI+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIiFkaXNhYmxlSW5wdXRcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAoY2xpY2spPVwiYWRkUXVlc3Rpb24oKVwiXG4gICAgY2xhc3M9XCJtYi0yXCJcbiAgPlxuICAgIEFkZCBRdWVzdGlvblxuICA8L2J1dHRvbj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTMgbWF0LXR5cG9ncmFwaHkgc2Nyb2xsLWNvbnRhaW5lclwiXG4gICAgaW5maW5pdGVTY3JvbGxcbiAgICBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIxXCJcbiAgICBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiXG4gICAgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIlxuICAgIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIlxuICA+XG4gICAgPG1hdC1jYXJkXG4gICAgICBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtM1wiXG4gICAgICAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2YgcXVlc3Rpb25zOyBsZXQgaSA9IGluZGV4XCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGdhcC0zIGp1c3RpZnktY29udGVudC1lbmRcIlxuICAgICAgICAqbmdJZj1cIiFkaXNhYmxlSW5wdXRcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJkZWxldGVRdWVzdGlvbihxdWVzdGlvbilcIj5cbiAgICAgICAgICBkZWxldGVcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZWRpdFF1ZXN0aW9uKHF1ZXN0aW9uLCBpKVwiPlxuICAgICAgICAgIGVkaXRcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgKm5nSWY9XCJpID4gMFwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1vdmVRdWVzdGlvblVwKGkpXCJcbiAgICAgICAgPlxuICAgICAgICAgIGFycm93X3Vwd2FyZFxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAqbmdJZj1cImkgPCBxdWVzdGlvbnMubGVuZ3RoIC0gMVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1vdmVRdWVzdGlvbkRvd24oaSlcIlxuICAgICAgICA+XG4gICAgICAgICAgYXJyb3dfZG93bndhcmRcbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2PlxuICAgICAgICA8YXBwLWNoZWNrc2hlZXQtcXVlc3Rpb25cbiAgICAgICAgICBbcXVlc3Rpb25JbmZvXT1cInF1ZXN0aW9uXCJcbiAgICAgICAgICBbaW5kZXhdPVwiaVwiXG4gICAgICAgID48L2FwcC1jaGVja3NoZWV0LXF1ZXN0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtY2FyZD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1Ym1pc3Npb24/LmlkXCI+XG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjFyZW1cIiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XG4gICAgPG1hdC1jYXJkXG4gICAgICBmeExheW91dD1cImNvbHVtblwiXG4gICAgICBmeExheW91dEdhcD1cIjAuNXJlbVwiXG4gICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgICpuZ0Zvcj1cImxldCBxdWVzdGlvbiBvZiBzdWJtaXNzaW9uLmZvcm1hdC5xdWVzdGlvbnM7IGxldCBpID0gaW5kZXhcIlxuICAgID5cbiAgICAgIDxhcHAtY2hlY2tzaGVldC1xdWVzdGlvblxuICAgICAgICBbcXVlc3Rpb25JbmZvXT1cInF1ZXN0aW9uXCJcbiAgICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgICBbc3VibWlzc2lvblZpZXddPVwidHJ1ZVwiXG4gICAgICAgIFtzdWJtaXNzaW9uSWRdPVwic3VibWlzc2lvbi5pZFwiXG4gICAgICAgIFtkaXNhYmxlSW5wdXRdPVwiZGlzYWJsZUlucHV0XCJcbiAgICAgID5cbiAgICAgIDwvYXBwLWNoZWNrc2hlZXQtcXVlc3Rpb24+XG4gICAgPC9tYXQtY2FyZD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1xdWVzdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXF1ZXN0aW9uLWxpc3QvY2hlY2tzaGVldC1xdWVzdGlvbi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXF1ZXN0aW9uLWxpc3QvY2hlY2tzaGVldC1xdWVzdGlvbi1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUVMLG9CQUFvQixFQUdyQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7Ozs7O0FBT2pILE1BQU0sT0FBTywrQkFBK0I7SUFTaEM7SUFDQTtJQUNBO0lBQ0E7SUFYRCxVQUFVLEdBQVEsRUFBRSxDQUFDO0lBQ3BCLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFdkMsVUFBVSxDQUFPO0lBQ2pCLFlBQVksQ0FBVztJQUNoQyxTQUFTLEdBQVUsRUFBRSxDQUFDO0lBRXRCLFlBQ1UsY0FBaUMsRUFDakMsWUFBMEIsRUFDMUIsTUFBaUIsRUFDakIsV0FBd0I7UUFIeEIsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDL0IsQ0FBQztJQUVKLFFBQVE7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RyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE5neFNwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LXNwaW5uZXInO1xuaW1wb3J0IHtcbiAgQWN0aW9uUG9wdXAsXG4gIEFjdGlvblBvcHVwQ29tcG9uZW50LFxuICBBbGVydFNlcnZpY2UsXG4gIERhdGFNYW5hZ2VyXG59IGZyb20gJ25neC10ZWNobGlmeS1jb3JlJztcbmltcG9ydCB7IENoZWNrc2hlZXRRdWVzdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9jaGVja3NoZWV0LXF1ZXN0aW9uLWZvcm0vY2hlY2tzaGVldC1xdWVzdGlvbi1mb3JtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jaGVja3NoZWV0LXF1ZXN0aW9uLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tzaGVldC1xdWVzdGlvbi1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tzaGVldC1xdWVzdGlvbi1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tzaGVldFF1ZXN0aW9uTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNoZWNrc2hlZXQ6IGFueSA9IHt9O1xuICBAT3V0cHV0KCkgY2hlY2tzaGVldENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSBzdWJtaXNzaW9uITogYW55O1xuICBASW5wdXQoKSBkaXNhYmxlSW5wdXQhOiBib29sZWFuO1xuICBxdWVzdGlvbnM6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzcGlubmVyU2VydmljZTogTmd4U3Bpbm5lclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgZGF0YU1hbmFnZXI6IERhdGFNYW5hZ2VyXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXN0aW9ucyA9IHRoaXMuY2hlY2tzaGVldD8ucXVlc3Rpb25zIHx8IFtdO1xuICB9XG5cbiAgb25TY3JvbGwoKSB7fVxuXG4gIGVkaXRRdWVzdGlvbihxdWVzdGlvbjogYW55LCBpbmRleDogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihDaGVja3NoZWV0UXVlc3Rpb25Gb3JtQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzgwMHB4JyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdXBkYXRlOiB0cnVlLFxuICAgICAgICBxdWVzdGlvbjogcXVlc3Rpb25cbiAgICAgIH0sXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICBxdWVzdGlvbiA9IHJlc3VsdDtcbiAgICAgICAgdGhpcy5xdWVzdGlvbnNbaW5kZXhdID0gcXVlc3Rpb247XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhZGRRdWVzdGlvbigpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENoZWNrc2hlZXRRdWVzdGlvbkZvcm1Db21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnODAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICBxdWVzdGlvbjoge1xuICAgICAgICAgIGZvcm1hdF9pZDogdGhpcy5jaGVja3NoZWV0LmlkXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnF1ZXN0aW9ucy5wdXNoKHJlc3VsdCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBtb3ZlUXVlc3Rpb25VcChpbmRleDogYW55KSB7XG4gICAgaWYgKGluZGV4IDwgdGhpcy5xdWVzdGlvbnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLnNob3coKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChpbmRleCA8PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHExID0gdGhpcy5xdWVzdGlvbnNbaW5kZXhdO1xuICAgICAgICBjb25zdCBxMiA9IHRoaXMucXVlc3Rpb25zW2luZGV4IC0gMV07XG4gICAgICAgIGF3YWl0IHRoaXMuZGF0YU1hbmFnZXIuUFVUKGBhcGkvY2hlY2tzaGVldC1mb3JtYXQtcXVlc3Rpb25zLyR7cTEuaWR9YCwge1xuICAgICAgICAgIC4uLnExLFxuICAgICAgICAgIHJhbms6IGluZGV4IC0gMVxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgdGhpcy5kYXRhTWFuYWdlci5QVVQoYGFwaS9jaGVja3NoZWV0LWZvcm1hdC1xdWVzdGlvbnMvJHtxMi5pZH1gLCB7XG4gICAgICAgICAgLi4ucTIsXG4gICAgICAgICAgcmFuazogaW5kZXhcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5xdWVzdGlvbnNbaW5kZXhdID0gcTI7XG4gICAgICAgIHRoaXMucXVlc3Rpb25zW2luZGV4IC0gMV0gPSBxMTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxuICAgICAgICAgICdVbmFibGUgdG8gbW92ZSBxdWVzdGlvbiwgdHJ5IGxhdGVyJyxcbiAgICAgICAgICAnd2FybidcbiAgICAgICAgKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIG1vdmVRdWVzdGlvbkRvd24oaW5kZXg6IGFueSkge1xuICAgIGlmIChpbmRleCA8IHRoaXMucXVlc3Rpb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBxMSA9IHRoaXMucXVlc3Rpb25zW2luZGV4XTtcbiAgICAgICAgY29uc3QgcTIgPSB0aGlzLnF1ZXN0aW9uc1tpbmRleCArIDFdO1xuICAgICAgICBhd2FpdCB0aGlzLmRhdGFNYW5hZ2VyLlBVVChgYXBpL2NoZWNrc2hlZXQtZm9ybWF0LXF1ZXN0aW9ucy8ke3ExLmlkfWAsIHtcbiAgICAgICAgICAuLi5xMSxcbiAgICAgICAgICByYW5rOiBpbmRleCArIDFcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IHRoaXMuZGF0YU1hbmFnZXIuUFVUKGBhcGkvY2hlY2tzaGVldC1mb3JtYXQtcXVlc3Rpb25zLyR7cTIuaWR9YCwge1xuICAgICAgICAgIC4uLnEyLFxuICAgICAgICAgIHJhbms6IGluZGV4XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucXVlc3Rpb25zW2luZGV4XSA9IHEyO1xuICAgICAgICB0aGlzLnF1ZXN0aW9uc1tpbmRleCArIDFdID0gcTE7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcbiAgICAgICAgICAnVW5hYmxlIHRvIG1vdmUgcXVlc3Rpb24sIHRyeSBsYXRlcicsXG4gICAgICAgICAgJ3dhcm4nXG4gICAgICAgICk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkZWxldGVRdWVzdGlvbihxdWVzdGlvbjogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBkYXRhOiA8QWN0aW9uUG9wdXA+e1xuICAgICAgICB0aXRsZTogJ0RlbGV0ZSBRdWVzdGlvbicsXG4gICAgICAgIG1lc3NhZ2U6IGBBcmUgeW91IHN1cmUgdG8gZGVsZXRlIHRoZSBxdWVzdGlvbj9gXG4gICAgICB9LFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgLy9BY3Rpb24gY29uZmlybWVkXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCk7XG4gICAgICAgICAgYXdhaXQgdGhpcy5kYXRhTWFuYWdlci5ERUxFVEUoXG4gICAgICAgICAgICBgYXBpL2NoZWNrc2hlZXQtZm9ybWF0LXF1ZXN0aW9ucy8ke3F1ZXN0aW9uLmlkfWBcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMucXVlc3Rpb25zID0gdGhpcy5xdWVzdGlvbnMuZmlsdGVyKFxuICAgICAgICAgICAgKHg6IGFueSkgPT4geC5pZCAhPT0gcXVlc3Rpb24uaWRcbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxuICAgICAgICAgICAgJ1VuYWJsZSB0byBkZWxldGUgcXVlc3Rpb24sIHRyeSBsYXRlcicsXG4gICAgICAgICAgICAnd2FybidcbiAgICAgICAgICApO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjaGVja3NoZWV0Py5pZFwiPlxuICA8bWF0LWNhcmQgKm5nSWY9XCIhZGlzYWJsZUlucHV0XCIgY2xhc3M9XCJtYi0zXCI+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgPGgyIGNsYXNzPVwibWItMFwiPlF1ZXN0aW9uczwvaDI+XG4gICAgICA8bWF0LWljb24gKGNsaWNrKT1cImFkZFF1ZXN0aW9uKClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+YWRkPC9tYXQtaWNvbj5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDwvbWF0LWNhcmQ+XG5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMyBtYXQtdHlwb2dyYXBoeVwiIGluZmluaXRlU2Nyb2xsXG4gICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMVwiIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIjUwXCIgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIj5cbiAgICA8bWF0LWNhcmQgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIHF1ZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtc3RhcnQgZ2FwLTNcIj5cbiAgICAgICAgPGFwcC1jaGVja3NoZWV0LXF1ZXN0aW9uIFtxdWVzdGlvbkluZm9dPVwicXVlc3Rpb25cIiBbaW5kZXhdPVwiaVwiPjwvYXBwLWNoZWNrc2hlZXQtcXVlc3Rpb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgZ2FwLTMganVzdGlmeS1jb250ZW50LWVuZFwiICpuZ0lmPVwiIWRpc2FibGVJbnB1dFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImRlbGV0ZVF1ZXN0aW9uKHF1ZXN0aW9uKVwiPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZWRpdFF1ZXN0aW9uKHF1ZXN0aW9uLCBpKVwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJpID4gMFwiIChjbGljayk9XCJtb3ZlUXVlc3Rpb25VcChpKVwiPmFycm93X3Vwd2FyZDwvbWF0LWljb24+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cImkgPCBxdWVzdGlvbnMubGVuZ3RoIC0gMVwiIChjbGljayk9XCJtb3ZlUXVlc3Rpb25Eb3duKGkpXCI+XG4gICAgICAgICAgICBhcnJvd19kb3dud2FyZFxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1Ym1pc3Npb24/LmlkXCI+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTJcIj5cbiAgICA8YXBwLWNoZWNrc2hlZXQtcXVlc3Rpb24gKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIHN1Ym1pc3Npb24uZm9ybWF0LnF1ZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbkluZm9dPVwicXVlc3Rpb25cIiBbaW5kZXhdPVwiaVwiIFtzdWJtaXNzaW9uVmlld109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N1Ym1pc3Npb25JZF09XCJzdWJtaXNzaW9uLmlkXCIgW2Rpc2FibGVJbnB1dF09XCJkaXNhYmxlSW5wdXRcIj5cbiAgICA8L2FwcC1jaGVja3NoZWV0LXF1ZXN0aW9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -5,7 +5,7 @@ import { DateValidator } from 'ngx-techlify-core';
|
|
|
5
5
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
6
6
|
import { ActionPopupComponent } from 'ngx-techlify-core';
|
|
7
7
|
import { debounceTime } from 'rxjs/operators';
|
|
8
|
-
import {
|
|
8
|
+
import { ChecksheetFormComponent } from '../checksheet-form/checksheet-form.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "ngx-spinner";
|
|
11
11
|
import * as i2 from "ngx-techlify-core";
|
|
@@ -120,7 +120,7 @@ let ChecksheetReportComponent = class ChecksheetReportComponent {
|
|
|
120
120
|
return this.currentUserService.getUser().id;
|
|
121
121
|
}
|
|
122
122
|
createChecksheetSubmission() {
|
|
123
|
-
const dialogRef = this.dialog.open(
|
|
123
|
+
const dialogRef = this.dialog.open(ChecksheetFormComponent, {
|
|
124
124
|
width: '400px',
|
|
125
125
|
data: {
|
|
126
126
|
submission: {},
|
|
@@ -239,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
239
239
|
}], ctorParameters: () => [{ type: i1.NgxSpinnerService }, { type: i2.AlertService }, { type: i3.Router }, { type: i2.DataManager }, { type: i2.CurrentUserService }, { type: i4.MatDialog }, { type: i2.FormValidatorService }, { type: i5.UntypedFormBuilder }, { type: i6.DatePipe }], propDecorators: { vehicle: [{
|
|
240
240
|
type: Input
|
|
241
241
|
}] } });
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNoZWNrc2hlZXQvc3JjL2xpYi9jaGVja3NoZWV0L2NoZWNrc2hlZXQtcmVwb3J0L2NoZWNrc2hlZXQtcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXJlcG9ydC9jaGVja3NoZWV0LXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUdMLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJFLE9BQU8sRUFFTCxvQkFBb0IsRUFJckIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkgsTUFBTSxhQUFhLEdBQVE7SUFDekIsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxXQUFXLEVBQUUsY0FBYztLQUM1QjtJQUNELE9BQU8sRUFBRTtRQUNQLFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsV0FBVyxFQUFFLGNBQWM7S0FDNUI7Q0FDRixDQUFDO0FBT0ssSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBeUI7SUFtQjFCO0lBQ0E7SUFDQTtJ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QUM7UUFDdkQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDaEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsS0FBVTtRQUN2QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QseUNBQXlDO0lBQ3pDLGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQ3ZDLEtBQUssRUFDTCxJQUFJLENBQUMsZUFBZSxFQUNwQixhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7d0dBek9VLHlCQUF5Qjs0RkFBekIseUJBQXlCLDZGQ3ZDdEMsODRRQXNSQTs7QUQvT2EseUJBQXlCO0lBTnJDLFlBQVksRUFBRTtHQU1GLHlCQUF5QixDQTBPckM7OzRGQTFPWSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCO29UQVF4QixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERhdGVWYWxpZGF0b3IgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IE5neFNwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LXNwaW5uZXInO1xuaW1wb3J0IHtcbiAgQWN0aW9uUG9wdXAsXG4gIEFjdGlvblBvcHVwQ29tcG9uZW50LFxuICBBbGVydFNlcnZpY2UsXG4gIERhdGFNYW5hZ2VyLFxuICBGb3JtVmFsaWRhdG9yU2VydmljZVxufSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBDdXJyZW50VXNlclNlcnZpY2UgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGVja3NoZWV0U3VibWlzc2lvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZm9ybS9jaGVja3NoZWV0LXN1Ym1pc3Npb24tZm9ybS5jb21wb25lbnQnO1xuXG5jb25zdCBlcnJvck1lc3NhZ2VzOiBhbnkgPSB7XG4gIGRhdGVfZnJvbToge1xuICAgIHJlcXVpcmVkOiAnU3RhcnQgZGF0ZSBpcyByZXF1aXJlZCcsXG4gICAgaW52YWxpZERhdGU6ICdJbnZhbGlkIGRhdGUnXG4gIH0sXG4gIGRhdGVfdG86IHtcbiAgICByZXF1aXJlZDogJ0VuZCBkYXRlIGlzIHJlcXVpcmVkJyxcbiAgICBpbnZhbGlkRGF0ZTogJ0ludmFsaWQgZGF0ZSdcbiAgfVxufTtcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoZWNrc2hlZXQtcmVwb3J0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrc2hlZXQtcmVwb3J0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tzaGVldC1yZXBvcnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja3NoZWV0UmVwb3J0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY2hlY2tzaGVldFN1Ym1pc3Npb25MaXN0OiBhbnlbXSA9IFtdO1xuICBwYWdlRXZlbnQ6IGFueSA9IHsgcGFnZTogMSwgcGVyUGFnZTogMjUsIGxhc3RQYWdlOiAxIH07XG4gIGZpbHRlcnM6IGFueTtcbiAgQElucHV0KCkgdmVoaWNsZTogYW55O1xuXG4gIGRpc3BsYXllZENvbHVtbnM6IGFueVtdID0gW1xuICAgICdpbmRleCcsXG4gICAgJ2RhdGUnLFxuICAgICd2ZWhpY2xlJyxcbiAgICAnY3JlYXRlZF9hdCcsXG4gICAgJ3Jldmlld2VyLm5hbWUnLFxuICAgICdtZWNoYW5pY2FsX2lzc3VlcycsXG4gICAgJ25vdGVzJ1xuICBdO1xuXG4gIGZpbHRlckZvcm1Hcm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzcGlubmVyU2VydmljZTogTmd4U3Bpbm5lclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgZGF0YU1hbmFnZXI6IERhdGFNYW5hZ2VyLFxuICAgIHByaXZhdGUgY3VycmVudFVzZXJTZXJ2aWNlOiBDdXJyZW50VXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIGZvcm1WYWxpZGF0b3I6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZVxuICApIHtcbiAgICB0aGlzLmZpbHRlcnMgPSB7fTtcbiAgICB0aGlzLmZpbHRlcnMuc29ydF9ieSA9ICdjcmVhdGVkX2F0fERFU0MnO1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICB9XG5cbiAgZ2V0IGV4Y2VsRGF0YSgpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMuY2hlY2tzaGVldFN1Ym1pc3Npb25MaXN0Lmxlbmd0aCA8PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tzaGVldFN1Ym1pc3Npb25MaXN0Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgRGF0ZTogaXRlbT8uZGF0ZSA/IG5ldyBEYXRlKGl0ZW0/LmRhdGUpLnRvRGF0ZVN0cmluZygpIDogJycsXG4gICAgICAgIFZlaGljbGU6IGl0ZW0/LnZlaGljbGU/LnRpdGxlX2ZpZWxkLFxuICAgICAgICBEcml2ZXI6IGl0ZW0/LmNyZWF0b3I/Lm5hbWUsXG4gICAgICAgICdUaW1lIFN1Ym1pdHRlZCc6IGl0ZW0/LmNyZWF0ZWRfYXRcbiAgICAgICAgICA/IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKFxuICAgICAgICAgICAgICBuZXcgRGF0ZShpdGVtPy5jcmVhdGVkX2F0KSxcbiAgICAgICAgICAgICAgJ3l5eXktTU0tZGQgSEg6bW0nXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiAnJyxcbiAgICAgICAgJ1ZlcmlmaWVkIEJ5ICc6IGl0ZW0/LnJldmlld2VyPy5uYW1lLFxuICAgICAgICAnTWVjaGFuaWNhbCBJc3N1ZXMnOiAoKGl0ZW0/Lm1lY2hhbmljYWxfaXNzdWVzIHx8IFtdKSBhcyBbXSkucmVkdWNlKFxuICAgICAgICAgIChhOiBhbnksIHY6IGFueSkgPT4gYCR7YX0ke3Y/LmRldGFpbHNfd2l0aG91dF9odG1sfSwgYCxcbiAgICAgICAgICAnJ1xuICAgICAgICApLFxuICAgICAgICBOb3RlczogaXRlbT8uY29tbWVudHNcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgICAgbGV0IG1vZGVsID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWU7XG4gICAgICAgIG1vZGVsLmRhdGVfZnJvbSA9IG1vZGVsLmRhdGVfZnJvbVxuICAgICAgICAgID8gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0obW9kZWwuZGF0ZV9mcm9tLCAneXl5eS1NTS1kZCcpXG4gICAgICAgICAgOiAnJztcbiAgICAgICAgbW9kZWwuZGF0ZV90byA9IG1vZGVsLmRhdGVfdG9cbiAgICAgICAgICA/IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG1vZGVsLmRhdGVfdG8sICd5eXl5LU1NLWRkJylcbiAgICAgICAgICA6ICcnO1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSB7IC4uLnRoaXMuZmlsdGVycywgLi4ubW9kZWwgfTtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuZmV0Y2hDaGVja3NoZWV0U3VibWlzc2lvbnNEZXRhaWxzKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGRhdGVfZnJvbTogWycnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW0RhdGVWYWxpZGF0b3IoKV0pXSxcbiAgICAgIGRhdGVfdG86IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtEYXRlVmFsaWRhdG9yKCldKV0sXG4gICAgICBzdGF0dXNfaWQ6IFsnJ10sXG4gICAgICBtb2RlbF9pZDogWycnXSxcbiAgICAgIGNyZWF0b3JfaWQ6IFsnJ10sXG4gICAgICByZXZpZXdlcl9pZDogWycnXSxcbiAgICAgIGNoZWNrc2hlZXRfZm9ybWF0X2lkOiBbJyddLFxuICAgICAgZHJpdmVyX2Fzc2lnbmVkX2N1c3RvbWVyX2lkOiBbJyddLFxuICAgICAgdmVoaWNsZV9hc3NpZ25lZF9jdXN0b21lcl9pZDogWycnXVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRVc2VySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmdldFVzZXIoKS5pZDtcbiAgfVxuXG4gIGNyZWF0ZUNoZWNrc2hlZXRTdWJtaXNzaW9uKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oXG4gICAgICBDaGVja3NoZWV0U3VibWlzc2lvbkZvcm1Db21wb25lbnQsXG4gICAgICB7XG4gICAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgc3VibWlzc2lvbjoge30sXG4gICAgICAgICAgdmVoaWNsZTogdGhpcy52ZWhpY2xlXG4gICAgICAgIH0sXG4gICAgICAgIGF1dG9Gb2N1czogZmFsc2VcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgLy9BY3Rpb24gY29uZmlybWVkXG4gICAgICAgIHRoaXMuZWRpdENoZWNrc2hlZXRTdWJtaXNzaW9uKHJlc3VsdCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkZWFjdGl2YXRlQ2hlY2tzaGVldFN1Ym1pc3Npb24oY2hlY2tzaGVldFN1Ym1pc3Npb246IGFueSkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aW9uUG9wdXBDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgZGF0YTogPEFjdGlvblBvcHVwPntcbiAgICAgICAgdGl0bGU6ICdEZWFjdGl2YXRlIFN1Ym1pc3Npb25zJyxcbiAgICAgICAgbWVzc2FnZTogYEFyZSB5b3Ugc3VyZSB0byBwcm9jZWVkIGRlYWN0aXZhdGU/YFxuICAgICAgfSxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2VcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhc3luYyAocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIC8vQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2Uuc2hvdygpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuZGF0YU1hbmFnZXIuREVMRVRFKFxuICAgICAgICAgICAgYGFwaS9jaGVja3NoZWV0cy8ke2NoZWNrc2hlZXRTdWJtaXNzaW9uLmlkfWBcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5jaGVja3NoZWV0U3VibWlzc2lvbkxpc3QgPSB0aGlzLmNoZWNrc2hlZXRTdWJtaXNzaW9uTGlzdC5maWx0ZXIoXG4gICAgICAgICAgICAoeCkgPT4geC5pZCAhPT0gY2hlY2tzaGVldFN1Ym1pc3Npb24uaWRcbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxuICAgICAgICAgICAgJ1VuYWJsZSB0byBkZWFjdGl2YXRlIENoZWNrc2hlZXQsIHRyeSBsYXRlcicsXG4gICAgICAgICAgICAnd2FybidcbiAgICAgICAgICApO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBlZGl0Q2hlY2tzaGVldFN1Ym1pc3Npb24oY2hlY2tzaGVldFN1Ym1pc3Npb246IGFueSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgW1xuICAgICAgICAndmVoaWNsZXMvY2hlY2tzaGVldHMvY2hlY2tzaGVldHMvdmlldycsXG4gICAgICAgIGNoZWNrc2hlZXRTdWJtaXNzaW9uLmlkXG4gICAgICBdLFxuICAgICAgeyBxdWVyeVBhcmFtczogeyBpc192ZWhpY2xlX3ZpZXc6IHRydWUgfSB9XG4gICAgKTtcbiAgfVxuXG4gIHZpZXdDaGVja3NoZWV0U3VibWlzc2lvbihjaGVja3NoZWV0U3VibWlzc2lvbjogYW55KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xuICAgICAgJ3ZlaGljbGVzL2NoZWNrc2hlZXRzL2NoZWNrc2hlZXRzLXZpZXcnLFxuICAgICAgY2hlY2tzaGVldFN1Ym1pc3Npb24uaWRcbiAgICBdKTtcbiAgfVxuXG4gIHJldmlld0NoZWNrc2hlZXRTdWJtaXNzaW9uKGNoZWNrc2hlZXRTdWJtaXNzaW9uOiBhbnkpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXG4gICAgICAndmVoaWNsZXMvY2hlY2tzaGVldHMvY2hlY2tzaGVldHMvcmV2aWV3JyxcbiAgICAgIGNoZWNrc2hlZXRTdWJtaXNzaW9uLmlkXG4gICAgXSk7XG4gIH1cblxuICBvblNjcm9sbCgpIHtcbiAgICBpZiAodGhpcy5wYWdlRXZlbnQucGFnZSA8IHRoaXMucGFnZUV2ZW50Lmxhc3RQYWdlKSB7XG4gICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlICs9IDE7XG4gICAgfVxuICAgIHRoaXMuZmV0Y2hDaGVja3NoZWV0U3VibWlzc2lvbnNEZXRhaWxzKCk7XG4gIH1cblxuICBhc3luYyBmZXRjaENoZWNrc2hlZXRTdWJtaXNzaW9uc0RldGFpbHMoKSB7XG4gICAgdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCk7XG4gICAgaWYgKHRoaXMudmVoaWNsZSkge1xuICAgICAgdGhpcy5maWx0ZXJzLm1vZGVsX2lkID0gdGhpcy52ZWhpY2xlLmlkO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmRhdGFNYW5hZ2VyLkdFVChgYXBpL2NoZWNrc2hlZXRzYCwge1xuICAgICAgICAuLi50aGlzLnBhZ2VFdmVudCxcbiAgICAgICAgLi4udGhpcy5maWx0ZXJzXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2hlY2tzaGVldFN1Ym1pc3Npb25MaXN0ID0gdGhpcy5jaGVja3NoZWV0U3VibWlzc2lvbkxpc3QuY29uY2F0KFxuICAgICAgICByZXN1bHQuZGF0YVxuICAgICAgKTtcbiAgICAgIHRoaXMucGFnZUV2ZW50LnBhZ2UgPSByZXN1bHQuY3VycmVudF9wYWdlO1xuICAgICAgdGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPSByZXN1bHQubGFzdF9wYWdlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcbiAgICAgICAgJ1VuYWJsZSB0byBnZXQgQ2hlY2tzaGVldHMsIHRyeSBsYXRlcicsXG4gICAgICAgICd3YXJuJ1xuICAgICAgKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVsb2FkKCkge1xuICAgIHRoaXMucGFnZUV2ZW50ID0geyBwYWdlOiAxLCBwZXJQYWdlOiAyNSwgbGFzdFBhZ2U6IDEgfTtcbiAgICB0aGlzLmNoZWNrc2hlZXRTdWJtaXNzaW9uTGlzdCA9IFtdO1xuICAgIHRoaXMuZmV0Y2hDaGVja3NoZWV0U3VibWlzc2lvbnNEZXRhaWxzKCk7XG4gIH1cblxuICBnZXRGaWVsZFZhbHVlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KGZpZWxkKT8udmFsdWU7XG4gIH1cblxuICByZXNldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZywgZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldChmaWVsZCk/LnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIC8qKiBNZXRob2QgdG8gZXZhbHVhdGUgZm9ybSBmaWVsZHMqL1xuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3IuaXNGaWVsZFZhbGlkKGZpZWxkLCB0aGlzLmZpbHRlckZvcm1Hcm91cCwgdHJ1ZSk7XG4gIH1cbiAgLyoqIE1ldGhvZCB0byBmaW5kIGVycm9yIGluIGZvcm0gZmllbGRzKi9cbiAgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yLmdldEVycm9yTWVzc2FnZShcbiAgICAgIGZpZWxkLFxuICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAsXG4gICAgICBlcnJvck1lc3NhZ2VzXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxuICBmeExheW91dD1cImNvbHVtblwiXG4gIGZ4TGF5b3V0QWxpZ249XCJzdGFydFwiXG4gIGZ4TGF5b3V0R2FwPVwiMS41cmVtXCJcbiAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeSBtLTRcIlxuPlxuICA8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgPGgzIGNsYXNzPVwibS0wIGZvbnQtd2VpZ2h0LWJvbGQgbXItM1wiPlxuICAgICAgQ2hlY2tzaGVldCBSZXBvcnRcblxuICAgICAgPGFwcC1leHBvcnQtZXhjZWwtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwibWwtMlwiXG4gICAgICAgIGVsZW1lbnRJZD1cInBkZmFibGUtc2VjdGlvblwiXG4gICAgICAgIG5hbWU9XCJjaGVja3NoZWV0LXJlcG9ydC1kb3dubG9hZFwiXG4gICAgICAgIFtkYXRhXT1cImV4Y2VsRGF0YVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1leHBvcnQtZXhjZWwtYnV0dG9uPlxuICAgIDwvaDM+XG4gIDwvZGl2PlxuXG4gIDxmb3JtXG4gICAgZnhMYXlvdXQ9XCJyb3cgd3JhcCBkLXByaW50LW5vbmVcIlxuICAgIGZ4TGF5b3V0R2FwPVwiMXJlbVwiXG4gICAgW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtR3JvdXBcIlxuICA+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU3RhcnQgRGF0ZSAoTU0vREQvWVlZWSlcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlX2Zyb21cIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgLz5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnZGF0ZV9mcm9tJylcIlxuICAgICAgICA+e3sgZ2V0RXJyb3JNZXNzYWdlKCdkYXRlX2Zyb20nKSB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdkYXRlX2Zyb20nKVwiXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgnZGF0ZV9mcm9tJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cInAyXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJFbmQgRGF0ZSAoTU0vREQvWVlZWSlcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlX3RvXCJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIC8+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInAyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI3AyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdkYXRlX3RvJylcIlxuICAgICAgICA+e3sgZ2V0RXJyb3JNZXNzYWdlKCdkYXRlX3RvJykgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgnZGF0ZV90bycpXCJcbiAgICAgICAgbWF0U3VmZml4XG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCdkYXRlX3RvJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5TdGF0dXM8L21hdC1sYWJlbD5cbiAgICAgIDxhcHAtc2VhcmNoYWJsZS1zZWxlY3RvclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNfaWRcIlxuICAgICAgICBhcGlVcmw9XCJhcGkvY2hlY2tzaGVldC1zdWJtaXNzaW9uLXN0YXR1c2VzXCJcbiAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJmYWxzZVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAqbmdJZj1cImdldEZpZWxkVmFsdWUoJ3N0YXR1c19pZCcpXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgnc3RhdHVzX2lkJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIGNsb3NlPC9tYXQtaWNvblxuICAgICAgPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCIhdmVoaWNsZVwiPlxuICAgICAgPG1hdC1sYWJlbD5WZWhpY2xlPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3JcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibW9kZWxfaWRcIlxuICAgICAgICBhcGlVcmw9XCJhcGkvdmVoaWNsZXNcIlxuICAgICAgICBbZW5hYmxlU2VhcmNoXT1cInRydWVcIlxuICAgICAgICB0aXRsZUZpZWxkPVwidGl0bGVfZmllbGRcIlxuICAgICAgICBbc29ydF09XCJmYWxzZVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAqbmdJZj1cImdldEZpZWxkVmFsdWUoJ21vZGVsX2lkJylcIlxuICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCdtb2RlbF9pZCcsICRldmVudClcIlxuICAgICAgPlxuICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5DcmVhdG9yPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3JcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRvcl9pZFwiXG4gICAgICAgIGFwaVVybD1cImFwaS91c2Vyc1wiXG4gICAgICAgIFtlbmFibGVTZWFyY2hdPVwidHJ1ZVwiXG4gICAgICAgIHRpdGxlRmllbGQ9XCJuYW1lXCJcbiAgICAgID5cbiAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgnY3JlYXRvcl9pZCcpXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgnY3JlYXRvcl9pZCcsICRldmVudClcIlxuICAgICAgPlxuICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5SZXZpZXdlcjwvbWF0LWxhYmVsPlxuICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJldmlld2VyX2lkXCJcbiAgICAgICAgYXBpVXJsPVwiYXBpL3VzZXJzXCJcbiAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJ0cnVlXCJcbiAgICAgICAgdGl0bGVGaWVsZD1cIm5hbWVcIlxuICAgICAgPlxuICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdyZXZpZXdlcl9pZCcpXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgncmV2aWV3ZXJfaWQnLCAkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgY2xvc2U8L21hdC1pY29uXG4gICAgICA+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+Q2hlY2tzaGVldCBGb3JtYXQ8L21hdC1sYWJlbD5cbiAgICAgIDxhcHAtc2VhcmNoYWJsZS1zZWxlY3RvclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjaGVja3NoZWV0X2Zvcm1hdF9pZFwiXG4gICAgICAgIGFwaVVybD1cImFwaS9jaGVja3NoZWV0LWZvcm1hdHM/aXNfcHVibGlzaGVkPXRydWVcIlxuICAgICAgICBbZW5hYmxlU2VhcmNoXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdjaGVja3NoZWV0X2Zvcm1hdF9pZCcpXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgnY2hlY2tzaGVldF9mb3JtYXRfaWQnLCAkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgY2xvc2U8L21hdC1pY29uXG4gICAgICA+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+VmVoaWNsZSBBc3NpZ25lZCBDdXN0b21lcjwvbWF0LWxhYmVsPlxuICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZlaGljbGVfYXNzaWduZWRfY3VzdG9tZXJfaWRcIlxuICAgICAgICBhcGlVcmw9XCJhcGkvY3VzdG9tZXJzXCJcbiAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJ0cnVlXCJcbiAgICAgICAgdGl0bGVGaWVsZD1cIm5hbWVcIlxuICAgICAgPlxuICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCd2ZWhpY2xlX2Fzc2lnbmVkX2N1c3RvbWVyX2lkJylcIlxuICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCd2ZWhpY2xlX2Fzc2lnbmVkX2N1c3RvbWVyX2lkJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIGNsb3NlPC9tYXQtaWNvblxuICAgICAgPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8IS0tIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+RHJpdmVyIEFzc2lnbmVkIEN1c3RvbWVyPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwiZHJpdmVyX2Fzc2lnbmVkX2N1c3RvbWVyX2lkXCIgYXBpVXJsPVwiYXBpL2N1c3RvbWVyc1wiXG4gICAgICAgICAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJ0cnVlXCIgdGl0bGVGaWVsZD1cIm5hbWVcIj5cbiAgICAgICAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4ICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgnZHJpdmVyX2Fzc2lnbmVkX2N1c3RvbWVyX2lkJylcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldEZpZWxkVmFsdWUoJ2RyaXZlcl9hc3NpZ25lZF9jdXN0b21lcl9pZCcsICRldmVudClcIj5cbiAgICAgICAgICAgICAgICBjbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+IC0tPlxuICA8L2Zvcm0+XG5cbiAgPGRpdlxuICAgIGlkPVwicGRmYWJsZS1zZWN0aW9uXCJcbiAgICBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIlxuICAgIGluZmluaXRlU2Nyb2xsXG4gICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiXG4gICAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIlxuICAgIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCJcbiAgICBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCJcbiAgPlxuICAgIDx0YWJsZVxuICAgICAgbWF0LXRhYmxlXG4gICAgICBbZGF0YVNvdXJjZV09XCJjaGVja3NoZWV0U3VibWlzc2lvbkxpc3RcIlxuICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICBtdWx0aVRlbXBsYXRlRGF0YVJvd3NcbiAgICA+XG4gICAgICA8IS0tIEluZGV4IENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4jPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gZGF0YUluZGV4XCI+XG4gICAgICAgICAge3sgaSArIDEgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIERhdGUgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkYXRlXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+RGF0ZTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAge3sgZWxlbWVudC5kYXRlIHwgZGF0ZSA6ICdtZWRpdW1EYXRlJyB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gVmVoaWNsZSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInZlaGljbGVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5WZWhpY2xlPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICB7eyBlbGVtZW50LnZlaGljbGU/LnRpdGxlX2ZpZWxkIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBDYXRlZ29yeSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNyZWF0ZWRfYXRcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5TdWJtaXR0ZWQgT248L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIHt7IGVsZW1lbnQuY3JlYXRlZF9hdCB8IGRhdGUgOiAnbWVkaXVtRGF0ZScgfX1cbiAgICAgICAgICB7eyBlbGVtZW50LmNyZWF0ZWRfYXQgfCBkYXRlIDogJ3Nob3J0VGltZScgfX0gPGJyIC8+XG4gICAgICAgICAgPHNtYWxsPmJ5IHt7IGVsZW1lbnQuY3JlYXRvcj8ubmFtZSB9fTwvc21hbGw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBDYXRlZ29yeSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJldmlld2VyLm5hbWVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5WZXJpZmllZCBCeTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAge3sgZWxlbWVudC5yZXZpZXdlcj8ubmFtZSB9fSA8YnIgLz5cbiAgICAgICAgICA8c21hbGwgKm5nSWY9XCJlbGVtZW50LnJldmlld2VkX2F0XCI+XG4gICAgICAgICAgICBvbiB7eyBlbGVtZW50LnJldmlld2VkX2F0IHwgZGF0ZSA6ICdtZWRpdW1EYXRlJyB9fVxuICAgICAgICAgICAge3sgZWxlbWVudC5yZXZpZXdlZF9hdCB8IGRhdGUgOiAnc2hvcnRUaW1lJyB9fVxuICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBDYXRlZ29yeSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm1lY2hhbmljYWxfaXNzdWVzXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+TWVjaGFuaWNhbCBJc3N1ZXM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIGNsYXNzPVwidy01MFwiPlxuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXNzdWUgb2YgZWxlbWVudD8ubWVjaGFuaWNhbF9pc3N1ZXNcIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImlzc3VlLmRldGFpbHNfd2l0aG91dF9odG1sXCJcbiAgICAgICAgICAgID48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBDYXRlZ29yeSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5vdGVzXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+Tm90ZXM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIHt7IGVsZW1lbnQuY29tbWVudHMgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNoZWNrc2hlZXQvc3JjL2xpYi9jaGVja3NoZWV0L2NoZWNrc2hlZXQtcmVwb3J0L2NoZWNrc2hlZXQtcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXJlcG9ydC9jaGVja3NoZWV0LXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUdMLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJFLE9BQU8sRUFFTCxvQkFBb0IsRUFJckIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkYsTUFBTSxhQUFhLEdBQVE7SUFDekIsU0FBUyxFQUFFO1FBQ1QsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyxXQUFXLEVBQUUsY0FBYztLQUM1QjtJQUNELE9BQU8sRUFBRTtRQUNQLFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsV0FBVyxFQUFFLGNBQWM7S0FDNUI7Q0FDRixDQUFDO0FBT0ssSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBeUI7SUFtQjFCO0lBQ0E7SUFDQTtJ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QUM7UUFDdkQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDaEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsS0FBVTtRQUN2QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QseUNBQXlDO0lBQ3pDLGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQ3ZDLEtBQUssRUFDTCxJQUFJLENBQUMsZUFBZSxFQUNwQixhQUFhLENBQ2QsQ0FBQztJQUNKLENBQUM7d0dBek9VLHlCQUF5Qjs0RkFBekIseUJBQXlCLDZGQ3ZDdEMsODRRQXNSQTs7QUQvT2EseUJBQXlCO0lBTnJDLFlBQVksRUFBRTtHQU1GLHlCQUF5QixDQTBPckM7OzRGQTFPWSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCO29UQVF4QixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERhdGVWYWxpZGF0b3IgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IE5neFNwaW5uZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LXNwaW5uZXInO1xuaW1wb3J0IHtcbiAgQWN0aW9uUG9wdXAsXG4gIEFjdGlvblBvcHVwQ29tcG9uZW50LFxuICBBbGVydFNlcnZpY2UsXG4gIERhdGFNYW5hZ2VyLFxuICBGb3JtVmFsaWRhdG9yU2VydmljZVxufSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBDdXJyZW50VXNlclNlcnZpY2UgfSBmcm9tICduZ3gtdGVjaGxpZnktY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGVja3NoZWV0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrc2hlZXQtZm9ybS9jaGVja3NoZWV0LWZvcm0uY29tcG9uZW50JztcblxuY29uc3QgZXJyb3JNZXNzYWdlczogYW55ID0ge1xuICBkYXRlX2Zyb206IHtcbiAgICByZXF1aXJlZDogJ1N0YXJ0IGRhdGUgaXMgcmVxdWlyZWQnLFxuICAgIGludmFsaWREYXRlOiAnSW52YWxpZCBkYXRlJ1xuICB9LFxuICBkYXRlX3RvOiB7XG4gICAgcmVxdWlyZWQ6ICdFbmQgZGF0ZSBpcyByZXF1aXJlZCcsXG4gICAgaW52YWxpZERhdGU6ICdJbnZhbGlkIGRhdGUnXG4gIH1cbn07XG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jaGVja3NoZWV0LXJlcG9ydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja3NoZWV0LXJlcG9ydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrc2hlZXQtcmVwb3J0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tzaGVldFJlcG9ydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNoZWNrc2hlZXRTdWJtaXNzaW9uTGlzdDogYW55W10gPSBbXTtcbiAgcGFnZUV2ZW50OiBhbnkgPSB7IHBhZ2U6IDEsIHBlclBhZ2U6IDI1LCBsYXN0UGFnZTogMSB9O1xuICBmaWx0ZXJzOiBhbnk7XG4gIEBJbnB1dCgpIHZlaGljbGU6IGFueTtcblxuICBkaXNwbGF5ZWRDb2x1bW5zOiBhbnlbXSA9IFtcbiAgICAnaW5kZXgnLFxuICAgICdkYXRlJyxcbiAgICAndmVoaWNsZScsXG4gICAgJ2NyZWF0ZWRfYXQnLFxuICAgICdyZXZpZXdlci5uYW1lJyxcbiAgICAnbWVjaGFuaWNhbF9pc3N1ZXMnLFxuICAgICdub3RlcydcbiAgXTtcblxuICBmaWx0ZXJGb3JtR3JvdXAhOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3Bpbm5lclNlcnZpY2U6IE5neFNwaW5uZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGRhdGFNYW5hZ2VyOiBEYXRhTWFuYWdlcixcbiAgICBwcml2YXRlIGN1cnJlbnRVc2VyU2VydmljZTogQ3VycmVudFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBmb3JtVmFsaWRhdG9yOiBGb3JtVmFsaWRhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcbiAgKSB7XG4gICAgdGhpcy5maWx0ZXJzID0ge307XG4gICAgdGhpcy5maWx0ZXJzLnNvcnRfYnkgPSAnY3JlYXRlZF9hdHxERVNDJztcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgfVxuXG4gIGdldCBleGNlbERhdGEoKTogYW55W10ge1xuICAgIGlmICh0aGlzLmNoZWNrc2hlZXRTdWJtaXNzaW9uTGlzdC5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNoZWNrc2hlZXRTdWJtaXNzaW9uTGlzdC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIERhdGU6IGl0ZW0/LmRhdGUgPyBuZXcgRGF0ZShpdGVtPy5kYXRlKS50b0RhdGVTdHJpbmcoKSA6ICcnLFxuICAgICAgICBWZWhpY2xlOiBpdGVtPy52ZWhpY2xlPy50aXRsZV9maWVsZCxcbiAgICAgICAgRHJpdmVyOiBpdGVtPy5jcmVhdG9yPy5uYW1lLFxuICAgICAgICAnVGltZSBTdWJtaXR0ZWQnOiBpdGVtPy5jcmVhdGVkX2F0XG4gICAgICAgICAgPyB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShcbiAgICAgICAgICAgICAgbmV3IERhdGUoaXRlbT8uY3JlYXRlZF9hdCksXG4gICAgICAgICAgICAgICd5eXl5LU1NLWRkIEhIOm1tJ1xuICAgICAgICAgICAgKVxuICAgICAgICAgIDogJycsXG4gICAgICAgICdWZXJpZmllZCBCeSAnOiBpdGVtPy5yZXZpZXdlcj8ubmFtZSxcbiAgICAgICAgJ01lY2hhbmljYWwgSXNzdWVzJzogKChpdGVtPy5tZWNoYW5pY2FsX2lzc3VlcyB8fCBbXSkgYXMgW10pLnJlZHVjZShcbiAgICAgICAgICAoYTogYW55LCB2OiBhbnkpID0+IGAke2F9JHt2Py5kZXRhaWxzX3dpdGhvdXRfaHRtbH0sIGAsXG4gICAgICAgICAgJydcbiAgICAgICAgKSxcbiAgICAgICAgTm90ZXM6IGl0ZW0/LmNvbW1lbnRzXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICAgIGxldCBtb2RlbCA9IHRoaXMuZmlsdGVyRm9ybUdyb3VwLnZhbHVlO1xuICAgICAgICBtb2RlbC5kYXRlX2Zyb20gPSBtb2RlbC5kYXRlX2Zyb21cbiAgICAgICAgICA/IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG1vZGVsLmRhdGVfZnJvbSwgJ3l5eXktTU0tZGQnKVxuICAgICAgICAgIDogJyc7XG4gICAgICAgIG1vZGVsLmRhdGVfdG8gPSBtb2RlbC5kYXRlX3RvXG4gICAgICAgICAgPyB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShtb2RlbC5kYXRlX3RvLCAneXl5eS1NTS1kZCcpXG4gICAgICAgICAgOiAnJztcbiAgICAgICAgdGhpcy5maWx0ZXJzID0geyAuLi50aGlzLmZpbHRlcnMsIC4uLm1vZGVsIH07XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLmZldGNoQ2hlY2tzaGVldFN1Ym1pc3Npb25zRGV0YWlscygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCkge1xuICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBkYXRlX2Zyb206IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtEYXRlVmFsaWRhdG9yKCldKV0sXG4gICAgICBkYXRlX3RvOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbRGF0ZVZhbGlkYXRvcigpXSldLFxuICAgICAgc3RhdHVzX2lkOiBbJyddLFxuICAgICAgbW9kZWxfaWQ6IFsnJ10sXG4gICAgICBjcmVhdG9yX2lkOiBbJyddLFxuICAgICAgcmV2aWV3ZXJfaWQ6IFsnJ10sXG4gICAgICBjaGVja3NoZWV0X2Zvcm1hdF9pZDogWycnXSxcbiAgICAgIGRyaXZlcl9hc3NpZ25lZF9jdXN0b21lcl9pZDogWycnXSxcbiAgICAgIHZlaGljbGVfYXNzaWduZWRfY3VzdG9tZXJfaWQ6IFsnJ11cbiAgICB9KTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VXNlcklkKCkge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRVc2VyU2VydmljZS5nZXRVc2VyKCkuaWQ7XG4gIH1cblxuICBjcmVhdGVDaGVja3NoZWV0U3VibWlzc2lvbigpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFxuICAgICAgQ2hlY2tzaGVldEZvcm1Db21wb25lbnQsXG4gICAgICB7XG4gICAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgc3VibWlzc2lvbjoge30sXG4gICAgICAgICAgdmVoaWNsZTogdGhpcy52ZWhpY2xlXG4gICAgICAgIH0sXG4gICAgICAgIGF1dG9Gb2N1czogZmFsc2VcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgLy9BY3Rpb24gY29uZmlybWVkXG4gICAgICAgIHRoaXMuZWRpdENoZWNrc2hlZXRTdWJtaXNzaW9uKHJlc3VsdCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkZWFjdGl2YXRlQ2hlY2tzaGVldFN1Ym1pc3Npb24oY2hlY2tzaGVldFN1Ym1pc3Npb246IGFueSkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aW9uUG9wdXBDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgZGF0YTogPEFjdGlvblBvcHVwPntcbiAgICAgICAgdGl0bGU6ICdEZWFjdGl2YXRlIFN1Ym1pc3Npb25zJyxcbiAgICAgICAgbWVzc2FnZTogYEFyZSB5b3Ugc3VyZSB0byBwcm9jZWVkIGRlYWN0aXZhdGU/YFxuICAgICAgfSxcbiAgICAgIGF1dG9Gb2N1czogZmFsc2VcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhc3luYyAocmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIC8vQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2Uuc2hvdygpO1xuICAgICAgICAgIGF3YWl0IHRoaXMuZGF0YU1hbmFnZXIuREVMRVRFKFxuICAgICAgICAgICAgYGFwaS9jaGVja3NoZWV0cy8ke2NoZWNrc2hlZXRTdWJtaXNzaW9uLmlkfWBcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy5jaGVja3NoZWV0U3VibWlzc2lvbkxpc3QgPSB0aGlzLmNoZWNrc2hlZXRTdWJtaXNzaW9uTGlzdC5maWx0ZXIoXG4gICAgICAgICAgICAoeCkgPT4geC5pZCAhPT0gY2hlY2tzaGVldFN1Ym1pc3Npb24uaWRcbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxuICAgICAgICAgICAgJ1VuYWJsZSB0byBkZWFjdGl2YXRlIENoZWNrc2hlZXQsIHRyeSBsYXRlcicsXG4gICAgICAgICAgICAnd2FybidcbiAgICAgICAgICApO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBlZGl0Q2hlY2tzaGVldFN1Ym1pc3Npb24oY2hlY2tzaGVldFN1Ym1pc3Npb246IGFueSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgW1xuICAgICAgICAndmVoaWNsZXMvY2hlY2tzaGVldHMvY2hlY2tzaGVldHMvdmlldycsXG4gICAgICAgIGNoZWNrc2hlZXRTdWJtaXNzaW9uLmlkXG4gICAgICBdLFxuICAgICAgeyBxdWVyeVBhcmFtczogeyBpc192ZWhpY2xlX3ZpZXc6IHRydWUgfSB9XG4gICAgKTtcbiAgfVxuXG4gIHZpZXdDaGVja3NoZWV0U3VibWlzc2lvbihjaGVja3NoZWV0U3VibWlzc2lvbjogYW55KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xuICAgICAgJ3ZlaGljbGVzL2NoZWNrc2hlZXRzL2NoZWNrc2hlZXRzLXZpZXcnLFxuICAgICAgY2hlY2tzaGVldFN1Ym1pc3Npb24uaWRcbiAgICBdKTtcbiAgfVxuXG4gIHJldmlld0NoZWNrc2hlZXRTdWJtaXNzaW9uKGNoZWNrc2hlZXRTdWJtaXNzaW9uOiBhbnkpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXG4gICAgICAndmVoaWNsZXMvY2hlY2tzaGVldHMvY2hlY2tzaGVldHMvcmV2aWV3JyxcbiAgICAgIGNoZWNrc2hlZXRTdWJtaXNzaW9uLmlkXG4gICAgXSk7XG4gIH1cblxuICBvblNjcm9sbCgpIHtcbiAgICBpZiAodGhpcy5wYWdlRXZlbnQucGFnZSA8IHRoaXMucGFnZUV2ZW50Lmxhc3RQYWdlKSB7XG4gICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlICs9IDE7XG4gICAgfVxuICAgIHRoaXMuZmV0Y2hDaGVja3NoZWV0U3VibWlzc2lvbnNEZXRhaWxzKCk7XG4gIH1cblxuICBhc3luYyBmZXRjaENoZWNrc2hlZXRTdWJtaXNzaW9uc0RldGFpbHMoKSB7XG4gICAgdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCk7XG4gICAgaWYgKHRoaXMudmVoaWNsZSkge1xuICAgICAgdGhpcy5maWx0ZXJzLm1vZGVsX2lkID0gdGhpcy52ZWhpY2xlLmlkO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmRhdGFNYW5hZ2VyLkdFVChgYXBpL2NoZWNrc2hlZXRzYCwge1xuICAgICAgICAuLi50aGlzLnBhZ2VFdmVudCxcbiAgICAgICAgLi4udGhpcy5maWx0ZXJzXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2hlY2tzaGVldFN1Ym1pc3Npb25MaXN0ID0gdGhpcy5jaGVja3NoZWV0U3VibWlzc2lvbkxpc3QuY29uY2F0KFxuICAgICAgICByZXN1bHQuZGF0YVxuICAgICAgKTtcbiAgICAgIHRoaXMucGFnZUV2ZW50LnBhZ2UgPSByZXN1bHQuY3VycmVudF9wYWdlO1xuICAgICAgdGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPSByZXN1bHQubGFzdF9wYWdlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcbiAgICAgICAgJ1VuYWJsZSB0byBnZXQgQ2hlY2tzaGVldHMsIHRyeSBsYXRlcicsXG4gICAgICAgICd3YXJuJ1xuICAgICAgKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zcGlubmVyU2VydmljZS5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVsb2FkKCkge1xuICAgIHRoaXMucGFnZUV2ZW50ID0geyBwYWdlOiAxLCBwZXJQYWdlOiAyNSwgbGFzdFBhZ2U6IDEgfTtcbiAgICB0aGlzLmNoZWNrc2hlZXRTdWJtaXNzaW9uTGlzdCA9IFtdO1xuICAgIHRoaXMuZmV0Y2hDaGVja3NoZWV0U3VibWlzc2lvbnNEZXRhaWxzKCk7XG4gIH1cblxuICBnZXRGaWVsZFZhbHVlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KGZpZWxkKT8udmFsdWU7XG4gIH1cblxuICByZXNldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZywgZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZmlsdGVyRm9ybUdyb3VwLmdldChmaWVsZCk/LnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIC8qKiBNZXRob2QgdG8gZXZhbHVhdGUgZm9ybSBmaWVsZHMqL1xuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3IuaXNGaWVsZFZhbGlkKGZpZWxkLCB0aGlzLmZpbHRlckZvcm1Hcm91cCwgdHJ1ZSk7XG4gIH1cbiAgLyoqIE1ldGhvZCB0byBmaW5kIGVycm9yIGluIGZvcm0gZmllbGRzKi9cbiAgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yLmdldEVycm9yTWVzc2FnZShcbiAgICAgIGZpZWxkLFxuICAgICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAsXG4gICAgICBlcnJvck1lc3NhZ2VzXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxuICBmeExheW91dD1cImNvbHVtblwiXG4gIGZ4TGF5b3V0QWxpZ249XCJzdGFydFwiXG4gIGZ4TGF5b3V0R2FwPVwiMS41cmVtXCJcbiAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeSBtLTRcIlxuPlxuICA8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgPGgzIGNsYXNzPVwibS0wIGZvbnQtd2VpZ2h0LWJvbGQgbXItM1wiPlxuICAgICAgQ2hlY2tzaGVldCBSZXBvcnRcblxuICAgICAgPGFwcC1leHBvcnQtZXhjZWwtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwibWwtMlwiXG4gICAgICAgIGVsZW1lbnRJZD1cInBkZmFibGUtc2VjdGlvblwiXG4gICAgICAgIG5hbWU9XCJjaGVja3NoZWV0LXJlcG9ydC1kb3dubG9hZFwiXG4gICAgICAgIFtkYXRhXT1cImV4Y2VsRGF0YVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1leHBvcnQtZXhjZWwtYnV0dG9uPlxuICAgIDwvaDM+XG4gIDwvZGl2PlxuXG4gIDxmb3JtXG4gICAgZnhMYXlvdXQ9XCJyb3cgd3JhcCBkLXByaW50LW5vbmVcIlxuICAgIGZ4TGF5b3V0R2FwPVwiMXJlbVwiXG4gICAgW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtR3JvdXBcIlxuICA+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU3RhcnQgRGF0ZSAoTU0vREQvWVlZWSlcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlX2Zyb21cIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgLz5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnZGF0ZV9mcm9tJylcIlxuICAgICAgICA+e3sgZ2V0RXJyb3JNZXNzYWdlKCdkYXRlX2Zyb20nKSB9fVxuICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdkYXRlX2Zyb20nKVwiXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgnZGF0ZV9mcm9tJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPGlucHV0XG4gICAgICAgIG1hdElucHV0XG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cInAyXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJFbmQgRGF0ZSAoTU0vREQvWVlZWSlcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlX3RvXCJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIC8+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInAyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI3AyPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdkYXRlX3RvJylcIlxuICAgICAgICA+e3sgZ2V0RXJyb3JNZXNzYWdlKCdkYXRlX3RvJykgfX1cbiAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgnZGF0ZV90bycpXCJcbiAgICAgICAgbWF0U3VmZml4XG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCdkYXRlX3RvJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5TdGF0dXM8L21hdC1sYWJlbD5cbiAgICAgIDxhcHAtc2VhcmNoYWJsZS1zZWxlY3RvclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNfaWRcIlxuICAgICAgICBhcGlVcmw9XCJhcGkvY2hlY2tzaGVldC1zdWJtaXNzaW9uLXN0YXR1c2VzXCJcbiAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJmYWxzZVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAqbmdJZj1cImdldEZpZWxkVmFsdWUoJ3N0YXR1c19pZCcpXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgnc3RhdHVzX2lkJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIGNsb3NlPC9tYXQtaWNvblxuICAgICAgPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCIhdmVoaWNsZVwiPlxuICAgICAgPG1hdC1sYWJlbD5WZWhpY2xlPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3JcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibW9kZWxfaWRcIlxuICAgICAgICBhcGlVcmw9XCJhcGkvdmVoaWNsZXNcIlxuICAgICAgICBbZW5hYmxlU2VhcmNoXT1cInRydWVcIlxuICAgICAgICB0aXRsZUZpZWxkPVwidGl0bGVfZmllbGRcIlxuICAgICAgICBbc29ydF09XCJmYWxzZVwiXG4gICAgICA+XG4gICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAqbmdJZj1cImdldEZpZWxkVmFsdWUoJ21vZGVsX2lkJylcIlxuICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCdtb2RlbF9pZCcsICRldmVudClcIlxuICAgICAgPlxuICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5DcmVhdG9yPC9tYXQtbGFiZWw+XG4gICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3JcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRvcl9pZFwiXG4gICAgICAgIGFwaVVybD1cImFwaS91c2Vyc1wiXG4gICAgICAgIFtlbmFibGVTZWFyY2hdPVwidHJ1ZVwiXG4gICAgICAgIHRpdGxlRmllbGQ9XCJuYW1lXCJcbiAgICAgID5cbiAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgnY3JlYXRvcl9pZCcpXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgnY3JlYXRvcl9pZCcsICRldmVudClcIlxuICAgICAgPlxuICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgID5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5SZXZpZXdlcjwvbWF0LWxhYmVsPlxuICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInJldmlld2VyX2lkXCJcbiAgICAgICAgYXBpVXJsPVwiYXBpL3VzZXJzXCJcbiAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJ0cnVlXCJcbiAgICAgICAgdGl0bGVGaWVsZD1cIm5hbWVcIlxuICAgICAgPlxuICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdyZXZpZXdlcl9pZCcpXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgncmV2aWV3ZXJfaWQnLCAkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgY2xvc2U8L21hdC1pY29uXG4gICAgICA+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+Q2hlY2tzaGVldCBGb3JtYXQ8L21hdC1sYWJlbD5cbiAgICAgIDxhcHAtc2VhcmNoYWJsZS1zZWxlY3RvclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjaGVja3NoZWV0X2Zvcm1hdF9pZFwiXG4gICAgICAgIGFwaVVybD1cImFwaS9jaGVja3NoZWV0LWZvcm1hdHM/aXNfcHVibGlzaGVkPXRydWVcIlxuICAgICAgICBbZW5hYmxlU2VhcmNoXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCdjaGVja3NoZWV0X2Zvcm1hdF9pZCcpXCJcbiAgICAgICAgKGNsaWNrKT1cInJlc2V0RmllbGRWYWx1ZSgnY2hlY2tzaGVldF9mb3JtYXRfaWQnLCAkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgY2xvc2U8L21hdC1pY29uXG4gICAgICA+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtbGFiZWw+VmVoaWNsZSBBc3NpZ25lZCBDdXN0b21lcjwvbWF0LWxhYmVsPlxuICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZlaGljbGVfYXNzaWduZWRfY3VzdG9tZXJfaWRcIlxuICAgICAgICBhcGlVcmw9XCJhcGkvY3VzdG9tZXJzXCJcbiAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJ0cnVlXCJcbiAgICAgICAgdGl0bGVGaWVsZD1cIm5hbWVcIlxuICAgICAgPlxuICAgICAgPC9hcHAtc2VhcmNoYWJsZS1zZWxlY3Rvcj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgKm5nSWY9XCJnZXRGaWVsZFZhbHVlKCd2ZWhpY2xlX2Fzc2lnbmVkX2N1c3RvbWVyX2lkJylcIlxuICAgICAgICAoY2xpY2spPVwicmVzZXRGaWVsZFZhbHVlKCd2ZWhpY2xlX2Fzc2lnbmVkX2N1c3RvbWVyX2lkJywgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIGNsb3NlPC9tYXQtaWNvblxuICAgICAgPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8IS0tIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+RHJpdmVyIEFzc2lnbmVkIEN1c3RvbWVyPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgZm9ybUNvbnRyb2xOYW1lPVwiZHJpdmVyX2Fzc2lnbmVkX2N1c3RvbWVyX2lkXCIgYXBpVXJsPVwiYXBpL2N1c3RvbWVyc1wiXG4gICAgICAgICAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJ0cnVlXCIgdGl0bGVGaWVsZD1cIm5hbWVcIj5cbiAgICAgICAgICAgIDwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICAgICAgICA8bWF0LWljb24gbWF0U3VmZml4ICpuZ0lmPVwiZ2V0RmllbGRWYWx1ZSgnZHJpdmVyX2Fzc2lnbmVkX2N1c3RvbWVyX2lkJylcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXNldEZpZWxkVmFsdWUoJ2RyaXZlcl9hc3NpZ25lZF9jdXN0b21lcl9pZCcsICRldmVudClcIj5cbiAgICAgICAgICAgICAgICBjbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+IC0tPlxuICA8L2Zvcm0+XG5cbiAgPGRpdlxuICAgIGlkPVwicGRmYWJsZS1zZWN0aW9uXCJcbiAgICBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIlxuICAgIGluZmluaXRlU2Nyb2xsXG4gICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiXG4gICAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIlxuICAgIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCJcbiAgICBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCJcbiAgPlxuICAgIDx0YWJsZVxuICAgICAgbWF0LXRhYmxlXG4gICAgICBbZGF0YVNvdXJjZV09XCJjaGVja3NoZWV0U3VibWlzc2lvbkxpc3RcIlxuICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICBtdWx0aVRlbXBsYXRlRGF0YVJvd3NcbiAgICA+XG4gICAgICA8IS0tIEluZGV4IENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4jPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gZGF0YUluZGV4XCI+XG4gICAgICAgICAge3sgaSArIDEgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIERhdGUgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkYXRlXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+RGF0ZTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAge3sgZWxlbWVudC5kYXRlIHwgZGF0ZSA6ICdtZWRpdW1EYXRlJyB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gVmVoaWNsZSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInZlaGljbGVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5WZWhpY2xlPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICB7eyBlbGVtZW50LnZlaGljbGU/LnRpdGxlX2ZpZWxkIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBDYXRlZ29yeSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNyZWF0ZWRfYXRcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5TdWJtaXR0ZWQgT248L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIHt7IGVsZW1lbnQuY3JlYXRlZF9hdCB8IGRhdGUgOiAnbWVkaXVtRGF0ZScgfX1cbiAgICAgICAgICB7eyBlbGVtZW50LmNyZWF0ZWRfYXQgfCBkYXRlIDogJ3Nob3J0VGltZScgfX0gPGJyIC8+XG4gICAgICAgICAgPHNtYWxsPmJ5IHt7IGVsZW1lbnQuY3JlYXRvcj8ubmFtZSB9fTwvc21hbGw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBDYXRlZ29yeSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJldmlld2VyLm5hbWVcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5WZXJpZmllZCBCeTwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAge3sgZWxlbWVudC5yZXZpZXdlcj8ubmFtZSB9fSA8YnIgLz5cbiAgICAgICAgICA8c21hbGwgKm5nSWY9XCJlbGVtZW50LnJldmlld2VkX2F0XCI+XG4gICAgICAgICAgICBvbiB7eyBlbGVtZW50LnJldmlld2VkX2F0IHwgZGF0ZSA6ICdtZWRpdW1EYXRlJyB9fVxuICAgICAgICAgICAge3sgZWxlbWVudC5yZXZpZXdlZF9hdCB8IGRhdGUgOiAnc2hvcnRUaW1lJyB9fVxuICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBDYXRlZ29yeSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm1lY2hhbmljYWxfaXNzdWVzXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+TWVjaGFuaWNhbCBJc3N1ZXM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIGNsYXNzPVwidy01MFwiPlxuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXNzdWUgb2YgZWxlbWVudD8ubWVjaGFuaWNhbF9pc3N1ZXNcIlxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImlzc3VlLmRldGFpbHNfd2l0aG91dF9odG1sXCJcbiAgICAgICAgICAgID48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBDYXRlZ29yeSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5vdGVzXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+Tm90ZXM8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIHt7IGVsZW1lbnQuY29tbWVudHMgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { RouterModule } from '@angular/router';
|
|
3
|
-
import {
|
|
3
|
+
import { ChecksheetFormatFormComponent } from './checksheet-format-form/checksheet-format-form.component';
|
|
4
4
|
import { ChecksheetFormatListComponent } from './checksheet-format-list/checksheet-format-list.component';
|
|
5
5
|
import { ChecksheetReportComponent } from './checksheet-report/checksheet-report.component';
|
|
6
6
|
import { ChecksheetListComponent } from './checksheet-list/checksheet-list.component';
|
|
7
7
|
import { ChecksheetNodeViewComponent } from './checksheet-node-view/checksheet-node-view.component';
|
|
8
|
-
import {
|
|
8
|
+
import { ChecksheetFormatViewComponent } from './checksheet-format/checksheet-format-view/checksheet-format-view.component';
|
|
9
9
|
import { ChecksheetSubmissionViewComponent } from "./checksheet-submission-view/checksheet-submission-view.component";
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "@angular/router";
|
|
12
12
|
const routes = [
|
|
13
13
|
{ path: 'checksheet-format-list', component: ChecksheetFormatListComponent },
|
|
14
14
|
{ path: 'checksheet-report', component: ChecksheetReportComponent },
|
|
15
|
-
{ path: 'checksheet-form', component:
|
|
16
|
-
{ path: 'checksheet-view/:checksheetId', component:
|
|
17
|
-
{ path: 'checksheet-form/:checksheetId', component:
|
|
15
|
+
{ path: 'checksheet-format-form', component: ChecksheetFormatFormComponent },
|
|
16
|
+
{ path: 'checksheet-format-view/:checksheetId', component: ChecksheetFormatViewComponent },
|
|
17
|
+
{ path: 'checksheet-format-form/:checksheetId', component: ChecksheetFormatFormComponent },
|
|
18
18
|
{
|
|
19
19
|
path: 'checksheets',
|
|
20
20
|
component: ChecksheetListComponent
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41
41
|
exports: [RouterModule]
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tzaGVldC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jaGVja3NoZWV0L3NyYy9saWIvY2hlY2tzaGVldC9jaGVja3NoZWV0LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQzVILE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLG1FQUFtRSxDQUFDOzs7QUFFcEgsTUFBTSxNQUFNLEdBQVc7SUFDckIsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLDZCQUE2QixFQUFFO0lBQzVFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRTtJQUNuRSxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsNkJBQTZCLEVBQUU7SUFDNUUsRUFBRSxJQUFJLEVBQUUsc0NBQXNDLEVBQUUsU0FBUyxFQUFFLDZCQUE2QixFQUFFO0lBQzFGLEVBQUUsSUFBSSxFQUFFLHNDQUFzQyxFQUFFLFNBQVMsRUFBRSw2QkFBNkIsRUFBRTtJQUMxRjtRQUNFLElBQUksRUFBRSxhQUFhO1FBQ25CLFNBQVMsRUFBRSx1QkFBdUI7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxnQ0FBZ0M7UUFDdEMsU0FBUyxFQUFFLDJCQUEyQjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGdDQUFnQztRQUN0QyxTQUFTLEVBQUUsaUNBQWlDO0tBQzdDO0lBQ0QsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO0NBQ3hFLENBQUM7QUFNRixNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1Qix3Q0FGeEIsWUFBWTt5R0FFWCx1QkFBdUIsWUFIeEIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDN0IsWUFBWTs7NEZBRVgsdUJBQXVCO2tCQUpuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ2hlY2tzaGVldEZvcm1hdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NoZWNrc2hlZXQtZm9ybWF0LWZvcm0vY2hlY2tzaGVldC1mb3JtYXQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tzaGVldEZvcm1hdExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrc2hlZXQtZm9ybWF0LWxpc3QvY2hlY2tzaGVldC1mb3JtYXQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tzaGVldFJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tzaGVldC1yZXBvcnQvY2hlY2tzaGVldC1yZXBvcnQuY29tcG9uZW50JztcbmltcG9ydCB7IENoZWNrc2hlZXRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja3NoZWV0LWxpc3QvY2hlY2tzaGVldC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja3NoZWV0Tm9kZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrc2hlZXQtbm9kZS12aWV3L2NoZWNrc2hlZXQtbm9kZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGVja3NoZWV0Rm9ybWF0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tzaGVldC1mb3JtYXQvY2hlY2tzaGVldC1mb3JtYXQtdmlldy9jaGVja3NoZWV0LWZvcm1hdC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQge0NoZWNrc2hlZXRTdWJtaXNzaW9uVmlld0NvbXBvbmVudH0gZnJvbSBcIi4vY2hlY2tzaGVldC1zdWJtaXNzaW9uLXZpZXcvY2hlY2tzaGVldC1zdWJtaXNzaW9uLXZpZXcuY29tcG9uZW50XCI7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7IHBhdGg6ICdjaGVja3NoZWV0LWZvcm1hdC1saXN0JywgY29tcG9uZW50OiBDaGVja3NoZWV0Rm9ybWF0TGlzdENvbXBvbmVudCB9LFxuICB7IHBhdGg6ICdjaGVja3NoZWV0LXJlcG9ydCcsIGNvbXBvbmVudDogQ2hlY2tzaGVldFJlcG9ydENvbXBvbmVudCB9LFxuICB7IHBhdGg6ICdjaGVja3NoZWV0LWZvcm1hdC1mb3JtJywgY29tcG9uZW50OiBDaGVja3NoZWV0Rm9ybWF0Rm9ybUNvbXBvbmVudCB9LFxuICB7IHBhdGg6ICdjaGVja3NoZWV0LWZvcm1hdC12aWV3LzpjaGVja3NoZWV0SWQnLCBjb21wb25lbnQ6IENoZWNrc2hlZXRGb3JtYXRWaWV3Q29tcG9uZW50IH0sXG4gIHsgcGF0aDogJ2NoZWNrc2hlZXQtZm9ybWF0LWZvcm0vOmNoZWNrc2hlZXRJZCcsIGNvbXBvbmVudDogQ2hlY2tzaGVldEZvcm1hdEZvcm1Db21wb25lbnQgfSxcbiAge1xuICAgIHBhdGg6ICdjaGVja3NoZWV0cycsXG4gICAgY29tcG9uZW50OiBDaGVja3NoZWV0TGlzdENvbXBvbmVudFxuICB9LFxuICB7XG4gICAgcGF0aDogJ2NoZWNrc2hlZXRzLXZpZXcvOnN1Ym1pc3Npb25JZCcsXG4gICAgY29tcG9uZW50OiBDaGVja3NoZWV0Tm9kZVZpZXdDb21wb25lbnRcbiAgfSxcbiAge1xuICAgIHBhdGg6ICdjaGVja3NoZWV0cy86c3VibWlzc2lvbklkL3ZpZXcnLFxuICAgIGNvbXBvbmVudDogQ2hlY2tzaGVldFN1Ym1pc3Npb25WaWV3Q29tcG9uZW50XG4gIH0sXG4gIHsgcGF0aDogJyoqJywgcmVkaXJlY3RUbzogJ2NoZWNrc2hlZXQtZm9ybWF0LWxpc3QnLCBwYXRoTWF0Y2g6ICdmdWxsJyB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja3NoZWV0Um91dGluZ01vZHVsZSB7fVxuIl19
|