ng-configcat-publicapi-ui 4.0.0 → 4.0.2

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 (60) hide show
  1. package/esm2022/lib/_directives/input-display-normalizer.directive.mjs +3 -3
  2. package/esm2022/lib/_services/app-data-adapter.mjs +3 -3
  3. package/esm2022/lib/_services/comparison-value-list-helper.mjs +3 -3
  4. package/esm2022/lib/_services/form-generator.mjs +3 -3
  5. package/esm2022/lib/_services/form-helper.mjs +63 -7
  6. package/esm2022/lib/_services/messaging.service.mjs +3 -3
  7. package/esm2022/lib/_services/public-api.service.mjs +3 -3
  8. package/esm2022/lib/_services/setting-list-form-helper.mjs +3 -3
  9. package/esm2022/lib/_services/tracking.directive.mjs +3 -3
  10. package/esm2022/lib/ace-editor/ace-editor.component.mjs +3 -3
  11. package/esm2022/lib/authorization/authorization.component.mjs +3 -3
  12. package/esm2022/lib/base/base-select.component.mjs +3 -3
  13. package/esm2022/lib/base/base.component.mjs +3 -3
  14. package/esm2022/lib/bootstrap.mjs +2 -1
  15. package/esm2022/lib/configuration.mjs +3 -3
  16. package/esm2022/lib/dialogs/confirmation-dialog/confirmation-dialog.mjs +3 -3
  17. package/esm2022/lib/dialogs/delete-setting-dialog/delete-setting-dialog.component.mjs +3 -3
  18. package/esm2022/lib/dialogs/expand-dialog/expand-dialog.component.mjs +3 -3
  19. package/esm2022/lib/dialogs/info-dialog/info-dialog.mjs +3 -3
  20. package/esm2022/lib/dialogs/reason-dialog/reason-dialog.component.mjs +3 -3
  21. package/esm2022/lib/dialogs/reroute-dialog/reroute-dialog.mjs +28 -0
  22. package/esm2022/lib/dialogs/save-snackbar/save-snackbar.component.mjs +3 -3
  23. package/esm2022/lib/ng-configcat-publicapi-ui.module.mjs +10 -7
  24. package/esm2022/lib/selects/config-select/config-select.component.mjs +3 -3
  25. package/esm2022/lib/selects/environment-select/environment-select.component.mjs +3 -3
  26. package/esm2022/lib/selects/product-select/product-select.component.mjs +3 -3
  27. package/esm2022/lib/selects/setting-select/setting-select.component.mjs +3 -3
  28. package/esm2022/lib/setting-item/setting-item.component.mjs +3 -3
  29. package/esm2022/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +5 -5
  30. package/esm2022/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +3 -3
  31. package/esm2022/lib/setting-list/setting/setting.component.mjs +3 -3
  32. package/esm2022/lib/setting-list/setting/value/value.component.mjs +5 -5
  33. package/esm2022/lib/setting-list/setting-list.component.mjs +3 -3
  34. package/esm2022/lib/v2/feature-flag/date-time-picker/date-time-picker.component.mjs +3 -3
  35. package/esm2022/lib/v2/feature-flag/dependees-dialog/dependees-dialog.component.mjs +3 -3
  36. package/esm2022/lib/v2/feature-flag/evaluation-formula/evaluation-formula.component.mjs +4 -4
  37. package/esm2022/lib/v2/feature-flag/evaluation-formula/feature-flag-value/feature-flag-value.component.mjs +5 -5
  38. package/esm2022/lib/v2/feature-flag/evaluation-formula/popout-text-editor-dialog/popout-text-editor-dialog.component.mjs +3 -3
  39. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/condition-chip/condition-chip.component.mjs +3 -3
  40. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/conditions.component.mjs +4 -4
  41. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/prerequisite-flag-condition/prerequisite-flag-condition.component.mjs +3 -3
  42. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/segment-condition/segment-condition.component.mjs +4 -4
  43. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/comparator-dialog/comparator-dialog.component.mjs +32 -32
  44. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/popout-list-editor-dialog/popout-list-editor-dialog.component.mjs +4 -4
  45. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.mjs +5 -5
  46. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/percentage-options/percentage-options.component.mjs +5 -5
  47. package/esm2022/lib/v2/feature-flag/evaluation-formula/targeting-rule/targeting-rule.component.mjs +4 -4
  48. package/esm2022/lib/v2/feature-flag/feature-flag.component.mjs +8 -8
  49. package/esm2022/lib/v2/feature-flag/percentage-evaluation-attribute-dialog/percentage-evaluation-attribute-dialog.component.mjs +3 -3
  50. package/esm2022/lib/v2/feature-flag-item.component.mjs +19 -8
  51. package/fesm2022/ng-configcat-publicapi-ui.mjs +288 -199
  52. package/fesm2022/ng-configcat-publicapi-ui.mjs.map +1 -1
  53. package/lib/_services/form-helper.d.ts +3 -2
  54. package/lib/bootstrap.d.ts +1 -0
  55. package/lib/dialogs/reroute-dialog/reroute-dialog.d.ts +20 -0
  56. package/lib/ng-configcat-publicapi-ui.module.d.ts +27 -26
  57. package/lib/v2/feature-flag/evaluation-formula/targeting-rule/conditions/user-condition/user-condition.component.d.ts +1 -1
  58. package/lib/v2/feature-flag/feature-flag.component.d.ts +2 -2
  59. package/package.json +1 -1
  60. package/public-api.scss +4 -6
@@ -15,10 +15,10 @@ export class ConfirmationDialogComponent {
15
15
  cancel() {
16
16
  this.dialogRef.close('cancel');
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ConfirmationDialogComponent, selector: "app-confirmation-dialog", ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.body\"></div>\n</div>\n<br>\n<div mat-dialog-actions>\n <button type=\"button\" style=\"margin-right: 10px;\" mat-flat-button\n [color]=\"data.buttonColor ? data.buttonColor : 'primary'\" (click)=\"yes()\"\n data-robot=\"dialogYes\">{{data.yesButtonLabel ? data.yesButtonLabel : 'Yes'}}</button>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\" data-robot=\"dialogNo\"\n *ngIf=\"!data.hideNoButton\">{{data.noButtonLabel ?\n data.noButtonLabel : 'Cancel'}}</button>\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: ConfirmationDialogComponent, selector: "app-confirmation-dialog", ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.body\"></div>\n</div>\n<br>\n<div mat-dialog-actions>\n <button type=\"button\" style=\"margin-right: 10px;\" mat-flat-button\n [color]=\"data.buttonColor ? data.buttonColor : 'primary'\" (click)=\"yes()\"\n data-robot=\"dialogYes\">{{data.yesButtonLabel ? data.yesButtonLabel : 'Yes'}}</button>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\" data-robot=\"dialogNo\"\n *ngIf=\"!data.hideNoButton\">{{data.noButtonLabel ?\n data.noButtonLabel : 'Cancel'}}</button>\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'app-confirmation-dialog', template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.body\"></div>\n</div>\n<br>\n<div mat-dialog-actions>\n <button type=\"button\" style=\"margin-right: 10px;\" mat-flat-button\n [color]=\"data.buttonColor ? data.buttonColor : 'primary'\" (click)=\"yes()\"\n data-robot=\"dialogYes\">{{data.yesButtonLabel ? data.yesButtonLabel : 'Yes'}}</button>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\" data-robot=\"dialogNo\"\n *ngIf=\"!data.hideNoButton\">{{data.noButtonLabel ?\n data.noButtonLabel : 'Cancel'}}</button>\n</div>" }]
24
24
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
@@ -14,10 +14,10 @@ export class DeleteSettingDialogComponent {
14
14
  cancel() {
15
15
  this.dialogRef.close({ button: 'cancel' });
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DeleteSettingDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: DeleteSettingDialogComponent, selector: "app-delete-setting-dialog", ngImport: i0, template: "<h1 mat-dialog-title>Remove Feature Flag or Setting from {{data.system}}</h1>\n<div mat-dialog-actions class=\"container\">\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"remove()\">Remove from {{data.ticketType}}</button>\n <button type=\"button\" mat-raised-button (click)=\"cancel()\">Cancel</button>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DeleteSettingDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: DeleteSettingDialogComponent, selector: "app-delete-setting-dialog", ngImport: i0, template: "<h1 mat-dialog-title>Remove Feature Flag or Setting from {{data.system}}</h1>\n<div mat-dialog-actions class=\"container\">\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"remove()\">Remove from {{data.ticketType}}</button>\n <button type=\"button\" mat-raised-button (click)=\"cancel()\">Cancel</button>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DeleteSettingDialogComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: DeleteSettingDialogComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'app-delete-setting-dialog', template: "<h1 mat-dialog-title>Remove Feature Flag or Setting from {{data.system}}</h1>\n<div mat-dialog-actions class=\"container\">\n <button type=\"button\" mat-raised-button color=\"primary\" (click)=\"remove()\">Remove from {{data.ticketType}}</button>\n <button type=\"button\" mat-raised-button (click)=\"cancel()\">Cancel</button>\n</div>" }]
23
23
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
@@ -67,10 +67,10 @@ export class ExpandDialogComponent {
67
67
  close() {
68
68
  this.dialogRef.close();
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ExpandDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.UntypedFormBuilder }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ExpandDialogComponent, selector: "configcat-expand-dialog", ngImport: i0, template: "<div mat-dialog-content class=\"container\">\n <mat-form-field appearance=\"outline\" *ngIf=\"!data.multiline\" subscriptSizing=\"dynamic\">\n <mat-label></mat-label>\n <textarea matInput [formControl]=\"data.control\" rows=\"10\"></textarea>\n </mat-form-field>\n <div [formGroup]=\"formGroup\" *ngIf=\"data.multiline\">\n <div *ngFor=\"let valueControl of getValueControls(); let i = index;\" class=\"value-field\">\n <mat-form-field appearance=\"outline\">\n <input matInput [formControl]=\"valueControl\" />\n </mat-form-field>\n <button (click)=\"remove(i)\" mat-icon-button type=\"button\" class=\"no-density-mat-icon-button\"\n matTooltip=\"Remove item\" *ngIf=\"!readOnly\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n <button (click)=\"add()\" mat-stroked-button type=\"button\" *ngIf=\"!readOnly\">\n <mat-icon>add</mat-icon>Add item\n </button>\n </div>\n</div>\n<div mat-dialog-actions>\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"close()\">Done</button>\n</div>", styles: [".container>*{width:100%}.container>* .value-field{display:flex;font-size:12px;flex-wrap:nowrap}.container>* .value-field mat-form-field{flex-grow:1}.container>* .no-density-mat-icon-button{width:48px;height:48px;padding:12px}\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: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ExpandDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.UntypedFormBuilder }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: ExpandDialogComponent, selector: "configcat-expand-dialog", ngImport: i0, template: "<div mat-dialog-content class=\"container\">\n <mat-form-field appearance=\"outline\" *ngIf=\"!data.multiline\" subscriptSizing=\"dynamic\">\n <mat-label></mat-label>\n <textarea matInput [formControl]=\"data.control\" rows=\"10\"></textarea>\n </mat-form-field>\n <div [formGroup]=\"formGroup\" *ngIf=\"data.multiline\">\n <div *ngFor=\"let valueControl of getValueControls(); let i = index;\" class=\"value-field\">\n <mat-form-field appearance=\"outline\">\n <input matInput [formControl]=\"valueControl\" />\n </mat-form-field>\n <button (click)=\"remove(i)\" mat-icon-button type=\"button\" class=\"no-density-mat-icon-button\"\n matTooltip=\"Remove item\" *ngIf=\"!readOnly\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n <button (click)=\"add()\" mat-stroked-button type=\"button\" *ngIf=\"!readOnly\">\n <mat-icon>add</mat-icon>Add item\n </button>\n </div>\n</div>\n<div mat-dialog-actions>\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"close()\">Done</button>\n</div>", styles: [".container>*{width:100%}.container>* .value-field{display:flex;font-size:12px;flex-wrap:nowrap}.container>* .value-field mat-form-field{flex-grow:1}.container>* .no-density-mat-icon-button{width:48px;height:48px;padding:12px}\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: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ExpandDialogComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ExpandDialogComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{ selector: 'configcat-expand-dialog', template: "<div mat-dialog-content class=\"container\">\n <mat-form-field appearance=\"outline\" *ngIf=\"!data.multiline\" subscriptSizing=\"dynamic\">\n <mat-label></mat-label>\n <textarea matInput [formControl]=\"data.control\" rows=\"10\"></textarea>\n </mat-form-field>\n <div [formGroup]=\"formGroup\" *ngIf=\"data.multiline\">\n <div *ngFor=\"let valueControl of getValueControls(); let i = index;\" class=\"value-field\">\n <mat-form-field appearance=\"outline\">\n <input matInput [formControl]=\"valueControl\" />\n </mat-form-field>\n <button (click)=\"remove(i)\" mat-icon-button type=\"button\" class=\"no-density-mat-icon-button\"\n matTooltip=\"Remove item\" *ngIf=\"!readOnly\">\n <mat-icon>delete_outline</mat-icon>\n </button>\n </div>\n <button (click)=\"add()\" mat-stroked-button type=\"button\" *ngIf=\"!readOnly\">\n <mat-icon>add</mat-icon>Add item\n </button>\n </div>\n</div>\n<div mat-dialog-actions>\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"close()\">Done</button>\n</div>", styles: [".container>*{width:100%}.container>* .value-field{display:flex;font-size:12px;flex-wrap:nowrap}.container>* .value-field mat-form-field{flex-grow:1}.container>* .no-density-mat-icon-button{width:48px;height:48px;padding:12px}\n"] }]
76
76
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.UntypedFormBuilder }, { type: undefined, decorators: [{
@@ -16,10 +16,10 @@ export class InfoDialogComponent {
16
16
  this.data.secondaryButtonAction();
17
17
  this.dialogRef.close();
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: InfoDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: InfoDialogComponent, selector: "app-info-dialog", ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.body\"></div>\n</div>\n<br>\n<div mat-dialog-actions>\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"ok()\">Ok</button>\n <button type=\"button\" mat-stroked-button *ngIf=\"data.secondaryButtonLabel\" (click)=\"secondaryButtonAction()\">{{data.secondaryButtonLabel}}</button>\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: InfoDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: InfoDialogComponent, selector: "app-info-dialog", ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.body\"></div>\n</div>\n<br>\n<div mat-dialog-actions>\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"ok()\">Ok</button>\n <button type=\"button\" mat-stroked-button *ngIf=\"data.secondaryButtonLabel\" (click)=\"secondaryButtonAction()\">{{data.secondaryButtonLabel}}</button>\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: InfoDialogComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: InfoDialogComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'app-info-dialog', template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.body\"></div>\n</div>\n<br>\n<div mat-dialog-actions>\n <button type=\"button\" mat-flat-button color=\"primary\" (click)=\"ok()\">Ok</button>\n <button type=\"button\" mat-stroked-button *ngIf=\"data.secondaryButtonLabel\" (click)=\"secondaryButtonAction()\">{{data.secondaryButtonLabel}}</button>\n</div>" }]
25
25
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
@@ -26,10 +26,10 @@ export class ReasonDialogComponent {
26
26
  cancel() {
27
27
  this.dialogRef.close({ button: 'cancel' });
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ReasonDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ReasonDialogComponent, selector: "configcat-reason-dialog", ngImport: i0, template: "<h1 mat-dialog-title>Add notes</h1>\n<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSaveButton()\">\n <div mat-dialog-content class=\"container\">\n <p>This will appear in the Audit Log (in the Notes section when you expand the corresponding entry).</p>\n <mat-form-field appearance=\"outline\">\n <mat-label>Note</mat-label>\n <textarea matInput formControlName=\"reason\" name=\"reason\" placeholder=\"I'm changing settings because...\"\n rows=\"3\"></textarea>\n <mat-error *ngIf=\"formGroup.controls.reason.invalid\">The field is required.</mat-error>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button type=\"submit\" style=\"margin-right: 10px;\" mat-flat-button color=\"primary\">Add notes & Save</button>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\">Cancel</button>\n </div>\n</form>", styles: [".container>*{width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReasonDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: ReasonDialogComponent, selector: "configcat-reason-dialog", ngImport: i0, template: "<h1 mat-dialog-title>Add notes</h1>\n<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSaveButton()\">\n <div mat-dialog-content class=\"container\">\n <p>This will appear in the Audit Log (in the Notes section when you expand the corresponding entry).</p>\n <mat-form-field appearance=\"outline\">\n <mat-label>Note</mat-label>\n <textarea matInput formControlName=\"reason\" name=\"reason\" placeholder=\"I'm changing settings because...\"\n rows=\"3\"></textarea>\n <mat-error *ngIf=\"formGroup.controls.reason.invalid\">The field is required.</mat-error>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button type=\"submit\" style=\"margin-right: 10px;\" mat-flat-button color=\"primary\">Add notes & Save</button>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\">Cancel</button>\n </div>\n</form>", styles: [".container>*{width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ReasonDialogComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ReasonDialogComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{ selector: 'configcat-reason-dialog', template: "<h1 mat-dialog-title>Add notes</h1>\n<form [formGroup]=\"formGroup\" (ngSubmit)=\"handleSaveButton()\">\n <div mat-dialog-content class=\"container\">\n <p>This will appear in the Audit Log (in the Notes section when you expand the corresponding entry).</p>\n <mat-form-field appearance=\"outline\">\n <mat-label>Note</mat-label>\n <textarea matInput formControlName=\"reason\" name=\"reason\" placeholder=\"I'm changing settings because...\"\n rows=\"3\"></textarea>\n <mat-error *ngIf=\"formGroup.controls.reason.invalid\">The field is required.</mat-error>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button type=\"submit\" style=\"margin-right: 10px;\" mat-flat-button color=\"primary\">Add notes & Save</button>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\">Cancel</button>\n </div>\n</form>", styles: [".container>*{width:100%}\n"] }]
35
35
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.UntypedFormBuilder }] });
@@ -0,0 +1,28 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/material/button";
7
+ export class RerouteDialogComponent {
8
+ constructor(dialogRef, data) {
9
+ this.dialogRef = dialogRef;
10
+ this.data = data;
11
+ }
12
+ yes() {
13
+ this.dialogRef.close('yes');
14
+ }
15
+ cancel() {
16
+ this.dialogRef.close('cancel');
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RerouteDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: RerouteDialogComponent, selector: "app-reroute-dialog", ngImport: i0, template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.body\"></div>\n</div>\n<br>\n<div mat-dialog-actions>\n <a href=\"{{data.yesButtonLink}}\" class=\"hidden-link\" target=\"_blank\" rel=\"noopener noreferrer\">\n <button type=\"button\" style=\"margin-right: 10px;\" mat-flat-button\n [color]=\"data.buttonColor ? data.buttonColor : 'primary'\" (click)=\"yes()\"\n data-robot=\"dialogYes\">{{data.yesButtonLabel ? data.yesButtonLabel : 'Yes'}}</button>\n </a>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\" data-robot=\"dialogNo\"\n *ngIf=\"!data.hideNoButton\">{{data.noButtonLabel ?\n data.noButtonLabel : 'Cancel'}}</button>\n</div>", styles: [".hidden-link:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RerouteDialogComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'app-reroute-dialog', template: "<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.body\"></div>\n</div>\n<br>\n<div mat-dialog-actions>\n <a href=\"{{data.yesButtonLink}}\" class=\"hidden-link\" target=\"_blank\" rel=\"noopener noreferrer\">\n <button type=\"button\" style=\"margin-right: 10px;\" mat-flat-button\n [color]=\"data.buttonColor ? data.buttonColor : 'primary'\" (click)=\"yes()\"\n data-robot=\"dialogYes\">{{data.yesButtonLabel ? data.yesButtonLabel : 'Yes'}}</button>\n </a>\n <button type=\"button\" mat-stroked-button (click)=\"cancel()\" data-robot=\"dialogNo\"\n *ngIf=\"!data.hideNoButton\">{{data.noButtonLabel ?\n data.noButtonLabel : 'Cancel'}}</button>\n</div>", styles: [".hidden-link:focus{outline:none}\n"] }]
24
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
25
+ type: Inject,
26
+ args: [MAT_DIALOG_DATA]
27
+ }] }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVyb3V0ZS1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvZGlhbG9ncy9yZXJvdXRlLWRpYWxvZy9yZXJvdXRlLWRpYWxvZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi9kaWFsb2dzL3Jlcm91dGUtZGlhbG9nL3Jlcm91dGUtZGlhbG9nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFPekUsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUNTLFNBQStDLEVBQ3RCLElBQWdCO1FBRHpDLGNBQVMsR0FBVCxTQUFTLENBQXNDO1FBQ3RCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDOUMsQ0FBQztJQUVMLEdBQUc7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBYlUsc0JBQXNCLDhDQUl2QixlQUFlO2tHQUpkLHNCQUFzQiwwRENSbkMsaXRCQWNNOzsyRkROTyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkFRM0IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJlcm91dGUtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlcm91dGUtZGlhbG9nLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXJvdXRlLWRpYWxvZy5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVyb3V0ZURpYWxvZ0NvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFJlcm91dGVEaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRGlhbG9nRGF0YVxuICApIHsgfVxuXG4gIHllcygpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgneWVzJyk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoJ2NhbmNlbCcpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0YSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgeWVzQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgeWVzQnV0dG9uTGluazogc3RyaW5nO1xuICBub0J1dHRvbkxhYmVsOiBzdHJpbmc7XG4gIGJ1dHRvbkNvbG9yOiBzdHJpbmc7XG4gIGhpZGVOb0J1dHRvbj86IGJvb2xlYW47XG59IiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3tkYXRhLnRpdGxlfX08L2gxPlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxkaXYgW2lubmVySFRNTF09XCJkYXRhLmJvZHlcIj48L2Rpdj5cbjwvZGl2PlxuPGJyPlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gIDxhIGhyZWY9XCJ7e2RhdGEueWVzQnV0dG9uTGlua319XCIgY2xhc3M9XCJoaWRkZW4tbGlua1wiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweDtcIiBtYXQtZmxhdC1idXR0b25cbiAgICAgIFtjb2xvcl09XCJkYXRhLmJ1dHRvbkNvbG9yID8gZGF0YS5idXR0b25Db2xvciA6ICdwcmltYXJ5J1wiIChjbGljayk9XCJ5ZXMoKVwiXG4gICAgICBkYXRhLXJvYm90PVwiZGlhbG9nWWVzXCI+e3tkYXRhLnllc0J1dHRvbkxhYmVsID8gZGF0YS55ZXNCdXR0b25MYWJlbCA6ICdZZXMnfX08L2J1dHRvbj5cbiAgPC9hPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCIgZGF0YS1yb2JvdD1cImRpYWxvZ05vXCJcbiAgICAqbmdJZj1cIiFkYXRhLmhpZGVOb0J1dHRvblwiPnt7ZGF0YS5ub0J1dHRvbkxhYmVsID9cbiAgICBkYXRhLm5vQnV0dG9uTGFiZWwgOiAnQ2FuY2VsJ319PC9idXR0b24+XG48L2Rpdj4iXX0=
@@ -4,10 +4,10 @@ export class SaveSnackbarComponent {
4
4
  constructor() { }
5
5
  ngOnInit() {
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SaveSnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SaveSnackbarComponent, selector: "configcat-save-snackbar", ngImport: i0, template: "<p class=\"header\">Settings saved successfully.</p>", styles: ["p{text-align:center;font-weight:700}.header{font-size:1.2em}\n"] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SaveSnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SaveSnackbarComponent, selector: "configcat-save-snackbar", ngImport: i0, template: "<p class=\"header\">Settings saved successfully.</p>", styles: ["p{text-align:center;font-weight:700}.header{font-size:1.2em}\n"] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SaveSnackbarComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SaveSnackbarComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'configcat-save-snackbar', template: "<p class=\"header\">Settings saved successfully.</p>", styles: ["p{text-align:center;font-weight:700}.header{font-size:1.2em}\n"] }]
13
13
  }], ctorParameters: () => [] });
@@ -68,6 +68,7 @@ import { MessagingService } from './_services/messaging.service';
68
68
  import { DateTimePickerComponent } from './v2/feature-flag/date-time-picker/date-time-picker.component';
69
69
  import { DependeesDialogComponent } from './v2/feature-flag/dependees-dialog/dependees-dialog.component';
70
70
  import { InfoDialogComponent } from './dialogs/info-dialog/info-dialog';
71
+ import { RerouteDialogComponent } from './dialogs/reroute-dialog/reroute-dialog';
71
72
  import * as i0 from "@angular/core";
72
73
  export class NgConfigCatPublicApiUIModule {
73
74
  static forRoot(configurationFactory) {
@@ -77,8 +78,8 @@ export class NgConfigCatPublicApiUIModule {
77
78
  };
78
79
  }
79
80
  constructor() { }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NgConfigCatPublicApiUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
81
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: NgConfigCatPublicApiUIModule, declarations: [BaseComponent,
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NgConfigCatPublicApiUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
82
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: NgConfigCatPublicApiUIModule, declarations: [BaseComponent,
82
83
  BaseSelectComponent,
83
84
  ProductSelectComponent,
84
85
  ConfigSelectComponent,
@@ -116,7 +117,8 @@ export class NgConfigCatPublicApiUIModule {
116
117
  AceEditorComponent,
117
118
  FeatureFlagItemComponent,
118
119
  DateTimePickerComponent,
119
- DependeesDialogComponent], imports: [CommonModule,
120
+ DependeesDialogComponent,
121
+ RerouteDialogComponent], imports: [CommonModule,
120
122
  FormsModule,
121
123
  ReactiveFormsModule,
122
124
  BrowserAnimationsModule,
@@ -151,7 +153,7 @@ export class NgConfigCatPublicApiUIModule {
151
153
  InputDisplayNormalizerDirective,
152
154
  DeleteSettingDialogComponent,
153
155
  FeatureFlagItemComponent] }); }
154
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NgConfigCatPublicApiUIModule, providers: [
156
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NgConfigCatPublicApiUIModule, providers: [
155
157
  {
156
158
  provide: MAT_TOOLTIP_DEFAULT_OPTIONS,
157
159
  useValue: { disableTooltipInteractivity: true },
@@ -187,7 +189,7 @@ export class NgConfigCatPublicApiUIModule {
187
189
  MatTableModule,
188
190
  MatRadioModule] }); }
189
191
  }
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: NgConfigCatPublicApiUIModule, decorators: [{
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NgConfigCatPublicApiUIModule, decorators: [{
191
193
  type: NgModule,
192
194
  args: [{
193
195
  declarations: [
@@ -229,7 +231,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
229
231
  AceEditorComponent,
230
232
  FeatureFlagItemComponent,
231
233
  DateTimePickerComponent,
232
- DependeesDialogComponent
234
+ DependeesDialogComponent,
235
+ RerouteDialogComponent
233
236
  ],
234
237
  imports: [
235
238
  CommonModule,
@@ -282,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
282
285
  ]
283
286
  }]
284
287
  }], ctorParameters: () => [] });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDeEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxN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c0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsU0FBUzt3QkFDVCxxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLCtCQUErQjt3QkFDL0IsNEJBQTRCO3dCQUM1Qix3QkFBd0I7cUJBQ3pCO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxJQUFJLEVBQUU7eUJBQ2hEO3dCQUVELGFBQWE7d0JBQ2IseUJBQXlCO3dCQUN6QixnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNldHRpbmdJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWl0ZW0vc2V0dGluZy1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3RzL3NldHRpbmctc2VsZWN0L3NldHRpbmctc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0U2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3RzL3Byb2R1Y3Qtc2VsZWN0L3Byb2R1Y3Qtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdHMvY29uZmlnLXNlbGVjdC9jb25maWctc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0cy9lbnZpcm9ubWVudC1zZWxlY3QvZW52aXJvbm1lbnQtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEF1dGhvcml6YXRpb25Db21wb25lbnQgfSBmcm9tICcuL2F1dGhvcml6YXRpb24vYXV0aG9yaXphdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBFeHBhbmREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvZXhwYW5kLWRpYWxvZy9leHBhbmQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFzb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvcmVhc29uLWRpYWxvZy9yZWFzb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYXZlU25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3Mvc2F2ZS1zbmFja2Jhci9zYXZlLXNuYWNrYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb2xsb3V0UGVyY2VudGFnZUl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWxpc3Qvc2V0dGluZy9yb2xsb3V0LXBlcmNlbnRhZ2UtaXRlbXMvcm9sbG91dC1wZXJjZW50YWdlLWl0ZW1zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb2xsb3V0UnVsZXNDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctbGlzdC9zZXR0aW5nL3JvbGxvdXQtcnVsZXMvcm9sbG91dC1ydWxlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmFsdWVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctbGlzdC9zZXR0aW5nL3ZhbHVlL3ZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1saXN0L3NldHRpbmctbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2V0dGluZ0NvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1saXN0L3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTUFUX1RPT0xUSVBfREVGQVVMVF9PUFRJT05TLCBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2VTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UvYmFzZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFwaU1vZHVsZSB9IGZyb20gJ25nLWNvbmZpZ2NhdC1wdWJsaWNhcGknO1xuaW1wb3J0IHsgSW5wdXREaXNwbGF5Tm9ybWFsaXplckRpcmVjdGl2ZSB9IGZyb20gJy4vX2RpcmVjdGl2ZXMvaW5wdXQtZGlzcGxheS1ub3JtYWxpemVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEZWxldGVTZXR0aW5nRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2RlbGV0ZS1zZXR0aW5nLWRpYWxvZy9kZWxldGUtc2V0dGluZy1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEV2YWx1YXRpb25Gb3JtdWxhQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL2V2YWx1YXRpb24tZm9ybXVsYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS9mZWF0dXJlLWZsYWctdmFsdWUvZmVhdHVyZS1mbGFnLXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdXRUZXh0RWRpdG9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3BvcG91dC10ZXh0LWVkaXRvci1kaWFsb2cvcG9wb3V0LXRleHQtZWRpdG9yLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZGl0aW9uQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS90YXJnZXRpbmctcnVsZS9jb25kaXRpb25zL2NvbmRpdGlvbi1jaGlwL2NvbmRpdGlvbi1jaGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25kaXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL2NvbmRpdGlvbnMvY29uZGl0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJlcmVxdWlzaXRlRmxhZ0NvbmRpdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS90YXJnZXRpbmctcnVsZS9jb25kaXRpb25zL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi9wcmVyZXF1aXNpdGUtZmxhZy1jb25kaXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlZ21lbnRDb25kaXRpb25Db21wb25lbnQgfSBmcm9tICcuL3YyL2ZlYXR1cmUtZmxhZy9ldmFsdWF0aW9uLWZvcm11bGEvdGFyZ2V0aW5nLXJ1bGUvY29uZGl0aW9ucy9zZWdtZW50LWNvbmRpdGlvbi9zZWdtZW50LWNvbmRpdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcGFyYXRvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS90YXJnZXRpbmctcnVsZS9jb25kaXRpb25zL3VzZXItY29uZGl0aW9uL2NvbXBhcmF0b3ItZGlhbG9nL2NvbXBhcmF0b3ItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdXRMaXN0RWRpdG9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL2NvbmRpdGlvbnMvdXNlci1jb25kaXRpb24vcG9wb3V0LWxpc3QtZWRpdG9yLWRpYWxvZy9wb3BvdXQtbGlzdC1lZGl0b3ItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyQ29uZGl0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL2NvbmRpdGlvbnMvdXNlci1jb25kaXRpb24vdXNlci1jb25kaXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBlcmNlbnRhZ2VPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL3BlcmNlbnRhZ2Utb3B0aW9ucy9wZXJjZW50YWdlLW9wdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRhcmdldGluZ1J1bGVDb21wb25lbnQgfSBmcm9tICcuL3YyL2ZlYXR1cmUtZmxhZy9ldmFsdWF0aW9uLWZvcm11bGEvdGFyZ2V0aW5nLXJ1bGUvdGFyZ2V0aW5nLXJ1bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVGbGFnQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZmVhdHVyZS1mbGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXJjZW50YWdlRXZhbHVhdGlvbkF0dHJpYnV0ZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL3BlcmNlbnRhZ2UtZXZhbHVhdGlvbi1hdHRyaWJ1dGUtZGlhbG9nL3BlcmNlbnRhZ2UtZXZhbHVhdGlvbi1hdHRyaWJ1dGUtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nJztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3IgfSBmcm9tICcuL19zZXJ2aWNlcy9mb3JtLWdlbmVyYXRvcic7XG5pbXBvcnQgeyBDb21wYXJpc29uVmFsdWVMaXN0SGVscGVyIH0gZnJvbSAnLi9fc2VydmljZXMvY29tcGFyaXNvbi12YWx1ZS1saXN0LWhlbHBlcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IFRyYWNraW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9fc2VydmljZXMvdHJhY2tpbmcuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvY2xpcGJvYXJkXCI7XG5pbXBvcnQgeyBBY2VFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2FjZS1lZGl0b3IvYWNlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcbmltcG9ydCB7IEZlYXR1cmVGbGFnSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2luZ1NlcnZpY2UgfSBmcm9tICcuL19zZXJ2aWNlcy9tZXNzYWdpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVwZW5kZWVzRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZGVwZW5kZWVzLWRpYWxvZy9kZXBlbmRlZXMtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmZvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2luZm8tZGlhbG9nL2luZm8tZGlhbG9nJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBCYXNlU2VsZWN0Q29tcG9uZW50LFxuICAgIFByb2R1Y3RTZWxlY3RDb21wb25lbnQsXG4gICAgQ29uZmlnU2VsZWN0Q29tcG9uZW50LFxuICAgIEVudmlyb25tZW50U2VsZWN0Q29tcG9uZW50LFxuICAgIFNldHRpbmdTZWxlY3RDb21wb25lbnQsXG4gICAgU2V0dGluZ0l0ZW1Db21wb25lbnQsXG4gICAgQXV0aG9yaXphdGlvbkNvbXBvbmVudCxcbiAgICBTZXR0aW5nTGlzdENvbXBvbmVudCxcbiAgICBTZXR0aW5nQ29tcG9uZW50LFxuICAgIFJvbGxvdXRQZXJjZW50YWdlSXRlbXNDb21wb25lbnQsXG4gICAgUm9sbG91dFJ1bGVzQ29tcG9uZW50LFxuICAgIFZhbHVlQ29tcG9uZW50LFxuICAgIFJlYXNvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBTYXZlU25hY2tiYXJDb21wb25lbnQsXG4gICAgRXhwYW5kRGlhbG9nQ29tcG9uZW50LFxuICAgIERlbGV0ZVNldHRpbmdEaWFsb2dDb21wb25lbnQsXG4gICAgSW5wdXREaXNwbGF5Tm9ybWFsaXplckRpcmVjdGl2ZSxcbiAgICBGZWF0dXJlRmxhZ0NvbXBvbmVudCxcbiAgICBFdmFsdWF0aW9uRm9ybXVsYUNvbXBvbmVudCxcbiAgICBGZWF0dXJlRmxhZ1ZhbHVlQ29tcG9uZW50LFxuICAgIFRhcmdldGluZ1J1bGVDb21wb25lbnQsXG4gICAgUGVyY2VudGFnZU9wdGlvbnNDb21wb25lbnQsXG4gICAgQ29uZGl0aW9uc0NvbXBvbmVudCxcbiAgICBVc2VyQ29uZGl0aW9uQ29tcG9uZW50LFxuICAgIFNlZ21lbnRDb25kaXRpb25Db21wb25lbnQsXG4gICAgUHJlcmVxdWlzaXRlRmxhZ0NvbmRpdGlvbkNvbXBvbmVudCxcbiAgICBQb3BvdXRMaXN0RWRpdG9yRGlhbG9nQ29tcG9uZW50LFxuICAgIFBvcG91dFRleHRFZGl0b3JEaWFsb2dDb21wb25lbnQsXG4gICAgUGVyY2VudGFnZUV2YWx1YXRpb25BdHRyaWJ1dGVEaWFsb2dDb21wb25lbnQsXG4gICAgQ29uZGl0aW9uQ2hpcENvbXBvbmVudCxcbiAgICBDb21wYXJhdG9yRGlhbG9nQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBJbmZvRGlhbG9nQ29tcG9uZW50LFxuICAgIFRyYWNraW5nRGlyZWN0aXZlLFxuICAgIEFjZUVkaXRvckNvbXBvbmVudCxcbiAgICBGZWF0dXJlRmxhZ0l0ZW1Db21wb25lbnQsXG4gICAgRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgRGVwZW5kZWVzRGlhbG9nQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgQXBpTW9kdWxlLFxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBDbGlwYm9hcmRNb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBdXRob3JpemF0aW9uQ29tcG9uZW50LFxuICAgIFByb2R1Y3RTZWxlY3RDb21wb25lbnQsXG4gICAgQ29uZmlnU2VsZWN0Q29tcG9uZW50LFxuICAgIEVudmlyb25tZW50U2VsZWN0Q29tcG9uZW50LFxuICAgIFNldHRpbmdTZWxlY3RDb21wb25lbnQsXG4gICAgU2V0dGluZ0l0ZW1Db21wb25lbnQsXG4gICAgSW5wdXREaXNwbGF5Tm9ybWFsaXplckRpcmVjdGl2ZSxcbiAgICBEZWxldGVTZXR0aW5nRGlhbG9nQ29tcG9uZW50LFxuICAgIEZlYXR1cmVGbGFnSXRlbUNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfVE9PTFRJUF9ERUZBVUxUX09QVElPTlMsXG4gICAgICB1c2VWYWx1ZTogeyBkaXNhYmxlVG9vbHRpcEludGVyYWN0aXZpdHk6IHRydWUgfSxcbiAgICB9LFxuXG4gICAgRm9ybUdlbmVyYXRvcixcbiAgICBDb21wYXJpc29uVmFsdWVMaXN0SGVscGVyLFxuICAgIE1lc3NhZ2luZ1NlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ0NvbmZpZ0NhdFB1YmxpY0FwaVVJTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZ3VyYXRpb25GYWN0b3J5OiAoKSA9PiBDb25maWd1cmF0aW9uKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ0NvbmZpZ0NhdFB1YmxpY0FwaVVJTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ0NvbmZpZ0NhdFB1YmxpY0FwaVVJTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb25maWd1cmF0aW9uLCB1c2VGYWN0b3J5OiBjb25maWd1cmF0aW9uRmFjdG9yeSB9XVxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxufVxuIl19
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvbmctY29uZmlnY2F0LXB1YmxpY2FwaS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDeEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxN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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNldHRpbmdJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWl0ZW0vc2V0dGluZy1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3RzL3NldHRpbmctc2VsZWN0L3NldHRpbmctc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0U2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3RzL3Byb2R1Y3Qtc2VsZWN0L3Byb2R1Y3Qtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdHMvY29uZmlnLXNlbGVjdC9jb25maWctc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0cy9lbnZpcm9ubWVudC1zZWxlY3QvZW52aXJvbm1lbnQtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEF1dGhvcml6YXRpb25Db21wb25lbnQgfSBmcm9tICcuL2F1dGhvcml6YXRpb24vYXV0aG9yaXphdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBFeHBhbmREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvZXhwYW5kLWRpYWxvZy9leHBhbmQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFzb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvcmVhc29uLWRpYWxvZy9yZWFzb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYXZlU25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3Mvc2F2ZS1zbmFja2Jhci9zYXZlLXNuYWNrYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb2xsb3V0UGVyY2VudGFnZUl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWxpc3Qvc2V0dGluZy9yb2xsb3V0LXBlcmNlbnRhZ2UtaXRlbXMvcm9sbG91dC1wZXJjZW50YWdlLWl0ZW1zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb2xsb3V0UnVsZXNDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctbGlzdC9zZXR0aW5nL3JvbGxvdXQtcnVsZXMvcm9sbG91dC1ydWxlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmFsdWVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctbGlzdC9zZXR0aW5nL3ZhbHVlL3ZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1saXN0L3NldHRpbmctbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2V0dGluZ0NvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1saXN0L3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTUFUX1RPT0xUSVBfREVGQVVMVF9PUFRJT05TLCBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2VTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UvYmFzZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFwaU1vZHVsZSB9IGZyb20gJ25nLWNvbmZpZ2NhdC1wdWJsaWNhcGknO1xuaW1wb3J0IHsgSW5wdXREaXNwbGF5Tm9ybWFsaXplckRpcmVjdGl2ZSB9IGZyb20gJy4vX2RpcmVjdGl2ZXMvaW5wdXQtZGlzcGxheS1ub3JtYWxpemVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEZWxldGVTZXR0aW5nRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2RlbGV0ZS1zZXR0aW5nLWRpYWxvZy9kZWxldGUtc2V0dGluZy1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEV2YWx1YXRpb25Gb3JtdWxhQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL2V2YWx1YXRpb24tZm9ybXVsYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS9mZWF0dXJlLWZsYWctdmFsdWUvZmVhdHVyZS1mbGFnLXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdXRUZXh0RWRpdG9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3BvcG91dC10ZXh0LWVkaXRvci1kaWFsb2cvcG9wb3V0LXRleHQtZWRpdG9yLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZGl0aW9uQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS90YXJnZXRpbmctcnVsZS9jb25kaXRpb25zL2NvbmRpdGlvbi1jaGlwL2NvbmRpdGlvbi1jaGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25kaXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL2NvbmRpdGlvbnMvY29uZGl0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJlcmVxdWlzaXRlRmxhZ0NvbmRpdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS90YXJnZXRpbmctcnVsZS9jb25kaXRpb25zL3ByZXJlcXVpc2l0ZS1mbGFnLWNvbmRpdGlvbi9wcmVyZXF1aXNpdGUtZmxhZy1jb25kaXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlZ21lbnRDb25kaXRpb25Db21wb25lbnQgfSBmcm9tICcuL3YyL2ZlYXR1cmUtZmxhZy9ldmFsdWF0aW9uLWZvcm11bGEvdGFyZ2V0aW5nLXJ1bGUvY29uZGl0aW9ucy9zZWdtZW50LWNvbmRpdGlvbi9zZWdtZW50LWNvbmRpdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcGFyYXRvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2V2YWx1YXRpb24tZm9ybXVsYS90YXJnZXRpbmctcnVsZS9jb25kaXRpb25zL3VzZXItY29uZGl0aW9uL2NvbXBhcmF0b3ItZGlhbG9nL2NvbXBhcmF0b3ItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdXRMaXN0RWRpdG9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL2NvbmRpdGlvbnMvdXNlci1jb25kaXRpb24vcG9wb3V0LWxpc3QtZWRpdG9yLWRpYWxvZy9wb3BvdXQtbGlzdC1lZGl0b3ItZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyQ29uZGl0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL2NvbmRpdGlvbnMvdXNlci1jb25kaXRpb24vdXNlci1jb25kaXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBlcmNlbnRhZ2VPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZXZhbHVhdGlvbi1mb3JtdWxhL3RhcmdldGluZy1ydWxlL3BlcmNlbnRhZ2Utb3B0aW9ucy9wZXJjZW50YWdlLW9wdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRhcmdldGluZ1J1bGVDb21wb25lbnQgfSBmcm9tICcuL3YyL2ZlYXR1cmUtZmxhZy9ldmFsdWF0aW9uLWZvcm11bGEvdGFyZ2V0aW5nLXJ1bGUvdGFyZ2V0aW5nLXJ1bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVGbGFnQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZmVhdHVyZS1mbGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXJjZW50YWdlRXZhbHVhdGlvbkF0dHJpYnV0ZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL3BlcmNlbnRhZ2UtZXZhbHVhdGlvbi1hdHRyaWJ1dGUtZGlhbG9nL3BlcmNlbnRhZ2UtZXZhbHVhdGlvbi1hdHRyaWJ1dGUtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nJztcbmltcG9ydCB7IEZvcm1HZW5lcmF0b3IgfSBmcm9tICcuL19zZXJ2aWNlcy9mb3JtLWdlbmVyYXRvcic7XG5pbXBvcnQgeyBDb21wYXJpc29uVmFsdWVMaXN0SGVscGVyIH0gZnJvbSAnLi9fc2VydmljZXMvY29tcGFyaXNvbi12YWx1ZS1saXN0LWhlbHBlcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IFRyYWNraW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9fc2VydmljZXMvdHJhY2tpbmcuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvY2xpcGJvYXJkXCI7XG5pbXBvcnQgeyBBY2VFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2FjZS1lZGl0b3IvYWNlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcbmltcG9ydCB7IEZlYXR1cmVGbGFnSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2luZ1NlcnZpY2UgfSBmcm9tICcuL19zZXJ2aWNlcy9tZXNzYWdpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vdjIvZmVhdHVyZS1mbGFnL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVwZW5kZWVzRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi92Mi9mZWF0dXJlLWZsYWcvZGVwZW5kZWVzLWRpYWxvZy9kZXBlbmRlZXMtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmZvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2luZm8tZGlhbG9nL2luZm8tZGlhbG9nJztcbmltcG9ydCB7IFJlcm91dGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvcmVyb3V0ZS1kaWFsb2cvcmVyb3V0ZS1kaWFsb2cnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIEJhc2VTZWxlY3RDb21wb25lbnQsXG4gICAgUHJvZHVjdFNlbGVjdENvbXBvbmVudCxcbiAgICBDb25maWdTZWxlY3RDb21wb25lbnQsXG4gICAgRW52aXJvbm1lbnRTZWxlY3RDb21wb25lbnQsXG4gICAgU2V0dGluZ1NlbGVjdENvbXBvbmVudCxcbiAgICBTZXR0aW5nSXRlbUNvbXBvbmVudCxcbiAgICBBdXRob3JpemF0aW9uQ29tcG9uZW50LFxuICAgIFNldHRpbmdMaXN0Q29tcG9uZW50LFxuICAgIFNldHRpbmdDb21wb25lbnQsXG4gICAgUm9sbG91dFBlcmNlbnRhZ2VJdGVtc0NvbXBvbmVudCxcbiAgICBSb2xsb3V0UnVsZXNDb21wb25lbnQsXG4gICAgVmFsdWVDb21wb25lbnQsXG4gICAgUmVhc29uRGlhbG9nQ29tcG9uZW50LFxuICAgIFNhdmVTbmFja2JhckNvbXBvbmVudCxcbiAgICBFeHBhbmREaWFsb2dDb21wb25lbnQsXG4gICAgRGVsZXRlU2V0dGluZ0RpYWxvZ0NvbXBvbmVudCxcbiAgICBJbnB1dERpc3BsYXlOb3JtYWxpemVyRGlyZWN0aXZlLFxuICAgIEZlYXR1cmVGbGFnQ29tcG9uZW50LFxuICAgIEV2YWx1YXRpb25Gb3JtdWxhQ29tcG9uZW50LFxuICAgIEZlYXR1cmVGbGFnVmFsdWVDb21wb25lbnQsXG4gICAgVGFyZ2V0aW5nUnVsZUNvbXBvbmVudCxcbiAgICBQZXJjZW50YWdlT3B0aW9uc0NvbXBvbmVudCxcbiAgICBDb25kaXRpb25zQ29tcG9uZW50LFxuICAgIFVzZXJDb25kaXRpb25Db21wb25lbnQsXG4gICAgU2VnbWVudENvbmRpdGlvbkNvbXBvbmVudCxcbiAgICBQcmVyZXF1aXNpdGVGbGFnQ29uZGl0aW9uQ29tcG9uZW50LFxuICAgIFBvcG91dExpc3RFZGl0b3JEaWFsb2dDb21wb25lbnQsXG4gICAgUG9wb3V0VGV4dEVkaXRvckRpYWxvZ0NvbXBvbmVudCxcbiAgICBQZXJjZW50YWdlRXZhbHVhdGlvbkF0dHJpYnV0ZURpYWxvZ0NvbXBvbmVudCxcbiAgICBDb25kaXRpb25DaGlwQ29tcG9uZW50LFxuICAgIENvbXBhcmF0b3JEaWFsb2dDb21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgIEluZm9EaWFsb2dDb21wb25lbnQsXG4gICAgVHJhY2tpbmdEaXJlY3RpdmUsXG4gICAgQWNlRWRpdG9yQ29tcG9uZW50LFxuICAgIEZlYXR1cmVGbGFnSXRlbUNvbXBvbmVudCxcbiAgICBEYXRlVGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBEZXBlbmRlZXNEaWFsb2dDb21wb25lbnQsXG4gICAgUmVyb3V0ZURpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRDaGlwc01vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIEFwaU1vZHVsZSxcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgQ2xpcGJvYXJkTW9kdWxlLFxuICAgIE1hdFBhZ2luYXRvck1vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXV0aG9yaXphdGlvbkNvbXBvbmVudCxcbiAgICBQcm9kdWN0U2VsZWN0Q29tcG9uZW50LFxuICAgIENvbmZpZ1NlbGVjdENvbXBvbmVudCxcbiAgICBFbnZpcm9ubWVudFNlbGVjdENvbXBvbmVudCxcbiAgICBTZXR0aW5nU2VsZWN0Q29tcG9uZW50LFxuICAgIFNldHRpbmdJdGVtQ29tcG9uZW50LFxuICAgIElucHV0RGlzcGxheU5vcm1hbGl6ZXJEaXJlY3RpdmUsXG4gICAgRGVsZXRlU2V0dGluZ0RpYWxvZ0NvbXBvbmVudCxcbiAgICBGZWF0dXJlRmxhZ0l0ZW1Db21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX1RPT0xUSVBfREVGQVVMVF9PUFRJT05TLFxuICAgICAgdXNlVmFsdWU6IHsgZGlzYWJsZVRvb2x0aXBJbnRlcmFjdGl2aXR5OiB0cnVlIH0sXG4gICAgfSxcblxuICAgIEZvcm1HZW5lcmF0b3IsXG4gICAgQ29tcGFyaXNvblZhbHVlTGlzdEhlbHBlcixcbiAgICBNZXNzYWdpbmdTZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmdDb25maWdDYXRQdWJsaWNBcGlVSU1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWd1cmF0aW9uRmFjdG9yeTogKCkgPT4gQ29uZmlndXJhdGlvbik6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmdDb25maWdDYXRQdWJsaWNBcGlVSU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmdDb25maWdDYXRQdWJsaWNBcGlVSU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ29uZmlndXJhdGlvbiwgdXNlRmFjdG9yeTogY29uZmlndXJhdGlvbkZhY3RvcnkgfV1cbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cbiJdfQ==
@@ -34,8 +34,8 @@ export class ConfigSelectComponent extends BaseSelectComponent {
34
34
  });
35
35
  }
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ConfigSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ConfigSelectComponent, selector: "configcat-config-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, providers: [
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ConfigSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: ConfigSelectComponent, selector: "configcat-config-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, providers: [
39
39
  {
40
40
  provide: NG_VALUE_ACCESSOR,
41
41
  useExisting: forwardRef(() => ConfigSelectComponent),
@@ -43,7 +43,7 @@ export class ConfigSelectComponent extends BaseSelectComponent {
43
43
  }
44
44
  ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"configs\">\n <mat-label>Config</mat-label>\n <mat-select placeholder=\"Config\" [formControl]=\"valueFormControl\" name=\"value\" disableOptionCentering\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let config of configs\" [value]=\"config.configId\" matTooltip=\"{{config.name}}\"\n [matTooltipShowDelay]=\"1000\">{{config.name}}</mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\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: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ConfigSelectComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ConfigSelectComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'configcat-config-select', providers: [
49
49
  {
@@ -33,10 +33,10 @@ export class EnvironmentSelectComponent extends BaseSelectComponent {
33
33
  });
34
34
  }
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EnvironmentSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: EnvironmentSelectComponent, selector: "configcat-environment-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"environments\">\n <mat-label>Environment</mat-label>\n <mat-select placeholder=\"Environment\" [formControl]=\"valueFormControl\" name=\"value\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let environment of environments\" [value]=\"environment.environmentId\"\n matTooltip=\"{{environment.name}}\" [matTooltipShowDelay]=\"1000\">{{environment.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\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: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: EnvironmentSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: EnvironmentSelectComponent, selector: "configcat-environment-select", inputs: { valueFormControl: "valueFormControl", productId: "productId" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"environments\">\n <mat-label>Environment</mat-label>\n <mat-select placeholder=\"Environment\" [formControl]=\"valueFormControl\" name=\"value\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let environment of environments\" [value]=\"environment.environmentId\"\n matTooltip=\"{{environment.name}}\" [matTooltipShowDelay]=\"1000\">{{environment.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\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: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: EnvironmentSelectComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: EnvironmentSelectComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'configcat-environment-select', template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"environments\">\n <mat-label>Environment</mat-label>\n <mat-select placeholder=\"Environment\" [formControl]=\"valueFormControl\" name=\"value\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let environment of environments\" [value]=\"environment.environmentId\"\n matTooltip=\"{{environment.name}}\" [matTooltipShowDelay]=\"1000\">{{environment.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"] }]
42
42
  }], ctorParameters: () => [{ type: i1.PublicApiService }], propDecorators: { valueFormControl: [{
@@ -28,10 +28,10 @@ export class ProductSelectComponent extends BaseSelectComponent {
28
28
  }
29
29
  });
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ProductSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ProductSelectComponent, selector: "configcat-product-select", inputs: { valueFormControl: "valueFormControl" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-field\" appearance=\"outline\">\n <mat-label>Product</mat-label>\n <mat-select placeholder=\"Product\" [formControl]=\"valueFormControl\" name=\"productValue\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let product of products\" [value]=\"product.productId\" matTooltip=\"{{product.name}}\"\n [matTooltipShowDelay]=\"1000\">{{product.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ProductSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: ProductSelectComponent, selector: "configcat-product-select", inputs: { valueFormControl: "valueFormControl" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"form-field\" appearance=\"outline\">\n <mat-label>Product</mat-label>\n <mat-select placeholder=\"Product\" [formControl]=\"valueFormControl\" name=\"productValue\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let product of products\" [value]=\"product.productId\" matTooltip=\"{{product.name}}\"\n [matTooltipShowDelay]=\"1000\">{{product.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ProductSelectComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ProductSelectComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'configcat-product-select', template: "<mat-form-field class=\"form-field\" appearance=\"outline\">\n <mat-label>Product</mat-label>\n <mat-select placeholder=\"Product\" [formControl]=\"valueFormControl\" name=\"productValue\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let product of products\" [value]=\"product.productId\" matTooltip=\"{{product.name}}\"\n [matTooltipShowDelay]=\"1000\">{{product.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"] }]
37
37
  }], ctorParameters: () => [{ type: i1.PublicApiService }], propDecorators: { valueFormControl: [{
@@ -33,10 +33,10 @@ export class SettingSelectComponent extends BaseSelectComponent {
33
33
  });
34
34
  }
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SettingSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SettingSelectComponent, selector: "configcat-setting-select", inputs: { valueFormControl: "valueFormControl", configId: "configId" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"settings\">\n <mat-label>Feature flag or setting</mat-label>\n <mat-select placeholder=\"Feature flag or setting\" [formControl]=\"valueFormControl\" name=\"value\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let setting of settings\" [value]=\"setting.settingId\" matTooltip=\"{{setting.name}}\"\n [matTooltipShowDelay]=\"1000\">{{setting.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\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: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SettingSelectComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SettingSelectComponent, selector: "configcat-setting-select", inputs: { valueFormControl: "valueFormControl", configId: "configId" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"settings\">\n <mat-label>Feature flag or setting</mat-label>\n <mat-select placeholder=\"Feature flag or setting\" [formControl]=\"valueFormControl\" name=\"value\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let setting of settings\" [value]=\"setting.settingId\" matTooltip=\"{{setting.name}}\"\n [matTooltipShowDelay]=\"1000\">{{setting.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\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: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SettingSelectComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SettingSelectComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'configcat-setting-select', template: "<mat-form-field class=\"form-field\" appearance=\"outline\" *ngIf=\"settings\">\n <mat-label>Feature flag or setting</mat-label>\n <mat-select placeholder=\"Feature flag or setting\" [formControl]=\"valueFormControl\" name=\"value\"\n (openedChange)=\"openChanged($event)\" [panelClass]=\"customDropdown ? 'custom-dropdown-below' : ''\">\n <mat-option *ngFor=\"let setting of settings\" [value]=\"setting.settingId\" matTooltip=\"{{setting.name}}\"\n [matTooltipShowDelay]=\"1000\">{{setting.name}}\n </mat-option>\n </mat-select>\n</mat-form-field>", styles: [".form-field{width:100%}\n"] }]
42
42
  }], ctorParameters: () => [{ type: i1.PublicApiService }], propDecorators: { valueFormControl: [{
@@ -80,10 +80,10 @@ export class SettingItemComponent extends BaseComponent {
80
80
  onFormValuesChanged() {
81
81
  this.formValuesChanged.emit();
82
82
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SettingItemComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SettingItemComponent, selector: "configcat-setting-item", inputs: { productId: "productId", environmentId: "environmentId", configId: "configId", evaluationVersion: "evaluationVersion", settingId: "settingId", canDeleteSetting: "canDeleteSetting", deleteSettingText: "deleteSettingText", showEnvironmentName: "showEnvironmentName" }, outputs: { deleteSettingRequested: "deleteSettingRequested", loadSucceeded: "loadSucceeded", loadFailed: "loadFailed", saveSucceeded: "saveSucceeded", saveFailed: "saveFailed", formValuesChanged: "formValuesChanged" }, usesInheritance: true, ngImport: i0, template: "<configcat-setting-list [canDeleteSetting]=\"canDeleteSetting\" [onSave]=\"handleSave\"\n [loadSettingValues]=\"loadSettingValues\" [loadSegments]=\"loadSegments\" (loadSucceeded)=\"itemLoadSucceeded()\"\n (deleteSettingRequested)=\"onDeleteSettingRequested($event)\" [deleteSettingText]=\"deleteSettingText\"\n [showEnvironmentName]=\"showEnvironmentName\" (formValuesChanged)=\"onFormValuesChanged()\" [productId]=\"productId\"\n [configId]=\"configId\" [environmentId]=\"environmentId\" [dashboardBasePath]=\"dashboardBasePath\">\n</configcat-setting-list>", styles: [".container{font-family:Montserrat,Roboto,Helvetica Neue,sans-serif;background-color:#f3f3f3;border:1px solid rgba(0,0,0,.12);border-radius:4px;margin:1em 0}.container .setting-full{position:relative;display:flex;flex-wrap:nowrap}.container .setting-full .setting-details{display:flex;flex-direction:column;width:400px;padding:1em 0 1em 1em}.container .setting-full .setting-details>*{margin:.5em}.container .setting-full .setting-details .setting-name{flex-direction:row}.container .setting-full .setting-details .setting-name .name{font-weight:700;word-wrap:break-word;max-width:100%}.container .setting-full .setting-details .setting-key{word-wrap:break-word}.container .setting-full .setting-details .description{font-size:.8em}.container .setting-full .setting-details code{background-color:#d3d3d3;padding:3px 6px}.container .setting-full .rules-list{width:100%;padding:1em}.container .setting-full .targeting-button{margin-left:1rem;margin-bottom:1em}.all-other{min-height:40px;justify-content:flex-start;border:1px solid #d5d5d5;border-radius:4px;background-color:#fff;margin:.5em 1em;padding:4px 0 4px .5em}.all-other .chip{background-color:#67b1fc3d}.all-other .served-value{margin-left:auto;min-width:100px}.end{margin-left:auto}.flex{display:flex;flex-wrap:wrap;align-items:center}.show-hide-toggle{margin-left:1em;cursor:pointer}@media (max-width: 1200px){.setting-full .setting-details{width:300px}}@media (max-width: 700px){.setting-full{flex-wrap:wrap}.setting-full .setting-details{padding:.2em 0 .2em .2em}.setting-full .all-other{margin:.5em .3em}}\n"], dependencies: [{ kind: "component", type: i2.SettingListComponent, selector: "configcat-setting-list", inputs: ["productId", "environmentId", "configId", "dashboardBasePath", "canDeleteSetting", "onSave", "loadSettingValues", "loadSegments", "deleteSettingText", "showEnvironmentName"], outputs: ["loadSucceeded", "deleteSettingRequested", "formValuesChanged"] }] }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SettingItemComponent, deps: [{ token: i1.PublicApiService }], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: SettingItemComponent, selector: "configcat-setting-item", inputs: { productId: "productId", environmentId: "environmentId", configId: "configId", evaluationVersion: "evaluationVersion", settingId: "settingId", canDeleteSetting: "canDeleteSetting", deleteSettingText: "deleteSettingText", showEnvironmentName: "showEnvironmentName" }, outputs: { deleteSettingRequested: "deleteSettingRequested", loadSucceeded: "loadSucceeded", loadFailed: "loadFailed", saveSucceeded: "saveSucceeded", saveFailed: "saveFailed", formValuesChanged: "formValuesChanged" }, usesInheritance: true, ngImport: i0, template: "<configcat-setting-list [canDeleteSetting]=\"canDeleteSetting\" [onSave]=\"handleSave\"\n [loadSettingValues]=\"loadSettingValues\" [loadSegments]=\"loadSegments\" (loadSucceeded)=\"itemLoadSucceeded()\"\n (deleteSettingRequested)=\"onDeleteSettingRequested($event)\" [deleteSettingText]=\"deleteSettingText\"\n [showEnvironmentName]=\"showEnvironmentName\" (formValuesChanged)=\"onFormValuesChanged()\" [productId]=\"productId\"\n [configId]=\"configId\" [environmentId]=\"environmentId\" [dashboardBasePath]=\"dashboardBasePath\">\n</configcat-setting-list>", styles: [".container{font-family:Montserrat,Roboto,Helvetica Neue,sans-serif;background-color:#f3f3f3;border:1px solid rgba(0,0,0,.12);border-radius:4px;margin:1em 0}.container .setting-full{position:relative;display:flex;flex-wrap:nowrap}.container .setting-full .setting-details{display:flex;flex-direction:column;width:400px;padding:1em 0 1em 1em}.container .setting-full .setting-details>*{margin:.5em}.container .setting-full .setting-details .setting-name{flex-direction:row}.container .setting-full .setting-details .setting-name .name{font-weight:700;word-wrap:break-word;max-width:100%}.container .setting-full .setting-details .setting-key{word-wrap:break-word}.container .setting-full .setting-details .description{font-size:.8em}.container .setting-full .setting-details code{background-color:#d3d3d3;padding:3px 6px}.container .setting-full .rules-list{width:100%;padding:1em}.container .setting-full .targeting-button{margin-left:1rem;margin-bottom:1em}.all-other{min-height:40px;justify-content:flex-start;border:1px solid #d5d5d5;border-radius:4px;background-color:#fff;margin:.5em 1em;padding:4px 0 4px .5em}.all-other .chip{background-color:#67b1fc3d}.all-other .served-value{margin-left:auto;min-width:100px}.end{margin-left:auto}.flex{display:flex;flex-wrap:wrap;align-items:center}.show-hide-toggle{margin-left:1em;cursor:pointer}@media (max-width: 1200px){.setting-full .setting-details{width:300px}}@media (max-width: 700px){.setting-full{flex-wrap:wrap}.setting-full .setting-details{padding:.2em 0 .2em .2em}.setting-full .all-other{margin:.5em .3em}}\n"], dependencies: [{ kind: "component", type: i2.SettingListComponent, selector: "configcat-setting-list", inputs: ["productId", "environmentId", "configId", "dashboardBasePath", "canDeleteSetting", "onSave", "loadSettingValues", "loadSegments", "deleteSettingText", "showEnvironmentName"], outputs: ["loadSucceeded", "deleteSettingRequested", "formValuesChanged"] }] }); }
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SettingItemComponent, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: SettingItemComponent, decorators: [{
87
87
  type: Component,
88
88
  args: [{ selector: 'configcat-setting-item', template: "<configcat-setting-list [canDeleteSetting]=\"canDeleteSetting\" [onSave]=\"handleSave\"\n [loadSettingValues]=\"loadSettingValues\" [loadSegments]=\"loadSegments\" (loadSucceeded)=\"itemLoadSucceeded()\"\n (deleteSettingRequested)=\"onDeleteSettingRequested($event)\" [deleteSettingText]=\"deleteSettingText\"\n [showEnvironmentName]=\"showEnvironmentName\" (formValuesChanged)=\"onFormValuesChanged()\" [productId]=\"productId\"\n [configId]=\"configId\" [environmentId]=\"environmentId\" [dashboardBasePath]=\"dashboardBasePath\">\n</configcat-setting-list>", styles: [".container{font-family:Montserrat,Roboto,Helvetica Neue,sans-serif;background-color:#f3f3f3;border:1px solid rgba(0,0,0,.12);border-radius:4px;margin:1em 0}.container .setting-full{position:relative;display:flex;flex-wrap:nowrap}.container .setting-full .setting-details{display:flex;flex-direction:column;width:400px;padding:1em 0 1em 1em}.container .setting-full .setting-details>*{margin:.5em}.container .setting-full .setting-details .setting-name{flex-direction:row}.container .setting-full .setting-details .setting-name .name{font-weight:700;word-wrap:break-word;max-width:100%}.container .setting-full .setting-details .setting-key{word-wrap:break-word}.container .setting-full .setting-details .description{font-size:.8em}.container .setting-full .setting-details code{background-color:#d3d3d3;padding:3px 6px}.container .setting-full .rules-list{width:100%;padding:1em}.container .setting-full .targeting-button{margin-left:1rem;margin-bottom:1em}.all-other{min-height:40px;justify-content:flex-start;border:1px solid #d5d5d5;border-radius:4px;background-color:#fff;margin:.5em 1em;padding:4px 0 4px .5em}.all-other .chip{background-color:#67b1fc3d}.all-other .served-value{margin-left:auto;min-width:100px}.end{margin-left:auto}.flex{display:flex;flex-wrap:wrap;align-items:center}.show-hide-toggle{margin-left:1em;cursor:pointer}@media (max-width: 1200px){.setting-full .setting-details{width:300px}}@media (max-width: 700px){.setting-full{flex-wrap:wrap}.setting-full .setting-details{padding:.2em 0 .2em .2em}.setting-full .all-other{margin:.5em .3em}}\n"] }]
89
89
  }], ctorParameters: () => [{ type: i1.PublicApiService }], propDecorators: { productId: [{