@quadrel-enterprise-ui/framework 18.31.2 → 18.31.4-beta.75.1

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.
Files changed (63) hide show
  1. package/esm2022/lib/comments/add-comment/add-comment-dialog.component.mjs +3 -4
  2. package/esm2022/lib/comments/comments.component.mjs +3 -3
  3. package/esm2022/lib/dialog/dialog.component.mjs +80 -37
  4. package/esm2022/lib/dialog/dialog.module.mjs +20 -8
  5. package/esm2022/lib/dialog/directives/pending-changes-guard.directive.mjs +7 -7
  6. package/esm2022/lib/dialog/models/dialog-close.model.mjs +2 -0
  7. package/esm2022/lib/dialog/models/page-dialog-host.token.mjs +9 -0
  8. package/esm2022/lib/dialog/services/confirmation-dialog.service.mjs +2 -2
  9. package/esm2022/lib/dialog/services/dialog.service.mjs +36 -8
  10. package/esm2022/lib/file-collector/allowed-files-description/file-collector-allowed-files-description.component.mjs +3 -3
  11. package/esm2022/lib/file-collector/dialog/item/error/file-collector-dialog-item-error.component.mjs +3 -3
  12. package/esm2022/lib/forms/checkbox-chips/checkbox-chips.component.mjs +3 -3
  13. package/esm2022/lib/forms/checkboxes/checkboxes.component.mjs +3 -3
  14. package/esm2022/lib/forms/datepicker/datepicker.component.mjs +3 -3
  15. package/esm2022/lib/forms/dropdown/dropdown.component.mjs +3 -3
  16. package/esm2022/lib/forms/file-upload/file-upload.component.mjs +3 -3
  17. package/esm2022/lib/forms/input/input.component.mjs +6 -4
  18. package/esm2022/lib/forms/multi-input/multi-input.component.mjs +3 -3
  19. package/esm2022/lib/forms/pin-code/pin-code.component.mjs +3 -3
  20. package/esm2022/lib/forms/radio-buttons/radio-buttons.component.mjs +3 -3
  21. package/esm2022/lib/forms/richtext/richtext.component.mjs +3 -3
  22. package/esm2022/lib/forms/switches/switches.component.mjs +3 -3
  23. package/esm2022/lib/forms/textarea/textarea.component.mjs +3 -3
  24. package/esm2022/lib/page/model/page-config.interface.mjs +1 -1
  25. package/esm2022/lib/page/page.component.mjs +37 -13
  26. package/esm2022/lib/page/shared/services/form-group-manager.service.mjs +21 -14
  27. package/esm2022/lib/quick-edit/quick-edit.component.mjs +2 -2
  28. package/esm2022/lib/shell/header/service-navigation/shell-service-navigation.component.mjs +4 -4
  29. package/esm2022/lib/table/services/resolver.service.mjs +30 -7
  30. package/fesm2022/quadrel-enterprise-ui-framework.mjs +750 -609
  31. package/fesm2022/quadrel-enterprise-ui-framework.mjs.map +1 -1
  32. package/lib/comments/add-comment/add-comment-dialog.component.d.ts +0 -4
  33. package/lib/comments/add-comment/add-comment-dialog.component.d.ts.map +1 -1
  34. package/lib/dialog/dialog.component.d.ts +15 -6
  35. package/lib/dialog/dialog.component.d.ts.map +1 -1
  36. package/lib/dialog/dialog.module.d.ts +3 -3
  37. package/lib/dialog/dialog.module.d.ts.map +1 -1
  38. package/lib/dialog/directives/pending-changes-guard.directive.d.ts +5 -5
  39. package/lib/dialog/directives/pending-changes-guard.directive.d.ts.map +1 -1
  40. package/lib/dialog/models/dialog-close.model.d.ts +51 -0
  41. package/lib/dialog/models/dialog-close.model.d.ts.map +1 -0
  42. package/lib/dialog/models/page-dialog-host.token.d.ts +10 -0
  43. package/lib/dialog/models/page-dialog-host.token.d.ts.map +1 -0
  44. package/lib/dialog/services/confirmation-dialog.service.d.ts.map +1 -1
  45. package/lib/dialog/services/dialog.service.d.ts +20 -4
  46. package/lib/dialog/services/dialog.service.d.ts.map +1 -1
  47. package/lib/forms/input/input.component.d.ts.map +1 -1
  48. package/lib/page/model/page-config.interface.d.ts +14 -1
  49. package/lib/page/model/page-config.interface.d.ts.map +1 -1
  50. package/lib/page/page.component.d.ts +5 -2
  51. package/lib/page/page.component.d.ts.map +1 -1
  52. package/lib/page/shared/services/form-group-manager.service.d.ts +1 -0
  53. package/lib/page/shared/services/form-group-manager.service.d.ts.map +1 -1
  54. package/lib/shell/header/service-navigation/shell-service-navigation.component.d.ts +1 -1
  55. package/lib/shell/header/service-navigation/shell-service-navigation.component.d.ts.map +1 -1
  56. package/lib/table/services/resolver.service.d.ts +2 -0
  57. package/lib/table/services/resolver.service.d.ts.map +1 -1
  58. package/package.json +2 -2
  59. package/src/assets/i18n/de.json +2 -0
  60. package/src/assets/i18n/en.json +11 -1
  61. package/src/assets/i18n/fr.json +2 -0
  62. package/src/assets/i18n/it.json +2 -0
  63. package/src/assets/styles/settings/_settings.grid.scss +4 -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 <div *ngIf=\"form.get('comment')?.touched && form.get('comment')?.errors as errors\">\n <div\n *ngFor=\"let errorKey of objectKeys(errors)\"\n [attr.data-test-id]=\"'comment-validation-' + errorKey\"\n class=\"validation-message\"\n >\n {{ errors[errorKey] | translate }}\n </div>\n </div>\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.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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 });
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 <div *ngIf=\"form.get('comment')?.touched && form.get('comment')?.errors as errors\">\n <div\n *ngFor=\"let errorKey of objectKeys(errors)\"\n [attr.data-test-id]=\"'comment-validation-' + errorKey\"\n class=\"validation-message\"\n >\n {{ errors[errorKey] | translate }}\n </div>\n </div>\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"] }]
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
@@ -59,15 +59,15 @@ export class QdCommentsComponent {
59
59
  });
60
60
  }
61
61
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdCommentsComponent, deps: [{ token: i1.TranslateService }, { token: i2.QdDialogService }], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: QdCommentsComponent, selector: "qd-comments", inputs: { config: "config", comments: "comments" }, ngImport: i0, template: "<div class=\"comments-list\">\n <div class=\"add-button-area\">\n <button\n qdButton\n qdButtonGhost\n color=\"primary\"\n (click)=\"addNew()\"\n [disabled]=\"config.addConfig?.addButton?.disabled ?? false\"\n >\n <qd-icon icon=\"plusLarge\" class=\"plus-icon\"></qd-icon>\n {{ config.addConfig?.addButton?.i18n | translate }}\n </button>\n </div>\n\n <ng-container *ngFor=\"let comment of commentList\">\n <div\n class=\"comment\"\n (click)=\"clickComment(comment)\"\n [class.hasAction]=\"this.config.primaryActionHandler !== undefined\"\n >\n <div class=\"comment-header\">\n <div>\n <span class=\"comment-author\"><b> {{ comment.author }} </b></span>\n <span class=\"comment-custom\"> {{ comment.custom?.listDisplayName?.i18n ?\n ' - ' + (comment.custom.listDisplayName.i18n | translate) : '' }} </span>\n <span class=\"comment-date\"> {{ \" - \" + formatDate(comment.date) }} </span>\n </div>\n <button\n *ngIf=\"config.secondaryActions?.length > 0\"\n type=\"button\"\n [qdPopoverOnClick]=\"menu\"\n [qdPopoverCloseStrategy]=\"'onEveryClick'\"\n [qdPopoverStopPropagation]=\"true\"\n class=\"menu-button\"\n >\n <qd-icon icon=\"overflowMenuVertical\"></qd-icon>\n </button>\n </div>\n <div class=\"deleted-meta\" *ngIf=\"comment?.deletedMeta\">\n <b>{{ comment.deletedMeta.deletedBy }}</b> -\n {{ (comment.deletedMeta.custom?.listDisplayName.i18n) ?\n (comment.deletedMeta.custom.listDisplayName.i18n | translate) + ' -': '' }}\n {{ \"i18n.qd.comments.delete.deleted\" | translate | placeholder : \"deleteDate\" :\n (formatDate(comment.deletedMeta.date)) }}\n\n </div>\n <div\n class=\"comment-content\"\n [style.text-decoration]=\"comment.deletedMeta ? 'line-through' : ''\"\n [style.-webkit-line-clamp]=\"config.numberOfDisplayedRows || 10\"\n >\n <span [innerHTML]=\"comment.comment\"></span>\n </div>\n </div>\n\n <ng-template #menu>\n <qd-comment-menu [menuActions]=\"config.secondaryActions\" [comment]=\"comment\"></qd-comment-menu>\n </ng-template>\n </ng-container>\n</div>\n", styles: [".comments-list{font-size:.875rem}.comments-list .add-button-area{display:flex;justify-content:flex-end;padding:.5rem 1rem;border-bottom:.0625rem solid rgb(213,213,213);margin-bottom:.5rem}.comments-list .add-button-area .qd-button-primary{padding:0 .5625rem;white-space:nowrap}.comments-list .add-button-area .qd-button-primary .plus-icon{padding-right:.5rem}.comments-list .comment{padding:.5rem .4375rem .5rem 1rem}.comments-list .comment.hasAction{cursor:pointer}.comments-list .comment.hasAction:hover{background-color:#f2f7fa}.comments-list .comment .comment-header{display:flex;justify-content:space-between;padding-bottom:.1875rem}.comments-list .comment .comment-header div{align-self:center}.comments-list .comment .comment-header .menu-button{background:unset;color:#454545;font-size:1rem}.comments-list .comment .comment-header .menu-button:hover,.comments-list .comment .comment-header .menu-button:focus{color:#000}.comments-list .comment .deleted-meta{margin-bottom:.5rem;color:#c70023}.comments-list .comment .comment-content{display:-webkit-box;overflow:hidden;padding-right:.5rem;-webkit-box-orient:vertical;color:#757575;-webkit-line-clamp:10}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.QdPopoverOnClickDirective, selector: "[qdPopoverOnClick]", inputs: ["qdPopoverOnClick", "positionStrategy", "qdPopoverCloseStrategy", "qdPopoverDisabled", "qdPopoverStopPropagation", "qdPopoverBackgroundColor", "qdPopoverMaxHeight", "qdPopoverMinWidth", "qdPopoverMaxWidth", "qdPopoverAutoSize", "qdPopoverEnableKeyControl"], outputs: ["opened", "closed"], exportAs: ["qdPopoverOnClick"] }, { kind: "component", type: i5.QdIconComponent, selector: "qd-icon", inputs: ["icon"] }, { kind: "component", type: i6.QdButtonComponent, selector: "button[qdButton], a[qdButton], button[qd-button]", inputs: ["disabled", "color", "icon", "data-test-id", "additionalInfo"] }, { kind: "directive", type: i7.QdButtonGhostDirective, selector: "button[qdButtonGhost], a[qdButtonGhost]" }, { kind: "component", type: i8.QdCommentMenuComponent, selector: "qd-comment-menu", inputs: ["menuActions", "comment"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.QdPlaceholderPipe, name: "placeholder" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: QdCommentsComponent, selector: "qd-comments", inputs: { config: "config", comments: "comments" }, ngImport: i0, template: "<div class=\"comments-list\">\n <div class=\"add-button-area\">\n <button\n qdButton\n qdButtonGhost\n color=\"primary\"\n (click)=\"addNew()\"\n [disabled]=\"config.addConfig?.addButton?.disabled ?? false\"\n >\n <qd-icon icon=\"plusLarge\" class=\"plus-icon\"></qd-icon>\n {{ config.addConfig?.addButton?.i18n | translate }}\n </button>\n </div>\n\n <ng-container *ngFor=\"let comment of commentList\">\n <div\n class=\"comment\"\n (click)=\"clickComment(comment)\"\n [class.hasAction]=\"this.config.primaryActionHandler !== undefined\"\n >\n <div class=\"comment-header\">\n <div>\n <span class=\"comment-author\"\n ><b> {{ comment.author }} </b></span\n >\n <span class=\"comment-custom\">\n {{ comment.custom?.listDisplayName?.i18n ? \" - \" + (comment.custom.listDisplayName.i18n | translate) : \"\" }}\n </span>\n <span class=\"comment-date\"> {{ \" - \" + formatDate(comment.date) }} </span>\n </div>\n <button\n *ngIf=\"config.secondaryActions?.length > 0\"\n type=\"button\"\n [qdPopoverOnClick]=\"menu\"\n [qdPopoverCloseStrategy]=\"'onEveryClick'\"\n [qdPopoverStopPropagation]=\"true\"\n class=\"menu-button\"\n >\n <qd-icon icon=\"overflowMenuVertical\"></qd-icon>\n </button>\n </div>\n <div class=\"deleted-meta\" *ngIf=\"comment?.deletedMeta\">\n <b>{{ comment.deletedMeta.deletedBy }}</b> -\n {{\n comment.deletedMeta.custom?.listDisplayName.i18n\n ? (comment.deletedMeta.custom.listDisplayName.i18n | translate) + \" -\"\n : \"\"\n }}\n {{\n \"i18n.qd.comments.delete.deleted\"\n | translate\n | placeholder : \"deleteDate\" : formatDate(comment.deletedMeta.date)\n }}\n </div>\n <div\n class=\"comment-content\"\n [style.text-decoration]=\"comment.deletedMeta ? 'line-through' : ''\"\n [style.-webkit-line-clamp]=\"config.numberOfDisplayedRows || 10\"\n >\n <span [innerHTML]=\"comment.comment\"></span>\n </div>\n </div>\n\n <ng-template #menu>\n <qd-comment-menu [menuActions]=\"config.secondaryActions\" [comment]=\"comment\"></qd-comment-menu>\n </ng-template>\n </ng-container>\n</div>\n", styles: [".comments-list{font-size:.875rem}.comments-list .add-button-area{display:flex;justify-content:flex-end;padding:.5rem 1rem;border-bottom:.0625rem solid rgb(213,213,213);margin-bottom:.5rem}.comments-list .add-button-area .qd-button-primary{padding:0 .5625rem;white-space:nowrap}.comments-list .add-button-area .qd-button-primary .plus-icon{padding-right:.5rem}.comments-list .comment{padding:.5rem .4375rem .5rem 1rem}.comments-list .comment.hasAction{cursor:pointer}.comments-list .comment.hasAction:hover{background-color:#f2f7fa}.comments-list .comment .comment-header{display:flex;justify-content:space-between;padding-bottom:.1875rem}.comments-list .comment .comment-header div{align-self:center}.comments-list .comment .comment-header .menu-button{background:unset;color:#454545;font-size:1rem}.comments-list .comment .comment-header .menu-button:hover,.comments-list .comment .comment-header .menu-button:focus{color:#000}.comments-list .comment .deleted-meta{margin-bottom:.5rem;color:#c70023}.comments-list .comment .comment-content{display:-webkit-box;overflow:hidden;padding-right:.5rem;-webkit-box-orient:vertical;color:#757575;-webkit-line-clamp:10}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.QdPopoverOnClickDirective, selector: "[qdPopoverOnClick]", inputs: ["qdPopoverOnClick", "positionStrategy", "qdPopoverCloseStrategy", "qdPopoverDisabled", "qdPopoverStopPropagation", "qdPopoverBackgroundColor", "qdPopoverMaxHeight", "qdPopoverMinWidth", "qdPopoverMaxWidth", "qdPopoverAutoSize", "qdPopoverEnableKeyControl"], outputs: ["opened", "closed"], exportAs: ["qdPopoverOnClick"] }, { kind: "component", type: i5.QdIconComponent, selector: "qd-icon", inputs: ["icon"] }, { kind: "component", type: i6.QdButtonComponent, selector: "button[qdButton], a[qdButton], button[qd-button]", inputs: ["disabled", "color", "icon", "data-test-id", "additionalInfo"] }, { kind: "directive", type: i7.QdButtonGhostDirective, selector: "button[qdButtonGhost], a[qdButtonGhost]" }, { kind: "component", type: i8.QdCommentMenuComponent, selector: "qd-comment-menu", inputs: ["menuActions", "comment"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.QdPlaceholderPipe, name: "placeholder" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
63
  }
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdCommentsComponent, decorators: [{
65
65
  type: Component,
66
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'qd-comments', template: "<div class=\"comments-list\">\n <div class=\"add-button-area\">\n <button\n qdButton\n qdButtonGhost\n color=\"primary\"\n (click)=\"addNew()\"\n [disabled]=\"config.addConfig?.addButton?.disabled ?? false\"\n >\n <qd-icon icon=\"plusLarge\" class=\"plus-icon\"></qd-icon>\n {{ config.addConfig?.addButton?.i18n | translate }}\n </button>\n </div>\n\n <ng-container *ngFor=\"let comment of commentList\">\n <div\n class=\"comment\"\n (click)=\"clickComment(comment)\"\n [class.hasAction]=\"this.config.primaryActionHandler !== undefined\"\n >\n <div class=\"comment-header\">\n <div>\n <span class=\"comment-author\"><b> {{ comment.author }} </b></span>\n <span class=\"comment-custom\"> {{ comment.custom?.listDisplayName?.i18n ?\n ' - ' + (comment.custom.listDisplayName.i18n | translate) : '' }} </span>\n <span class=\"comment-date\"> {{ \" - \" + formatDate(comment.date) }} </span>\n </div>\n <button\n *ngIf=\"config.secondaryActions?.length > 0\"\n type=\"button\"\n [qdPopoverOnClick]=\"menu\"\n [qdPopoverCloseStrategy]=\"'onEveryClick'\"\n [qdPopoverStopPropagation]=\"true\"\n class=\"menu-button\"\n >\n <qd-icon icon=\"overflowMenuVertical\"></qd-icon>\n </button>\n </div>\n <div class=\"deleted-meta\" *ngIf=\"comment?.deletedMeta\">\n <b>{{ comment.deletedMeta.deletedBy }}</b> -\n {{ (comment.deletedMeta.custom?.listDisplayName.i18n) ?\n (comment.deletedMeta.custom.listDisplayName.i18n | translate) + ' -': '' }}\n {{ \"i18n.qd.comments.delete.deleted\" | translate | placeholder : \"deleteDate\" :\n (formatDate(comment.deletedMeta.date)) }}\n\n </div>\n <div\n class=\"comment-content\"\n [style.text-decoration]=\"comment.deletedMeta ? 'line-through' : ''\"\n [style.-webkit-line-clamp]=\"config.numberOfDisplayedRows || 10\"\n >\n <span [innerHTML]=\"comment.comment\"></span>\n </div>\n </div>\n\n <ng-template #menu>\n <qd-comment-menu [menuActions]=\"config.secondaryActions\" [comment]=\"comment\"></qd-comment-menu>\n </ng-template>\n </ng-container>\n</div>\n", styles: [".comments-list{font-size:.875rem}.comments-list .add-button-area{display:flex;justify-content:flex-end;padding:.5rem 1rem;border-bottom:.0625rem solid rgb(213,213,213);margin-bottom:.5rem}.comments-list .add-button-area .qd-button-primary{padding:0 .5625rem;white-space:nowrap}.comments-list .add-button-area .qd-button-primary .plus-icon{padding-right:.5rem}.comments-list .comment{padding:.5rem .4375rem .5rem 1rem}.comments-list .comment.hasAction{cursor:pointer}.comments-list .comment.hasAction:hover{background-color:#f2f7fa}.comments-list .comment .comment-header{display:flex;justify-content:space-between;padding-bottom:.1875rem}.comments-list .comment .comment-header div{align-self:center}.comments-list .comment .comment-header .menu-button{background:unset;color:#454545;font-size:1rem}.comments-list .comment .comment-header .menu-button:hover,.comments-list .comment .comment-header .menu-button:focus{color:#000}.comments-list .comment .deleted-meta{margin-bottom:.5rem;color:#c70023}.comments-list .comment .comment-content{display:-webkit-box;overflow:hidden;padding-right:.5rem;-webkit-box-orient:vertical;color:#757575;-webkit-line-clamp:10}\n"] }]
66
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'qd-comments', template: "<div class=\"comments-list\">\n <div class=\"add-button-area\">\n <button\n qdButton\n qdButtonGhost\n color=\"primary\"\n (click)=\"addNew()\"\n [disabled]=\"config.addConfig?.addButton?.disabled ?? false\"\n >\n <qd-icon icon=\"plusLarge\" class=\"plus-icon\"></qd-icon>\n {{ config.addConfig?.addButton?.i18n | translate }}\n </button>\n </div>\n\n <ng-container *ngFor=\"let comment of commentList\">\n <div\n class=\"comment\"\n (click)=\"clickComment(comment)\"\n [class.hasAction]=\"this.config.primaryActionHandler !== undefined\"\n >\n <div class=\"comment-header\">\n <div>\n <span class=\"comment-author\"\n ><b> {{ comment.author }} </b></span\n >\n <span class=\"comment-custom\">\n {{ comment.custom?.listDisplayName?.i18n ? \" - \" + (comment.custom.listDisplayName.i18n | translate) : \"\" }}\n </span>\n <span class=\"comment-date\"> {{ \" - \" + formatDate(comment.date) }} </span>\n </div>\n <button\n *ngIf=\"config.secondaryActions?.length > 0\"\n type=\"button\"\n [qdPopoverOnClick]=\"menu\"\n [qdPopoverCloseStrategy]=\"'onEveryClick'\"\n [qdPopoverStopPropagation]=\"true\"\n class=\"menu-button\"\n >\n <qd-icon icon=\"overflowMenuVertical\"></qd-icon>\n </button>\n </div>\n <div class=\"deleted-meta\" *ngIf=\"comment?.deletedMeta\">\n <b>{{ comment.deletedMeta.deletedBy }}</b> -\n {{\n comment.deletedMeta.custom?.listDisplayName.i18n\n ? (comment.deletedMeta.custom.listDisplayName.i18n | translate) + \" -\"\n : \"\"\n }}\n {{\n \"i18n.qd.comments.delete.deleted\"\n | translate\n | placeholder : \"deleteDate\" : formatDate(comment.deletedMeta.date)\n }}\n </div>\n <div\n class=\"comment-content\"\n [style.text-decoration]=\"comment.deletedMeta ? 'line-through' : ''\"\n [style.-webkit-line-clamp]=\"config.numberOfDisplayedRows || 10\"\n >\n <span [innerHTML]=\"comment.comment\"></span>\n </div>\n </div>\n\n <ng-template #menu>\n <qd-comment-menu [menuActions]=\"config.secondaryActions\" [comment]=\"comment\"></qd-comment-menu>\n </ng-template>\n </ng-container>\n</div>\n", styles: [".comments-list{font-size:.875rem}.comments-list .add-button-area{display:flex;justify-content:flex-end;padding:.5rem 1rem;border-bottom:.0625rem solid rgb(213,213,213);margin-bottom:.5rem}.comments-list .add-button-area .qd-button-primary{padding:0 .5625rem;white-space:nowrap}.comments-list .add-button-area .qd-button-primary .plus-icon{padding-right:.5rem}.comments-list .comment{padding:.5rem .4375rem .5rem 1rem}.comments-list .comment.hasAction{cursor:pointer}.comments-list .comment.hasAction:hover{background-color:#f2f7fa}.comments-list .comment .comment-header{display:flex;justify-content:space-between;padding-bottom:.1875rem}.comments-list .comment .comment-header div{align-self:center}.comments-list .comment .comment-header .menu-button{background:unset;color:#454545;font-size:1rem}.comments-list .comment .comment-header .menu-button:hover,.comments-list .comment .comment-header .menu-button:focus{color:#000}.comments-list .comment .deleted-meta{margin-bottom:.5rem;color:#c70023}.comments-list .comment .comment-content{display:-webkit-box;overflow:hidden;padding-right:.5rem;-webkit-box-orient:vertical;color:#757575;-webkit-line-clamp:10}\n"] }]
67
67
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.QdDialogService }], propDecorators: { config: [{
68
68
  type: Input,
69
69
  args: [{ required: true }]
70
70
  }], comments: [{
71
71
  type: Input
72
72
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL2NvbW1lbnRzL2NvbW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9jb21tZW50cy9jb21tZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7O0FBUXZELE1BQU0sT0FBTyxtQkFBbUI7SUFpQlY7SUFBNEM7SUFoQnJDLE1BQU0sQ0FBb0I7SUFFckQsSUFDSSxRQUFRLENBQUMsS0FBa0I7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE9BQU8sQ0FBUztJQUNqQyxXQUFXLEdBQWdCLEVBQUUsQ0FBQztJQUU5QixJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQW9CLGdCQUFrQyxFQUFVLGFBQThCO1FBQTFFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDNUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0lBQ25ELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUNuQixPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTtZQUNuRCxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsRUFBRSxTQUFTO1lBQ2QsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFrQjtRQUM3QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ2pELElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDM0IsVUFBVSxFQUFFLFlBQVksQ0FBQyxLQUFLO1lBQzlCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxtQ0FBbUMsRUFBRTtTQUNyRCxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQWhEVSxtQkFBbUI7MkZBQW5CLG1CQUFtQix1R0NmaEMsdXdFQTREQTs7MkZEN0NhLG1CQUFtQjtrQkFOL0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGFBQWE7bUhBS0ksTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBR3JCLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUWRDb21tZW50LCBRZENvbW1lbnRzQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC9jb21tZW50cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWRkQ29tbWVudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWRkLWNvbW1lbnQvYWRkLWNvbW1lbnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9kaWFsb2cvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWREaWFsb2dTaXplIH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAncWQtY29tbWVudHMnLFxuICBzdHlsZVVybHM6IFsnLi9jb21tZW50cy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFFkQ29tbWVudHNDb21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb25maWchOiBRZENvbW1lbnRzQ29uZmlnO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBjb21tZW50cyh2YWx1ZTogUWRDb21tZW50W10pIHtcbiAgICB0aGlzLmNvbW1lbnRMaXN0ID0gdmFsdWU7XG4gICAgdGhpcy5faGFzQ29tbWVudHMkLm5leHQodmFsdWU/Lmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFzQ29tbWVudHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvY2FsZTogc3RyaW5nO1xuICBjb21tZW50TGlzdDogUWRDb21tZW50W10gPSBbXTtcblxuICBnZXQgaGFzQ29tbWVudHMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNDb21tZW50cyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgZGlhbG9nU2VydmljZTogUWREaWFsb2dTZXJ2aWNlKSB7XG4gICAgdGhpcy5fbG9jYWxlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nO1xuICB9XG5cbiAgZm9ybWF0RGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5fbG9jYWxlIHx8ICdkZScsIHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgaG91cjEyOiBmYWxzZVxuICAgIH0pLmZvcm1hdChkYXRlKTtcbiAgfVxuXG4gIGNsaWNrQ29tbWVudChjb21tZW50OiBRZENvbW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcucHJpbWFyeUFjdGlvbkhhbmRsZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbkhhbmRsZXIoY29tbWVudCk7XG4gICAgfVxuICB9XG5cbiAgYWRkTmV3KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZy5hZGRDb25maWcuYWRkQnV0dG9uLmhhbmRsZXIpIHtcbiAgICAgIHRoaXMuY29uZmlnLmFkZENvbmZpZy5hZGRCdXR0b24uaGFuZGxlcigpO1xuICAgIH1cblxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEFkZENvbW1lbnREaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHRoaXMuY29uZmlnLmFkZENvbmZpZyxcbiAgICAgIGRpYWxvZ1NpemU6IFFkRGlhbG9nU2l6ZS5TbWFsbCxcbiAgICAgIHRpdGxlOiB7IGkxOG46ICdpMThuLnFkLmNvbW1lbnRzLmFkZC5kaWFsb2cudGl0bGUnIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbW1lbnRzLWxpc3RcIj5cbiAgPGRpdiBjbGFzcz1cImFkZC1idXR0b24tYXJlYVwiPlxuICAgIDxidXR0b25cbiAgICAgIHFkQnV0dG9uXG4gICAgICBxZEJ1dHRvbkdob3N0XG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgKGNsaWNrKT1cImFkZE5ldygpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb25maWcuYWRkQ29uZmlnPy5hZGRCdXR0b24/LmRpc2FibGVkID8/IGZhbHNlXCJcbiAgICA+XG4gICAgICA8cWQtaWNvbiBpY29uPVwicGx1c0xhcmdlXCIgY2xhc3M9XCJwbHVzLWljb25cIj48L3FkLWljb24+XG4gICAgICB7eyBjb25maWcuYWRkQ29uZmlnPy5hZGRCdXR0b24/LmkxOG4gfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29tbWVudCBvZiBjb21tZW50TGlzdFwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY29tbWVudFwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tDb21tZW50KGNvbW1lbnQpXCJcbiAgICAgIFtjbGFzcy5oYXNBY3Rpb25dPVwidGhpcy5jb25maWcucHJpbWFyeUFjdGlvbkhhbmRsZXIgIT09IHVuZGVmaW5lZFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtaGVhZGVyXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tZW50LWF1dGhvclwiPjxiPiB7eyBjb21tZW50LmF1dGhvciB9fSA8L2I+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tbWVudC1jdXN0b21cIj4ge3sgY29tbWVudC5jdXN0b20/Lmxpc3REaXNwbGF5TmFtZT8uaTE4biA/XG4gICAgICAgICAgICAnIC0gJyArIChjb21tZW50LmN1c3RvbS5saXN0RGlzcGxheU5hbWUuaTE4biB8IHRyYW5zbGF0ZSkgOiAnJyB9fSA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tZW50LWRhdGVcIj4ge3sgXCIgLSBcIiArIGZvcm1hdERhdGUoY29tbWVudC5kYXRlKSB9fSA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJjb25maWcuc2Vjb25kYXJ5QWN0aW9ucz8ubGVuZ3RoID4gMFwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW3FkUG9wb3Zlck9uQ2xpY2tdPVwibWVudVwiXG4gICAgICAgICAgW3FkUG9wb3ZlckNsb3NlU3RyYXRlZ3ldPVwiJ29uRXZlcnlDbGljaydcIlxuICAgICAgICAgIFtxZFBvcG92ZXJTdG9wUHJvcGFnYXRpb25dPVwidHJ1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJtZW51LWJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICA8cWQtaWNvbiBpY29uPVwib3ZlcmZsb3dNZW51VmVydGljYWxcIj48L3FkLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGVsZXRlZC1tZXRhXCIgKm5nSWY9XCJjb21tZW50Py5kZWxldGVkTWV0YVwiPlxuICAgICAgICA8Yj57eyBjb21tZW50LmRlbGV0ZWRNZXRhLmRlbGV0ZWRCeSB9fTwvYj4gLVxuICAgICAgICB7eyAoY29tbWVudC5kZWxldGVkTWV0YS5jdXN0b20/Lmxpc3REaXNwbGF5TmFtZS5pMThuKSA/XG4gICAgICAgICAgIChjb21tZW50LmRlbGV0ZWRNZXRhLmN1c3RvbS5saXN0RGlzcGxheU5hbWUuaTE4biB8IHRyYW5zbGF0ZSkgKyAnIC0nOiAnJyB9fVxuICAgICAgICB7eyBcImkxOG4ucWQuY29tbWVudHMuZGVsZXRlLmRlbGV0ZWRcIiB8IHRyYW5zbGF0ZSB8IHBsYWNlaG9sZGVyIDogXCJkZWxldGVEYXRlXCIgOlxuICAgICAgICAoZm9ybWF0RGF0ZShjb21tZW50LmRlbGV0ZWRNZXRhLmRhdGUpKSB9fVxuXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjb21tZW50LWNvbnRlbnRcIlxuICAgICAgICBbc3R5bGUudGV4dC1kZWNvcmF0aW9uXT1cImNvbW1lbnQuZGVsZXRlZE1ldGEgPyAnbGluZS10aHJvdWdoJyA6ICcnXCJcbiAgICAgICAgW3N0eWxlLi13ZWJraXQtbGluZS1jbGFtcF09XCJjb25maWcubnVtYmVyT2ZEaXNwbGF5ZWRSb3dzIHx8IDEwXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJjb21tZW50LmNvbW1lbnRcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbWVudT5cbiAgICAgIDxxZC1jb21tZW50LW1lbnUgW21lbnVBY3Rpb25zXT1cImNvbmZpZy5zZWNvbmRhcnlBY3Rpb25zXCIgW2NvbW1lbnRdPVwiY29tbWVudFwiPjwvcWQtY29tbWVudC1tZW51PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9xZC11aS9zcmMvbGliL2NvbW1lbnRzL2NvbW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9jb21tZW50cy9jb21tZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7O0FBUXZELE1BQU0sT0FBTyxtQkFBbUI7SUFpQlY7SUFBNEM7SUFoQnJDLE1BQU0sQ0FBb0I7SUFFckQsSUFDSSxRQUFRLENBQUMsS0FBa0I7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE9BQU8sQ0FBUztJQUNqQyxXQUFXLEdBQWdCLEVBQUUsQ0FBQztJQUU5QixJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQW9CLGdCQUFrQyxFQUFVLGFBQThCO1FBQTFFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDNUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0lBQ25ELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUNuQixPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTtZQUNuRCxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxTQUFTO1lBQ2hCLEdBQUcsRUFBRSxTQUFTO1lBQ2QsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFrQjtRQUM3QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ2pELElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDM0IsVUFBVSxFQUFFLFlBQVksQ0FBQyxLQUFLO1lBQzlCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxtQ0FBbUMsRUFBRTtTQUNyRCxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQWhEVSxtQkFBbUI7MkZBQW5CLG1CQUFtQix1R0NmaEMsczNFQW9FQTs7MkZEckRhLG1CQUFtQjtrQkFOL0IsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGFBQWE7bUhBS0ksTUFBTTtzQkFBaEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBR3JCLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUWRDb21tZW50LCBRZENvbW1lbnRzQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC9jb21tZW50cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWRkQ29tbWVudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vYWRkLWNvbW1lbnQvYWRkLWNvbW1lbnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9kaWFsb2cvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWREaWFsb2dTaXplIH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAncWQtY29tbWVudHMnLFxuICBzdHlsZVVybHM6IFsnLi9jb21tZW50cy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFFkQ29tbWVudHNDb21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb25maWchOiBRZENvbW1lbnRzQ29uZmlnO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBjb21tZW50cyh2YWx1ZTogUWRDb21tZW50W10pIHtcbiAgICB0aGlzLmNvbW1lbnRMaXN0ID0gdmFsdWU7XG4gICAgdGhpcy5faGFzQ29tbWVudHMkLm5leHQodmFsdWU/Lmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFzQ29tbWVudHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvY2FsZTogc3RyaW5nO1xuICBjb21tZW50TGlzdDogUWRDb21tZW50W10gPSBbXTtcblxuICBnZXQgaGFzQ29tbWVudHMkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNDb21tZW50cyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgZGlhbG9nU2VydmljZTogUWREaWFsb2dTZXJ2aWNlKSB7XG4gICAgdGhpcy5fbG9jYWxlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nO1xuICB9XG5cbiAgZm9ybWF0RGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5fbG9jYWxlIHx8ICdkZScsIHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgaG91cjEyOiBmYWxzZVxuICAgIH0pLmZvcm1hdChkYXRlKTtcbiAgfVxuXG4gIGNsaWNrQ29tbWVudChjb21tZW50OiBRZENvbW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcucHJpbWFyeUFjdGlvbkhhbmRsZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb25maWcucHJpbWFyeUFjdGlvbkhhbmRsZXIoY29tbWVudCk7XG4gICAgfVxuICB9XG5cbiAgYWRkTmV3KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZy5hZGRDb25maWcuYWRkQnV0dG9uLmhhbmRsZXIpIHtcbiAgICAgIHRoaXMuY29uZmlnLmFkZENvbmZpZy5hZGRCdXR0b24uaGFuZGxlcigpO1xuICAgIH1cblxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEFkZENvbW1lbnREaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHRoaXMuY29uZmlnLmFkZENvbmZpZyxcbiAgICAgIGRpYWxvZ1NpemU6IFFkRGlhbG9nU2l6ZS5TbWFsbCxcbiAgICAgIHRpdGxlOiB7IGkxOG46ICdpMThuLnFkLmNvbW1lbnRzLmFkZC5kaWFsb2cudGl0bGUnIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbW1lbnRzLWxpc3RcIj5cbiAgPGRpdiBjbGFzcz1cImFkZC1idXR0b24tYXJlYVwiPlxuICAgIDxidXR0b25cbiAgICAgIHFkQnV0dG9uXG4gICAgICBxZEJ1dHRvbkdob3N0XG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgKGNsaWNrKT1cImFkZE5ldygpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJjb25maWcuYWRkQ29uZmlnPy5hZGRCdXR0b24/LmRpc2FibGVkID8/IGZhbHNlXCJcbiAgICA+XG4gICAgICA8cWQtaWNvbiBpY29uPVwicGx1c0xhcmdlXCIgY2xhc3M9XCJwbHVzLWljb25cIj48L3FkLWljb24+XG4gICAgICB7eyBjb25maWcuYWRkQ29uZmlnPy5hZGRCdXR0b24/LmkxOG4gfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29tbWVudCBvZiBjb21tZW50TGlzdFwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY29tbWVudFwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tDb21tZW50KGNvbW1lbnQpXCJcbiAgICAgIFtjbGFzcy5oYXNBY3Rpb25dPVwidGhpcy5jb25maWcucHJpbWFyeUFjdGlvbkhhbmRsZXIgIT09IHVuZGVmaW5lZFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtaGVhZGVyXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tZW50LWF1dGhvclwiXG4gICAgICAgICAgICA+PGI+IHt7IGNvbW1lbnQuYXV0aG9yIH19IDwvYj48L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21tZW50LWN1c3RvbVwiPlxuICAgICAgICAgICAge3sgY29tbWVudC5jdXN0b20/Lmxpc3REaXNwbGF5TmFtZT8uaTE4biA/IFwiIC0gXCIgKyAoY29tbWVudC5jdXN0b20ubGlzdERpc3BsYXlOYW1lLmkxOG4gfCB0cmFuc2xhdGUpIDogXCJcIiB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbW1lbnQtZGF0ZVwiPiB7eyBcIiAtIFwiICsgZm9ybWF0RGF0ZShjb21tZW50LmRhdGUpIH19IDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImNvbmZpZy5zZWNvbmRhcnlBY3Rpb25zPy5sZW5ndGggPiAwXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbcWRQb3BvdmVyT25DbGlja109XCJtZW51XCJcbiAgICAgICAgICBbcWRQb3BvdmVyQ2xvc2VTdHJhdGVneV09XCInb25FdmVyeUNsaWNrJ1wiXG4gICAgICAgICAgW3FkUG9wb3ZlclN0b3BQcm9wYWdhdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICBjbGFzcz1cIm1lbnUtYnV0dG9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxxZC1pY29uIGljb249XCJvdmVyZmxvd01lbnVWZXJ0aWNhbFwiPjwvcWQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZWxldGVkLW1ldGFcIiAqbmdJZj1cImNvbW1lbnQ/LmRlbGV0ZWRNZXRhXCI+XG4gICAgICAgIDxiPnt7IGNvbW1lbnQuZGVsZXRlZE1ldGEuZGVsZXRlZEJ5IH19PC9iPiAtXG4gICAgICAgIHt7XG4gICAgICAgICAgY29tbWVudC5kZWxldGVkTWV0YS5jdXN0b20/Lmxpc3REaXNwbGF5TmFtZS5pMThuXG4gICAgICAgICAgICA/IChjb21tZW50LmRlbGV0ZWRNZXRhLmN1c3RvbS5saXN0RGlzcGxheU5hbWUuaTE4biB8IHRyYW5zbGF0ZSkgKyBcIiAtXCJcbiAgICAgICAgICAgIDogXCJcIlxuICAgICAgICB9fVxuICAgICAgICB7e1xuICAgICAgICAgIFwiaTE4bi5xZC5jb21tZW50cy5kZWxldGUuZGVsZXRlZFwiXG4gICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgfCBwbGFjZWhvbGRlciA6IFwiZGVsZXRlRGF0ZVwiIDogZm9ybWF0RGF0ZShjb21tZW50LmRlbGV0ZWRNZXRhLmRhdGUpXG4gICAgICAgIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjb21tZW50LWNvbnRlbnRcIlxuICAgICAgICBbc3R5bGUudGV4dC1kZWNvcmF0aW9uXT1cImNvbW1lbnQuZGVsZXRlZE1ldGEgPyAnbGluZS10aHJvdWdoJyA6ICcnXCJcbiAgICAgICAgW3N0eWxlLi13ZWJraXQtbGluZS1jbGFtcF09XCJjb25maWcubnVtYmVyT2ZEaXNwbGF5ZWRSb3dzIHx8IDEwXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJjb21tZW50LmNvbW1lbnRcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbWVudT5cbiAgICAgIDxxZC1jb21tZW50LW1lbnUgW21lbnVBY3Rpb25zXT1cImNvbmZpZy5zZWNvbmRhcnlBY3Rpb25zXCIgW2NvbW1lbnRdPVwiY29tbWVudFwiPjwvcWQtY29tbWVudC1tZW51PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -1,21 +1,22 @@
1
- // @ts-strict-ignore
2
1
  import { ChangeDetectorRef, Component, ElementRef, HostBinding, ViewChild, ViewEncapsulation } from '@angular/core';
3
2
  import { DialogRef } from '@angular/cdk/dialog';
3
+ import { Subject } from 'rxjs';
4
+ import { filter, take, takeUntil } from 'rxjs/operators';
4
5
  import { QdDialogSize } from './models/dialog-config.model';
5
6
  import { QdDialogChangeGuardService } from './services/dialog-change-guard.service';
6
- import { Subject } from 'rxjs';
7
- import { takeUntil } from 'rxjs/operators';
8
7
  import { QdConfirmationDialogOpenerService } from './services/confirmation-dialog.service';
8
+ import { QdDialogService } from './services/dialog.service';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/cdk/dialog";
11
11
  import * as i2 from "./services/confirmation-dialog.service";
12
12
  import * as i3 from "./services/dialog-change-guard.service";
13
- import * as i4 from "@angular/common";
14
- import * as i5 from "../button/button/button.component";
15
- import * as i6 from "../button/directives/button.directives";
16
- import * as i7 from "../button/icon-button/icon-button.component";
17
- import * as i8 from "../icon/icon/icon.component";
18
- import * as i9 from "@ngx-translate/core";
13
+ import * as i4 from "./services/dialog.service";
14
+ import * as i5 from "@angular/common";
15
+ import * as i6 from "../button/button/button.component";
16
+ import * as i7 from "../button/directives/button.directives";
17
+ import * as i8 from "../button/icon-button/icon-button.component";
18
+ import * as i9 from "../icon/icon/icon.component";
19
+ import * as i10 from "@ngx-translate/core";
19
20
  /**
20
21
  * **QdDialog** creating resonsive dialogs. Three different sizes are available.
21
22
  *
@@ -68,6 +69,7 @@ export class QdDialogComponent {
68
69
  dialog;
69
70
  changeDetectorRef;
70
71
  dialogChangeGuard;
72
+ dialogService;
71
73
  body;
72
74
  infoBanners;
73
75
  get hasSectionsClass() {
@@ -77,62 +79,103 @@ export class QdDialogComponent {
77
79
  hasSections;
78
80
  hasInfoBanner;
79
81
  _destroyed$ = new Subject();
80
- constructor(dialogRef, dialog, changeDetectorRef, dialogChangeGuard) {
82
+ _pageDialogCanCloseFn = null;
83
+ get isFullWidth() {
84
+ return this.config.dialogSize === QdDialogSize.FullWidth;
85
+ }
86
+ constructor(dialogRef, dialog, changeDetectorRef, dialogChangeGuard, dialogService) {
81
87
  this.dialogRef = dialogRef;
82
88
  this.dialog = dialog;
83
89
  this.changeDetectorRef = changeDetectorRef;
84
90
  this.dialogChangeGuard = dialogChangeGuard;
91
+ this.dialogService = dialogService;
85
92
  }
86
93
  ngOnInit() {
87
94
  this.config = this.dialogRef.config;
95
+ this.dialogService.pageDialogCanClose$.pipe(takeUntil(this._destroyed$)).subscribe(entry => {
96
+ this._pageDialogCanCloseFn = entry?.owner === this.dialogRef ? entry.fn : null;
97
+ });
98
+ if (this.isFullWidth)
99
+ this.bindEscToClose();
88
100
  }
89
101
  ngAfterContentChecked() {
90
- const children = Array.from(this.body?.nativeElement?.childNodes || []);
102
+ const children = Array.from(this.body?.nativeElement?.children ?? []);
91
103
  this.hasSections = children.length > 0 && children.every((node) => node.tagName === 'QD-SECTION');
92
104
  this.changeDetectorRef.detectChanges();
93
105
  }
94
106
  ngAfterViewInit() {
95
- const bannerChildren = Array.from(this.infoBanners?.nativeElement?.childNodes || []);
107
+ const bannerChildren = Array.from(this.infoBanners?.nativeElement?.childNodes ?? []);
96
108
  this.hasInfoBanner =
97
109
  bannerChildren.length > 0 && bannerChildren.some((node) => node.tagName === 'QD-PAGE-INFO-BANNER');
98
110
  this.changeDetectorRef.detectChanges();
99
111
  }
112
+ ngOnDestroy() {
113
+ this.dialogService.clearPageDialogCanClose(this.dialogRef);
114
+ this._destroyed$.next();
115
+ this._destroyed$.complete();
116
+ }
100
117
  close() {
101
- const hasPendingChanges = this.dialogChangeGuard.hasPendingChanges;
102
- if (hasPendingChanges) {
103
- this.dialog
104
- .showCancelConfirmation(this.config)
105
- .pipe(takeUntil(this._destroyed$))
106
- .subscribe(confirmed => {
107
- if (confirmed)
108
- this.dialogRef.close();
109
- });
110
- }
111
- else {
112
- if (this.config.cancel?.handler)
113
- this.config.cancel?.handler();
114
- this.dialogRef.close();
115
- }
118
+ if (this.isFullWidth && this._pageDialogCanCloseFn)
119
+ return this.handlePageDialogClose();
120
+ this.handleLegacyDialogClose();
116
121
  }
117
122
  primaryActionClicked() {
118
123
  if (this.config.primary?.handler)
119
124
  this.config.primary?.handler();
120
125
  this.dialogRef.close();
121
126
  }
122
- ngOnDestroy() {
123
- this._destroyed$.next();
124
- this._destroyed$.complete();
127
+ finalizeClose() {
128
+ this.dialogService.clearPageDialogCanClose(this.dialogRef);
129
+ this.dialogRef.close();
125
130
  }
126
- get isFullWidth() {
127
- return this.config.dialogSize === QdDialogSize.FullWidth;
131
+ confirmAndClose() {
132
+ this.dialog
133
+ .showCancelConfirmation(this.config)
134
+ .pipe(take(1))
135
+ .subscribe(confirmed => {
136
+ if (!confirmed)
137
+ return;
138
+ this.config.cancel?.handler?.();
139
+ this.finalizeClose();
140
+ });
141
+ }
142
+ handlePageDialogClose() {
143
+ this._pageDialogCanCloseFn()
144
+ .pipe(take(1))
145
+ .subscribe(result => {
146
+ if (!result)
147
+ return;
148
+ if (result.canClose)
149
+ return this.runCancelHandlerAndClose();
150
+ if (!result.hasChanges)
151
+ return;
152
+ this.confirmAndClose();
153
+ });
154
+ }
155
+ handleLegacyDialogClose() {
156
+ if (!this.dialogChangeGuard.hasPendingChanges)
157
+ return this.runCancelHandlerAndClose();
158
+ this.confirmAndClose();
159
+ }
160
+ runCancelHandlerAndClose() {
161
+ this.config.cancel?.handler?.();
162
+ this.finalizeClose();
163
+ }
164
+ bindEscToClose() {
165
+ this.dialogRef.keydownEvents
166
+ .pipe(takeUntil(this._destroyed$), filter((e) => e.key === 'Escape'))
167
+ .subscribe(e => {
168
+ e.preventDefault();
169
+ this.close();
170
+ });
128
171
  }
129
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdDialogComponent, deps: [{ token: i1.DialogRef }, { token: i2.QdConfirmationDialogOpenerService }, { token: i0.ChangeDetectorRef }, { token: i3.QdDialogChangeGuardService }], target: i0.ɵɵFactoryTarget.Component });
130
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: QdDialogComponent, selector: "qd-dialog", host: { properties: { "class.full-width": "isFullWidth", "class.has-sections": "this.hasSectionsClass" } }, providers: [QdDialogComponent], viewQueries: [{ propertyName: "body", first: true, predicate: ["body"], descendants: true }, { propertyName: "infoBanners", first: true, predicate: ["banners"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!isFullWidth\" class=\"dialog-header\">\n <div class=\"title-container\">\n {{ config?.title?.i18n | translate }}\n </div>\n <button\n *ngIf=\"!config?.hideCloseHeaderButton\"\n qdIconButton\n class=\"close\"\n color=\"secondary\"\n tabindex=\"-1\"\n (click)=\"close()\"\n >\n <qd-icon icon=\"timesLargeLight\"></qd-icon>\n </button>\n</div>\n\n<button\n *ngIf=\"!config?.hideCloseHeaderButton && isFullWidth\"\n qdIconButton\n class=\"close\"\n color=\"secondary\"\n tabindex=\"-1\"\n (click)=\"close()\"\n>\n <qd-icon icon=\"timesLargeLight\"></qd-icon>\n</button>\n\n<div class=\"wrapper-body\">\n <div [class.has-dialog-info-banners]=\"hasInfoBanner\" #banners>\n <ng-content select=\"qd-page-info-banner\"></ng-content>\n </div>\n <div class=\"body\" [class.full-width]=\"isFullWidth\" #body>\n <ng-content></ng-content>\n </div>\n</div>\n\n<div class=\"qd-dialog-actions\">\n <button *ngIf=\"config.cancel\" qdButton qdButtonGhost color=\"secondary\" (click)=\"close()\">Cancel</button>\n <button *ngIf=\"config.primary\" qdButton (click)=\"primaryActionClicked()\">Submit as</button>\n <ng-content select=\"qd-dialog-action\"></ng-content>\n</div>\n", styles: ["qd-dialog{display:flex;width:100%;height:100%;flex-direction:column;background:#efefef}qd-dialog.full-width{position:relative;width:calc(100% - 3rem)!important;height:calc(100% - 3rem)!important;margin:1.5rem}qd-dialog.full-width .close{position:absolute;z-index:9999;top:1.25rem;right:1rem;color:#454545;cursor:pointer}.dialog-header{display:flex;height:3.125rem;flex-direction:row;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;border-bottom:2px solid rgb(213,213,213);background:#fff}.dialog-header .title-container{display:block;color:#171717;font-weight:500}.dialog-header .close{cursor:pointer}.wrapper-body{overflow:auto;flex:1;background:#efefef}.wrapper-body .has-dialog-info-banners{padding:1rem 1.25rem .5rem;border-bottom:rgb(213,213,213) solid .0625rem;background-color:#fff}.wrapper-body .has-dialog-info-banners qd-page-info-banner:last-child{margin-bottom:0}.wrapper-body .body.full-width{height:100%}.wrapper-body .body:not(.full-width){max-height:80vh;padding:1rem 1.5rem}.wrapper-body .body:not(.full-width) qd-section{padding-right:1.5rem;padding-left:1.5rem}.wrapper-body .body:not(.full-width) qd-text-section{margin-right:0;margin-left:0}qd-dialog.has-sections .wrapper-body .body:not(.full-width){padding:0}.qd-dialog-actions{display:flex;justify-content:flex-end;padding:.5rem 1.5rem;border-top:2px solid rgb(213,213,213);background:#efefef;column-gap:.625rem}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.QdButtonComponent, selector: "button[qdButton], a[qdButton], button[qd-button]", inputs: ["disabled", "color", "icon", "data-test-id", "additionalInfo"] }, { kind: "directive", type: i6.QdButtonGhostDirective, selector: "button[qdButtonGhost], a[qdButtonGhost]" }, { kind: "component", type: i7.QdIconButtonComponent, selector: "button[qdIconButton], a[qdIconButton], button[qd-icon-button]", inputs: ["color", "data-test-id"] }, { kind: "component", type: i8.QdIconComponent, selector: "qd-icon", inputs: ["icon"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
172
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdDialogComponent, deps: [{ token: i1.DialogRef }, { token: i2.QdConfirmationDialogOpenerService }, { token: i0.ChangeDetectorRef }, { token: i3.QdDialogChangeGuardService }, { token: i4.QdDialogService }], target: i0.ɵɵFactoryTarget.Component });
173
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: QdDialogComponent, selector: "qd-dialog", host: { properties: { "class.full-width": "isFullWidth", "class.has-sections": "this.hasSectionsClass" } }, providers: [QdDialogComponent], viewQueries: [{ propertyName: "body", first: true, predicate: ["body"], descendants: true }, { propertyName: "infoBanners", first: true, predicate: ["banners"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!isFullWidth\" class=\"dialog-header\">\n <div class=\"title-container\">\n {{ config?.title?.i18n | translate }}\n </div>\n <button\n *ngIf=\"!config?.hideCloseHeaderButton\"\n qdIconButton\n class=\"close\"\n color=\"secondary\"\n tabindex=\"-1\"\n (click)=\"close()\"\n >\n <qd-icon icon=\"timesLargeLight\"></qd-icon>\n </button>\n</div>\n\n<button\n *ngIf=\"!config?.hideCloseHeaderButton && isFullWidth\"\n qdIconButton\n class=\"close\"\n color=\"secondary\"\n tabindex=\"-1\"\n (click)=\"close()\"\n>\n <qd-icon icon=\"timesLargeLight\"></qd-icon>\n</button>\n\n<div class=\"wrapper-body\">\n <div [class.has-dialog-info-banners]=\"hasInfoBanner\" #banners>\n <ng-content select=\"qd-page-info-banner\"></ng-content>\n </div>\n <div class=\"body\" [class.full-width]=\"isFullWidth\" #body>\n <ng-content></ng-content>\n </div>\n</div>\n\n<div class=\"qd-dialog-actions\">\n <button *ngIf=\"config.cancel\" qdButton qdButtonGhost color=\"secondary\" (click)=\"close()\">\n {{ config?.cancel?.label?.i18n ?? \"i18n.qd.dialog.action.cancel\" | translate }}\n </button>\n <button *ngIf=\"config.primary\" qdButton (click)=\"primaryActionClicked()\">\n {{ config?.primary?.label?.i18n ?? \"i18n.qd.dialog.action.primary\" | translate }}\n </button>\n <ng-content select=\"qd-dialog-action\"></ng-content>\n</div>\n", styles: ["qd-dialog{display:flex;width:100%;height:100%;flex-direction:column;background:#efefef}qd-dialog.full-width{position:relative;width:calc(100% - 3rem)!important;height:calc(100% - 3rem)!important;margin:1.5rem}qd-dialog.full-width .close{position:absolute;z-index:9999;top:1.25rem;right:1rem;color:#454545;cursor:pointer}.dialog-header{display:flex;height:3.125rem;flex-direction:row;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;border-bottom:2px solid rgb(213,213,213);background:#fff}.dialog-header .title-container{display:block;color:#171717;font-weight:500}.dialog-header .close{cursor:pointer}.wrapper-body{overflow:auto;flex:1;background:#efefef}.wrapper-body .has-dialog-info-banners{padding:1rem 1.25rem .5rem;border-bottom:rgb(213,213,213) solid .0625rem;background-color:#fff}.wrapper-body .has-dialog-info-banners qd-page-info-banner:last-child{margin-bottom:0}.wrapper-body .body.full-width{height:100%}.wrapper-body .body:not(.full-width){max-height:80vh;padding:1rem 1.5rem}.wrapper-body .body:not(.full-width) qd-section{padding-right:1.5rem;padding-left:1.5rem}.wrapper-body .body:not(.full-width) qd-text-section{margin-right:0;margin-left:0}qd-dialog.has-sections .wrapper-body .body:not(.full-width){padding:0}.qd-dialog-actions{display:flex;justify-content:flex-end;padding:.5rem 1.5rem;border-top:2px solid rgb(213,213,213);background:#efefef;column-gap:.625rem}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.QdButtonComponent, selector: "button[qdButton], a[qdButton], button[qd-button]", inputs: ["disabled", "color", "icon", "data-test-id", "additionalInfo"] }, { kind: "directive", type: i7.QdButtonGhostDirective, selector: "button[qdButtonGhost], a[qdButtonGhost]" }, { kind: "component", type: i8.QdIconButtonComponent, selector: "button[qdIconButton], a[qdIconButton], button[qd-icon-button]", inputs: ["color", "data-test-id"] }, { kind: "component", type: i9.QdIconComponent, selector: "qd-icon", inputs: ["icon"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
131
174
  }
132
175
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdDialogComponent, decorators: [{
133
176
  type: Component,
134
- args: [{ selector: 'qd-dialog', host: { '[class.full-width]': 'isFullWidth' }, encapsulation: ViewEncapsulation.None, providers: [QdDialogComponent], template: "<div *ngIf=\"!isFullWidth\" class=\"dialog-header\">\n <div class=\"title-container\">\n {{ config?.title?.i18n | translate }}\n </div>\n <button\n *ngIf=\"!config?.hideCloseHeaderButton\"\n qdIconButton\n class=\"close\"\n color=\"secondary\"\n tabindex=\"-1\"\n (click)=\"close()\"\n >\n <qd-icon icon=\"timesLargeLight\"></qd-icon>\n </button>\n</div>\n\n<button\n *ngIf=\"!config?.hideCloseHeaderButton && isFullWidth\"\n qdIconButton\n class=\"close\"\n color=\"secondary\"\n tabindex=\"-1\"\n (click)=\"close()\"\n>\n <qd-icon icon=\"timesLargeLight\"></qd-icon>\n</button>\n\n<div class=\"wrapper-body\">\n <div [class.has-dialog-info-banners]=\"hasInfoBanner\" #banners>\n <ng-content select=\"qd-page-info-banner\"></ng-content>\n </div>\n <div class=\"body\" [class.full-width]=\"isFullWidth\" #body>\n <ng-content></ng-content>\n </div>\n</div>\n\n<div class=\"qd-dialog-actions\">\n <button *ngIf=\"config.cancel\" qdButton qdButtonGhost color=\"secondary\" (click)=\"close()\">Cancel</button>\n <button *ngIf=\"config.primary\" qdButton (click)=\"primaryActionClicked()\">Submit as</button>\n <ng-content select=\"qd-dialog-action\"></ng-content>\n</div>\n", styles: ["qd-dialog{display:flex;width:100%;height:100%;flex-direction:column;background:#efefef}qd-dialog.full-width{position:relative;width:calc(100% - 3rem)!important;height:calc(100% - 3rem)!important;margin:1.5rem}qd-dialog.full-width .close{position:absolute;z-index:9999;top:1.25rem;right:1rem;color:#454545;cursor:pointer}.dialog-header{display:flex;height:3.125rem;flex-direction:row;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;border-bottom:2px solid rgb(213,213,213);background:#fff}.dialog-header .title-container{display:block;color:#171717;font-weight:500}.dialog-header .close{cursor:pointer}.wrapper-body{overflow:auto;flex:1;background:#efefef}.wrapper-body .has-dialog-info-banners{padding:1rem 1.25rem .5rem;border-bottom:rgb(213,213,213) solid .0625rem;background-color:#fff}.wrapper-body .has-dialog-info-banners qd-page-info-banner:last-child{margin-bottom:0}.wrapper-body .body.full-width{height:100%}.wrapper-body .body:not(.full-width){max-height:80vh;padding:1rem 1.5rem}.wrapper-body .body:not(.full-width) qd-section{padding-right:1.5rem;padding-left:1.5rem}.wrapper-body .body:not(.full-width) qd-text-section{margin-right:0;margin-left:0}qd-dialog.has-sections .wrapper-body .body:not(.full-width){padding:0}.qd-dialog-actions{display:flex;justify-content:flex-end;padding:.5rem 1.5rem;border-top:2px solid rgb(213,213,213);background:#efefef;column-gap:.625rem}\n"] }]
135
- }], ctorParameters: () => [{ type: i1.DialogRef }, { type: i2.QdConfirmationDialogOpenerService }, { type: i0.ChangeDetectorRef }, { type: i3.QdDialogChangeGuardService }], propDecorators: { body: [{
177
+ args: [{ selector: 'qd-dialog', host: { '[class.full-width]': 'isFullWidth' }, encapsulation: ViewEncapsulation.None, providers: [QdDialogComponent], template: "<div *ngIf=\"!isFullWidth\" class=\"dialog-header\">\n <div class=\"title-container\">\n {{ config?.title?.i18n | translate }}\n </div>\n <button\n *ngIf=\"!config?.hideCloseHeaderButton\"\n qdIconButton\n class=\"close\"\n color=\"secondary\"\n tabindex=\"-1\"\n (click)=\"close()\"\n >\n <qd-icon icon=\"timesLargeLight\"></qd-icon>\n </button>\n</div>\n\n<button\n *ngIf=\"!config?.hideCloseHeaderButton && isFullWidth\"\n qdIconButton\n class=\"close\"\n color=\"secondary\"\n tabindex=\"-1\"\n (click)=\"close()\"\n>\n <qd-icon icon=\"timesLargeLight\"></qd-icon>\n</button>\n\n<div class=\"wrapper-body\">\n <div [class.has-dialog-info-banners]=\"hasInfoBanner\" #banners>\n <ng-content select=\"qd-page-info-banner\"></ng-content>\n </div>\n <div class=\"body\" [class.full-width]=\"isFullWidth\" #body>\n <ng-content></ng-content>\n </div>\n</div>\n\n<div class=\"qd-dialog-actions\">\n <button *ngIf=\"config.cancel\" qdButton qdButtonGhost color=\"secondary\" (click)=\"close()\">\n {{ config?.cancel?.label?.i18n ?? \"i18n.qd.dialog.action.cancel\" | translate }}\n </button>\n <button *ngIf=\"config.primary\" qdButton (click)=\"primaryActionClicked()\">\n {{ config?.primary?.label?.i18n ?? \"i18n.qd.dialog.action.primary\" | translate }}\n </button>\n <ng-content select=\"qd-dialog-action\"></ng-content>\n</div>\n", styles: ["qd-dialog{display:flex;width:100%;height:100%;flex-direction:column;background:#efefef}qd-dialog.full-width{position:relative;width:calc(100% - 3rem)!important;height:calc(100% - 3rem)!important;margin:1.5rem}qd-dialog.full-width .close{position:absolute;z-index:9999;top:1.25rem;right:1rem;color:#454545;cursor:pointer}.dialog-header{display:flex;height:3.125rem;flex-direction:row;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;border-bottom:2px solid rgb(213,213,213);background:#fff}.dialog-header .title-container{display:block;color:#171717;font-weight:500}.dialog-header .close{cursor:pointer}.wrapper-body{overflow:auto;flex:1;background:#efefef}.wrapper-body .has-dialog-info-banners{padding:1rem 1.25rem .5rem;border-bottom:rgb(213,213,213) solid .0625rem;background-color:#fff}.wrapper-body .has-dialog-info-banners qd-page-info-banner:last-child{margin-bottom:0}.wrapper-body .body.full-width{height:100%}.wrapper-body .body:not(.full-width){max-height:80vh;padding:1rem 1.5rem}.wrapper-body .body:not(.full-width) qd-section{padding-right:1.5rem;padding-left:1.5rem}.wrapper-body .body:not(.full-width) qd-text-section{margin-right:0;margin-left:0}qd-dialog.has-sections .wrapper-body .body:not(.full-width){padding:0}.qd-dialog-actions{display:flex;justify-content:flex-end;padding:.5rem 1.5rem;border-top:2px solid rgb(213,213,213);background:#efefef;column-gap:.625rem}\n"] }]
178
+ }], ctorParameters: () => [{ type: i1.DialogRef }, { type: i2.QdConfirmationDialogOpenerService }, { type: i0.ChangeDetectorRef }, { type: i3.QdDialogChangeGuardService }, { type: i4.QdDialogService }], propDecorators: { body: [{
136
179
  type: ViewChild,
137
180
  args: ['body']
138
181
  }], infoBanners: [{
@@ -142,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
142
185
  type: HostBinding,
143
186
  args: ['class.has-sections']
144
187
  }] } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUdYLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7Ozs7O0FBRTNGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BOENNO0FBU04sTUFBTSxPQUFPLGlCQUFpQjtJQWVuQjtJQUNDO0lBQ0E7SUFDQTtJQWpCUyxJQUFJLENBQWE7SUFDZCxXQUFXLENBQWE7SUFFOUMsSUFBdUMsZ0JBQWdCO1FBQ3JELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFpQjtJQUN2QixXQUFXLENBQVU7SUFDckIsYUFBYSxDQUFVO0lBRWYsV0FBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFMUMsWUFDUyxTQUE0QixFQUMzQixN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QUFFLGFBQWEsRUFBRSxpQkFFOUIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixtQkFBbUI7dU1BR1gsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNO2dCQUNLLFdBQVc7c0JBQWhDLFNBQVM7dUJBQUMsU0FBUztnQkFFbUIsZ0JBQWdCO3NCQUF0RCxXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1zdHJpY3QtaWdub3JlXG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IFFkRGlhbG9nQ29uZmlnLCBRZERpYWxvZ1NpemUgfSBmcm9tICcuL21vZGVscy9kaWFsb2ctY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IFFkRGlhbG9nQ2hhbmdlR3VhcmRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kaWFsb2ctY2hhbmdlLWd1YXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUWRDb25maXJtYXRpb25EaWFsb2dPcGVuZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb25maXJtYXRpb24tZGlhbG9nLnNlcnZpY2UnO1xuXG4vKipcbiAqICoqUWREaWFsb2cqKiBjcmVhdGluZyByZXNvbnNpdmUgZGlhbG9ncy4gVGhyZWUgZGlmZmVyZW50IHNpemVzIGFyZSBhdmFpbGFibGUuXG4gKlxuICpcbiAqICogQHNlZSBjaGlsZCBjb21wb25lbnQ6ICoqUWREaWFsb2dBY3Rpb24qKi5cbiAqXG4gKiAqKlVzYWdlOioqXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IFFkRGlhbG9nU2VydmljZSB9IGZyb20gJ0BxdWFkcmVsLXVpL3FkLXVpJztcbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgY29uZmlnOiBRZERpYWxvZ0NvbmZpZyA9IHtcbiAqICAgdGl0bGU6IHtcbiAqICAgICAgaTE4bjogXCJpMTgubXkubW9kYWwudGl0bGVcIixcbiAqICAgfSxcbiAqICAgZGlhbG9nU2l6ZTogUWREaWFsb2dTaXplLkRlZmF1bHQsXG4gKiAgIGhpZGVDbG9zZUhlYWRlckJ1dHRvbjogZmFsc2VcbiAqICAgZGF0YTogbXlEYXRhIC8vIEFQSSB0byBwcm92aWRlIGRhdGEgdG8gdGhlIGRpYWxvZ1xuICogfVxuICpcbiAqIEBleGFtcGxlXG4gKiB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihNeU1vZGFsQ29tcG9uZW50LCBjb25maWcpO1xuICpcbiAqICoqRXhhbXBsZSBvZiBNeU1vZGFsQ29tcG9uZW50OioqXG4gKlxuICogQGV4YW1wbGVcbiAqIDxxZC1kaWFsb2c+XG4gKiAgICAgPCEtLSBEaWFsb2cgQ29udGVudCBTVEFSVC0tPlxuICogICAgIC4uLlxuICogICAgIDwhLS0gRGlhbG9nIENvbnRlbnQgRU5ERS0tPlxuICogICAgIDxxZC1kaWFsb2ctYWN0aW9uPlxuICogICAgICAgICA8YnV0dG9uIHFkQnV0dG9uIGNvbG9yPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNsb3NlKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAqICAgICAgICAgPGJ1dHRvbiBxZEJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoJ1llcycpXCI+U3VibWl0PC9idXR0b24+XG4gKiAgICAgPC9xZC1kaWFsb2ctYWN0aW9uPlxuICogPC9xZC1kaWFsb2c+XG4gKlxuICogICoqRXhhbXBsZSBvZiBNeU1vZGFsQ29tcG9uZW50IChJbmNsdWRpbmcgRm9ybSBDaGFuZ2UgR3VhcmQpOioqXG4gKlxuICogIEBleGFtcGxlXG4gKiAgPHFkLWRpYWxvZz5cbiAqICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJteUZvcm1cIiBxZFBlbmRpbmdDaGFuZ2VzR3VhcmQ+XG4gKiAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIj5cbiAqICAgWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIVxuICogICA8L2Zvcm0+XG4gKiAgPC9xZC1kaWFsb2c+XG4gKiAgKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3FkLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7ICdbY2xhc3MuZnVsbC13aWR0aF0nOiAnaXNGdWxsV2lkdGgnIH0sXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtRZERpYWxvZ0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUWREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2JvZHknKSBib2R5OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdiYW5uZXJzJykgaW5mb0Jhbm5lcnM6IEVsZW1lbnRSZWY7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtc2VjdGlvbnMnKSBnZXQgaGFzU2VjdGlvbnNDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNTZWN0aW9ucztcbiAgfVxuXG4gIGNvbmZpZzogUWREaWFsb2dDb25maWc7XG4gIGhhc1NlY3Rpb25zOiBib29sZWFuO1xuICBoYXNJbmZvQmFubmVyOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjxzdHJpbmc+LFxuICAgIHByaXZhdGUgZGlhbG9nOiBRZENvbmZpcm1hdGlvbkRpYWxvZ09wZW5lclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBkaWFsb2dDaGFuZ2VHdWFyZDogUWREaWFsb2dDaGFuZ2VHdWFyZFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0gdGhpcy5kaWFsb2dSZWYuY29uZmlnO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLmJvZHk/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkTm9kZXMgfHwgW10pO1xuICAgIHRoaXMuaGFzU2VjdGlvbnMgPSBjaGlsZHJlbi5sZW5ndGggPiAwICYmIGNoaWxkcmVuLmV2ZXJ5KChub2RlOiBIVE1MRWxlbWVudCkgPT4gbm9kZS50YWdOYW1lID09PSAnUUQtU0VDVElPTicpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGJhbm5lckNoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLmluZm9CYW5uZXJzPy5uYXRpdmVFbGVtZW50Py5jaGlsZE5vZGVzIHx8IFtdKTtcbiAgICB0aGlzLmhhc0luZm9CYW5uZXIgPVxuICAgICAgYmFubmVyQ2hpbGRyZW4ubGVuZ3RoID4gMCAmJiBiYW5uZXJDaGlsZHJlbi5zb21lKChub2RlOiBIVE1MRWxlbWVudCkgPT4gbm9kZS50YWdOYW1lID09PSAnUUQtUEFHRS1JTkZPLUJBTk5FUicpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgY29uc3QgaGFzUGVuZGluZ0NoYW5nZXMgPSB0aGlzLmRpYWxvZ0NoYW5nZUd1YXJkLmhhc1BlbmRpbmdDaGFuZ2VzO1xuXG4gICAgaWYgKGhhc1BlbmRpbmdDaGFuZ2VzKSB7XG4gICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAuc2hvd0NhbmNlbENvbmZpcm1hdGlvbih0aGlzLmNvbmZpZylcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCQpKVxuICAgICAgICAuc3Vic2NyaWJlKGNvbmZpcm1lZCA9PiB7XG4gICAgICAgICAgaWYgKGNvbmZpcm1lZCkgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5jYW5jZWw/LmhhbmRsZXIpIHRoaXMuY29uZmlnLmNhbmNlbD8uaGFuZGxlcigpO1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcmltYXJ5QWN0aW9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcucHJpbWFyeT8uaGFuZGxlcikgdGhpcy5jb25maWcucHJpbWFyeT8uaGFuZGxlcigpO1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBnZXQgaXNGdWxsV2lkdGgoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmRpYWxvZ1NpemUgPT09IFFkRGlhbG9nU2l6ZS5GdWxsV2lkdGg7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhaXNGdWxsV2lkdGhcIiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxuICAgIHt7IGNvbmZpZz8udGl0bGU/LmkxOG4gfCB0cmFuc2xhdGUgfX1cbiAgPC9kaXY+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIiFjb25maWc/LmhpZGVDbG9zZUhlYWRlckJ1dHRvblwiXG4gICAgcWRJY29uQnV0dG9uXG4gICAgY2xhc3M9XCJjbG9zZVwiXG4gICAgY29sb3I9XCJzZWNvbmRhcnlcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgPlxuICAgIDxxZC1pY29uIGljb249XCJ0aW1lc0xhcmdlTGlnaHRcIj48L3FkLWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxidXR0b25cbiAgKm5nSWY9XCIhY29uZmlnPy5oaWRlQ2xvc2VIZWFkZXJCdXR0b24gJiYgaXNGdWxsV2lkdGhcIlxuICBxZEljb25CdXR0b25cbiAgY2xhc3M9XCJjbG9zZVwiXG4gIGNvbG9yPVwic2Vjb25kYXJ5XCJcbiAgdGFiaW5kZXg9XCItMVwiXG4gIChjbGljayk9XCJjbG9zZSgpXCJcbj5cbiAgPHFkLWljb24gaWNvbj1cInRpbWVzTGFyZ2VMaWdodFwiPjwvcWQtaWNvbj5cbjwvYnV0dG9uPlxuXG48ZGl2IGNsYXNzPVwid3JhcHBlci1ib2R5XCI+XG4gIDxkaXYgW2NsYXNzLmhhcy1kaWFsb2ctaW5mby1iYW5uZXJzXT1cImhhc0luZm9CYW5uZXJcIiAjYmFubmVycz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJxZC1wYWdlLWluZm8tYmFubmVyXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImJvZHlcIiBbY2xhc3MuZnVsbC13aWR0aF09XCJpc0Z1bGxXaWR0aFwiICNib2R5PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInFkLWRpYWxvZy1hY3Rpb25zXCI+XG4gIDxidXR0b24gKm5nSWY9XCJjb25maWcuY2FuY2VsXCIgcWRCdXR0b24gcWRCdXR0b25HaG9zdCBjb2xvcj1cInNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+Q2FuY2VsPC9idXR0b24+XG4gIDxidXR0b24gKm5nSWY9XCJjb25maWcucHJpbWFyeVwiIHFkQnV0dG9uIChjbGljayk9XCJwcmltYXJ5QWN0aW9uQ2xpY2tlZCgpXCI+U3VibWl0IGFzPC9idXR0b24+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInFkLWRpYWxvZy1hY3Rpb25cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBR1gsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQWtCLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRzVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BOENNO0FBU04sTUFBTSxPQUFPLGlCQUFpQjtJQXdCbkI7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQTFCVixJQUFJLENBQTJCO0lBRy9CLFdBQVcsQ0FBMkI7SUFFdEMsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQWtCO0lBQ3hCLFdBQVcsQ0FBVztJQUN0QixhQUFhLENBQVc7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LElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYTthQUN6QixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsTUFBTSxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FDakQ7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3VHQXpIVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixnSkFGakIsQ0FBQyxpQkFBaUIsQ0FBQyxpTkMzRWhDLDYyQ0E2Q0E7OzJGRGdDYSxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0UsV0FBVyxRQUVmLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLGlCQUU5QixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLG1CQUFtQjtxT0FJOUIsSUFBSTtzQkFESCxTQUFTO3VCQUFDLE1BQU07Z0JBSWpCLFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxTQUFTO2dCQUloQixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUWREaWFsb2dDb25maWcsIFFkRGlhbG9nU2l6ZSB9IGZyb20gJy4vbW9kZWxzL2RpYWxvZy1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgUWREaWFsb2dDaGFuZ2VHdWFyZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RpYWxvZy1jaGFuZ2UtZ3VhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBRZENvbmZpcm1hdGlvbkRpYWxvZ09wZW5lclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBRZERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFFkUGFnZURpYWxvZ0NhbkNsb3NlRm4gfSBmcm9tICcuL21vZGVscy9kaWFsb2ctY2xvc2UubW9kZWwnO1xuXG4vKipcbiAqICoqUWREaWFsb2cqKiBjcmVhdGluZyByZXNvbnNpdmUgZGlhbG9ncy4gVGhyZWUgZGlmZmVyZW50IHNpemVzIGFyZSBhdmFpbGFibGUuXG4gKlxuICpcbiAqICogQHNlZSBjaGlsZCBjb21wb25lbnQ6ICoqUWREaWFsb2dBY3Rpb24qKi5cbiAqXG4gKiAqKlVzYWdlOioqXG4gKlxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7IFFkRGlhbG9nU2VydmljZSB9IGZyb20gJ0BxdWFkcmVsLXVpL3FkLXVpJztcbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgY29uZmlnOiBRZERpYWxvZ0NvbmZpZyA9IHtcbiAqICAgdGl0bGU6IHtcbiAqICAgICAgaTE4bjogXCJpMTgubXkubW9kYWwudGl0bGVcIixcbiAqICAgfSxcbiAqICAgZGlhbG9nU2l6ZTogUWREaWFsb2dTaXplLkRlZmF1bHQsXG4gKiAgIGhpZGVDbG9zZUhlYWRlckJ1dHRvbjogZmFsc2VcbiAqICAgZGF0YTogbXlEYXRhIC8vIEFQSSB0byBwcm92aWRlIGRhdGEgdG8gdGhlIGRpYWxvZ1xuICogfVxuICpcbiAqIEBleGFtcGxlXG4gKiB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihNeU1vZGFsQ29tcG9uZW50LCBjb25maWcpO1xuICpcbiAqICoqRXhhbXBsZSBvZiBNeU1vZGFsQ29tcG9uZW50OioqXG4gKlxuICogQGV4YW1wbGVcbiAqIDxxZC1kaWFsb2c+XG4gKiAgICAgPCEtLSBEaWFsb2cgQ29udGVudCBTVEFSVC0tPlxuICogICAgIC4uLlxuICogICAgIDwhLS0gRGlhbG9nIENvbnRlbnQgRU5ERS0tPlxuICogICAgIDxxZC1kaWFsb2ctYWN0aW9uPlxuICogICAgICAgICA8YnV0dG9uIHFkQnV0dG9uIGNvbG9yPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNsb3NlKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAqICAgICAgICAgPGJ1dHRvbiBxZEJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoJ1llcycpXCI+U3VibWl0PC9idXR0b24+XG4gKiAgICAgPC9xZC1kaWFsb2ctYWN0aW9uPlxuICogPC9xZC1kaWFsb2c+XG4gKlxuICogICoqRXhhbXBsZSBvZiBNeU1vZGFsQ29tcG9uZW50IChJbmNsdWRpbmcgRm9ybSBDaGFuZ2UgR3VhcmQpOioqXG4gKlxuICogIEBleGFtcGxlXG4gKiAgPHFkLWRpYWxvZz5cbiAqICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJteUZvcm1cIiBxZFBlbmRpbmdDaGFuZ2VzR3VhcmQ+XG4gKiAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIj5cbiAqICAgWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIVxuICogICA8L2Zvcm0+XG4gKiAgPC9xZC1kaWFsb2c+XG4gKiAgKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3FkLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7ICdbY2xhc3MuZnVsbC13aWR0aF0nOiAnaXNGdWxsV2lkdGgnIH0sXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtRZERpYWxvZ0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUWREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2JvZHknKVxuICBib2R5PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnYmFubmVycycpXG4gIGluZm9CYW5uZXJzPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtc2VjdGlvbnMnKVxuICBnZXQgaGFzU2VjdGlvbnNDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNTZWN0aW9ucztcbiAgfVxuXG4gIGNvbmZpZyE6IFFkRGlhbG9nQ29uZmlnO1xuICBoYXNTZWN0aW9ucyE6IGJvb2xlYW47XG4gIGhhc0luZm9CYW5uZXIhOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9wYWdlRGlhbG9nQ2FuQ2xvc2VGbjogUWRQYWdlRGlhbG9nQ2FuQ2xvc2VGbiB8IG51bGwgPSBudWxsO1xuXG4gIGdldCBpc0Z1bGxXaWR0aCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZGlhbG9nU2l6ZSA9PT0gUWREaWFsb2dTaXplLkZ1bGxXaWR0aDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjx1bmtub3duPixcbiAgICBwcml2YXRlIGRpYWxvZzogUWRDb25maXJtYXRpb25EaWFsb2dPcGVuZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZGlhbG9nQ2hhbmdlR3VhcmQ6IFFkRGlhbG9nQ2hhbmdlR3VhcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogUWREaWFsb2dTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuZGlhbG9nUmVmLmNvbmZpZyBhcyB1bmtub3duIGFzIFFkRGlhbG9nQ29uZmlnO1xuXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnBhZ2VEaWFsb2dDYW5DbG9zZSQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkJCkpLnN1YnNjcmliZShlbnRyeSA9PiB7XG4gICAgICB0aGlzLl9wYWdlRGlhbG9nQ2FuQ2xvc2VGbiA9IGVudHJ5Py5vd25lciA9PT0gdGhpcy5kaWFsb2dSZWYgPyBlbnRyeS5mbiA6IG51bGw7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5pc0Z1bGxXaWR0aCkgdGhpcy5iaW5kRXNjVG9DbG9zZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLmJvZHk/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkcmVuID8/IFtdKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIHRoaXMuaGFzU2VjdGlvbnMgPSBjaGlsZHJlbi5sZW5ndGggPiAwICYmIGNoaWxkcmVuLmV2ZXJ5KChub2RlOiBIVE1MRWxlbWVudCkgPT4gbm9kZS50YWdOYW1lID09PSAnUUQtU0VDVElPTicpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGJhbm5lckNoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLmluZm9CYW5uZXJzPy5uYXRpdmVFbGVtZW50Py5jaGlsZE5vZGVzID8/IFtdKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIHRoaXMuaGFzSW5mb0Jhbm5lciA9XG4gICAgICBiYW5uZXJDaGlsZHJlbi5sZW5ndGggPiAwICYmIGJhbm5lckNoaWxkcmVuLnNvbWUoKG5vZGU6IEhUTUxFbGVtZW50KSA9PiBub2RlLnRhZ05hbWUgPT09ICdRRC1QQUdFLUlORk8tQkFOTkVSJyk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY2xlYXJQYWdlRGlhbG9nQ2FuQ2xvc2UodGhpcy5kaWFsb2dSZWYpO1xuICAgIHRoaXMuX2Rlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRnVsbFdpZHRoICYmIHRoaXMuX3BhZ2VEaWFsb2dDYW5DbG9zZUZuKSByZXR1cm4gdGhpcy5oYW5kbGVQYWdlRGlhbG9nQ2xvc2UoKTtcblxuICAgIHRoaXMuaGFuZGxlTGVnYWN5RGlhbG9nQ2xvc2UoKTtcbiAgfVxuXG4gIHByaW1hcnlBY3Rpb25DbGlja2VkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZy5wcmltYXJ5Py5oYW5kbGVyKSB0aGlzLmNvbmZpZy5wcmltYXJ5Py5oYW5kbGVyKCk7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluYWxpemVDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY2xlYXJQYWdlRGlhbG9nQ2FuQ2xvc2UodGhpcy5kaWFsb2dSZWYpO1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIGNvbmZpcm1BbmRDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1xuICAgICAgLnNob3dDYW5jZWxDb25maXJtYXRpb24odGhpcy5jb25maWcpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZShjb25maXJtZWQgPT4ge1xuICAgICAgICBpZiAoIWNvbmZpcm1lZCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuY29uZmlnLmNhbmNlbD8uaGFuZGxlcj8uKCk7XG4gICAgICAgIHRoaXMuZmluYWxpemVDbG9zZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBhZ2VEaWFsb2dDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9wYWdlRGlhbG9nQ2FuQ2xvc2VGbiEoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgaWYgKCFyZXN1bHQpIHJldHVybjtcbiAgICAgICAgaWYgKHJlc3VsdC5jYW5DbG9zZSkgcmV0dXJuIHRoaXMucnVuQ2FuY2VsSGFuZGxlckFuZENsb3NlKCk7XG4gICAgICAgIGlmICghcmVzdWx0Lmhhc0NoYW5nZXMpIHJldHVybjtcblxuICAgICAgICB0aGlzLmNvbmZpcm1BbmRDbG9zZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxlZ2FjeURpYWxvZ0Nsb3NlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaWFsb2dDaGFuZ2VHdWFyZC5oYXNQZW5kaW5nQ2hhbmdlcykgcmV0dXJuIHRoaXMucnVuQ2FuY2VsSGFuZGxlckFuZENsb3NlKCk7XG5cbiAgICB0aGlzLmNvbmZpcm1BbmRDbG9zZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBydW5DYW5jZWxIYW5kbGVyQW5kQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcuY2FuY2VsPy5oYW5kbGVyPy4oKTtcbiAgICB0aGlzLmZpbmFsaXplQ2xvc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgYmluZEVzY1RvQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYua2V5ZG93bkV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQkKSxcbiAgICAgICAgZmlsdGVyKChlOiBLZXlib2FyZEV2ZW50KSA9PiBlLmtleSA9PT0gJ0VzY2FwZScpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiIWlzRnVsbFdpZHRoXCIgY2xhc3M9XCJkaWFsb2ctaGVhZGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZS1jb250YWluZXJcIj5cbiAgICB7eyBjb25maWc/LnRpdGxlPy5pMThuIHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCIhY29uZmlnPy5oaWRlQ2xvc2VIZWFkZXJCdXR0b25cIlxuICAgIHFkSWNvbkJ1dHRvblxuICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgIGNvbG9yPVwic2Vjb25kYXJ5XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gID5cbiAgICA8cWQtaWNvbiBpY29uPVwidGltZXNMYXJnZUxpZ2h0XCI+PC9xZC1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48YnV0dG9uXG4gICpuZ0lmPVwiIWNvbmZpZz8uaGlkZUNsb3NlSGVhZGVyQnV0dG9uICYmIGlzRnVsbFdpZHRoXCJcbiAgcWRJY29uQnV0dG9uXG4gIGNsYXNzPVwiY2xvc2VcIlxuICBjb2xvcj1cInNlY29uZGFyeVwiXG4gIHRhYmluZGV4PVwiLTFcIlxuICAoY2xpY2spPVwiY2xvc2UoKVwiXG4+XG4gIDxxZC1pY29uIGljb249XCJ0aW1lc0xhcmdlTGlnaHRcIj48L3FkLWljb24+XG48L2J1dHRvbj5cblxuPGRpdiBjbGFzcz1cIndyYXBwZXItYm9keVwiPlxuICA8ZGl2IFtjbGFzcy5oYXMtZGlhbG9nLWluZm8tYmFubmVyc109XCJoYXNJbmZvQmFubmVyXCIgI2Jhbm5lcnM+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicWQtcGFnZS1pbmZvLWJhbm5lclwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJib2R5XCIgW2NsYXNzLmZ1bGwtd2lkdGhdPVwiaXNGdWxsV2lkdGhcIiAjYm9keT5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJxZC1kaWFsb2ctYWN0aW9uc1wiPlxuICA8YnV0dG9uICpuZ0lmPVwiY29uZmlnLmNhbmNlbFwiIHFkQnV0dG9uIHFkQnV0dG9uR2hvc3QgY29sb3I9XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgIHt7IGNvbmZpZz8uY2FuY2VsPy5sYWJlbD8uaTE4biA/PyBcImkxOG4ucWQuZGlhbG9nLmFjdGlvbi5jYW5jZWxcIiB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiAqbmdJZj1cImNvbmZpZy5wcmltYXJ5XCIgcWRCdXR0b24gKGNsaWNrKT1cInByaW1hcnlBY3Rpb25DbGlja2VkKClcIj5cbiAgICB7eyBjb25maWc/LnByaW1hcnk/LmxhYmVsPy5pMThuID8/IFwiaTE4bi5xZC5kaWFsb2cuYWN0aW9uLnByaW1hcnlcIiB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicWQtZGlhbG9nLWFjdGlvblwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -21,10 +21,11 @@ import { QD_DIALOG_CONFIRMATION_RESOLVER_TOKEN } from './models/confirmation.mod
21
21
  import { QdPageDialogWithBreadcrumbsComponent } from './page-dialog-with-breadcrumbs/page-dialog-with-breadcrumbs.component';
22
22
  import { QdCoreModule } from '../core/core.module';
23
23
  import { QdBreadcrumbsModule } from '../core/breadcrumbs/breadcrumbs.module';
24
- import { PendingChangesGuardDirective } from './directives/pending-changes-guard.directive';
24
+ import { QdPendingChangesGuardDirective } from './directives/pending-changes-guard.directive';
25
25
  import { QdCancelDialogComponent } from './cancel-confirmation-dialog/cancel-dialog.component';
26
+ import { QD_PAGE_DIALOG_WITH_BREADCRUMBS_HOST } from './models/page-dialog-host.token';
26
27
  import * as i0 from "@angular/core";
27
- export { QdDialogComponent, QdDialogActionComponent, QdDialogRecordStepperComponent, QdDialogAuthSessionEndComponent, QdDialogConfirmationComponent, QdDialogConfirmationErrorDirective, QdDialogConfirmationInfoDirective, QdDialogConfirmationSuccessDirective, QdDialogService, QdDialogAuthSessionEndService, QdDialogSize, PendingChangesGuardDirective, QD_DIALOG_CONFIRMATION_RESOLVER_TOKEN };
28
+ export { QdDialogComponent, QdDialogActionComponent, QdDialogRecordStepperComponent, QdDialogAuthSessionEndComponent, QdDialogConfirmationComponent, QdDialogConfirmationErrorDirective, QdDialogConfirmationInfoDirective, QdDialogConfirmationSuccessDirective, QdDialogService, QdDialogAuthSessionEndService, QdDialogSize, QdPendingChangesGuardDirective, QD_DIALOG_CONFIRMATION_RESOLVER_TOKEN };
28
29
  export class QdDialogModule {
29
30
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
31
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: QdDialogModule, declarations: [QdDialogActionComponent,
@@ -36,7 +37,7 @@ export class QdDialogModule {
36
37
  QdDialogConfirmationSuccessDirective,
37
38
  QdDialogRecordStepperComponent,
38
39
  QdPageDialogWithBreadcrumbsComponent,
39
- PendingChangesGuardDirective,
40
+ QdPendingChangesGuardDirective,
40
41
  QdCancelDialogComponent], imports: [CommonModule,
41
42
  TranslateModule,
42
43
  RouterModule,
@@ -55,8 +56,13 @@ export class QdDialogModule {
55
56
  QdDialogConfirmationErrorDirective,
56
57
  QdDialogConfirmationSuccessDirective,
57
58
  QdDialogRecordStepperComponent,
58
- PendingChangesGuardDirective] });
59
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdDialogModule, imports: [CommonModule,
59
+ QdPendingChangesGuardDirective] });
60
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: QdDialogModule, providers: [
61
+ {
62
+ provide: QD_PAGE_DIALOG_WITH_BREADCRUMBS_HOST,
63
+ useValue: QdPageDialogWithBreadcrumbsComponent
64
+ }
65
+ ], imports: [CommonModule,
60
66
  TranslateModule,
61
67
  RouterModule,
62
68
  CDKDialogModule,
@@ -96,7 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
96
102
  QdDialogConfirmationSuccessDirective,
97
103
  QdDialogRecordStepperComponent,
98
104
  QdPageDialogWithBreadcrumbsComponent,
99
- PendingChangesGuardDirective,
105
+ QdPendingChangesGuardDirective,
100
106
  QdCancelDialogComponent
101
107
  ],
102
108
  exports: [
@@ -107,8 +113,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
107
113
  QdDialogConfirmationErrorDirective,
108
114
  QdDialogConfirmationSuccessDirective,
109
115
  QdDialogRecordStepperComponent,
110
- PendingChangesGuardDirective
116
+ QdPendingChangesGuardDirective
117
+ ],
118
+ providers: [
119
+ {
120
+ provide: QD_PAGE_DIALOG_WITH_BREADCRUMBS_HOST,
121
+ useValue: QdPageDialogWithBreadcrumbsComponent
122
+ }
111
123
  ]
112
124
  }]
113
125
  }] });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksSUFBSSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBa0IsWUFBWSxFQUFpQixNQUFNLDhCQUE4QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRyxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLGtDQUFrQyxFQUNsQyxpQ0FBaUMsRUFDakMsb0NBQW9DLEVBQ3JDLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDdkcsT0FBTyxFQUNMLHFDQUFxQyxFQUd0QyxNQUFNLDZCQUE2QixDQUFDO0FBR3JDLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzdILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFFL0YsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsOEJBQThCLEVBQzlCLCtCQUErQixFQUMvQiw2QkFBNkIsRUFDN0Isa0NBQWtDLEVBQ2xDLGlDQUFpQyxFQUNqQyxvQ0FBb0MsRUFDcEMsZUFBZSxFQUNmLDZCQUE2QixFQUc3QixZQUFZLEVBS1osNEJBQTRCLEVBQzVCLHFDQUFxQyxFQUN0QyxDQUFDO0FBeUNGLE1BQU0sT0FBTyxjQUFjO3VHQUFkLGNBQWM7d0dBQWQsY0FBYyxpQkF2QnZCLHVCQUF1QjtZQUN2QiwrQkFBK0I7WUFDL0IsaUJBQWlCO1lBQ2pCLDZCQUE2QjtZQUM3QixrQ0FBa0M7WUFDbEMsaUNBQWlDO1lBQ2pDLG9DQUFvQztZQUNwQyw4QkFBOEI7WUFDOUIsb0NBQW9DO1lBQ3BDLDRCQUE0QjtZQUM1Qix1QkFBdUIsYUF4QnZCLFlBQVk7WUFDWixlQUFlO1lBQ2YsWUFBWTtZQUNaLGVBQWU7WUFDZixjQUFjO1lBQ2QsWUFBWTtZQUNaLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osbUJBQW1CLGFBZ0JuQix1QkFBdUI7WUFDdkIsK0JBQStCO1lBQy9CLGlCQUFpQjtZQUNqQiw2QkFBNkI7WUFDN0Isa0NBQWtDO1lBQ2xDLG9DQUFvQztZQUNwQyw4QkFBOEI7WUFDOUIsNEJBQTRCO3dHQUduQixjQUFjLFlBckN2QixZQUFZO1lBQ1osZUFBZTtZQUNmLFlBQVk7WUFDWixlQUFlO1lBQ2YsY0FBYztZQUNkLFlBQVk7WUFDWixZQUFZO1lBQ1oscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLG1CQUFtQjs7MkZBMEJWLGNBQWM7a0JBdkMxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3dCQUN2QiwrQkFBK0I7d0JBQy9CLGlCQUFpQjt3QkFDakIsNkJBQTZCO3dCQUM3QixrQ0FBa0M7d0JBQ2xDLGlDQUFpQzt3QkFDakMsb0NBQW9DO3dCQUNwQyw4QkFBOEI7d0JBQzlCLG9DQUFvQzt3QkFDcEMsNEJBQTRCO3dCQUM1Qix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLCtCQUErQjt3QkFDL0IsaUJBQWlCO3dCQUNqQiw2QkFBNkI7d0JBQzdCLGtDQUFrQzt3QkFDbEMsb0NBQW9DO3dCQUNwQyw4QkFBOEI7d0JBQzlCLDRCQUE0QjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgYXMgQ0RLRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgUWRCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBRZEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IFFkTm90aWZpY2F0aW9uc01vZHVsZSB9IGZyb20gJy4uL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy5tb2R1bGUnO1xuaW1wb3J0IHsgUWRGb3JtTW9kdWxlIH0gZnJvbSAnLi4vZm9ybXMvcWQtZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgUWRUZXh0U2VjdGlvbk1vZHVsZSB9IGZyb20gJy4uL3RleHQtc2VjdGlvbi90ZXh0LXNlY3Rpb24ubW9kdWxlJztcbmltcG9ydCB7IFFkU3Bpbm5lck1vZHVsZSB9IGZyb20gJy4uL3NwaW5uZXIvc3Bpbm5lci5tb2R1bGUnO1xuXG5pbXBvcnQgeyBRZERpYWxvZ0FjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9uL2RpYWxvZy1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFFkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFFkRGlhbG9nQ29uZmlnLCBRZERpYWxvZ1NpemUsIFFkRGlhbG9nVGl0bGUgfSBmcm9tICcuL21vZGVscy9kaWFsb2ctY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IFFkRGlhbG9nU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWREaWFsb2dBdXRoU2Vzc2lvbkVuZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RpYWxvZy1hdXRoLXNlc3Npb24tZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHsgUWREaWFsb2dSZWNvcmRTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9yZWNvcmQtc3RlcHBlci9kaWFsb2ctcmVjb3JkLXN0ZXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFFkRGlhbG9nQ29uZmlybWF0aW9uQ29tcG9uZW50LFxuICBRZERpYWxvZ0NvbmZpcm1hdGlvbkVycm9yRGlyZWN0aXZlLFxuICBRZERpYWxvZ0NvbmZpcm1hdGlvbkluZm9EaXJlY3RpdmUsXG4gIFFkRGlhbG9nQ29uZmlybWF0aW9uU3VjY2Vzc0RpcmVjdGl2ZVxufSBmcm9tICcuL2NvbmZpcm1hdGlvbi9kaWFsb2ctY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZERpYWxvZ0F1dGhTZXNzaW9uRW5kQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLXNlc3Npb24tZW5kL2RpYWxvZy1hdXRoLXNlc3Npb24tZW5kLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBRRF9ESUFMT0dfQ09ORklSTUFUSU9OX1JFU09MVkVSX1RPS0VOLFxuICBRZERpYWxvZ0NvbmZpcm1hdGlvbkNvbmZpZyxcbiAgUWREaWFsb2dDb25maXJtYXRpb25SZXNvbHZlclxufSBmcm9tICcuL21vZGVscy9jb25maXJtYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgUWREaWFsb2dEYXRhIH0gZnJvbSAnLi9tb2RlbHMvcmVjb3JkLXN0ZXBwZXIubW9kZWwnO1xuaW1wb3J0IHsgUWREaWFsb2dBdXRoU2Vzc2lvbkVuZFJlc3VsdCB9IGZyb20gJy4vbW9kZWxzL3Nlc3Npb24tZW5kLXJlc3VsdC5tb2RlbCc7XG5pbXBvcnQgeyBRZFBhZ2VEaWFsb2dXaXRoQnJlYWRjcnVtYnNDb21wb25lbnQgfSBmcm9tICcuL3BhZ2UtZGlhbG9nLXdpdGgtYnJlYWRjcnVtYnMvcGFnZS1kaWFsb2ctd2l0aC1icmVhZGNydW1icy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWRDb3JlTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9jb3JlLm1vZHVsZSc7XG5pbXBvcnQgeyBRZEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9icmVhZGNydW1icy9icmVhZGNydW1icy5tb2R1bGUnO1xuaW1wb3J0IHsgUGVuZGluZ0NoYW5nZXNHdWFyZERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9wZW5kaW5nLWNoYW5nZXMtZ3VhcmQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFFkQ2FuY2VsRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jYW5jZWwtY29uZmlybWF0aW9uLWRpYWxvZy9jYW5jZWwtZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB7XG4gIFFkRGlhbG9nQ29tcG9uZW50LFxuICBRZERpYWxvZ0FjdGlvbkNvbXBvbmVudCxcbiAgUWREaWFsb2dSZWNvcmRTdGVwcGVyQ29tcG9uZW50LFxuICBRZERpYWxvZ0F1dGhTZXNzaW9uRW5kQ29tcG9uZW50LFxuICBRZERpYWxvZ0NvbmZpcm1hdGlvbkNvbXBvbmVudCxcbiAgUWREaWFsb2dDb25maXJtYXRpb25FcnJvckRpcmVjdGl2ZSxcbiAgUWREaWFsb2dDb25maXJtYXRpb25JbmZvRGlyZWN0aXZlLFxuICBRZERpYWxvZ0NvbmZpcm1hdGlvblN1Y2Nlc3NEaXJlY3RpdmUsXG4gIFFkRGlhbG9nU2VydmljZSxcbiAgUWREaWFsb2dBdXRoU2Vzc2lvbkVuZFNlcnZpY2UsXG4gIFFkRGlhbG9nQ29uZmlnLFxuICBRZERpYWxvZ1RpdGxlLFxuICBRZERpYWxvZ1NpemUsXG4gIFFkRGlhbG9nRGF0YSxcbiAgUWREaWFsb2dBdXRoU2Vzc2lvbkVuZFJlc3VsdCxcbiAgUWREaWFsb2dDb25maXJtYXRpb25Db25maWcsXG4gIFFkRGlhbG9nQ29uZmlybWF0aW9uUmVzb2x2ZXIsXG4gIFBlbmRpbmdDaGFuZ2VzR3VhcmREaXJlY3RpdmUsXG4gIFFEX0RJQUxPR19DT05GSVJNQVRJT05fUkVTT0xWRVJfVE9LRU5cbn07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBDREtEaWFsb2dNb2R1bGUsXG4gICAgUWRCdXR0b25Nb2R1bGUsXG4gICAgUWRGb3JtTW9kdWxlLFxuICAgIFFkSWNvbk1vZHVsZSxcbiAgICBRZE5vdGlmaWNhdGlvbnNNb2R1bGUsXG4gICAgUWRTcGlubmVyTW9kdWxlLFxuICAgIFFkVGV4dFNlY3Rpb25Nb2R1bGUsXG4gICAgUWRDb3JlTW9kdWxlLFxuICAgIFFkQnJlYWRjcnVtYnNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUWREaWFsb2dBY3Rpb25Db21wb25lbnQsXG4gICAgUWREaWFsb2dBdXRoU2Vzc2lvbkVuZENvbXBvbmVudCxcbiAgICBRZERpYWxvZ0NvbXBvbmVudCxcbiAgICBRZERpYWxvZ0NvbmZpcm1hdGlvbkNvbXBvbmVudCxcbiAgICBRZERpYWxvZ0NvbmZpcm1hdGlvbkVycm9yRGlyZWN0aXZlLFxuICAgIFFkRGlhbG9nQ29uZmlybWF0aW9uSW5mb0RpcmVjdGl2ZSxcbiAgICBRZERpYWxvZ0NvbmZpcm1hdGlvblN1Y2Nlc3NEaXJlY3RpdmUsXG4gICAgUWREaWFsb2dSZWNvcmRTdGVwcGVyQ29tcG9uZW50LFxuICAgIFFkUGFnZURpYWxvZ1dpdGhCcmVhZGNydW1ic0NvbXBvbmVudCxcbiAgICBQZW5kaW5nQ2hhbmdlc0d1YXJkRGlyZWN0aXZlLFxuICAgIFFkQ2FuY2VsRGlhbG9nQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBRZERpYWxvZ0FjdGlvbkNvbXBvbmVudCxcbiAgICBRZERpYWxvZ0F1dGhTZXNzaW9uRW5kQ29tcG9uZW50LFxuICAgIFFkRGlhbG9nQ29tcG9uZW50LFxuICAgIFFkRGlhbG9nQ29uZmlybWF0aW9uQ29tcG9uZW50LFxuICAgIFFkRGlhbG9nQ29uZmlybWF0aW9uRXJyb3JEaXJlY3RpdmUsXG4gICAgUWREaWFsb2dDb25maXJtYXRpb25TdWNjZXNzRGlyZWN0aXZlLFxuICAgIFFkRGlhbG9nUmVjb3JkU3RlcHBlckNvbXBvbmVudCxcbiAgICBQZW5kaW5nQ2hhbmdlc0d1YXJkRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUWREaWFsb2dNb2R1bGUge31cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksSUFBSSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBa0IsWUFBWSxFQUFpQixNQUFNLDhCQUE4QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrREFBa0QsQ0FB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LEVBQUUsb0NBQW9DOzRCQUM3QyxRQUFRLEVBQUUsb0NBQW9DO3lCQUMvQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSBhcyBDREtEaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBRZEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IFFkSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUWROb3RpZmljYXRpb25zTW9kdWxlIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLm1vZHVsZSc7XG5pbXBvcnQgeyBRZEZvcm1Nb2R1bGUgfSBmcm9tICcuLi9mb3Jtcy9xZC1mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBRZFRleHRTZWN0aW9uTW9kdWxlIH0gZnJvbSAnLi4vdGV4dC1zZWN0aW9uL3RleHQtc2VjdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUWRTcGlubmVyTW9kdWxlIH0gZnJvbSAnLi4vc3Bpbm5lci9zcGlubmVyLm1vZHVsZSc7XG5cbmltcG9ydCB7IFFkRGlhbG9nQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb24vZGlhbG9nLWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUWREaWFsb2dDb25maWcsIFFkRGlhbG9nU2l6ZSwgUWREaWFsb2dUaXRsZSB9IGZyb20gJy4vbW9kZWxzL2RpYWxvZy1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgUWREaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBRZERpYWxvZ0F1dGhTZXNzaW9uRW5kU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZGlhbG9nLWF1dGgtc2Vzc2lvbi1lbmQuc2VydmljZSc7XG5pbXBvcnQgeyBRZERpYWxvZ1JlY29yZFN0ZXBwZXJDb21wb25lbnQgfSBmcm9tICcuL3JlY29yZC1zdGVwcGVyL2RpYWxvZy1yZWNvcmQtc3RlcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgUWREaWFsb2dDb25maXJtYXRpb25Db21wb25lbnQsXG4gIFFkRGlhbG9nQ29uZmlybWF0aW9uRXJyb3JEaXJlY3RpdmUsXG4gIFFkRGlhbG9nQ29uZmlybWF0aW9uSW5mb0RpcmVjdGl2ZSxcbiAgUWREaWFsb2dDb25maXJtYXRpb25TdWNjZXNzRGlyZWN0aXZlXG59IGZyb20gJy4vY29uZmlybWF0aW9uL2RpYWxvZy1jb25maXJtYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFFkRGlhbG9nQXV0aFNlc3Npb25FbmRDb21wb25lbnQgfSBmcm9tICcuL2F1dGgtc2Vzc2lvbi1lbmQvZGlhbG9nLWF1dGgtc2Vzc2lvbi1lbmQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFFEX0RJQUxPR19DT05GSVJNQVRJT05fUkVTT0xWRVJfVE9LRU4sXG4gIFFkRGlhbG9nQ29uZmlybWF0aW9uQ29uZmlnLFxuICBRZERpYWxvZ0NvbmZpcm1hdGlvblJlc29sdmVyXG59IGZyb20gJy4vbW9kZWxzL2NvbmZpcm1hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBRZERpYWxvZ0RhdGEgfSBmcm9tICcuL21vZGVscy9yZWNvcmQtc3RlcHBlci5tb2RlbCc7XG5pbXBvcnQgeyBRZERpYWxvZ0F1dGhTZXNzaW9uRW5kUmVzdWx0IH0gZnJvbSAnLi9tb2RlbHMvc2Vzc2lvbi1lbmQtcmVzdWx0Lm1vZGVsJztcbmltcG9ydCB7IFFkUGFnZURpYWxvZ1dpdGhCcmVhZGNydW1ic0NvbXBvbmVudCB9IGZyb20gJy4vcGFnZS1kaWFsb2ctd2l0aC1icmVhZGNydW1icy9wYWdlLWRpYWxvZy13aXRoLWJyZWFkY3J1bWJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBRZENvcmVNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2NvcmUubW9kdWxlJztcbmltcG9ydCB7IFFkQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLm1vZHVsZSc7XG5pbXBvcnQgeyBRZFBlbmRpbmdDaGFuZ2VzR3VhcmREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcGVuZGluZy1jaGFuZ2VzLWd1YXJkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBRZENhbmNlbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY2FuY2VsLWNvbmZpcm1hdGlvbi1kaWFsb2cvY2FuY2VsLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUURfUEFHRV9ESUFMT0dfV0lUSF9CUkVBRENSVU1CU19IT1NUIH0gZnJvbSAnLi9tb2RlbHMvcGFnZS1kaWFsb2ctaG9zdC50b2tlbic7XG5cbmV4cG9ydCB7XG4gIFFkRGlhbG9nQ29tcG9uZW50LFxuICBRZERpYWxvZ0FjdGlvbkNvbXBvbmVudCxcbiAgUWREaWFsb2dSZWNvcmRTdGVwcGVyQ29tcG9uZW50LFxuICBRZERpYWxvZ0F1dGhTZXNzaW9uRW5kQ29tcG9uZW50LFxuICBRZERpYWxvZ0NvbmZpcm1hdGlvbkNvbXBvbmVudCxcbiAgUWREaWFsb2dDb25maXJtYXRpb25FcnJvckRpcmVjdGl2ZSxcbiAgUWREaWFsb2dDb25maXJtYXRpb25JbmZvRGlyZWN0aXZlLFxuICBRZERpYWxvZ0NvbmZpcm1hdGlvblN1Y2Nlc3NEaXJlY3RpdmUsXG4gIFFkRGlhbG9nU2VydmljZSxcbiAgUWREaWFsb2dBdXRoU2Vzc2lvbkVuZFNlcnZpY2UsXG4gIFFkRGlhbG9nQ29uZmlnLFxuICBRZERpYWxvZ1RpdGxlLFxuICBRZERpYWxvZ1NpemUsXG4gIFFkRGlhbG9nRGF0YSxcbiAgUWREaWFsb2dBdXRoU2Vzc2lvbkVuZFJlc3VsdCxcbiAgUWREaWFsb2dDb25maXJtYXRpb25Db25maWcsXG4gIFFkRGlhbG9nQ29uZmlybWF0aW9uUmVzb2x2ZXIsXG4gIFFkUGVuZGluZ0NoYW5nZXNHdWFyZERpcmVjdGl2ZSxcbiAgUURfRElBTE9HX0NPTkZJUk1BVElPTl9SRVNPTFZFUl9UT0tFTlxufTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIENES0RpYWxvZ01vZHVsZSxcbiAgICBRZEJ1dHRvbk1vZHVsZSxcbiAgICBRZEZvcm1Nb2R1bGUsXG4gICAgUWRJY29uTW9kdWxlLFxuICAgIFFkTm90aWZpY2F0aW9uc01vZHVsZSxcbiAgICBRZFNwaW5uZXJNb2R1bGUsXG4gICAgUWRUZXh0U2VjdGlvbk1vZHVsZSxcbiAgICBRZENvcmVNb2R1bGUsXG4gICAgUWRCcmVhZGNydW1ic01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBRZERpYWxvZ0FjdGlvbkNvbXBvbmVudCxcbiAgICBRZERpYWxvZ0F1dGhTZXNzaW9uRW5kQ29tcG9uZW50LFxuICAgIFFkRGlhbG9nQ29tcG9uZW50LFxuICAgIFFkRGlhbG9nQ29uZmlybWF0aW9uQ29tcG9uZW50LFxuICAgIFFkRGlhbG9nQ29uZmlybWF0aW9uRXJyb3JEaXJlY3RpdmUsXG4gICAgUWREaWFsb2dDb25maXJtYXRpb25JbmZvRGlyZWN0aXZlLFxuICAgIFFkRGlhbG9nQ29uZmlybWF0aW9uU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgICBRZERpYWxvZ1JlY29yZFN0ZXBwZXJDb21wb25lbnQsXG4gICAgUWRQYWdlRGlhbG9nV2l0aEJyZWFkY3J1bWJzQ29tcG9uZW50LFxuICAgIFFkUGVuZGluZ0NoYW5nZXNHdWFyZERpcmVjdGl2ZSxcbiAgICBRZENhbmNlbERpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUWREaWFsb2dBY3Rpb25Db21wb25lbnQsXG4gICAgUWREaWFsb2dBdXRoU2Vzc2lvbkVuZENvbXBvbmVudCxcbiAgICBRZERpYWxvZ0NvbXBvbmVudCxcbiAgICBRZERpYWxvZ0NvbmZpcm1hdGlvbkNvbXBvbmVudCxcbiAgICBRZERpYWxvZ0NvbmZpcm1hdGlvbkVycm9yRGlyZWN0aXZlLFxuICAgIFFkRGlhbG9nQ29uZmlybWF0aW9uU3VjY2Vzc0RpcmVjdGl2ZSxcbiAgICBRZERpYWxvZ1JlY29yZFN0ZXBwZXJDb21wb25lbnQsXG4gICAgUWRQZW5kaW5nQ2hhbmdlc0d1YXJkRGlyZWN0aXZlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFFEX1BBR0VfRElBTE9HX1dJVEhfQlJFQURDUlVNQlNfSE9TVCxcbiAgICAgIHVzZVZhbHVlOiBRZFBhZ2VEaWFsb2dXaXRoQnJlYWRjcnVtYnNDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUWREaWFsb2dNb2R1bGUge31cbiJdfQ==