@quadrel-enterprise-ui/framework 18.31.4 → 18.31.5
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/comments/add-comment/add-comment-dialog.component.mjs +3 -4
- package/esm2022/lib/forms/checkbox-chips/checkbox-chips.component.mjs +3 -3
- package/esm2022/lib/forms/checkboxes/checkboxes.component.mjs +3 -3
- package/esm2022/lib/forms/datepicker/datepicker.component.mjs +3 -3
- package/esm2022/lib/forms/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/forms/file-upload/file-upload.component.mjs +3 -3
- package/esm2022/lib/forms/input/input.component.mjs +3 -3
- package/esm2022/lib/forms/multi-input/multi-input.component.mjs +3 -3
- package/esm2022/lib/forms/pin-code/pin-code.component.mjs +3 -3
- package/esm2022/lib/forms/radio-buttons/radio-buttons.component.mjs +3 -3
- package/esm2022/lib/forms/richtext/richtext.component.mjs +3 -3
- package/esm2022/lib/forms/switches/switches.component.mjs +3 -3
- package/esm2022/lib/forms/textarea/textarea.component.mjs +3 -3
- package/esm2022/lib/quick-edit/quick-edit.component.mjs +2 -2
- package/fesm2022/quadrel-enterprise-ui-framework.mjs +28 -29
- package/fesm2022/quadrel-enterprise-ui-framework.mjs.map +1 -1
- package/lib/comments/add-comment/add-comment-dialog.component.d.ts +0 -4
- package/lib/comments/add-comment/add-comment-dialog.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -19,7 +19,6 @@ import * as i11 from "@ngx-translate/core";
|
|
|
19
19
|
export class AddCommentDialogComponent {
|
|
20
20
|
dialogRef;
|
|
21
21
|
authenticationService;
|
|
22
|
-
objectKeys = Object.keys;
|
|
23
22
|
richtextConfig;
|
|
24
23
|
addCommentsConfig;
|
|
25
24
|
authorInputConfig;
|
|
@@ -124,15 +123,15 @@ export class AddCommentDialogComponent {
|
|
|
124
123
|
};
|
|
125
124
|
}
|
|
126
125
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AddCommentDialogComponent, deps: [{ token: i1.DialogRef }, { token: 'QdAuthenticationService', optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
127
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: AddCommentDialogComponent, selector: "qd-comment-dialog", ngImport: i0, template: "<qd-dialog>\n <form [formGroup]=\"form\">\n <qd-input [config]=\"authorInputConfig\"></qd-input>\n <qd-dropdown\n *ngIf=\"customInputConfig\"\n [config]=\"customInputConfig\"\n [formControlName]=\"'custom'\"\n [attr.data-test-id]=\"'comment-custom'\"\n ></qd-dropdown>\n\n <qd-richtext [config]=\"richtextConfig\" #commentText [formControlName]=\"'comment'\"> </qd-richtext>\n
|
|
126
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: AddCommentDialogComponent, selector: "qd-comment-dialog", ngImport: i0, template: "<qd-dialog>\n <form [formGroup]=\"form\">\n <qd-input [config]=\"authorInputConfig\"></qd-input>\n <qd-dropdown\n *ngIf=\"customInputConfig\"\n [config]=\"customInputConfig\"\n [formControlName]=\"'custom'\"\n [attr.data-test-id]=\"'comment-custom'\"\n ></qd-dropdown>\n\n <qd-richtext [config]=\"richtextConfig\" #commentText [formControlName]=\"'comment'\"> </qd-richtext>\n </form>\n <qd-dialog-action>\n <button qdButton qdButtonGhost color=\"secondary\" (click)=\"close()\" [data-test-id]=\"'button-cancel'\">\n {{ \"i18n.qd.comments.add.dialog.cancel\" | translate }}\n </button>\n <button\n [disabled]=\"!commentText.value || commentText.hasError\"\n qdButton\n (click)=\"close('Yes')\"\n [data-test-id]=\"'button-submit'\"\n >\n {{ \"i18n.qd.comments.add.dialog.submit\" | translate }}\n </button>\n </qd-dialog-action>\n</qd-dialog>\n", styles: [".validation-message{margin-top:4px;color:red;font-size:.875em}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.QdButtonComponent, selector: "button[qdButton], a[qdButton], button[qd-button]", inputs: ["disabled", "color", "icon", "data-test-id", "additionalInfo"] }, { kind: "directive", type: i4.QdButtonGhostDirective, selector: "button[qdButtonGhost], a[qdButtonGhost]" }, { kind: "component", type: i5.QdDropdownComponent, selector: "qd-dropdown", inputs: ["value", "id", "formControlName", "config", "data-test-id", "qdPopoverMaxHeight", "dense"], outputs: ["valueChange", "enterClick", "clickHint", "clickReadonly", "clickViewonly"] }, { kind: "component", type: i6.QdInputComponent, selector: "qd-input", inputs: ["formControlName", "value", "config", "isError", "data-test-id"], outputs: ["valueChange", "enterClick", "clickClear", "clickHint", "clickReadonly", "clickViewonly"] }, { kind: "component", type: i7.QdRichtextComponent, selector: "qd-richtext", inputs: ["formControlName", "value", "config", "data-test-id"], outputs: ["valueChange", "clickHint", "clickReadonly", "clickViewonly"] }, { kind: "component", type: i8.QdDialogActionComponent, selector: "qd-dialog-action" }, { kind: "component", type: i9.QdDialogComponent, selector: "qd-dialog" }, { kind: "directive", type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i10.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i10.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
128
127
|
}
|
|
129
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: AddCommentDialogComponent, decorators: [{
|
|
130
129
|
type: Component,
|
|
131
|
-
args: [{ selector: 'qd-comment-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<qd-dialog>\n <form [formGroup]=\"form\">\n <qd-input [config]=\"authorInputConfig\"></qd-input>\n <qd-dropdown\n *ngIf=\"customInputConfig\"\n [config]=\"customInputConfig\"\n [formControlName]=\"'custom'\"\n [attr.data-test-id]=\"'comment-custom'\"\n ></qd-dropdown>\n\n <qd-richtext [config]=\"richtextConfig\" #commentText [formControlName]=\"'comment'\"> </qd-richtext>\n
|
|
130
|
+
args: [{ selector: 'qd-comment-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<qd-dialog>\n <form [formGroup]=\"form\">\n <qd-input [config]=\"authorInputConfig\"></qd-input>\n <qd-dropdown\n *ngIf=\"customInputConfig\"\n [config]=\"customInputConfig\"\n [formControlName]=\"'custom'\"\n [attr.data-test-id]=\"'comment-custom'\"\n ></qd-dropdown>\n\n <qd-richtext [config]=\"richtextConfig\" #commentText [formControlName]=\"'comment'\"> </qd-richtext>\n </form>\n <qd-dialog-action>\n <button qdButton qdButtonGhost color=\"secondary\" (click)=\"close()\" [data-test-id]=\"'button-cancel'\">\n {{ \"i18n.qd.comments.add.dialog.cancel\" | translate }}\n </button>\n <button\n [disabled]=\"!commentText.value || commentText.hasError\"\n qdButton\n (click)=\"close('Yes')\"\n [data-test-id]=\"'button-submit'\"\n >\n {{ \"i18n.qd.comments.add.dialog.submit\" | translate }}\n </button>\n </qd-dialog-action>\n</qd-dialog>\n", styles: [".validation-message{margin-top:4px;color:red;font-size:.875em}\n"] }]
|
|
132
131
|
}], ctorParameters: () => [{ type: i1.DialogRef }, { type: undefined, decorators: [{
|
|
133
132
|
type: Optional
|
|
134
133
|
}, {
|
|
135
134
|
type: Inject,
|
|
136
135
|
args: ['QdAuthenticationService']
|
|
137
136
|
}] }] });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbW1lbnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9jb21tZW50cy9hZGQtY29tbWVudC9hZGQtY29tbWVudC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL2NvbW1lbnRzL2FkZC1jb21tZW50L2FkZC1jb21tZW50LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBT2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBaUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsYUFBYSxFQUF3QixNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBUTNFLE1BQU0sT0FBTyx5QkFBeUI7SUFlMUI7SUFDd0Q7SUFmbEUsVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFekIsY0FBYyxDQUFtQjtJQUVqQyxpQkFBaUIsQ0FBc0I7SUFFdkMsaUJBQWlCLENBQTRCO0lBQzdDLGlCQUFpQixDQUErQjtJQUVoRCxjQUFjLENBQVU7SUFFeEIsSUFBSSxDQUFZO0lBRWhCLFlBQ1UsU0FBNEIsRUFDNEIscUJBQTBCO1FBRGxGLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzRCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBSztRQUUxRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFFaEQsSUFBSSxDQUFDLGNBQWMsR0FBRztZQUNwQixLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUscUNBQXFDLEVBQUU7U0FDdkQsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDeEIsT0FBTyxFQUFFLElBQUksYUFBYSxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsU0FBUyxJQUFJLElBQUk7b0JBQ3pELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO29CQUM1RSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFNBQVMsSUFBSSxJQUFJO29CQUN6RCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztvQkFDNUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxJQUFJLENBQUMsaUJBQWlCLEVBQUU7YUFDekIsQ0FBQztZQUNGLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxFQUFFLENBQUM7U0FDN0QsQ0FBQyxDQUFDO1FBRUgsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUNsRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUNoRixJQUFJLElBQUk7b0JBQUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRU8sd0JBQXdCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRW5ELE9BQU8sQ0FDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzdDLFdBQVcsQ0FBQyxFQUFFLENBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDeEcsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxPQUFPO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRztZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLEtBQUs7WUFDeEUsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUksSUFBSSxtQ0FBbUM7YUFDOUY7WUFDRCxRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHO2dCQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDdEUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJO29CQUMzQyxJQUFJLEVBQUUsV0FBVyxDQUFDLG1CQUFtQixDQUFDLElBQUk7b0JBQzFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsbUJBQW1CLENBQUMsSUFBSTtpQkFDOUcsQ0FBQyxDQUFDO2dCQUNILEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLEVBQUU7aUJBQzNEO2dCQUNELFFBQVEsRUFBRSxLQUFLO2FBQ2hCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFZO1FBQ2hCLElBQUksTUFBTSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNwRSxNQUFNLE9BQU8sR0FBYztnQkFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUs7Z0JBQ3hDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxLQUFLO2dCQUN6RSxNQUFNLEVBQ0osSUFBSSxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUMvQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBSyxXQUFXLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUN2RixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxXQUFXO2FBQzNDLENBQUM7WUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVc7UUFDNUIsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUk7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFFdkMsTUFBTSxjQUFjLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNELE9BQU8sY0FBYyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsOEJBQThCLEVBQUUsQ0FBQztRQUM3RixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBVztRQUM1QixNQUFNLFNBQVMsR0FBeUIsQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQzVGLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRXZDLE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRCxPQUFPLGNBQWMsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLDhCQUE4QixFQUFFLENBQUM7UUFDN0YsQ0FBQyxDQUFDO1FBRUYsU0FBUyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFFMUIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQzNELE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRCxPQUFPLGNBQWMsSUFBSSxJQUFJLElBQUksY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNwSCxDQUFDLENBQUM7SUFDSixDQUFDO3VHQWhJVSx5QkFBeUIsMkNBZ0JkLHlCQUF5QjsyRkFoQnBDLHlCQUF5Qix5RENuQnRDLG12Q0FtQ0E7OzJGRGhCYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OzBCQWtCNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7XG4gIFFkRm9ybURyb3Bkb3duQ29uZmlndXJhdGlvbixcbiAgUWRGb3JtSW5wdXRDb25maWd1cmF0aW9uLFxuICBRZFJpY2h0ZXh0Q29uZmlnXG59IGZyb20gJy4uLy4uL2Zvcm1zL21vZGVsL2Zvcm1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZENvbW1lbnQsIFFkQ29tbWVudHNBZGRDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jb21tZW50cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFFkRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuV2l0aFByb3BzIH0gZnJvbSAnLi4vLi4vZm9ybXMvcmVhY3RpdmUtZm9ybXMvY29udHJvbHMvZm9ybS1jb250cm9sJztcbmltcG9ydCB7IGdldFBsYWluVGV4dEZyb21IdG1sIH0gZnJvbSAnLi4vLi4vaGVscGVycy9odG1sLXBsYWludGV4dC5oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdxZC1jb21tZW50LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtY29tbWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtY29tbWVudC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWRkQ29tbWVudERpYWxvZ0NvbXBvbmVudCB7XG4gIG9iamVjdEtleXMgPSBPYmplY3Qua2V5cztcblxuICByaWNodGV4dENvbmZpZzogUWRSaWNodGV4dENvbmZpZztcblxuICBhZGRDb21tZW50c0NvbmZpZzogUWRDb21tZW50c0FkZENvbmZpZztcblxuICBhdXRob3JJbnB1dENvbmZpZz86IFFkRm9ybUlucHV0Q29uZmlndXJhdGlvbjtcbiAgY3VzdG9tSW5wdXRDb25maWc/OiBRZEZvcm1Ecm9wZG93bkNvbmZpZ3VyYXRpb247XG5cbiAgcWRBdXRoVXNlcm5hbWU/OiBzdHJpbmc7XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nUmVmOiBEaWFsb2dSZWY8c3RyaW5nPixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdRZEF1dGhlbnRpY2F0aW9uU2VydmljZScpIHByaXZhdGUgcmVhZG9ubHkgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBhbnlcbiAgKSB7XG4gICAgdGhpcy5hZGRDb21tZW50c0NvbmZpZyA9IGRpYWxvZ1JlZi5jb25maWc/LmRhdGE7XG5cbiAgICB0aGlzLnJpY2h0ZXh0Q29uZmlnID0ge1xuICAgICAgbGFiZWw6IHsgaTE4bjogJ2kxOG4ucWQuY29tbWVudHMuYWRkLnJpY2h0ZXh0LmxhYmVsJyB9XG4gICAgfTtcblxuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgY29tbWVudDogbmV3IFFkRm9ybUNvbnRyb2woJycsIFtcbiAgICAgICAgLi4uKHRoaXMuYWRkQ29tbWVudHNDb25maWc/LmNvbW1lbnRGaWVsZD8ubWluTGVuZ3RoICE9IG51bGxcbiAgICAgICAgICA/IFt0aGlzLnBsYWluVGV4dE1pbkxlbmd0aCh0aGlzLmFkZENvbW1lbnRzQ29uZmlnPy5jb21tZW50RmllbGQ/Lm1pbkxlbmd0aCldXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLih0aGlzLmFkZENvbW1lbnRzQ29uZmlnPy5jb21tZW50RmllbGQ/Lm1heExlbmd0aCAhPSBudWxsXG4gICAgICAgICAgPyBbdGhpcy5wbGFpblRleHRNYXhMZW5ndGgodGhpcy5hZGRDb21tZW50c0NvbmZpZz8uY29tbWVudEZpZWxkPy5tYXhMZW5ndGgpXVxuICAgICAgICAgIDogW10pLFxuICAgICAgICB0aGlzLnBsYWluVGV4dFJlcXVpcmVkKClcbiAgICAgIF0pLFxuICAgICAgY3VzdG9tOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5maW5kU2VsZWN0ZWRDdXN0b21PcHRpb24oKSwgW10pXG4gICAgfSk7XG5cbiAgICBjb25zdCBpc1FkQXV0aFVzZWQgPSAhIXRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlO1xuICAgIGlmIChpc1FkQXV0aFVzZWQpIHtcbiAgICAgIGF1dGhlbnRpY2F0aW9uU2VydmljZS5uYW1lJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAobmFtZSkgdGhpcy5xZEF1dGhVc2VybmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuY3JlYXRlQ29uZmlnKCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVDb25maWcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbmRTZWxlY3RlZEN1c3RvbU9wdGlvbigpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5hZGRDb21tZW50c0NvbmZpZy5jdXN0b21GaWVsZCkgcmV0dXJuICcnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYWRkQ29tbWVudHNDb25maWcuY3VzdG9tRmllbGQub3B0aW9ucy5maW5kKFxuICAgICAgICBjdXN0b21WYWx1ZSA9PlxuICAgICAgICAgIHRoaXMuYWRkQ29tbWVudHNDb25maWcuY3VzdG9tRmllbGQ/LmRyb3Bkb3duRGlzcGxheU5hbWUuaTE4biA9PT0gY3VzdG9tVmFsdWUuZHJvcGRvd25EaXNwbGF5TmFtZS5pMThuXG4gICAgICApPy5kcm9wZG93bkRpc3BsYXlOYW1lLmkxOG4gPz8gJydcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb25maWcoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFkZENvbW1lbnRzQ29uZmlnKSByZXR1cm47XG4gICAgdGhpcy5hdXRob3JJbnB1dENvbmZpZyA9IHtcbiAgICAgIHZhbHVlOiB0aGlzLnFkQXV0aFVzZXJuYW1lIHx8IHRoaXMuYWRkQ29tbWVudHNDb25maWc/LmF1dGhvckZpZWxkPy52YWx1ZSxcbiAgICAgIGRpc2FibGVkOiB0cnVlLFxuICAgICAgbGFiZWw6IHtcbiAgICAgICAgaTE4bjogdGhpcy5hZGRDb21tZW50c0NvbmZpZz8uYXV0aG9yRmllbGQ/LmxhYmVsPy5pMThuIHx8ICdpMThuLnFkLmNvbW1lbnRzLmFkZC5hdXRob3IubGFiZWwnXG4gICAgICB9LFxuICAgICAgdmlld29ubHk6IGZhbHNlXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmFkZENvbW1lbnRzQ29uZmlnLmN1c3RvbUZpZWxkKSB7XG4gICAgICB0aGlzLmN1c3RvbUlucHV0Q29uZmlnID0ge1xuICAgICAgICBvcHRpb25zOiB0aGlzLmFkZENvbW1lbnRzQ29uZmlnLmN1c3RvbUZpZWxkLm9wdGlvbnMubWFwKGN1c3RvbVZhbHVlID0+ICh7XG4gICAgICAgICAgdmFsdWU6IGN1c3RvbVZhbHVlLmRyb3Bkb3duRGlzcGxheU5hbWUuaTE4bixcbiAgICAgICAgICBpMThuOiBjdXN0b21WYWx1ZS5kcm9wZG93bkRpc3BsYXlOYW1lLmkxOG4sXG4gICAgICAgICAgYWN0aXZlOiB0aGlzLmFkZENvbW1lbnRzQ29uZmlnLmN1c3RvbUZpZWxkPy5kcm9wZG93bkRpc3BsYXlOYW1lLmkxOG4gPT09IGN1c3RvbVZhbHVlLmRyb3Bkb3duRGlzcGxheU5hbWUuaTE4blxuICAgICAgICB9KSksXG4gICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgaTE4bjogdGhpcy5hZGRDb21tZW50c0NvbmZpZy5jdXN0b21GaWVsZC5sYWJlbD8uaTE4biB8fCAnJ1xuICAgICAgICB9LFxuICAgICAgICB2aWV3b25seTogZmFsc2VcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgY2xvc2UocmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgaWYgKHJlc3VsdCA9PT0gJ1llcycgJiYgdGhpcy5hZGRDb21tZW50c0NvbmZpZy5jb25maXJtRGlhbG9nSGFuZGxlcikge1xuICAgICAgY29uc3QgY29tbWVudDogUWRDb21tZW50ID0ge1xuICAgICAgICBjb21tZW50OiB0aGlzLmZvcm0uZ2V0KCdjb21tZW50Jyk/LnZhbHVlLFxuICAgICAgICBkYXRlOiBuZXcgRGF0ZSgpLFxuICAgICAgICBhdXRob3I6IHRoaXMucWRBdXRoVXNlcm5hbWUgfHwgdGhpcy5hZGRDb21tZW50c0NvbmZpZz8uYXV0aG9yRmllbGQ/LnZhbHVlLFxuICAgICAgICBjdXN0b206XG4gICAgICAgICAgdGhpcy5hZGRDb21tZW50c0NvbmZpZz8uY3VzdG9tRmllbGQ/Lm9wdGlvbnMuZmluZChcbiAgICAgICAgICAgIGN1c3RvbVZhbHVlID0+IHRoaXMuZm9ybS5nZXQoJ2N1c3RvbScpPy52YWx1ZSA9PT0gY3VzdG9tVmFsdWUuZHJvcGRvd25EaXNwbGF5TmFtZS5pMThuXG4gICAgICAgICAgKSA/PyB0aGlzLmFkZENvbW1lbnRzQ29uZmlnPy5jdXN0b21GaWVsZFxuICAgICAgfTtcbiAgICAgIHRoaXMuYWRkQ29tbWVudHNDb25maWcuY29uZmlybURpYWxvZ0hhbmRsZXIoY29tbWVudCk7XG4gICAgfVxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBwbGFpblRleHRNaW5MZW5ndGgobWluOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSByZXR1cm4gbnVsbDtcblxuICAgICAgY29uc3Qgc2FuaXRpemVkVmFsdWUgPSBnZXRQbGFpblRleHRGcm9tSHRtbChjb250cm9sLnZhbHVlKTtcbiAgICAgIHJldHVybiBzYW5pdGl6ZWRWYWx1ZS5sZW5ndGggPj0gbWluID8gbnVsbCA6IHsgbWluTGVuZ3RoOiAnaTE4bi5xZC5mb3JtLmVycm9yLm1pbkxlbmd0aCcgfTtcbiAgICB9O1xuICB9XG5cbiAgcGxhaW5UZXh0TWF4TGVuZ3RoKG1heDogbnVtYmVyKTogVmFsaWRhdG9yRm5XaXRoUHJvcHMge1xuICAgIGNvbnN0IHZhbGlkYXRvcjogVmFsaWRhdG9yRm5XaXRoUHJvcHMgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkgcmV0dXJuIG51bGw7XG5cbiAgICAgIGNvbnN0IHNhbml0aXplZFZhbHVlID0gZ2V0UGxhaW5UZXh0RnJvbUh0bWwoY29udHJvbC52YWx1ZSk7XG4gICAgICByZXR1cm4gc2FuaXRpemVkVmFsdWUubGVuZ3RoIDw9IG1heCA/IG51bGwgOiB7IG1heExlbmd0aDogJ2kxOG4ucWQuZm9ybS5lcnJvci5tYXhMZW5ndGgnIH07XG4gICAgfTtcblxuICAgIHZhbGlkYXRvci5tYXhMZW5ndGggPSBtYXg7XG5cbiAgICByZXR1cm4gdmFsaWRhdG9yO1xuICB9XG5cbiAgcGxhaW5UZXh0UmVxdWlyZWQoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgY29uc3Qgc2FuaXRpemVkVmFsdWUgPSBnZXRQbGFpblRleHRGcm9tSHRtbChjb250cm9sLnZhbHVlKTtcbiAgICAgIHJldHVybiBzYW5pdGl6ZWRWYWx1ZSA9PSBudWxsIHx8IHNhbml0aXplZFZhbHVlLmxlbmd0aCA9PT0gMCA/IHsgcmVxdWlyZWQ6ICdpMThuLnFkLmZvcm0uZXJyb3IucmVxdWlyZWQnIH0gOiBudWxsO1xuICAgIH07XG4gIH1cbn1cbiIsIjxxZC1kaWFsb2c+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgIDxxZC1pbnB1dCBbY29uZmlnXT1cImF1dGhvcklucHV0Q29uZmlnXCI+PC9xZC1pbnB1dD5cbiAgICA8cWQtZHJvcGRvd25cbiAgICAgICpuZ0lmPVwiY3VzdG9tSW5wdXRDb25maWdcIlxuICAgICAgW2NvbmZpZ109XCJjdXN0b21JbnB1dENvbmZpZ1wiXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidjdXN0b20nXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCInY29tbWVudC1jdXN0b20nXCJcbiAgICA+PC9xZC1kcm9wZG93bj5cblxuICAgIDxxZC1yaWNodGV4dCBbY29uZmlnXT1cInJpY2h0ZXh0Q29uZmlnXCIgI2NvbW1lbnRUZXh0IFtmb3JtQ29udHJvbE5hbWVdPVwiJ2NvbW1lbnQnXCI+IDwvcWQtcmljaHRleHQ+XG4gICAgPGRpdiAqbmdJZj1cImZvcm0uZ2V0KCdjb21tZW50Jyk/LnRvdWNoZWQgJiYgZm9ybS5nZXQoJ2NvbW1lbnQnKT8uZXJyb3JzIGFzIGVycm9yc1wiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZXJyb3JLZXkgb2Ygb2JqZWN0S2V5cyhlcnJvcnMpXCJcbiAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIidjb21tZW50LXZhbGlkYXRpb24tJyArIGVycm9yS2V5XCJcbiAgICAgICAgY2xhc3M9XCJ2YWxpZGF0aW9uLW1lc3NhZ2VcIlxuICAgICAgPlxuICAgICAgICB7eyBlcnJvcnNbZXJyb3JLZXldIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuICA8cWQtZGlhbG9nLWFjdGlvbj5cbiAgICA8YnV0dG9uIHFkQnV0dG9uIHFkQnV0dG9uR2hvc3QgY29sb3I9XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwiY2xvc2UoKVwiIFtkYXRhLXRlc3QtaWRdPVwiJ2J1dHRvbi1jYW5jZWwnXCI+XG4gICAgICB7eyBcImkxOG4ucWQuY29tbWVudHMuYWRkLmRpYWxvZy5jYW5jZWxcIiB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIFtkaXNhYmxlZF09XCIhY29tbWVudFRleHQudmFsdWUgfHwgY29tbWVudFRleHQuaGFzRXJyb3JcIlxuICAgICAgcWRCdXR0b25cbiAgICAgIChjbGljayk9XCJjbG9zZSgnWWVzJylcIlxuICAgICAgW2RhdGEtdGVzdC1pZF09XCInYnV0dG9uLXN1Ym1pdCdcIlxuICAgID5cbiAgICAgIHt7IFwiaTE4bi5xZC5jb21tZW50cy5hZGQuZGlhbG9nLnN1Ym1pdFwiIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvcWQtZGlhbG9nLWFjdGlvbj5cbjwvcWQtZGlhbG9nPlxuIl19
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbW1lbnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9jb21tZW50cy9hZGQtY29tbWVudC9hZGQtY29tbWVudC1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL2NvbW1lbnRzL2FkZC1jb21tZW50L2FkZC1jb21tZW50LWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBT2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBaUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsYUFBYSxFQUF3QixNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBUTNFLE1BQU0sT0FBTyx5QkFBeUI7SUFhMUI7SUFDd0Q7SUFibEUsY0FBYyxDQUFtQjtJQUVqQyxpQkFBaUIsQ0FBc0I7SUFFdkMsaUJBQWlCLENBQTRCO0lBQzdDLGlCQUFpQixDQUErQjtJQUVoRCxjQUFjLENBQVU7SUFFeEIsSUFBSSxDQUFZO0lBRWhCLFlBQ1UsU0FBNEIsRUFDNEIscUJBQTBCO1FBRGxGLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzRCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBSztRQUUxRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFFaEQs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QUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNwSCxDQUFDLENBQUM7SUFDSixDQUFDO3VHQTlIVSx5QkFBeUIsMkNBY2QseUJBQXlCOzJGQWRwQyx5QkFBeUIseURDbkJ0Qyw4NUJBMEJBOzsyRkRQYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OzBCQWdCNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7XG4gIFFkRm9ybURyb3Bkb3duQ29uZmlndXJhdGlvbixcbiAgUWRGb3JtSW5wdXRDb25maWd1cmF0aW9uLFxuICBRZFJpY2h0ZXh0Q29uZmlnXG59IGZyb20gJy4uLy4uL2Zvcm1zL21vZGVsL2Zvcm1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBRZENvbW1lbnQsIFFkQ29tbWVudHNBZGRDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jb21tZW50cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFFkRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuV2l0aFByb3BzIH0gZnJvbSAnLi4vLi4vZm9ybXMvcmVhY3RpdmUtZm9ybXMvY29udHJvbHMvZm9ybS1jb250cm9sJztcbmltcG9ydCB7IGdldFBsYWluVGV4dEZyb21IdG1sIH0gZnJvbSAnLi4vLi4vaGVscGVycy9odG1sLXBsYWludGV4dC5oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdxZC1jb21tZW50LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtY29tbWVudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hZGQtY29tbWVudC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWRkQ29tbWVudERpYWxvZ0NvbXBvbmVudCB7XG4gIHJpY2h0ZXh0Q29uZmlnOiBRZFJpY2h0ZXh0Q29uZmlnO1xuXG4gIGFkZENvbW1lbnRzQ29uZmlnOiBRZENvbW1lbnRzQWRkQ29uZmlnO1xuXG4gIGF1dGhvcklucHV0Q29uZmlnPzogUWRGb3JtSW5wdXRDb25maWd1cmF0aW9uO1xuICBjdXN0b21JbnB1dENvbmZpZz86IFFkRm9ybURyb3Bkb3duQ29uZmlndXJhdGlvbjtcblxuICBxZEF1dGhVc2VybmFtZT86IHN0cmluZztcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IERpYWxvZ1JlZjxzdHJpbmc+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ1FkQXV0aGVudGljYXRpb25TZXJ2aWNlJykgcHJpdmF0ZSByZWFkb25seSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IGFueVxuICApIHtcbiAgICB0aGlzLmFkZENvbW1lbnRzQ29uZmlnID0gZGlhbG9nUmVmLmNvbmZpZz8uZGF0YTtcblxuICAgIHRoaXMucmljaHRleHRDb25maWcgPSB7XG4gICAgICBsYWJlbDogeyBpMThuOiAnaTE4bi5xZC5jb21tZW50cy5hZGQucmljaHRleHQubGFiZWwnIH1cbiAgICB9O1xuXG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBjb21tZW50OiBuZXcgUWRGb3JtQ29udHJvbCgnJywgW1xuICAgICAgICAuLi4odGhpcy5hZGRDb21tZW50c0NvbmZpZz8uY29tbWVudEZpZWxkPy5taW5MZW5ndGggIT0gbnVsbFxuICAgICAgICAgID8gW3RoaXMucGxhaW5UZXh0TWluTGVuZ3RoKHRoaXMuYWRkQ29tbWVudHNDb25maWc/LmNvbW1lbnRGaWVsZD8ubWluTGVuZ3RoKV1cbiAgICAgICAgICA6IFtdKSxcbiAgICAgICAgLi4uKHRoaXMuYWRkQ29tbWVudHNDb25maWc/LmNvbW1lbnRGaWVsZD8ubWF4TGVuZ3RoICE9IG51bGxcbiAgICAgICAgICA/IFt0aGlzLnBsYWluVGV4dE1heExlbmd0aCh0aGlzLmFkZENvbW1lbnRzQ29uZmlnPy5jb21tZW50RmllbGQ/Lm1heExlbmd0aCldXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIHRoaXMucGxhaW5UZXh0UmVxdWlyZWQoKVxuICAgICAgXSksXG4gICAgICBjdXN0b206IG5ldyBGb3JtQ29udHJvbCh0aGlzLmZpbmRTZWxlY3RlZEN1c3RvbU9wdGlvbigpLCBbXSlcbiAgICB9KTtcblxuICAgIGNvbnN0IGlzUWRBdXRoVXNlZCA9ICEhdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2U7XG4gICAgaWYgKGlzUWRBdXRoVXNlZCkge1xuICAgICAgYXV0aGVudGljYXRpb25TZXJ2aWNlLm5hbWUkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmIChuYW1lKSB0aGlzLnFkQXV0aFVzZXJuYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5jcmVhdGVDb25maWcoKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZUNvbmZpZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluZFNlbGVjdGVkQ3VzdG9tT3B0aW9uKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmFkZENvbW1lbnRzQ29uZmlnLmN1c3RvbUZpZWxkKSByZXR1cm4gJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5hZGRDb21tZW50c0NvbmZpZy5jdXN0b21GaWVsZC5vcHRpb25zLmZpbmQoXG4gICAgICAgIGN1c3RvbVZhbHVlID0+XG4gICAgICAgICAgdGhpcy5hZGRDb21tZW50c0NvbmZpZy5jdXN0b21GaWVsZD8uZHJvcGRvd25EaXNwbGF5TmFtZS5pMThuID09PSBjdXN0b21WYWx1ZS5kcm9wZG93bkRpc3BsYXlOYW1lLmkxOG5cbiAgICAgICk/LmRyb3Bkb3duRGlzcGxheU5hbWUuaTE4biA/PyAnJ1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNvbmZpZygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWRkQ29tbWVudHNDb25maWcpIHJldHVybjtcbiAgICB0aGlzLmF1dGhvcklucHV0Q29uZmlnID0ge1xuICAgICAgdmFsdWU6IHRoaXMucWRBdXRoVXNlcm5hbWUgfHwgdGhpcy5hZGRDb21tZW50c0NvbmZpZz8uYXV0aG9yRmllbGQ/LnZhbHVlLFxuICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICBsYWJlbDoge1xuICAgICAgICBpMThuOiB0aGlzLmFkZENvbW1lbnRzQ29uZmlnPy5hdXRob3JGaWVsZD8ubGFiZWw/LmkxOG4gfHwgJ2kxOG4ucWQuY29tbWVudHMuYWRkLmF1dGhvci5sYWJlbCdcbiAgICAgIH0sXG4gICAgICB2aWV3b25seTogZmFsc2VcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuYWRkQ29tbWVudHNDb25maWcuY3VzdG9tRmllbGQpIHtcbiAgICAgIHRoaXMuY3VzdG9tSW5wdXRDb25maWcgPSB7XG4gICAgICAgIG9wdGlvbnM6IHRoaXMuYWRkQ29tbWVudHNDb25maWcuY3VzdG9tRmllbGQub3B0aW9ucy5tYXAoY3VzdG9tVmFsdWUgPT4gKHtcbiAgICAgICAgICB2YWx1ZTogY3VzdG9tVmFsdWUuZHJvcGRvd25EaXNwbGF5TmFtZS5pMThuLFxuICAgICAgICAgIGkxOG46IGN1c3RvbVZhbHVlLmRyb3Bkb3duRGlzcGxheU5hbWUuaTE4bixcbiAgICAgICAgICBhY3RpdmU6IHRoaXMuYWRkQ29tbWVudHNDb25maWcuY3VzdG9tRmllbGQ/LmRyb3Bkb3duRGlzcGxheU5hbWUuaTE4biA9PT0gY3VzdG9tVmFsdWUuZHJvcGRvd25EaXNwbGF5TmFtZS5pMThuXG4gICAgICAgIH0pKSxcbiAgICAgICAgbGFiZWw6IHtcbiAgICAgICAgICBpMThuOiB0aGlzLmFkZENvbW1lbnRzQ29uZmlnLmN1c3RvbUZpZWxkLmxhYmVsPy5pMThuIHx8ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHZpZXdvbmx5OiBmYWxzZVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBjbG9zZShyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAocmVzdWx0ID09PSAnWWVzJyAmJiB0aGlzLmFkZENvbW1lbnRzQ29uZmlnLmNvbmZpcm1EaWFsb2dIYW5kbGVyKSB7XG4gICAgICBjb25zdCBjb21tZW50OiBRZENvbW1lbnQgPSB7XG4gICAgICAgIGNvbW1lbnQ6IHRoaXMuZm9ybS5nZXQoJ2NvbW1lbnQnKT8udmFsdWUsXG4gICAgICAgIGRhdGU6IG5ldyBEYXRlKCksXG4gICAgICAgIGF1dGhvcjogdGhpcy5xZEF1dGhVc2VybmFtZSB8fCB0aGlzLmFkZENvbW1lbnRzQ29uZmlnPy5hdXRob3JGaWVsZD8udmFsdWUsXG4gICAgICAgIGN1c3RvbTpcbiAgICAgICAgICB0aGlzLmFkZENvbW1lbnRzQ29uZmlnPy5jdXN0b21GaWVsZD8ub3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgY3VzdG9tVmFsdWUgPT4gdGhpcy5mb3JtLmdldCgnY3VzdG9tJyk/LnZhbHVlID09PSBjdXN0b21WYWx1ZS5kcm9wZG93bkRpc3BsYXlOYW1lLmkxOG5cbiAgICAgICAgICApID8/IHRoaXMuYWRkQ29tbWVudHNDb25maWc/LmN1c3RvbUZpZWxkXG4gICAgICB9O1xuICAgICAgdGhpcy5hZGRDb21tZW50c0NvbmZpZy5jb25maXJtRGlhbG9nSGFuZGxlcihjb21tZW50KTtcbiAgICB9XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIHBsYWluVGV4dE1pbkxlbmd0aChtaW46IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgIGlmIChjb250cm9sLnZhbHVlID09IG51bGwpIHJldHVybiBudWxsO1xuXG4gICAgICBjb25zdCBzYW5pdGl6ZWRWYWx1ZSA9IGdldFBsYWluVGV4dEZyb21IdG1sKGNvbnRyb2wudmFsdWUpO1xuICAgICAgcmV0dXJuIHNhbml0aXplZFZhbHVlLmxlbmd0aCA+PSBtaW4gPyBudWxsIDogeyBtaW5MZW5ndGg6ICdpMThuLnFkLmZvcm0uZXJyb3IubWluTGVuZ3RoJyB9O1xuICAgIH07XG4gIH1cblxuICBwbGFpblRleHRNYXhMZW5ndGgobWF4OiBudW1iZXIpOiBWYWxpZGF0b3JGbldpdGhQcm9wcyB7XG4gICAgY29uc3QgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbldpdGhQcm9wcyA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBpZiAoY29udHJvbC52YWx1ZSA9PSBudWxsKSByZXR1cm4gbnVsbDtcblxuICAgICAgY29uc3Qgc2FuaXRpemVkVmFsdWUgPSBnZXRQbGFpblRleHRGcm9tSHRtbChjb250cm9sLnZhbHVlKTtcbiAgICAgIHJldHVybiBzYW5pdGl6ZWRWYWx1ZS5sZW5ndGggPD0gbWF4ID8gbnVsbCA6IHsgbWF4TGVuZ3RoOiAnaTE4bi5xZC5mb3JtLmVycm9yLm1heExlbmd0aCcgfTtcbiAgICB9O1xuXG4gICAgdmFsaWRhdG9yLm1heExlbmd0aCA9IG1heDtcblxuICAgIHJldHVybiB2YWxpZGF0b3I7XG4gIH1cblxuICBwbGFpblRleHRSZXF1aXJlZCgpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBjb25zdCBzYW5pdGl6ZWRWYWx1ZSA9IGdldFBsYWluVGV4dEZyb21IdG1sKGNvbnRyb2wudmFsdWUpO1xuICAgICAgcmV0dXJuIHNhbml0aXplZFZhbHVlID09IG51bGwgfHwgc2FuaXRpemVkVmFsdWUubGVuZ3RoID09PSAwID8geyByZXF1aXJlZDogJ2kxOG4ucWQuZm9ybS5lcnJvci5yZXF1aXJlZCcgfSA6IG51bGw7XG4gICAgfTtcbiAgfVxufVxuIiwiPHFkLWRpYWxvZz5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPHFkLWlucHV0IFtjb25maWddPVwiYXV0aG9ySW5wdXRDb25maWdcIj48L3FkLWlucHV0PlxuICAgIDxxZC1kcm9wZG93blxuICAgICAgKm5nSWY9XCJjdXN0b21JbnB1dENvbmZpZ1wiXG4gICAgICBbY29uZmlnXT1cImN1c3RvbUlucHV0Q29uZmlnXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ2N1c3RvbSdcIlxuICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIidjb21tZW50LWN1c3RvbSdcIlxuICAgID48L3FkLWRyb3Bkb3duPlxuXG4gICAgPHFkLXJpY2h0ZXh0IFtjb25maWddPVwicmljaHRleHRDb25maWdcIiAjY29tbWVudFRleHQgW2Zvcm1Db250cm9sTmFtZV09XCInY29tbWVudCdcIj4gPC9xZC1yaWNodGV4dD5cbiAgPC9mb3JtPlxuICA8cWQtZGlhbG9nLWFjdGlvbj5cbiAgICA8YnV0dG9uIHFkQnV0dG9uIHFkQnV0dG9uR2hvc3QgY29sb3I9XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwiY2xvc2UoKVwiIFtkYXRhLXRlc3QtaWRdPVwiJ2J1dHRvbi1jYW5jZWwnXCI+XG4gICAgICB7eyBcImkxOG4ucWQuY29tbWVudHMuYWRkLmRpYWxvZy5jYW5jZWxcIiB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIFtkaXNhYmxlZF09XCIhY29tbWVudFRleHQudmFsdWUgfHwgY29tbWVudFRleHQuaGFzRXJyb3JcIlxuICAgICAgcWRCdXR0b25cbiAgICAgIChjbGljayk9XCJjbG9zZSgnWWVzJylcIlxuICAgICAgW2RhdGEtdGVzdC1pZF09XCInYnV0dG9uLXN1Ym1pdCdcIlxuICAgID5cbiAgICAgIHt7IFwiaTE4bi5xZC5jb21tZW50cy5hZGQuZGlhbG9nLnN1Ym1pdFwiIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvcWQtZGlhbG9nLWFjdGlvbj5cbjwvcWQtZGlhbG9nPlxuIl19
|
|
@@ -198,7 +198,7 @@ export class QdCheckboxChipsComponent {
|
|
|
198
198
|
useExisting: QdCheckboxChipsComponent,
|
|
199
199
|
multi: true
|
|
200
200
|
}
|
|
201
|
-
], usesOnChanges: true, ngImport: i0, template: "<qd-form-label\n [label]=\"label\"\n [readonly]=\"readonly\"\n [viewonly]=\"viewonly\"\n [data-test-id]=\"testId\"\n [isDisabled]=\"isLabelDisabled\"\n [control]=\"control\"\n></qd-form-label>\n\n<ng-container *ngIf=\"!readonly && !viewonly\">\n <qd-checkbox-chips-item\n *ngFor=\"let option of options; let index = index\"\n [data]=\"option\"\n [data-test-id]=\"testId + '-item-' + index\"\n (click)=\"handleClick(index)\"\n >\n </qd-checkbox-chips-item>\n</ng-container>\n\n<qd-form-hint\n *ngIf=\"!readonly && !viewonly\"\n [hint]=\"hint\"\n [control]=\"control\"\n [hasError]=\"hasError\"\n [hintAction]=\"hintAction\"\n [data-test-id]=\"testId\"\n></qd-form-hint>\n\n<qd-form-readonly\n *ngIf=\"readonly\"\n [values]=\"selectedTranslations\"\n [readonlyAction]=\"readonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-readonly>\n\n<qd-form-viewonly\n *ngIf=\"viewonly\"\n [values]=\"selectedTranslations\"\n [viewonlyAction]=\"viewonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-viewonly>\n", styles: [".qd-checkbox-chips{display:block;margin-bottom:.75rem}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item{border-color:#d5d5d5;color:#d5d5d5;cursor:default;pointer-events:none}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item.active{background:#d5d5d5}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item .indicator.checked{color:#d5d5d5!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.QdCheckboxChipsItemComponent, selector: "qd-checkbox-chips-item", inputs: ["data", "data-test-id"] }, { kind: "component", type: i7.QdFormHintComponent, selector: "qd-form-hint", inputs: ["hint", "control", "hasError", "hintAction", "data-test-id"] }, { kind: "component", type: i8.QdFormLabelComponent, selector: "qd-form-label", inputs: ["label", "isDisabled", "readonly", "viewonly", "control", "tooltip", "data-test-id"] }, { kind: "component", type: i9.QdFormReadonlyComponent, selector: "qd-form-readonly", inputs: ["values", "readonlyAction", "data-test-id"] }, { kind: "component", type: i10.QdFormViewonlyComponent, selector: "qd-form-viewonly", inputs: ["values", "viewonlyAction", "data-test-id"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
201
|
+
], usesOnChanges: true, ngImport: i0, template: "<qd-form-label\n [label]=\"label\"\n [readonly]=\"readonly\"\n [viewonly]=\"viewonly\"\n [data-test-id]=\"testId\"\n [isDisabled]=\"isLabelDisabled\"\n [control]=\"control\"\n></qd-form-label>\n\n<ng-container *ngIf=\"!readonly && !viewonly\">\n <qd-checkbox-chips-item\n *ngFor=\"let option of options; let index = index\"\n [data]=\"option\"\n [data-test-id]=\"testId + '-item-' + index\"\n (click)=\"handleClick(index)\"\n >\n </qd-checkbox-chips-item>\n</ng-container>\n\n<qd-form-hint\n *ngIf=\"!readonly && !viewonly && (hint || hasError)\"\n [hint]=\"hint\"\n [control]=\"control\"\n [hasError]=\"hasError\"\n [hintAction]=\"hintAction\"\n [data-test-id]=\"testId\"\n></qd-form-hint>\n\n<qd-form-readonly\n *ngIf=\"readonly\"\n [values]=\"selectedTranslations\"\n [readonlyAction]=\"readonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-readonly>\n\n<qd-form-viewonly\n *ngIf=\"viewonly\"\n [values]=\"selectedTranslations\"\n [viewonlyAction]=\"viewonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-viewonly>\n", styles: [".qd-checkbox-chips{display:block;margin-bottom:.75rem}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item{border-color:#d5d5d5;color:#d5d5d5;cursor:default;pointer-events:none}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item.active{background:#d5d5d5}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item .indicator.checked{color:#d5d5d5!important}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.QdCheckboxChipsItemComponent, selector: "qd-checkbox-chips-item", inputs: ["data", "data-test-id"] }, { kind: "component", type: i7.QdFormHintComponent, selector: "qd-form-hint", inputs: ["hint", "control", "hasError", "hintAction", "data-test-id"] }, { kind: "component", type: i8.QdFormLabelComponent, selector: "qd-form-label", inputs: ["label", "isDisabled", "readonly", "viewonly", "control", "tooltip", "data-test-id"] }, { kind: "component", type: i9.QdFormReadonlyComponent, selector: "qd-form-readonly", inputs: ["values", "readonlyAction", "data-test-id"] }, { kind: "component", type: i10.QdFormViewonlyComponent, selector: "qd-form-viewonly", inputs: ["values", "viewonlyAction", "data-test-id"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
202
202
|
}
|
|
203
203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdCheckboxChipsComponent, decorators: [{
|
|
204
204
|
type: Component,
|
|
@@ -210,7 +210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
210
210
|
useExisting: QdCheckboxChipsComponent,
|
|
211
211
|
multi: true
|
|
212
212
|
}
|
|
213
|
-
], template: "<qd-form-label\n [label]=\"label\"\n [readonly]=\"readonly\"\n [viewonly]=\"viewonly\"\n [data-test-id]=\"testId\"\n [isDisabled]=\"isLabelDisabled\"\n [control]=\"control\"\n></qd-form-label>\n\n<ng-container *ngIf=\"!readonly && !viewonly\">\n <qd-checkbox-chips-item\n *ngFor=\"let option of options; let index = index\"\n [data]=\"option\"\n [data-test-id]=\"testId + '-item-' + index\"\n (click)=\"handleClick(index)\"\n >\n </qd-checkbox-chips-item>\n</ng-container>\n\n<qd-form-hint\n *ngIf=\"!readonly && !viewonly\"\n [hint]=\"hint\"\n [control]=\"control\"\n [hasError]=\"hasError\"\n [hintAction]=\"hintAction\"\n [data-test-id]=\"testId\"\n></qd-form-hint>\n\n<qd-form-readonly\n *ngIf=\"readonly\"\n [values]=\"selectedTranslations\"\n [readonlyAction]=\"readonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-readonly>\n\n<qd-form-viewonly\n *ngIf=\"viewonly\"\n [values]=\"selectedTranslations\"\n [viewonlyAction]=\"viewonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-viewonly>\n", styles: [".qd-checkbox-chips{display:block;margin-bottom:.75rem}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item{border-color:#d5d5d5;color:#d5d5d5;cursor:default;pointer-events:none}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item.active{background:#d5d5d5}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item .indicator.checked{color:#d5d5d5!important}\n"] }]
|
|
213
|
+
], template: "<qd-form-label\n [label]=\"label\"\n [readonly]=\"readonly\"\n [viewonly]=\"viewonly\"\n [data-test-id]=\"testId\"\n [isDisabled]=\"isLabelDisabled\"\n [control]=\"control\"\n></qd-form-label>\n\n<ng-container *ngIf=\"!readonly && !viewonly\">\n <qd-checkbox-chips-item\n *ngFor=\"let option of options; let index = index\"\n [data]=\"option\"\n [data-test-id]=\"testId + '-item-' + index\"\n (click)=\"handleClick(index)\"\n >\n </qd-checkbox-chips-item>\n</ng-container>\n\n<qd-form-hint\n *ngIf=\"!readonly && !viewonly && (hint || hasError)\"\n [hint]=\"hint\"\n [control]=\"control\"\n [hasError]=\"hasError\"\n [hintAction]=\"hintAction\"\n [data-test-id]=\"testId\"\n></qd-form-hint>\n\n<qd-form-readonly\n *ngIf=\"readonly\"\n [values]=\"selectedTranslations\"\n [readonlyAction]=\"readonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-readonly>\n\n<qd-form-viewonly\n *ngIf=\"viewonly\"\n [values]=\"selectedTranslations\"\n [viewonlyAction]=\"viewonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-viewonly>\n", styles: [".qd-checkbox-chips{display:block;margin-bottom:.75rem}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item{border-color:#d5d5d5;color:#d5d5d5;cursor:default;pointer-events:none}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item.active{background:#d5d5d5}.qd-checkbox-chips.qd-form-disabled qd-checkbox-chips-item .indicator.checked{color:#d5d5d5!important}\n"] }]
|
|
214
214
|
}], ctorParameters: () => [{ type: i1.QdCheckboxChipsService, decorators: [{
|
|
215
215
|
type: Self
|
|
216
216
|
}] }, { type: i2.QdFormsActionEmitterService, decorators: [{
|
|
@@ -247,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
247
247
|
type: HostBinding,
|
|
248
248
|
args: ['class.qd-form-error']
|
|
249
249
|
}] } });
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL2Zvcm1zL2NoZWNrYm94LWNoaXBzL2NoZWNrYm94LWNoaXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9mb3Jtcy9jaGVja2JveC1jaGlwcy9jaGVja2JveC1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosUUFBUSxFQUNSLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLGdCQUFnQixFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsT0FBTyxFQUNQLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLFFBQVEsRUFDUixVQUFVLEVBQ1YsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2xCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7OztBQUVoRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dB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STs7MEJBQUksUUFBUTs7MEJBQzVCLFFBQVE7eUNBcEZGLGVBQWU7c0JBQXZCLEtBQUs7Z0JBZ0JHLE1BQU07c0JBQWQsS0FBSztnQkFRRyxNQUFNO3NCQUFkLEtBQUs7Z0JBTWlCLE1BQU07c0JBQTVCLEtBQUs7dUJBQUMsY0FBYztnQkFLRixZQUFZO3NCQUE5QixNQUFNO2dCQUtZLFNBQVM7c0JBQTNCLE1BQU07Z0JBS1ksYUFBYTtzQkFBL0IsTUFBTTtnQkFLWSxhQUFhO3NCQUEvQixNQUFNO2dCQUdQLFFBQVE7c0JBRFAsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBSWpDLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtc3RyaWN0LWlnbm9yZVxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgU2tpcFNlbGYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb24sIFFkSGludGkxOG4sIFFkTGFiZWxpMThuIH0gZnJvbSAnLi4vbW9kZWwvZm9ybXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkRm9ybUNvbnRyb2wgfSBmcm9tICcuLi9yZWFjdGl2ZS1mb3Jtcy9jb250cm9scy9mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHtcbiAgZ2V0RGlzYWJsZWQsXG4gIGdldEhpbnQsXG4gIGdldEhpbnRBY3Rpb24sXG4gIGdldElzSGludERpc2FibGVkLFxuICBnZXRJc0xhYmVsRGlzYWJsZWQsXG4gIGdldExhYmVsLFxuICBnZXRPcHRpb25zLFxuICBnZXRSZWFkb25seSxcbiAgZ2V0UmVhZG9ubHlBY3Rpb24sXG4gIGdldFZpZXdvbmx5LFxuICBnZXRWaWV3b25seUFjdGlvblxufSBmcm9tICcuLi9zaGFyZWQvaGVscGVycy9mb3Jtcy5oZWxwZXJzJztcbmltcG9ydCB7IFFkRm9ybXNBY3Rpb25FbWl0dGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZXJ2aWNlcy9hY3Rpb24tZW1pdHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFFkQ2hlY2tib3hDaGlwc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NoZWNrYm94LWNoaXBzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRFdmVudEJyb2tlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2V2ZW50LWJyb2tlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBUaGUgKipRZENoZWNrYm94Q2hpcHMqKiBpcyBhIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGEgY2hlY2tib3ggY2hpcCBmdW5jdGlvbmFsaXR5LjxiciAvPlxuICogSXQgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBncm91cCBvZiBjaGVja2JveGVzIGluIHRoZSBmb3JtIG9mIGNoaXBzLCB0aGF0IHJlcHJlc2VudCBhIGNob2ljZSBvciBzZWxlY3Rpb24uIEl0IGNhbiBiZSB1c2VkIHdpdGggUXVhZHJlbCBSZWFjdGl2ZSBGb3JtcyBvciB3aXRoIG1vZGVsIGJpbmRpbmcuXG4gKlxuICogIyMjIyoqVXNhZ2Ugd2l0aCBSZWFjdGl2ZSBGb3JtcyoqXG4gKlxuICogYGBgdHNcbiAqIGZvcm0gPSBuZXcgUWRGb3JtR3JvdXAoe1xuICogICBjaGVja2JveENoaXBzOiBuZXcgUWRGb3JtQ29udHJvbCgpXG4gKiB9KTtcbiAqIGBgYFxuICogYGBgaHRtbFxuICogPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gKiAgIDxxZC1jaGVja2JveC1jaGlwcyBbZm9ybUNvbnRyb2xOYW1lXT1cImNoZWNrYm94Q2hpcHNcIiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvcWQtY2hlY2tib3gtY2hpcHM+XG4gKiA8L2Zvcm0+XG4gKiBgYGBcbiAqXG4gKiAjIyMjKipVc2FnZSB3aXRoIE1vZGVsIEJpbmRpbmcqKlxuICogYGBgdHNcbiAqIHZhbHVlcztcbiAqIGBgYFxuICogYGBgaHRtbFxuICogPHFkLWNoZWNrYm94LWNoaXBzIFsodmFsdWVzKV09XCJ2YWx1ZXNcIiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvcWQtY2hlY2tib3gtY2hpcHM+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncWQtY2hlY2tib3gtY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1jaGlwcy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAncWQtY2hlY2tib3gtY2hpcHMnIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIFFkRm9ybXNBY3Rpb25FbWl0dGVyU2VydmljZSxcbiAgICBRZENoZWNrYm94Q2hpcHNTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IFFkQ2hlY2tib3hDaGlwc0NvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFFkQ2hlY2tib3hDaGlwc0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBmb3JtIGNvbnRyb2wgbmFtZSBjYW4gYmUgYXNzaWduZWQgaGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgUmVhY3RpdmUgRm9ybXMuXG4gICAqL1xuICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZm9ybSBpdGVtXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHtcbiAgICogICBsYWJlbDogeyBpMThuOiAnbXktbGFiZWwnIH0sXG4gICAqICAgaGludDogeyBpMThuOiAnbXktaGludCcgfSxcbiAgICogICBvcHRpb25zOiBbXG4gICAqICAgICB7IGkxOG46ICdpMThuLnFkLmV4YW1wbGVGb3JtRmllbGQuZ29vZHNEZWNsYXJhdGlvbi5pbXBvcnQnLCB2YWx1ZTogJ2ltcG9ydCcgfSxcbiAgICogICAgIHsgaTE4bjogJ2kxOG4ucWQuZXhhbXBsZUZvcm1GaWVsZC5nb29kc0RlY2xhcmF0aW9uLmV4cG9ydCcsIHZhbHVlOiAnZXhwb3J0JyB9LFxuICAgKiAgICAgeyBpMThuOiAnaTE4bi5xZC5leGFtcGxlRm9ybUZpZWxkLmdvb2RzRGVjbGFyYXRpb24udHJhbnNpdCcsIHZhbHVlOiAndHJhbnNpdCcgfVxuICAgKiAgIF1cbiAgICogfTtcbiAgICovXG4gIEBJbnB1dCgpIGNvbmZpZzogUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGZvcm0gaXRlbSB2YWx1ZXMsIGlmIHlvdSBhcmUgd29ya2luZyB3aXRoIE1vZGVsIEJpbmRpbmcuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDxxZC1jaGVja2JveGVzIFsodmFsdWVzKV09XCJjaGVja2JveEdyb3VwVmFsdWVcIiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvcWQtY2hlY2tib3hlcz5cbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgc3RhdGljIHRlc3QgSUQgZm9yIGludGVncmF0aW9uIHRlc3RzIGNhbiBiZSBzZXQuIDxiciAvPlxuICAgKiBUaGUgdmFsdWUgZm9yIHRoZSBIVE1MIGF0dHJpYnV0ZSBbZGF0YS10ZXN0LWlkXS5cbiAgICovXG4gIEBJbnB1dCgnZGF0YS10ZXN0LWlkJykgdGVzdElkID0gJ2NoZWNrYm94LWNoaXBzJztcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiB0aGUgdmFsdWVzIGNoYW5nZS4gUmV0dXJuIHZhbHVlcyBtYXRjaCB0aGUgY3VycmVudCB2YWx1ZXMuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiB0aGUgaGludCBpcyBjbGlja2VkL3RhcHBlZC4gYGhpbnRBY3Rpb25gIG11c3QgYmUgc2V0IHRvIGB0cnVlYCBmb3IgdGhpcy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbGlja0hpbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGV2ZW50IHdoZW4gYSByZWFkb25seSB2YWx1ZSBpcyBjbGlja2VkL3RhcHBlZC4gYGNsaWNrUmVhZG9ubHkgYCBtdXN0IGJlIHNldCB0byBgdHJ1ZWAgZm9yIHRoaXMuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xpY2tSZWFkb25seSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiBhIHZpZXdvbmx5IHZhbHVlIGlzIGNsaWNrZWQvdGFwcGVkLiBgY2xpY2tWaWV3b25seSBgIG11c3QgYmUgc2V0IHRvIGB0cnVlYCBmb3IgdGhpcy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbGlja1ZpZXdvbmx5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtZm9ybS1kaXNhYmxlZCcpXG4gIGRpc2FibGVkOiBRZEZvcm1DaGVja2JveENoaXBzQ29uZmlndXJhdGlvblsnZGlzYWJsZWQnXSA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtZm9ybS1lcnJvcicpXG4gIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLnRvdWNoZWQgJiYgdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZFRyYW5zbGF0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tib3hDaGlwc1NlcnZpY2UuZ2V0U2VsZWN0ZWRUcmFuc2xhdGlvbnModGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IFFkRm9ybUNvbnRyb2w8YW55PjtcbiAgbGFiZWw6IFFkTGFiZWxpMThuO1xuICBoaW50OiBRZEhpbnRpMThuO1xuICByZWFkb25seTogUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb25bJ3JlYWRvbmx5J107XG4gIHZpZXdvbmx5OiBRZEZvcm1DaGVja2JveENoaXBzQ29uZmlndXJhdGlvblsndmlld29ubHknXTtcbiAgaGludEFjdGlvbjogUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb25bJ2hpbnRBY3Rpb24nXTtcbiAgcmVhZG9ubHlBY3Rpb246IFFkRm9ybUNoZWNrYm94Q2hpcHNDb25maWd1cmF0aW9uWydyZWFkb25seUFjdGlvbiddO1xuICB2aWV3b25seUFjdGlvbjogUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb25bJ3ZpZXdvbmx5QWN0aW9uJ107XG4gIG9wdGlvbnM6IFFkRm9ybUNoZWNrYm94Q2hpcHNDb25maWd1cmF0aW9uWydvcHRpb25zJ107XG4gIGlzTGFiZWxEaXNhYmxlZDogYm9vbGVhbjtcbiAgaXNIaW50RGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIHByaXZhdGUgY2hlY2tib3hDaGlwc1NlcnZpY2U6IFFkQ2hlY2tib3hDaGlwc1NlcnZpY2UsXG4gICAgQFNlbGYoKSBwcml2YXRlIGFjdGlvbkVtaXR0ZXJTZXJ2aWNlOiBRZEZvcm1zQWN0aW9uRW1pdHRlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBldmVudEJyb2tlclNlcnZpY2U6IFFkRXZlbnRCcm9rZXJTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvbmZpZ3VyYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmNvbnRyb2xDb250YWluZXIpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbC5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICghKHRoaXMuY29udHJvbCBpbnN0YW5jZW9mIFFkRm9ybUNvbnRyb2wpKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgJ1FELVVJIHwgUWRDaGVja2JveENoaXBzQ29tcG9uZW50IC0gUGxlYXNlIHVzZSB0aGUgUWRGb3JtQ29udHJvbCBpbnN0ZWFkIG9mIHRoZSBBbmd1bGFyIEZvcm1Db250cm9sJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnUUQtVUkgfCBRZENoZWNrYm94Q2hpcHNDb21wb25lbnQgLSBNaXNzaW5nIEZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgZnJvbSBob3N0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudCdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9zdWJzLmFkZCh0aGlzLmFjdGlvbkVtaXR0ZXJTZXJ2aWNlLmhpbnRFdmVudEVtaXR0ZXIkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsaWNrSGludC5lbWl0KCkpKTtcbiAgICB0aGlzLl9zdWJzLmFkZCh0aGlzLmFjdGlvbkVtaXR0ZXJTZXJ2aWNlLnJlYWRvbmx5RXZlbnRFbWl0dGVyJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbGlja1JlYWRvbmx5LmVtaXQoKSkpO1xuICAgIHRoaXMuX3N1YnMuYWRkKHRoaXMuYWN0aW9uRW1pdHRlclNlcnZpY2Uudmlld29ubHlFdmVudEVtaXR0ZXIkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsaWNrVmlld29ubHkuZW1pdCgpKSk7XG4gICAgdGhpcy5fc3Vicy5hZGQodGhpcy5pbml0T3BNb2RlU3Vic2NyaXB0aW9uKCkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkgdGhpcy51cGRhdGVDb25maWd1cmF0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZSk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY2hlY2tib3hDaGlwc1NlcnZpY2Uuc2V0T3B0aW9uc0J5VmFsdWVzKHRoaXMub3B0aW9ucywgdmFsdWUpO1xuICAgIHRoaXMudmFsdWVzID0gdGhpcy5jaGVja2JveENoaXBzU2VydmljZS5nZXRWYWx1ZXModGhpcy5jb25maWcub3B0aW9ucyk7XG4gIH1cblxuICBoYW5kbGVDbGljayhpbmRleCk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY2hlY2tib3hDaGlwc1NlcnZpY2UudXBkYXRlT3B0aW9ucyh0aGlzLm9wdGlvbnMsIGluZGV4KTtcbiAgICB0aGlzLnZhbHVlcyA9IHRoaXMuY2hlY2tib3hDaGlwc1NlcnZpY2UuZ2V0VmFsdWVzKHRoaXMub3B0aW9ucyk7XG5cbiAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlcyk7XG4gICAgdGhpcy5fb25Ub3VjaCh0aGlzLnZhbHVlcyk7XG5cbiAgICB0aGlzLnZhbHVlc0NoYW5nZS5lbWl0KHRoaXMudmFsdWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29uZmlndXJhdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsID0gZ2V0TGFiZWwodGhpcy5jb25maWcpO1xuICAgIHRoaXMuaGludCA9IGdldEhpbnQodGhpcy5jb25maWcpO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBnZXREaXNhYmxlZCh0aGlzLmNvbmZpZykgfHwgISF0aGlzLmNvbnRyb2w/LmRpc2FibGVkO1xuICAgIHRoaXMucmVhZG9ubHkgPSBnZXRSZWFkb25seSh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy52aWV3b25seSA9IGdldFZpZXdvbmx5KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmhpbnRBY3Rpb24gPSBnZXRIaW50QWN0aW9uKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLnJlYWRvbmx5QWN0aW9uID0gZ2V0UmVhZG9ubHlBY3Rpb24odGhpcy5jb25maWcpO1xuICAgIHRoaXMudmlld29ubHlBY3Rpb24gPSBnZXRWaWV3b25seUFjdGlvbih0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5vcHRpb25zID0gZ2V0T3B0aW9ucyh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5pc0xhYmVsRGlzYWJsZWQgPSBnZXRJc0xhYmVsRGlzYWJsZWQodGhpcy5jb25maWcpO1xuICAgIHRoaXMuaXNIaW50RGlzYWJsZWQgPSBnZXRJc0hpbnREaXNhYmxlZCh0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGluaXRPcE1vZGVTdWJzY3JpcHRpb24oKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKCF0aGlzLmV2ZW50QnJva2VyU2VydmljZSkgcmV0dXJuO1xuXG4gICAgcmV0dXJuIHRoaXMuZXZlbnRCcm9rZXJTZXJ2aWNlLmNvbnN1bWU8eyBpc1ZpZXdvbmx5OiBib29sZWFuIH0+KCdvcGVyYXRpb25fbW9kZV9jaGFuZ2VkJykuc3Vic2NyaWJlKHRvcGljID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcudmlld29ubHkgPT09ICdib29sZWFuJykgcmV0dXJuO1xuXG4gICAgICB0aGlzLnZpZXdvbmx5ID0gZ2V0Vmlld29ubHkodGhpcy5jb25maWcsIHRvcGljLnBheWxvYWQuaXNWaWV3b25seSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxxZC1mb3JtLWxhYmVsXG4gIFtsYWJlbF09XCJsYWJlbFwiXG4gIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gIFt2aWV3b25seV09XCJ2aWV3b25seVwiXG4gIFtkYXRhLXRlc3QtaWRdPVwidGVzdElkXCJcbiAgW2lzRGlzYWJsZWRdPVwiaXNMYWJlbERpc2FibGVkXCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbFwiXG4+PC9xZC1mb3JtLWxhYmVsPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIXJlYWRvbmx5ICYmICF2aWV3b25seVwiPlxuICA8cWQtY2hlY2tib3gtY2hpcHMtaXRlbVxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgIFtkYXRhXT1cIm9wdGlvblwiXG4gICAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWQgKyAnLWl0ZW0tJyArIGluZGV4XCJcbiAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soaW5kZXgpXCJcbiAgPlxuICA8L3FkLWNoZWNrYm94LWNoaXBzLWl0ZW0+XG48L25nLWNvbnRhaW5lcj5cblxuPHFkLWZvcm0taGludFxuICAqbmdJZj1cIiFyZWFkb25seSAmJiAhdmlld29ubHlcIlxuICBbaGludF09XCJoaW50XCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbFwiXG4gIFtoYXNFcnJvcl09XCJoYXNFcnJvclwiXG4gIFtoaW50QWN0aW9uXT1cImhpbnRBY3Rpb25cIlxuICBbZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiXG4+PC9xZC1mb3JtLWhpbnQ+XG5cbjxxZC1mb3JtLXJlYWRvbmx5XG4gICpuZ0lmPVwicmVhZG9ubHlcIlxuICBbdmFsdWVzXT1cInNlbGVjdGVkVHJhbnNsYXRpb25zXCJcbiAgW3JlYWRvbmx5QWN0aW9uXT1cInJlYWRvbmx5QWN0aW9uXCJcbiAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIlxuPjwvcWQtZm9ybS1yZWFkb25seT5cblxuPHFkLWZvcm0tdmlld29ubHlcbiAgKm5nSWY9XCJ2aWV3b25seVwiXG4gIFt2YWx1ZXNdPVwic2VsZWN0ZWRUcmFuc2xhdGlvbnNcIlxuICBbdmlld29ubHlBY3Rpb25dPVwidmlld29ubHlBY3Rpb25cIlxuICBbZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiXG4+PC9xZC1mb3JtLXZpZXdvbmx5PlxuIl19
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL2Zvcm1zL2NoZWNrYm94LWNoaXBzL2NoZWNrYm94LWNoaXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9mb3Jtcy9jaGVja2JveC1jaGlwcy9jaGVja2JveC1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osSUFBSSxFQUNKLFdBQVcsRUFDWCxLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBRUosUUFBUSxFQUNSLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLGdCQUFnQixFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsT0FBTyxFQUNQLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLFFBQVEsRUFDUixVQUFVLEVBQ1YsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2xCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7OztBQUVoRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dB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STs7MEJBQUksUUFBUTs7MEJBQzVCLFFBQVE7eUNBcEZGLGVBQWU7c0JBQXZCLEtBQUs7Z0JBZ0JHLE1BQU07c0JBQWQsS0FBSztnQkFRRyxNQUFNO3NCQUFkLEtBQUs7Z0JBTWlCLE1BQU07c0JBQTVCLEtBQUs7dUJBQUMsY0FBYztnQkFLRixZQUFZO3NCQUE5QixNQUFNO2dCQUtZLFNBQVM7c0JBQTNCLE1BQU07Z0JBS1ksYUFBYTtzQkFBL0IsTUFBTTtnQkFLWSxhQUFhO3NCQUEvQixNQUFNO2dCQUdQLFFBQVE7c0JBRFAsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBSWpDLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtc3RyaWN0LWlnbm9yZVxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgU2tpcFNlbGYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb24sIFFkSGludGkxOG4sIFFkTGFiZWxpMThuIH0gZnJvbSAnLi4vbW9kZWwvZm9ybXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFFkRm9ybUNvbnRyb2wgfSBmcm9tICcuLi9yZWFjdGl2ZS1mb3Jtcy9jb250cm9scy9mb3JtLWNvbnRyb2wnO1xuaW1wb3J0IHtcbiAgZ2V0RGlzYWJsZWQsXG4gIGdldEhpbnQsXG4gIGdldEhpbnRBY3Rpb24sXG4gIGdldElzSGludERpc2FibGVkLFxuICBnZXRJc0xhYmVsRGlzYWJsZWQsXG4gIGdldExhYmVsLFxuICBnZXRPcHRpb25zLFxuICBnZXRSZWFkb25seSxcbiAgZ2V0UmVhZG9ubHlBY3Rpb24sXG4gIGdldFZpZXdvbmx5LFxuICBnZXRWaWV3b25seUFjdGlvblxufSBmcm9tICcuLi9zaGFyZWQvaGVscGVycy9mb3Jtcy5oZWxwZXJzJztcbmltcG9ydCB7IFFkRm9ybXNBY3Rpb25FbWl0dGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZXJ2aWNlcy9hY3Rpb24tZW1pdHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFFkQ2hlY2tib3hDaGlwc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NoZWNrYm94LWNoaXBzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRFdmVudEJyb2tlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2V2ZW50LWJyb2tlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBUaGUgKipRZENoZWNrYm94Q2hpcHMqKiBpcyBhIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGEgY2hlY2tib3ggY2hpcCBmdW5jdGlvbmFsaXR5LjxiciAvPlxuICogSXQgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBncm91cCBvZiBjaGVja2JveGVzIGluIHRoZSBmb3JtIG9mIGNoaXBzLCB0aGF0IHJlcHJlc2VudCBhIGNob2ljZSBvciBzZWxlY3Rpb24uIEl0IGNhbiBiZSB1c2VkIHdpdGggUXVhZHJlbCBSZWFjdGl2ZSBGb3JtcyBvciB3aXRoIG1vZGVsIGJpbmRpbmcuXG4gKlxuICogIyMjIyoqVXNhZ2Ugd2l0aCBSZWFjdGl2ZSBGb3JtcyoqXG4gKlxuICogYGBgdHNcbiAqIGZvcm0gPSBuZXcgUWRGb3JtR3JvdXAoe1xuICogICBjaGVja2JveENoaXBzOiBuZXcgUWRGb3JtQ29udHJvbCgpXG4gKiB9KTtcbiAqIGBgYFxuICogYGBgaHRtbFxuICogPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gKiAgIDxxZC1jaGVja2JveC1jaGlwcyBbZm9ybUNvbnRyb2xOYW1lXT1cImNoZWNrYm94Q2hpcHNcIiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvcWQtY2hlY2tib3gtY2hpcHM+XG4gKiA8L2Zvcm0+XG4gKiBgYGBcbiAqXG4gKiAjIyMjKipVc2FnZSB3aXRoIE1vZGVsIEJpbmRpbmcqKlxuICogYGBgdHNcbiAqIHZhbHVlcztcbiAqIGBgYFxuICogYGBgaHRtbFxuICogPHFkLWNoZWNrYm94LWNoaXBzIFsodmFsdWVzKV09XCJ2YWx1ZXNcIiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvcWQtY2hlY2tib3gtY2hpcHM+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncWQtY2hlY2tib3gtY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1jaGlwcy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAncWQtY2hlY2tib3gtY2hpcHMnIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIFFkRm9ybXNBY3Rpb25FbWl0dGVyU2VydmljZSxcbiAgICBRZENoZWNrYm94Q2hpcHNTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IFFkQ2hlY2tib3hDaGlwc0NvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFFkQ2hlY2tib3hDaGlwc0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBmb3JtIGNvbnRyb2wgbmFtZSBjYW4gYmUgYXNzaWduZWQgaGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgUmVhY3RpdmUgRm9ybXMuXG4gICAqL1xuICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZm9ybSBpdGVtXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHtcbiAgICogICBsYWJlbDogeyBpMThuOiAnbXktbGFiZWwnIH0sXG4gICAqICAgaGludDogeyBpMThuOiAnbXktaGludCcgfSxcbiAgICogICBvcHRpb25zOiBbXG4gICAqICAgICB7IGkxOG46ICdpMThuLnFkLmV4YW1wbGVGb3JtRmllbGQuZ29vZHNEZWNsYXJhdGlvbi5pbXBvcnQnLCB2YWx1ZTogJ2ltcG9ydCcgfSxcbiAgICogICAgIHsgaTE4bjogJ2kxOG4ucWQuZXhhbXBsZUZvcm1GaWVsZC5nb29kc0RlY2xhcmF0aW9uLmV4cG9ydCcsIHZhbHVlOiAnZXhwb3J0JyB9LFxuICAgKiAgICAgeyBpMThuOiAnaTE4bi5xZC5leGFtcGxlRm9ybUZpZWxkLmdvb2RzRGVjbGFyYXRpb24udHJhbnNpdCcsIHZhbHVlOiAndHJhbnNpdCcgfVxuICAgKiAgIF1cbiAgICogfTtcbiAgICovXG4gIEBJbnB1dCgpIGNvbmZpZzogUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGZvcm0gaXRlbSB2YWx1ZXMsIGlmIHlvdSBhcmUgd29ya2luZyB3aXRoIE1vZGVsIEJpbmRpbmcuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIDxxZC1jaGVja2JveGVzIFsodmFsdWVzKV09XCJjaGVja2JveEdyb3VwVmFsdWVcIiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvcWQtY2hlY2tib3hlcz5cbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgc3RhdGljIHRlc3QgSUQgZm9yIGludGVncmF0aW9uIHRlc3RzIGNhbiBiZSBzZXQuIDxiciAvPlxuICAgKiBUaGUgdmFsdWUgZm9yIHRoZSBIVE1MIGF0dHJpYnV0ZSBbZGF0YS10ZXN0LWlkXS5cbiAgICovXG4gIEBJbnB1dCgnZGF0YS10ZXN0LWlkJykgdGVzdElkID0gJ2NoZWNrYm94LWNoaXBzJztcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiB0aGUgdmFsdWVzIGNoYW5nZS4gUmV0dXJuIHZhbHVlcyBtYXRjaCB0aGUgY3VycmVudCB2YWx1ZXMuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiB0aGUgaGludCBpcyBjbGlja2VkL3RhcHBlZC4gYGhpbnRBY3Rpb25gIG11c3QgYmUgc2V0IHRvIGB0cnVlYCBmb3IgdGhpcy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbGlja0hpbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGV2ZW50IHdoZW4gYSByZWFkb25seSB2YWx1ZSBpcyBjbGlja2VkL3RhcHBlZC4gYGNsaWNrUmVhZG9ubHkgYCBtdXN0IGJlIHNldCB0byBgdHJ1ZWAgZm9yIHRoaXMuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xpY2tSZWFkb25seSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiBhIHZpZXdvbmx5IHZhbHVlIGlzIGNsaWNrZWQvdGFwcGVkLiBgY2xpY2tWaWV3b25seSBgIG11c3QgYmUgc2V0IHRvIGB0cnVlYCBmb3IgdGhpcy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbGlja1ZpZXdvbmx5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtZm9ybS1kaXNhYmxlZCcpXG4gIGRpc2FibGVkOiBRZEZvcm1DaGVja2JveENoaXBzQ29uZmlndXJhdGlvblsnZGlzYWJsZWQnXSA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtZm9ybS1lcnJvcicpXG4gIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sID8gdGhpcy5jb250cm9sLnRvdWNoZWQgJiYgdGhpcy5jb250cm9sLmludmFsaWQgOiBmYWxzZTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZFRyYW5zbGF0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tib3hDaGlwc1NlcnZpY2UuZ2V0U2VsZWN0ZWRUcmFuc2xhdGlvbnModGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IFFkRm9ybUNvbnRyb2w8YW55PjtcbiAgbGFiZWw6IFFkTGFiZWxpMThuO1xuICBoaW50OiBRZEhpbnRpMThuO1xuICByZWFkb25seTogUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb25bJ3JlYWRvbmx5J107XG4gIHZpZXdvbmx5OiBRZEZvcm1DaGVja2JveENoaXBzQ29uZmlndXJhdGlvblsndmlld29ubHknXTtcbiAgaGludEFjdGlvbjogUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb25bJ2hpbnRBY3Rpb24nXTtcbiAgcmVhZG9ubHlBY3Rpb246IFFkRm9ybUNoZWNrYm94Q2hpcHNDb25maWd1cmF0aW9uWydyZWFkb25seUFjdGlvbiddO1xuICB2aWV3b25seUFjdGlvbjogUWRGb3JtQ2hlY2tib3hDaGlwc0NvbmZpZ3VyYXRpb25bJ3ZpZXdvbmx5QWN0aW9uJ107XG4gIG9wdGlvbnM6IFFkRm9ybUNoZWNrYm94Q2hpcHNDb25maWd1cmF0aW9uWydvcHRpb25zJ107XG4gIGlzTGFiZWxEaXNhYmxlZDogYm9vbGVhbjtcbiAgaXNIaW50RGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIHByaXZhdGUgY2hlY2tib3hDaGlwc1NlcnZpY2U6IFFkQ2hlY2tib3hDaGlwc1NlcnZpY2UsXG4gICAgQFNlbGYoKSBwcml2YXRlIGFjdGlvbkVtaXR0ZXJTZXJ2aWNlOiBRZEZvcm1zQWN0aW9uRW1pdHRlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBldmVudEJyb2tlclNlcnZpY2U6IFFkRXZlbnRCcm9rZXJTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvbmZpZ3VyYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmNvbnRyb2xDb250YWluZXIpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbC5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICghKHRoaXMuY29udHJvbCBpbnN0YW5jZW9mIFFkRm9ybUNvbnRyb2wpKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgJ1FELVVJIHwgUWRDaGVja2JveENoaXBzQ29tcG9uZW50IC0gUGxlYXNlIHVzZSB0aGUgUWRGb3JtQ29udHJvbCBpbnN0ZWFkIG9mIHRoZSBBbmd1bGFyIEZvcm1Db250cm9sJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnUUQtVUkgfCBRZENoZWNrYm94Q2hpcHNDb21wb25lbnQgLSBNaXNzaW5nIEZvcm1Db250cm9sTmFtZSBkaXJlY3RpdmUgZnJvbSBob3N0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudCdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9zdWJzLmFkZCh0aGlzLmFjdGlvbkVtaXR0ZXJTZXJ2aWNlLmhpbnRFdmVudEVtaXR0ZXIkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsaWNrSGludC5lbWl0KCkpKTtcbiAgICB0aGlzLl9zdWJzLmFkZCh0aGlzLmFjdGlvbkVtaXR0ZXJTZXJ2aWNlLnJlYWRvbmx5RXZlbnRFbWl0dGVyJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbGlja1JlYWRvbmx5LmVtaXQoKSkpO1xuICAgIHRoaXMuX3N1YnMuYWRkKHRoaXMuYWN0aW9uRW1pdHRlclNlcnZpY2Uudmlld29ubHlFdmVudEVtaXR0ZXIkLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsaWNrVmlld29ubHkuZW1pdCgpKSk7XG4gICAgdGhpcy5fc3Vicy5hZGQodGhpcy5pbml0T3BNb2RlU3Vic2NyaXB0aW9uKCkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkgdGhpcy51cGRhdGVDb25maWd1cmF0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZSk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY2hlY2tib3hDaGlwc1NlcnZpY2Uuc2V0T3B0aW9uc0J5VmFsdWVzKHRoaXMub3B0aW9ucywgdmFsdWUpO1xuICAgIHRoaXMudmFsdWVzID0gdGhpcy5jaGVja2JveENoaXBzU2VydmljZS5nZXRWYWx1ZXModGhpcy5jb25maWcub3B0aW9ucyk7XG4gIH1cblxuICBoYW5kbGVDbGljayhpbmRleCk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY2hlY2tib3hDaGlwc1NlcnZpY2UudXBkYXRlT3B0aW9ucyh0aGlzLm9wdGlvbnMsIGluZGV4KTtcbiAgICB0aGlzLnZhbHVlcyA9IHRoaXMuY2hlY2tib3hDaGlwc1NlcnZpY2UuZ2V0VmFsdWVzKHRoaXMub3B0aW9ucyk7XG5cbiAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlcyk7XG4gICAgdGhpcy5fb25Ub3VjaCh0aGlzLnZhbHVlcyk7XG5cbiAgICB0aGlzLnZhbHVlc0NoYW5nZS5lbWl0KHRoaXMudmFsdWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29uZmlndXJhdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsID0gZ2V0TGFiZWwodGhpcy5jb25maWcpO1xuICAgIHRoaXMuaGludCA9IGdldEhpbnQodGhpcy5jb25maWcpO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBnZXREaXNhYmxlZCh0aGlzLmNvbmZpZykgfHwgISF0aGlzLmNvbnRyb2w/LmRpc2FibGVkO1xuICAgIHRoaXMucmVhZG9ubHkgPSBnZXRSZWFkb25seSh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy52aWV3b25seSA9IGdldFZpZXdvbmx5KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmhpbnRBY3Rpb24gPSBnZXRIaW50QWN0aW9uKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLnJlYWRvbmx5QWN0aW9uID0gZ2V0UmVhZG9ubHlBY3Rpb24odGhpcy5jb25maWcpO1xuICAgIHRoaXMudmlld29ubHlBY3Rpb24gPSBnZXRWaWV3b25seUFjdGlvbih0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5vcHRpb25zID0gZ2V0T3B0aW9ucyh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5pc0xhYmVsRGlzYWJsZWQgPSBnZXRJc0xhYmVsRGlzYWJsZWQodGhpcy5jb25maWcpO1xuICAgIHRoaXMuaXNIaW50RGlzYWJsZWQgPSBnZXRJc0hpbnREaXNhYmxlZCh0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGluaXRPcE1vZGVTdWJzY3JpcHRpb24oKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKCF0aGlzLmV2ZW50QnJva2VyU2VydmljZSkgcmV0dXJuO1xuXG4gICAgcmV0dXJuIHRoaXMuZXZlbnRCcm9rZXJTZXJ2aWNlLmNvbnN1bWU8eyBpc1ZpZXdvbmx5OiBib29sZWFuIH0+KCdvcGVyYXRpb25fbW9kZV9jaGFuZ2VkJykuc3Vic2NyaWJlKHRvcGljID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcudmlld29ubHkgPT09ICdib29sZWFuJykgcmV0dXJuO1xuXG4gICAgICB0aGlzLnZpZXdvbmx5ID0gZ2V0Vmlld29ubHkodGhpcy5jb25maWcsIHRvcGljLnBheWxvYWQuaXNWaWV3b25seSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxxZC1mb3JtLWxhYmVsXG4gIFtsYWJlbF09XCJsYWJlbFwiXG4gIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gIFt2aWV3b25seV09XCJ2aWV3b25seVwiXG4gIFtkYXRhLXRlc3QtaWRdPVwidGVzdElkXCJcbiAgW2lzRGlzYWJsZWRdPVwiaXNMYWJlbERpc2FibGVkXCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbFwiXG4+PC9xZC1mb3JtLWxhYmVsPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIXJlYWRvbmx5ICYmICF2aWV3b25seVwiPlxuICA8cWQtY2hlY2tib3gtY2hpcHMtaXRlbVxuICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgIFtkYXRhXT1cIm9wdGlvblwiXG4gICAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWQgKyAnLWl0ZW0tJyArIGluZGV4XCJcbiAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soaW5kZXgpXCJcbiAgPlxuICA8L3FkLWNoZWNrYm94LWNoaXBzLWl0ZW0+XG48L25nLWNvbnRhaW5lcj5cblxuPHFkLWZvcm0taGludFxuICAqbmdJZj1cIiFyZWFkb25seSAmJiAhdmlld29ubHkgJiYgKGhpbnQgfHwgaGFzRXJyb3IpXCJcbiAgW2hpbnRdPVwiaGludFwiXG4gIFtjb250cm9sXT1cImNvbnRyb2xcIlxuICBbaGFzRXJyb3JdPVwiaGFzRXJyb3JcIlxuICBbaGludEFjdGlvbl09XCJoaW50QWN0aW9uXCJcbiAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIlxuPjwvcWQtZm9ybS1oaW50PlxuXG48cWQtZm9ybS1yZWFkb25seVxuICAqbmdJZj1cInJlYWRvbmx5XCJcbiAgW3ZhbHVlc109XCJzZWxlY3RlZFRyYW5zbGF0aW9uc1wiXG4gIFtyZWFkb25seUFjdGlvbl09XCJyZWFkb25seUFjdGlvblwiXG4gIFtkYXRhLXRlc3QtaWRdPVwidGVzdElkXCJcbj48L3FkLWZvcm0tcmVhZG9ubHk+XG5cbjxxZC1mb3JtLXZpZXdvbmx5XG4gICpuZ0lmPVwidmlld29ubHlcIlxuICBbdmFsdWVzXT1cInNlbGVjdGVkVHJhbnNsYXRpb25zXCJcbiAgW3ZpZXdvbmx5QWN0aW9uXT1cInZpZXdvbmx5QWN0aW9uXCJcbiAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIlxuPjwvcWQtZm9ybS12aWV3b25seT5cbiJdfQ==
|
|
@@ -273,7 +273,7 @@ export class QdCheckboxesComponent {
|
|
|
273
273
|
},
|
|
274
274
|
QdCheckboxesService,
|
|
275
275
|
QdFormsActionEmitterService
|
|
276
|
-
], viewQueries: [{ propertyName: "checkboxes", predicate: QdCheckboxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<qd-form-label\n [label]=\"label\"\n [readonly]=\"readonly\"\n [viewonly]=\"viewonly\"\n [control]=\"control\"\n [tooltip]=\"config?.tooltip\"\n [data-test-id]=\"testId\"\n [isDisabled]=\"isLabelDisabled\"\n></qd-form-label>\n\n<div class=\"qd-checkboxes__input-section\" *ngIf=\"!readonly && !viewonly\">\n <qd-filter-form-items\n *ngIf=\"filter\"\n (filterValueChange)=\"changeValue($event)\"\n [data-test-id]=\"testId + '-filter-form'\"\n ></qd-filter-form-items>\n\n <div class=\"qd-checkboxes__checkbox-section\">\n <qd-checkbox\n *ngFor=\"let checkbox of checkboxesListForView\"\n [inputData]=\"checkbox\"\n [(value)]=\"checkboxesValues[checkbox.index]\"\n [disabled]=\"checkbox.disabled || disabled\"\n (click)=\"handleClick(checkbox)\"\n [data-test-id]=\"testId + '-checkbox-' + checkbox.index\"\n ></qd-checkbox>\n </div>\n</div>\n\n<qd-form-hint\n *ngIf=\"!readonly && !viewonly\"\n [hint]=\"hint\"\n [control]=\"control\"\n [hasError]=\"hasError\"\n [hintAction]=\"hintAction\"\n [data-test-id]=\"testId\"\n></qd-form-hint>\n\n<qd-form-readonly\n *ngIf=\"readonly\"\n [values]=\"selectedValuesTranslated\"\n [readonlyAction]=\"readonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-readonly>\n\n<qd-form-viewonly\n *ngIf=\"viewonly\"\n [values]=\"selectedValuesTranslated\"\n [viewonlyAction]=\"viewonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-viewonly>\n", styles: [".qd-checkboxes{display:block;margin-bottom:.75rem}@media (max-width: 959.98px){.qd-checkboxes{height:initial}}.qd-checkboxes .qd-checkboxes__input-section{display:block;flex-direction:column;margin-bottom:.3125rem}.qd-checkboxes .qd-checkboxes__checkbox-section{display:flex;min-height:2.25rem;flex-direction:row}@media (max-width: 959.98px){.qd-checkboxes .qd-checkboxes__checkbox-section{height:initial;flex-direction:column}}.qd-checkboxes.qd-checkboxes-vertical .qd-checkboxes__checkbox-section{display:flex;flex-direction:column}.qd-checkboxes.qd-checkboxes-vertical .qd-checkboxes__checkbox-section .qd-checkbox:not(:last-child){margin-bottom:.5rem}.qd-checkboxes.qd-checkboxes-disabled{pointer-events:none}.qd-checkboxes-readonly .qd-checkboxes__input-section{font-size:.875rem;line-height:2.25rem}.qd-checkboxes--readonly-action .qd-checkboxes__input-section{color:#069;cursor:pointer}.qd-checkboxes--readonly-action .qd-checkboxes__input-section:hover,.qd-checkboxes--readonly-action .qd-checkboxes__input-section:active,.qd-checkboxes--readonly-action .qd-checkboxes__input-section:focus{text-decoration:underline}.qd-checkboxes-viewonly .qd-checkboxes__input-section{font-size:.875rem;line-height:2.25rem}.qd-checkboxes--viewonly-action .qd-checkboxes__input-section{color:#069;cursor:pointer}.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:hover,.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:active,.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:focus{text-decoration:underline}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.QdCheckboxComponent, selector: "qd-checkbox", inputs: ["inputData", "value", "data-test-id", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: i7.QdFilterFormItemsComponent, selector: "qd-filter-form-items", inputs: ["inputFilterValue", "data-test-id"], outputs: ["filterValueChange"] }, { kind: "component", type: i8.QdFormHintComponent, selector: "qd-form-hint", inputs: ["hint", "control", "hasError", "hintAction", "data-test-id"] }, { kind: "component", type: i9.QdFormLabelComponent, selector: "qd-form-label", inputs: ["label", "isDisabled", "readonly", "viewonly", "control", "tooltip", "data-test-id"] }, { kind: "component", type: i10.QdFormReadonlyComponent, selector: "qd-form-readonly", inputs: ["values", "readonlyAction", "data-test-id"] }, { kind: "component", type: i11.QdFormViewonlyComponent, selector: "qd-form-viewonly", inputs: ["values", "viewonlyAction", "data-test-id"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
276
|
+
], viewQueries: [{ propertyName: "checkboxes", predicate: QdCheckboxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<qd-form-label\n [label]=\"label\"\n [readonly]=\"readonly\"\n [viewonly]=\"viewonly\"\n [control]=\"control\"\n [tooltip]=\"config?.tooltip\"\n [data-test-id]=\"testId\"\n [isDisabled]=\"isLabelDisabled\"\n></qd-form-label>\n\n<div class=\"qd-checkboxes__input-section\" *ngIf=\"!readonly && !viewonly\">\n <qd-filter-form-items\n *ngIf=\"filter\"\n (filterValueChange)=\"changeValue($event)\"\n [data-test-id]=\"testId + '-filter-form'\"\n ></qd-filter-form-items>\n\n <div class=\"qd-checkboxes__checkbox-section\">\n <qd-checkbox\n *ngFor=\"let checkbox of checkboxesListForView\"\n [inputData]=\"checkbox\"\n [(value)]=\"checkboxesValues[checkbox.index]\"\n [disabled]=\"checkbox.disabled || disabled\"\n (click)=\"handleClick(checkbox)\"\n [data-test-id]=\"testId + '-checkbox-' + checkbox.index\"\n ></qd-checkbox>\n </div>\n</div>\n\n<qd-form-hint\n *ngIf=\"!readonly && !viewonly && (hint || hasError)\"\n [hint]=\"hint\"\n [control]=\"control\"\n [hasError]=\"hasError\"\n [hintAction]=\"hintAction\"\n [data-test-id]=\"testId\"\n></qd-form-hint>\n\n<qd-form-readonly\n *ngIf=\"readonly\"\n [values]=\"selectedValuesTranslated\"\n [readonlyAction]=\"readonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-readonly>\n\n<qd-form-viewonly\n *ngIf=\"viewonly\"\n [values]=\"selectedValuesTranslated\"\n [viewonlyAction]=\"viewonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-viewonly>\n", styles: [".qd-checkboxes{display:block;margin-bottom:.75rem}@media (max-width: 959.98px){.qd-checkboxes{height:initial}}.qd-checkboxes .qd-checkboxes__input-section{display:block;flex-direction:column;margin-bottom:.3125rem}.qd-checkboxes .qd-checkboxes__checkbox-section{display:flex;min-height:2.25rem;flex-direction:row}@media (max-width: 959.98px){.qd-checkboxes .qd-checkboxes__checkbox-section{height:initial;flex-direction:column}}.qd-checkboxes.qd-checkboxes-vertical .qd-checkboxes__checkbox-section{display:flex;flex-direction:column}.qd-checkboxes.qd-checkboxes-vertical .qd-checkboxes__checkbox-section .qd-checkbox:not(:last-child){margin-bottom:.5rem}.qd-checkboxes.qd-checkboxes-disabled{pointer-events:none}.qd-checkboxes-readonly .qd-checkboxes__input-section{font-size:.875rem;line-height:2.25rem}.qd-checkboxes--readonly-action .qd-checkboxes__input-section{color:#069;cursor:pointer}.qd-checkboxes--readonly-action .qd-checkboxes__input-section:hover,.qd-checkboxes--readonly-action .qd-checkboxes__input-section:active,.qd-checkboxes--readonly-action .qd-checkboxes__input-section:focus{text-decoration:underline}.qd-checkboxes-viewonly .qd-checkboxes__input-section{font-size:.875rem;line-height:2.25rem}.qd-checkboxes--viewonly-action .qd-checkboxes__input-section{color:#069;cursor:pointer}.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:hover,.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:active,.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:focus{text-decoration:underline}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.QdCheckboxComponent, selector: "qd-checkbox", inputs: ["inputData", "value", "data-test-id", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: i7.QdFilterFormItemsComponent, selector: "qd-filter-form-items", inputs: ["inputFilterValue", "data-test-id"], outputs: ["filterValueChange"] }, { kind: "component", type: i8.QdFormHintComponent, selector: "qd-form-hint", inputs: ["hint", "control", "hasError", "hintAction", "data-test-id"] }, { kind: "component", type: i9.QdFormLabelComponent, selector: "qd-form-label", inputs: ["label", "isDisabled", "readonly", "viewonly", "control", "tooltip", "data-test-id"] }, { kind: "component", type: i10.QdFormReadonlyComponent, selector: "qd-form-readonly", inputs: ["values", "readonlyAction", "data-test-id"] }, { kind: "component", type: i11.QdFormViewonlyComponent, selector: "qd-form-viewonly", inputs: ["values", "viewonlyAction", "data-test-id"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
277
277
|
}
|
|
278
278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdCheckboxesComponent, decorators: [{
|
|
279
279
|
type: Component,
|
|
@@ -285,7 +285,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
285
285
|
},
|
|
286
286
|
QdCheckboxesService,
|
|
287
287
|
QdFormsActionEmitterService
|
|
288
|
-
], encapsulation: ViewEncapsulation.None, host: { class: 'qd-checkboxes' }, template: "<qd-form-label\n [label]=\"label\"\n [readonly]=\"readonly\"\n [viewonly]=\"viewonly\"\n [control]=\"control\"\n [tooltip]=\"config?.tooltip\"\n [data-test-id]=\"testId\"\n [isDisabled]=\"isLabelDisabled\"\n></qd-form-label>\n\n<div class=\"qd-checkboxes__input-section\" *ngIf=\"!readonly && !viewonly\">\n <qd-filter-form-items\n *ngIf=\"filter\"\n (filterValueChange)=\"changeValue($event)\"\n [data-test-id]=\"testId + '-filter-form'\"\n ></qd-filter-form-items>\n\n <div class=\"qd-checkboxes__checkbox-section\">\n <qd-checkbox\n *ngFor=\"let checkbox of checkboxesListForView\"\n [inputData]=\"checkbox\"\n [(value)]=\"checkboxesValues[checkbox.index]\"\n [disabled]=\"checkbox.disabled || disabled\"\n (click)=\"handleClick(checkbox)\"\n [data-test-id]=\"testId + '-checkbox-' + checkbox.index\"\n ></qd-checkbox>\n </div>\n</div>\n\n<qd-form-hint\n *ngIf=\"!readonly && !viewonly\"\n [hint]=\"hint\"\n [control]=\"control\"\n [hasError]=\"hasError\"\n [hintAction]=\"hintAction\"\n [data-test-id]=\"testId\"\n></qd-form-hint>\n\n<qd-form-readonly\n *ngIf=\"readonly\"\n [values]=\"selectedValuesTranslated\"\n [readonlyAction]=\"readonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-readonly>\n\n<qd-form-viewonly\n *ngIf=\"viewonly\"\n [values]=\"selectedValuesTranslated\"\n [viewonlyAction]=\"viewonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-viewonly>\n", styles: [".qd-checkboxes{display:block;margin-bottom:.75rem}@media (max-width: 959.98px){.qd-checkboxes{height:initial}}.qd-checkboxes .qd-checkboxes__input-section{display:block;flex-direction:column;margin-bottom:.3125rem}.qd-checkboxes .qd-checkboxes__checkbox-section{display:flex;min-height:2.25rem;flex-direction:row}@media (max-width: 959.98px){.qd-checkboxes .qd-checkboxes__checkbox-section{height:initial;flex-direction:column}}.qd-checkboxes.qd-checkboxes-vertical .qd-checkboxes__checkbox-section{display:flex;flex-direction:column}.qd-checkboxes.qd-checkboxes-vertical .qd-checkboxes__checkbox-section .qd-checkbox:not(:last-child){margin-bottom:.5rem}.qd-checkboxes.qd-checkboxes-disabled{pointer-events:none}.qd-checkboxes-readonly .qd-checkboxes__input-section{font-size:.875rem;line-height:2.25rem}.qd-checkboxes--readonly-action .qd-checkboxes__input-section{color:#069;cursor:pointer}.qd-checkboxes--readonly-action .qd-checkboxes__input-section:hover,.qd-checkboxes--readonly-action .qd-checkboxes__input-section:active,.qd-checkboxes--readonly-action .qd-checkboxes__input-section:focus{text-decoration:underline}.qd-checkboxes-viewonly .qd-checkboxes__input-section{font-size:.875rem;line-height:2.25rem}.qd-checkboxes--viewonly-action .qd-checkboxes__input-section{color:#069;cursor:pointer}.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:hover,.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:active,.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:focus{text-decoration:underline}\n"] }]
|
|
288
|
+
], encapsulation: ViewEncapsulation.None, host: { class: 'qd-checkboxes' }, template: "<qd-form-label\n [label]=\"label\"\n [readonly]=\"readonly\"\n [viewonly]=\"viewonly\"\n [control]=\"control\"\n [tooltip]=\"config?.tooltip\"\n [data-test-id]=\"testId\"\n [isDisabled]=\"isLabelDisabled\"\n></qd-form-label>\n\n<div class=\"qd-checkboxes__input-section\" *ngIf=\"!readonly && !viewonly\">\n <qd-filter-form-items\n *ngIf=\"filter\"\n (filterValueChange)=\"changeValue($event)\"\n [data-test-id]=\"testId + '-filter-form'\"\n ></qd-filter-form-items>\n\n <div class=\"qd-checkboxes__checkbox-section\">\n <qd-checkbox\n *ngFor=\"let checkbox of checkboxesListForView\"\n [inputData]=\"checkbox\"\n [(value)]=\"checkboxesValues[checkbox.index]\"\n [disabled]=\"checkbox.disabled || disabled\"\n (click)=\"handleClick(checkbox)\"\n [data-test-id]=\"testId + '-checkbox-' + checkbox.index\"\n ></qd-checkbox>\n </div>\n</div>\n\n<qd-form-hint\n *ngIf=\"!readonly && !viewonly && (hint || hasError)\"\n [hint]=\"hint\"\n [control]=\"control\"\n [hasError]=\"hasError\"\n [hintAction]=\"hintAction\"\n [data-test-id]=\"testId\"\n></qd-form-hint>\n\n<qd-form-readonly\n *ngIf=\"readonly\"\n [values]=\"selectedValuesTranslated\"\n [readonlyAction]=\"readonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-readonly>\n\n<qd-form-viewonly\n *ngIf=\"viewonly\"\n [values]=\"selectedValuesTranslated\"\n [viewonlyAction]=\"viewonlyAction\"\n [data-test-id]=\"testId\"\n></qd-form-viewonly>\n", styles: [".qd-checkboxes{display:block;margin-bottom:.75rem}@media (max-width: 959.98px){.qd-checkboxes{height:initial}}.qd-checkboxes .qd-checkboxes__input-section{display:block;flex-direction:column;margin-bottom:.3125rem}.qd-checkboxes .qd-checkboxes__checkbox-section{display:flex;min-height:2.25rem;flex-direction:row}@media (max-width: 959.98px){.qd-checkboxes .qd-checkboxes__checkbox-section{height:initial;flex-direction:column}}.qd-checkboxes.qd-checkboxes-vertical .qd-checkboxes__checkbox-section{display:flex;flex-direction:column}.qd-checkboxes.qd-checkboxes-vertical .qd-checkboxes__checkbox-section .qd-checkbox:not(:last-child){margin-bottom:.5rem}.qd-checkboxes.qd-checkboxes-disabled{pointer-events:none}.qd-checkboxes-readonly .qd-checkboxes__input-section{font-size:.875rem;line-height:2.25rem}.qd-checkboxes--readonly-action .qd-checkboxes__input-section{color:#069;cursor:pointer}.qd-checkboxes--readonly-action .qd-checkboxes__input-section:hover,.qd-checkboxes--readonly-action .qd-checkboxes__input-section:active,.qd-checkboxes--readonly-action .qd-checkboxes__input-section:focus{text-decoration:underline}.qd-checkboxes-viewonly .qd-checkboxes__input-section{font-size:.875rem;line-height:2.25rem}.qd-checkboxes--viewonly-action .qd-checkboxes__input-section{color:#069;cursor:pointer}.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:hover,.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:active,.qd-checkboxes--viewonly-action .qd-checkboxes__input-section:focus{text-decoration:underline}\n"] }]
|
|
289
289
|
}], ctorParameters: () => [{ type: i1.QdCheckboxesService }, { type: i2.QdFormsActionEmitterService }, { type: i3.ControlContainer, decorators: [{
|
|
290
290
|
type: Optional
|
|
291
291
|
}, {
|
|
@@ -351,4 +351,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
351
351
|
type: HostBinding,
|
|
352
352
|
args: ['class.qd-checkboxes-horizontal']
|
|
353
353
|
}] } });
|
|
354
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3FkLXVpL3NyYy9saWIvZm9ybXMvY2hlY2tib3hlcy9jaGVja2JveGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9mb3Jtcy9jaGVja2JveGVzL2NoZWNrYm94ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLElBQUksRUFDSixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFJTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFFVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLGdCQUFnQixFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVHLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFaEYsT0FBTyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULE9BQU8sRUFDUCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixRQUFRLEVBQ1IsVUFBVSxFQUNWLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNsQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSwyQkFBMkIsRUFB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QixVQUFVO3NCQUE1QyxZQUFZO3VCQUFDLG1CQUFtQjtnQkFHakMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLDhCQUE4QjtnQkFJM0MsY0FBYztzQkFEYixXQUFXO3VCQUFDLHNDQUFzQztnQkFJbkQsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLDhCQUE4QjtnQkFJM0MsY0FBYztzQkFEYixXQUFXO3VCQUFDLHNDQUFzQztnQkFLbkQsVUFBVTtzQkFGVCxXQUFXO3VCQUFDLDJCQUEyQjs7c0JBQ3ZDLFdBQVc7dUJBQUMsa0NBQWtDO2dCQUsvQyxRQUFRO3NCQUZQLFdBQVc7dUJBQUMsd0JBQXdCOztzQkFDcEMsV0FBVzt1QkFBQyw4QkFBOEI7Z0JBS3ZDLFFBQVE7c0JBRlgsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxXQUFXO3VCQUFDLHlCQUF5QjtnQkFNbEMsVUFBVTtzQkFEYixXQUFXO3VCQUFDLDhCQUE4QjtnQkFNdkMsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1zdHJpY3QtaWdub3JlXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgU2tpcFNlbGYsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xDb250YWluZXIsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuXG5pbXBvcnQgeyBRZEV2ZW50QnJva2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvZXZlbnQtYnJva2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRGb3JtQ2hlY2tib3hlc0NvbmZpZ3VyYXRpb24sIFFkRm9ybU9wdGlvbiB9IGZyb20gJy4uL21vZGVsL2Zvcm1zLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBnZXRBbGlnbixcbiAgZ2V0RGlzYWJsZWQsXG4gIGdldEZpbHRlcixcbiAgZ2V0SGludCxcbiAgZ2V0SGludEFjdGlvbixcbiAgZ2V0SXNIaW50RGlzYWJsZWQsXG4gIGdldElzTGFiZWxEaXNhYmxlZCxcbiAgZ2V0TGFiZWwsXG4gIGdldE9wdGlvbnMsXG4gIGdldFJlYWRvbmx5LFxuICBnZXRSZWFkb25seUFjdGlvbixcbiAgZ2V0Vmlld29ubHksXG4gIGdldFZpZXdvbmx5QWN0aW9uXG59IGZyb20gJy4uL3NoYXJlZC9oZWxwZXJzL2Zvcm1zLmhlbHBlcnMnO1xuaW1wb3J0IHsgaGFzVmFsaWRhdGlvbktleSB9IGZyb20gJy4uL3NoYXJlZC9oZWxwZXJzL2hhcy12YWxpZGF0b3JzLmhlbHBlcnMnO1xuaW1wb3J0IHsgUWRGb3Jtc0FjdGlvbkVtaXR0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlcnZpY2VzL2FjdGlvbi1lbWl0dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IFFkQ2hlY2tib3hlc1NlcnZpY2UgfSBmcm9tICcuL2NoZWNrYm94ZXMtc2VydmljZS9jaGVja2JveGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRGb3JtQ2hlY2tib3hPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWwvb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFRoZSAqKlFkQ2hlY2tib3hlcyoqIGlzIGEgY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgYSBmb3JtIGVsZW1lbnQgZm9yIGNoZWNrYm94ZXMuPGJyIC8+XG4gKiBJdCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG11bHRpcGxlIG9wdGlvbnMgZnJvbSBhIGxpc3Qgb2YgY2hlY2tib3hlcy4gSXQgY2FuIGJlIHVzZWQgd2l0aCBRdWFkcmVsIFJlYWN0aXZlIEZvcm1zIG9yIHdpdGggbW9kZWwgYmluZGluZy5cbiAqXG4gKiAjIyMjKipVc2FnZSB3aXRoIFJlYWN0aXZlIEZvcm1zKipcbiAqXG4gKiBgYGB0c1xuICogZm9ybSA9IG5ldyBRZEZvcm1Hcm91cCh7XG4gKiAgIGNoZWNrYm94ZXM6IG5ldyBRZEZvcm1Db250cm9sKFtdKVxuICogfSk7XG4gKiBgYGBcbiAqIGBgYGh0bWxcbiAqIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICogICA8cWQtY2hlY2tib3hlcyBmb3JtQ29udHJvbE5hbWU9XCJjaGVja2JveGVzXCIgW2NvbmZpZ109XCJjb25maWdcIj48L3FkLWNoZWNrYm94ZXM+XG4gKiA8L2Zvcm0+XG4gKiBgYGBcbiAqXG4gKiAjIyMjKipVc2FnZSB3aXRoIE1vZGVsIEJpbmRpbmcqKlxuICogYGBgdHNcbiAqIHZhbHVlcztcbiAqIGBgYFxuICogYGBgaHRtbFxuICogPHFkLWNoZWNrYm94ZXMgWyh2YWx1ZXMpXT1cInZhbHVlc1wiIFtjb25maWddPVwiY29uZmlnXCI+PC9xZC1jaGVja2JveGVzPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3FkLWNoZWNrYm94ZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3hlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94ZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogUWRDaGVja2JveGVzQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIFFkQ2hlY2tib3hlc1NlcnZpY2UsXG4gICAgUWRGb3Jtc0FjdGlvbkVtaXR0ZXJTZXJ2aWNlXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdxZC1jaGVja2JveGVzJyB9XG59KVxuZXhwb3J0IGNsYXNzIFFkQ2hlY2tib3hlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqXG4gICAqIFRoZSBmb3JtIGNvbnRyb2wgbmFtZSBjYW4gYmUgYXNzaWduZWQgaGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgUmVhY3RpdmUgRm9ybXMuXG4gICAqL1xuICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgZm9ybSBpdGVtIHZhbHVlcywgaWYgeW91IGFyZSB3b3JraW5nIHdpdGggTW9kZWwgQmluZGluZy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPHFkLWNoZWNrYm94ZXMgWyh2YWx1ZXMpXT1cInZhbHVlc1wiIFtjb25maWddPVwiY29uZmlnXCI+PC9xZC1jaGVja2JveGVzPlxuICAgKi9cbiAgQElucHV0KCkgdmFsdWVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZm9ybSBpdGVtXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHtcbiAgICogICBsYWJlbDogeyBpMThuOiAnUWQtRm9ybXMgQ2hlY2tib3hlcycgfSxcbiAgICogICBhbGlnbjogJ2hvcml6b250YWwnLFxuICAgKiAgIGhpbnQ6IHsgaTE4bjogJ0hlbHBlcnRleHQnIH0sXG4gICAqICAgb3B0aW9uczogW1xuICAgKiAgICAgeyBpMThuOiAnaTE4bi5xZC5leGFtcGxlRm9ybUZpZWxkLmdvb2RzRGVjbGFyYXRpb24uaW1wb3J0JywgdmFsdWU6ICdpbXBvcnQnIH0sXG4gICAqICAgICB7IGkxOG46ICdpMThuLnFkLmV4YW1wbGVGb3JtRmllbGQuZ29vZHNEZWNsYXJhdGlvbi5leHBvcnQnLCB2YWx1ZTogJ2V4cG9ydCcgfSxcbiAgICogICAgIHsgaTE4bjogJ2kxOG4ucWQuZXhhbXBsZUZvcm1GaWVsZC5nb29kc0RlY2xhcmF0aW9uLnRyYW5zaXQnLCB2YWx1ZTogJ3RyYW5zaXQnIH1cbiAgICogICBdXG4gICAqIH07XG4gICAqL1xuICBASW5wdXQoKSBjb25maWc6IFFkRm9ybUNoZWNrYm94ZXNDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBIHN0YXRpYyB0ZXN0IElEIGZvciBpbnRlZ3JhdGlvbiB0ZXN0cyBjYW4gYmUgc2V0LiA8YnIgLz5cbiAgICogVGhlIHZhbHVlIGZvciB0aGUgSFRNTCBhdHRyaWJ1dGUgW2RhdGEtdGVzdC1pZF0uXG4gICAqL1xuICBASW5wdXQoJ2RhdGEtdGVzdC1pZCcpIHRlc3RJZCA9ICdjaGVja2JveGVzJztcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiB0aGUgdmFsdWVzIGNoYW5nZS4gUmV0dXJuIHZhbHVlcyBtYXRjaCB0aGUgY3VycmVudCB2YWx1ZXMuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiB0aGUgaGludCBpcyBjbGlja2VkL3RhcHBlZC4gYGhpbnRBY3Rpb25gIG11c3QgYmUgc2V0IHRvIGB0cnVlYCBmb3IgdGhpcy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbGlja0hpbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGV2ZW50IHdoZW4gYSByZWFkb25seSB2YWx1ZSBpcyBjbGlja2VkL3RhcHBlZC4gYGNsaWNrUmVhZG9ubHkgYCBtdXN0IGJlIHNldCB0byBgdHJ1ZWAgZm9yIHRoaXMuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xpY2tSZWFkb25seSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiBhIHZpZXdvbmx5IHZhbHVlIGlzIGNsaWNrZWQvdGFwcGVkLiBgY2xpY2tWaWV3b25seSBgIG11c3QgYmUgc2V0IHRvIGB0cnVlYCBmb3IgdGhpcy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbGlja1ZpZXdvbmx5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oUWRDaGVja2JveENvbXBvbmVudCkgY2hlY2tib3hlczogUXVlcnlMaXN0PFFkQ2hlY2tib3hDb21wb25lbnQ+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtY2hlY2tib3hlcy1yZWFkb25seScpXG4gIHJlYWRvbmx5ID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1jaGVja2JveGVzLS1yZWFkb25seS1hY3Rpb24nKVxuICByZWFkb25seUFjdGlvbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtY2hlY2tib3hlcy12aWV3b25seScpXG4gIHZpZXdvbmx5ID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1jaGVja2JveGVzLS12aWV3b25seS1hY3Rpb24nKVxuICB2aWV3b25seUFjdGlvbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtZm9ybS1oaW50LWFjdGlvbicpXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtY2hlY2tib3hlcy0taGludC1hY3Rpb24nKVxuICBoaW50QWN0aW9uID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1mb3JtLWRpc2FibGVkJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1jaGVja2JveGVzLWRpc2FibGVkJylcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnFkLWZvcm0tZXJyb3InKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnFkLWNoZWNrYm94LWVycm9yJylcbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wudG91Y2hlZCAmJiB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1jaGVja2JveGVzLXZlcnRpY2FsJylcbiAgZ2V0IGlzVmVydGljYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxpZ24gPT09ICd2ZXJ0aWNhbCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnFkLWNoZWNrYm94ZXMtaG9yaXpvbnRhbCcpXG4gIGdldCBpc0hvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxpZ24gPT09ICdob3Jpem9udGFsJztcbiAgfVxuXG4gIGZpbHRlciA9IGZhbHNlO1xuICBsYWJlbDogc3RyaW5nO1xuICBoaW50OiBzdHJpbmc7XG4gIGFsaWduO1xuICBvcHRpb25zOiBRZEZvcm1PcHRpb25bXTtcbiAgaXNMYWJlbERpc2FibGVkOiBib29sZWFuO1xuICBpc0hpbnREaXNhYmxlZDogYm9vbGVhbjtcbiAgaWQ6IHN0cmluZztcbiAgY2hlY2tib3hlc0xpc3RGb3JWaWV3OiBRZEZvcm1DaGVja2JveE9wdGlvbnM7XG4gIGNoZWNrYm94ZXNWYWx1ZXM6IHN0cmluZ1tdO1xuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBfc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBnZXQgaGFzSGludCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaGludCAmJiB0aGlzLmNvbmZpZy5oaW50LmkxOG4gJiYgIXRoaXMuY29uZmlnLmhpbnQuZGlzYWJsZWQ7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRWYWx1ZXNUcmFuc2xhdGVkKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2JveGVzU2VydmljZS5nZXRTZWxlY3RlZFZhbHVlc1RyYW5zbGF0ZWQoKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgcmV0dXJuIGhhc1ZhbGlkYXRpb25LZXkodGhpcy5jb250cm9sLCAncmVxdWlyZWQnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tib3hlc1NlcnZpY2U6IFFkQ2hlY2tib3hlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25FbWl0dGVyU2VydmljZTogUWRGb3Jtc0FjdGlvbkVtaXR0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKCkgcHJpdmF0ZSByZWFkb25seSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRCcm9rZXJTZXJ2aWNlOiBRZEV2ZW50QnJva2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lXG4gICkge1xuICAgIHRoaXMuaWQgPSB1dWlkKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvbmZpZ3VyYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmNvbnRyb2xDb250YWluZXIpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbC5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdRRC1VSSB8IFFkQ2hlY2tib3hHcm91cENvbXBvbmVudCAtIE1pc3NpbmcgRm9ybUNvbnRyb2xOYW1lIGRpcmVjdGl2ZSBmcm9tIGhvc3QgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50J1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlcygpO1xuICAgIHRoaXMuY2hlY2tib3hlc1NlcnZpY2Uuc2V0Q2hlY2tib3hlc0xpc3QodGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmNoZWNrYm94ZXNTZXJ2aWNlLmZpbGxDaGVja2JveGVzTGlzdFdpdGhEZWZhdWx0cyh0aGlzLnZhbHVlcyk7XG4gICAgdGhpcy5zZXRDaGVja2JveGVzRGF0YSgpO1xuXG4gICAgdGhpcy5fc3Vicy5hZGQodGhpcy5hY3Rpb25FbWl0dGVyU2VydmljZS5oaW50RXZlbnRFbWl0dGVyJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbGlja0hpbnQuZW1pdCgpKSk7XG4gICAgdGhpcy5fc3Vicy5hZGQodGhpcy5hY3Rpb25FbWl0dGVyU2VydmljZS5yZWFkb25seUV2ZW50RW1pdHRlciQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xpY2tSZWFkb25seS5lbWl0KCkpKTtcbiAgICB0aGlzLl9zdWJzLmFkZCh0aGlzLmFjdGlvbkVtaXR0ZXJTZXJ2aWNlLnZpZXdvbmx5RXZlbnRFbWl0dGVyJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbGlja1ZpZXdvbmx5LmVtaXQoKSkpO1xuICAgIHRoaXMuX3N1YnMuYWRkKHRoaXMuaW5pdE9wTW9kZVN1YnNjcmlwdGlvbigpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgIHRoaXMudXBkYXRlQ29uZmlndXJhdGlvbigpO1xuXG4gICAgICBpZiAodGhpcy5oYXZlT3B0aW9uc0NoYW5nZWQoY2hhbmdlcykpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVPcHRpb25zQ2hhbmdlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrYm94ZXNTZXJ2aWNlLmZpbGxDaGVja2JveGVzTGlzdFdpdGhEZWZhdWx0cyh2YWx1ZXMpO1xuICAgIHRoaXMuc2V0Q2hlY2tib3hlc0RhdGEoKTtcbiAgICB0aGlzLmNoZWNrYm94ZXNWYWx1ZXMgPSB2YWx1ZXM7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soY2hlY2tib3gpOiB2b2lkIHtcbiAgICBpZiAoY2hlY2tib3guZGlzYWJsZWQgfHwgdGhpcy5jb25maWcuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMudXBkYXRlQ2hlY2tib3hlc0RhdGEoY2hlY2tib3gudmFsdWUpO1xuXG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy5jaGVja2JveGVzVmFsdWVzKTtcbiAgICB0aGlzLl9vblRvdWNoKHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG5cbiAgICB0aGlzLnZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG4gIH1cblxuICBjaGFuZ2VWYWx1ZSgkZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrYm94ZXNTZXJ2aWNlLmZpbHRlck9wdGlvbnMoJGV2ZW50KTtcblxuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrYm94ZXNMaXN0Rm9yVmlldyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hlc0xpc3RGb3JWaWV3KCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhdmVPcHRpb25zQ2hhbmdlZChjaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICFjaGFuZ2VzLmNvbmZpZy5maXJzdENoYW5nZSAmJlxuICAgICAgIWlzRXF1YWwoY2hhbmdlcy5jb25maWcucHJldmlvdXNWYWx1ZT8ub3B0aW9ucywgY2hhbmdlcy5jb25maWcuY3VycmVudFZhbHVlPy5vcHRpb25zKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbmZpZ3VyYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbCA9IGdldExhYmVsKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmhpbnQgPSBnZXRIaW50KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmRpc2FibGVkID0gZ2V0RGlzYWJsZWQodGhpcy5jb25maWcpIHx8ICEhdGhpcy5jb250cm9sPy5kaXNhYmxlZDtcbiAgICB0aGlzLnJlYWRvbmx5ID0gZ2V0UmVhZG9ubHkodGhpcy5jb25maWcpO1xuICAgIHRoaXMudmlld29ubHkgPSBnZXRWaWV3b25seSh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5oaW50QWN0aW9uID0gZ2V0SGludEFjdGlvbih0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5yZWFkb25seUFjdGlvbiA9IGdldFJlYWRvbmx5QWN0aW9uKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLnZpZXdvbmx5QWN0aW9uID0gZ2V0Vmlld29ubHlBY3Rpb24odGhpcy5jb25maWcpO1xuICAgIHRoaXMuZmlsdGVyID0gZ2V0RmlsdGVyKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmFsaWduID0gZ2V0QWxpZ24odGhpcy5jb25maWcpO1xuICAgIHRoaXMub3B0aW9ucyA9IGdldE9wdGlvbnModGhpcy5jb25maWcpO1xuICAgIHRoaXMuaXNMYWJlbERpc2FibGVkID0gZ2V0SXNMYWJlbERpc2FibGVkKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmlzSGludERpc2FibGVkID0gZ2V0SXNIaW50RGlzYWJsZWQodGhpcy5jb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGVja2JveGVzRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrYm94ZXNTZXJ2aWNlLnNldENoZWNrYm94ZXNMaXN0Rm9yVmlldygpO1xuICAgIHRoaXMuY2hlY2tib3hlc1ZhbHVlcyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hWYWx1ZXMoKTtcbiAgICB0aGlzLmNoZWNrYm94ZXNMaXN0Rm9yVmlldyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hlc0xpc3RGb3JWaWV3KCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNoZWNrYm94ZXNEYXRhKHZhbHVlKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2JveGVzU2VydmljZS51cGRhdGVDaGVja2JveGVzTGlzdCh2YWx1ZSk7XG4gICAgdGhpcy5jaGVja2JveGVzU2VydmljZS51cGRhdGVDaGVja2JveGVzTGlzdEZvclZpZXcodmFsdWUpO1xuICAgIHRoaXMuY2hlY2tib3hlc1ZhbHVlcyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hWYWx1ZXMoKTtcbiAgICB0aGlzLmNoZWNrYm94ZXNMaXN0Rm9yVmlldyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hlc0xpc3RGb3JWaWV3KCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9wdGlvbnNDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2JveGVzU2VydmljZS5zZXRDaGVja2JveGVzTGlzdCh0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZmlsbENoZWNrYm94ZXNMaXN0V2l0aERlZmF1bHRzKHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG4gICAgdGhpcy5zZXRDaGVja2JveGVzRGF0YSgpO1xuXG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy5jaGVja2JveGVzVmFsdWVzKTtcbiAgICB0aGlzLl9vblRvdWNoKHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG5cbiAgICB0aGlzLnZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG4gIH1cblxuICBwcml2YXRlIHNldEluaXRpYWxWYWx1ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVzKSByZXR1cm47XG4gICAgdGhpcy52YWx1ZXMgPSBbXTtcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgaWYgKG9wdGlvbi5hY3RpdmUpIHRoaXMudmFsdWVzLnB1c2gob3B0aW9uLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdE9wTW9kZVN1YnNjcmlwdGlvbigpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZXZlbnRCcm9rZXJTZXJ2aWNlKSByZXR1cm47XG5cbiAgICByZXR1cm4gdGhpcy5ldmVudEJyb2tlclNlcnZpY2UuY29uc3VtZTx7IGlzVmlld29ubHk6IGJvb2xlYW4gfT4oJ29wZXJhdGlvbl9tb2RlX2NoYW5nZWQnKS5zdWJzY3JpYmUodG9waWMgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZy52aWV3b25seSA9PT0gJ2Jvb2xlYW4nKSByZXR1cm47XG5cbiAgICAgIHRoaXMudmlld29ubHkgPSBnZXRWaWV3b25seSh0aGlzLmNvbmZpZywgdG9waWMucGF5bG9hZC5pc1ZpZXdvbmx5KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHFkLWZvcm0tbGFiZWxcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgW3ZpZXdvbmx5XT1cInZpZXdvbmx5XCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbFwiXG4gIFt0b29sdGlwXT1cImNvbmZpZz8udG9vbHRpcFwiXG4gIFtkYXRhLXRlc3QtaWRdPVwidGVzdElkXCJcbiAgW2lzRGlzYWJsZWRdPVwiaXNMYWJlbERpc2FibGVkXCJcbj48L3FkLWZvcm0tbGFiZWw+XG5cbjxkaXYgY2xhc3M9XCJxZC1jaGVja2JveGVzX19pbnB1dC1zZWN0aW9uXCIgKm5nSWY9XCIhcmVhZG9ubHkgJiYgIXZpZXdvbmx5XCI+XG4gIDxxZC1maWx0ZXItZm9ybS1pdGVtc1xuICAgICpuZ0lmPVwiZmlsdGVyXCJcbiAgICAoZmlsdGVyVmFsdWVDaGFuZ2UpPVwiY2hhbmdlVmFsdWUoJGV2ZW50KVwiXG4gICAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWQgKyAnLWZpbHRlci1mb3JtJ1wiXG4gID48L3FkLWZpbHRlci1mb3JtLWl0ZW1zPlxuXG4gIDxkaXYgY2xhc3M9XCJxZC1jaGVja2JveGVzX19jaGVja2JveC1zZWN0aW9uXCI+XG4gICAgPHFkLWNoZWNrYm94XG4gICAgICAqbmdGb3I9XCJsZXQgY2hlY2tib3ggb2YgY2hlY2tib3hlc0xpc3RGb3JWaWV3XCJcbiAgICAgIFtpbnB1dERhdGFdPVwiY2hlY2tib3hcIlxuICAgICAgWyh2YWx1ZSldPVwiY2hlY2tib3hlc1ZhbHVlc1tjaGVja2JveC5pbmRleF1cIlxuICAgICAgW2Rpc2FibGVkXT1cImNoZWNrYm94LmRpc2FibGVkIHx8IGRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVDbGljayhjaGVja2JveClcIlxuICAgICAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWQgKyAnLWNoZWNrYm94LScgKyBjaGVja2JveC5pbmRleFwiXG4gICAgPjwvcWQtY2hlY2tib3g+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxxZC1mb3JtLWhpbnRcbiAgKm5nSWY9XCIhcmVhZG9ubHkgJiYgIXZpZXdvbmx5XCJcbiAgW2hpbnRdPVwiaGludFwiXG4gIFtjb250cm9sXT1cImNvbnRyb2xcIlxuICBbaGFzRXJyb3JdPVwiaGFzRXJyb3JcIlxuICBbaGludEFjdGlvbl09XCJoaW50QWN0aW9uXCJcbiAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIlxuPjwvcWQtZm9ybS1oaW50PlxuXG48cWQtZm9ybS1yZWFkb25seVxuICAqbmdJZj1cInJlYWRvbmx5XCJcbiAgW3ZhbHVlc109XCJzZWxlY3RlZFZhbHVlc1RyYW5zbGF0ZWRcIlxuICBbcmVhZG9ubHlBY3Rpb25dPVwicmVhZG9ubHlBY3Rpb25cIlxuICBbZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiXG4+PC9xZC1mb3JtLXJlYWRvbmx5PlxuXG48cWQtZm9ybS12aWV3b25seVxuICAqbmdJZj1cInZpZXdvbmx5XCJcbiAgW3ZhbHVlc109XCJzZWxlY3RlZFZhbHVlc1RyYW5zbGF0ZWRcIlxuICBbdmlld29ubHlBY3Rpb25dPVwidmlld29ubHlBY3Rpb25cIlxuICBbZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiXG4+PC9xZC1mb3JtLXZpZXdvbmx5PlxuIl19
|
|
354
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3FkLXVpL3NyYy9saWIvZm9ybXMvY2hlY2tib3hlcy9jaGVja2JveGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9mb3Jtcy9jaGVja2JveGVzL2NoZWNrYm94ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLElBQUksRUFDSixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFJTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFFVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLGdCQUFnQixFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVHLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFaEYsT0FBTyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUNULE9BQU8sRUFDUCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixRQUFRLEVBQ1IsVUFBVSxFQUNWLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNsQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSwyQkFBMkIsRUFB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QixVQUFVO3NCQUE1QyxZQUFZO3VCQUFDLG1CQUFtQjtnQkFHakMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLDhCQUE4QjtnQkFJM0MsY0FBYztzQkFEYixXQUFXO3VCQUFDLHNDQUFzQztnQkFJbkQsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLDhCQUE4QjtnQkFJM0MsY0FBYztzQkFEYixXQUFXO3VCQUFDLHNDQUFzQztnQkFLbkQsVUFBVTtzQkFGVCxXQUFXO3VCQUFDLDJCQUEyQjs7c0JBQ3ZDLFdBQVc7dUJBQUMsa0NBQWtDO2dCQUsvQyxRQUFRO3NCQUZQLFdBQVc7dUJBQUMsd0JBQXdCOztzQkFDcEMsV0FBVzt1QkFBQyw4QkFBOEI7Z0JBS3ZDLFFBQVE7c0JBRlgsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUNqQyxXQUFXO3VCQUFDLHlCQUF5QjtnQkFNbEMsVUFBVTtzQkFEYixXQUFXO3VCQUFDLDhCQUE4QjtnQkFNdkMsWUFBWTtzQkFEZixXQUFXO3VCQUFDLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1zdHJpY3QtaWdub3JlXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgU2tpcFNlbGYsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xDb250YWluZXIsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuXG5pbXBvcnQgeyBRZEV2ZW50QnJva2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvZXZlbnQtYnJva2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRGb3JtQ2hlY2tib3hlc0NvbmZpZ3VyYXRpb24sIFFkRm9ybU9wdGlvbiB9IGZyb20gJy4uL21vZGVsL2Zvcm1zLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBnZXRBbGlnbixcbiAgZ2V0RGlzYWJsZWQsXG4gIGdldEZpbHRlcixcbiAgZ2V0SGludCxcbiAgZ2V0SGludEFjdGlvbixcbiAgZ2V0SXNIaW50RGlzYWJsZWQsXG4gIGdldElzTGFiZWxEaXNhYmxlZCxcbiAgZ2V0TGFiZWwsXG4gIGdldE9wdGlvbnMsXG4gIGdldFJlYWRvbmx5LFxuICBnZXRSZWFkb25seUFjdGlvbixcbiAgZ2V0Vmlld29ubHksXG4gIGdldFZpZXdvbmx5QWN0aW9uXG59IGZyb20gJy4uL3NoYXJlZC9oZWxwZXJzL2Zvcm1zLmhlbHBlcnMnO1xuaW1wb3J0IHsgaGFzVmFsaWRhdGlvbktleSB9IGZyb20gJy4uL3NoYXJlZC9oZWxwZXJzL2hhcy12YWxpZGF0b3JzLmhlbHBlcnMnO1xuaW1wb3J0IHsgUWRGb3Jtc0FjdGlvbkVtaXR0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlcnZpY2VzL2FjdGlvbi1lbWl0dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IFFkQ2hlY2tib3hlc1NlcnZpY2UgfSBmcm9tICcuL2NoZWNrYm94ZXMtc2VydmljZS9jaGVja2JveGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWRGb3JtQ2hlY2tib3hPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWwvb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFRoZSAqKlFkQ2hlY2tib3hlcyoqIGlzIGEgY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgYSBmb3JtIGVsZW1lbnQgZm9yIGNoZWNrYm94ZXMuPGJyIC8+XG4gKiBJdCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IG11bHRpcGxlIG9wdGlvbnMgZnJvbSBhIGxpc3Qgb2YgY2hlY2tib3hlcy4gSXQgY2FuIGJlIHVzZWQgd2l0aCBRdWFkcmVsIFJlYWN0aXZlIEZvcm1zIG9yIHdpdGggbW9kZWwgYmluZGluZy5cbiAqXG4gKiAjIyMjKipVc2FnZSB3aXRoIFJlYWN0aXZlIEZvcm1zKipcbiAqXG4gKiBgYGB0c1xuICogZm9ybSA9IG5ldyBRZEZvcm1Hcm91cCh7XG4gKiAgIGNoZWNrYm94ZXM6IG5ldyBRZEZvcm1Db250cm9sKFtdKVxuICogfSk7XG4gKiBgYGBcbiAqIGBgYGh0bWxcbiAqIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICogICA8cWQtY2hlY2tib3hlcyBmb3JtQ29udHJvbE5hbWU9XCJjaGVja2JveGVzXCIgW2NvbmZpZ109XCJjb25maWdcIj48L3FkLWNoZWNrYm94ZXM+XG4gKiA8L2Zvcm0+XG4gKiBgYGBcbiAqXG4gKiAjIyMjKipVc2FnZSB3aXRoIE1vZGVsIEJpbmRpbmcqKlxuICogYGBgdHNcbiAqIHZhbHVlcztcbiAqIGBgYFxuICogYGBgaHRtbFxuICogPHFkLWNoZWNrYm94ZXMgWyh2YWx1ZXMpXT1cInZhbHVlc1wiIFtjb25maWddPVwiY29uZmlnXCI+PC9xZC1jaGVja2JveGVzPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3FkLWNoZWNrYm94ZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3hlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94ZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogUWRDaGVja2JveGVzQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIFFkQ2hlY2tib3hlc1NlcnZpY2UsXG4gICAgUWRGb3Jtc0FjdGlvbkVtaXR0ZXJTZXJ2aWNlXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdxZC1jaGVja2JveGVzJyB9XG59KVxuZXhwb3J0IGNsYXNzIFFkQ2hlY2tib3hlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqXG4gICAqIFRoZSBmb3JtIGNvbnRyb2wgbmFtZSBjYW4gYmUgYXNzaWduZWQgaGVyZSBpZiB5b3Ugd2FudCB0byB1c2UgUmVhY3RpdmUgRm9ybXMuXG4gICAqL1xuICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgZm9ybSBpdGVtIHZhbHVlcywgaWYgeW91IGFyZSB3b3JraW5nIHdpdGggTW9kZWwgQmluZGluZy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogPHFkLWNoZWNrYm94ZXMgWyh2YWx1ZXMpXT1cInZhbHVlc1wiIFtjb25maWddPVwiY29uZmlnXCI+PC9xZC1jaGVja2JveGVzPlxuICAgKi9cbiAgQElucHV0KCkgdmFsdWVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgZm9ybSBpdGVtXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHtcbiAgICogICBsYWJlbDogeyBpMThuOiAnUWQtRm9ybXMgQ2hlY2tib3hlcycgfSxcbiAgICogICBhbGlnbjogJ2hvcml6b250YWwnLFxuICAgKiAgIGhpbnQ6IHsgaTE4bjogJ0hlbHBlcnRleHQnIH0sXG4gICAqICAgb3B0aW9uczogW1xuICAgKiAgICAgeyBpMThuOiAnaTE4bi5xZC5leGFtcGxlRm9ybUZpZWxkLmdvb2RzRGVjbGFyYXRpb24uaW1wb3J0JywgdmFsdWU6ICdpbXBvcnQnIH0sXG4gICAqICAgICB7IGkxOG46ICdpMThuLnFkLmV4YW1wbGVGb3JtRmllbGQuZ29vZHNEZWNsYXJhdGlvbi5leHBvcnQnLCB2YWx1ZTogJ2V4cG9ydCcgfSxcbiAgICogICAgIHsgaTE4bjogJ2kxOG4ucWQuZXhhbXBsZUZvcm1GaWVsZC5nb29kc0RlY2xhcmF0aW9uLnRyYW5zaXQnLCB2YWx1ZTogJ3RyYW5zaXQnIH1cbiAgICogICBdXG4gICAqIH07XG4gICAqL1xuICBASW5wdXQoKSBjb25maWc6IFFkRm9ybUNoZWNrYm94ZXNDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBIHN0YXRpYyB0ZXN0IElEIGZvciBpbnRlZ3JhdGlvbiB0ZXN0cyBjYW4gYmUgc2V0LiA8YnIgLz5cbiAgICogVGhlIHZhbHVlIGZvciB0aGUgSFRNTCBhdHRyaWJ1dGUgW2RhdGEtdGVzdC1pZF0uXG4gICAqL1xuICBASW5wdXQoJ2RhdGEtdGVzdC1pZCcpIHRlc3RJZCA9ICdjaGVja2JveGVzJztcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiB0aGUgdmFsdWVzIGNoYW5nZS4gUmV0dXJuIHZhbHVlcyBtYXRjaCB0aGUgY3VycmVudCB2YWx1ZXMuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiB0aGUgaGludCBpcyBjbGlja2VkL3RhcHBlZC4gYGhpbnRBY3Rpb25gIG11c3QgYmUgc2V0IHRvIGB0cnVlYCBmb3IgdGhpcy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbGlja0hpbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGV2ZW50IHdoZW4gYSByZWFkb25seSB2YWx1ZSBpcyBjbGlja2VkL3RhcHBlZC4gYGNsaWNrUmVhZG9ubHkgYCBtdXN0IGJlIHNldCB0byBgdHJ1ZWAgZm9yIHRoaXMuXG4gICAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xpY2tSZWFkb25seSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlbnQgd2hlbiBhIHZpZXdvbmx5IHZhbHVlIGlzIGNsaWNrZWQvdGFwcGVkLiBgY2xpY2tWaWV3b25seSBgIG11c3QgYmUgc2V0IHRvIGB0cnVlYCBmb3IgdGhpcy5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbGlja1ZpZXdvbmx5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oUWRDaGVja2JveENvbXBvbmVudCkgY2hlY2tib3hlczogUXVlcnlMaXN0PFFkQ2hlY2tib3hDb21wb25lbnQ+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtY2hlY2tib3hlcy1yZWFkb25seScpXG4gIHJlYWRvbmx5ID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1jaGVja2JveGVzLS1yZWFkb25seS1hY3Rpb24nKVxuICByZWFkb25seUFjdGlvbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtY2hlY2tib3hlcy12aWV3b25seScpXG4gIHZpZXdvbmx5ID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1jaGVja2JveGVzLS12aWV3b25seS1hY3Rpb24nKVxuICB2aWV3b25seUFjdGlvbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtZm9ybS1oaW50LWFjdGlvbicpXG4gIEBIb3N0QmluZGluZygnY2xhc3MucWQtY2hlY2tib3hlcy0taGludC1hY3Rpb24nKVxuICBoaW50QWN0aW9uID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1mb3JtLWRpc2FibGVkJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1jaGVja2JveGVzLWRpc2FibGVkJylcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnFkLWZvcm0tZXJyb3InKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnFkLWNoZWNrYm94LWVycm9yJylcbiAgZ2V0IGhhc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wudG91Y2hlZCAmJiB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5xZC1jaGVja2JveGVzLXZlcnRpY2FsJylcbiAgZ2V0IGlzVmVydGljYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxpZ24gPT09ICd2ZXJ0aWNhbCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnFkLWNoZWNrYm94ZXMtaG9yaXpvbnRhbCcpXG4gIGdldCBpc0hvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxpZ24gPT09ICdob3Jpem9udGFsJztcbiAgfVxuXG4gIGZpbHRlciA9IGZhbHNlO1xuICBsYWJlbDogc3RyaW5nO1xuICBoaW50OiBzdHJpbmc7XG4gIGFsaWduO1xuICBvcHRpb25zOiBRZEZvcm1PcHRpb25bXTtcbiAgaXNMYWJlbERpc2FibGVkOiBib29sZWFuO1xuICBpc0hpbnREaXNhYmxlZDogYm9vbGVhbjtcbiAgaWQ6IHN0cmluZztcbiAgY2hlY2tib3hlc0xpc3RGb3JWaWV3OiBRZEZvcm1DaGVja2JveE9wdGlvbnM7XG4gIGNoZWNrYm94ZXNWYWx1ZXM6IHN0cmluZ1tdO1xuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBfc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBnZXQgaGFzSGludCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuaGludCAmJiB0aGlzLmNvbmZpZy5oaW50LmkxOG4gJiYgIXRoaXMuY29uZmlnLmhpbnQuZGlzYWJsZWQ7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRWYWx1ZXNUcmFuc2xhdGVkKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2JveGVzU2VydmljZS5nZXRTZWxlY3RlZFZhbHVlc1RyYW5zbGF0ZWQoKTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgcmV0dXJuIGhhc1ZhbGlkYXRpb25LZXkodGhpcy5jb250cm9sLCAncmVxdWlyZWQnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tib3hlc1NlcnZpY2U6IFFkQ2hlY2tib3hlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25FbWl0dGVyU2VydmljZTogUWRGb3Jtc0FjdGlvbkVtaXR0ZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKCkgcHJpdmF0ZSByZWFkb25seSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRCcm9rZXJTZXJ2aWNlOiBRZEV2ZW50QnJva2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lXG4gICkge1xuICAgIHRoaXMuaWQgPSB1dWlkKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUNvbmZpZ3VyYXRpb24oKTtcblxuICAgIGlmICh0aGlzLmNvbnRyb2xDb250YWluZXIpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbC5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdRRC1VSSB8IFFkQ2hlY2tib3hHcm91cENvbXBvbmVudCAtIE1pc3NpbmcgRm9ybUNvbnRyb2xOYW1lIGRpcmVjdGl2ZSBmcm9tIGhvc3QgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50J1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlcygpO1xuICAgIHRoaXMuY2hlY2tib3hlc1NlcnZpY2Uuc2V0Q2hlY2tib3hlc0xpc3QodGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmNoZWNrYm94ZXNTZXJ2aWNlLmZpbGxDaGVja2JveGVzTGlzdFdpdGhEZWZhdWx0cyh0aGlzLnZhbHVlcyk7XG4gICAgdGhpcy5zZXRDaGVja2JveGVzRGF0YSgpO1xuXG4gICAgdGhpcy5fc3Vicy5hZGQodGhpcy5hY3Rpb25FbWl0dGVyU2VydmljZS5oaW50RXZlbnRFbWl0dGVyJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbGlja0hpbnQuZW1pdCgpKSk7XG4gICAgdGhpcy5fc3Vicy5hZGQodGhpcy5hY3Rpb25FbWl0dGVyU2VydmljZS5yZWFkb25seUV2ZW50RW1pdHRlciQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xpY2tSZWFkb25seS5lbWl0KCkpKTtcbiAgICB0aGlzLl9zdWJzLmFkZCh0aGlzLmFjdGlvbkVtaXR0ZXJTZXJ2aWNlLnZpZXdvbmx5RXZlbnRFbWl0dGVyJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbGlja1ZpZXdvbmx5LmVtaXQoKSkpO1xuICAgIHRoaXMuX3N1YnMuYWRkKHRoaXMuaW5pdE9wTW9kZVN1YnNjcmlwdGlvbigpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgIHRoaXMudXBkYXRlQ29uZmlndXJhdGlvbigpO1xuXG4gICAgICBpZiAodGhpcy5oYXZlT3B0aW9uc0NoYW5nZWQoY2hhbmdlcykpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVPcHRpb25zQ2hhbmdlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vicy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrYm94ZXNTZXJ2aWNlLmZpbGxDaGVja2JveGVzTGlzdFdpdGhEZWZhdWx0cyh2YWx1ZXMpO1xuICAgIHRoaXMuc2V0Q2hlY2tib3hlc0RhdGEoKTtcbiAgICB0aGlzLmNoZWNrYm94ZXNWYWx1ZXMgPSB2YWx1ZXM7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soY2hlY2tib3gpOiB2b2lkIHtcbiAgICBpZiAoY2hlY2tib3guZGlzYWJsZWQgfHwgdGhpcy5jb25maWcuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMudXBkYXRlQ2hlY2tib3hlc0RhdGEoY2hlY2tib3gudmFsdWUpO1xuXG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy5jaGVja2JveGVzVmFsdWVzKTtcbiAgICB0aGlzLl9vblRvdWNoKHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG5cbiAgICB0aGlzLnZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG4gIH1cblxuICBjaGFuZ2VWYWx1ZSgkZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrYm94ZXNTZXJ2aWNlLmZpbHRlck9wdGlvbnMoJGV2ZW50KTtcblxuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrYm94ZXNMaXN0Rm9yVmlldyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hlc0xpc3RGb3JWaWV3KCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhdmVPcHRpb25zQ2hhbmdlZChjaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICFjaGFuZ2VzLmNvbmZpZy5maXJzdENoYW5nZSAmJlxuICAgICAgIWlzRXF1YWwoY2hhbmdlcy5jb25maWcucHJldmlvdXNWYWx1ZT8ub3B0aW9ucywgY2hhbmdlcy5jb25maWcuY3VycmVudFZhbHVlPy5vcHRpb25zKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvbmZpZ3VyYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5sYWJlbCA9IGdldExhYmVsKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmhpbnQgPSBnZXRIaW50KHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmRpc2FibGVkID0gZ2V0RGlzYWJsZWQodGhpcy5jb25maWcpIHx8ICEhdGhpcy5jb250cm9sPy5kaXNhYmxlZDtcbiAgICB0aGlzLnJlYWRvbmx5ID0gZ2V0UmVhZG9ubHkodGhpcy5jb25maWcpO1xuICAgIHRoaXMudmlld29ubHkgPSBnZXRWaWV3b25seSh0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5oaW50QWN0aW9uID0gZ2V0SGludEFjdGlvbih0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5yZWFkb25seUFjdGlvbiA9IGdldFJlYWRvbmx5QWN0aW9uKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLnZpZXdvbmx5QWN0aW9uID0gZ2V0Vmlld29ubHlBY3Rpb24odGhpcy5jb25maWcpO1xuICAgIHRoaXMuZmlsdGVyID0gZ2V0RmlsdGVyKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmFsaWduID0gZ2V0QWxpZ24odGhpcy5jb25maWcpO1xuICAgIHRoaXMub3B0aW9ucyA9IGdldE9wdGlvbnModGhpcy5jb25maWcpO1xuICAgIHRoaXMuaXNMYWJlbERpc2FibGVkID0gZ2V0SXNMYWJlbERpc2FibGVkKHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmlzSGludERpc2FibGVkID0gZ2V0SXNIaW50RGlzYWJsZWQodGhpcy5jb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGVja2JveGVzRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrYm94ZXNTZXJ2aWNlLnNldENoZWNrYm94ZXNMaXN0Rm9yVmlldygpO1xuICAgIHRoaXMuY2hlY2tib3hlc1ZhbHVlcyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hWYWx1ZXMoKTtcbiAgICB0aGlzLmNoZWNrYm94ZXNMaXN0Rm9yVmlldyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hlc0xpc3RGb3JWaWV3KCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNoZWNrYm94ZXNEYXRhKHZhbHVlKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2JveGVzU2VydmljZS51cGRhdGVDaGVja2JveGVzTGlzdCh2YWx1ZSk7XG4gICAgdGhpcy5jaGVja2JveGVzU2VydmljZS51cGRhdGVDaGVja2JveGVzTGlzdEZvclZpZXcodmFsdWUpO1xuICAgIHRoaXMuY2hlY2tib3hlc1ZhbHVlcyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hWYWx1ZXMoKTtcbiAgICB0aGlzLmNoZWNrYm94ZXNMaXN0Rm9yVmlldyA9IHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZ2V0Q2hlY2tib3hlc0xpc3RGb3JWaWV3KCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9wdGlvbnNDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2JveGVzU2VydmljZS5zZXRDaGVja2JveGVzTGlzdCh0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuY2hlY2tib3hlc1NlcnZpY2UuZmlsbENoZWNrYm94ZXNMaXN0V2l0aERlZmF1bHRzKHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG4gICAgdGhpcy5zZXRDaGVja2JveGVzRGF0YSgpO1xuXG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy5jaGVja2JveGVzVmFsdWVzKTtcbiAgICB0aGlzLl9vblRvdWNoKHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG5cbiAgICB0aGlzLnZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuY2hlY2tib3hlc1ZhbHVlcyk7XG4gIH1cblxuICBwcml2YXRlIHNldEluaXRpYWxWYWx1ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVzKSByZXR1cm47XG4gICAgdGhpcy52YWx1ZXMgPSBbXTtcbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgaWYgKG9wdGlvbi5hY3RpdmUpIHRoaXMudmFsdWVzLnB1c2gob3B0aW9uLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdE9wTW9kZVN1YnNjcmlwdGlvbigpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZXZlbnRCcm9rZXJTZXJ2aWNlKSByZXR1cm47XG5cbiAgICByZXR1cm4gdGhpcy5ldmVudEJyb2tlclNlcnZpY2UuY29uc3VtZTx7IGlzVmlld29ubHk6IGJvb2xlYW4gfT4oJ29wZXJhdGlvbl9tb2RlX2NoYW5nZWQnKS5zdWJzY3JpYmUodG9waWMgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZy52aWV3b25seSA9PT0gJ2Jvb2xlYW4nKSByZXR1cm47XG5cbiAgICAgIHRoaXMudmlld29ubHkgPSBnZXRWaWV3b25seSh0aGlzLmNvbmZpZywgdG9waWMucGF5bG9hZC5pc1ZpZXdvbmx5KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHFkLWZvcm0tbGFiZWxcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgW3ZpZXdvbmx5XT1cInZpZXdvbmx5XCJcbiAgW2NvbnRyb2xdPVwiY29udHJvbFwiXG4gIFt0b29sdGlwXT1cImNvbmZpZz8udG9vbHRpcFwiXG4gIFtkYXRhLXRlc3QtaWRdPVwidGVzdElkXCJcbiAgW2lzRGlzYWJsZWRdPVwiaXNMYWJlbERpc2FibGVkXCJcbj48L3FkLWZvcm0tbGFiZWw+XG5cbjxkaXYgY2xhc3M9XCJxZC1jaGVja2JveGVzX19pbnB1dC1zZWN0aW9uXCIgKm5nSWY9XCIhcmVhZG9ubHkgJiYgIXZpZXdvbmx5XCI+XG4gIDxxZC1maWx0ZXItZm9ybS1pdGVtc1xuICAgICpuZ0lmPVwiZmlsdGVyXCJcbiAgICAoZmlsdGVyVmFsdWVDaGFuZ2UpPVwiY2hhbmdlVmFsdWUoJGV2ZW50KVwiXG4gICAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWQgKyAnLWZpbHRlci1mb3JtJ1wiXG4gID48L3FkLWZpbHRlci1mb3JtLWl0ZW1zPlxuXG4gIDxkaXYgY2xhc3M9XCJxZC1jaGVja2JveGVzX19jaGVja2JveC1zZWN0aW9uXCI+XG4gICAgPHFkLWNoZWNrYm94XG4gICAgICAqbmdGb3I9XCJsZXQgY2hlY2tib3ggb2YgY2hlY2tib3hlc0xpc3RGb3JWaWV3XCJcbiAgICAgIFtpbnB1dERhdGFdPVwiY2hlY2tib3hcIlxuICAgICAgWyh2YWx1ZSldPVwiY2hlY2tib3hlc1ZhbHVlc1tjaGVja2JveC5pbmRleF1cIlxuICAgICAgW2Rpc2FibGVkXT1cImNoZWNrYm94LmRpc2FibGVkIHx8IGRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVDbGljayhjaGVja2JveClcIlxuICAgICAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWQgKyAnLWNoZWNrYm94LScgKyBjaGVja2JveC5pbmRleFwiXG4gICAgPjwvcWQtY2hlY2tib3g+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxxZC1mb3JtLWhpbnRcbiAgKm5nSWY9XCIhcmVhZG9ubHkgJiYgIXZpZXdvbmx5ICYmIChoaW50IHx8IGhhc0Vycm9yKVwiXG4gIFtoaW50XT1cImhpbnRcIlxuICBbY29udHJvbF09XCJjb250cm9sXCJcbiAgW2hhc0Vycm9yXT1cImhhc0Vycm9yXCJcbiAgW2hpbnRBY3Rpb25dPVwiaGludEFjdGlvblwiXG4gIFtkYXRhLXRlc3QtaWRdPVwidGVzdElkXCJcbj48L3FkLWZvcm0taGludD5cblxuPHFkLWZvcm0tcmVhZG9ubHlcbiAgKm5nSWY9XCJyZWFkb25seVwiXG4gIFt2YWx1ZXNdPVwic2VsZWN0ZWRWYWx1ZXNUcmFuc2xhdGVkXCJcbiAgW3JlYWRvbmx5QWN0aW9uXT1cInJlYWRvbmx5QWN0aW9uXCJcbiAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIlxuPjwvcWQtZm9ybS1yZWFkb25seT5cblxuPHFkLWZvcm0tdmlld29ubHlcbiAgKm5nSWY9XCJ2aWV3b25seVwiXG4gIFt2YWx1ZXNdPVwic2VsZWN0ZWRWYWx1ZXNUcmFuc2xhdGVkXCJcbiAgW3ZpZXdvbmx5QWN0aW9uXT1cInZpZXdvbmx5QWN0aW9uXCJcbiAgW2RhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIlxuPjwvcWQtZm9ybS12aWV3b25seT5cbiJdfQ==
|