@lowcodeunit/applications-flow-common 1.39.75-merge → 1.39.78-exceptions

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,7 @@ import * as i1 from "../../services/eac.service";
6
6
  import * as i2 from "@angular/forms";
7
7
  import * as i3 from "@angular/material/form-field";
8
8
  import * as i4 from "@angular/material/input";
9
+ import * as i5 from "@angular/common";
9
10
  export class StateConfigFormComponent {
10
11
  constructor(eacSvc, formbldr) {
11
12
  this.eacSvc = eacSvc;
@@ -42,21 +43,25 @@ export class StateConfigFormComponent {
42
43
  this.StatusEvent.emit(res);
43
44
  });
44
45
  }
46
+ // public CheckJSON(){
47
+ // this.isJsonString(this.StateConfigValueFormControl.value);
48
+ // }
45
49
  buildForm() {
46
50
  this.StateConfigForm.addControl('name', this.formbldr.control(this.Config?.Name ? this.Config?.Name : '', [
47
51
  Validators.required,
48
52
  ]));
49
53
  this.StateConfigForm.addControl('description', this.formbldr.control(this.Config?.Description ? this.Config?.Description : '', [Validators.required]));
54
+ // TODO update lcu/common package and add Validators.compose(Validators.required, jsonValidator)
50
55
  this.StateConfigForm.addControl('value', this.formbldr.control(this.Config?.Value
51
56
  ? JSON.stringify(JSON.parse(this.Config?.Value), undefined, 4)
52
57
  : '', [Validators.required]));
53
58
  }
54
59
  }
55
60
  StateConfigFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: StateConfigFormComponent, deps: [{ token: i1.EaCService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
56
- StateConfigFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: StateConfigFormComponent, selector: "lcu-state-config-form", inputs: { AppLookup: ["app-lookup", "AppLookup"], Application: ["application", "Application"], Config: ["config", "Config"] }, outputs: { StatusEvent: "status-event" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"StateConfigForm\">\n <mat-form-field appearance=\"fill\" class=\"input-form\">\n <mat-label>Name</mat-label>\n\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n\n <mat-form-field appearance=\"fill\" class=\"config-text-area\">\n <mat-label>Description</mat-label>\n\n <textarea matInput formControlName=\"description\"> </textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" class=\"config-text-area\">\n <mat-label>Value</mat-label>\n\n <textarea matInput formControlName=\"value\" rows=\"10\" required>\n </textarea>\n </mat-form-field>\n</form>\n", styles: [".input-form,.config-text-area{width:100%}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i4.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"] }, { 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]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }] });
61
+ StateConfigFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: StateConfigFormComponent, selector: "lcu-state-config-form", inputs: { AppLookup: ["app-lookup", "AppLookup"], Application: ["application", "Application"], Config: ["config", "Config"] }, outputs: { StatusEvent: "status-event" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"StateConfigForm\">\n <mat-form-field appearance=\"fill\" class=\"input-form\">\n <mat-label>Name</mat-label>\n\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n\n <mat-form-field appearance=\"fill\" class=\"config-text-area\">\n <mat-label>Description</mat-label>\n\n <textarea matInput formControlName=\"description\"> </textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" class=\"config-text-area\">\n <mat-label>Value</mat-label>\n\n <textarea matInput formControlName=\"value\" rows=\"10\" required>\n </textarea>\n </mat-form-field>\n <mat-error *ngIf=\"!StateConfigValid\"\n >Value is not properly formatted in JSON</mat-error\n >\n</form>\n", styles: [".input-form,.config-text-area{width:100%}\n"], components: [{ type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.MatLabel, selector: "mat-label" }, { type: i4.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"] }, { 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]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatError, selector: "mat-error", inputs: ["id"] }] });
57
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: StateConfigFormComponent, decorators: [{
58
63
  type: Component,
59
- args: [{ selector: 'lcu-state-config-form', template: "<form [formGroup]=\"StateConfigForm\">\n <mat-form-field appearance=\"fill\" class=\"input-form\">\n <mat-label>Name</mat-label>\n\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n\n <mat-form-field appearance=\"fill\" class=\"config-text-area\">\n <mat-label>Description</mat-label>\n\n <textarea matInput formControlName=\"description\"> </textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" class=\"config-text-area\">\n <mat-label>Value</mat-label>\n\n <textarea matInput formControlName=\"value\" rows=\"10\" required>\n </textarea>\n </mat-form-field>\n</form>\n", styles: [".input-form,.config-text-area{width:100%}\n"] }]
64
+ args: [{ selector: 'lcu-state-config-form', template: "<form [formGroup]=\"StateConfigForm\">\n <mat-form-field appearance=\"fill\" class=\"input-form\">\n <mat-label>Name</mat-label>\n\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n\n <mat-form-field appearance=\"fill\" class=\"config-text-area\">\n <mat-label>Description</mat-label>\n\n <textarea matInput formControlName=\"description\"> </textarea>\n </mat-form-field>\n <mat-form-field appearance=\"fill\" class=\"config-text-area\">\n <mat-label>Value</mat-label>\n\n <textarea matInput formControlName=\"value\" rows=\"10\" required>\n </textarea>\n </mat-form-field>\n <mat-error *ngIf=\"!StateConfigValid\"\n >Value is not properly formatted in JSON</mat-error\n >\n</form>\n", styles: [".input-form,.config-text-area{width:100%}\n"] }]
60
65
  }], ctorParameters: function () { return [{ type: i1.EaCService }, { type: i2.FormBuilder }]; }, propDecorators: { AppLookup: [{
61
66
  type: Input,
62
67
  args: ['app-lookup']
@@ -70,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
70
75
  type: Output,
71
76
  args: ['status-event']
72
77
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtY29uZmlnLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvc3RhdGUtY29uZmlnLWZvcm0vc3RhdGUtY29uZmlnLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvc3RhdGUtY29uZmlnLWZvcm0vc3RhdGUtY29uZmlnLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLElBQUksRUFBVSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBWTNDLE1BQU0sT0FBTyx3QkFBd0I7SUEyQmpDLFlBQXNCLE1BQWtCLEVBQVMsUUFBcUI7UUFBaEQsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDbEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQWxCRCxJQUFXLDBCQUEwQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxpQ0FBaUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsMkJBQTJCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFVTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxXQUFXLEtBQVUsQ0FBQztJQUV0QixlQUFlO1FBQ2xCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFM0IsOEJBQThCO1FBRTlCLEdBQUcsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsR0FBRztZQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixFQUFFLEtBQUs7WUFDNUMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLO1lBQzFELEtBQUssRUFBRSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsS0FBSztTQUNqRCxDQUFDO1FBQ0YsTUFBTSxVQUFVLEdBQXNDO1lBQ2xELGlCQUFpQixFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNyRCxXQUFXLEVBQUUsR0FBRztTQUNuQixDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxTQUFTO1FBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQzNCLE1BQU0sRUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5RCxVQUFVLENBQUMsUUFBUTtTQUN0QixDQUFDLENBQ0wsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUMzQixhQUFhLEVBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQ2pCLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUN4RCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDeEIsQ0FDSixDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQzNCLE9BQU8sRUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FDakIsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLO1lBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUM5QixTQUFTLEVBQ1QsQ0FBQyxDQUNKO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsRUFDUixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDeEIsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7cUhBdkZRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDJQQ25CckMsd3FCQW1CQTsyRkRBYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksdUJBQXVCOzJIQU0xQixTQUFTO3NCQURmLEtBQUs7dUJBQUMsWUFBWTtnQkFJWixXQUFXO3NCQURqQixLQUFLO3VCQUFDLGFBQWE7Z0JBSWIsTUFBTTtzQkFEWixLQUFLO3VCQUFDLFFBQVE7Z0JBSVIsV0FBVztzQkFEakIsTUFBTTt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybUJ1aWxkZXIsXG4gICAgRm9ybUdyb3VwLFxuICAgIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEd1aWQsIFN0YXR1cyB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IEVhQ0FwcGxpY2F0aW9uQXNDb2RlLCBFYUNEYXRhVG9rZW4gfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBFYUNTZXJ2aWNlLFxuICAgIFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWFjLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xjdS1zdGF0ZS1jb25maWctZm9ybScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0YXRlLWNvbmZpZy1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdGF0ZS1jb25maWctZm9ybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0ZUNvbmZpZ0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgnYXBwLWxvb2t1cCcpXG4gICAgcHVibGljIEFwcExvb2t1cDogc3RyaW5nO1xuXG4gICAgQElucHV0KCdhcHBsaWNhdGlvbicpXG4gICAgcHVibGljIEFwcGxpY2F0aW9uOiBFYUNBcHBsaWNhdGlvbkFzQ29kZTtcblxuICAgIEBJbnB1dCgnY29uZmlnJylcbiAgICBwdWJsaWMgQ29uZmlnOiBFYUNEYXRhVG9rZW47XG5cbiAgICBAT3V0cHV0KCdzdGF0dXMtZXZlbnQnKVxuICAgIHB1YmxpYyBTdGF0dXNFdmVudDogRXZlbnRFbWl0dGVyPFN0YXR1cz47XG5cbiAgICBwdWJsaWMgZ2V0IFN0YXRlQ29uZmlnTmFtZUZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIHJldHVybiB0aGlzLlN0YXRlQ29uZmlnRm9ybT8uY29udHJvbHM/Lm5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTdGF0ZUNvbmZpZ0Rlc2NyaXB0aW9uRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuU3RhdGVDb25maWdGb3JtPy5jb250cm9scz8uZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBTdGF0ZUNvbmZpZ1ZhbHVlRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuU3RhdGVDb25maWdGb3JtPy5jb250cm9scz8udmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIFN0YXRlQ29uZmlnRm9ybTogRm9ybUdyb3VwO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSwgcHVibGljIGZvcm1ibGRyOiBGb3JtQnVpbGRlcikge1xuICAgICAgICB0aGlzLlN0YXRlQ29uZmlnRm9ybSA9IHRoaXMuZm9ybWJsZHIuZ3JvdXAoe30pO1xuXG4gICAgICAgIHRoaXMuU3RhdHVzRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHt9XG5cbiAgICBwdWJsaWMgU2F2ZVN0YXRlQ29uZmlnKCkge1xuICAgICAgICBsZXQgYXBwID0gdGhpcy5BcHBsaWNhdGlvbjtcblxuICAgICAgICAvLyBjb25zb2xlLmxvZygnQVBQID0gJywgYXBwKTtcblxuICAgICAgICBhcHAuRGF0YVRva2Vuc1snbGN1LXN0YXRlLWNvbmZpZyddID0ge1xuICAgICAgICAgICAgTmFtZTogdGhpcy5TdGF0ZUNvbmZpZ05hbWVGb3JtQ29udHJvbD8udmFsdWUsXG4gICAgICAgICAgICBEZXNjcmlwdGlvbjogdGhpcy5TdGF0ZUNvbmZpZ0Rlc2NyaXB0aW9uRm9ybUNvbnRyb2w/LnZhbHVlLFxuICAgICAgICAgICAgVmFsdWU6IHRoaXMuU3RhdGVDb25maWdWYWx1ZUZvcm1Db250cm9sPy52YWx1ZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2F2ZUFwcFJlcTogU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0ID0ge1xuICAgICAgICAgICAgQXBwbGljYXRpb25Mb29rdXA6IHRoaXMuQXBwTG9va3VwIHx8IEd1aWQuQ3JlYXRlUmF3KCksXG4gICAgICAgICAgICBBcHBsaWNhdGlvbjogYXBwLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmVhY1N2Yy5TYXZlQXBwbGljYXRpb25Bc0NvZGUoc2F2ZUFwcFJlcSkudGhlbigocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLlN0YXR1c0V2ZW50LmVtaXQocmVzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkRm9ybSgpIHtcbiAgICAgICAgdGhpcy5TdGF0ZUNvbmZpZ0Zvcm0uYWRkQ29udHJvbChcbiAgICAgICAgICAgICduYW1lJyxcbiAgICAgICAgICAgIHRoaXMuZm9ybWJsZHIuY29udHJvbCh0aGlzLkNvbmZpZz8uTmFtZSA/IHRoaXMuQ29uZmlnPy5OYW1lIDogJycsIFtcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgXSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLlN0YXRlQ29uZmlnRm9ybS5hZGRDb250cm9sKFxuICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAgIHRoaXMuZm9ybWJsZHIuY29udHJvbChcbiAgICAgICAgICAgICAgICB0aGlzLkNvbmZpZz8uRGVzY3JpcHRpb24gPyB0aGlzLkNvbmZpZz8uRGVzY3JpcHRpb24gOiAnJyxcbiAgICAgICAgICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLlN0YXRlQ29uZmlnRm9ybS5hZGRDb250cm9sKFxuICAgICAgICAgICAgJ3ZhbHVlJyxcbiAgICAgICAgICAgIHRoaXMuZm9ybWJsZHIuY29udHJvbChcbiAgICAgICAgICAgICAgICB0aGlzLkNvbmZpZz8uVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgPyBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5wYXJzZSh0aGlzLkNvbmZpZz8uVmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDRcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIDogJycsXG4gICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJTdGF0ZUNvbmZpZ0Zvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImlucHV0LWZvcm1cIj5cbiAgICAgICAgPG1hdC1sYWJlbD5OYW1lPC9tYXQtbGFiZWw+XG5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiByZXF1aXJlZCAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImNvbmZpZy10ZXh0LWFyZWFcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5EZXNjcmlwdGlvbjwvbWF0LWxhYmVsPlxuXG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiPiA8L3RleHRhcmVhPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJjb25maWctdGV4dC1hcmVhXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+VmFsdWU8L21hdC1sYWJlbD5cblxuICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiByb3dzPVwiMTBcIiByZXF1aXJlZD5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9mb3JtPlxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtY29uZmlnLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvc3RhdGUtY29uZmlnLWZvcm0vc3RhdGUtY29uZmlnLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvY29udHJvbHMvc3RhdGUtY29uZmlnLWZvcm0vc3RhdGUtY29uZmlnLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBSUgsVUFBVSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLElBQUksRUFBVSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQWMzQyxNQUFNLE9BQU8sd0JBQXdCO0lBNkJqQyxZQUFzQixNQUFrQixFQUFTLFFBQXFCO1FBQWhELFdBQU0sR0FBTixNQUFNLENBQVk7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ2xFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFwQkQsSUFBVywwQkFBMEI7UUFDakMsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVcsaUNBQWlDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFXLDJCQUEyQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQztJQUNqRCxDQUFDO0lBWU0sUUFBUTtRQUNYLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVyxLQUFVLENBQUM7SUFFdEIsZUFBZTtRQUNsQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRTNCLDhCQUE4QjtRQUU5QixHQUFHLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUc7WUFDakMsSUFBSSxFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRSxLQUFLO1lBQzVDLFdBQVcsRUFBRSxJQUFJLENBQUMsaUNBQWlDLEVBQUUsS0FBSztZQUMxRCxLQUFLLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixFQUFFLEtBQUs7U0FDakQsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFzQztZQUNsRCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDckQsV0FBVyxFQUFFLEdBQUc7U0FDbkIsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLGlFQUFpRTtJQUNqRSxJQUFJO0lBRU0sU0FBUztRQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUMzQixNQUFNLEVBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDOUQsVUFBVSxDQUFDLFFBQVE7U0FDdEIsQ0FBQyxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FDM0IsYUFBYSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDeEQsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQ3hCLENBQ0osQ0FBQztRQUNGLGdHQUFnRztRQUNoRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FDM0IsT0FBTyxFQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUs7WUFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDVixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQzlCLFNBQVMsRUFDVCxDQUFDLENBQ0o7WUFDSCxDQUFDLENBQUMsRUFBRSxFQUNSLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN4QixDQUNKLENBQUM7SUFDTixDQUFDOztxSEE3RlEsd0JBQXdCO3lHQUF4Qix3QkFBd0IsMlBDckJyQyx3eEJBc0JBOzJGRERhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSx1QkFBdUI7MkhBTTFCLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxZQUFZO2dCQUlaLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsYUFBYTtnQkFJYixNQUFNO3NCQURaLEtBQUs7dUJBQUMsUUFBUTtnQkFJUixXQUFXO3NCQURqQixNQUFNO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0Q29udHJvbCxcbiAgICBGb3JtQnVpbGRlcixcbiAgICBGb3JtR3JvdXAsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgR3VpZCwgU3RhdHVzIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuLy8gaW1wb3J0IHsganNvblZhbGlkYXRvciB9IGZyb20gJ0BsY3UvY29tbW9uJztcblxuaW1wb3J0IHsgRWFDQXBwbGljYXRpb25Bc0NvZGUsIEVhQ0RhdGFUb2tlbiB9IGZyb20gJ0BzZW1hbnRpY2pzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEVhQ1NlcnZpY2UsXG4gICAgU2F2ZUFwcGxpY2F0aW9uQXNDb2RlRXZlbnRSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGN1LXN0YXRlLWNvbmZpZy1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3RhdGUtY29uZmlnLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0YXRlLWNvbmZpZy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlQ29uZmlnRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCdhcHAtbG9va3VwJylcbiAgICBwdWJsaWMgQXBwTG9va3VwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ2FwcGxpY2F0aW9uJylcbiAgICBwdWJsaWMgQXBwbGljYXRpb246IEVhQ0FwcGxpY2F0aW9uQXNDb2RlO1xuXG4gICAgQElucHV0KCdjb25maWcnKVxuICAgIHB1YmxpYyBDb25maWc6IEVhQ0RhdGFUb2tlbjtcblxuICAgIEBPdXRwdXQoJ3N0YXR1cy1ldmVudCcpXG4gICAgcHVibGljIFN0YXR1c0V2ZW50OiBFdmVudEVtaXR0ZXI8U3RhdHVzPjtcblxuICAgIHB1YmxpYyBnZXQgU3RhdGVDb25maWdOYW1lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuU3RhdGVDb25maWdGb3JtPy5jb250cm9scz8ubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFN0YXRlQ29uZmlnRGVzY3JpcHRpb25Gb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5TdGF0ZUNvbmZpZ0Zvcm0/LmNvbnRyb2xzPy5kZXNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IFN0YXRlQ29uZmlnVmFsdWVGb3JtQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5TdGF0ZUNvbmZpZ0Zvcm0/LmNvbnRyb2xzPy52YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgU3RhdGVDb25maWdGb3JtOiBGb3JtR3JvdXA7XG5cbiAgICBwdWJsaWMgU3RhdGVDb25maWdWYWxpZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2UsIHB1YmxpYyBmb3JtYmxkcjogRm9ybUJ1aWxkZXIpIHtcbiAgICAgICAgdGhpcy5TdGF0ZUNvbmZpZ0Zvcm0gPSB0aGlzLmZvcm1ibGRyLmdyb3VwKHt9KTtcblxuICAgICAgICB0aGlzLlN0YXR1c0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7fVxuXG4gICAgcHVibGljIFNhdmVTdGF0ZUNvbmZpZygpIHtcbiAgICAgICAgbGV0IGFwcCA9IHRoaXMuQXBwbGljYXRpb247XG5cbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0FQUCA9ICcsIGFwcCk7XG5cbiAgICAgICAgYXBwLkRhdGFUb2tlbnNbJ2xjdS1zdGF0ZS1jb25maWcnXSA9IHtcbiAgICAgICAgICAgIE5hbWU6IHRoaXMuU3RhdGVDb25maWdOYW1lRm9ybUNvbnRyb2w/LnZhbHVlLFxuICAgICAgICAgICAgRGVzY3JpcHRpb246IHRoaXMuU3RhdGVDb25maWdEZXNjcmlwdGlvbkZvcm1Db250cm9sPy52YWx1ZSxcbiAgICAgICAgICAgIFZhbHVlOiB0aGlzLlN0YXRlQ29uZmlnVmFsdWVGb3JtQ29udHJvbD8udmFsdWUsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNhdmVBcHBSZXE6IFNhdmVBcHBsaWNhdGlvbkFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uTG9va3VwOiB0aGlzLkFwcExvb2t1cCB8fCBHdWlkLkNyZWF0ZVJhdygpLFxuICAgICAgICAgICAgQXBwbGljYXRpb246IGFwcCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5lYWNTdmMuU2F2ZUFwcGxpY2F0aW9uQXNDb2RlKHNhdmVBcHBSZXEpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5TdGF0dXNFdmVudC5lbWl0KHJlcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHB1YmxpYyBDaGVja0pTT04oKXtcbiAgICAvLyAgICAgdGhpcy5pc0pzb25TdHJpbmcodGhpcy5TdGF0ZUNvbmZpZ1ZhbHVlRm9ybUNvbnRyb2wudmFsdWUpO1xuICAgIC8vIH1cblxuICAgIHByb3RlY3RlZCBidWlsZEZvcm0oKSB7XG4gICAgICAgIHRoaXMuU3RhdGVDb25maWdGb3JtLmFkZENvbnRyb2woXG4gICAgICAgICAgICAnbmFtZScsXG4gICAgICAgICAgICB0aGlzLmZvcm1ibGRyLmNvbnRyb2wodGhpcy5Db25maWc/Lk5hbWUgPyB0aGlzLkNvbmZpZz8uTmFtZSA6ICcnLCBbXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgIF0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5TdGF0ZUNvbmZpZ0Zvcm0uYWRkQ29udHJvbChcbiAgICAgICAgICAgICdkZXNjcmlwdGlvbicsXG4gICAgICAgICAgICB0aGlzLmZvcm1ibGRyLmNvbnRyb2woXG4gICAgICAgICAgICAgICAgdGhpcy5Db25maWc/LkRlc2NyaXB0aW9uID8gdGhpcy5Db25maWc/LkRlc2NyaXB0aW9uIDogJycsXG4gICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIC8vIFRPRE8gdXBkYXRlIGxjdS9jb21tb24gcGFja2FnZSBhbmQgYWRkIFZhbGlkYXRvcnMuY29tcG9zZShWYWxpZGF0b3JzLnJlcXVpcmVkLCBqc29uVmFsaWRhdG9yKVxuICAgICAgICB0aGlzLlN0YXRlQ29uZmlnRm9ybS5hZGRDb250cm9sKFxuICAgICAgICAgICAgJ3ZhbHVlJyxcbiAgICAgICAgICAgIHRoaXMuZm9ybWJsZHIuY29udHJvbChcbiAgICAgICAgICAgICAgICB0aGlzLkNvbmZpZz8uVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgPyBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5wYXJzZSh0aGlzLkNvbmZpZz8uVmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDRcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIDogJycsXG4gICAgICAgICAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gcHJvdGVjdGVkIGlzSnNvblN0cmluZyhzdHI6c3RyaW5nKSB7XG4gICAgLy8gICAgIGNvbnNvbGUubG9nKFwic3RyaW5nOiBcIiwgc3RyKVxuICAgIC8vICAgICBsZXQgdGVzdCA9IEpTT04ucGFyc2Uoc3RyKTtcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJqc29uOiBcIiwgdGVzdClcbiAgICAvLyAgICAgdHJ5IHtcbiAgICAvLyAgICAgICAgIGxldCB0ZXN0ID0gSlNPTi5wYXJzZShzdHIpO1xuICAgIC8vICAgICAgICAgY29uc29sZS5sb2coXCJqc29uOiBcIiwgdGVzdClcbiAgICAvLyAgICAgfSBjYXRjaCAoZSkge1xuICAgIC8vICAgICAgICAgdGhpcy5TdGF0ZUNvbmZpZ1ZhbGlkID0gZmFsc2U7XG4gICAgLy8gICAgICAgICAvLyByZXR1cm4gZmFsc2U7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgdGhpcy5TdGF0ZUNvbmZpZ1ZhbGlkID0gdHJ1ZTtcbiAgICAvLyAgICAgLy8gcmV0dXJuIHRydWU7XG4gICAgLy8gfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJTdGF0ZUNvbmZpZ0Zvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImlucHV0LWZvcm1cIj5cbiAgICAgICAgPG1hdC1sYWJlbD5OYW1lPC9tYXQtbGFiZWw+XG5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiByZXF1aXJlZCAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImNvbmZpZy10ZXh0LWFyZWFcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5EZXNjcmlwdGlvbjwvbWF0LWxhYmVsPlxuXG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiPiA8L3RleHRhcmVhPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJjb25maWctdGV4dC1hcmVhXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+VmFsdWU8L21hdC1sYWJlbD5cblxuICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiByb3dzPVwiMTBcIiByZXF1aXJlZD5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCIhU3RhdGVDb25maWdWYWxpZFwiXG4gICAgICAgID5WYWx1ZSBpcyBub3QgcHJvcGVybHkgZm9ybWF0dGVkIGluIEpTT048L21hdC1lcnJvclxuICAgID5cbjwvZm9ybT5cbiJdfQ==
@@ -30,10 +30,10 @@ export class DashboardToolbarComponent {
30
30
  }
31
31
  }
32
32
  DashboardToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: DashboardToolbarComponent, deps: [{ token: i1.BreakpointObserver }, { token: i2.EaCService }], target: i0.ɵɵFactoryTarget.Component });
33
- DashboardToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: DashboardToolbarComponent, selector: "lcu-dashboard-toolbar", inputs: { AppLookup: ["app-lookup", "AppLookup"], ProjectLookups: ["project-lookups", "ProjectLookups"], Loading: ["loading", "Loading"], ProjectLookup: ["project-lookup", "ProjectLookup"] }, ngImport: i0, template: "<mat-toolbar class=\"dashboard-toolbar\">\n <a class=\"toolbar-item\" href=\"/dashboard\" fxLayoutAlign=\"center center\">\n <mat-icon>home</mat-icon>\n </a>\n\n <div class=\"vl\"></div>\n\n <ng-container *ngIf=\"ProjectLookups && !ProjectLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/enterprise\">Overview</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/projects\">Projects</a>\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/teams\"\n *ngIf=\"ProjectLookups.length > 0\"\n >Teams</a\n >\n\n <a\n class=\"toolbar-item disabled\"\n href=\"/dashboard/teams\"\n *ngIf=\"ProjectLookups.length <= 0\"\n matTooltip=\"Add a project to unlock this feature\"\n >Teams</a\n >\n\n <div class=\"vl\"></div>\n\n <a\n *ngIf=\"ProjectLookups?.length > 0 || Loading\"\n class=\"toolbar-item\"\n href=\"/dashboard/devops\"\n >DevOps</a\n >\n <a\n *ngIf=\"ProjectLookups?.length <= 0 && !Loading\"\n matTooltip=\"Add a project to unlock this feature\"\n class=\"toolbar-item disabled\"\n >DevOps</a\n >\n <div class=\"vl\"></div>\n\n <!-- <span>Domains</span> -->\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers\">Mods</a>\n <!-- <span>Manage (krakyn)</span> -->\n </ng-container>\n\n <ng-container *ngIf=\"ProjectLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/project/{{ ProjectLookup }}\"\n >Project Overview</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/applications/{{ ProjectLookup }}\"\n >Routes</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/teams/{{ ProjectLookup }}\"\n >Teams</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/domains/{{ ProjectLookup }}\"\n >Domains</a\n >\n <div class=\"vl\"></div>\n\n <!-- <a class=\"toolbar-item disabled\" href=\"/dashboard/state-config\"\n >State Config</a\n >\n <div class=\"vl\"></div> -->\n\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers/{{ ProjectLookup }}\"\n >Mods</a\n >\n </ng-container>\n\n <!-- <ng-container *ngIf=\"AppLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/project/{{ ProjectLookup }}\"\n >Project Overview</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/applications/{{ ProjectLookup }}\"\n >Routes</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/teams\">Teams</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/domains/{{ ProjectLookup }}\"\n >Domains</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/state-config/{{ ProjectLookup }}/{{ AppLookup }}\"\n >State Config</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers/{{ ProjectLookup }}\"\n >Mods</a\n >\n </ng-container> -->\n</mat-toolbar>\n", styles: [".dashboard-toolbar{background-color:#fff}.toolbar-item{margin:10px;text-decoration:none;color:#000}.vl{border-left:2px solid black;height:20px}.disabled{color:gray;pointer-events:none}@media only screen and (max-width: 959px){.dashboard-toolbar{height:45px}.toolbar-item{font-size:11px;margin:5px}.vl{border-left:1px solid black;height:12px}}\n"], components: [{ type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
33
+ DashboardToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: DashboardToolbarComponent, selector: "lcu-dashboard-toolbar", inputs: { AppLookup: ["app-lookup", "AppLookup"], ProjectLookups: ["project-lookups", "ProjectLookups"], Loading: ["loading", "Loading"], ProjectLookup: ["project-lookup", "ProjectLookup"] }, ngImport: i0, template: "<mat-toolbar class=\"dashboard-toolbar\">\n <a class=\"toolbar-item\" href=\"/dashboard\" fxLayoutAlign=\"center center\">\n <mat-icon>home</mat-icon>\n </a>\n\n <div class=\"vl\"></div>\n\n <ng-container *ngIf=\"ProjectLookups && !ProjectLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/enterprise\">Overview</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/projects\">Projects</a>\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/teams\"\n *ngIf=\"ProjectLookups.length > 0\"\n >Teams</a\n >\n\n <a\n class=\"toolbar-item disabled\"\n href=\"/dashboard/teams\"\n *ngIf=\"ProjectLookups.length <= 0\"\n matTooltip=\"Add a project to unlock this feature\"\n >Teams</a\n >\n\n <div class=\"vl\"></div>\n\n <a\n *ngIf=\"ProjectLookups?.length > 0 || Loading\"\n class=\"toolbar-item\"\n href=\"/dashboard/devops\"\n >DevOps</a\n >\n <a\n *ngIf=\"ProjectLookups?.length <= 0 && !Loading\"\n matTooltip=\"Add a project to unlock this feature\"\n class=\"toolbar-item disabled\"\n >DevOps</a\n >\n <div class=\"vl\"></div>\n\n <!-- <span>Domains</span> -->\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers\">Mods</a>\n <!-- <span>Manage (krakyn)</span> -->\n </ng-container>\n\n <ng-container *ngIf=\"ProjectLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/project/{{ ProjectLookup }}\"\n >Project Overview</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/applications/{{ ProjectLookup }}\"\n >Routes</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/teams/{{ ProjectLookup }}\"\n >Teams</a\n >\n <div class=\"vl\"></div>\n <a class=\"toolbar-item\" href=\"/dashboard/devops\">DevOps</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/domains/{{ ProjectLookup }}\"\n >Domains</a\n >\n <div class=\"vl\"></div>\n\n <!-- <a class=\"toolbar-item disabled\" href=\"/dashboard/state-config\"\n >State Config</a\n >\n <div class=\"vl\"></div> -->\n\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers/{{ ProjectLookup }}\"\n >Mods</a\n >\n </ng-container>\n\n <!-- <ng-container *ngIf=\"AppLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/project/{{ ProjectLookup }}\"\n >Project Overview</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/applications/{{ ProjectLookup }}\"\n >Routes</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/teams\">Teams</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/domains/{{ ProjectLookup }}\"\n >Domains</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/state-config/{{ ProjectLookup }}/{{ AppLookup }}\"\n >State Config</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers/{{ ProjectLookup }}\"\n >Mods</a\n >\n </ng-container> -->\n</mat-toolbar>\n", styles: [".dashboard-toolbar{background-color:#fff}.toolbar-item{margin:10px;text-decoration:none;color:#000}.vl{border-left:2px solid black;height:20px}.disabled{color:gray;pointer-events:none}@media only screen and (max-width: 959px){.dashboard-toolbar{height:45px}.toolbar-item{font-size:11px;margin:5px}.vl{border-left:1px solid black;height:12px}}\n"], components: [{ type: i3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: DashboardToolbarComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'lcu-dashboard-toolbar', template: "<mat-toolbar class=\"dashboard-toolbar\">\n <a class=\"toolbar-item\" href=\"/dashboard\" fxLayoutAlign=\"center center\">\n <mat-icon>home</mat-icon>\n </a>\n\n <div class=\"vl\"></div>\n\n <ng-container *ngIf=\"ProjectLookups && !ProjectLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/enterprise\">Overview</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/projects\">Projects</a>\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/teams\"\n *ngIf=\"ProjectLookups.length > 0\"\n >Teams</a\n >\n\n <a\n class=\"toolbar-item disabled\"\n href=\"/dashboard/teams\"\n *ngIf=\"ProjectLookups.length <= 0\"\n matTooltip=\"Add a project to unlock this feature\"\n >Teams</a\n >\n\n <div class=\"vl\"></div>\n\n <a\n *ngIf=\"ProjectLookups?.length > 0 || Loading\"\n class=\"toolbar-item\"\n href=\"/dashboard/devops\"\n >DevOps</a\n >\n <a\n *ngIf=\"ProjectLookups?.length <= 0 && !Loading\"\n matTooltip=\"Add a project to unlock this feature\"\n class=\"toolbar-item disabled\"\n >DevOps</a\n >\n <div class=\"vl\"></div>\n\n <!-- <span>Domains</span> -->\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers\">Mods</a>\n <!-- <span>Manage (krakyn)</span> -->\n </ng-container>\n\n <ng-container *ngIf=\"ProjectLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/project/{{ ProjectLookup }}\"\n >Project Overview</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/applications/{{ ProjectLookup }}\"\n >Routes</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/teams/{{ ProjectLookup }}\"\n >Teams</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/domains/{{ ProjectLookup }}\"\n >Domains</a\n >\n <div class=\"vl\"></div>\n\n <!-- <a class=\"toolbar-item disabled\" href=\"/dashboard/state-config\"\n >State Config</a\n >\n <div class=\"vl\"></div> -->\n\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers/{{ ProjectLookup }}\"\n >Mods</a\n >\n </ng-container>\n\n <!-- <ng-container *ngIf=\"AppLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/project/{{ ProjectLookup }}\"\n >Project Overview</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/applications/{{ ProjectLookup }}\"\n >Routes</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/teams\">Teams</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/domains/{{ ProjectLookup }}\"\n >Domains</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/state-config/{{ ProjectLookup }}/{{ AppLookup }}\"\n >State Config</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers/{{ ProjectLookup }}\"\n >Mods</a\n >\n </ng-container> -->\n</mat-toolbar>\n", styles: [".dashboard-toolbar{background-color:#fff}.toolbar-item{margin:10px;text-decoration:none;color:#000}.vl{border-left:2px solid black;height:20px}.disabled{color:gray;pointer-events:none}@media only screen and (max-width: 959px){.dashboard-toolbar{height:45px}.toolbar-item{font-size:11px;margin:5px}.vl{border-left:1px solid black;height:12px}}\n"] }]
36
+ args: [{ selector: 'lcu-dashboard-toolbar', template: "<mat-toolbar class=\"dashboard-toolbar\">\n <a class=\"toolbar-item\" href=\"/dashboard\" fxLayoutAlign=\"center center\">\n <mat-icon>home</mat-icon>\n </a>\n\n <div class=\"vl\"></div>\n\n <ng-container *ngIf=\"ProjectLookups && !ProjectLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/enterprise\">Overview</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/projects\">Projects</a>\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/teams\"\n *ngIf=\"ProjectLookups.length > 0\"\n >Teams</a\n >\n\n <a\n class=\"toolbar-item disabled\"\n href=\"/dashboard/teams\"\n *ngIf=\"ProjectLookups.length <= 0\"\n matTooltip=\"Add a project to unlock this feature\"\n >Teams</a\n >\n\n <div class=\"vl\"></div>\n\n <a\n *ngIf=\"ProjectLookups?.length > 0 || Loading\"\n class=\"toolbar-item\"\n href=\"/dashboard/devops\"\n >DevOps</a\n >\n <a\n *ngIf=\"ProjectLookups?.length <= 0 && !Loading\"\n matTooltip=\"Add a project to unlock this feature\"\n class=\"toolbar-item disabled\"\n >DevOps</a\n >\n <div class=\"vl\"></div>\n\n <!-- <span>Domains</span> -->\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers\">Mods</a>\n <!-- <span>Manage (krakyn)</span> -->\n </ng-container>\n\n <ng-container *ngIf=\"ProjectLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/project/{{ ProjectLookup }}\"\n >Project Overview</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/applications/{{ ProjectLookup }}\"\n >Routes</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/teams/{{ ProjectLookup }}\"\n >Teams</a\n >\n <div class=\"vl\"></div>\n <a class=\"toolbar-item\" href=\"/dashboard/devops\">DevOps</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/domains/{{ ProjectLookup }}\"\n >Domains</a\n >\n <div class=\"vl\"></div>\n\n <!-- <a class=\"toolbar-item disabled\" href=\"/dashboard/state-config\"\n >State Config</a\n >\n <div class=\"vl\"></div> -->\n\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers/{{ ProjectLookup }}\"\n >Mods</a\n >\n </ng-container>\n\n <!-- <ng-container *ngIf=\"AppLookup\">\n <a class=\"toolbar-item\" href=\"/dashboard/project/{{ ProjectLookup }}\"\n >Project Overview</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/applications/{{ ProjectLookup }}\"\n >Routes</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/teams\">Teams</a>\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/domains/{{ ProjectLookup }}\"\n >Domains</a\n >\n <div class=\"vl\"></div>\n\n <a\n class=\"toolbar-item\"\n href=\"/dashboard/state-config/{{ ProjectLookup }}/{{ AppLookup }}\"\n >State Config</a\n >\n <div class=\"vl\"></div>\n\n <a class=\"toolbar-item\" href=\"/dashboard/modifiers/{{ ProjectLookup }}\"\n >Mods</a\n >\n </ng-container> -->\n</mat-toolbar>\n", styles: [".dashboard-toolbar{background-color:#fff}.toolbar-item{margin:10px;text-decoration:none;color:#000}.vl{border-left:2px solid black;height:20px}.disabled{color:gray;pointer-events:none}@media only screen and (max-width: 959px){.dashboard-toolbar{height:45px}.toolbar-item{font-size:11px;margin:5px}.vl{border-left:1px solid black;height:12px}}\n"] }]
37
37
  }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }, { type: i2.EaCService }]; }, propDecorators: { AppLookup: [{
38
38
  type: Input,
39
39
  args: ['app-lookup']
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
47
47
  type: Input,
48
48
  args: ['project-lookup']
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvZGFzaGJvYXJkLXRvb2xiYXIvZGFzaGJvYXJkLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvZGFzaGJvYXJkLXRvb2xiYXIvZGFzaGJvYXJkLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQVF6RCxNQUFNLE9BQU8seUJBQXlCO0lBa0JsQyxZQUNXLGtCQUFzQyxFQUNuQyxNQUFrQjtRQURyQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQVk7SUFDN0IsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsa0JBQWtCO2FBQ2xCLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFO1lBQ2xDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDZixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzthQUMxQjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRVAsZ0RBQWdEO1FBRWhELGtCQUFrQjtRQUNsQix5QkFBeUI7UUFDekIsSUFBSTtJQUNSLENBQUM7O3NIQXZDUSx5QkFBeUI7MEdBQXpCLHlCQUF5Qiw2UENUdEMsa2hIQW9IQTsyRkQzR2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNJLHVCQUF1QjtrSUFNMUIsU0FBUztzQkFEZixLQUFLO3VCQUFDLFlBQVk7Z0JBSVosY0FBYztzQkFEcEIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBSWpCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTO2dCQU9ULGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtZGFzaGJvYXJkLXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLXRvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCdhcHAtbG9va3VwJylcbiAgICBwdWJsaWMgQXBwTG9va3VwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ3Byb2plY3QtbG9va3VwcycpXG4gICAgcHVibGljIFByb2plY3RMb29rdXBzOiBBcnJheTxzdHJpbmc+O1xuXG4gICAgQElucHV0KCdsb2FkaW5nJylcbiAgICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbjtcblxuICAgIC8vIEBJbnB1dCgndHlwZScpXG4gICAgLy8gcHVibGljIFR5cGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgncHJvamVjdC1sb29rdXAnKVxuICAgIHB1YmxpYyBQcm9qZWN0TG9va3VwOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgSXNTbVNjcmVlbjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgIHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKFsnKG1heC13aWR0aDogOTU5cHgpJ10pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogQnJlYWtwb2ludFN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlLm1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Jc1NtU2NyZWVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLklzU21TY3JlZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBjb25zb2xlLmxvZygnYXBwIGxvb2t1cCA9ICcsIHRoaXMuQXBwTG9va3VwKTtcblxuICAgICAgICAvLyBpZighdGhpcy5UeXBlKXtcbiAgICAgICAgLy8gICAgIHRoaXMuVHlwZSA9IFwiZW50XCI7XG4gICAgICAgIC8vIH1cbiAgICB9XG59XG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJkYXNoYm9hcmQtdG9vbGJhclwiPlxuICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmRcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICA8bWF0LWljb24+aG9tZTwvbWF0LWljb24+XG4gICAgPC9hPlxuXG4gICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiUHJvamVjdExvb2t1cHMgJiYgIVByb2plY3RMb29rdXBcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0b29sYmFyLWl0ZW1cIiBocmVmPVwiL2Rhc2hib2FyZC9lbnRlcnByaXNlXCI+T3ZlcnZpZXc8L2E+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvcHJvamVjdHNcIj5Qcm9qZWN0czwvYT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+XG5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhci1pdGVtXCJcbiAgICAgICAgICAgIGhyZWY9XCIvZGFzaGJvYXJkL3RlYW1zXCJcbiAgICAgICAgICAgICpuZ0lmPVwiUHJvamVjdExvb2t1cHMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICA+VGVhbXM8L2FcbiAgICAgICAgPlxuXG4gICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInRvb2xiYXItaXRlbSBkaXNhYmxlZFwiXG4gICAgICAgICAgICBocmVmPVwiL2Rhc2hib2FyZC90ZWFtc1wiXG4gICAgICAgICAgICAqbmdJZj1cIlByb2plY3RMb29rdXBzLmxlbmd0aCA8PSAwXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJBZGQgYSBwcm9qZWN0IHRvIHVubG9jayB0aGlzIGZlYXR1cmVcIlxuICAgICAgICAgICAgPlRlYW1zPC9hXG4gICAgICAgID5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwidmxcIj48L2Rpdj5cblxuICAgICAgICA8YVxuICAgICAgICAgICAgKm5nSWY9XCJQcm9qZWN0TG9va3Vwcz8ubGVuZ3RoID4gMCB8fCBMb2FkaW5nXCJcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhci1pdGVtXCJcbiAgICAgICAgICAgIGhyZWY9XCIvZGFzaGJvYXJkL2Rldm9wc1wiXG4gICAgICAgICAgICA+RGV2T3BzPC9hXG4gICAgICAgID5cbiAgICAgICAgPGFcbiAgICAgICAgICAgICpuZ0lmPVwiUHJvamVjdExvb2t1cHM/Lmxlbmd0aCA8PSAwICYmICFMb2FkaW5nXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJBZGQgYSBwcm9qZWN0IHRvIHVubG9jayB0aGlzIGZlYXR1cmVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0b29sYmFyLWl0ZW0gZGlzYWJsZWRcIlxuICAgICAgICAgICAgPkRldk9wczwvYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDwhLS0gPHNwYW4+RG9tYWluczwvc3Bhbj4gLS0+XG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvbW9kaWZpZXJzXCI+TW9kczwvYT5cbiAgICAgICAgPCEtLSA8c3Bhbj5NYW5hZ2UgKGtyYWt5bik8L3NwYW4+IC0tPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlByb2plY3RMb29rdXBcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0b29sYmFyLWl0ZW1cIiBocmVmPVwiL2Rhc2hib2FyZC9wcm9qZWN0L3t7IFByb2plY3RMb29rdXAgfX1cIlxuICAgICAgICAgICAgPlByb2plY3QgT3ZlcnZpZXc8L2FcbiAgICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmxcIj48L2Rpdj5cblxuICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJ0b29sYmFyLWl0ZW1cIlxuICAgICAgICAgICAgaHJlZj1cIi9kYXNoYm9hcmQvYXBwbGljYXRpb25zL3t7IFByb2plY3RMb29rdXAgfX1cIlxuICAgICAgICAgICAgPlJvdXRlczwvYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvdGVhbXMve3sgUHJvamVjdExvb2t1cCB9fVwiXG4gICAgICAgICAgICA+VGVhbXM8L2FcbiAgICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmxcIj48L2Rpdj5cblxuICAgICAgICA8YSBjbGFzcz1cInRvb2xiYXItaXRlbVwiIGhyZWY9XCIvZGFzaGJvYXJkL2RvbWFpbnMve3sgUHJvamVjdExvb2t1cCB9fVwiXG4gICAgICAgICAgICA+RG9tYWluczwvYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDwhLS0gPGEgY2xhc3M9XCJ0b29sYmFyLWl0ZW0gZGlzYWJsZWRcIiBocmVmPVwiL2Rhc2hib2FyZC9zdGF0ZS1jb25maWdcIlxuICAgICAgICAgICAgPlN0YXRlIENvbmZpZzwvYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PiAtLT5cblxuICAgICAgICA8YSBjbGFzcz1cInRvb2xiYXItaXRlbVwiIGhyZWY9XCIvZGFzaGJvYXJkL21vZGlmaWVycy97eyBQcm9qZWN0TG9va3VwIH19XCJcbiAgICAgICAgICAgID5Nb2RzPC9hXG4gICAgICAgID5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cIkFwcExvb2t1cFwiPlxuICAgICAgICA8YSBjbGFzcz1cInRvb2xiYXItaXRlbVwiIGhyZWY9XCIvZGFzaGJvYXJkL3Byb2plY3Qve3sgUHJvamVjdExvb2t1cCB9fVwiXG4gICAgICAgICAgICA+UHJvamVjdCBPdmVydmlldzwvYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInRvb2xiYXItaXRlbVwiXG4gICAgICAgICAgICBocmVmPVwiL2Rhc2hib2FyZC9hcHBsaWNhdGlvbnMve3sgUHJvamVjdExvb2t1cCB9fVwiXG4gICAgICAgICAgICA+Um91dGVzPC9hXG4gICAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+XG5cbiAgICAgICAgPGEgY2xhc3M9XCJ0b29sYmFyLWl0ZW1cIiBocmVmPVwiL2Rhc2hib2FyZC90ZWFtc1wiPlRlYW1zPC9hPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmxcIj48L2Rpdj5cblxuICAgICAgICA8YSBjbGFzcz1cInRvb2xiYXItaXRlbVwiIGhyZWY9XCIvZGFzaGJvYXJkL2RvbWFpbnMve3sgUHJvamVjdExvb2t1cCB9fVwiXG4gICAgICAgICAgICA+RG9tYWluczwvYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInRvb2xiYXItaXRlbVwiXG4gICAgICAgICAgICBocmVmPVwiL2Rhc2hib2FyZC9zdGF0ZS1jb25maWcve3sgUHJvamVjdExvb2t1cCB9fS97eyBBcHBMb29rdXAgfX1cIlxuICAgICAgICAgICAgPlN0YXRlIENvbmZpZzwvYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvbW9kaWZpZXJzL3t7IFByb2plY3RMb29rdXAgfX1cIlxuICAgICAgICAgICAgPk1vZHM8L2FcbiAgICAgICAgPlxuICAgIDwvbmctY29udGFpbmVyPiAtLT5cbjwvbWF0LXRvb2xiYXI+XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvZGFzaGJvYXJkLXRvb2xiYXIvZGFzaGJvYXJkLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvZGFzaGJvYXJkLXRvb2xiYXIvZGFzaGJvYXJkLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQVF6RCxNQUFNLE9BQU8seUJBQXlCO0lBa0JsQyxZQUNXLGtCQUFzQyxFQUNuQyxNQUFrQjtRQURyQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQVk7SUFDN0IsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsa0JBQWtCO2FBQ2xCLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFO1lBQ2xDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDZixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzthQUMxQjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRVAsZ0RBQWdEO1FBRWhELGtCQUFrQjtRQUNsQix5QkFBeUI7UUFDekIsSUFBSTtJQUNSLENBQUM7O3NIQXZDUSx5QkFBeUI7MEdBQXpCLHlCQUF5Qiw2UENUdEMsNm5IQXNIQTsyRkQ3R2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNJLHVCQUF1QjtrSUFNMUIsU0FBUztzQkFEZixLQUFLO3VCQUFDLFlBQVk7Z0JBSVosY0FBYztzQkFEcEIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBSWpCLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxTQUFTO2dCQU9ULGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsY3UtZGFzaGJvYXJkLXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLXRvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCdhcHAtbG9va3VwJylcbiAgICBwdWJsaWMgQXBwTG9va3VwOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoJ3Byb2plY3QtbG9va3VwcycpXG4gICAgcHVibGljIFByb2plY3RMb29rdXBzOiBBcnJheTxzdHJpbmc+O1xuXG4gICAgQElucHV0KCdsb2FkaW5nJylcbiAgICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbjtcblxuICAgIC8vIEBJbnB1dCgndHlwZScpXG4gICAgLy8gcHVibGljIFR5cGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgncHJvamVjdC1sb29rdXAnKVxuICAgIHB1YmxpYyBQcm9qZWN0TG9va3VwOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgSXNTbVNjcmVlbjogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgIHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKFsnKG1heC13aWR0aDogOTU5cHgpJ10pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzdGF0ZTogQnJlYWtwb2ludFN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRlLm1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Jc1NtU2NyZWVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLklzU21TY3JlZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBjb25zb2xlLmxvZygnYXBwIGxvb2t1cCA9ICcsIHRoaXMuQXBwTG9va3VwKTtcblxuICAgICAgICAvLyBpZighdGhpcy5UeXBlKXtcbiAgICAgICAgLy8gICAgIHRoaXMuVHlwZSA9IFwiZW50XCI7XG4gICAgICAgIC8vIH1cbiAgICB9XG59XG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJkYXNoYm9hcmQtdG9vbGJhclwiPlxuICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmRcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICA8bWF0LWljb24+aG9tZTwvbWF0LWljb24+XG4gICAgPC9hPlxuXG4gICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiUHJvamVjdExvb2t1cHMgJiYgIVByb2plY3RMb29rdXBcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0b29sYmFyLWl0ZW1cIiBocmVmPVwiL2Rhc2hib2FyZC9lbnRlcnByaXNlXCI+T3ZlcnZpZXc8L2E+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvcHJvamVjdHNcIj5Qcm9qZWN0czwvYT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+XG5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhci1pdGVtXCJcbiAgICAgICAgICAgIGhyZWY9XCIvZGFzaGJvYXJkL3RlYW1zXCJcbiAgICAgICAgICAgICpuZ0lmPVwiUHJvamVjdExvb2t1cHMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICA+VGVhbXM8L2FcbiAgICAgICAgPlxuXG4gICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInRvb2xiYXItaXRlbSBkaXNhYmxlZFwiXG4gICAgICAgICAgICBocmVmPVwiL2Rhc2hib2FyZC90ZWFtc1wiXG4gICAgICAgICAgICAqbmdJZj1cIlByb2plY3RMb29rdXBzLmxlbmd0aCA8PSAwXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJBZGQgYSBwcm9qZWN0IHRvIHVubG9jayB0aGlzIGZlYXR1cmVcIlxuICAgICAgICAgICAgPlRlYW1zPC9hXG4gICAgICAgID5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwidmxcIj48L2Rpdj5cblxuICAgICAgICA8YVxuICAgICAgICAgICAgKm5nSWY9XCJQcm9qZWN0TG9va3Vwcz8ubGVuZ3RoID4gMCB8fCBMb2FkaW5nXCJcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhci1pdGVtXCJcbiAgICAgICAgICAgIGhyZWY9XCIvZGFzaGJvYXJkL2Rldm9wc1wiXG4gICAgICAgICAgICA+RGV2T3BzPC9hXG4gICAgICAgID5cbiAgICAgICAgPGFcbiAgICAgICAgICAgICpuZ0lmPVwiUHJvamVjdExvb2t1cHM/Lmxlbmd0aCA8PSAwICYmICFMb2FkaW5nXCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJBZGQgYSBwcm9qZWN0IHRvIHVubG9jayB0aGlzIGZlYXR1cmVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0b29sYmFyLWl0ZW0gZGlzYWJsZWRcIlxuICAgICAgICAgICAgPkRldk9wczwvYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDwhLS0gPHNwYW4+RG9tYWluczwvc3Bhbj4gLS0+XG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvbW9kaWZpZXJzXCI+TW9kczwvYT5cbiAgICAgICAgPCEtLSA8c3Bhbj5NYW5hZ2UgKGtyYWt5bik8L3NwYW4+IC0tPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlByb2plY3RMb29rdXBcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0b29sYmFyLWl0ZW1cIiBocmVmPVwiL2Rhc2hib2FyZC9wcm9qZWN0L3t7IFByb2plY3RMb29rdXAgfX1cIlxuICAgICAgICAgICAgPlByb2plY3QgT3ZlcnZpZXc8L2FcbiAgICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmxcIj48L2Rpdj5cblxuICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJ0b29sYmFyLWl0ZW1cIlxuICAgICAgICAgICAgaHJlZj1cIi9kYXNoYm9hcmQvYXBwbGljYXRpb25zL3t7IFByb2plY3RMb29rdXAgfX1cIlxuICAgICAgICAgICAgPlJvdXRlczwvYVxuICAgICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvdGVhbXMve3sgUHJvamVjdExvb2t1cCB9fVwiXG4gICAgICAgICAgICA+VGVhbXM8L2FcbiAgICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmxcIj48L2Rpdj5cbiAgICAgICAgPGEgY2xhc3M9XCJ0b29sYmFyLWl0ZW1cIiBocmVmPVwiL2Rhc2hib2FyZC9kZXZvcHNcIj5EZXZPcHM8L2E+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvZG9tYWlucy97eyBQcm9qZWN0TG9va3VwIH19XCJcbiAgICAgICAgICAgID5Eb21haW5zPC9hXG4gICAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+XG5cbiAgICAgICAgPCEtLSA8YSBjbGFzcz1cInRvb2xiYXItaXRlbSBkaXNhYmxlZFwiIGhyZWY9XCIvZGFzaGJvYXJkL3N0YXRlLWNvbmZpZ1wiXG4gICAgICAgICAgICA+U3RhdGUgQ29uZmlnPC9hXG4gICAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+IC0tPlxuXG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvbW9kaWZpZXJzL3t7IFByb2plY3RMb29rdXAgfX1cIlxuICAgICAgICAgICAgPk1vZHM8L2FcbiAgICAgICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiQXBwTG9va3VwXCI+XG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvcHJvamVjdC97eyBQcm9qZWN0TG9va3VwIH19XCJcbiAgICAgICAgICAgID5Qcm9qZWN0IE92ZXJ2aWV3PC9hXG4gICAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+XG5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhci1pdGVtXCJcbiAgICAgICAgICAgIGhyZWY9XCIvZGFzaGJvYXJkL2FwcGxpY2F0aW9ucy97eyBQcm9qZWN0TG9va3VwIH19XCJcbiAgICAgICAgICAgID5Sb3V0ZXM8L2FcbiAgICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmxcIj48L2Rpdj5cblxuICAgICAgICA8YSBjbGFzcz1cInRvb2xiYXItaXRlbVwiIGhyZWY9XCIvZGFzaGJvYXJkL3RlYW1zXCI+VGVhbXM8L2E+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2bFwiPjwvZGl2PlxuXG4gICAgICAgIDxhIGNsYXNzPVwidG9vbGJhci1pdGVtXCIgaHJlZj1cIi9kYXNoYm9hcmQvZG9tYWlucy97eyBQcm9qZWN0TG9va3VwIH19XCJcbiAgICAgICAgICAgID5Eb21haW5zPC9hXG4gICAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+XG5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwidG9vbGJhci1pdGVtXCJcbiAgICAgICAgICAgIGhyZWY9XCIvZGFzaGJvYXJkL3N0YXRlLWNvbmZpZy97eyBQcm9qZWN0TG9va3VwIH19L3t7IEFwcExvb2t1cCB9fVwiXG4gICAgICAgICAgICA+U3RhdGUgQ29uZmlnPC9hXG4gICAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZsXCI+PC9kaXY+XG5cbiAgICAgICAgPGEgY2xhc3M9XCJ0b29sYmFyLWl0ZW1cIiBocmVmPVwiL2Rhc2hib2FyZC9tb2RpZmllcnMve3sgUHJvamVjdExvb2t1cCB9fVwiXG4gICAgICAgICAgICA+TW9kczwvYVxuICAgICAgICA+XG4gICAgPC9uZy1jb250YWluZXI+IC0tPlxuPC9tYXQtdG9vbGJhcj5cbiJdfQ==