@lowcodeunit/applications-flow-common 1.36.21-krakyn-app → 1.36.24-lets-get-social-ish
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/controls/state-config-form/state-config-form.component.mjs +38 -10
- package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +1 -1
- package/esm2020/lib/dialogs/feed-header-dialog/feed-header-dialog.component.mjs +7 -6
- package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +1 -1
- package/esm2020/lib/dialogs/state-config-dialog/state-config-dialog.component.mjs +16 -4
- package/esm2020/lib/elements/feed-header/feed-header.component.mjs +10 -6
- package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +14 -7
- package/esm2020/lib/elements/slotted-card/slotted-card.component.mjs +5 -4
- package/esm2020/lib/services/eac.service.mjs +1 -9
- package/fesm2015/lowcodeunit-applications-flow-common.mjs +74 -32
- package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/fesm2020/lowcodeunit-applications-flow-common.mjs +69 -31
- package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
- package/lib/controls/state-config-form/state-config-form.component.d.ts +13 -5
- package/lib/dialogs/state-config-dialog/state-config-dialog.component.d.ts +3 -0
- package/lib/elements/feed-header/feed-header.component.d.ts +1 -0
- package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts +2 -1
- package/lib/services/eac.service.d.ts +0 -2
- package/package.json +1 -1
|
@@ -10,6 +10,7 @@ import * as i5 from "@angular/material/icon";
|
|
|
10
10
|
import * as i6 from "../../controls/state-config-form/state-config-form.component";
|
|
11
11
|
import * as i7 from "@angular/flex-layout/flex";
|
|
12
12
|
import * as i8 from "@angular/common";
|
|
13
|
+
import * as i9 from "@angular/material/form-field";
|
|
13
14
|
export class StateConfigDialogComponent {
|
|
14
15
|
constructor(eacSvc, dialogRef, data, snackBar) {
|
|
15
16
|
this.eacSvc = eacSvc;
|
|
@@ -24,22 +25,33 @@ export class StateConfigDialogComponent {
|
|
|
24
25
|
return this.eacSvc.State;
|
|
25
26
|
}
|
|
26
27
|
get StateConfigFormControl() {
|
|
27
|
-
return this.StateConfigForm?.
|
|
28
|
+
return this.StateConfigForm?.StateConfigForm;
|
|
28
29
|
}
|
|
29
30
|
ngOnInit() {
|
|
30
31
|
}
|
|
31
32
|
CloseDialog() {
|
|
32
33
|
this.dialogRef.close();
|
|
33
34
|
}
|
|
35
|
+
HandleStatusEvent(res) {
|
|
36
|
+
if (res.Code === 0) {
|
|
37
|
+
this.snackBar.open('State Config Succesfully Updated', "Dismiss", {
|
|
38
|
+
duration: 5000
|
|
39
|
+
});
|
|
40
|
+
this.CloseDialog();
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.ErrorMessage = res.Message;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
34
46
|
SaveStateConfig() {
|
|
35
47
|
this.StateConfigForm?.SaveStateConfig();
|
|
36
48
|
}
|
|
37
49
|
}
|
|
38
50
|
StateConfigDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: StateConfigDialogComponent, deps: [{ token: i1.EaCService }, { token: i2.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i3.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
-
StateConfigDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: StateConfigDialogComponent, selector: "lcu-state-config-dialog", viewQueries: [{ propertyName: "StateConfigForm", first: true, predicate: StateConfigFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>State Config</h2>\n\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <lcu-state-config-form\n [app-lookup]=\"data.appLookup\"\n [config]=\"data.config\"\n >\n\n </lcu-state-config-form>\n \n\n \n\n
|
|
51
|
+
StateConfigDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: StateConfigDialogComponent, selector: "lcu-state-config-dialog", viewQueries: [{ propertyName: "StateConfigForm", first: true, predicate: StateConfigFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>State Config</h2>\n\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <lcu-state-config-form\n [app-lookup]=\"data.appLookup\"\n [config]=\"data.config\"\n (status-event)=\"HandleStatusEvent($event)\"\n >\n\n </lcu-state-config-form>\n \n\n \n\n<mat-error *ngIf=\"ErrorMessage\" fxLayoutAlign=\"center center\" >\n {{ ErrorMessage }}\n</mat-error>\n\n</mat-dialog-content>\n\n<mat-dialog-actions \n class=\"actions-container\" \n div fxLayout=\"row\" \n fxLayoutAlign=\"end center\"\n>\n <button \n class=\"action-button\"\n mat-raised-button\n fxFlex=\"25%\"\n (click)=\"CloseDialog()\">\n Cancel\n\n </button>\n\n\n <!-- -->\n <button \n *ngIf=\"!State?.Loading\"\n mat-raised-button \n type=\"submit\" \n fxFlex=\"25%\" \n color=\"primary\" \n (click)=\"SaveStateConfig()\"\n [disabled]=\"!StateConfigFormControl?.dirty || !StateConfigFormControl?.valid\"\n >\n <!-- <mat-icon>save</mat-icon> -->\n Save\n </button>\n\n</mat-dialog-actions>\n\n\n", styles: [""], components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.StateConfigFormComponent, selector: "lcu-state-config-form", inputs: ["app-lookup", "config"], outputs: ["status-event"] }], directives: [{ type: i7.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: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatError, selector: "mat-error", inputs: ["id"] }, { type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
|
|
40
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: StateConfigDialogComponent, decorators: [{
|
|
41
53
|
type: Component,
|
|
42
|
-
args: [{ selector: 'lcu-state-config-dialog', template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>State Config</h2>\n\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <lcu-state-config-form\n [app-lookup]=\"data.appLookup\"\n [config]=\"data.config\"\n >\n\n </lcu-state-config-form>\n \n\n \n\n
|
|
54
|
+
args: [{ selector: 'lcu-state-config-dialog', template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>State Config</h2>\n\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n\n <lcu-state-config-form\n [app-lookup]=\"data.appLookup\"\n [config]=\"data.config\"\n (status-event)=\"HandleStatusEvent($event)\"\n >\n\n </lcu-state-config-form>\n \n\n \n\n<mat-error *ngIf=\"ErrorMessage\" fxLayoutAlign=\"center center\" >\n {{ ErrorMessage }}\n</mat-error>\n\n</mat-dialog-content>\n\n<mat-dialog-actions \n class=\"actions-container\" \n div fxLayout=\"row\" \n fxLayoutAlign=\"end center\"\n>\n <button \n class=\"action-button\"\n mat-raised-button\n fxFlex=\"25%\"\n (click)=\"CloseDialog()\">\n Cancel\n\n </button>\n\n\n <!-- -->\n <button \n *ngIf=\"!State?.Loading\"\n mat-raised-button \n type=\"submit\" \n fxFlex=\"25%\" \n color=\"primary\" \n (click)=\"SaveStateConfig()\"\n [disabled]=\"!StateConfigFormControl?.dirty || !StateConfigFormControl?.valid\"\n >\n <!-- <mat-icon>save</mat-icon> -->\n Save\n </button>\n\n</mat-dialog-actions>\n\n\n", styles: [""] }]
|
|
43
55
|
}], ctorParameters: function () { return [{ type: i1.EaCService }, { type: i2.MatDialogRef }, { type: undefined, decorators: [{
|
|
44
56
|
type: Inject,
|
|
45
57
|
args: [MAT_DIALOG_DATA]
|
|
@@ -47,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
47
59
|
type: ViewChild,
|
|
48
60
|
args: [StateConfigFormComponent]
|
|
49
61
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtY29uZmlnLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9kaWFsb2dzL3N0YXRlLWNvbmZpZy1kaWFsb2cvc3RhdGUtY29uZmlnLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9kaWFsb2dzL3N0YXRlLWNvbmZpZy1kaWFsb2cvc3RhdGUtY29uZmlnLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7Ozs7Ozs7Ozs7QUFleEcsTUFBTSxPQUFPLDBCQUEwQjtJQW9CckMsWUFBc0IsTUFBa0IsRUFDL0IsU0FBbUQsRUFDMUIsSUFBMkIsRUFDakQsUUFBcUI7UUFIWCxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQy9CLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQXVCO1FBQ2pELGFBQVEsR0FBUixRQUFRLENBQWE7SUFFOUIsQ0FBQztJQXBCSixJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQztJQUMvQyxDQUFDO0lBV00sUUFBUTtJQUNmLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEdBQVc7UUFDbEMsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBQztZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxTQUFTLEVBQUM7Z0JBQy9ELFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO2FBQ0c7WUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxDQUFDO0lBQzFDLENBQUM7O3VIQWhEVSwwQkFBMEIsd0VBc0IzQixlQUFlOzJHQXRCZCwwQkFBMEIsZ0hBRTFCLHdCQUF3QixnREN2QnJDLHE0Q0EyREE7MkZEdENhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSx5QkFBeUI7OzBCQTJCaEMsTUFBTTsyQkFBQyxlQUFlO3NFQW5CbEIsZUFBZTtzQkFEckIsU0FBUzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgRWFDQXBwbGljYXRpb25Bc0NvZGUgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgU3RhdGVDb25maWdGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvc3RhdGUtY29uZmlnLWZvcm0vc3RhdGUtY29uZmlnLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEVhQ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVDb25maWdEaWFsb2dEYXRhIHtcbiAgYXBwTG9va3VwOiBzdHJpbmc7XG4gIGNvbmZpZzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsY3Utc3RhdGUtY29uZmlnLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGF0ZS1jb25maWctZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RhdGUtY29uZmlnLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgU3RhdGVDb25maWdEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoU3RhdGVDb25maWdGb3JtQ29tcG9uZW50KVxuICBwdWJsaWMgU3RhdGVDb25maWdGb3JtOiBTdGF0ZUNvbmZpZ0Zvcm1Db21wb25lbnQ7XG5cbiAgcHVibGljIGdldCBBcHBsaWNhdGlvbigpOiBFYUNBcHBsaWNhdGlvbkFzQ29kZSB7XG4gICAgcmV0dXJuIHRoaXMuU3RhdGU/LkVhQz8uQXBwbGljYXRpb25zW3RoaXMuZGF0YS5hcHBMb29rdXBdO1xuICB9XG5cbiAgcHVibGljIGdldCBTdGF0ZSgpOiBBcHBsaWNhdGlvbnNGbG93U3RhdGV7XG4gICAgcmV0dXJuIHRoaXMuZWFjU3ZjLlN0YXRlO1xuICB9XG5cblxuICBwdWJsaWMgZ2V0IFN0YXRlQ29uZmlnRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9se1xuICAgIHJldHVybiB0aGlzLlN0YXRlQ29uZmlnRm9ybT8uU3RhdGVDb25maWdGb3JtO1xuICB9XG5cbiAgcHVibGljIEVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBlYWNTdmM6IEVhQ1NlcnZpY2UsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFN0YXRlQ29uZmlnRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IFN0YXRlQ29uZmlnRGlhbG9nRGF0YSxcbiAgICBwcm90ZWN0ZWQgc25hY2tCYXI6IE1hdFNuYWNrQmFyKSB7XG4gICAgIFxuICAgICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIENsb3NlRGlhbG9nKCl7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBIYW5kbGVTdGF0dXNFdmVudChyZXM6IFN0YXR1cyl7XG4gICAgaWYgKHJlcy5Db2RlID09PSAwKXtcbiAgICAgIHRoaXMuc25hY2tCYXIub3BlbignU3RhdGUgQ29uZmlnIFN1Y2Nlc2Z1bGx5IFVwZGF0ZWQnLCBcIkRpc21pc3NcIix7XG4gICAgICAgIGR1cmF0aW9uOiA1MDAwXG4gICAgICB9KTtcbiAgICAgIHRoaXMuQ2xvc2VEaWFsb2coKTtcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIHRoaXMuRXJyb3JNZXNzYWdlID0gcmVzLk1lc3NhZ2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIFNhdmVTdGF0ZUNvbmZpZygpe1xuICAgIHRoaXMuU3RhdGVDb25maWdGb3JtPy5TYXZlU3RhdGVDb25maWcoKTtcbiAgfVxuXG4gIFxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZGlhbG9nLWhlYWRlclwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiPlxuICAgIDxoMiBtYXQtZGlhbG9nLXRpdGxlPlN0YXRlIENvbmZpZzwvaDI+XG5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiQ2xvc2VEaWFsb2coKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cblxuICAgIDxsY3Utc3RhdGUtY29uZmlnLWZvcm1cbiAgICAgICAgW2FwcC1sb29rdXBdPVwiZGF0YS5hcHBMb29rdXBcIlxuICAgICAgICBbY29uZmlnXT1cImRhdGEuY29uZmlnXCJcbiAgICAgICAgKHN0YXR1cy1ldmVudCk9XCJIYW5kbGVTdGF0dXNFdmVudCgkZXZlbnQpXCJcbiAgICA+XG5cbiAgICA8L2xjdS1zdGF0ZS1jb25maWctZm9ybT5cbiAgICAgICAgXG5cbiAgICAgICAgXG5cbjxtYXQtZXJyb3IgKm5nSWY9XCJFcnJvck1lc3NhZ2VcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiID5cbiAgICB7eyBFcnJvck1lc3NhZ2UgfX1cbjwvbWF0LWVycm9yPlxuXG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBcbiAgICAgICAgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiIFxuICAgICAgICBkaXYgZnhMYXlvdXQ9XCJyb3dcIiBcbiAgICAgICAgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIlxuPlxuICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICBmeEZsZXg9XCIyNSVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJDbG9zZURpYWxvZygpXCI+XG4gICAgICAgICAgICAgICAgQ2FuY2VsXG5cbiAgICAgICAgPC9idXR0b24+XG5cblxuICAgICAgICA8IS0tICAtLT5cbiAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAqbmdJZj1cIiFTdGF0ZT8uTG9hZGluZ1wiXG4gICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgICAgIGZ4RmxleD1cIjI1JVwiIFxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiIFxuICAgICAgICAgIChjbGljayk9XCJTYXZlU3RhdGVDb25maWcoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFTdGF0ZUNvbmZpZ0Zvcm1Db250cm9sPy5kaXJ0eSB8fCAhU3RhdGVDb25maWdGb3JtQ29udHJvbD8udmFsaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8IS0tIDxtYXQtaWNvbj5zYXZlPC9tYXQtaWNvbj4gLS0+XG4gICAgICAgICAgU2F2ZVxuICAgICAgICA8L2J1dHRvbj5cblxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG5cblxuIl19
|