@alauda-fe/common 1.4.21 → 1.4.22
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/array-form-table/form/component.d.ts +6 -2
- package/esm2022/array-form-table/form/component.mjs +61 -43
- package/esm2022/core/utils/dev-helpers.mjs +2 -3
- package/esm2022/exec/terminal/component.mjs +11 -1
- package/esm2022/exec/terminal-group/component.mjs +6 -1
- package/esm2022/translate/i18n-config.mjs +6 -6
- package/esm2022/widget/field-set/column/component.mjs +2 -2
- package/exec/terminal/component.d.ts +1 -0
- package/exec/terminal-group/component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
1
2
|
import { ChangeDetectorRef, EventEmitter, Injector, OnDestroy, QueryList, TemplateRef } from '@angular/core';
|
|
2
|
-
import { AbstractControl, FormGroupDirective, NgForm } from '@angular/forms';
|
|
3
|
+
import { AbstractControl, FormGroup, FormGroupDirective, NgForm } from '@angular/forms';
|
|
3
4
|
import { Subject } from 'rxjs';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare const ARRAY_TABLE_FORM_ERROR_BG: string;
|
|
@@ -96,11 +97,14 @@ export declare class ArrayFormTableComponent implements OnDestroy {
|
|
|
96
97
|
minRowTooltip: string;
|
|
97
98
|
maxRow: number;
|
|
98
99
|
maxRowTooltip: string;
|
|
100
|
+
enableDrop: boolean;
|
|
101
|
+
rowDrop: EventEmitter<CdkDragDrop<FormGroup<any>[], FormGroup<any>[], any>>;
|
|
99
102
|
destroy$$: Subject<void>;
|
|
100
103
|
cdr: ChangeDetectorRef;
|
|
101
104
|
constructor(injector: Injector);
|
|
102
105
|
ngOnDestroy(): void;
|
|
106
|
+
drop(event: CdkDragDrop<FormGroup[]>): void;
|
|
103
107
|
shouldShowRowError: (control: AbstractControl) => import("rxjs").Observable<boolean>;
|
|
104
108
|
static ɵfac: i0.ɵɵFactoryDeclaration<ArrayFormTableComponent, never>;
|
|
105
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ArrayFormTableComponent, "acl-array-form-table", never, { "rowSeparator": { "alias": "rowSeparator"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "resourceName": { "alias": "resourceName"; "required": false; }; "resourceNameTranslated": { "alias": "resourceNameTranslated"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "addDisabled": { "alias": "addDisabled"; "required": false; }; "actionColumnDivider": { "alias": "actionColumnDivider"; "required": false; }; "showZeroState": { "alias": "showZeroState"; "required": false; }; "showRowError": { "alias": "showRowError"; "required": false; }; "rowBackgroundColorFn": { "alias": "rowBackgroundColorFn"; "required": false; }; "minRow": { "alias": "minRow"; "required": false; }; "minRowTooltip": { "alias": "minRowTooltip"; "required": false; }; "maxRow": { "alias": "maxRow"; "required": false; }; "maxRowTooltip": { "alias": "maxRowTooltip"; "required": false; }; }, { "add": "add"; "remove": "remove"; }, ["headerTemplate", "rowErrorTemplate", "rowControlTemplate", "footerTemplate", "zeroStateTemplate", "separatorTemplate", "ngFormGroupDirective", "rowTemplates"], never, true, never>;
|
|
109
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ArrayFormTableComponent, "acl-array-form-table", never, { "rowSeparator": { "alias": "rowSeparator"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "resourceName": { "alias": "resourceName"; "required": false; }; "resourceNameTranslated": { "alias": "resourceNameTranslated"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "addDisabled": { "alias": "addDisabled"; "required": false; }; "actionColumnDivider": { "alias": "actionColumnDivider"; "required": false; }; "showZeroState": { "alias": "showZeroState"; "required": false; }; "showRowError": { "alias": "showRowError"; "required": false; }; "rowBackgroundColorFn": { "alias": "rowBackgroundColorFn"; "required": false; }; "minRow": { "alias": "minRow"; "required": false; }; "minRowTooltip": { "alias": "minRowTooltip"; "required": false; }; "maxRow": { "alias": "maxRow"; "required": false; }; "maxRowTooltip": { "alias": "maxRowTooltip"; "required": false; }; "enableDrop": { "alias": "enableDrop"; "required": false; }; }, { "add": "add"; "remove": "remove"; "rowDrop": "rowDrop"; }, ["headerTemplate", "rowErrorTemplate", "rowControlTemplate", "footerTemplate", "zeroStateTemplate", "separatorTemplate", "ngFormGroupDirective", "rowTemplates"], never, true, never>;
|
|
106
110
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ButtonModule, IconModule, rgbColor, TooltipModule } from '@alauda/ui';
|
|
2
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
2
3
|
import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
3
4
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, Directive, EventEmitter, Injector, Input, Output, QueryList, TemplateRef, } from '@angular/core';
|
|
4
5
|
import { FormArray, FormGroup, FormGroupDirective, NgForm, } from '@angular/forms';
|
|
@@ -10,17 +11,18 @@ import { ZeroStateComponent } from '../../widget/zero-state/zero-state.component
|
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "@alauda/ui";
|
|
12
13
|
import * as i2 from "../../translate/translate.pipe";
|
|
13
|
-
import * as i3 from "
|
|
14
|
+
import * as i3 from "@angular/cdk/drag-drop";
|
|
15
|
+
import * as i4 from "../../effect-directive/e2e-attribute-binding.directive";
|
|
14
16
|
const _c0 = (a0, a1) => ({ $implicit: a0, index: a1 });
|
|
15
17
|
function ArrayFormTableComponent_thead_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
16
18
|
i0.ɵɵelementContainer(0);
|
|
17
19
|
} }
|
|
18
20
|
function ArrayFormTableComponent_thead_1_th_3_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
-
i0.ɵɵelement(0, "th",
|
|
21
|
+
i0.ɵɵelement(0, "th", 7);
|
|
20
22
|
} }
|
|
21
23
|
function ArrayFormTableComponent_thead_1_Template(rf, ctx) { if (rf & 1) {
|
|
22
24
|
i0.ɵɵelementStart(0, "thead")(1, "tr");
|
|
23
|
-
i0.ɵɵtemplate(2, ArrayFormTableComponent_thead_1_ng_container_2_Template, 1, 0, "ng-container",
|
|
25
|
+
i0.ɵɵtemplate(2, ArrayFormTableComponent_thead_1_ng_container_2_Template, 1, 0, "ng-container", 5)(3, ArrayFormTableComponent_thead_1_th_3_Template, 1, 0, "th", 6);
|
|
24
26
|
i0.ɵɵelementEnd()();
|
|
25
27
|
} if (rf & 2) {
|
|
26
28
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -29,15 +31,15 @@ function ArrayFormTableComponent_thead_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
29
31
|
i0.ɵɵadvance();
|
|
30
32
|
i0.ɵɵproperty("ngIf", !ctx_r0.readonly && ctx_r0.minRow !== ctx_r0.maxRow);
|
|
31
33
|
} }
|
|
32
|
-
function
|
|
34
|
+
function ArrayFormTableComponent_ng_container_3_tr_1_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
33
35
|
i0.ɵɵelementContainer(0);
|
|
34
36
|
} }
|
|
35
|
-
function
|
|
37
|
+
function ArrayFormTableComponent_ng_container_3_tr_1_td_6_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
36
38
|
i0.ɵɵelementContainer(0);
|
|
37
39
|
} }
|
|
38
|
-
function
|
|
40
|
+
function ArrayFormTableComponent_ng_container_3_tr_1_td_6_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
39
41
|
i0.ɵɵelementContainerStart(0);
|
|
40
|
-
i0.ɵɵtemplate(1,
|
|
42
|
+
i0.ɵɵtemplate(1, ArrayFormTableComponent_ng_container_3_tr_1_td_6_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 13);
|
|
41
43
|
i0.ɵɵelementContainerEnd();
|
|
42
44
|
} if (rf & 2) {
|
|
43
45
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
@@ -47,21 +49,21 @@ function ArrayFormTableComponent_ng_container_3_tr_1_td_4_ng_container_1_Templat
|
|
|
47
49
|
i0.ɵɵadvance();
|
|
48
50
|
i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.rowControlTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c0, row_r3, index_r4));
|
|
49
51
|
} }
|
|
50
|
-
function
|
|
52
|
+
function ArrayFormTableComponent_ng_container_3_tr_1_td_6_button_3_Template(rf, ctx) { if (rf & 1) {
|
|
51
53
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
52
|
-
i0.ɵɵelementStart(0, "button",
|
|
53
|
-
i0.ɵɵlistener("click", function
|
|
54
|
-
i0.ɵɵelement(1, "aui-icon",
|
|
54
|
+
i0.ɵɵelementStart(0, "button", 17);
|
|
55
|
+
i0.ɵɵlistener("click", function ArrayFormTableComponent_ng_container_3_tr_1_td_6_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const index_r4 = i0.ɵɵnextContext(3).index; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.remove.emit(index_r4)); });
|
|
56
|
+
i0.ɵɵelement(1, "aui-icon", 18);
|
|
55
57
|
i0.ɵɵelementEnd();
|
|
56
58
|
} if (rf & 2) {
|
|
57
59
|
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
58
60
|
i0.ɵɵproperty("disabled", (ctx_r0.rows == null ? null : ctx_r0.rows.length) <= ctx_r0.minRow)("square", true)("plain", true);
|
|
59
61
|
} }
|
|
60
|
-
function
|
|
61
|
-
i0.ɵɵelementStart(0, "td",
|
|
62
|
-
i0.ɵɵtemplate(1,
|
|
63
|
-
i0.ɵɵelementStart(2, "div",
|
|
64
|
-
i0.ɵɵtemplate(3,
|
|
62
|
+
function ArrayFormTableComponent_ng_container_3_tr_1_td_6_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
+
i0.ɵɵelementStart(0, "td", 7);
|
|
64
|
+
i0.ɵɵtemplate(1, ArrayFormTableComponent_ng_container_3_tr_1_td_6_ng_container_1_Template, 2, 5, "ng-container", 1);
|
|
65
|
+
i0.ɵɵelementStart(2, "div", 15);
|
|
66
|
+
i0.ɵɵtemplate(3, ArrayFormTableComponent_ng_container_3_tr_1_td_6_button_3_Template, 2, 3, "button", 16);
|
|
65
67
|
i0.ɵɵelementEnd()();
|
|
66
68
|
} if (rf & 2) {
|
|
67
69
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
@@ -74,10 +76,13 @@ function ArrayFormTableComponent_ng_container_3_tr_1_td_4_Template(rf, ctx) { if
|
|
|
74
76
|
i0.ɵɵproperty("ngIf", !ctx_r0.rowControlTemplate);
|
|
75
77
|
} }
|
|
76
78
|
function ArrayFormTableComponent_ng_container_3_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
77
|
-
i0.ɵɵelementStart(0, "tr");
|
|
79
|
+
i0.ɵɵelementStart(0, "tr", 10);
|
|
78
80
|
i0.ɵɵpipe(1, "pure");
|
|
79
81
|
i0.ɵɵpipe(2, "async");
|
|
80
|
-
i0.ɵɵ
|
|
82
|
+
i0.ɵɵelementStart(3, "td", 11);
|
|
83
|
+
i0.ɵɵelement(4, "aui-icon", 12);
|
|
84
|
+
i0.ɵɵelementEnd();
|
|
85
|
+
i0.ɵɵtemplate(5, ArrayFormTableComponent_ng_container_3_tr_1_ng_container_5_Template, 1, 0, "ng-container", 13)(6, ArrayFormTableComponent_ng_container_3_tr_1_td_6_Template, 4, 6, "td", 14);
|
|
81
86
|
i0.ɵɵelementEnd();
|
|
82
87
|
} if (rf & 2) {
|
|
83
88
|
const rowTemplate_r6 = ctx.$implicit;
|
|
@@ -86,10 +91,12 @@ function ArrayFormTableComponent_ng_container_3_tr_1_Template(rf, ctx) { if (rf
|
|
|
86
91
|
const row_r3 = ctx_r1.$implicit;
|
|
87
92
|
const index_r4 = ctx_r1.index;
|
|
88
93
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
89
|
-
i0.ɵɵclassProp("acl-array-form-table__row-error", i0.ɵɵpipeBind1(2,
|
|
94
|
+
i0.ɵɵclassProp("acl-array-form-table__row-error", i0.ɵɵpipeBind1(2, 10, i0.ɵɵpipeBind2(1, 7, row_r3, ctx_r0.shouldShowRowError)));
|
|
90
95
|
i0.ɵɵattribute("rowtemplateindex", templateIndex_r7);
|
|
91
96
|
i0.ɵɵadvance(3);
|
|
92
|
-
i0.ɵɵproperty("
|
|
97
|
+
i0.ɵɵproperty("hidden", !ctx_r0.enableDrop);
|
|
98
|
+
i0.ɵɵadvance(2);
|
|
99
|
+
i0.ɵɵproperty("ngTemplateOutlet", rowTemplate_r6)("ngTemplateOutletContext", i0.ɵɵpureFunction2(12, _c0, row_r3, index_r4));
|
|
93
100
|
i0.ɵɵadvance();
|
|
94
101
|
i0.ɵɵproperty("ngIf", templateIndex_r7 === 0 && !ctx_r0.readonly && ctx_r0.minRow !== ctx_r0.maxRow);
|
|
95
102
|
} }
|
|
@@ -97,12 +104,12 @@ function ArrayFormTableComponent_ng_container_3_tr_2_ng_container_5_Template(rf,
|
|
|
97
104
|
i0.ɵɵelementContainer(0);
|
|
98
105
|
} }
|
|
99
106
|
function ArrayFormTableComponent_ng_container_3_tr_2_Template(rf, ctx) { if (rf & 1) {
|
|
100
|
-
i0.ɵɵelementStart(0, "tr",
|
|
107
|
+
i0.ɵɵelementStart(0, "tr", 11);
|
|
101
108
|
i0.ɵɵpipe(1, "pure");
|
|
102
109
|
i0.ɵɵpipe(2, "async");
|
|
103
110
|
i0.ɵɵpipe(3, "pure");
|
|
104
111
|
i0.ɵɵpipe(4, "async");
|
|
105
|
-
i0.ɵɵtemplate(5, ArrayFormTableComponent_ng_container_3_tr_2_ng_container_5_Template, 1, 0, "ng-container",
|
|
112
|
+
i0.ɵɵtemplate(5, ArrayFormTableComponent_ng_container_3_tr_2_ng_container_5_Template, 1, 0, "ng-container", 13);
|
|
106
113
|
i0.ɵɵelementEnd();
|
|
107
114
|
} if (rf & 2) {
|
|
108
115
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -118,18 +125,18 @@ function ArrayFormTableComponent_ng_container_3_ng_container_3_Conditional_3_ng_
|
|
|
118
125
|
i0.ɵɵelementContainer(0);
|
|
119
126
|
} }
|
|
120
127
|
function ArrayFormTableComponent_ng_container_3_ng_container_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
121
|
-
i0.ɵɵtemplate(0, ArrayFormTableComponent_ng_container_3_ng_container_3_Conditional_3_ng_container_0_Template, 1, 0, "ng-container",
|
|
128
|
+
i0.ɵɵtemplate(0, ArrayFormTableComponent_ng_container_3_ng_container_3_Conditional_3_ng_container_0_Template, 1, 0, "ng-container", 5);
|
|
122
129
|
} if (rf & 2) {
|
|
123
130
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
124
131
|
i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.separatorTemplate);
|
|
125
132
|
} }
|
|
126
133
|
function ArrayFormTableComponent_ng_container_3_ng_container_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
127
|
-
i0.ɵɵelement(0, "div",
|
|
134
|
+
i0.ɵɵelement(0, "div", 21);
|
|
128
135
|
} }
|
|
129
136
|
function ArrayFormTableComponent_ng_container_3_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
130
137
|
i0.ɵɵelementContainerStart(0);
|
|
131
|
-
i0.ɵɵelementStart(1, "tr",
|
|
132
|
-
i0.ɵɵtemplate(3, ArrayFormTableComponent_ng_container_3_ng_container_3_Conditional_3_Template, 1, 1, "ng-container")(4, ArrayFormTableComponent_ng_container_3_ng_container_3_Conditional_4_Template, 1, 0, "div",
|
|
138
|
+
i0.ɵɵelementStart(1, "tr", 19)(2, "td", 20);
|
|
139
|
+
i0.ɵɵtemplate(3, ArrayFormTableComponent_ng_container_3_ng_container_3_Conditional_3_Template, 1, 1, "ng-container")(4, ArrayFormTableComponent_ng_container_3_ng_container_3_Conditional_4_Template, 1, 0, "div", 21);
|
|
133
140
|
i0.ɵɵelementEnd()();
|
|
134
141
|
i0.ɵɵelementContainerEnd();
|
|
135
142
|
} if (rf & 2) {
|
|
@@ -139,7 +146,7 @@ function ArrayFormTableComponent_ng_container_3_ng_container_3_Template(rf, ctx)
|
|
|
139
146
|
} }
|
|
140
147
|
function ArrayFormTableComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
141
148
|
i0.ɵɵelementContainerStart(0);
|
|
142
|
-
i0.ɵɵtemplate(1, ArrayFormTableComponent_ng_container_3_tr_1_Template,
|
|
149
|
+
i0.ɵɵtemplate(1, ArrayFormTableComponent_ng_container_3_tr_1_Template, 7, 15, "tr", 8)(2, ArrayFormTableComponent_ng_container_3_tr_2_Template, 6, 18, "tr", 9)(3, ArrayFormTableComponent_ng_container_3_ng_container_3_Template, 5, 1, "ng-container", 1);
|
|
143
150
|
i0.ɵɵelementContainerEnd();
|
|
144
151
|
} if (rf & 2) {
|
|
145
152
|
const index_r4 = ctx.index;
|
|
@@ -152,7 +159,7 @@ function ArrayFormTableComponent_ng_container_3_Template(rf, ctx) { if (rf & 1)
|
|
|
152
159
|
i0.ɵɵproperty("ngIf", (ctx_r0.rowSeparator || ctx_r0.separatorTemplate) && (ctx_r0.rows == null ? null : ctx_r0.rows.length) > 1 && index_r4 !== (ctx_r0.rows == null ? null : ctx_r0.rows.length) - 1);
|
|
153
160
|
} }
|
|
154
161
|
function ArrayFormTableComponent_tr_4_acl_zero_state_2_Template(rf, ctx) { if (rf & 1) {
|
|
155
|
-
i0.ɵɵelement(0, "acl-zero-state",
|
|
162
|
+
i0.ɵɵelement(0, "acl-zero-state", 24);
|
|
156
163
|
} if (rf & 2) {
|
|
157
164
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
158
165
|
i0.ɵɵproperty("zeroState", true)("resourceName", ctx_r0.resourceName)("resourceNameTranslated", ctx_r0.resourceNameTranslated)("minHeight", 48);
|
|
@@ -162,7 +169,7 @@ function ArrayFormTableComponent_tr_4_ng_container_3_ng_container_1_Template(rf,
|
|
|
162
169
|
} }
|
|
163
170
|
function ArrayFormTableComponent_tr_4_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
164
171
|
i0.ɵɵelementContainerStart(0);
|
|
165
|
-
i0.ɵɵtemplate(1, ArrayFormTableComponent_tr_4_ng_container_3_ng_container_1_Template, 1, 0, "ng-container",
|
|
172
|
+
i0.ɵɵtemplate(1, ArrayFormTableComponent_tr_4_ng_container_3_ng_container_1_Template, 1, 0, "ng-container", 5);
|
|
166
173
|
i0.ɵɵelementContainerEnd();
|
|
167
174
|
} if (rf & 2) {
|
|
168
175
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
@@ -170,8 +177,8 @@ function ArrayFormTableComponent_tr_4_ng_container_3_Template(rf, ctx) { if (rf
|
|
|
170
177
|
i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.zeroStateTemplate);
|
|
171
178
|
} }
|
|
172
179
|
function ArrayFormTableComponent_tr_4_Template(rf, ctx) { if (rf & 1) {
|
|
173
|
-
i0.ɵɵelementStart(0, "tr")(1, "td",
|
|
174
|
-
i0.ɵɵtemplate(2, ArrayFormTableComponent_tr_4_acl_zero_state_2_Template, 1, 4, "acl-zero-state",
|
|
180
|
+
i0.ɵɵelementStart(0, "tr")(1, "td", 22);
|
|
181
|
+
i0.ɵɵtemplate(2, ArrayFormTableComponent_tr_4_acl_zero_state_2_Template, 1, 4, "acl-zero-state", 23)(3, ArrayFormTableComponent_tr_4_ng_container_3_Template, 2, 1, "ng-container", 1);
|
|
175
182
|
i0.ɵɵelementEnd()();
|
|
176
183
|
} if (rf & 2) {
|
|
177
184
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -185,7 +192,7 @@ function ArrayFormTableComponent_tr_5_ng_container_3_ng_container_1_Template(rf,
|
|
|
185
192
|
} }
|
|
186
193
|
function ArrayFormTableComponent_tr_5_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
187
194
|
i0.ɵɵelementContainerStart(0);
|
|
188
|
-
i0.ɵɵtemplate(1, ArrayFormTableComponent_tr_5_ng_container_3_ng_container_1_Template, 1, 0, "ng-container",
|
|
195
|
+
i0.ɵɵtemplate(1, ArrayFormTableComponent_tr_5_ng_container_3_ng_container_1_Template, 1, 0, "ng-container", 5);
|
|
189
196
|
i0.ɵɵelementContainerEnd();
|
|
190
197
|
} if (rf & 2) {
|
|
191
198
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
@@ -194,9 +201,9 @@ function ArrayFormTableComponent_tr_5_ng_container_3_Template(rf, ctx) { if (rf
|
|
|
194
201
|
} }
|
|
195
202
|
function ArrayFormTableComponent_tr_5_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
196
203
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
197
|
-
i0.ɵɵelementStart(0, "div",
|
|
204
|
+
i0.ɵɵelementStart(0, "div", 28)(1, "button", 29);
|
|
198
205
|
i0.ɵɵlistener("click", function ArrayFormTableComponent_tr_5_div_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.add.emit()); });
|
|
199
|
-
i0.ɵɵelement(2, "aui-icon",
|
|
206
|
+
i0.ɵɵelement(2, "aui-icon", 30);
|
|
200
207
|
i0.ɵɵtext(3);
|
|
201
208
|
i0.ɵɵpipe(4, "translate");
|
|
202
209
|
i0.ɵɵelementEnd()();
|
|
@@ -209,8 +216,8 @@ function ArrayFormTableComponent_tr_5_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
209
216
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 5, "add"), " ");
|
|
210
217
|
} }
|
|
211
218
|
function ArrayFormTableComponent_tr_5_Template(rf, ctx) { if (rf & 1) {
|
|
212
|
-
i0.ɵɵelementStart(0, "tr",
|
|
213
|
-
i0.ɵɵtemplate(3, ArrayFormTableComponent_tr_5_ng_container_3_Template, 2, 1, "ng-container", 1)(4, ArrayFormTableComponent_tr_5_div_4_Template, 5, 7, "div",
|
|
219
|
+
i0.ɵɵelementStart(0, "tr", 25)(1, "td", 20)(2, "div", 26);
|
|
220
|
+
i0.ɵɵtemplate(3, ArrayFormTableComponent_tr_5_ng_container_3_Template, 2, 1, "ng-container", 1)(4, ArrayFormTableComponent_tr_5_div_4_Template, 5, 7, "div", 27);
|
|
214
221
|
i0.ɵɵelementEnd()()();
|
|
215
222
|
} if (rf & 2) {
|
|
216
223
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -369,6 +376,8 @@ export class ArrayFormTableComponent {
|
|
|
369
376
|
this.minRowTooltip = '';
|
|
370
377
|
this.maxRow = Infinity;
|
|
371
378
|
this.maxRowTooltip = '';
|
|
379
|
+
this.enableDrop = false;
|
|
380
|
+
this.rowDrop = new EventEmitter();
|
|
372
381
|
this.destroy$$ = new Subject();
|
|
373
382
|
this.cdr = this.injector.get(ChangeDetectorRef);
|
|
374
383
|
this.shouldShowRowError = (control) => {
|
|
@@ -382,6 +391,9 @@ export class ArrayFormTableComponent {
|
|
|
382
391
|
this.destroy$$.next();
|
|
383
392
|
this.destroy$$.complete();
|
|
384
393
|
}
|
|
394
|
+
drop(event) {
|
|
395
|
+
this.rowDrop.emit(event);
|
|
396
|
+
}
|
|
385
397
|
static { this.ɵfac = function ArrayFormTableComponent_Factory(t) { return new (t || ArrayFormTableComponent)(i0.ɵɵdirectiveInject(i0.Injector)); }; }
|
|
386
398
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ArrayFormTableComponent, selectors: [["acl-array-form-table"]], contentQueries: function ArrayFormTableComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
387
399
|
i0.ɵɵcontentQuery(dirIndex, ArrayFormTableHeaderDirective, 7, TemplateRef);
|
|
@@ -402,11 +414,12 @@ export class ArrayFormTableComponent {
|
|
|
402
414
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.separatorTemplate = _t.first);
|
|
403
415
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ngFormGroupDirective = _t.first);
|
|
404
416
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rowTemplates = _t);
|
|
405
|
-
} }, inputs: { rowSeparator: "rowSeparator", rows: "rows", resourceName: "resourceName", resourceNameTranslated: "resourceNameTranslated", readonly: "readonly", addDisabled: "addDisabled", actionColumnDivider: "actionColumnDivider", showZeroState: "showZeroState", showRowError: "showRowError", rowBackgroundColorFn: "rowBackgroundColorFn", minRow: "minRow", minRowTooltip: "minRowTooltip", maxRow: "maxRow", maxRowTooltip: "maxRowTooltip" }, outputs: { add: "add", remove: "remove" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 6, vars: 6, consts: [[1, "acl-array-form-table"], [4, "ngIf"], [4, "ngFor", "ngForOf"], ["class", "acl-array-form-table--row-action", 4, "ngIf"], [4, "ngTemplateOutlet"], ["class", "acl-array-form-table__action-col", 4, "ngIf"], [1, "acl-array-form-table__action-col"], [3, "acl-array-form-table__row-error", 4, "ngFor", "ngForOf"], [3, "acl-array-form-table__row-error", "hidden", 4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "acl-array-form-table__action-col", 3, "acl-array-form-table__action-col-divider", 4, "ngIf"], [3, "auiTooltip", "auiTooltipDisabled"], ["aui-button", "text", "type", "button", 3, "disabled", "square", "plain", "click", 4, "ngIf"], ["aui-button", "text", "type", "button", 3, "click", "disabled", "square", "plain"], ["icon", "minus_circle"], [
|
|
417
|
+
} }, inputs: { rowSeparator: "rowSeparator", rows: "rows", resourceName: "resourceName", resourceNameTranslated: "resourceNameTranslated", readonly: "readonly", addDisabled: "addDisabled", actionColumnDivider: "actionColumnDivider", showZeroState: "showZeroState", showRowError: "showRowError", rowBackgroundColorFn: "rowBackgroundColorFn", minRow: "minRow", minRowTooltip: "minRowTooltip", maxRow: "maxRow", maxRowTooltip: "maxRowTooltip", enableDrop: "enableDrop" }, outputs: { add: "add", remove: "remove", rowDrop: "rowDrop" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 6, vars: 6, consts: [[1, "acl-array-form-table"], [4, "ngIf"], ["cdkDropList", "", 3, "cdkDropListDropped"], [4, "ngFor", "ngForOf"], ["class", "acl-array-form-table--row-action", 4, "ngIf"], [4, "ngTemplateOutlet"], ["class", "acl-array-form-table__action-col", 4, "ngIf"], [1, "acl-array-form-table__action-col"], ["cdkDrag", "", 3, "acl-array-form-table__row-error", 4, "ngFor", "ngForOf"], [3, "acl-array-form-table__row-error", "hidden", 4, "ngIf"], ["cdkDrag", ""], [3, "hidden"], ["icon", "move", "cdkDragHandle", "", 1, "tw-ml-8"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "acl-array-form-table__action-col", 3, "acl-array-form-table__action-col-divider", 4, "ngIf"], [3, "auiTooltip", "auiTooltipDisabled"], ["aui-button", "text", "type", "button", 3, "disabled", "square", "plain", "click", 4, "ngIf"], ["aui-button", "text", "type", "button", 3, "click", "disabled", "square", "plain"], ["icon", "minus_circle"], [1, "acl-array-form-table__separator"], ["colspan", "100"], [1, "tw-h-[8px]"], ["colspan", "100", 2, "padding", "unset"], [3, "zeroState", "resourceName", "resourceNameTranslated", "minHeight", 4, "ngIf"], [3, "zeroState", "resourceName", "resourceNameTranslated", "minHeight"], [1, "acl-array-form-table--row-action"], [1, "acl-array-form-table__bottom-control-buttons"], ["class", "tw-flex tw-w-full", 3, "auiTooltip", "auiTooltipDisabled", 4, "ngIf"], [1, "tw-flex", "tw-w-full", 3, "auiTooltip", "auiTooltipDisabled"], ["aui-button", "primary", "type", "button", "size", "mini", 3, "click", "plain", "disabled"], ["icon", "plus_circle"]], template: function ArrayFormTableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
406
418
|
i0.ɵɵelementStart(0, "table", 0);
|
|
407
419
|
i0.ɵɵtemplate(1, ArrayFormTableComponent_thead_1_Template, 4, 2, "thead", 1);
|
|
408
|
-
i0.ɵɵelementStart(2, "tbody");
|
|
409
|
-
i0.ɵɵ
|
|
420
|
+
i0.ɵɵelementStart(2, "tbody", 2);
|
|
421
|
+
i0.ɵɵlistener("cdkDropListDropped", function ArrayFormTableComponent_Template_tbody_cdkDropListDropped_2_listener($event) { return ctx.drop($event); });
|
|
422
|
+
i0.ɵɵtemplate(3, ArrayFormTableComponent_ng_container_3_Template, 4, 3, "ng-container", 3)(4, ArrayFormTableComponent_tr_4_Template, 4, 2, "tr", 1)(5, ArrayFormTableComponent_tr_5_Template, 5, 2, "tr", 4);
|
|
410
423
|
i0.ɵɵelementEnd()();
|
|
411
424
|
} if (rf & 2) {
|
|
412
425
|
i0.ɵɵclassProp("acl-array-form-table__readonly-mode", ctx.readonly);
|
|
@@ -424,7 +437,7 @@ export class ArrayFormTableComponent {
|
|
|
424
437
|
NgForOf,
|
|
425
438
|
PurePipe,
|
|
426
439
|
AsyncPipe,
|
|
427
|
-
TranslateModule, i2.TranslatePipe, i3.E2eAttributeBindingDirective], encapsulation: 2 }); }
|
|
440
|
+
TranslateModule, i2.TranslatePipe, DragDropModule, i3.CdkDropList, i3.CdkDrag, i3.CdkDragHandle, i4.E2eAttributeBindingDirective], encapsulation: 2 }); }
|
|
428
441
|
}
|
|
429
442
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArrayFormTableComponent, [{
|
|
430
443
|
type: Component,
|
|
@@ -439,8 +452,9 @@ export class ArrayFormTableComponent {
|
|
|
439
452
|
PurePipe,
|
|
440
453
|
AsyncPipe,
|
|
441
454
|
TranslateModule,
|
|
455
|
+
DragDropModule,
|
|
442
456
|
...EFFECT_DIRECTIVE_MODULE,
|
|
443
|
-
], standalone: true, template: "<table\n class=\"acl-array-form-table\"\n [class.acl-array-form-table__readonly-mode]=\"readonly\"\n>\n <thead *ngIf=\"headerTemplate\">\n <tr>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <th\n *ngIf=\"!readonly && minRow !== maxRow\"\n class=\"acl-array-form-table__action-col\"\n ></th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of rows; let index = index\">\n <tr\n *ngFor=\"let rowTemplate of rowTemplates; let templateIndex = index\"\n [class.acl-array-form-table__row-error]=\"\n row | pure: shouldShowRowError | async\n \"\n [attr.rowtemplateindex]=\"templateIndex\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { $implicit: row, index: index }\n \"\n ></ng-container>\n <td\n *ngIf=\"templateIndex === 0 && !readonly && minRow !== maxRow\"\n class=\"acl-array-form-table__action-col\"\n [class.acl-array-form-table__action-col-divider]=\"actionColumnDivider\"\n >\n <ng-container *ngIf=\"rowControlTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n rowControlTemplate;\n context: { $implicit: row, index: index }\n \"\n ></ng-container>\n </ng-container>\n <div\n [auiTooltip]=\"minRowTooltip\"\n [auiTooltipDisabled]=\"rows?.length > minRow || !minRowTooltip\"\n >\n <button\n *ngIf=\"!rowControlTemplate\"\n aui-button=\"text\"\n type=\"button\"\n [disabled]=\"rows?.length <= minRow\"\n [square]=\"true\"\n [plain]=\"true\"\n (click)=\"remove.emit(index)\"\n >\n <aui-icon icon=\"minus_circle\"></aui-icon>\n </button>\n </div>\n </td>\n </tr>\n\n <tr\n *ngIf=\"rowErrorTemplate && !readonly\"\n [class.acl-array-form-table__row-error]=\"\n row | pure: shouldShowRowError | async\n \"\n [hidden]=\"!(row | pure: shouldShowRowError | async)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowErrorTemplate;\n context: { $implicit: row, index: index }\n \"\n ></ng-container>\n </tr>\n <ng-container\n *ngIf=\"\n (rowSeparator || separatorTemplate) &&\n rows?.length > 1 &&\n index !== rows?.length - 1\n \"\n >\n <tr class=\"acl-array-form-table__separator\">\n <td colspan=\"100\">\n @if (separatorTemplate) {\n <ng-container\n *ngTemplateOutlet=\"separatorTemplate\"\n ></ng-container>\n } @else {\n <div class=\"tw-h-[8px]\"></div>\n }\n </td>\n </tr>\n </ng-container>\n </ng-container>\n\n <tr *ngIf=\"(!rows || rows.length === 0) && showZeroState\">\n <td\n colspan=\"100\"\n style=\"padding: unset\"\n >\n <acl-zero-state\n *ngIf=\"!zeroStateTemplate\"\n [zeroState]=\"true\"\n [resourceName]=\"resourceName\"\n [resourceNameTranslated]=\"resourceNameTranslated\"\n [minHeight]=\"48\"\n ></acl-zero-state>\n\n <ng-container *ngIf=\"zeroStateTemplate\">\n <ng-container *ngTemplateOutlet=\"zeroStateTemplate\"></ng-container>\n </ng-container>\n </td>\n </tr>\n\n <tr\n *ngIf=\"!readonly && minRow !== maxRow\"\n class=\"acl-array-form-table--row-action\"\n >\n <td colspan=\"100\">\n <div class=\"acl-array-form-table__bottom-control-buttons\">\n <ng-container *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </ng-container>\n <div\n *ngIf=\"!footerTemplate\"\n class=\"tw-flex tw-w-full\"\n [auiTooltip]=\"maxRowTooltip\"\n [auiTooltipDisabled]=\"rows?.length < maxRow || !maxRowTooltip\"\n >\n <button\n aui-button=\"primary\"\n type=\"button\"\n [plain]=\"true\"\n size=\"mini\"\n (click)=\"add.emit()\"\n [disabled]=\"rows?.length >= maxRow || addDisabled\"\n >\n <aui-icon icon=\"plus_circle\"></aui-icon>\n {{ 'add' | translate }}\n </button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
457
|
+
], standalone: true, template: "<table\n class=\"acl-array-form-table\"\n [class.acl-array-form-table__readonly-mode]=\"readonly\"\n>\n <thead *ngIf=\"headerTemplate\">\n <tr>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <th\n *ngIf=\"!readonly && minRow !== maxRow\"\n class=\"acl-array-form-table__action-col\"\n ></th>\n </tr>\n </thead>\n <tbody\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n >\n <ng-container *ngFor=\"let row of rows; let index = index\">\n <tr\n *ngFor=\"let rowTemplate of rowTemplates; let templateIndex = index\"\n cdkDrag\n [class.acl-array-form-table__row-error]=\"\n row | pure: shouldShowRowError | async\n \"\n [attr.rowtemplateindex]=\"templateIndex\"\n >\n <td [hidden]=\"!enableDrop\">\n <aui-icon\n class=\"tw-ml-8\"\n icon=\"move\"\n cdkDragHandle\n ></aui-icon>\n </td>\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { $implicit: row, index: index }\n \"\n ></ng-container>\n <td\n *ngIf=\"templateIndex === 0 && !readonly && minRow !== maxRow\"\n class=\"acl-array-form-table__action-col\"\n [class.acl-array-form-table__action-col-divider]=\"actionColumnDivider\"\n >\n <ng-container *ngIf=\"rowControlTemplate\">\n <ng-container\n *ngTemplateOutlet=\"\n rowControlTemplate;\n context: { $implicit: row, index: index }\n \"\n ></ng-container>\n </ng-container>\n <div\n [auiTooltip]=\"minRowTooltip\"\n [auiTooltipDisabled]=\"rows?.length > minRow || !minRowTooltip\"\n >\n <button\n *ngIf=\"!rowControlTemplate\"\n aui-button=\"text\"\n type=\"button\"\n [disabled]=\"rows?.length <= minRow\"\n [square]=\"true\"\n [plain]=\"true\"\n (click)=\"remove.emit(index)\"\n >\n <aui-icon icon=\"minus_circle\"></aui-icon>\n </button>\n </div>\n </td>\n </tr>\n\n <tr\n *ngIf=\"rowErrorTemplate && !readonly\"\n [class.acl-array-form-table__row-error]=\"\n row | pure: shouldShowRowError | async\n \"\n [hidden]=\"!(row | pure: shouldShowRowError | async)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowErrorTemplate;\n context: { $implicit: row, index: index }\n \"\n ></ng-container>\n </tr>\n <ng-container\n *ngIf=\"\n (rowSeparator || separatorTemplate) &&\n rows?.length > 1 &&\n index !== rows?.length - 1\n \"\n >\n <tr class=\"acl-array-form-table__separator\">\n <td colspan=\"100\">\n @if (separatorTemplate) {\n <ng-container\n *ngTemplateOutlet=\"separatorTemplate\"\n ></ng-container>\n } @else {\n <div class=\"tw-h-[8px]\"></div>\n }\n </td>\n </tr>\n </ng-container>\n </ng-container>\n\n <tr *ngIf=\"(!rows || rows.length === 0) && showZeroState\">\n <td\n colspan=\"100\"\n style=\"padding: unset\"\n >\n <acl-zero-state\n *ngIf=\"!zeroStateTemplate\"\n [zeroState]=\"true\"\n [resourceName]=\"resourceName\"\n [resourceNameTranslated]=\"resourceNameTranslated\"\n [minHeight]=\"48\"\n ></acl-zero-state>\n\n <ng-container *ngIf=\"zeroStateTemplate\">\n <ng-container *ngTemplateOutlet=\"zeroStateTemplate\"></ng-container>\n </ng-container>\n </td>\n </tr>\n\n <tr\n *ngIf=\"!readonly && minRow !== maxRow\"\n class=\"acl-array-form-table--row-action\"\n >\n <td colspan=\"100\">\n <div class=\"acl-array-form-table__bottom-control-buttons\">\n <ng-container *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </ng-container>\n <div\n *ngIf=\"!footerTemplate\"\n class=\"tw-flex tw-w-full\"\n [auiTooltip]=\"maxRowTooltip\"\n [auiTooltipDisabled]=\"rows?.length < maxRow || !maxRowTooltip\"\n >\n <button\n aui-button=\"primary\"\n type=\"button\"\n [plain]=\"true\"\n size=\"mini\"\n (click)=\"add.emit()\"\n [disabled]=\"rows?.length >= maxRow || addDisabled\"\n >\n <aui-icon icon=\"plus_circle\"></aui-icon>\n {{ 'add' | translate }}\n </button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
444
458
|
}], () => [{ type: i0.Injector }], { headerTemplate: [{
|
|
445
459
|
type: ContentChild,
|
|
446
460
|
args: [ArrayFormTableHeaderDirective, {
|
|
@@ -512,6 +526,10 @@ export class ArrayFormTableComponent {
|
|
|
512
526
|
type: Input
|
|
513
527
|
}], maxRowTooltip: [{
|
|
514
528
|
type: Input
|
|
529
|
+
}], enableDrop: [{
|
|
530
|
+
type: Input
|
|
531
|
+
}], rowDrop: [{
|
|
532
|
+
type: Output
|
|
515
533
|
}] }); })();
|
|
516
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ArrayFormTableComponent, { className: "ArrayFormTableComponent", filePath: "array-form-table/form/component.ts", lineNumber:
|
|
517
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2FycmF5LWZvcm0tdGFibGUvZm9ybS9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXJyYXktZm9ybS10YWJsZS9mb3JtL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFNBQVMsRUFDVCxTQUFTLEVBQ1Qsa0JBQWtCLEVBQ2xCLE1BQU0sR0FDUCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0lDdkI1RSx3QkFBZ0U7OztJQUNoRSx3QkFHTTs7O0lBTFIsQUFERiw2QkFBOEIsU0FDeEI7SUFFRixBQURBLGtHQUFpRCxpRUFJaEQ7SUFFTCxBQURFLGlCQUFLLEVBQ0M7OztJQU5XLGVBQWdDO0lBQWhDLHdEQUFnQztJQUU1QyxjQUFvQztJQUFwQywwRUFBb0M7OztJQWNyQyx3QkFLZ0I7OztJQU9aLHdCQUtnQjs7O0lBTmxCLDZCQUF5QztJQUN2QyxrSUFLQzs7Ozs7OztJQUpFLGNBRWtCO0lBQUEsQUFGbEIsNERBRWtCLHlFQUVqQzs7OztJQU1ZLGtDQVFDO0lBREMsMlBBQVMsNEJBQWtCLEtBQUM7SUFFNUIsK0JBQXlDO0lBQzNDLGlCQUFTOzs7SUFKUCxBQURBLEFBREEsNkZBQW1DLGdCQUNwQixlQUNEOzs7SUF2QnBCLDZCQUlDO0lBQ0MsbUhBQXlDO0lBUXpDLCtCQUdDO0lBQ0Msd0dBUUM7SUFJTCxBQURFLGlCQUFNLEVBQ0g7OztJQTFCSCxzRkFBc0U7SUFFdkQsY0FBd0I7SUFBeEIsZ0RBQXdCO0lBU3JDLGNBQTRCO0lBQzVCLEFBREEsaURBQTRCLGtIQUNrQztJQUczRCxjQUF5QjtJQUF6QixpREFBeUI7OztJQS9CbEMsMEJBTUM7OztJQU9DLEFBTkEsOEdBS0MsOEVBS0E7SUEwQkgsaUJBQUs7Ozs7Ozs7O0lBekNILGdJQUVDOztJQUlFLGVBRWM7SUFBQSxBQUZkLGlEQUVjLDBFQUV6QjtJQUVXLGNBQTJEO0lBQTNELG9HQUEyRDs7O0lBc0M5RCx3QkFLZ0I7OztJQVpsQiw4QkFNQzs7Ozs7SUFDQyw4R0FLQztJQUNILGlCQUFLOzs7Ozs7SUFYSCxnSUFFQztJQUNELHlHQUFvRDtJQUdqRCxlQUVjO0lBQUEsQUFGZCwwREFFYywwRUFFekI7OztJQVljLHdCQUVnQjs7O0lBRmhCLHNJQUVDOzs7SUFERSwyREFBbUM7OztJQUd0QywwQkFBOEI7OztJQWR0Qyw2QkFNQztJQUVHLEFBREYsOEJBQTRDLGFBQ3hCO0lBS2QsQUFKRixvSEFBeUIsa0dBSWhCO0lBSWIsQUFERSxpQkFBSyxFQUNGOzs7O0lBUkQsZUFNQztJQU5ELGtEQU1DOzs7SUEzRVQsNkJBQTBEO0lBNER4RCxBQWRBLEFBN0NBLHNGQU1DLHlFQTZDQSw0RkFjQTs7Ozs7SUFoRXlCLGNBQWlCO0lBQWpCLDZDQUFpQjtJQTZDeEMsY0FBbUM7SUFBbkMsa0VBQW1DO0lBY25DLGNBS1Q7SUFMUyx1TUFLVDs7O0lBb0JRLHFDQU1rQjs7O0lBRGhCLEFBREEsQUFEQSxBQURBLGdDQUFrQixxQ0FDVyx5REFDb0IsaUJBQ2pDOzs7SUFJaEIsd0JBQW1FOzs7SUFEckUsNkJBQXdDO0lBQ3RDLDhHQUFvRDs7OztJQUFyQyxjQUFtQztJQUFuQywyREFBbUM7OztJQWJ0RCxBQURGLDBCQUEwRCxhQUl2RDtJQVNDLEFBUkEsb0dBTUMsa0ZBRXVDO0lBSTVDLEFBREUsaUJBQUssRUFDRjs7O0lBWEUsZUFBd0I7SUFBeEIsZ0RBQXdCO0lBT1osY0FBdUI7SUFBdkIsK0NBQXVCOzs7SUFhbEMsd0JBQWdFOzs7SUFEbEUsNkJBQXFDO0lBQ25DLDhHQUFpRDs7OztJQUFsQyxjQUFnQztJQUFoQyx3REFBZ0M7Ozs7SUFRL0MsQUFORiwrQkFLQyxpQkFRRTtJQUZDLHlMQUFTLGlCQUFVLEtBQUM7SUFHcEIsK0JBQXdDO0lBQ3hDLFlBQ0Y7O0lBQ0YsQUFERSxpQkFBUyxFQUNMOzs7SUFiSixBQURBLGlEQUE0QixrSEFDa0M7SUFLNUQsY0FBYztJQUdkLEFBSEEsNEJBQWMsc0dBR29DO0lBR2xELGVBQ0Y7SUFERSw0REFDRjs7O0lBcEJKLEFBREYsQUFKRiw4QkFHQyxhQUNtQixjQUMwQztJQUl4RCxBQUhBLCtGQUFxQyxpRUFRcEM7SUFlUCxBQURFLEFBREUsaUJBQU0sRUFDSCxFQUNGOzs7SUF2QmdCLGVBQW9CO0lBQXBCLDRDQUFvQjtJQUloQyxjQUFxQjtJQUFyQiw2Q0FBcUI7O0FEN0ZsQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFekQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBNEIsRUFDOUQsT0FBTyxHQUNMLEVBQVUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFNUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztBQU0xQyxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7OEZBRHpDLDZCQUE2QjtvRUFBN0IsNkJBQTZCOztpRkFBN0IsNkJBQTZCO2NBSnpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxVQUFVLEVBQUUsSUFBSTthQUNqQjs7QUFTRCxNQUFNLE9BQU8sK0JBQStCO0lBQzFDLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7Z0dBRHpDLCtCQUErQjtvRUFBL0IsK0JBQStCOztpRkFBL0IsK0JBQStCO2NBSjNDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxVQUFVLEVBQUUsSUFBSTthQUNqQjs7QUFTRCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7MkZBRHpDLDBCQUEwQjtvRUFBMUIsMEJBQTBCOztpRkFBMUIsMEJBQTBCO2NBSnRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxVQUFVLEVBQUUsSUFBSTthQUNqQjs7QUFTRCxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7aUdBRHpDLGdDQUFnQztvRUFBaEMsZ0NBQWdDOztpRkFBaEMsZ0NBQWdDO2NBSjVDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxVQUFVLEVBQUUsSUFBSTthQUNqQjs7QUFTRCxNQUFNLE9BQU8saUNBQWlDO0lBQzVDLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7a0dBRHpDLGlDQUFpQztvRUFBakMsaUNBQWlDOztpRkFBakMsaUNBQWlDO2NBSjdDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsK0JBQStCO2dCQUN6QyxVQUFVLEVBQUUsSUFBSTthQUNqQjs7QUFTRCxNQUFNLE9BQU8sbUNBQW1DO0lBQzlDLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7b0dBRHpDLG1DQUFtQztvRUFBbkMsbUNBQW1DOztpRkFBbkMsbUNBQW1DO2NBSi9DLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsaUNBQWlDO2dCQUMzQyxVQUFVLEVBQUUsSUFBSTthQUNqQjs7QUFTRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW1CLFdBQTZCO1FBQTdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtJQUFHLENBQUM7OEZBRHpDLDZCQUE2QjtvRUFBN0IsNkJBQTZCOztpRkFBN0IsNkJBQTZCO2NBSnpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxVQUFVLEVBQUUsSUFBSTthQUNqQjs7QUFLRCx1Q0FBdUM7QUFDdkMsU0FBUyxxQkFBcUIsQ0FBQyxPQUF3QjtJQUNyRCxJQUFJLE9BQU8sWUFBWSxTQUFTLElBQUksT0FBTyxZQUFZLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLE9BQU8sQ0FDTCxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDbkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQzVELENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFDMUMsQ0FBQztBQXVCRCxNQUFNLE9BQU8sdUJBQXVCO0lBdUZsQyxJQUFJLGFBQWE7UUFDZixPQUFPLENBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFFSCxZQUFZLENBQ1YsT0FBVSxFQUNWLGFBQTJDO1FBRTNDLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsT0FBTyxDQUNMLE9BQU8sQ0FBQyxPQUFPO2dCQUNmLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUM1RCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBRUgsb0JBQW9CLENBQ2xCLE9BQVUsRUFDVixhQUEyQztRQUUzQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQztZQUM5QyxDQUFDLENBQUMseUJBQXlCO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDO0lBa0JELFlBQW1CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUE1RnJDOztXQUVHO1FBRUgsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFVckIsaUJBQVksR0FBRyxJQUFjLENBQUM7UUFNOUIsUUFBRyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHL0IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUMsQ0FBQyxrQ0FBa0M7UUFHdkUsYUFBUSxHQUFpQixLQUFLLENBQUM7UUFHL0IsZ0JBQVcsR0FBaUIsS0FBSyxDQUFDO1FBR2xDLHdCQUFtQixHQUFpQixLQUFLLENBQUM7UUFHMUMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUEwQ3JCLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFHWCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUduQixXQUFNLEdBQUcsUUFBUSxDQUFDO1FBR2xCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBRW5CLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWhDLFFBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBUzNDLHVCQUFrQixHQUFHLENBQUMsT0FBd0IsRUFBRSxFQUFFO1lBQ2hELE1BQU0sRUFBRSxhQUFhLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUVsRCxPQUFPLENBQ0wsSUFBSSxDQUFDLGFBQWE7Z0JBQ2hCLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO2dCQUNuRCxDQUFDLENBQUMsYUFBYSxDQUNsQixDQUFDLElBQUksQ0FDSixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQ2pCLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQzFELENBQUM7UUFDSixDQUFDLENBQUM7SUFuQnNDLENBQUM7SUFFekMsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO3dGQW5KVSx1QkFBdUI7b0VBQXZCLHVCQUF1Qjt3Q0FDcEIsNkJBQTZCLEtBQ25DLFdBQVc7d0NBU0wsK0JBQStCLEtBQVUsV0FBVzt3Q0FNcEQsaUNBQWlDLEtBQ3ZDLFdBQVc7d0NBUUwsNkJBQTZCLEtBQ25DLFdBQVc7d0NBUUwsZ0NBQWdDLEtBQ3RDLFdBQVc7d0NBUUwsbUNBQW1DLEtBQ3pDLFdBQVc7d0NBV0wsa0JBQWtCO3dDQWhEZiwwQkFBMEIsS0FBVSxXQUFXOzs7Ozs7Ozs7Ozs7WUN2SWxFLGdDQUdDO1lBQ0MsNEVBQThCO1lBUzlCLDZCQUFPO1lBcUdMLEFBbkJBLEFBakZBLDBGQUEwRCx5REFpRkEseURBc0J6RDtZQTRCTCxBQURFLGlCQUFRLEVBQ0Y7O1lBL0lOLG1FQUFzRDtZQUU5QyxjQUFvQjtZQUFwQix5Q0FBb0I7WUFVSSxlQUFTO1lBQVQsa0NBQVM7WUFpRmxDLGNBQW1EO1lBQW5ELGdGQUFtRDtZQW9CckQsY0FBb0M7WUFBcEMsaUVBQW9DOzRCREZ2QyxnQkFBZ0I7WUFDaEIsYUFBYSx1QkFDYixrQkFBa0I7WUFDbEIsWUFBWSxzQkFDWixVQUFVLG9CQUNWLElBQUk7WUFDSixPQUFPO1lBQ1AsUUFBUTtZQUNSLFNBQVM7WUFDVCxlQUFlOztpRkFLTix1QkFBdUI7Y0FyQm5DLFNBQVM7MkJBQ0Usc0JBQXNCLG1CQUlmLHVCQUF1QixDQUFDLE9BQU8sV0FDdkM7b0JBQ1AsZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsWUFBWTtvQkFDWixVQUFVO29CQUNWLElBQUk7b0JBQ0osT0FBTztvQkFDUCxRQUFRO29CQUNSLFNBQVM7b0JBQ1QsZUFBZTtvQkFDZixHQUFHLHVCQUF1QjtpQkFDM0IsY0FDVyxJQUFJO3lDQU9oQixjQUFjO2tCQUpiLFlBQVk7bUJBQUMsNkJBQTZCLEVBQUU7b0JBQzNDLElBQUksRUFBRSxXQUFXO29CQUNqQixNQUFNLEVBQUUsSUFBSTtpQkFDYjtZQUtELFlBQVk7a0JBRFgsZUFBZTttQkFBQywwQkFBMEIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFJbEUsZ0JBQWdCO2tCQURmLFlBQVk7bUJBQUMsK0JBQStCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBVXBFLGtCQUFrQjtrQkFKakIsWUFBWTttQkFBQyxpQ0FBaUMsRUFBRTtvQkFDL0MsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLE1BQU0sRUFBRSxJQUFJO2lCQUNiO1lBVUQsY0FBYztrQkFKYixZQUFZO21CQUFDLDZCQUE2QixFQUFFO29CQUMzQyxJQUFJLEVBQUUsV0FBVztvQkFDakIsTUFBTSxFQUFFLElBQUk7aUJBQ2I7WUFVRCxpQkFBaUI7a0JBSmhCLFlBQVk7bUJBQUMsZ0NBQWdDLEVBQUU7b0JBQzlDLElBQUksRUFBRSxXQUFXO29CQUNqQixNQUFNLEVBQUUsS0FBSztpQkFDZDtZQVVELGlCQUFpQjtrQkFKaEIsWUFBWTttQkFBQyxtQ0FBbUMsRUFBRTtvQkFDakQsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLE1BQU0sRUFBRSxLQUFLO2lCQUNkO1lBT0QsWUFBWTtrQkFEWCxLQUFLO1lBSU4sb0JBQW9CO2tCQURuQixZQUFZO21CQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUtuRCxJQUFJO2tCQURILEtBQUs7WUFJTixZQUFZO2tCQURYLEtBQUs7WUFJTixzQkFBc0I7a0JBRHJCLEtBQUs7WUFJTixHQUFHO2tCQURGLE1BQU07WUFJUCxNQUFNO2tCQURMLE1BQU07WUFJUCxRQUFRO2tCQURQLEtBQUs7WUFJTixXQUFXO2tCQURWLEtBQUs7WUFJTixtQkFBbUI7a0JBRGxCLEtBQUs7WUFJTixhQUFhO2tCQURaLEtBQUs7WUFlTixZQUFZO2tCQURYLEtBQUs7WUFtQk4sb0JBQW9CO2tCQURuQixLQUFLO1lBV04sTUFBTTtrQkFETCxLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLOztrRkF2SUssdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlLCByZ2JDb2xvciwgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQXJyYXksXG4gIEZvcm1Hcm91cCxcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBOZ0Zvcm0sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgRU1QVFksIG1hcCwgbWVyZ2UsIHN0YXJ0V2l0aCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQdXJlUGlwZSB9IGZyb20gJy4uLy4uL2NvcmUvcGlwZXMvcHVyZS5waXBlJztcbmltcG9ydCB7IEVGRkVDVF9ESVJFQ1RJVkVfTU9EVUxFIH0gZnJvbSAnLi4vLi4vZWZmZWN0LWRpcmVjdGl2ZS9tb2R1bGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgWmVyb1N0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vd2lkZ2V0L3plcm8tc3RhdGUvemVyby1zdGF0ZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgQVJSQVlfVEFCTEVfRk9STV9FUlJPUl9CRyA9IHJnYkNvbG9yKCdyLTYnKTtcblxuZXhwb3J0IGNvbnN0IHJvd0JhY2tncm91bmRDb2xvckZuID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w+KHtcbiAgaW52YWxpZCxcbn06IFQpOiBzdHJpbmcgPT4gKGludmFsaWQgPyBBUlJBWV9UQUJMRV9GT1JNX0VSUk9SX0JHIDogJycpO1xuXG5leHBvcnQgY29uc3Qgbm9TaG93Um93RXJyb3IgPSAoKSA9PiBmYWxzZTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbEFycmF5Rm9ybVRhYmxlSGVhZGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5Rm9ybVRhYmxlSGVhZGVyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsQXJyYXlGb3JtVGFibGVSb3dFcnJvcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZVJvd0Vycm9yRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsQXJyYXlGb3JtVGFibGVSb3ddJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQXJyYXlGb3JtVGFibGVSb3dEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xBcnJheUZvcm1UYWJsZVplcm9TdGF0ZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZVplcm9TdGF0ZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbEFycmF5Rm9ybVRhYmxlUm93Q29udHJvbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZVJvd0NvbnRyb2xEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xBcnJheUZvcm1UYWJsZVJvd1NlcGFyYXRvcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZVJvd1NlcGFyYXRvckRpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbEFycmF5Rm9ybVRhYmxlRm9vdGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5Rm9ybVRhYmxlRm9vdGVyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuXG4vLyDpgJLlvZLpqozor4EgY29udHJvbCDmmK/lkKbmnInpl67popjvvIxncm91cCDlhoXpg6jlj6/og73kvJrmnInltYzlpZfnmoTmg4XlhrVcbmZ1bmN0aW9uIF9pc0Zvcm1Db250cm9sSW52YWxpZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgIHJldHVybiAoXG4gICAgICAoY29udHJvbC5kaXJ0eSAmJiAhIWNvbnRyb2wuZXJyb3JzKSB8fFxuICAgICAgT2JqZWN0LnZhbHVlcyhjb250cm9sLmNvbnRyb2xzKS5zb21lKF9pc0Zvcm1Db250cm9sSW52YWxpZClcbiAgICApO1xuICB9XG4gIHJldHVybiBjb250cm9sLmRpcnR5ICYmIGNvbnRyb2wuaW52YWxpZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWFycmF5LWZvcm0tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIC8vIFNpbmNlIHJvd3MgbWF5YmUgdXBkYXRlZCB3aXRob3V0IGNoYW5naW5nIHJlZmVyZW5jZSwgd2UgdXNlIERlZmF1bHQgaGVyZTpcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgWmVyb1N0YXRlQ29tcG9uZW50LFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgTmdGb3JPZixcbiAgICBQdXJlUGlwZSxcbiAgICBBc3luY1BpcGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIC4uLkVGRkVDVF9ESVJFQ1RJVkVfTU9EVUxFLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoQXJyYXlGb3JtVGFibGVIZWFkZXJEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8vIOeUqOaIt+WPr+S7peaPkOS+m+WkmuihjOaooeadvywg5L2G5Y+q5pyJ56ys5LiA6KGM5pyJ5o6n5Yi25oyJ6ZSuLlxuICBAQ29udGVudENoaWxkcmVuKEFycmF5Rm9ybVRhYmxlUm93RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHJvd1RlbXBsYXRlczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gIEBDb250ZW50Q2hpbGQoQXJyYXlGb3JtVGFibGVSb3dFcnJvckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICByb3dFcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiDooajljZXpu5jorqTmj5DkvpvliKDpmaTmjInplK47IOWBh+WmgueUqOaIt+aPkOS+m+aooeadvywg5bCG5L2/55So55So5oi355qE5qih5p2/XG4gICAqL1xuICBAQ29udGVudENoaWxkKEFycmF5Rm9ybVRhYmxlUm93Q29udHJvbERpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcm93Q29udHJvbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiDooajljZXpu5jorqTmj5Dkvpvmt7vliqDmjInplK47IOWBh+WmgueUqOaIt+aPkOS+m+aooeadvywg5bCG5L2/55So55So5oi355qE5qih5p2/XG4gICAqL1xuICBAQ29udGVudENoaWxkKEFycmF5Rm9ybVRhYmxlRm9vdGVyRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICog6KGo5Y2V6buY6K6k5Li656m65pWw5o2u5o+Q5L6b5pegeHh455qE5qih5p2/OyDlgYflpoLnlKjmiLfmj5DkvpvmqKHmnb8sIOWwhuS9v+eUqOeUqOaIt+eahOaooeadv1xuICAgKi9cbiAgQENvbnRlbnRDaGlsZChBcnJheUZvcm1UYWJsZVplcm9TdGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogZmFsc2UsXG4gIH0pXG4gIHplcm9TdGF0ZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiDooYzkuYvpl7TnmoTliIbpmpTljLrln5/oh6rlrprkuYnmqKHmnb9cbiAgICovXG4gIEBDb250ZW50Q2hpbGQoQXJyYXlGb3JtVGFibGVSb3dTZXBhcmF0b3JEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IGZhbHNlLFxuICB9KVxuICBzZXBhcmF0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICog6KGM5LmL6Ze055qE5YiG6ZqU5Yy65Z+f77yM6buY6K6k5YWz6ZetXG4gICAqL1xuICBASW5wdXQoKVxuICByb3dTZXBhcmF0b3IgPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkKEZvcm1Hcm91cERpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG5nRm9ybUdyb3VwRGlyZWN0aXZlOiBGb3JtR3JvdXBEaXJlY3RpdmU7XG5cbiAgLy8gRGF0YSBjb250ZXh0IGZvciByb3dzLlxuICBASW5wdXQoKVxuICByb3dzOiBhbnlbXTtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWUgPSBudWxsIGFzIHN0cmluZztcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIGFkZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7IC8vIFJldHVybnMgdGhlIGluZGV4IHRvIGJlIHJlbW92ZWRcblxuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbiB8ICcnID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYWRkRGlzYWJsZWQ6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFjdGlvbkNvbHVtbkRpdmlkZXI6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNob3daZXJvU3RhdGUgPSB0cnVlO1xuXG4gIGdldCBmb3JtRGlyZWN0aXZlKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmluamVjdG9yLmdldChGb3JtR3JvdXBEaXJlY3RpdmUsIG51bGwpIHx8XG4gICAgICB0aGlzLmluamVjdG9yLmdldChOZ0Zvcm0sIG51bGwpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDoh6rlrprkuYnmmK/lkKblsZXnpLrplJnor6/lhoXlrrlcbiAgICog5L6L5aaCIGNvbnRyb2wg5pivIEZvcm1Hcm91cO+8jOWPquacieWcqOWGhemDqOWtkCBjb250cm9sIOmUmeivr+aXtuaJjemcgOimgeWxleekuumUmeivr+WGheWuuVxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvd1Jvd0Vycm9yPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w+KFxuICAgIGNvbnRyb2w6IFQsXG4gICAgZm9ybURpcmVjdGl2ZT86IE5nRm9ybSB8IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKGZvcm1EaXJlY3RpdmUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNvbnRyb2wuaW52YWxpZCAmJlxuICAgICAgICAoZm9ybURpcmVjdGl2ZS5zdWJtaXR0ZWQgfHwgX2lzRm9ybUNvbnRyb2xJbnZhbGlkKGNvbnRyb2wpKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBzaG93Um93RXJyb3J9IGluc3RlYWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHJvd0JhY2tncm91bmRDb2xvckZuPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w+KFxuICAgIGNvbnRyb2w6IFQsXG4gICAgZm9ybURpcmVjdGl2ZT86IE5nRm9ybSB8IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zaG93Um93RXJyb3IoY29udHJvbCwgZm9ybURpcmVjdGl2ZSlcbiAgICAgID8gQVJSQVlfVEFCTEVfRk9STV9FUlJPUl9CR1xuICAgICAgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgbWluUm93ID0gMDtcblxuICBASW5wdXQoKVxuICBtaW5Sb3dUb29sdGlwID0gJyc7XG5cbiAgQElucHV0KClcbiAgbWF4Um93ID0gSW5maW5pdHk7XG5cbiAgQElucHV0KClcbiAgbWF4Um93VG9vbHRpcCA9ICcnO1xuXG4gIGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY2RyID0gdGhpcy5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzaG91bGRTaG93Um93RXJyb3IgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgY29uc3QgeyBzdGF0dXNDaGFuZ2VzID0gRU1QVFksIHN0YXR1cyB9ID0gY29udHJvbDtcblxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmZvcm1EaXJlY3RpdmVcbiAgICAgICAgPyBtZXJnZShzdGF0dXNDaGFuZ2VzLCB0aGlzLmZvcm1EaXJlY3RpdmUubmdTdWJtaXQpXG4gICAgICAgIDogc3RhdHVzQ2hhbmdlc1xuICAgICkucGlwZShcbiAgICAgIHN0YXJ0V2l0aChzdGF0dXMpLFxuICAgICAgZGVib3VuY2VUaW1lKDApLFxuICAgICAgbWFwKCgpID0+IHRoaXMuc2hvd1Jvd0Vycm9yKGNvbnRyb2wsIHRoaXMuZm9ybURpcmVjdGl2ZSkpLFxuICAgICk7XG4gIH07XG59XG4iLCI8dGFibGVcbiAgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZVwiXG4gIFtjbGFzcy5hY2wtYXJyYXktZm9ybS10YWJsZV9fcmVhZG9ubHktbW9kZV09XCJyZWFkb25seVwiXG4+XG4gIDx0aGVhZCAqbmdJZj1cImhlYWRlclRlbXBsYXRlXCI+XG4gICAgPHRyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8dGhcbiAgICAgICAgKm5nSWY9XCIhcmVhZG9ubHkgJiYgbWluUm93ICE9PSBtYXhSb3dcIlxuICAgICAgICBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlX19hY3Rpb24tY29sXCJcbiAgICAgID48L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2Ygcm93czsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgIDx0clxuICAgICAgICAqbmdGb3I9XCJsZXQgcm93VGVtcGxhdGUgb2Ygcm93VGVtcGxhdGVzOyBsZXQgdGVtcGxhdGVJbmRleCA9IGluZGV4XCJcbiAgICAgICAgW2NsYXNzLmFjbC1hcnJheS1mb3JtLXRhYmxlX19yb3ctZXJyb3JdPVwiXG4gICAgICAgICAgcm93IHwgcHVyZTogc2hvdWxkU2hvd1Jvd0Vycm9yIHwgYXN5bmNcbiAgICAgICAgXCJcbiAgICAgICAgW2F0dHIucm93dGVtcGxhdGVpbmRleF09XCJ0ZW1wbGF0ZUluZGV4XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICByb3dUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb3csIGluZGV4OiBpbmRleCB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8dGRcbiAgICAgICAgICAqbmdJZj1cInRlbXBsYXRlSW5kZXggPT09IDAgJiYgIXJlYWRvbmx5ICYmIG1pblJvdyAhPT0gbWF4Um93XCJcbiAgICAgICAgICBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlX19hY3Rpb24tY29sXCJcbiAgICAgICAgICBbY2xhc3MuYWNsLWFycmF5LWZvcm0tdGFibGVfX2FjdGlvbi1jb2wtZGl2aWRlcl09XCJhY3Rpb25Db2x1bW5EaXZpZGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3dDb250cm9sVGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICByb3dDb250cm9sVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IHJvdywgaW5kZXg6IGluZGV4IH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJtaW5Sb3dUb29sdGlwXCJcbiAgICAgICAgICAgIFthdWlUb29sdGlwRGlzYWJsZWRdPVwicm93cz8ubGVuZ3RoID4gbWluUm93IHx8ICFtaW5Sb3dUb29sdGlwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXJvd0NvbnRyb2xUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyb3dzPy5sZW5ndGggPD0gbWluUm93XCJcbiAgICAgICAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlLmVtaXQoaW5kZXgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF1aS1pY29uIGljb249XCJtaW51c19jaXJjbGVcIj48L2F1aS1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuXG4gICAgICA8dHJcbiAgICAgICAgKm5nSWY9XCJyb3dFcnJvclRlbXBsYXRlICYmICFyZWFkb25seVwiXG4gICAgICAgIFtjbGFzcy5hY2wtYXJyYXktZm9ybS10YWJsZV9fcm93LWVycm9yXT1cIlxuICAgICAgICAgIHJvdyB8IHB1cmU6IHNob3VsZFNob3dSb3dFcnJvciB8IGFzeW5jXG4gICAgICAgIFwiXG4gICAgICAgIFtoaWRkZW5dPVwiIShyb3cgfCBwdXJlOiBzaG91bGRTaG93Um93RXJyb3IgfCBhc3luYylcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIHJvd0Vycm9yVGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogcm93LCBpbmRleDogaW5kZXggfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdHI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgKHJvd1NlcGFyYXRvciB8fCBzZXBhcmF0b3JUZW1wbGF0ZSkgJiZcbiAgICAgICAgICByb3dzPy5sZW5ndGggPiAxICYmXG4gICAgICAgICAgaW5kZXggIT09IHJvd3M/Lmxlbmd0aCAtIDFcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPHRyIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGVfX3NlcGFyYXRvclwiPlxuICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMTAwXCI+XG4gICAgICAgICAgICBAaWYgKHNlcGFyYXRvclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInNlcGFyYXRvclRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dy1oLVs4cHhdXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHRyICpuZ0lmPVwiKCFyb3dzIHx8IHJvd3MubGVuZ3RoID09PSAwKSAmJiBzaG93WmVyb1N0YXRlXCI+XG4gICAgICA8dGRcbiAgICAgICAgY29sc3Bhbj1cIjEwMFwiXG4gICAgICAgIHN0eWxlPVwicGFkZGluZzogdW5zZXRcIlxuICAgICAgPlxuICAgICAgICA8YWNsLXplcm8tc3RhdGVcbiAgICAgICAgICAqbmdJZj1cIiF6ZXJvU3RhdGVUZW1wbGF0ZVwiXG4gICAgICAgICAgW3plcm9TdGF0ZV09XCJ0cnVlXCJcbiAgICAgICAgICBbcmVzb3VyY2VOYW1lXT1cInJlc291cmNlTmFtZVwiXG4gICAgICAgICAgW3Jlc291cmNlTmFtZVRyYW5zbGF0ZWRdPVwicmVzb3VyY2VOYW1lVHJhbnNsYXRlZFwiXG4gICAgICAgICAgW21pbkhlaWdodF09XCI0OFwiXG4gICAgICAgID48L2FjbC16ZXJvLXN0YXRlPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ6ZXJvU3RhdGVUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ6ZXJvU3RhdGVUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cblxuICAgIDx0clxuICAgICAgKm5nSWY9XCIhcmVhZG9ubHkgJiYgbWluUm93ICE9PSBtYXhSb3dcIlxuICAgICAgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZS0tcm93LWFjdGlvblwiXG4gICAgPlxuICAgICAgPHRkIGNvbHNwYW49XCIxMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlX19ib3R0b20tY29udHJvbC1idXR0b25zXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvb3RlclRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cIiFmb290ZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInR3LWZsZXggdHctdy1mdWxsXCJcbiAgICAgICAgICAgIFthdWlUb29sdGlwXT1cIm1heFJvd1Rvb2x0aXBcIlxuICAgICAgICAgICAgW2F1aVRvb2x0aXBEaXNhYmxlZF09XCJyb3dzPy5sZW5ndGggPCBtYXhSb3cgfHwgIW1heFJvd1Rvb2x0aXBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgYXVpLWJ1dHRvbj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhZGQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJvd3M/Lmxlbmd0aCA+PSBtYXhSb3cgfHwgYWRkRGlzYWJsZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXVpLWljb24gaWNvbj1cInBsdXNfY2lyY2xlXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICAgICAge3sgJ2FkZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
|
|
534
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ArrayFormTableComponent, { className: "ArrayFormTableComponent", filePath: "array-form-table/form/component.ts", lineNumber: 130 }); })();
|
|
535
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2FycmF5LWZvcm0tdGFibGUvZm9ybS9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXJyYXktZm9ybS10YWJsZS9mb3JtL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvRSxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0UsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGtCQUFrQixFQUNsQixNQUFNLEdBQ1AsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUs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O2tCQURaLEtBQUs7WUFHRyxVQUFVO2tCQUFsQixLQUFLO1lBRUksT0FBTztrQkFBaEIsTUFBTTs7a0ZBNUlJLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbk1vZHVsZSwgSWNvbk1vZHVsZSwgcmdiQ29sb3IsIFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQXJyYXksXG4gIEZvcm1Hcm91cCxcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBOZ0Zvcm0sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgRU1QVFksIG1hcCwgbWVyZ2UsIHN0YXJ0V2l0aCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQdXJlUGlwZSB9IGZyb20gJy4uLy4uL2NvcmUvcGlwZXMvcHVyZS5waXBlJztcbmltcG9ydCB7IEVGRkVDVF9ESVJFQ1RJVkVfTU9EVUxFIH0gZnJvbSAnLi4vLi4vZWZmZWN0LWRpcmVjdGl2ZS9tb2R1bGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgWmVyb1N0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vd2lkZ2V0L3plcm8tc3RhdGUvemVyby1zdGF0ZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgQVJSQVlfVEFCTEVfRk9STV9FUlJPUl9CRyA9IHJnYkNvbG9yKCdyLTYnKTtcblxuZXhwb3J0IGNvbnN0IHJvd0JhY2tncm91bmRDb2xvckZuID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w+KHtcbiAgaW52YWxpZCxcbn06IFQpOiBzdHJpbmcgPT4gKGludmFsaWQgPyBBUlJBWV9UQUJMRV9GT1JNX0VSUk9SX0JHIDogJycpO1xuXG5leHBvcnQgY29uc3Qgbm9TaG93Um93RXJyb3IgPSAoKSA9PiBmYWxzZTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbEFycmF5Rm9ybVRhYmxlSGVhZGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5Rm9ybVRhYmxlSGVhZGVyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsQXJyYXlGb3JtVGFibGVSb3dFcnJvcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZVJvd0Vycm9yRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsQXJyYXlGb3JtVGFibGVSb3ddJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQXJyYXlGb3JtVGFibGVSb3dEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xBcnJheUZvcm1UYWJsZVplcm9TdGF0ZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZVplcm9TdGF0ZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbEFycmF5Rm9ybVRhYmxlUm93Q29udHJvbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZVJvd0NvbnRyb2xEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xBcnJheUZvcm1UYWJsZVJvd1NlcGFyYXRvcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZVJvd1NlcGFyYXRvckRpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FjbEFycmF5Rm9ybVRhYmxlRm9vdGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFycmF5Rm9ybVRhYmxlRm9vdGVyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuXG4vLyDpgJLlvZLpqozor4EgY29udHJvbCDmmK/lkKbmnInpl67popjvvIxncm91cCDlhoXpg6jlj6/og73kvJrmnInltYzlpZfnmoTmg4XlhrVcbmZ1bmN0aW9uIF9pc0Zvcm1Db250cm9sSW52YWxpZChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXAgfHwgY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgIHJldHVybiAoXG4gICAgICAoY29udHJvbC5kaXJ0eSAmJiAhIWNvbnRyb2wuZXJyb3JzKSB8fFxuICAgICAgT2JqZWN0LnZhbHVlcyhjb250cm9sLmNvbnRyb2xzKS5zb21lKF9pc0Zvcm1Db250cm9sSW52YWxpZClcbiAgICApO1xuICB9XG4gIHJldHVybiBjb250cm9sLmRpcnR5ICYmIGNvbnRyb2wuaW52YWxpZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWFycmF5LWZvcm0tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIC8vIFNpbmNlIHJvd3MgbWF5YmUgdXBkYXRlZCB3aXRob3V0IGNoYW5naW5nIHJlZmVyZW5jZSwgd2UgdXNlIERlZmF1bHQgaGVyZTpcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgWmVyb1N0YXRlQ29tcG9uZW50LFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgTmdGb3JPZixcbiAgICBQdXJlUGlwZSxcbiAgICBBc3luY1BpcGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIC4uLkVGRkVDVF9ESVJFQ1RJVkVfTU9EVUxFLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBcnJheUZvcm1UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoQXJyYXlGb3JtVGFibGVIZWFkZXJEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8vIOeUqOaIt+WPr+S7peaPkOS+m+WkmuihjOaooeadvywg5L2G5Y+q5pyJ56ys5LiA6KGM5pyJ5o6n5Yi25oyJ6ZSuLlxuICBAQ29udGVudENoaWxkcmVuKEFycmF5Rm9ybVRhYmxlUm93RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHJvd1RlbXBsYXRlczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gIEBDb250ZW50Q2hpbGQoQXJyYXlGb3JtVGFibGVSb3dFcnJvckRpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICByb3dFcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiDooajljZXpu5jorqTmj5DkvpvliKDpmaTmjInplK47IOWBh+WmgueUqOaIt+aPkOS+m+aooeadvywg5bCG5L2/55So55So5oi355qE5qih5p2/XG4gICAqL1xuICBAQ29udGVudENoaWxkKEFycmF5Rm9ybVRhYmxlUm93Q29udHJvbERpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcm93Q29udHJvbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiDooajljZXpu5jorqTmj5Dkvpvmt7vliqDmjInplK47IOWBh+WmgueUqOaIt+aPkOS+m+aooeadvywg5bCG5L2/55So55So5oi355qE5qih5p2/XG4gICAqL1xuICBAQ29udGVudENoaWxkKEFycmF5Rm9ybVRhYmxlRm9vdGVyRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICog6KGo5Y2V6buY6K6k5Li656m65pWw5o2u5o+Q5L6b5pegeHh455qE5qih5p2/OyDlgYflpoLnlKjmiLfmj5DkvpvmqKHmnb8sIOWwhuS9v+eUqOeUqOaIt+eahOaooeadv1xuICAgKi9cbiAgQENvbnRlbnRDaGlsZChBcnJheUZvcm1UYWJsZVplcm9TdGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogZmFsc2UsXG4gIH0pXG4gIHplcm9TdGF0ZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiDooYzkuYvpl7TnmoTliIbpmpTljLrln5/oh6rlrprkuYnmqKHmnb9cbiAgICovXG4gIEBDb250ZW50Q2hpbGQoQXJyYXlGb3JtVGFibGVSb3dTZXBhcmF0b3JEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IGZhbHNlLFxuICB9KVxuICBzZXBhcmF0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICog6KGM5LmL6Ze055qE5YiG6ZqU5Yy65Z+f77yM6buY6K6k5YWz6ZetXG4gICAqL1xuICBASW5wdXQoKVxuICByb3dTZXBhcmF0b3IgPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkKEZvcm1Hcm91cERpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG5nRm9ybUdyb3VwRGlyZWN0aXZlOiBGb3JtR3JvdXBEaXJlY3RpdmU7XG5cbiAgLy8gRGF0YSBjb250ZXh0IGZvciByb3dzLlxuICBASW5wdXQoKVxuICByb3dzOiBhbnlbXTtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWUgPSBudWxsIGFzIHN0cmluZztcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIGFkZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7IC8vIFJldHVybnMgdGhlIGluZGV4IHRvIGJlIHJlbW92ZWRcblxuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbiB8ICcnID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYWRkRGlzYWJsZWQ6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFjdGlvbkNvbHVtbkRpdmlkZXI6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNob3daZXJvU3RhdGUgPSB0cnVlO1xuXG4gIGdldCBmb3JtRGlyZWN0aXZlKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmluamVjdG9yLmdldChGb3JtR3JvdXBEaXJlY3RpdmUsIG51bGwpIHx8XG4gICAgICB0aGlzLmluamVjdG9yLmdldChOZ0Zvcm0sIG51bGwpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDoh6rlrprkuYnmmK/lkKblsZXnpLrplJnor6/lhoXlrrlcbiAgICog5L6L5aaCIGNvbnRyb2wg5pivIEZvcm1Hcm91cO+8jOWPquacieWcqOWGhemDqOWtkCBjb250cm9sIOmUmeivr+aXtuaJjemcgOimgeWxleekuumUmeivr+WGheWuuVxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvd1Jvd0Vycm9yPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w+KFxuICAgIGNvbnRyb2w6IFQsXG4gICAgZm9ybURpcmVjdGl2ZT86IE5nRm9ybSB8IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKGZvcm1EaXJlY3RpdmUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNvbnRyb2wuaW52YWxpZCAmJlxuICAgICAgICAoZm9ybURpcmVjdGl2ZS5zdWJtaXR0ZWQgfHwgX2lzRm9ybUNvbnRyb2xJbnZhbGlkKGNvbnRyb2wpKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBzaG93Um93RXJyb3J9IGluc3RlYWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHJvd0JhY2tncm91bmRDb2xvckZuPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w+KFxuICAgIGNvbnRyb2w6IFQsXG4gICAgZm9ybURpcmVjdGl2ZT86IE5nRm9ybSB8IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zaG93Um93RXJyb3IoY29udHJvbCwgZm9ybURpcmVjdGl2ZSlcbiAgICAgID8gQVJSQVlfVEFCTEVfRk9STV9FUlJPUl9CR1xuICAgICAgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgbWluUm93ID0gMDtcblxuICBASW5wdXQoKVxuICBtaW5Sb3dUb29sdGlwID0gJyc7XG5cbiAgQElucHV0KClcbiAgbWF4Um93ID0gSW5maW5pdHk7XG5cbiAgQElucHV0KClcbiAgbWF4Um93VG9vbHRpcCA9ICcnO1xuXG4gIEBJbnB1dCgpIGVuYWJsZURyb3AgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcm93RHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2RrRHJhZ0Ryb3A8Rm9ybUdyb3VwW10+PigpO1xuXG4gIGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY2RyID0gdGhpcy5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxGb3JtR3JvdXBbXT4pIHtcbiAgICB0aGlzLnJvd0Ryb3AuZW1pdChldmVudCk7XG4gIH1cblxuICBzaG91bGRTaG93Um93RXJyb3IgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgY29uc3QgeyBzdGF0dXNDaGFuZ2VzID0gRU1QVFksIHN0YXR1cyB9ID0gY29udHJvbDtcblxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmZvcm1EaXJlY3RpdmVcbiAgICAgICAgPyBtZXJnZShzdGF0dXNDaGFuZ2VzLCB0aGlzLmZvcm1EaXJlY3RpdmUubmdTdWJtaXQpXG4gICAgICAgIDogc3RhdHVzQ2hhbmdlc1xuICAgICkucGlwZShcbiAgICAgIHN0YXJ0V2l0aChzdGF0dXMpLFxuICAgICAgZGVib3VuY2VUaW1lKDApLFxuICAgICAgbWFwKCgpID0+IHRoaXMuc2hvd1Jvd0Vycm9yKGNvbnRyb2wsIHRoaXMuZm9ybURpcmVjdGl2ZSkpLFxuICAgICk7XG4gIH07XG59XG4iLCI8dGFibGVcbiAgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZVwiXG4gIFtjbGFzcy5hY2wtYXJyYXktZm9ybS10YWJsZV9fcmVhZG9ubHktbW9kZV09XCJyZWFkb25seVwiXG4+XG4gIDx0aGVhZCAqbmdJZj1cImhlYWRlclRlbXBsYXRlXCI+XG4gICAgPHRyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8dGhcbiAgICAgICAgKm5nSWY9XCIhcmVhZG9ubHkgJiYgbWluUm93ICE9PSBtYXhSb3dcIlxuICAgICAgICBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlX19hY3Rpb24tY29sXCJcbiAgICAgID48L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keVxuICAgIGNka0Ryb3BMaXN0XG4gICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3M7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICA8dHJcbiAgICAgICAgKm5nRm9yPVwibGV0IHJvd1RlbXBsYXRlIG9mIHJvd1RlbXBsYXRlczsgbGV0IHRlbXBsYXRlSW5kZXggPSBpbmRleFwiXG4gICAgICAgIGNka0RyYWdcbiAgICAgICAgW2NsYXNzLmFjbC1hcnJheS1mb3JtLXRhYmxlX19yb3ctZXJyb3JdPVwiXG4gICAgICAgICAgcm93IHwgcHVyZTogc2hvdWxkU2hvd1Jvd0Vycm9yIHwgYXN5bmNcbiAgICAgICAgXCJcbiAgICAgICAgW2F0dHIucm93dGVtcGxhdGVpbmRleF09XCJ0ZW1wbGF0ZUluZGV4XCJcbiAgICAgID5cbiAgICAgICAgPHRkIFtoaWRkZW5dPVwiIWVuYWJsZURyb3BcIj5cbiAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwidHctbWwtOFwiXG4gICAgICAgICAgICBpY29uPVwibW92ZVwiXG4gICAgICAgICAgICBjZGtEcmFnSGFuZGxlXG4gICAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgcm93VGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogcm93LCBpbmRleDogaW5kZXggfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHRkXG4gICAgICAgICAgKm5nSWY9XCJ0ZW1wbGF0ZUluZGV4ID09PSAwICYmICFyZWFkb25seSAmJiBtaW5Sb3cgIT09IG1heFJvd1wiXG4gICAgICAgICAgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZV9fYWN0aW9uLWNvbFwiXG4gICAgICAgICAgW2NsYXNzLmFjbC1hcnJheS1mb3JtLXRhYmxlX19hY3Rpb24tY29sLWRpdmlkZXJdPVwiYWN0aW9uQ29sdW1uRGl2aWRlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93Q29udHJvbFRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgcm93Q29udHJvbFRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb3csIGluZGV4OiBpbmRleCB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgW2F1aVRvb2x0aXBdPVwibWluUm93VG9vbHRpcFwiXG4gICAgICAgICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cInJvd3M/Lmxlbmd0aCA+IG1pblJvdyB8fCAhbWluUm93VG9vbHRpcFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cIiFyb3dDb250cm9sVGVtcGxhdGVcIlxuICAgICAgICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicm93cz8ubGVuZ3RoIDw9IG1pblJvd1wiXG4gICAgICAgICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtwbGFpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZS5lbWl0KGluZGV4KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxhdWktaWNvbiBpY29uPVwibWludXNfY2lyY2xlXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cblxuICAgICAgPHRyXG4gICAgICAgICpuZ0lmPVwicm93RXJyb3JUZW1wbGF0ZSAmJiAhcmVhZG9ubHlcIlxuICAgICAgICBbY2xhc3MuYWNsLWFycmF5LWZvcm0tdGFibGVfX3Jvdy1lcnJvcl09XCJcbiAgICAgICAgICByb3cgfCBwdXJlOiBzaG91bGRTaG93Um93RXJyb3IgfCBhc3luY1xuICAgICAgICBcIlxuICAgICAgICBbaGlkZGVuXT1cIiEocm93IHwgcHVyZTogc2hvdWxkU2hvd1Jvd0Vycm9yIHwgYXN5bmMpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICByb3dFcnJvclRlbXBsYXRlO1xuICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IHJvdywgaW5kZXg6IGluZGV4IH1cbiAgICAgICAgICBcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIChyb3dTZXBhcmF0b3IgfHwgc2VwYXJhdG9yVGVtcGxhdGUpICYmXG4gICAgICAgICAgcm93cz8ubGVuZ3RoID4gMSAmJlxuICAgICAgICAgIGluZGV4ICE9PSByb3dzPy5sZW5ndGggLSAxXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDx0ciBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlX19zZXBhcmF0b3JcIj5cbiAgICAgICAgICA8dGQgY29sc3Bhbj1cIjEwMFwiPlxuICAgICAgICAgICAgQGlmIChzZXBhcmF0b3JUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZXBhcmF0b3JUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHctaC1bOHB4XVwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciAqbmdJZj1cIighcm93cyB8fCByb3dzLmxlbmd0aCA9PT0gMCkgJiYgc2hvd1plcm9TdGF0ZVwiPlxuICAgICAgPHRkXG4gICAgICAgIGNvbHNwYW49XCIxMDBcIlxuICAgICAgICBzdHlsZT1cInBhZGRpbmc6IHVuc2V0XCJcbiAgICAgID5cbiAgICAgICAgPGFjbC16ZXJvLXN0YXRlXG4gICAgICAgICAgKm5nSWY9XCIhemVyb1N0YXRlVGVtcGxhdGVcIlxuICAgICAgICAgIFt6ZXJvU3RhdGVdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Jlc291cmNlTmFtZV09XCJyZXNvdXJjZU5hbWVcIlxuICAgICAgICAgIFtyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXT1cInJlc291cmNlTmFtZVRyYW5zbGF0ZWRcIlxuICAgICAgICAgIFttaW5IZWlnaHRdPVwiNDhcIlxuICAgICAgICA+PC9hY2wtemVyby1zdGF0ZT5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiemVyb1N0YXRlVGVtcGxhdGVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiemVyb1N0YXRlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG5cbiAgICA8dHJcbiAgICAgICpuZ0lmPVwiIXJlYWRvbmx5ICYmIG1pblJvdyAhPT0gbWF4Um93XCJcbiAgICAgIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGUtLXJvdy1hY3Rpb25cIlxuICAgID5cbiAgICAgIDx0ZCBjb2xzcGFuPVwiMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2wtYXJyYXktZm9ybS10YWJsZV9fYm90dG9tLWNvbnRyb2wtYnV0dG9uc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmb290ZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCIhZm9vdGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1mbGV4IHR3LXctZnVsbFwiXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJtYXhSb3dUb29sdGlwXCJcbiAgICAgICAgICAgIFthdWlUb29sdGlwRGlzYWJsZWRdPVwicm93cz8ubGVuZ3RoIDwgbWF4Um93IHx8ICFtYXhSb3dUb29sdGlwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGF1aS1idXR0b249XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFtwbGFpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1pbmlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkLmVtaXQoKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyb3dzPy5sZW5ndGggPj0gbWF4Um93IHx8IGFkZERpc2FibGVkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF1aS1pY29uIGljb249XCJwbHVzX2NpcmNsZVwiPjwvYXVpLWljb24+XG4gICAgICAgICAgICAgIHt7ICdhZGQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export function isLocalDev() {
|
|
2
|
-
return
|
|
3
|
-
localStorage.getItem('__local_dev__') !== 'false');
|
|
2
|
+
return location.hostname === 'localhost';
|
|
4
3
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9kZXYtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsVUFBVTtJQUN4QixPQUFPLFFBQVEsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNMb2NhbERldigpIHtcbiAgcmV0dXJuIGxvY2F0aW9uLmhvc3RuYW1lID09PSAnbG9jYWxob3N0Jztcbn1cbiJdfQ==
|
|
@@ -438,6 +438,16 @@ export class TerminalComponent {
|
|
|
438
438
|
this.connectionStatusChange.emit(status);
|
|
439
439
|
this.cdr.markForCheck();
|
|
440
440
|
}
|
|
441
|
+
activateTerminal() {
|
|
442
|
+
if (this.socket && this.connectionStatus === ConnectionStatus.Connected) {
|
|
443
|
+
setTimeout(() => {
|
|
444
|
+
this.socket.send('0' + encode(' '));
|
|
445
|
+
setTimeout(() => {
|
|
446
|
+
this.socket.send('0' + encode('\b'));
|
|
447
|
+
}, 100);
|
|
448
|
+
}, 100);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
441
451
|
static { this.ɵfac = function TerminalComponent_Factory(t) { return new (t || TerminalComponent)(i0.ɵɵdirectiveInject(i1.ApiGatewayService), i0.ɵɵdirectiveInject(i2.NotificationService), i0.ɵɵdirectiveInject(i3.TranslateService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i4.K8sPermissionService), i0.ɵɵdirectiveInject(TOKEN_GLOBAL_NAMESPACE)); }; }
|
|
442
452
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TerminalComponent, selectors: [["acl-terminal"]], viewQuery: function TerminalComponent_Query(rf, ctx) { if (rf & 1) {
|
|
443
453
|
i0.ɵɵviewQuery(_c0, 5);
|
|
@@ -565,4 +575,4 @@ function decode(coding, data) {
|
|
|
565
575
|
const decoder = new TextDecoder(coding);
|
|
566
576
|
return decoder.decode(dataView);
|
|
567
577
|
}
|
|
568
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixjQUFjLEdBQ2YsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixpQkFBaUIsR0FDbEIsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7SUN4Q3BCLEFBSkYsNENBR0MsV0FDTztJQUFBLFlBQXlDOztJQUFBLGlCQUFPO0lBQ3RELGtDQUdDO0lBREMsMExBQVMsa0JBQVcsS0FBQztJQUVyQixZQUNGOztJQUNGLEFBREUsaUJBQVMsRUFDUTs7SUFQWCxlQUF5QztJQUF6QyxtRUFBeUM7SUFLN0MsZUFDRjtJQURFLGtFQUNGOzs7SUFJQSwrQ0FJNEI7OztJQXlEdEIsd0JBRWdCOzs7O0lBY2QsQUFKRiwrQkFHQyx3QkFNRTtJQUZDLGlUQUEyQjtJQUMzQiw0TEFBVyxtQ0FBNEIsS0FBQztJQUN6QyxpQkFBYTtJQUNkLGtDQU9DOztJQURDLDhLQUFTLHFCQUFjLEtBQUM7SUFFeEIsK0JBR1k7SUFDZCxpQkFBUztJQUNULGtDQU9DOztJQURDLDhLQUFTLGlCQUFVLEtBQUM7SUFFcEIsK0JBR1k7SUFDZCxpQkFBUztJQUNULGtDQU9DOztJQURDLDhLQUFTLHVCQUFnQixLQUFDO0lBRTFCLGdDQUFrQztJQUV0QyxBQURFLGlCQUFTLEVBQ0w7OztJQXZDRixjQUEyQjtJQUEzQixvREFBMkI7SUFNM0IsZUFBZTtJQUVmLEFBREEsQUFEQSw2QkFBZSxlQUNELHNFQUM4QztJQVc1RCxlQUFlO0lBRWYsQUFEQSxBQURBLDZCQUFlLGVBQ0QsMERBQ2tDO0lBV2hELGVBQWU7SUFFZixBQURBLEFBREEsNkJBQWUsZUFDRCx3REFDK0I7OztJQVV2RCx3QkFTZ0I7Ozs7SUFLYixBQURGLG9DQUNFLHdCQUdFO0lBREQsNk1BQWtCLE1BQU0sS0FBQztJQUN4QixzQkFDSDtJQUFBLGlCQUFnQjtJQUNoQix5Q0FHRztJQURELDZNQUFrQixTQUFTLEtBQUM7SUFDM0IseUJBQ0g7SUFDRixBQURFLGlCQUFnQixFQUNQOzs7SUFUUCxjQUE2QjtJQUE3QixrREFBNkI7SUFLN0IsZUFBZ0M7SUFBaEMscURBQWdDOzs7O0lBUXBDLDRDQVNDO0lBREMsa05BQWUsNkJBQXNCLEtBQUM7SUFFdEMsZ0NBQXlCO0lBQUEsa0JBQUU7SUFDN0IsQUFENkIsaUJBQU8sRUFDakI7OztJQUpqQixBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSx3QkFBVSxnQkFDSyxXQUNMLFdBQ0Esa0JBQ08sdUJBQ0ssMEJBQ0o7O0FEOUh0QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDO0FBRWhDLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLCtEQUErRCxDQUFDO0FBQzlHLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLHlFQUF5RSxDQUFDO0FBQ3BILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztBQUV6QyxNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxPQUFPLElBQUksV0FBVyxFQUFFLENBQUM7QUFDM0IsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQU9ILE1BQU0sT0FBTyxpQkFBaUI7SUFrQzVCLFlBQVksQ0FBQyxLQUF3QjtRQUNuQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUdELE1BQU0sQ0FBQyxNQUF5QjtRQUM5QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQTJCRCxJQUFJLFVBQVU7UUFDWixPQUFPLENBQ0wseUJBQXlCO1lBQ3pCLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPO2dCQUNyQixDQUFDLENBQUMsK0JBQStCO2dCQUNqQyxDQUFDLENBQUMsOEJBQThCLENBQUMsQ0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQ0wsSUFBSSxDQUFDLGdCQUFnQixLQUFLLGdCQUFnQixDQUFDLFVBQVU7WUFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCO2dCQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQzNELENBQUM7SUFDSixDQUFDO0lBRUQsWUFDbUIsVUFBNkIsRUFDN0IsWUFBaUMsRUFDakMsU0FBMkIsRUFDM0IsR0FBc0IsRUFDdEIsYUFBbUMsRUFDSCxlQUF1QjtRQUx2RCxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ0gsb0JBQWUsR0FBZixlQUFlLENBQVE7UUEzRjFFLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBZTNCLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRzlELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3RDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUc1QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFtQnBELFVBQUssR0FDSCxZQUFZLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLEtBQUssT0FBTztZQUNoRSxDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFYixhQUFRLEdBQ04sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDO1lBQ3RELHFCQUFxQixDQUFDLFFBQVEsQ0FBQztRQUVqQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIscUJBQWdCLEdBQXFCLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztRQUNqRSxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQVF0QixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWEsQ0FBQztRQUVwQywwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUF1T2Isd0JBQW1CLEdBQUcsQ0FBQyxjQUFzQixFQUFFLEVBQUU7WUFDaEUsSUFBSSxTQUFrQixDQUFDO1lBRXZCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDeEMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDakIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO29CQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQTJCLEVBQUUsRUFBRTtnQkFDdEUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25CLENBQUM7Z0JBQ0QsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDZCxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUVsQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO3dCQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNyQixDQUFDO3lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQzt3QkFDekQsbUNBQW1DO3dCQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDcEMsQ0FBQztnQkFDSCxDQUFDO2dCQUVELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2QixJQUNFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO29CQUM1QyxDQUFDLElBQUksQ0FBQyxhQUFhO29CQUNuQixjQUFjLEtBQUssTUFBTSxFQUN6QixDQUFDO29CQUNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7Z0JBQ3BDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUN4QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxzQkFBc0IsQ0FDekIsQ0FBQyxDQUFDLElBQUksS0FBSyxrQkFBa0I7b0JBQzNCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZO29CQUMvQixDQUFDLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUNsQyxDQUFDO2dCQUNGLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7b0JBQy9CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRWUseUJBQW9CLEdBQUcsQ0FBQyxlQUF3QixFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLHNCQUFzQixDQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FDekUsQ0FBQztZQUVGLEVBQUUsQ0FBQyxJQUFJLENBQUM7aUJBQ0wsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ3JELElBQUksbUJBQW1CLEtBQUssU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNqRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO3dCQUNsQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFlBQVk7d0JBQ2pDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZTt3QkFDL0IsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU07d0JBQ2hDLElBQUksRUFBRSxPQUFPO3FCQUNkLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDVixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM3RCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNQLDhCQUE4QjtZQUM5QixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FDakQ7aUJBQ0EsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN0QixNQUFNLGNBQWMsR0FBRyxlQUFlLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDO2dCQUN4RSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFFNUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO0lBdlNDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFBaUI7UUFDbkMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3ZELFlBQVksQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDdEIsSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFcEIsWUFBWSxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM5RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQW9CO1FBQ3ZDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDO1lBQ0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1FBQzVFLE9BQU87WUFDTCxXQUFXLEVBQUU7Z0JBQ1gsZUFBZSxFQUFFLEtBQUssQ0FBQywyQkFBMkI7Z0JBQ2xELGtCQUFrQixFQUFFLEtBQUssQ0FBQywyQkFBMkI7Z0JBQ3JELHFCQUFxQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7Z0JBQ2hELDZCQUE2QixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7YUFDekQ7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDO1lBQ3hCLEdBQUcscUJBQXFCO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtZQUNwRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuRCxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFFaEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQ3ZDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNuQixJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FDUixDQUFDO1FBRUYsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXJELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVPLFVBQVUsQ0FBQyxjQUFzQixFQUFFLFVBQWtCO1FBQzNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsQ0FBQztRQUVELE1BQU0sRUFDSixPQUFPLEVBQ1AsU0FBUyxFQUNULEdBQUcsRUFDSCxTQUFTLEVBQ1QsSUFBSSxHQUFHLE1BQU0sRUFDYixHQUFHLEVBQ0gsVUFBVSxHQUNYLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVoQixNQUFNLE9BQU8sR0FBRyxHQUFHO1lBQ2pCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTTtnQkFDZixDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxJQUFJLFFBQVEsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUUzRCxNQUFNLEdBQUcsR0FBRyxVQUFVO1lBQ3BCLENBQUMsQ0FBQyxvQkFBb0I7WUFDdEIsQ0FBQyxDQUFDLGVBQWUsT0FBTyxzQkFBc0IsU0FBUyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBRTdFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQ3pCLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUMvQixHQUFHLEdBQUcsSUFBSSxJQUFJLFVBQVUsQ0FBQztnQkFDdkIsVUFBVSxFQUFFO29CQUNWLEtBQUssRUFBRSxJQUFJO29CQUNYLE1BQU0sRUFBRSxJQUFJO29CQUNaLE1BQU0sRUFBRSxJQUFJO29CQUNaLEdBQUcsRUFBRSxJQUFJO29CQUNULFNBQVM7b0JBQ1QsT0FBTztpQkFDUjthQUNGLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUNqQixDQUFDLHVCQUF1QixDQUFDLENBQzFCLENBQUM7SUFDSixDQUFDO0lBOEZPLGVBQWU7UUFDckIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQ3ZELENBQUM7SUFDSixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUNFLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUN0QixFQUNELENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDM0QsQ0FBQztRQUVELGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELCtIQUErSDtJQUN2SCxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQ2YsSUFBSSxNQUFNLENBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUNwRSxFQUFFLENBQ0osQ0FBQztRQUNKLENBQUM7UUFBQyxNQUFNLENBQUMsQ0FBQSxDQUFDO0lBQ1osQ0FBQztJQUVPLHNCQUFzQixDQUFDLE1BQXdCO1FBQ3JELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7a0ZBN2FVLGlCQUFpQix1UEE0RmxCLHNCQUFzQjtvRUE1RnJCLGlCQUFpQjs7Ozs7Ozs7WUFBakIsMEdBQUEsd0JBQW9CLCtCQUFILGlGQUFqQixrQkFBYywrQkFBRzs7O1lDN0U5Qiw0RkFHQztZQVVELDhCQUFtQztZQUNqQyw0R0FJQztZQUNELHNDQUE2RDtZQWlCckQsQUFMRixBQURGLEFBREYsQUFURiw4QkFRQyxhQUNxRSxjQUNoQyxjQUsvQixXQUVJO1lBQUEsWUFPMkI7O1lBQUEsaUJBQzdCO1lBQ0QsZ0NBQXVDO1lBQ3pDLGlCQUFNO1lBQ04sZ0NBT0M7WUFDQyxnQ0FBaUM7WUFDakMsNkJBQU07WUFBQSxhQUFnQzs7WUFDeEMsQUFEd0MsaUJBQU8sRUFDekM7WUFDTixnQ0FHQztZQURDLGtJQUFTLG1CQUFlLEtBQUM7WUFFekIsZ0NBQXNDO1lBQ3RDLDZCQUFNO1lBQUEsYUFBd0I7O1lBQ2hDLEFBRGdDLGlCQUFPLEVBQ2pDO1lBQ04sZ0NBR0M7WUFEQyxrSUFBUyxpQkFBYSxLQUFDO1lBRXZCLGdDQUFpRTtZQUNqRSw2QkFBTTtZQUFBLGFBRUo7O1lBQ0osQUFESSxpQkFBTyxFQUNMO1lBQ04sdUZBRUM7WUFDSCxpQkFBTTtZQUNOLGdDQUdDO1lBREMsNElBQVcsMEJBQXNCLEtBQUM7WUFFbEMsOEJBR087WUFDUCx1RUFHQztZQThDUCxBQURFLEFBREUsaUJBQU0sRUFDRixFQUNGO1lBRU4sdUZBU0M7O1lBQ0gsaUJBQU07WUFpQk4sQUFmQSxxSEFDRyx3R0Fjd0I7Ozs7WUFwS3hCLGlGQUF3RDtZQWV0RCxlQUF3RDtZQUF4RCxpRkFBd0Q7WUFHekMsY0FBdUI7WUFBdkIseUNBQXVCO1lBT3ZDLGNBQTZDO1lBQzdDLEFBREEsMERBQTZDLDhDQUNFO1lBTC9DLHFJQUdFO1lBUUksZUFBMEI7WUFDMUIsQUFEQSwyQ0FBMEIsb0NBQ0s7WUFHNUIsZUFPMkI7WUFQM0IsMEtBTzJCO1lBTTlCLGVBQTJCO1lBSTNCLEFBSkEsNENBQTJCLG1DQUlHO1lBR3hCLGVBQWdDO1lBQWhDLDREQUFnQztZQU9oQyxlQUF3QjtZQUF4QixvREFBd0I7WUFNcEIsZUFBMkM7WUFBM0MsNkRBQTJDO1lBQy9DLGVBRUo7WUFGSSxrR0FFSjtZQUdELGVBQStCO1lBQUEsQUFBL0Isa0RBQStCLG1FQUF5QjtZQVl4RCxlQUFlO1lBQWYsb0NBQWU7WUFtRHJCLGNBRVE7WUFBQSxBQUZSLG1EQUVRLHFIQU1iOzs7aUZEdEVhLGlCQUFpQjtjQU43QixTQUFTOzJCQUNFLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTTs7c0JBOEY1QyxNQUFNO3VCQUFDLHNCQUFzQjtxQkF4RmhDLE1BQU07a0JBREwsS0FBSztZQUlOLEtBQUs7a0JBREosS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLFlBQVk7a0JBRFgsS0FBSztZQUlHLHNCQUFzQjtrQkFEOUIsTUFBTTtZQUlFLFFBQVE7a0JBRGhCLE1BQU07WUFJRSxXQUFXO2tCQURuQixNQUFNO1lBSUUsYUFBYTtrQkFEckIsTUFBTTtZQUlQLFNBQVM7a0JBRFIsU0FBUzttQkFBQyxRQUFRO1lBSW5CLGNBQWM7a0JBRGIsU0FBUzttQkFBQyxhQUFhO1lBSXhCLFlBQVk7a0JBRFgsWUFBWTttQkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQU8vQyxNQUFNO2tCQURMLFlBQVk7bUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztrRkF2QzlCLGlCQUFpQjtBQWdiOUIsU0FBUyxNQUFNLENBQUMsTUFBYyxFQUFFLElBQVk7SUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDMUQsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSwgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZW5jb2RlIH0gZnJvbSAnYWI2NCc7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICd4dGVybSc7XG5pbXBvcnQgeyBDYW52YXNBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLWNhbnZhcyc7XG5pbXBvcnQgeyBGaXRBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLWZpdCc7XG5pbXBvcnQgeyBTZWFyY2hBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLXNlYXJjaCc7XG5pbXBvcnQgeyBXZWJMaW5rc0FkZG9uIH0gZnJvbSAneHRlcm0tYWRkb24td2ViLWxpbmtzJztcbmltcG9ydCB7IFdlYmdsQWRkb24gfSBmcm9tICd4dGVybS1hZGRvbi13ZWJnbCc7XG5cbmltcG9ydCB7IEFwaUdhdGV3YXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgSzhzUmVzb3VyY2VBY3Rpb24sXG4gIFRPS0VOX0dMT0JBTF9OQU1FU1BBQ0UsXG4gIFJFU09VUkNFX1RZUEVTLFxufSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgSzhzUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wZXJtaXNzaW9uL2s4cy1wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25TdGF0dXMsXG4gIFRFUk1JTkFMX0ZPTlRfTE9DQUxfU1RPUkFHRV9LRVksXG4gIFRFUk1JTkFMX1RIRU1FX0xPQ0FMX1NUT1JBR0VfS0VZLFxuICBYVEVSTV9EQVJLX1RIRU1FLFxuICBYVEVSTV9ERUZBVUxUX09QVElPTlMsXG4gIFhURVJNX0xJR0hUX1RIRU1FLFxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGVybWluYWxPcHRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBCSU5fU0ggPSAnL2Jpbi9zaCc7XG5cbmV4cG9ydCBjb25zdCBFWEVDX0ZBSUxFRF9NRVNTQUdFX0NPTlRBSU5FUkQgPSBgSW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQ6IGVycm9yIGV4ZWN1dGluZyBjb21tYW5kIGluIGNvbnRhaW5lcmA7XG5leHBvcnQgY29uc3QgRVhFQ19GQUlMRURfTUVTU0FHRV9ET0NLRVIgPSBgT0NJIHJ1bnRpbWUgZXhlYyBmYWlsZWQ6IGV4ZWMgZmFpbGVkOiB1bmFibGUgdG8gc3RhcnQgY29udGFpbmVyIHByb2Nlc3NgO1xuZXhwb3J0IGNvbnN0IE5PX1BFUk1JU1NJT05fQ09ERSA9IDQwXzAwMTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRSZW5kZXJlckFkZG9uKCkge1xuICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgaWYgKGNhbnZhcy5nZXRDb250ZXh0KCd3ZWJnbDInKSkge1xuICAgIHJldHVybiBuZXcgV2ViZ2xBZGRvbigpO1xuICB9XG4gIHJldHVybiBuZXcgQ2FudmFzQWRkb24oKTtcbn1cblxuLyoqXG4gKiBGb3IgZGlzcGF0Y2hpbmcga2V5Ym9hcmQgZXZlbnRzIGF1dG9tYXRpY2FsbHkgdG8geHRlcm0sXG4gKiBwbGVhc2UgdmlldyBodHRwczovL3d3dy5waHlzaWNzLnVkZWwuZWR1L353YXRzb24vc2NlbjEwMy9hc2NpaS5odG1sIGZvciByZWZlcmVuY2UuXG4gKlxuICogRm9yIGluc3RhbmNlLCBpZiB5b3Ugd2FudCB0byBkaXNwYXRjaCBgQ3RybCtDYCB0byB4dGVybSwgeW91IHNob3VsZCBkaXNwYXRjaCBgXFx4MDNgKGFrYSBgXFx1MDAwM2ApIHRvIHRoZSBzb2NrZXQuXG4gKlxuICogYGBgdHNcbiAqIHNvY2tldC5zZW5kKCcwJyArIGVuY29kZSgnXFx1MDAwMycpKVxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC10ZXJtaW5hbCcsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQge1xuICBDb25uZWN0aW9uU3RhdHVzID0gQ29ubmVjdGlvblN0YXR1cztcblxuICBASW5wdXQoKVxuICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIGluZGV4OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgZXh0cmFCdXR0b246IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIGV4dHJhQ29udGVudDogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25TdGF0dXM+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNlbmREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNvY2tldFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxXZWJTb2NrZXQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZhbGxiYWNrU2hlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAVmlld0NoaWxkKCdhbmNob3InKVxuICBhbmNob3JSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JylcbiAgc2VhcmNoSW5wdXRSZWY6IFNlYXJjaENvbXBvbmVudDtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6YmVmb3JldW5sb2FkJywgWyckZXZlbnQnXSlcbiAgYmVmb3JlVW5sb2FkKGV2ZW50OiBCZWZvcmVVbmxvYWRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQucmV0dXJuVmFsdWUgPSAnJztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp1bmxvYWQnLCBbJyRldmVudCddKVxuICB1bmxvYWQoX2V2ZW50OiBCZWZvcmVVbmxvYWRFdmVudCkge1xuICAgIHRoaXMua2lsbFByb2Nlc3MoKTtcbiAgfVxuXG4gIHRoZW1lOiAnbGlnaHQnIHwgJ2RhcmsnID1cbiAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShURVJNSU5BTF9USEVNRV9MT0NBTF9TVE9SQUdFX0tFWSkgPT09ICdsaWdodCdcbiAgICAgID8gJ2xpZ2h0J1xuICAgICAgOiAnZGFyayc7XG5cbiAgZm9udFNpemU6IG51bWJlciA9XG4gICAgK2xvY2FsU3RvcmFnZS5nZXRJdGVtKFRFUk1JTkFMX0ZPTlRfTE9DQUxfU1RPUkFHRV9LRVkpIHx8XG4gICAgWFRFUk1fREVGQVVMVF9PUFRJT05TLmZvbnRTaXplO1xuXG4gIHNlYXJjaGluZyA9IGZhbHNlO1xuICBzZWFyY2hLZXl3b3JkID0gJyc7XG4gIGNvZGluZyA9ICd1dGY4JztcbiAgY29ubmVjdGlvblN0YXR1czogQ29ubmVjdGlvblN0YXR1cyA9IENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZztcbiAgY29tbWFuZEhhc1J1biA9IGZhbHNlO1xuXG4gIHh0ZXJtOiBUZXJtaW5hbDtcbiAgcHJpdmF0ZSBzZWFyY2hBZGRvbjogU2VhcmNoQWRkb247XG4gIHByaXZhdGUgZml0QWRkb246IEZpdEFkZG9uO1xuICBwcml2YXRlIHNvY2tldDogV2ViU29ja2V0O1xuICBwcml2YXRlIHBpbmc6IG51bWJlcjtcblxuICBzb2NrZXQkJCA9IG5ldyBTdWJqZWN0PFdlYlNvY2tldD4oKTtcblxuICBzaG91bGRGYWxsQmFja09uQ2xvc2UgPSBmYWxzZTtcblxuICBnZXQgdGhlbWVDbGFzcygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgJ2FjbC10ZXJtaW5hbF9fZHJvcGRvd24gJyArXG4gICAgICAodGhpcy50aGVtZSA9PT0gJ2xpZ2h0J1xuICAgICAgICA/ICdhY2wtdGVybWluYWxfX2Ryb3Bkb3duLS1saWdodCdcbiAgICAgICAgOiAnYWNsLXRlcm1pbmFsX19kcm9wZG93bi0tZGFyaycpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzaG93TG9hZGluZygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcgfHxcbiAgICAgICghdGhpcy5vcHRpb24ubm90Q2xlYXJXaGVuUmVjb25uZWN0ICYmXG4gICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyA9PT0gQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmcpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpR2F0ZXdheTogQXBpR2F0ZXdheVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzUGVybWlzc2lvbjogSzhzUGVybWlzc2lvblNlcnZpY2UsXG4gICAgQEluamVjdChUT0tFTl9HTE9CQUxfTkFNRVNQQUNFKSBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbE5hbWVzcGFjZTogc3RyaW5nLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0U29ja2V0Q29ubmVjdGlvbigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyBvcHRpb24gfTogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLnh0ZXJtICYmIG9wdGlvbikge1xuICAgICAgdGhpcy5yZWNvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsb3NlU29ja2V0KCk7XG4gICAgdGhpcy54dGVybT8uZGlzcG9zZSgpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy54dGVybT8uZm9jdXMoKTtcbiAgfVxuXG4gIHJlY29ubmVjdCgpIHtcbiAgICB0aGlzLmNvbW1hbmRIYXNSdW4gPSBmYWxzZTtcbiAgICB0aGlzLmNsb3NlU29ja2V0KCk7XG4gICAgdGhpcy5pbml0U29ja2V0Q29ubmVjdGlvbigpO1xuICB9XG5cbiAga2lsbFByb2Nlc3MoKSB7XG4gICAgaWYgKHRoaXMuc29ja2V0KSB7XG4gICAgICB0aGlzLnNvY2tldC5zZW5kKCcwJyArIGVuY29kZSgnXFx1MDAwM1xcclxcbicpKTtcbiAgICAgIHRoaXMuc29ja2V0LnNlbmQoJzAnICsgZW5jb2RlKCdleGl0XFxyXFxuJykpO1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaFRoZW1lKCkge1xuICAgIHRoaXMudGhlbWUgPSB0aGlzLnRoZW1lID09PSAnbGlnaHQnID8gJ2RhcmsnIDogJ2xpZ2h0JztcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShURVJNSU5BTF9USEVNRV9MT0NBTF9TVE9SQUdFX0tFWSwgdGhpcy50aGVtZSk7XG4gICAgdGhpcy54dGVybS5vcHRpb25zLnRoZW1lID1cbiAgICAgIHRoaXMudGhlbWUgPT09ICdsaWdodCcgPyBYVEVSTV9MSUdIVF9USEVNRSA6IFhURVJNX0RBUktfVEhFTUU7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBmb250U2l6ZUNoYW5nZShzaXplOiBudW1iZXIpIHtcbiAgICB0aGlzLmZvbnRTaXplID0gc2l6ZTtcbiAgICB0aGlzLnh0ZXJtLm9wdGlvbnMuZm9udFNpemUgPSBzaXplO1xuICAgIHRoaXMuZml0QWRkb24uZml0KCk7XG5cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShURVJNSU5BTF9GT05UX0xPQ0FMX1NUT1JBR0VfS0VZLCBzaXplICsgJycpO1xuICB9XG5cbiAgb3BlblNlYXJjaGluZygpIHtcbiAgICB0aGlzLnNlYXJjaGluZyA9IHRydWU7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXRSZWYuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlU2VhcmNoaW5nKCkge1xuICAgIHRoaXMuc2VhcmNoaW5nID0gZmFsc2U7XG4gICAgdGhpcy5zZWFyY2hLZXl3b3JkID0gJyc7XG4gICAgdGhpcy5maW5kTmV4dCgpO1xuICAgIHRoaXMueHRlcm0/LmZvY3VzKCk7XG4gIH1cblxuICBvblNoZWxsS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICgoZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5KSAmJiBldmVudC5jb2RlID09PSAnS2V5RicpIHtcbiAgICAgIHRoaXMub3BlblNlYXJjaGluZygpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoSW5wdXRLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlU2VhcmNoaW5nKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgdGhpcy5maW5kUHJldmlvdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZmluZE5leHQoKTtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlYXJjaE9wdGlvbnMoKSB7XG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLnRoZW1lID09PSAnbGlnaHQnID8gWFRFUk1fTElHSFRfVEhFTUUgOiBYVEVSTV9EQVJLX1RIRU1FO1xuICAgIHJldHVybiB7XG4gICAgICBkZWNvcmF0aW9uczoge1xuICAgICAgICBtYXRjaEJhY2tncm91bmQ6IHRoZW1lLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZCxcbiAgICAgICAgbWF0Y2hPdmVydmlld1J1bGVyOiB0aGVtZS5zZWxlY3Rpb25JbmFjdGl2ZUJhY2tncm91bmQsXG4gICAgICAgIGFjdGl2ZU1hdGNoQmFja2dyb3VuZDogdGhlbWUuc2VsZWN0aW9uQmFja2dyb3VuZCxcbiAgICAgICAgYWN0aXZlTWF0Y2hDb2xvck92ZXJ2aWV3UnVsZXI6IHRoZW1lLnNlbGVjdGlvbkJhY2tncm91bmQsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBmaW5kTmV4dCgpIHtcbiAgICB0aGlzLnNlYXJjaEFkZG9uLmZpbmROZXh0KHRoaXMuc2VhcmNoS2V5d29yZCwgdGhpcy5nZXRTZWFyY2hPcHRpb25zKCkpO1xuICB9XG5cbiAgZmluZFByZXZpb3VzKCkge1xuICAgIHRoaXMuc2VhcmNoQWRkb24uZmluZFByZXZpb3VzKHRoaXMuc2VhcmNoS2V5d29yZCwgdGhpcy5nZXRTZWFyY2hPcHRpb25zKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0WHRlcm0oKSB7XG4gICAgdGhpcy54dGVybSA9IG5ldyBUZXJtaW5hbCh7XG4gICAgICAuLi5YVEVSTV9ERUZBVUxUX09QVElPTlMsXG4gICAgICB0aGVtZTogdGhpcy50aGVtZSA9PT0gJ2xpZ2h0JyA/IFhURVJNX0xJR0hUX1RIRU1FIDogWFRFUk1fREFSS19USEVNRSxcbiAgICAgIGZvbnRTaXplOiB0aGlzLmZvbnRTaXplLFxuICAgICAgYWxsb3dQcm9wb3NlZEFwaTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMueHRlcm0ubG9hZEFkZG9uKHRoaXMuaW5pdFNlYXJjaEFkZG9uKCkpO1xuICAgIHRoaXMuZml0QWRkb24gPSB0aGlzLmluaXRGaXRBZGRvbigpO1xuICAgIHRoaXMueHRlcm0ubG9hZEFkZG9uKHRoaXMuZml0QWRkb24pO1xuICAgIHRoaXMueHRlcm0ubG9hZEFkZG9uKG5ldyBXZWJMaW5rc0FkZG9uKCkpO1xuICAgIHRoaXMueHRlcm0ubG9hZEFkZG9uKGluaXRSZW5kZXJlckFkZG9uKCkpO1xuXG4gICAgdGhpcy54dGVybS5vcGVuKHRoaXMuYW5jaG9yUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLmZpdEFkZG9uLmZpdCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy54dGVybS5vbkRhdGEoKGRhdGE6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKHRoaXMuY29ubmVjdGlvblN0YXR1cyA9PT0gQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5jb21tYW5kSGFzUnVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zb2NrZXQuc2VuZCgnMCcgKyBlbmNvZGUoZGF0YSkpO1xuICAgICAgICB0aGlzLnNlbmREYXRhLmVtaXQoZGF0YSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy54dGVybS5vblNlbGVjdGlvbkNoYW5nZSgoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnh0ZXJtLmdldFNlbGVjdGlvbigpLnRyaW0oKTtcbiAgICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoc2VsZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZpdEFkZG9uKCkge1xuICAgIGNvbnN0IGZpdEFkZG9uID0gbmV3IEZpdEFkZG9uKCk7XG5cbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihcbiAgICAgIGRlYm91bmNlKChbZW50cnldKSA9PiB7XG4gICAgICAgIGlmIChlbnRyeS5jb250ZW50UmVjdC53aWR0aCAhPT0gMCkge1xuICAgICAgICAgIGZpdEFkZG9uLmZpdCgpO1xuICAgICAgICAgIHRoaXMucmVzaXplUmVtb3RlVGVybWluYWwoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMjAwKSxcbiAgICApO1xuXG4gICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmFuY2hvclJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgIHJldHVybiBmaXRBZGRvbjtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNlYXJjaEFkZG9uKCkge1xuICAgIHRoaXMuc2VhcmNoQWRkb24gPSBuZXcgU2VhcmNoQWRkb24oKTtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hBZGRvbjtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNvY2tldChpbml0aWFsQ29tbWFuZDogc3RyaW5nLCBhcGlBZGRyZXNzOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zb2NrZXQpIHtcbiAgICAgIHRoaXMuc29ja2V0LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgY29uc3Qge1xuICAgICAgY2x1c3RlcixcbiAgICAgIG5hbWVzcGFjZSxcbiAgICAgIHBvZCxcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIHVzZXIgPSAncm9vdCcsXG4gICAgICBjbWQsXG4gICAgICBhZHZhbmNlQXBpLFxuICAgIH0gPSB0aGlzLm9wdGlvbjtcblxuICAgIGNvbnN0IGNvbW1hbmQgPSBjbWRcbiAgICAgID8gWydzaCcsICctYycsIGNtZF1cbiAgICAgIDogdXNlciA9PT0gJ3Jvb3QnXG4gICAgICAgID8gaW5pdGlhbENvbW1hbmQuc3BsaXQoJyAnKVxuICAgICAgICA6IFsnc2gnLCAnLWMnLCBgc3UgLXAgJHt1c2VyfSAtYyBcIiR7aW5pdGlhbENvbW1hbmR9XCJgXTtcblxuICAgIGNvbnN0IGFwaSA9IGFkdmFuY2VBcGlcbiAgICAgID8gJy9hdXRoL3YxL3BvZC9zaGVsbCdcbiAgICAgIDogYC9rdWJlcm5ldGVzLyR7Y2x1c3Rlcn0vYXBpL3YxL25hbWVzcGFjZXMvJHtuYW1lc3BhY2V9L3BvZHMvJHtwb2R9L2V4ZWNgO1xuXG4gICAgdGhpcy5zb2NrZXQgPSBuZXcgV2ViU29ja2V0KFxuICAgICAgYXBpQWRkcmVzcy5yZXBsYWNlKC9eaHR0cC8sICd3cycpICtcbiAgICAgICAgYCR7YXBpfT8ke25ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgICBmcm9tT2JqZWN0OiB7XG4gICAgICAgICAgICBzdGRpbjogdHJ1ZSxcbiAgICAgICAgICAgIHN0ZG91dDogdHJ1ZSxcbiAgICAgICAgICAgIHN0ZGVycjogdHJ1ZSxcbiAgICAgICAgICAgIHR0eTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICAgIGNvbW1hbmQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkudG9TdHJpbmcoKX1gLFxuICAgICAgWydiYXNlNjQuY2hhbm5lbC5rOHMuaW8nXSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbml0U29ja2V0TGlzdGVuZXJzID0gKGluaXRpYWxDb21tYW5kOiBzdHJpbmcpID0+IHtcbiAgICBsZXQgbmVlZENsZWFyOiBib29sZWFuO1xuXG4gICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcignb3BlbicsICgpID0+IHtcbiAgICAgIG5lZWRDbGVhciA9IHRydWU7XG4gICAgICB0aGlzLnJlc2l6ZVJlbW90ZVRlcm1pbmFsKCk7XG4gICAgICB0aGlzLnNvY2tldFJlYWR5LmVtaXQodGhpcy5zb2NrZXQpO1xuICAgICAgdGhpcy5zb2NrZXQkJC5uZXh0KHRoaXMuc29ja2V0KTtcbiAgICAgIHRoaXMucGluZyA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc29ja2V0LnNlbmQoJzAnKTtcbiAgICAgIH0sIDUwMDApO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChldmVudDogTWVzc2FnZUV2ZW50PHN0cmluZz4pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ29ubmVjdGlvblN0YXR1cyhDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCk7XG4gICAgICBpZiAoIXRoaXMueHRlcm0pIHtcbiAgICAgICAgdGhpcy5pbml0WHRlcm0oKTtcbiAgICAgIH1cbiAgICAgIGlmIChuZWVkQ2xlYXIpIHtcbiAgICAgICAgbmVlZENsZWFyID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbi5ub3RDbGVhcldoZW5SZWNvbm5lY3QpIHtcbiAgICAgICAgICB0aGlzLnh0ZXJtLnJlc2V0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy54dGVybS5idWZmZXIuYWN0aXZlLnR5cGUgPT09ICdhbHRlcm5hdGUnKSB7XG4gICAgICAgICAgLy8gZXhpdCBhbHRlcm5hdGUgc2NyZWVuLiBBSVQtNDYzOTFcbiAgICAgICAgICB0aGlzLnh0ZXJtLndyaXRlKCdcXHUwMDFCWz8xMDQ5bCcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMueHRlcm0uZm9jdXMoKTtcbiAgICAgIGNvbnN0IHRleHQgPSBkZWNvZGUodGhpcy5jb2RpbmcsIGV2ZW50LmRhdGEuc2xpY2UoMSkpO1xuICAgICAgdGhpcy54dGVybS53cml0ZSh0ZXh0KTtcbiAgICAgIGlmIChcbiAgICAgICAgKHRleHQuaW5jbHVkZXMoRVhFQ19GQUlMRURfTUVTU0FHRV9DT05UQUlORVJEKSB8fFxuICAgICAgICAgIHRleHQuaW5jbHVkZXMoRVhFQ19GQUlMRURfTUVTU0FHRV9ET0NLRVIpKSAmJlxuICAgICAgICAhdGhpcy5jb21tYW5kSGFzUnVuICYmXG4gICAgICAgIGluaXRpYWxDb21tYW5kICE9PSBCSU5fU0hcbiAgICAgICkge1xuICAgICAgICB0aGlzLnNob3VsZEZhbGxCYWNrT25DbG9zZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdjbG9zZScsIGUgPT4ge1xuICAgICAgdGhpcy5jbG9zZVNvY2tldCgpO1xuICAgICAgdGhpcy51cGRhdGVDb25uZWN0aW9uU3RhdHVzKFxuICAgICAgICBlLmNvZGUgPT09IE5PX1BFUk1JU1NJT05fQ09ERVxuICAgICAgICAgID8gQ29ubmVjdGlvblN0YXR1cy5Ob1Blcm1pc3Npb25cbiAgICAgICAgICA6IENvbm5lY3Rpb25TdGF0dXMuRGlzY29ubmVjdGVkLFxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLnNob3VsZEZhbGxCYWNrT25DbG9zZSkge1xuICAgICAgICB0aGlzLmZhbGxCYWNrT25DbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5pdFNvY2tldENvbm5lY3Rpb24gPSAoZmFsbGJhY2tDb21tYW5kPzogc3RyaW5nKSA9PiB7XG4gICAgdGhpcy51cGRhdGVDb25uZWN0aW9uU3RhdHVzKFxuICAgICAgdGhpcy54dGVybSA/IENvbm5lY3Rpb25TdGF0dXMuUmVDb25uZWN0aW5nIDogQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0aW5nLFxuICAgICk7XG5cbiAgICBvZihudWxsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBjaGVja1Blcm1pc3Npb25UeXBlLCBjbHVzdGVyIH0gPSB0aGlzLm9wdGlvbjtcbiAgICAgICAgICBpZiAoY2hlY2tQZXJtaXNzaW9uVHlwZSA9PT0gJ2NsdXN0ZXInICYmIGNsdXN0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLms4c1Blcm1pc3Npb24uaXNBbGxvd2VkKHtcbiAgICAgICAgICAgICAgdHlwZTogUkVTT1VSQ0VfVFlQRVMuQ0xVU1RFUl9WSUVXLFxuICAgICAgICAgICAgICBuYW1lc3BhY2U6IHRoaXMuZ2xvYmFsTmFtZXNwYWNlLFxuICAgICAgICAgICAgICBhY3Rpb246IEs4c1Jlc291cmNlQWN0aW9uLlVQREFURSxcbiAgICAgICAgICAgICAgbmFtZTogY2x1c3RlcixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoYWxsb3cgPT4ge1xuICAgICAgICAgIGlmICghYWxsb3cpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29ubmVjdGlvblN0YXR1cyhDb25uZWN0aW9uU3RhdHVzLk5vUGVybWlzc2lvbik7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgLy8g5YWI5YmN5p2D6ZmQ6aqM6K+B5rKh6YCa6L+H5bCx5LiN55So5YaN5bCd6K+VIHNoZWxsIOeahOmVv+i/nuaOpeS6hlxuICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmFwaUdhdGV3YXkuZ2V0QXBpQWRkcmVzcygpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXBpQWRkcmVzcyA9PiB7XG4gICAgICAgIGNvbnN0IGluaXRpYWxDb21tYW5kID0gZmFsbGJhY2tDb21tYW5kIHx8IHRoaXMub3B0aW9uLmNvbW1hbmQgfHwgQklOX1NIO1xuICAgICAgICB0aGlzLmluaXRTb2NrZXQoaW5pdGlhbENvbW1hbmQsIGFwaUFkZHJlc3MpO1xuXG4gICAgICAgIHRoaXMuaW5pdFNvY2tldExpc3RlbmVycyhpbml0aWFsQ29tbWFuZCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBwcml2YXRlIGZhbGxCYWNrT25DbG9zZSgpIHtcbiAgICB0aGlzLnNob3VsZEZhbGxCYWNrT25DbG9zZSA9IGZhbHNlO1xuICAgIHRoaXMuZmFsbGJhY2tTaGVsbC5lbWl0KEJJTl9TSCk7XG4gICAgdGhpcy5pbml0U29ja2V0Q29ubmVjdGlvbihCSU5fU0gpO1xuICAgIHRoaXMubm90aWZpY2F0aW9uLndhcm5pbmcoXG4gICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3Vuc3VwcG9ydGVkX2V4ZWNfY29tbWFuZF93YXJuaW5nJyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VTb2NrZXQoKSB7XG4gICAgaWYgKFxuICAgICAgW0Nvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZywgQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmddLmluY2x1ZGVzKFxuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLm9wdGlvbi5ub3RDbGVhcldoZW5SZWNvbm5lY3QgfHwgdGhpcy54dGVybT8ucmVzZXQoKTtcbiAgICB9XG5cbiAgICBjbGVhckludGVydmFsKHRoaXMucGluZyk7XG4gICAgdGhpcy5zb2NrZXQ/LmNsb3NlKCk7XG4gICAgdGhpcy5zb2NrZXQgPSBudWxsO1xuICAgIHRoaXMuc29ja2V0JCQubmV4dCh0aGlzLnNvY2tldCk7XG4gIH1cblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy11aS9jb250YWluZXItdGVybWluYWwvYmxvYi9iYTU2MGQ0ZjcxNWY0MDViZWIwYTY0YmFiOGZiMjlhMjFhYWMyNjcxL2NvbnRhaW5lci10ZXJtaW5hbC5qcyNMMTUyXG4gIHByaXZhdGUgcmVzaXplUmVtb3RlVGVybWluYWwoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc29ja2V0Py5zZW5kKFxuICAgICAgICBgNCR7ZW5jb2RlKFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHsgV2lkdGg6IHRoaXMueHRlcm0uY29scywgSGVpZ2h0OiB0aGlzLnh0ZXJtLnJvd3MgfSksXG4gICAgICAgICl9YCxcbiAgICAgICk7XG4gICAgfSBjYXRjaCB7fVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb25uZWN0aW9uU3RhdHVzKHN0YXR1czogQ29ubmVjdGlvblN0YXR1cykge1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyA9IHN0YXR1cztcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UuZW1pdChzdGF0dXMpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlY29kZShjb2Rpbmc6IHN0cmluZywgZGF0YTogc3RyaW5nKSB7XG4gIGNvbnN0IGRhdGFWaWV3ID0gbmV3IERhdGFWaWV3KFxuICAgIFVpbnQ4QXJyYXkuZnJvbShhdG9iKGRhdGEpLCBjID0+IGMuY29kZVBvaW50QXQoMCkpLmJ1ZmZlcixcbiAgKTtcbiAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2Rlcihjb2RpbmcpO1xuICByZXR1cm4gZGVjb2Rlci5kZWNvZGUoZGF0YVZpZXcpO1xufVxuIiwiPGF1aS1pbmxpbmUtYWxlcnRcbiAgKm5nSWY9XCJjb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLkRpc2Nvbm5lY3RlZFwiXG4gIHR5cGU9XCJlcnJvclwiXG4+XG4gIDxzcGFuPnt7ICdleGVjX2Rpc2Nvbm5lY3RlZF90aXAnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgIChjbGljayk9XCJyZWNvbm5lY3QoKVwiXG4gID5cbiAgICB7eyAncmVjb25uZWN0JyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYXVpLWlubGluZS1hbGVydD5cblxuPGRpdiBjbGFzcz1cImFjbC10ZXJtaW5hbF9fd3JhcHBlclwiPlxuICA8YWNsLXRlcm1pbmFsLXBsYWNlaG9sZGVyXG4gICAgY2xhc3M9XCJ0dy1iZy1uLTEwXCJcbiAgICAqbmdJZj1cImNvbm5lY3Rpb25TdGF0dXMgPT09IENvbm5lY3Rpb25TdGF0dXMuTm9QZXJtaXNzaW9uXCJcbiAgICB0eXBlPVwicGVybWlzc2lvblwiXG4gID48L2FjbC10ZXJtaW5hbC1wbGFjZWhvbGRlcj5cbiAgPGFjbC1sb2FkaW5nLW1hc2sgW2xvYWRpbmddPVwic2hvd0xvYWRpbmdcIj48L2FjbC1sb2FkaW5nLW1hc2s+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFjbC10ZXJtaW5hbCB0dy1pbnZpc2libGVcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICchdHctdmlzaWJsZSc6XG4gICAgICAgICFzaG93TG9hZGluZyAmJiBjb25uZWN0aW9uU3RhdHVzICE9PSBDb25uZWN0aW9uU3RhdHVzLk5vUGVybWlzc2lvblxuICAgIH1cIlxuICAgIFtjbGFzcy5hY2wtdGVybWluYWwtLWRhcmtdPVwidGhlbWUgPT09ICdkYXJrJ1wiXG4gICAgW2NsYXNzLmFjbC10ZXJtaW5hbC0tbGlnaHRdPVwidGhlbWUgPT09ICdsaWdodCdcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInR3LXctZnVsbCB0dy1oLTAgdHctZmxleC0xIHR3LWZsZXggdHctZmxleC1jb2wgdHctcC0xMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFjbC10ZXJtaW5hbF9faGVhZGVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fYnV0dG9uXCJcbiAgICAgICAgICBbYXVpRHJvcGRvd25dPVwiY29kaW5nTWVudVwiXG4gICAgICAgICAgW2F1aURyb3Bkb3duQ2xhc3NdPVwidGhlbWVDbGFzc1wiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgPnt7XG4gICAgICAgICAgICAgIGNvZGluZyA9PT0gJ3V0ZjgnXG4gICAgICAgICAgICAgICAgPyAnVVRGLTgnXG4gICAgICAgICAgICAgICAgOiBjb2RpbmcgPT09ICdnYjE4MDMwJ1xuICAgICAgICAgICAgICAgID8gJ0dCIDE4MDMwJ1xuICAgICAgICAgICAgICAgIDogY29kaW5nLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB7eyAnZGVjb2RpbmcnIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICAgIDxhdWktaWNvbiBpY29uPVwiYW5nbGVfZG93blwiPjwvYXVpLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJhY2wtdGVybWluYWxfX2J1dHRvblwiXG4gICAgICAgICAgW2F1aVRvb2x0aXBdPVwiZm9udFRlbXBsYXRlXCJcbiAgICAgICAgICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgICAgICAgICBhdWlUb29sdGlwVHlwZT1cImluZm9cIlxuICAgICAgICAgIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBlbmRcIlxuICAgICAgICAgIFthdWlUb29sdGlwQ2xhc3NdPVwidGhlbWVDbGFzc1wiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLWljb24gaWNvbj1cImdlYXJcIj48L2F1aS1pY29uPlxuICAgICAgICAgIDxzcGFuPnt7ICdmb250X3NldHRpbmcnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuU2VhcmNoaW5nKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF1aS1pY29uIGljb249XCJtYWduaWZpZXJcIj48L2F1aS1pY29uPlxuICAgICAgICAgIDxzcGFuPnt7ICdmaW5kJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoVGhlbWUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLWljb24gW2ljb25dPVwidGhlbWUgPT09ICdsaWdodCcgPyAnc3VuJyA6ICdtb29uJ1wiPjwvYXVpLWljb24+XG4gICAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAgICh0aGVtZSA9PT0gJ2xpZ2h0JyA/ICdsaWdodF90aGVtZScgOiAnZGFya190aGVtZScpIHwgdHJhbnNsYXRlXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJleHRyYUJ1dHRvbjsgY29udGV4dDogeyBpbmRleDogaW5kZXggfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fc2hlbGxcIlxuICAgICAgICAoa2V5ZG93bik9XCJvblNoZWxsS2V5RG93bigkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICNhbmNob3JcbiAgICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fYW5jaG9yXCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hpbmdcIlxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19maW5kaW5nXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhdWktc2VhcmNoXG4gICAgICAgICAgICAjc2VhcmNoSW5wdXRcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBbKGtleXdvcmQpXT1cInNlYXJjaEtleXdvcmRcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwib25TZWFyY2hJbnB1dEtleURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgPjwvYXVpLXNlYXJjaD5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIignZmluZF9wcmV2aW91cycgfCB0cmFuc2xhdGUpICsgJyAoU2hpZnQgKyBFbnRlciknXCJcbiAgICAgICAgICAgIChjbGljayk9XCJmaW5kUHJldmlvdXMoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgICAgIGljb249XCJhcnJvd19yaWdodFwiXG4gICAgICAgICAgICAgIHN0eWxlPVwidHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKVwiXG4gICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIignZmluZF9uZXh0JyB8IHRyYW5zbGF0ZSkgKyAnIChFbnRlciknXCJcbiAgICAgICAgICAgIChjbGljayk9XCJmaW5kTmV4dCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgaWNvbj1cImFycm93X3JpZ2h0XCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZylcIlxuICAgICAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICAgICAgc2l6ZT1cIm1pbmlcIlxuICAgICAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtwbGFpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCIoJ2Nsb3NlJyB8IHRyYW5zbGF0ZSkgKyAnIChFc2NhcGUpJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VTZWFyY2hpbmcoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF1aS1pY29uIGljb249XCJ4bWFya1wiPjwvYXVpLWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgZXh0cmFDb250ZW50O1xuICAgICAgY29udGV4dDoge1xuICAgICAgICAkaW1wbGljaXQ6IG9wdGlvbixcbiAgICAgICAgc29ja2V0OiBzb2NrZXQkJCB8IGFzeW5jLFxuICAgICAgICBpbmRleDogaW5kZXhcbiAgICAgIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNjb2RpbmdNZW51XG4gID48YXVpLW1lbnUgc2l6ZT1cInNtYWxsXCJcbiAgICA+PGF1aS1tZW51LWl0ZW1cbiAgICAgIFthY3RpdmVkXT1cImNvZGluZyA9PT0gJ3V0ZjgnXCJcbiAgICAgIChjbGljayk9XCJjb2RpbmcgPSAndXRmOCdcIlxuICAgICAgPlVURi04XG4gICAgPC9hdWktbWVudS1pdGVtPlxuICAgIDxhdWktbWVudS1pdGVtXG4gICAgICBbYWN0aXZlZF09XCJjb2RpbmcgPT09ICdnYjE4MDMwJ1wiXG4gICAgICAoY2xpY2spPVwiY29kaW5nID0gJ2diMTgwMzAnXCJcbiAgICAgID5HQiAxODAzMFxuICAgIDwvYXVpLW1lbnUtaXRlbT5cbiAgPC9hdWktbWVudT48L25nLXRlbXBsYXRlXG4+XG5cbjxuZy10ZW1wbGF0ZSAjZm9udFRlbXBsYXRlPlxuICA8YXVpLW51bWJlci1pbnB1dFxuICAgIFtzdGVwXT1cIjFcIlxuICAgIFtwcmVjaXNpb25dPVwiMVwiXG4gICAgW21pbl09XCIxMlwiXG4gICAgW21heF09XCI0MFwiXG4gICAgW2NvbnRyb2xzXT1cInRydWVcIlxuICAgIFthbmdsZUNvbnRyb2xzXT1cInRydWVcIlxuICAgIFt2YWx1ZV09XCJmb250U2l6ZVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cImZvbnRTaXplQ2hhbmdlKCRldmVudClcIlxuICA+XG4gICAgPHNwYW4gYXVpSW5wdXRBZGRvbkFmdGVyPnB4PC9zcGFuPlxuICA8L2F1aS1udW1iZXItaW5wdXQ+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
578
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBRU4sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUs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LElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSwgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZW5jb2RlIH0gZnJvbSAnYWI2NCc7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICd4dGVybSc7XG5pbXBvcnQgeyBDYW52YXNBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLWNhbnZhcyc7XG5pbXBvcnQgeyBGaXRBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLWZpdCc7XG5pbXBvcnQgeyBTZWFyY2hBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLXNlYXJjaCc7XG5pbXBvcnQgeyBXZWJMaW5rc0FkZG9uIH0gZnJvbSAneHRlcm0tYWRkb24td2ViLWxpbmtzJztcbmltcG9ydCB7IFdlYmdsQWRkb24gfSBmcm9tICd4dGVybS1hZGRvbi13ZWJnbCc7XG5cbmltcG9ydCB7IEFwaUdhdGV3YXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgSzhzUmVzb3VyY2VBY3Rpb24sXG4gIFRPS0VOX0dMT0JBTF9OQU1FU1BBQ0UsXG4gIFJFU09VUkNFX1RZUEVTLFxufSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgSzhzUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wZXJtaXNzaW9uL2s4cy1wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25TdGF0dXMsXG4gIFRFUk1JTkFMX0ZPTlRfTE9DQUxfU1RPUkFHRV9LRVksXG4gIFRFUk1JTkFMX1RIRU1FX0xPQ0FMX1NUT1JBR0VfS0VZLFxuICBYVEVSTV9EQVJLX1RIRU1FLFxuICBYVEVSTV9ERUZBVUxUX09QVElPTlMsXG4gIFhURVJNX0xJR0hUX1RIRU1FLFxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGVybWluYWxPcHRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBCSU5fU0ggPSAnL2Jpbi9zaCc7XG5cbmV4cG9ydCBjb25zdCBFWEVDX0ZBSUxFRF9NRVNTQUdFX0NPTlRBSU5FUkQgPSBgSW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQ6IGVycm9yIGV4ZWN1dGluZyBjb21tYW5kIGluIGNvbnRhaW5lcmA7XG5leHBvcnQgY29uc3QgRVhFQ19GQUlMRURfTUVTU0FHRV9ET0NLRVIgPSBgT0NJIHJ1bnRpbWUgZXhlYyBmYWlsZWQ6IGV4ZWMgZmFpbGVkOiB1bmFibGUgdG8gc3RhcnQgY29udGFpbmVyIHByb2Nlc3NgO1xuZXhwb3J0IGNvbnN0IE5PX1BFUk1JU1NJT05fQ09ERSA9IDQwXzAwMTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRSZW5kZXJlckFkZG9uKCkge1xuICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgaWYgKGNhbnZhcy5nZXRDb250ZXh0KCd3ZWJnbDInKSkge1xuICAgIHJldHVybiBuZXcgV2ViZ2xBZGRvbigpO1xuICB9XG4gIHJldHVybiBuZXcgQ2FudmFzQWRkb24oKTtcbn1cblxuLyoqXG4gKiBGb3IgZGlzcGF0Y2hpbmcga2V5Ym9hcmQgZXZlbnRzIGF1dG9tYXRpY2FsbHkgdG8geHRlcm0sXG4gKiBwbGVhc2UgdmlldyBodHRwczovL3d3dy5waHlzaWNzLnVkZWwuZWR1L353YXRzb24vc2NlbjEwMy9hc2NpaS5odG1sIGZvciByZWZlcmVuY2UuXG4gKlxuICogRm9yIGluc3RhbmNlLCBpZiB5b3Ugd2FudCB0byBkaXNwYXRjaCBgQ3RybCtDYCB0byB4dGVybSwgeW91IHNob3VsZCBkaXNwYXRjaCBgXFx4MDNgKGFrYSBgXFx1MDAwM2ApIHRvIHRoZSBzb2NrZXQuXG4gKlxuICogYGBgdHNcbiAqIHNvY2tldC5zZW5kKCcwJyArIGVuY29kZSgnXFx1MDAwMycpKVxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC10ZXJtaW5hbCcsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQge1xuICBDb25uZWN0aW9uU3RhdHVzID0gQ29ubmVjdGlvblN0YXR1cztcblxuICBASW5wdXQoKVxuICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIGluZGV4OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgZXh0cmFCdXR0b246IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIGV4dHJhQ29udGVudDogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25TdGF0dXM+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNlbmREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNvY2tldFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxXZWJTb2NrZXQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZhbGxiYWNrU2hlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAVmlld0NoaWxkKCdhbmNob3InKVxuICBhbmNob3JSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JylcbiAgc2VhcmNoSW5wdXRSZWY6IFNlYXJjaENvbXBvbmVudDtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6YmVmb3JldW5sb2FkJywgWyckZXZlbnQnXSlcbiAgYmVmb3JlVW5sb2FkKGV2ZW50OiBCZWZvcmVVbmxvYWRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQucmV0dXJuVmFsdWUgPSAnJztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp1bmxvYWQnLCBbJyRldmVudCddKVxuICB1bmxvYWQoX2V2ZW50OiBCZWZvcmVVbmxvYWRFdmVudCkge1xuICAgIHRoaXMua2lsbFByb2Nlc3MoKTtcbiAgfVxuXG4gIHRoZW1lOiAnbGlnaHQnIHwgJ2RhcmsnID1cbiAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShURVJNSU5BTF9USEVNRV9MT0NBTF9TVE9SQUdFX0tFWSkgPT09ICdsaWdodCdcbiAgICAgID8gJ2xpZ2h0J1xuICAgICAgOiAnZGFyayc7XG5cbiAgZm9udFNpemU6IG51bWJlciA9XG4gICAgK2xvY2FsU3RvcmFnZS5nZXRJdGVtKFRFUk1JTkFMX0ZPTlRfTE9DQUxfU1RPUkFHRV9LRVkpIHx8XG4gICAgWFRFUk1fREVGQVVMVF9PUFRJT05TLmZvbnRTaXplO1xuXG4gIHNlYXJjaGluZyA9IGZhbHNlO1xuICBzZWFyY2hLZXl3b3JkID0gJyc7XG4gIGNvZGluZyA9ICd1dGY4JztcbiAgY29ubmVjdGlvblN0YXR1czogQ29ubmVjdGlvblN0YXR1cyA9IENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZztcbiAgY29tbWFuZEhhc1J1biA9IGZhbHNlO1xuXG4gIHh0ZXJtOiBUZXJtaW5hbDtcbiAgcHJpdmF0ZSBzZWFyY2hBZGRvbjogU2VhcmNoQWRkb247XG4gIHByaXZhdGUgZml0QWRkb246IEZpdEFkZG9uO1xuICBwcml2YXRlIHNvY2tldDogV2ViU29ja2V0O1xuICBwcml2YXRlIHBpbmc6IG51bWJlcjtcblxuICBzb2NrZXQkJCA9IG5ldyBTdWJqZWN0PFdlYlNvY2tldD4oKTtcblxuICBzaG91bGRGYWxsQmFja09uQ2xvc2UgPSBmYWxzZTtcblxuICBnZXQgdGhlbWVDbGFzcygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgJ2FjbC10ZXJtaW5hbF9fZHJvcGRvd24gJyArXG4gICAgICAodGhpcy50aGVtZSA9PT0gJ2xpZ2h0J1xuICAgICAgICA/ICdhY2wtdGVybWluYWxfX2Ryb3Bkb3duLS1saWdodCdcbiAgICAgICAgOiAnYWNsLXRlcm1pbmFsX19kcm9wZG93bi0tZGFyaycpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzaG93TG9hZGluZygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcgfHxcbiAgICAgICghdGhpcy5vcHRpb24ubm90Q2xlYXJXaGVuUmVjb25uZWN0ICYmXG4gICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyA9PT0gQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmcpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpR2F0ZXdheTogQXBpR2F0ZXdheVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzUGVybWlzc2lvbjogSzhzUGVybWlzc2lvblNlcnZpY2UsXG4gICAgQEluamVjdChUT0tFTl9HTE9CQUxfTkFNRVNQQUNFKSBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbE5hbWVzcGFjZTogc3RyaW5nLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0U29ja2V0Q29ubmVjdGlvbigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyBvcHRpb24gfTogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLnh0ZXJtICYmIG9wdGlvbikge1xuICAgICAgdGhpcy5yZWNvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsb3NlU29ja2V0KCk7XG4gICAgdGhpcy54dGVybT8uZGlzcG9zZSgpO1xuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy54dGVybT8uZm9jdXMoKTtcbiAgfVxuXG4gIHJlY29ubmVjdCgpIHtcbiAgICB0aGlzLmNvbW1hbmRIYXNSdW4gPSBmYWxzZTtcbiAgICB0aGlzLmNsb3NlU29ja2V0KCk7XG4gICAgdGhpcy5pbml0U29ja2V0Q29ubmVjdGlvbigpO1xuICB9XG5cbiAga2lsbFByb2Nlc3MoKSB7XG4gICAgaWYgKHRoaXMuc29ja2V0KSB7XG4gICAgICB0aGlzLnNvY2tldC5zZW5kKCcwJyArIGVuY29kZSgnXFx1MDAwM1xcclxcbicpKTtcbiAgICAgIHRoaXMuc29ja2V0LnNlbmQoJzAnICsgZW5jb2RlKCdleGl0XFxyXFxuJykpO1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaFRoZW1lKCkge1xuICAgIHRoaXMudGhlbWUgPSB0aGlzLnRoZW1lID09PSAnbGlnaHQnID8gJ2RhcmsnIDogJ2xpZ2h0JztcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShURVJNSU5BTF9USEVNRV9MT0NBTF9TVE9SQUdFX0tFWSwgdGhpcy50aGVtZSk7XG4gICAgdGhpcy54dGVybS5vcHRpb25zLnRoZW1lID1cbiAgICAgIHRoaXMudGhlbWUgPT09ICdsaWdodCcgPyBYVEVSTV9MSUdIVF9USEVNRSA6IFhURVJNX0RBUktfVEhFTUU7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBmb250U2l6ZUNoYW5nZShzaXplOiBudW1iZXIpIHtcbiAgICB0aGlzLmZvbnRTaXplID0gc2l6ZTtcbiAgICB0aGlzLnh0ZXJtLm9wdGlvbnMuZm9udFNpemUgPSBzaXplO1xuICAgIHRoaXMuZml0QWRkb24uZml0KCk7XG5cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShURVJNSU5BTF9GT05UX0xPQ0FMX1NUT1JBR0VfS0VZLCBzaXplICsgJycpO1xuICB9XG5cbiAgb3BlblNlYXJjaGluZygpIHtcbiAgICB0aGlzLnNlYXJjaGluZyA9IHRydWU7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXRSZWYuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlU2VhcmNoaW5nKCkge1xuICAgIHRoaXMuc2VhcmNoaW5nID0gZmFsc2U7XG4gICAgdGhpcy5zZWFyY2hLZXl3b3JkID0gJyc7XG4gICAgdGhpcy5maW5kTmV4dCgpO1xuICAgIHRoaXMueHRlcm0/LmZvY3VzKCk7XG4gIH1cblxuICBvblNoZWxsS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICgoZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5KSAmJiBldmVudC5jb2RlID09PSAnS2V5RicpIHtcbiAgICAgIHRoaXMub3BlblNlYXJjaGluZygpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoSW5wdXRLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlU2VhcmNoaW5nKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgdGhpcy5maW5kUHJldmlvdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZmluZE5leHQoKTtcbiAgICAgIH1cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlYXJjaE9wdGlvbnMoKSB7XG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLnRoZW1lID09PSAnbGlnaHQnID8gWFRFUk1fTElHSFRfVEhFTUUgOiBYVEVSTV9EQVJLX1RIRU1FO1xuICAgIHJldHVybiB7XG4gICAgICBkZWNvcmF0aW9uczoge1xuICAgICAgICBtYXRjaEJhY2tncm91bmQ6IHRoZW1lLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZCxcbiAgICAgICAgbWF0Y2hPdmVydmlld1J1bGVyOiB0aGVtZS5zZWxlY3Rpb25JbmFjdGl2ZUJhY2tncm91bmQsXG4gICAgICAgIGFjdGl2ZU1hdGNoQmFja2dyb3VuZDogdGhlbWUuc2VsZWN0aW9uQmFja2dyb3VuZCxcbiAgICAgICAgYWN0aXZlTWF0Y2hDb2xvck92ZXJ2aWV3UnVsZXI6IHRoZW1lLnNlbGVjdGlvbkJhY2tncm91bmQsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBmaW5kTmV4dCgpIHtcbiAgICB0aGlzLnNlYXJjaEFkZG9uLmZpbmROZXh0KHRoaXMuc2VhcmNoS2V5d29yZCwgdGhpcy5nZXRTZWFyY2hPcHRpb25zKCkpO1xuICB9XG5cbiAgZmluZFByZXZpb3VzKCkge1xuICAgIHRoaXMuc2VhcmNoQWRkb24uZmluZFByZXZpb3VzKHRoaXMuc2VhcmNoS2V5d29yZCwgdGhpcy5nZXRTZWFyY2hPcHRpb25zKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0WHRlcm0oKSB7XG4gICAgdGhpcy54dGVybSA9IG5ldyBUZXJtaW5hbCh7XG4gICAgICAuLi5YVEVSTV9ERUZBVUxUX09QVElPTlMsXG4gICAgICB0aGVtZTogdGhpcy50aGVtZSA9PT0gJ2xpZ2h0JyA/IFhURVJNX0xJR0hUX1RIRU1FIDogWFRFUk1fREFSS19USEVNRSxcbiAgICAgIGZvbnRTaXplOiB0aGlzLmZvbnRTaXplLFxuICAgICAgYWxsb3dQcm9wb3NlZEFwaTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHRoaXMueHRlcm0ubG9hZEFkZG9uKHRoaXMuaW5pdFNlYXJjaEFkZG9uKCkpO1xuICAgIHRoaXMuZml0QWRkb24gPSB0aGlzLmluaXRGaXRBZGRvbigpO1xuICAgIHRoaXMueHRlcm0ubG9hZEFkZG9uKHRoaXMuZml0QWRkb24pO1xuICAgIHRoaXMueHRlcm0ubG9hZEFkZG9uKG5ldyBXZWJMaW5rc0FkZG9uKCkpO1xuICAgIHRoaXMueHRlcm0ubG9hZEFkZG9uKGluaXRSZW5kZXJlckFkZG9uKCkpO1xuXG4gICAgdGhpcy54dGVybS5vcGVuKHRoaXMuYW5jaG9yUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLmZpdEFkZG9uLmZpdCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy54dGVybS5vbkRhdGEoKGRhdGE6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKHRoaXMuY29ubmVjdGlvblN0YXR1cyA9PT0gQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5jb21tYW5kSGFzUnVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zb2NrZXQuc2VuZCgnMCcgKyBlbmNvZGUoZGF0YSkpO1xuICAgICAgICB0aGlzLnNlbmREYXRhLmVtaXQoZGF0YSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy54dGVybS5vblNlbGVjdGlvbkNoYW5nZSgoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnh0ZXJtLmdldFNlbGVjdGlvbigpLnRyaW0oKTtcbiAgICAgIGlmIChzZWxlY3Rpb24pIHtcbiAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoc2VsZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZpdEFkZG9uKCkge1xuICAgIGNvbnN0IGZpdEFkZG9uID0gbmV3IEZpdEFkZG9uKCk7XG5cbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihcbiAgICAgIGRlYm91bmNlKChbZW50cnldKSA9PiB7XG4gICAgICAgIGlmIChlbnRyeS5jb250ZW50UmVjdC53aWR0aCAhPT0gMCkge1xuICAgICAgICAgIGZpdEFkZG9uLmZpdCgpO1xuICAgICAgICAgIHRoaXMucmVzaXplUmVtb3RlVGVybWluYWwoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMjAwKSxcbiAgICApO1xuXG4gICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmFuY2hvclJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgIHJldHVybiBmaXRBZGRvbjtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNlYXJjaEFkZG9uKCkge1xuICAgIHRoaXMuc2VhcmNoQWRkb24gPSBuZXcgU2VhcmNoQWRkb24oKTtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hBZGRvbjtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNvY2tldChpbml0aWFsQ29tbWFuZDogc3RyaW5nLCBhcGlBZGRyZXNzOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zb2NrZXQpIHtcbiAgICAgIHRoaXMuc29ja2V0LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgY29uc3Qge1xuICAgICAgY2x1c3RlcixcbiAgICAgIG5hbWVzcGFjZSxcbiAgICAgIHBvZCxcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIHVzZXIgPSAncm9vdCcsXG4gICAgICBjbWQsXG4gICAgICBhZHZhbmNlQXBpLFxuICAgIH0gPSB0aGlzLm9wdGlvbjtcblxuICAgIGNvbnN0IGNvbW1hbmQgPSBjbWRcbiAgICAgID8gWydzaCcsICctYycsIGNtZF1cbiAgICAgIDogdXNlciA9PT0gJ3Jvb3QnXG4gICAgICAgID8gaW5pdGlhbENvbW1hbmQuc3BsaXQoJyAnKVxuICAgICAgICA6IFsnc2gnLCAnLWMnLCBgc3UgLXAgJHt1c2VyfSAtYyBcIiR7aW5pdGlhbENvbW1hbmR9XCJgXTtcblxuICAgIGNvbnN0IGFwaSA9IGFkdmFuY2VBcGlcbiAgICAgID8gJy9hdXRoL3YxL3BvZC9zaGVsbCdcbiAgICAgIDogYC9rdWJlcm5ldGVzLyR7Y2x1c3Rlcn0vYXBpL3YxL25hbWVzcGFjZXMvJHtuYW1lc3BhY2V9L3BvZHMvJHtwb2R9L2V4ZWNgO1xuXG4gICAgdGhpcy5zb2NrZXQgPSBuZXcgV2ViU29ja2V0KFxuICAgICAgYXBpQWRkcmVzcy5yZXBsYWNlKC9eaHR0cC8sICd3cycpICtcbiAgICAgICAgYCR7YXBpfT8ke25ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgICBmcm9tT2JqZWN0OiB7XG4gICAgICAgICAgICBzdGRpbjogdHJ1ZSxcbiAgICAgICAgICAgIHN0ZG91dDogdHJ1ZSxcbiAgICAgICAgICAgIHN0ZGVycjogdHJ1ZSxcbiAgICAgICAgICAgIHR0eTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICAgIGNvbW1hbmQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSkudG9TdHJpbmcoKX1gLFxuICAgICAgWydiYXNlNjQuY2hhbm5lbC5rOHMuaW8nXSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbml0U29ja2V0TGlzdGVuZXJzID0gKGluaXRpYWxDb21tYW5kOiBzdHJpbmcpID0+IHtcbiAgICBsZXQgbmVlZENsZWFyOiBib29sZWFuO1xuXG4gICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcignb3BlbicsICgpID0+IHtcbiAgICAgIG5lZWRDbGVhciA9IHRydWU7XG4gICAgICB0aGlzLnJlc2l6ZVJlbW90ZVRlcm1pbmFsKCk7XG4gICAgICB0aGlzLnNvY2tldFJlYWR5LmVtaXQodGhpcy5zb2NrZXQpO1xuICAgICAgdGhpcy5zb2NrZXQkJC5uZXh0KHRoaXMuc29ja2V0KTtcbiAgICAgIHRoaXMucGluZyA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc29ja2V0LnNlbmQoJzAnKTtcbiAgICAgIH0sIDUwMDApO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChldmVudDogTWVzc2FnZUV2ZW50PHN0cmluZz4pID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ29ubmVjdGlvblN0YXR1cyhDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCk7XG4gICAgICBpZiAoIXRoaXMueHRlcm0pIHtcbiAgICAgICAgdGhpcy5pbml0WHRlcm0oKTtcbiAgICAgIH1cbiAgICAgIGlmIChuZWVkQ2xlYXIpIHtcbiAgICAgICAgbmVlZENsZWFyID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbi5ub3RDbGVhcldoZW5SZWNvbm5lY3QpIHtcbiAgICAgICAgICB0aGlzLnh0ZXJtLnJlc2V0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy54dGVybS5idWZmZXIuYWN0aXZlLnR5cGUgPT09ICdhbHRlcm5hdGUnKSB7XG4gICAgICAgICAgLy8gZXhpdCBhbHRlcm5hdGUgc2NyZWVuLiBBSVQtNDYzOTFcbiAgICAgICAgICB0aGlzLnh0ZXJtLndyaXRlKCdcXHUwMDFCWz8xMDQ5bCcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMueHRlcm0uZm9jdXMoKTtcbiAgICAgIGNvbnN0IHRleHQgPSBkZWNvZGUodGhpcy5jb2RpbmcsIGV2ZW50LmRhdGEuc2xpY2UoMSkpO1xuICAgICAgdGhpcy54dGVybS53cml0ZSh0ZXh0KTtcbiAgICAgIGlmIChcbiAgICAgICAgKHRleHQuaW5jbHVkZXMoRVhFQ19GQUlMRURfTUVTU0FHRV9DT05UQUlORVJEKSB8fFxuICAgICAgICAgIHRleHQuaW5jbHVkZXMoRVhFQ19GQUlMRURfTUVTU0FHRV9ET0NLRVIpKSAmJlxuICAgICAgICAhdGhpcy5jb21tYW5kSGFzUnVuICYmXG4gICAgICAgIGluaXRpYWxDb21tYW5kICE9PSBCSU5fU0hcbiAgICAgICkge1xuICAgICAgICB0aGlzLnNob3VsZEZhbGxCYWNrT25DbG9zZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdjbG9zZScsIGUgPT4ge1xuICAgICAgdGhpcy5jbG9zZVNvY2tldCgpO1xuICAgICAgdGhpcy51cGRhdGVDb25uZWN0aW9uU3RhdHVzKFxuICAgICAgICBlLmNvZGUgPT09IE5PX1BFUk1JU1NJT05fQ09ERVxuICAgICAgICAgID8gQ29ubmVjdGlvblN0YXR1cy5Ob1Blcm1pc3Npb25cbiAgICAgICAgICA6IENvbm5lY3Rpb25TdGF0dXMuRGlzY29ubmVjdGVkLFxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLnNob3VsZEZhbGxCYWNrT25DbG9zZSkge1xuICAgICAgICB0aGlzLmZhbGxCYWNrT25DbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5pdFNvY2tldENvbm5lY3Rpb24gPSAoZmFsbGJhY2tDb21tYW5kPzogc3RyaW5nKSA9PiB7XG4gICAgdGhpcy51cGRhdGVDb25uZWN0aW9uU3RhdHVzKFxuICAgICAgdGhpcy54dGVybSA/IENvbm5lY3Rpb25TdGF0dXMuUmVDb25uZWN0aW5nIDogQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0aW5nLFxuICAgICk7XG5cbiAgICBvZihudWxsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBjaGVja1Blcm1pc3Npb25UeXBlLCBjbHVzdGVyIH0gPSB0aGlzLm9wdGlvbjtcbiAgICAgICAgICBpZiAoY2hlY2tQZXJtaXNzaW9uVHlwZSA9PT0gJ2NsdXN0ZXInICYmIGNsdXN0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLms4c1Blcm1pc3Npb24uaXNBbGxvd2VkKHtcbiAgICAgICAgICAgICAgdHlwZTogUkVTT1VSQ0VfVFlQRVMuQ0xVU1RFUl9WSUVXLFxuICAgICAgICAgICAgICBuYW1lc3BhY2U6IHRoaXMuZ2xvYmFsTmFtZXNwYWNlLFxuICAgICAgICAgICAgICBhY3Rpb246IEs4c1Jlc291cmNlQWN0aW9uLlVQREFURSxcbiAgICAgICAgICAgICAgbmFtZTogY2x1c3RlcixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoYWxsb3cgPT4ge1xuICAgICAgICAgIGlmICghYWxsb3cpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ29ubmVjdGlvblN0YXR1cyhDb25uZWN0aW9uU3RhdHVzLk5vUGVybWlzc2lvbik7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgLy8g5YWI5YmN5p2D6ZmQ6aqM6K+B5rKh6YCa6L+H5bCx5LiN55So5YaN5bCd6K+VIHNoZWxsIOeahOmVv+i/nuaOpeS6hlxuICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmFwaUdhdGV3YXkuZ2V0QXBpQWRkcmVzcygpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXBpQWRkcmVzcyA9PiB7XG4gICAgICAgIGNvbnN0IGluaXRpYWxDb21tYW5kID0gZmFsbGJhY2tDb21tYW5kIHx8IHRoaXMub3B0aW9uLmNvbW1hbmQgfHwgQklOX1NIO1xuICAgICAgICB0aGlzLmluaXRTb2NrZXQoaW5pdGlhbENvbW1hbmQsIGFwaUFkZHJlc3MpO1xuXG4gICAgICAgIHRoaXMuaW5pdFNvY2tldExpc3RlbmVycyhpbml0aWFsQ29tbWFuZCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBwcml2YXRlIGZhbGxCYWNrT25DbG9zZSgpIHtcbiAgICB0aGlzLnNob3VsZEZhbGxCYWNrT25DbG9zZSA9IGZhbHNlO1xuICAgIHRoaXMuZmFsbGJhY2tTaGVsbC5lbWl0KEJJTl9TSCk7XG4gICAgdGhpcy5pbml0U29ja2V0Q29ubmVjdGlvbihCSU5fU0gpO1xuICAgIHRoaXMubm90aWZpY2F0aW9uLndhcm5pbmcoXG4gICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3Vuc3VwcG9ydGVkX2V4ZWNfY29tbWFuZF93YXJuaW5nJyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VTb2NrZXQoKSB7XG4gICAgaWYgKFxuICAgICAgW0Nvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZywgQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmddLmluY2x1ZGVzKFxuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLm9wdGlvbi5ub3RDbGVhcldoZW5SZWNvbm5lY3QgfHwgdGhpcy54dGVybT8ucmVzZXQoKTtcbiAgICB9XG5cbiAgICBjbGVhckludGVydmFsKHRoaXMucGluZyk7XG4gICAgdGhpcy5zb2NrZXQ/LmNsb3NlKCk7XG4gICAgdGhpcy5zb2NrZXQgPSBudWxsO1xuICAgIHRoaXMuc29ja2V0JCQubmV4dCh0aGlzLnNvY2tldCk7XG4gIH1cblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy11aS9jb250YWluZXItdGVybWluYWwvYmxvYi9iYTU2MGQ0ZjcxNWY0MDViZWIwYTY0YmFiOGZiMjlhMjFhYWMyNjcxL2NvbnRhaW5lci10ZXJtaW5hbC5qcyNMMTUyXG4gIHByaXZhdGUgcmVzaXplUmVtb3RlVGVybWluYWwoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc29ja2V0Py5zZW5kKFxuICAgICAgICBgNCR7ZW5jb2RlKFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHsgV2lkdGg6IHRoaXMueHRlcm0uY29scywgSGVpZ2h0OiB0aGlzLnh0ZXJtLnJvd3MgfSksXG4gICAgICAgICl9YCxcbiAgICAgICk7XG4gICAgfSBjYXRjaCB7fVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb25uZWN0aW9uU3RhdHVzKHN0YXR1czogQ29ubmVjdGlvblN0YXR1cykge1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyA9IHN0YXR1cztcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UuZW1pdChzdGF0dXMpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYWN0aXZhdGVUZXJtaW5hbCgpIHtcbiAgICBpZiAodGhpcy5zb2NrZXQgJiYgdGhpcy5jb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc29ja2V0LnNlbmQoJzAnICsgZW5jb2RlKCcgJykpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNvY2tldC5zZW5kKCcwJyArIGVuY29kZSgnXFxiJykpO1xuICAgICAgICB9LCAxMDApO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVjb2RlKGNvZGluZzogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcbiAgY29uc3QgZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcoXG4gICAgVWludDhBcnJheS5mcm9tKGF0b2IoZGF0YSksIGMgPT4gYy5jb2RlUG9pbnRBdCgwKSkuYnVmZmVyLFxuICApO1xuICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKGNvZGluZyk7XG4gIHJldHVybiBkZWNvZGVyLmRlY29kZShkYXRhVmlldyk7XG59XG4iLCI8YXVpLWlubGluZS1hbGVydFxuICAqbmdJZj1cImNvbm5lY3Rpb25TdGF0dXMgPT09IENvbm5lY3Rpb25TdGF0dXMuRGlzY29ubmVjdGVkXCJcbiAgdHlwZT1cImVycm9yXCJcbj5cbiAgPHNwYW4+e3sgJ2V4ZWNfZGlzY29ubmVjdGVkX3RpcCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDxidXR0b25cbiAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgKGNsaWNrKT1cInJlY29ubmVjdCgpXCJcbiAgPlxuICAgIHt7ICdyZWNvbm5lY3QnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9hdWktaW5saW5lLWFsZXJ0PlxuXG48ZGl2IGNsYXNzPVwiYWNsLXRlcm1pbmFsX193cmFwcGVyXCI+XG4gIDxhY2wtdGVybWluYWwtcGxhY2Vob2xkZXJcbiAgICBjbGFzcz1cInR3LWJnLW4tMTBcIlxuICAgICpuZ0lmPVwiY29ubmVjdGlvblN0YXR1cyA9PT0gQ29ubmVjdGlvblN0YXR1cy5Ob1Blcm1pc3Npb25cIlxuICAgIHR5cGU9XCJwZXJtaXNzaW9uXCJcbiAgPjwvYWNsLXRlcm1pbmFsLXBsYWNlaG9sZGVyPlxuICA8YWNsLWxvYWRpbmctbWFzayBbbG9hZGluZ109XCJzaG93TG9hZGluZ1wiPjwvYWNsLWxvYWRpbmctbWFzaz5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsIHR3LWludmlzaWJsZVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJyF0dy12aXNpYmxlJzpcbiAgICAgICAgIXNob3dMb2FkaW5nICYmIGNvbm5lY3Rpb25TdGF0dXMgIT09IENvbm5lY3Rpb25TdGF0dXMuTm9QZXJtaXNzaW9uXG4gICAgfVwiXG4gICAgW2NsYXNzLmFjbC10ZXJtaW5hbC0tZGFya109XCJ0aGVtZSA9PT0gJ2RhcmsnXCJcbiAgICBbY2xhc3MuYWNsLXRlcm1pbmFsLS1saWdodF09XCJ0aGVtZSA9PT0gJ2xpZ2h0J1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwidHctdy1mdWxsIHR3LWgtMCB0dy1mbGV4LTEgdHctZmxleCB0dy1mbGV4LWNvbCB0dy1wLTEyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWNsLXRlcm1pbmFsX19oZWFkZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19idXR0b25cIlxuICAgICAgICAgIFthdWlEcm9wZG93bl09XCJjb2RpbmdNZW51XCJcbiAgICAgICAgICBbYXVpRHJvcGRvd25DbGFzc109XCJ0aGVtZUNsYXNzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICA+e3tcbiAgICAgICAgICAgICAgY29kaW5nID09PSAndXRmOCdcbiAgICAgICAgICAgICAgICA/ICdVVEYtOCdcbiAgICAgICAgICAgICAgICA6IGNvZGluZyA9PT0gJ2diMTgwMzAnXG4gICAgICAgICAgICAgICAgPyAnR0IgMTgwMzAnXG4gICAgICAgICAgICAgICAgOiBjb2RpbmcudG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHt7ICdkZWNvZGluZycgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9kb3duXCI+PC9hdWktaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fYnV0dG9uXCJcbiAgICAgICAgICBbYXVpVG9vbHRpcF09XCJmb250VGVtcGxhdGVcIlxuICAgICAgICAgIGF1aVRvb2x0aXBUcmlnZ2VyPVwiY2xpY2tcIlxuICAgICAgICAgIGF1aVRvb2x0aXBUeXBlPVwiaW5mb1wiXG4gICAgICAgICAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIGVuZFwiXG4gICAgICAgICAgW2F1aVRvb2x0aXBDbGFzc109XCJ0aGVtZUNsYXNzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhdWktaWNvbiBpY29uPVwiZ2VhclwiPjwvYXVpLWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgJ2ZvbnRfc2V0dGluZycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJhY2wtdGVybWluYWxfX2J1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZWFyY2hpbmcoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLWljb24gaWNvbj1cIm1hZ25pZmllclwiPjwvYXVpLWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgJ2ZpbmQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hUaGVtZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhdWktaWNvbiBbaWNvbl09XCJ0aGVtZSA9PT0gJ2xpZ2h0JyA/ICdzdW4nIDogJ21vb24nXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgKHRoZW1lID09PSAnbGlnaHQnID8gJ2xpZ2h0X3RoZW1lJyA6ICdkYXJrX3RoZW1lJykgfCB0cmFuc2xhdGVcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImV4dHJhQnV0dG9uOyBjb250ZXh0OiB7IGluZGV4OiBpbmRleCB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19zaGVsbFwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uU2hlbGxLZXlEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgI2FuY2hvclxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19hbmNob3JcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaGluZ1wiXG4gICAgICAgICAgY2xhc3M9XCJhY2wtdGVybWluYWxfX2ZpbmRpbmdcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF1aS1zZWFyY2hcbiAgICAgICAgICAgICNzZWFyY2hJbnB1dFxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIFsoa2V5d29yZCldPVwic2VhcmNoS2V5d29yZFwiXG4gICAgICAgICAgICAoa2V5ZG93bik9XCJvblNlYXJjaElucHV0S2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgICA+PC9hdWktc2VhcmNoPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiKCdmaW5kX3ByZXZpb3VzJyB8IHRyYW5zbGF0ZSkgKyAnIChTaGlmdCArIEVudGVyKSdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImZpbmRQcmV2aW91cygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgaWNvbj1cImFycm93X3JpZ2h0XCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpXCJcbiAgICAgICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiKCdmaW5kX25leHQnIHwgdHJhbnNsYXRlKSArICcgKEVudGVyKSdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImZpbmROZXh0KClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhdWktaWNvblxuICAgICAgICAgICAgICBpY29uPVwiYXJyb3dfcmlnaHRcIlxuICAgICAgICAgICAgICBzdHlsZT1cInRyYW5zZm9ybTogcm90YXRlKDkwZGVnKVwiXG4gICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIignY2xvc2UnIHwgdHJhbnNsYXRlKSArICcgKEVzY2FwZSknXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVNlYXJjaGluZygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb24gaWNvbj1cInhtYXJrXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBleHRyYUNvbnRlbnQ7XG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgICRpbXBsaWNpdDogb3B0aW9uLFxuICAgICAgICBzb2NrZXQ6IHNvY2tldCQkIHwgYXN5bmMsXG4gICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgfVxuICAgIFwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NvZGluZ01lbnVcbiAgPjxhdWktbWVudSBzaXplPVwic21hbGxcIlxuICAgID48YXVpLW1lbnUtaXRlbVxuICAgICAgW2FjdGl2ZWRdPVwiY29kaW5nID09PSAndXRmOCdcIlxuICAgICAgKGNsaWNrKT1cImNvZGluZyA9ICd1dGY4J1wiXG4gICAgICA+VVRGLThcbiAgICA8L2F1aS1tZW51LWl0ZW0+XG4gICAgPGF1aS1tZW51LWl0ZW1cbiAgICAgIFthY3RpdmVkXT1cImNvZGluZyA9PT0gJ2diMTgwMzAnXCJcbiAgICAgIChjbGljayk9XCJjb2RpbmcgPSAnZ2IxODAzMCdcIlxuICAgICAgPkdCIDE4MDMwXG4gICAgPC9hdWktbWVudS1pdGVtPlxuICA8L2F1aS1tZW51PjwvbmctdGVtcGxhdGVcbj5cblxuPG5nLXRlbXBsYXRlICNmb250VGVtcGxhdGU+XG4gIDxhdWktbnVtYmVyLWlucHV0XG4gICAgW3N0ZXBdPVwiMVwiXG4gICAgW3ByZWNpc2lvbl09XCIxXCJcbiAgICBbbWluXT1cIjEyXCJcbiAgICBbbWF4XT1cIjQwXCJcbiAgICBbY29udHJvbHNdPVwidHJ1ZVwiXG4gICAgW2FuZ2xlQ29udHJvbHNdPVwidHJ1ZVwiXG4gICAgW3ZhbHVlXT1cImZvbnRTaXplXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwiZm9udFNpemVDaGFuZ2UoJGV2ZW50KVwiXG4gID5cbiAgICA8c3BhbiBhdWlJbnB1dEFkZG9uQWZ0ZXI+cHg8L3NwYW4+XG4gIDwvYXVpLW51bWJlci1pbnB1dD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -117,6 +117,7 @@ export class TerminalExtraContentDirective {
|
|
|
117
117
|
export class TerminalGroupComponent {
|
|
118
118
|
constructor() {
|
|
119
119
|
this.ConnectionStatus = ConnectionStatus;
|
|
120
|
+
this.hasActivatedMap = new Map();
|
|
120
121
|
this.selectedIndex = 0;
|
|
121
122
|
this.terminalOptions = [];
|
|
122
123
|
this.selectedIndexChange = new EventEmitter();
|
|
@@ -165,6 +166,10 @@ export class TerminalGroupComponent {
|
|
|
165
166
|
__decorate([
|
|
166
167
|
ValueHook(function (index) {
|
|
167
168
|
this.terminals?.get(index)?.focus();
|
|
169
|
+
if (this.terminals?.get(index) && !this.hasActivatedMap.get(index)) {
|
|
170
|
+
this.hasActivatedMap.set(index, true);
|
|
171
|
+
this.terminals.get(index)?.activateTerminal();
|
|
172
|
+
}
|
|
168
173
|
}),
|
|
169
174
|
__metadata("design:type", Object)
|
|
170
175
|
], TerminalGroupComponent.prototype, "selectedIndex", void 0);
|
|
@@ -201,4 +206,4 @@ __decorate([
|
|
|
201
206
|
args: [TerminalComponent]
|
|
202
207
|
}] }); })();
|
|
203
208
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TerminalGroupComponent, { className: "TerminalGroupComponent", filePath: "exec/terminal-group/component.ts", lineNumber: 38 }); })();
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztJQ0twRCwrQkFTWTs7O0lBRFYsb0VBQTRDOzs7SUFFOUMsK0JBWVk7Ozs7O0lBRFYsQUFEQSwrQ0FBOEIsdURBQ0k7OztJQUVwQywrQkFNWTs7O0lBRlYscUNBQW9COzs7SUEvQnhCLDhCQUdDO0lBd0JDLEFBYkEsQUFWQSxpSEFTQyxvR0FhQSxxR0FPQTtJQUNELHdDQUdxQjtJQUN2QixpQkFBTTs7OztJQWpDRCxjQUtUO0lBTFMscUtBS1Q7SUFLUyxjQU1UO0lBTlMsdUtBTVQ7SUFPUyxjQUdUO0lBSFMsOEdBR1Q7SUFJUSxjQUFtQztJQUNuQyxBQURBLHVEQUFtQyxpQkFDbkI7Ozs7SUE3Q3RCLGtDQVFDO0lBREMsMk5BQVMsMkJBQWlCLEtBQUM7SUFFM0Isa0dBR0M7SUFvQ0QsdUNBcUJDO0lBTkMsQUFQQSxBQURBLGlSQUEwQixzREFBNEMsS0FBQyxnU0FFNUQsd0JBQ1Ysa0RBSUEsQ0FDUCxLQURPLGtQQUVVLDBCQUNWLG9DQUdBLENBQ1AsS0FETztJQUVMLEFBREcsaUJBQWUsRUFDUjs7Ozs7SUFoRVIsZ0NBQWtCO0lBMkNoQixlQUFpQjtJQUtqQixBQUhBLEFBREEsQUFEQSxrQ0FBaUIsZUFDTix1SUFHVixnREFDdUM7Ozs7SUE3RDlDLHdDQU1DO0lBREMscU9BQXVCLHVDQUFnQyxLQUFDO0lBRXhELCtGQVFDO0lBK0RILGlCQUFnQjs7O0lBMUVkLEFBREEsMkJBQWEsdUNBQ2tCO0lBS1QsY0FDWDtJQUNBLEFBRlcsZ0RBQ1gsc0NBR2I7Ozs7SUF1RUUsNEJBQU07SUFBQSxZQUF5Qzs7SUFBQSxpQkFBTztJQUN0RCxrQ0FJQztJQURDLDZNQUFTLHNCQUFZLEtBQUM7SUFFdEIsWUFDRjs7SUFBQSxpQkFBUzs7SUFQSCxjQUF5QztJQUF6QyxtRUFBeUM7SUFNN0MsZUFDRjtJQURFLGtFQUNGOztBRHRFRixNQUFNLE9BQU8sNEJBQTRCO0lBSHpDO1FBS0UsV0FBTSxHQUFpQixJQUFJLENBQUM7S0FDN0I7NkZBSFksNEJBQTRCO29FQUE1Qiw0QkFBNEI7O2lGQUE1Qiw0QkFBNEI7Y0FIeEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7YUFDckM7Z0JBR0MsTUFBTTtrQkFETCxLQUFLO21CQUFDLHdCQUF3Qjs7QUFPakMsTUFBTSxPQUFPLDZCQUE2Qjs4RkFBN0IsNkJBQTZCO29FQUE3Qiw2QkFBNkI7O2lGQUE3Qiw2QkFBNkI7Y0FIekMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7O0FBU0QsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQU9FLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBTXBDLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBR2xCLG9CQUFlLEdBQXFCLEVBQUUsQ0FBQztRQWdCOUIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUdqRCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUc3RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUluQyxDQUFDO1FBR0ksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFHckMsQ0FBQztRQUtMLGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztLQXdCekQ7SUF0QkMsY0FBYyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQztZQUM5QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7WUFDdkMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsQ0FBUyxFQUFFLE1BQXNCO1FBQzdDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCw0QkFBNEIsQ0FDMUIsTUFBc0IsRUFDdEIsTUFBd0I7UUFFeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4QyxDQUFDO3VGQXRFVSxzQkFBc0I7b0VBQXRCLHNCQUFzQjt3Q0FZbkIsNEJBQTRCO3dDQUc1Qiw0QkFBNEIsS0FDbEMsV0FBVzt3Q0FJTCw2QkFBNkIsS0FDbkMsV0FBVzs7Ozs7OzsyQkF1QkwsaUJBQWlCOzs7OztZQ0RqQyxBQWhGQSwyRkFNQywyR0E2RUE7O1lBbEZFLHNGQUE2Qjs7O0FEMkM5QjtJQUpDLFNBQVMsQ0FBQyxVQUF3QyxLQUFhO1FBQzlELElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUMsQ0FBQzs7NkRBRWdCO2lGQVBQLHNCQUFzQjtjQU5sQyxTQUFTOzJCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO2dCQVMvQyxhQUFhO2tCQURaLEtBQUs7WUFJTixlQUFlO2tCQURkLEtBQUs7WUFJTixtQkFBbUI7a0JBRGxCLFlBQVk7bUJBQUMsNEJBQTRCO1lBTTFDLHNCQUFzQjtrQkFIckIsWUFBWTttQkFBQyw0QkFBNEIsRUFBRTtvQkFDMUMsSUFBSSxFQUFFLFdBQVc7aUJBQ2xCO1lBTUQsdUJBQXVCO2tCQUh0QixZQUFZO21CQUFDLDZCQUE2QixFQUFFO29CQUMzQyxJQUFJLEVBQUUsV0FBVztpQkFDbEI7WUFJUSxtQkFBbUI7a0JBRDNCLE1BQU07WUFJRSxxQkFBcUI7a0JBRDdCLE1BQU07WUFJRSxXQUFXO2tCQURuQixNQUFNO1lBUUUsYUFBYTtrQkFEckIsTUFBTTtZQU9QLFNBQVM7a0JBRFIsWUFBWTttQkFBQyxpQkFBaUI7O2tGQTVDcEIsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVmFsdWVIb29rIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENvbm5lY3Rpb25TdGF0dXMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGVybWluYWxDb21wb25lbnQgfSBmcm9tICcuLi90ZXJtaW5hbC9jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVybWluYWxPcHRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xUZXJtaW5hbEV4dHJhQnV0dG9uXScsXG59KVxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmUge1xuICBASW5wdXQoJ2FjbFRlcm1pbmFsRXh0cmFCdXR0b24nKVxuICBlbmFibGU6IGJvb2xlYW4gfCAnJyA9IHRydWU7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xUZXJtaW5hbEV4dHJhQ29udGVudF0nLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbEV4dHJhQ29udGVudERpcmVjdGl2ZSB7fVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtdGVybWluYWwtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYWxHcm91cENvbXBvbmVudCB7XG4gIENvbm5lY3Rpb25TdGF0dXMgPSBDb25uZWN0aW9uU3RhdHVzO1xuXG4gIEBWYWx1ZUhvb2soZnVuY3Rpb24gKHRoaXM6IFRlcm1pbmFsR3JvdXBDb21wb25lbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnRlcm1pbmFscz8uZ2V0KGluZGV4KT8uZm9jdXMoKTtcbiAgfSlcbiAgQElucHV0KClcbiAgc2VsZWN0ZWRJbmRleCA9IDA7XG5cbiAgQElucHV0KClcbiAgdGVybWluYWxPcHRpb25zOiBUZXJtaW5hbE9wdGlvbltdID0gW107XG5cbiAgQENvbnRlbnRDaGlsZChUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlKVxuICB0ZXJtaW5hbEV4dHJhQnV0dG9uOiBUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoVGVybWluYWxFeHRyYUJ1dHRvbkRpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICB0ZXJtaW5hbEV4dHJhQnV0dG9uUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAQ29udGVudENoaWxkKFRlcm1pbmFsRXh0cmFDb250ZW50RGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHRlcm1pbmFsRXh0cmFDb250ZW50UmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSB0ZXJtaW5hbE9wdGlvbnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRlcm1pbmFsT3B0aW9uW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNvY2tldFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgb3B0aW9uOiBUZXJtaW5hbE9wdGlvbjtcbiAgICBzb2NrZXQ6IFdlYlNvY2tldDtcbiAgICBpbmRleDogbnVtYmVyO1xuICB9PigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBmYWxsYmFja1NoZWxsID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgb3B0aW9uOiBUZXJtaW5hbE9wdGlvbjtcbiAgICBzaGVsbDogc3RyaW5nO1xuICB9PigpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oVGVybWluYWxDb21wb25lbnQpXG4gIHRlcm1pbmFsczogUXVlcnlMaXN0PFRlcm1pbmFsQ29tcG9uZW50PjtcblxuICBzdGF0dXNNYXAgPSBuZXcgTWFwPFRlcm1pbmFsT3B0aW9uLCBDb25uZWN0aW9uU3RhdHVzPigpO1xuXG4gIHJlbW92ZVRlcm1pbmFsKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnRlcm1pbmFscy5nZXQoaW5kZXgpPy5raWxsUHJvY2VzcygpO1xuICAgIHRoaXMudGVybWluYWxPcHRpb25zQ2hhbmdlLmVtaXQoW1xuICAgICAgLi4udGhpcy50ZXJtaW5hbE9wdGlvbnMuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgLi4udGhpcy50ZXJtaW5hbE9wdGlvbnMuc2xpY2UoaW5kZXggKyAxKSxcbiAgICBdKTtcbiAgfVxuXG4gIHRyYWNrQnlPcHRpb24oXzogbnVtYmVyLCBvcHRpb246IFRlcm1pbmFsT3B0aW9uKSB7XG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfVxuXG4gIGhhbmRsZUNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UoXG4gICAgb3B0aW9uOiBUZXJtaW5hbE9wdGlvbixcbiAgICBzdGF0dXM6IENvbm5lY3Rpb25TdGF0dXMsXG4gICkge1xuICAgIHRoaXMuc3RhdHVzTWFwLnNldChvcHRpb24sIHN0YXR1cyk7XG4gIH1cblxuICByZWNvbm5lY3QoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudGVybWluYWxzLmdldChpbmRleCkucmVjb25uZWN0KCk7XG4gIH1cbn1cbiIsIjxhdWktdGFiLWdyb3VwXG4gICpuZ0lmPVwidGVybWluYWxPcHRpb25zPy5sZW5ndGhcIlxuICB0eXBlPVwiY2FyZFwiXG4gIFtsYXp5XT1cInRydWVcIlxuICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRJbmRleENoYW5nZS5lbWl0KCRldmVudClcIlxuPlxuICA8YXVpLXRhYlxuICAgICpuZ0Zvcj1cIlxuICAgICAgbGV0IG9wdGlvbiBvZiB0ZXJtaW5hbE9wdGlvbnM7XG4gICAgICBsZXQgaSA9IGluZGV4O1xuICAgICAgdHJhY2tCeTogdHJhY2tCeU9wdGlvblxuICAgIFwiXG4gICAgW2Nsb3NlYWJsZV09XCJ0cnVlXCJcbiAgICAoY2xvc2UpPVwicmVtb3ZlVGVybWluYWwoaSlcIlxuICA+XG4gICAgPGRpdlxuICAgICAgKmF1aVRhYkxhYmVsXG4gICAgICBjbGFzcz1cInR3LWZsZXhcIlxuICAgID5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIFtDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcsIENvbm5lY3Rpb25TdGF0dXMuUmVDb25uZWN0aW5nXS5pbmNsdWRlcyhcbiAgICAgICAgICAgIHN0YXR1c01hcC5nZXQob3B0aW9uKVxuICAgICAgICAgIClcbiAgICAgICAgXCJcbiAgICAgICAgY2xhc3M9XCJ0dy1tci00IHR3LWljb24tbCB0dy10ZXh0LXByaW1hcnlcIlxuICAgICAgICBpY29uPVwic3Bpbm5lclwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cIidleGVjX2Nvbm5lY3RpbmcnIHwgdHJhbnNsYXRlXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgW1xuICAgICAgICAgICAgQ29ubmVjdGlvblN0YXR1cy5EaXNjb25uZWN0ZWQsXG4gICAgICAgICAgICBDb25uZWN0aW9uU3RhdHVzLk5vUGVybWlzc2lvblxuICAgICAgICAgIF0uaW5jbHVkZXMoc3RhdHVzTWFwLmdldChvcHRpb24pKVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInR3LW1yLTQgdHctaWNvbi1sIHR3LXRleHQtcmVkXCJcbiAgICAgICAgaWNvbj1cImV4Y2xhbWF0aW9uX3RyaWFuZ2xlX3NcIlxuICAgICAgICBiYWNrZ3JvdW5kPVwidHJpYW5nbGVcIlxuICAgICAgICBbYXVpVG9vbHRpcF09XCJkaXNjb25uZWN0ZWRUaXBcIlxuICAgICAgICBbYXVpVG9vbHRpcENvbnRleHRdPVwieyBpbmRleDogaSB9XCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgc3RhdHVzTWFwLmdldChvcHRpb24pID09PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCAmJiBvcHRpb24uaWNvblxuICAgICAgICBcIlxuICAgICAgICBbaWNvbl09XCJvcHRpb24uaWNvblwiXG4gICAgICAgIGNsYXNzPVwidHctbXItNCB0dy1pY29uLWxcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YWNsLXRleHQtZWxsaXBzaXNcbiAgICAgICAgW3RleHRdPVwib3B0aW9uLmxhYmVsIHx8IG9wdGlvbi5wb2RcIlxuICAgICAgICBbdGFpbExlbmd0aF09XCI2XCJcbiAgICAgID48L2FjbC10ZXh0LWVsbGlwc2lzPlxuICAgIDwvZGl2PlxuICAgIDxhY2wtdGVybWluYWxcbiAgICAgIFtvcHRpb25dPVwib3B0aW9uXCJcbiAgICAgIFtpbmRleF09XCJpXCJcbiAgICAgIFtleHRyYUJ1dHRvbl09XCJcbiAgICAgICAgdGVybWluYWxFeHRyYUJ1dHRvbj8uZW5hYmxlID8gdGVybWluYWxFeHRyYUJ1dHRvblJlZiA6IG51bGxcbiAgICAgIFwiXG4gICAgICBbZXh0cmFDb250ZW50XT1cInRlcm1pbmFsRXh0cmFDb250ZW50UmVmXCJcbiAgICAgIChjb25uZWN0aW9uU3RhdHVzQ2hhbmdlKT1cImhhbmRsZUNvbm5lY3Rpb25TdGF0dXNDaGFuZ2Uob3B0aW9uLCAkZXZlbnQpXCJcbiAgICAgIChzb2NrZXRSZWFkeSk9XCJcbiAgICAgICAgc29ja2V0UmVhZHkuZW1pdCh7XG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIHNvY2tldDogJGV2ZW50LFxuICAgICAgICAgIGluZGV4OiBpXG4gICAgICAgIH0pXG4gICAgICBcIlxuICAgICAgKGZhbGxiYWNrU2hlbGwpPVwiXG4gICAgICAgIGZhbGxiYWNrU2hlbGwuZW1pdCh7XG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIHNoZWxsOiAkZXZlbnRcbiAgICAgICAgfSlcbiAgICAgIFwiXG4gICAgPjwvYWNsLXRlcm1pbmFsPlxuICA8L2F1aS10YWI+XG48L2F1aS10YWItZ3JvdXA+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGlzY29ubmVjdGVkVGlwXG4gIGxldC1pPVwiaW5kZXhcIlxuPlxuICA8c3Bhbj57eyAnZXhlY19kaXNjb25uZWN0ZWRfdGlwJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgPGJ1dHRvblxuICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICBzaXplPVwibWluaVwiXG4gICAgKGNsaWNrKT1cInJlY29ubmVjdChpKVwiXG4gID5cbiAgICB7eyAncmVjb25uZWN0JyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztJQ0twRCwrQkFTWTs7O0lBRFYsb0VBQTRDOzs7SUFFOUMsK0JBWVk7Ozs7O0lBRFYsQUFEQSwrQ0FBOEIsdURBQ0k7OztJQUVwQywrQkFNWTs7O0lBRlYscUNBQW9COzs7SUEvQnhCLDhCQUdDO0lBd0JDLEFBYkEsQUFWQSxpSEFTQyxvR0FhQSxxR0FPQTtJQUNELHdDQUdxQjtJQUN2QixpQkFBTTs7OztJQWpDRCxjQUtUO0lBTFMscUtBS1Q7SUFLUyxjQU1UO0lBTlMsdUtBTVQ7SUFPUyxjQUdUO0lBSFMsOEdBR1Q7SUFJUSxjQUFtQztJQUNuQyxBQURBLHVEQUFtQyxpQkFDbkI7Ozs7SUE3Q3RCLGtDQVFDO0lBREMsMk5BQVMsMkJBQWlCLEtBQUM7SUFFM0Isa0dBR0M7SUFvQ0QsdUNBcUJDO0lBTkMsQUFQQSxBQURBLGlSQUEwQixzREFBNEMsS0FBQyxnU0FFNUQsd0JBQ1Ysa0RBSUEsQ0FDUCxLQURPLGtQQUVVLDBC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QyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDLENBQUM7OzZEQUVnQjtpRkFiUCxzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTtnQkFlL0MsYUFBYTtrQkFEWixLQUFLO1lBSU4sZUFBZTtrQkFEZCxLQUFLO1lBSU4sbUJBQW1CO2tCQURsQixZQUFZO21CQUFDLDRCQUE0QjtZQU0xQyxzQkFBc0I7a0JBSHJCLFlBQVk7bUJBQUMsNEJBQTRCLEVBQUU7b0JBQzFDLElBQUksRUFBRSxXQUFXO2lCQUNsQjtZQU1ELHVCQUF1QjtrQkFIdEIsWUFBWTttQkFBQyw2QkFBNkIsRUFBRTtvQkFDM0MsSUFBSSxFQUFFLFdBQVc7aUJBQ2xCO1lBSVEsbUJBQW1CO2tCQUQzQixNQUFNO1lBSUUscUJBQXFCO2tCQUQ3QixNQUFNO1lBSUUsV0FBVztrQkFEbkIsTUFBTTtZQVFFLGFBQWE7a0JBRHJCLE1BQU07WUFPUCxTQUFTO2tCQURSLFlBQVk7bUJBQUMsaUJBQWlCOztrRkFsRHBCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFZhbHVlSG9vayB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRlcm1pbmFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVybWluYWwvY29tcG9uZW50JztcbmltcG9ydCB7IFRlcm1pbmFsT3B0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUJ1dHRvbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlIHtcbiAgQElucHV0KCdhY2xUZXJtaW5hbEV4dHJhQnV0dG9uJylcbiAgZW5hYmxlOiBib29sZWFuIHwgJycgPSB0cnVlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUNvbnRlbnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRlcm1pbmFsLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsR3JvdXBDb21wb25lbnQge1xuICBDb25uZWN0aW9uU3RhdHVzID0gQ29ubmVjdGlvblN0YXR1cztcblxuICBwcml2YXRlIGhhc0FjdGl2YXRlZE1hcCA9IG5ldyBNYXA8bnVtYmVyLCBib29sZWFuPigpO1xuXG4gIEBWYWx1ZUhvb2soZnVuY3Rpb24gKHRoaXM6IFRlcm1pbmFsR3JvdXBDb21wb25lbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnRlcm1pbmFscz8uZ2V0KGluZGV4KT8uZm9jdXMoKTtcbiAgICBpZiAodGhpcy50ZXJtaW5hbHM/LmdldChpbmRleCkgJiYgIXRoaXMuaGFzQWN0aXZhdGVkTWFwLmdldChpbmRleCkpIHtcbiAgICAgIHRoaXMuaGFzQWN0aXZhdGVkTWFwLnNldChpbmRleCwgdHJ1ZSk7XG4gICAgICB0aGlzLnRlcm1pbmFscy5nZXQoaW5kZXgpPy5hY3RpdmF0ZVRlcm1pbmFsKCk7XG4gICAgfVxuICB9KVxuICBASW5wdXQoKVxuICBzZWxlY3RlZEluZGV4ID0gMDtcblxuICBASW5wdXQoKVxuICB0ZXJtaW5hbE9wdGlvbnM6IFRlcm1pbmFsT3B0aW9uW10gPSBbXTtcblxuICBAQ29udGVudENoaWxkKFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmUpXG4gIHRlcm1pbmFsRXh0cmFCdXR0b246IFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHRlcm1pbmFsRXh0cmFCdXR0b25SZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBDb250ZW50Q2hpbGQoVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgdGVybWluYWxFeHRyYUNvbnRlbnRSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHRlcm1pbmFsT3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGVybWluYWxPcHRpb25bXT4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc29ja2V0UmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNvY2tldDogV2ViU29ja2V0O1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZhbGxiYWNrU2hlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNoZWxsOiBzdHJpbmc7XG4gIH0+KCk7XG5cbiAgQFZpZXdDaGlsZHJlbihUZXJtaW5hbENvbXBvbmVudClcbiAgdGVybWluYWxzOiBRdWVyeUxpc3Q8VGVybWluYWxDb21wb25lbnQ+O1xuXG4gIHN0YXR1c01hcCA9IG5ldyBNYXA8VGVybWluYWxPcHRpb24sIENvbm5lY3Rpb25TdGF0dXM+KCk7XG5cbiAgcmVtb3ZlVGVybWluYWwoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudGVybWluYWxzLmdldChpbmRleCk/LmtpbGxQcm9jZXNzKCk7XG4gICAgdGhpcy50ZXJtaW5hbE9wdGlvbnNDaGFuZ2UuZW1pdChbXG4gICAgICAuLi50aGlzLnRlcm1pbmFsT3B0aW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAuLi50aGlzLnRlcm1pbmFsT3B0aW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgIF0pO1xuICB9XG5cbiAgdHJhY2tCeU9wdGlvbihfOiBudW1iZXIsIG9wdGlvbjogVGVybWluYWxPcHRpb24pIHtcbiAgICByZXR1cm4gb3B0aW9uO1xuICB9XG5cbiAgaGFuZGxlQ29ubmVjdGlvblN0YXR1c0NoYW5nZShcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uLFxuICAgIHN0YXR1czogQ29ubmVjdGlvblN0YXR1cyxcbiAgKSB7XG4gICAgdGhpcy5zdGF0dXNNYXAuc2V0KG9wdGlvbiwgc3RhdHVzKTtcbiAgfVxuXG4gIHJlY29ubmVjdChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy50ZXJtaW5hbHMuZ2V0KGluZGV4KS5yZWNvbm5lY3QoKTtcbiAgfVxufVxuIiwiPGF1aS10YWItZ3JvdXBcbiAgKm5nSWY9XCJ0ZXJtaW5hbE9wdGlvbnM/Lmxlbmd0aFwiXG4gIHR5cGU9XCJjYXJkXCJcbiAgW2xhenldPVwidHJ1ZVwiXG4gIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxuICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJzZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4+XG4gIDxhdWktdGFiXG4gICAgKm5nRm9yPVwiXG4gICAgICBsZXQgb3B0aW9uIG9mIHRlcm1pbmFsT3B0aW9ucztcbiAgICAgIGxldCBpID0gaW5kZXg7XG4gICAgICB0cmFja0J5OiB0cmFja0J5T3B0aW9uXG4gICAgXCJcbiAgICBbY2xvc2VhYmxlXT1cInRydWVcIlxuICAgIChjbG9zZSk9XCJyZW1vdmVUZXJtaW5hbChpKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqYXVpVGFiTGFiZWxcbiAgICAgIGNsYXNzPVwidHctZmxleFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgW0Nvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZywgQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmddLmluY2x1ZGVzKFxuICAgICAgICAgICAgc3RhdHVzTWFwLmdldChvcHRpb24pXG4gICAgICAgICAgKVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInR3LW1yLTQgdHctaWNvbi1sIHR3LXRleHQtcHJpbWFyeVwiXG4gICAgICAgIGljb249XCJzcGlubmVyXCJcbiAgICAgICAgW2F1aVRvb2x0aXBdPVwiJ2V4ZWNfY29ubmVjdGluZycgfCB0cmFuc2xhdGVcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBbXG4gICAgICAgICAgICBDb25uZWN0aW9uU3RhdHVzLkRpc2Nvbm5lY3RlZCxcbiAgICAgICAgICAgIENvbm5lY3Rpb25TdGF0dXMuTm9QZXJtaXNzaW9uXG4gICAgICAgICAgXS5pbmNsdWRlcyhzdGF0dXNNYXAuZ2V0KG9wdGlvbikpXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwidHctbXItNCB0dy1pY29uLWwgdHctdGV4dC1yZWRcIlxuICAgICAgICBpY29uPVwiZXhjbGFtYXRpb25fdHJpYW5nbGVfc1wiXG4gICAgICAgIGJhY2tncm91bmQ9XCJ0cmlhbmdsZVwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cImRpc2Nvbm5lY3RlZFRpcFwiXG4gICAgICAgIFthdWlUb29sdGlwQ29udGV4dF09XCJ7IGluZGV4OiBpIH1cIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBzdGF0dXNNYXAuZ2V0KG9wdGlvbikgPT09IENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGVkICYmIG9wdGlvbi5pY29uXG4gICAgICAgIFwiXG4gICAgICAgIFtpY29uXT1cIm9wdGlvbi5pY29uXCJcbiAgICAgICAgY2xhc3M9XCJ0dy1tci00IHR3LWljb24tbFwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDxhY2wtdGV4dC1lbGxpcHNpc1xuICAgICAgICBbdGV4dF09XCJvcHRpb24ubGFiZWwgfHwgb3B0aW9uLnBvZFwiXG4gICAgICAgIFt0YWlsTGVuZ3RoXT1cIjZcIlxuICAgICAgPjwvYWNsLXRleHQtZWxsaXBzaXM+XG4gICAgPC9kaXY+XG4gICAgPGFjbC10ZXJtaW5hbFxuICAgICAgW29wdGlvbl09XCJvcHRpb25cIlxuICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgW2V4dHJhQnV0dG9uXT1cIlxuICAgICAgICB0ZXJtaW5hbEV4dHJhQnV0dG9uPy5lbmFibGUgPyB0ZXJtaW5hbEV4dHJhQnV0dG9uUmVmIDogbnVsbFxuICAgICAgXCJcbiAgICAgIFtleHRyYUNvbnRlbnRdPVwidGVybWluYWxFeHRyYUNvbnRlbnRSZWZcIlxuICAgICAgKGNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UpPVwiaGFuZGxlQ29ubmVjdGlvblN0YXR1c0NoYW5nZShvcHRpb24sICRldmVudClcIlxuICAgICAgKHNvY2tldFJlYWR5KT1cIlxuICAgICAgICBzb2NrZXRSZWFkeS5lbWl0KHtcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgc29ja2V0OiAkZXZlbnQsXG4gICAgICAgICAgaW5kZXg6IGlcbiAgICAgICAgfSlcbiAgICAgIFwiXG4gICAgICAoZmFsbGJhY2tTaGVsbCk9XCJcbiAgICAgICAgZmFsbGJhY2tTaGVsbC5lbWl0KHtcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgc2hlbGw6ICRldmVudFxuICAgICAgICB9KVxuICAgICAgXCJcbiAgICA+PC9hY2wtdGVybWluYWw+XG4gIDwvYXVpLXRhYj5cbjwvYXVpLXRhYi1ncm91cD5cblxuPG5nLXRlbXBsYXRlXG4gICNkaXNjb25uZWN0ZWRUaXBcbiAgbGV0LWk9XCJpbmRleFwiXG4+XG4gIDxzcGFuPnt7ICdleGVjX2Rpc2Nvbm5lY3RlZF90aXAnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgIHNpemU9XCJtaW5pXCJcbiAgICAoY2xpY2spPVwicmVjb25uZWN0KGkpXCJcbiAgPlxuICAgIHt7ICdyZWNvbm5lY3QnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { isLocalDev } from '../core/public-api';
|
|
2
2
|
import { FALLBACK_LANGUAGE, LOCALE_STORAGE } from './constants';
|
|
3
3
|
let __availableLanguages;
|
|
4
|
-
const BUILTIN_LANGUAGES = [{ id: 'en', name: 'English' }];
|
|
5
4
|
export async function loadAvailableLanguages() {
|
|
6
|
-
__availableLanguages =
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
__availableLanguages =
|
|
6
|
+
(await fetch(isLocalDev()
|
|
7
|
+
? '/console-i18n/languages.json'
|
|
8
|
+
: '/console/api/v1/i18n/languages')
|
|
9
9
|
.then(res => res.json())
|
|
10
10
|
.then(res => res.availableLanguages)) || [];
|
|
11
11
|
return __availableLanguages;
|
|
@@ -31,6 +31,6 @@ export function getUserLanguage(availableLanguages) {
|
|
|
31
31
|
return FALLBACK_LANGUAGE;
|
|
32
32
|
}
|
|
33
33
|
export function isBuiltInLanguage(language) {
|
|
34
|
-
return
|
|
34
|
+
return ['en'].includes(language);
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvdHJhbnNsYXRlL2kxOG4tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT2hFLElBQUksb0JBQWdDLENBQUM7QUFFckMsTUFBTSxDQUFDLEtBQUssVUFBVSxzQkFBc0I7SUFDMUMsb0JBQW9CO1FBQ2xCLENBQUMsTUFBTSxLQUFLLENBQ1YsVUFBVSxFQUFFO1lBQ1YsQ0FBQyxDQUFDLDhCQUE4QjtZQUNoQyxDQUFDLENBQUMsZ0NBQWdDLENBQ3JDO2FBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRWhELE9BQU8sb0JBQW9CLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUI7SUFHbkMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxPQUFPLG9CQUFvQixDQUFDO0FBQzlCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLGtCQUE2QjtJQUMzRCxrQkFBa0I7UUFDaEIsa0JBQWtCLElBQUkscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFckUsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RCxNQUFNLGFBQWEsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUNuRSxTQUFTLENBQUMsU0FBUyxDQUNwQixDQUFDO0lBRUYsS0FBSyxNQUFNLFFBQVEsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQ3hDLGFBQWEsQ0FBQyxFQUFFLENBQ2QsYUFBYSxLQUFLLFFBQVE7WUFDMUIsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN6RCxDQUFDO1FBQ0YsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxpQkFBaUIsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFFBQWdCO0lBQ2hELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZXBSZWFkb25seSB9IGZyb20gJ3RzLWVzc2VudGlhbHMnO1xuXG5pbXBvcnQgeyBpc0xvY2FsRGV2IH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgRkFMTEJBQ0tfTEFOR1VBR0UsIExPQ0FMRV9TVE9SQUdFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5pbnRlcmZhY2UgTGFuZ0luZm8ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmxldCBfX2F2YWlsYWJsZUxhbmd1YWdlczogTGFuZ0luZm9bXTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRBdmFpbGFibGVMYW5ndWFnZXMoKTogUHJvbWlzZTxMYW5nSW5mb1tdPiB7XG4gIF9fYXZhaWxhYmxlTGFuZ3VhZ2VzID1cbiAgICAoYXdhaXQgZmV0Y2goXG4gICAgICBpc0xvY2FsRGV2KClcbiAgICAgICAgPyAnL2NvbnNvbGUtaTE4bi9sYW5ndWFnZXMuanNvbidcbiAgICAgICAgOiAnL2NvbnNvbGUvYXBpL3YxL2kxOG4vbGFuZ3VhZ2VzJyxcbiAgICApXG4gICAgICAudGhlbihyZXMgPT4gcmVzLmpzb24oKSlcbiAgICAgIC50aGVuKHJlcyA9PiByZXMuYXZhaWxhYmxlTGFuZ3VhZ2VzKSkgfHwgW107XG5cbiAgcmV0dXJuIF9fYXZhaWxhYmxlTGFuZ3VhZ2VzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXZhaWxhYmxlTGFuZ3VhZ2VzKCk6IERlZXBSZWFkb25seTxcbiAgdHlwZW9mIF9fYXZhaWxhYmxlTGFuZ3VhZ2VzXG4+IHtcbiAgaWYgKCFfX2F2YWlsYWJsZUxhbmd1YWdlcykge1xuICAgIHRocm93IG5ldyBFcnJvcignQXZhaWxhYmxlIGxhbmd1YWdlcyBub3QgbG9hZGVkJyk7XG4gIH1cbiAgcmV0dXJuIF9fYXZhaWxhYmxlTGFuZ3VhZ2VzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXNlckxhbmd1YWdlKGF2YWlsYWJsZUxhbmd1YWdlcz86IHN0cmluZ1tdKSB7XG4gIGF2YWlsYWJsZUxhbmd1YWdlcyA9XG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzIHx8IGdldEF2YWlsYWJsZUxhbmd1YWdlcygpLm1hcChsYW5nID0+IGxhbmcuaWQpO1xuXG4gIGNvbnN0IGxvY2FsZUxhbmd1YWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oTE9DQUxFX1NUT1JBR0UpO1xuICBjb25zdCB1c2VyTGFuZ3VhZ2VzID0gKGxvY2FsZUxhbmd1YWdlID8gW2xvY2FsZUxhbmd1YWdlXSA6IFtdKS5jb25jYXQoXG4gICAgbmF2aWdhdG9yLmxhbmd1YWdlcyxcbiAgKTtcblxuICBmb3IgKGNvbnN0IHVzZXJMYW5nIG9mIHVzZXJMYW5ndWFnZXMpIHtcbiAgICBjb25zdCByZXN1bHRMYW5nID0gYXZhaWxhYmxlTGFuZ3VhZ2VzLmZpbmQoXG4gICAgICBhdmFpbGFibGVMYW5nID0+XG4gICAgICAgIGF2YWlsYWJsZUxhbmcgPT09IHVzZXJMYW5nIHx8XG4gICAgICAgIGF2YWlsYWJsZUxhbmcuc3BsaXQoJy0nKVswXSA9PT0gdXNlckxhbmcuc3BsaXQoJy0nKVswXSxcbiAgICApO1xuICAgIGlmIChyZXN1bHRMYW5nKSB7XG4gICAgICByZXR1cm4gcmVzdWx0TGFuZztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gRkFMTEJBQ0tfTEFOR1VBR0U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0J1aWx0SW5MYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKSB7XG4gIHJldHVybiBbJ2VuJ10uaW5jbHVkZXMobGFuZ3VhZ2UpO1xufVxuIl19
|
|
@@ -26,11 +26,11 @@ export class FieldSetColumnComponent {
|
|
|
26
26
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FieldSetColumnComponent, selectors: [["acl-field-set-column"]], standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function FieldSetColumnComponent_Template(rf, ctx) { if (rf & 1) {
|
|
27
27
|
i0.ɵɵprojectionDef();
|
|
28
28
|
i0.ɵɵprojection(0);
|
|
29
|
-
} }, styles: ["[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1}[_nghost-%COMP%] acl-field-set-item{width:100%;flex:none;margin-bottom:12px} acl-field-set-column-group.label--not_bold label{font-weight:400}"], changeDetection: 0 }); }
|
|
29
|
+
} }, styles: ["[_nghost-%COMP%]{display:flex;width:100%;flex-direction:column;flex:1}[_nghost-%COMP%] acl-field-set-item{width:100%;flex:none;margin-bottom:12px} acl-field-set-column-group.label--not_bold label{font-weight:400}"], changeDetection: 0 }); }
|
|
30
30
|
}
|
|
31
31
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FieldSetColumnComponent, [{
|
|
32
32
|
type: Component,
|
|
33
|
-
args: [{ selector: 'acl-field-set-column', template: '<ng-content></ng-content>', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [":host{display:flex;flex-direction:column;flex:1}:host ::ng-deep acl-field-set-item{width:100%;flex:none;margin-bottom:12px}::ng-deep acl-field-set-column-group.label--not_bold ::ng-deep label{font-weight:400}\n"] }]
|
|
33
|
+
args: [{ selector: 'acl-field-set-column', template: '<ng-content></ng-content>', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: [":host{display:flex;width:100%;flex-direction:column;flex:1}:host ::ng-deep acl-field-set-item{width:100%;flex:none;margin-bottom:12px}::ng-deep acl-field-set-column-group.label--not_bold ::ng-deep label{font-weight:400}\n"] }]
|
|
34
34
|
}], null, null); })();
|
|
35
35
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FieldSetColumnComponent, { className: "FieldSetColumnComponent", filePath: "widget/field-set/column/component.ts", lineNumber: 26 }); })();
|
|
36
36
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9maWVsZC1zZXQvY29sdW1uL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRTFFLHVCQUF1QjtBQVd2QixNQUFNLE9BQU8sNEJBQTRCO0lBVnpDO1FBV1csaUJBQVksR0FBRyxLQUFLLENBQUM7S0FDL0I7NkZBRlksNEJBQTRCO29FQUE1Qiw0QkFBNEI7WUFBNUIsbURBQTRCOzs7WUFSNUIsa0JBQXlCOzs7aUZBUXpCLDRCQUE0QjtjQVZ4QyxTQUFTOzJCQUNFLDRCQUE0QixZQUM1QiwyQkFBMkIsdUJBRWhCLEtBQUssbUJBQ1QsdUJBQXVCLENBQUMsTUFBTSxRQUV6QyxFQUFFLHlCQUF5QixFQUFFLGNBQWMsRUFBRSxjQUN2QyxJQUFJO2dCQUdQLFlBQVk7a0JBQXBCLEtBQUs7O2tGQURLLDRCQUE0QjtBQVl6QyxNQUFNLE9BQU8sdUJBQXVCO3dGQUF2Qix1QkFBdUI7b0VBQXZCLHVCQUF1Qjs7WUFOdkIsa0JBQXlCOzs7aUZBTXpCLHVCQUF1QjtjQVJuQyxTQUFTOzJCQUNFLHNCQUFzQixZQUN0QiwyQkFBMkIsdUJBRWhCLEtBQUssbUJBQ1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJOztrRkFFTCx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyDmlK/mjIHnu5/kuIDnmoTliJfluIPlsYDvvIjlpoLljZXliJfluIPlsYDvvIzlj4zmoI/luIPlsYDvvIlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1maWVsZC1zZXQtY29sdW1uLWdyb3VwJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLWdyb3VwLnN0eWxlLnNjc3MnXSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDogeyAnW2NsYXNzLmxhYmVsLS1ub3RfYm9sZF0nOiAnbGFiZWxOb3RCb2xkJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNldENvbHVtbkdyb3VwQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbGFiZWxOb3RCb2xkID0gZmFsc2U7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1maWVsZC1zZXQtY29sdW1uJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sdW1uLnN0eWxlLnNjc3MnXSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNldENvbHVtbkNvbXBvbmVudCB7fVxuIl19
|
|
@@ -87,6 +87,7 @@ export declare class TerminalComponent implements OnChanges, OnDestroy, OnInit {
|
|
|
87
87
|
private closeSocket;
|
|
88
88
|
private resizeRemoteTerminal;
|
|
89
89
|
private updateConnectionStatus;
|
|
90
|
+
activateTerminal(): void;
|
|
90
91
|
static ɵfac: i0.ɵɵFactoryDeclaration<TerminalComponent, never>;
|
|
91
92
|
static ɵcmp: i0.ɵɵComponentDeclaration<TerminalComponent, "acl-terminal", never, { "option": { "alias": "option"; "required": false; }; "index": { "alias": "index"; "required": false; }; "extraButton": { "alias": "extraButton"; "required": false; }; "extraContent": { "alias": "extraContent"; "required": false; }; }, { "connectionStatusChange": "connectionStatusChange"; "sendData": "sendData"; "socketReady": "socketReady"; "fallbackShell": "fallbackShell"; }, never, never, false, never>;
|
|
92
93
|
}
|
|
@@ -14,6 +14,7 @@ export declare class TerminalExtraContentDirective {
|
|
|
14
14
|
}
|
|
15
15
|
export declare class TerminalGroupComponent {
|
|
16
16
|
ConnectionStatus: typeof ConnectionStatus;
|
|
17
|
+
private hasActivatedMap;
|
|
17
18
|
selectedIndex: number;
|
|
18
19
|
terminalOptions: TerminalOption[];
|
|
19
20
|
terminalExtraButton: TerminalExtraButtonDirective;
|