@po-ui/ng-components 6.8.0 → 6.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/po-button/po-button.component.mjs +4 -4
- package/esm2020/lib/components/po-field/po-combo/po-combo-base.component.mjs +54 -6
- package/esm2020/lib/components/po-field/po-combo/po-combo-filter.service.mjs +16 -8
- package/esm2020/lib/components/po-field/po-combo/po-combo.component.mjs +221 -112
- package/esm2020/lib/components/po-field/po-decimal/po-decimal.component.mjs +15 -4
- package/esm2020/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.mjs +8 -8
- package/esm2020/lib/components/po-table/po-table-base.component.mjs +18 -2
- package/esm2020/lib/components/po-table/po-table-column-manager/po-table-column-manager.component.mjs +10 -2
- package/esm2020/lib/components/po-table/po-table.component.mjs +987 -433
- package/esm2020/lib/directives/po-tooltip/po-tooltip-base.directive.mjs +2 -2
- package/esm2020/lib/directives/po-tooltip/po-tooltip.directive.mjs +32 -2
- package/fesm2015/po-ui-ng-components.mjs +1516 -601
- package/fesm2015/po-ui-ng-components.mjs.map +1 -1
- package/fesm2020/po-ui-ng-components.mjs +1347 -565
- package/fesm2020/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +31 -1
- package/lib/components/po-field/po-combo/po-combo-filter.service.d.ts +3 -0
- package/lib/components/po-field/po-combo/po-combo.component.d.ts +22 -3
- package/lib/components/po-table/po-table-base.component.d.ts +12 -1
- package/lib/components/po-table/po-table-column-manager/po-table-column-manager.component.d.ts +3 -1
- package/lib/components/po-table/po-table.component.d.ts +3 -0
- package/lib/directives/po-tooltip/po-tooltip-base.directive.d.ts +1 -1
- package/lib/directives/po-tooltip/po-tooltip.directive.d.ts +3 -0
- package/package.json +4 -4
- package/po-ui-ng-components-6.10.1.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-6.8.0.tgz +0 -0
|
@@ -31,16 +31,17 @@ const _c1 = ["popup"];
|
|
|
31
31
|
const _c2 = ["tableFooter"];
|
|
32
32
|
const _c3 = ["tableWrapper"];
|
|
33
33
|
const _c4 = ["poTableTbody"];
|
|
34
|
-
const _c5 = ["
|
|
35
|
-
const _c6 = ["
|
|
36
|
-
const _c7 = ["
|
|
37
|
-
const _c8 = ["
|
|
34
|
+
const _c5 = ["poTableThead"];
|
|
35
|
+
const _c6 = ["columnManagerTarget"];
|
|
36
|
+
const _c7 = ["actionsIconElement"];
|
|
37
|
+
const _c8 = ["actionsElement"];
|
|
38
|
+
const _c9 = ["headersTable"];
|
|
38
39
|
function PoTableComponent_po_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
39
40
|
i0.ɵɵelementContainer(0);
|
|
40
41
|
} }
|
|
41
42
|
function PoTableComponent_po_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
-
i0.ɵɵelementStart(0, "po-container",
|
|
43
|
-
i0.ɵɵtemplate(1, PoTableComponent_po_container_0_ng_container_1_Template, 1, 0, "ng-container",
|
|
43
|
+
i0.ɵɵelementStart(0, "po-container", 16);
|
|
44
|
+
i0.ɵɵtemplate(1, PoTableComponent_po_container_0_ng_container_1_Template, 1, 0, "ng-container", 17);
|
|
44
45
|
i0.ɵɵelementEnd();
|
|
45
46
|
} if (rf & 2) {
|
|
46
47
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -50,70 +51,79 @@ function PoTableComponent_po_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
50
51
|
i0.ɵɵproperty("ngTemplateOutlet", _r1);
|
|
51
52
|
} }
|
|
52
53
|
function PoTableComponent_ng_template_1_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
-
i0.ɵɵelementStart(0, "div",
|
|
54
|
-
i0.ɵɵelement(1, "po-loading",
|
|
54
|
+
i0.ɵɵelementStart(0, "div", 25);
|
|
55
|
+
i0.ɵɵelement(1, "po-loading", 26);
|
|
55
56
|
i0.ɵɵelementEnd();
|
|
56
57
|
} if (rf & 2) {
|
|
57
|
-
const
|
|
58
|
+
const ctx_r27 = i0.ɵɵnextContext(2);
|
|
58
59
|
i0.ɵɵadvance(1);
|
|
59
|
-
i0.ɵɵproperty("p-text",
|
|
60
|
+
i0.ɵɵproperty("p-text", ctx_r27.literals.loadingData);
|
|
60
61
|
} }
|
|
61
|
-
function
|
|
62
|
+
function PoTableComponent_ng_template_1_div_5_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
+
i0.ɵɵelementContainer(0);
|
|
64
|
+
} }
|
|
65
|
+
function PoTableComponent_ng_template_1_div_5_ng_container_6_Template(rf, ctx) { if (rf & 1) {
|
|
62
66
|
i0.ɵɵelementContainer(0);
|
|
63
67
|
} }
|
|
64
68
|
function PoTableComponent_ng_template_1_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
-
i0.ɵɵ
|
|
66
|
-
i0.ɵɵ
|
|
67
|
-
i0.ɵɵ
|
|
68
|
-
i0.ɵɵ
|
|
69
|
+
const _r37 = i0.ɵɵgetCurrentView();
|
|
70
|
+
i0.ɵɵelementStart(0, "div", 27)(1, "div", 28, 29);
|
|
71
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_1_div_5_ng_container_3_Template, 1, 0, "ng-container", 17);
|
|
72
|
+
i0.ɵɵelementEnd();
|
|
73
|
+
i0.ɵɵelementStart(4, "div", 30, 31);
|
|
74
|
+
i0.ɵɵlistener("scroll", function PoTableComponent_ng_template_1_div_5_Template_div_scroll_4_listener() { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(2); return ctx_r36.syncronizeHorizontalScroll(); });
|
|
75
|
+
i0.ɵɵtemplate(6, PoTableComponent_ng_template_1_div_5_ng_container_6_Template, 1, 0, "ng-container", 17);
|
|
69
76
|
i0.ɵɵelementEnd()();
|
|
70
77
|
} if (rf & 2) {
|
|
71
|
-
const
|
|
78
|
+
const ctx_r29 = i0.ɵɵnextContext(2);
|
|
72
79
|
const _r4 = i0.ɵɵreference(5);
|
|
73
|
-
i0.ɵɵ
|
|
74
|
-
i0.ɵɵ
|
|
80
|
+
const _r6 = i0.ɵɵreference(7);
|
|
81
|
+
i0.ɵɵstyleProp("height", ctx_r29.heightTableContainer, "px");
|
|
82
|
+
i0.ɵɵadvance(3);
|
|
75
83
|
i0.ɵɵproperty("ngTemplateOutlet", _r4);
|
|
84
|
+
i0.ɵɵadvance(3);
|
|
85
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r6);
|
|
76
86
|
} }
|
|
77
87
|
function PoTableComponent_ng_template_1_div_6_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
78
88
|
i0.ɵɵelementContainer(0);
|
|
79
89
|
} }
|
|
80
90
|
function PoTableComponent_ng_template_1_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
81
91
|
i0.ɵɵelementStart(0, "div");
|
|
82
|
-
i0.ɵɵtemplate(1, PoTableComponent_ng_template_1_div_6_ng_container_1_Template, 1, 0, "ng-container",
|
|
92
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_1_div_6_ng_container_1_Template, 1, 0, "ng-container", 17);
|
|
83
93
|
i0.ɵɵelementEnd();
|
|
84
94
|
} if (rf & 2) {
|
|
85
95
|
i0.ɵɵnextContext(2);
|
|
86
|
-
const
|
|
96
|
+
const _r8 = i0.ɵɵreference(9);
|
|
87
97
|
i0.ɵɵadvance(1);
|
|
88
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
98
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r8);
|
|
89
99
|
} }
|
|
90
100
|
function PoTableComponent_ng_template_1_div_7_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
91
101
|
i0.ɵɵelementContainerStart(0);
|
|
92
|
-
i0.ɵɵelement(1, "po-table-subtitle-footer",
|
|
102
|
+
i0.ɵɵelement(1, "po-table-subtitle-footer", 34);
|
|
93
103
|
i0.ɵɵelementContainerEnd();
|
|
94
104
|
} if (rf & 2) {
|
|
95
|
-
const
|
|
96
|
-
const
|
|
105
|
+
const column_r40 = ctx.$implicit;
|
|
106
|
+
const ctx_r39 = i0.ɵɵnextContext(3);
|
|
97
107
|
i0.ɵɵadvance(1);
|
|
98
|
-
i0.ɵɵproperty("p-literals",
|
|
108
|
+
i0.ɵɵproperty("p-literals", ctx_r39.literals)("p-subtitles", column_r40.subtitles);
|
|
99
109
|
} }
|
|
100
110
|
function PoTableComponent_ng_template_1_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
101
|
-
i0.ɵɵelementStart(0, "div",
|
|
102
|
-
i0.ɵɵtemplate(1, PoTableComponent_ng_template_1_div_7_ng_container_1_Template, 2, 2, "ng-container",
|
|
111
|
+
i0.ɵɵelementStart(0, "div", 32);
|
|
112
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_1_div_7_ng_container_1_Template, 2, 2, "ng-container", 33);
|
|
103
113
|
i0.ɵɵelementEnd();
|
|
104
114
|
} if (rf & 2) {
|
|
105
|
-
const
|
|
115
|
+
const ctx_r31 = i0.ɵɵnextContext(2);
|
|
106
116
|
i0.ɵɵadvance(1);
|
|
107
|
-
i0.ɵɵproperty("ngForOf",
|
|
117
|
+
i0.ɵɵproperty("ngForOf", ctx_r31.subtitleColumns)("ngForTrackBy", ctx_r31.trackBy);
|
|
108
118
|
} }
|
|
109
119
|
function PoTableComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
110
120
|
i0.ɵɵelementStart(0, "div");
|
|
111
|
-
i0.ɵɵtemplate(1, PoTableComponent_ng_template_1_div_1_Template, 2, 1, "div",
|
|
112
|
-
i0.ɵɵelementStart(2, "div",
|
|
113
|
-
i0.ɵɵtemplate(5, PoTableComponent_ng_template_1_div_5_Template,
|
|
114
|
-
i0.ɵɵtemplate(6, PoTableComponent_ng_template_1_div_6_Template, 2, 1, "div",
|
|
121
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_1_div_1_Template, 2, 1, "div", 18);
|
|
122
|
+
i0.ɵɵelementStart(2, "div", 19)(3, "div", 20, 21);
|
|
123
|
+
i0.ɵɵtemplate(5, PoTableComponent_ng_template_1_div_5_Template, 7, 4, "div", 22);
|
|
124
|
+
i0.ɵɵtemplate(6, PoTableComponent_ng_template_1_div_6_Template, 2, 1, "div", 23);
|
|
115
125
|
i0.ɵɵelementEnd()()();
|
|
116
|
-
i0.ɵɵtemplate(7, PoTableComponent_ng_template_1_div_7_Template, 2, 2, "div",
|
|
126
|
+
i0.ɵɵtemplate(7, PoTableComponent_ng_template_1_div_7_Template, 2, 2, "div", 24);
|
|
117
127
|
} if (rf & 2) {
|
|
118
128
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
119
129
|
i0.ɵɵclassProp("po-table-container-relative", ctx_r2.loading);
|
|
@@ -130,9 +140,9 @@ function PoTableComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
130
140
|
i0.ɵɵproperty("ngIf", ctx_r2.hasFooter);
|
|
131
141
|
} }
|
|
132
142
|
function PoTableComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
133
|
-
const
|
|
134
|
-
i0.ɵɵelementStart(0, "div",
|
|
135
|
-
i0.ɵɵlistener("p-click", function PoTableComponent_div_3_Template_po_button_p_click_2_listener() { i0.ɵɵrestoreView(
|
|
143
|
+
const _r43 = i0.ɵɵgetCurrentView();
|
|
144
|
+
i0.ɵɵelementStart(0, "div", 35, 36)(2, "po-button", 37);
|
|
145
|
+
i0.ɵɵlistener("p-click", function PoTableComponent_div_3_Template_po_button_p_click_2_listener() { i0.ɵɵrestoreView(_r43); const ctx_r42 = i0.ɵɵnextContext(); return ctx_r42.onShowMore(); });
|
|
136
146
|
i0.ɵɵelementEnd()();
|
|
137
147
|
} if (rf & 2) {
|
|
138
148
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
@@ -141,351 +151,385 @@ function PoTableComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
141
151
|
i0.ɵɵproperty("p-disabled", ctx_r3.showMoreDisabled)("p-label", ctx_r3.literals.loadMoreData)("p-loading", ctx_r3.loadingShowMore);
|
|
142
152
|
} }
|
|
143
153
|
function PoTableComponent_ng_template_4_th_3_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
144
|
-
i0.ɵɵelement(0, "input",
|
|
154
|
+
i0.ɵɵelement(0, "input", 49);
|
|
145
155
|
} if (rf & 2) {
|
|
146
|
-
const
|
|
147
|
-
i0.ɵɵclassProp("po-table-checkbox-checked",
|
|
156
|
+
const ctx_r52 = i0.ɵɵnextContext(3);
|
|
157
|
+
i0.ɵɵclassProp("po-table-checkbox-checked", ctx_r52.selectAll)("po-table-checkbox-indeterminate", ctx_r52.selectAll === null);
|
|
148
158
|
} }
|
|
149
159
|
function PoTableComponent_ng_template_4_th_3_label_3_Template(rf, ctx) { if (rf & 1) {
|
|
150
|
-
const
|
|
151
|
-
i0.ɵɵelementStart(0, "label",
|
|
152
|
-
i0.ɵɵlistener("click", function PoTableComponent_ng_template_4_th_3_label_3_Template_label_click_0_listener() { i0.ɵɵrestoreView(
|
|
160
|
+
const _r55 = i0.ɵɵgetCurrentView();
|
|
161
|
+
i0.ɵɵelementStart(0, "label", 50);
|
|
162
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_4_th_3_label_3_Template_label_click_0_listener() { i0.ɵɵrestoreView(_r55); const ctx_r54 = i0.ɵɵnextContext(3); return ctx_r54.selectAllRows(); });
|
|
153
163
|
i0.ɵɵelementEnd();
|
|
154
164
|
} }
|
|
155
165
|
function PoTableComponent_ng_template_4_th_3_Template(rf, ctx) { if (rf & 1) {
|
|
156
|
-
i0.ɵɵelementStart(0, "th",
|
|
157
|
-
i0.ɵɵtemplate(2, PoTableComponent_ng_template_4_th_3_input_2_Template, 1, 4, "input",
|
|
158
|
-
i0.ɵɵtemplate(3, PoTableComponent_ng_template_4_th_3_label_3_Template, 1, 0, "label",
|
|
166
|
+
i0.ɵɵelementStart(0, "th", 46)(1, "div");
|
|
167
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_4_th_3_input_2_Template, 1, 4, "input", 47);
|
|
168
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_4_th_3_label_3_Template, 1, 0, "label", 48);
|
|
159
169
|
i0.ɵɵelementEnd()();
|
|
160
170
|
} if (rf & 2) {
|
|
161
|
-
const
|
|
171
|
+
const ctx_r44 = i0.ɵɵnextContext(2);
|
|
162
172
|
i0.ɵɵadvance(1);
|
|
163
|
-
i0.ɵɵclassProp("po-table-header-fixed-inner",
|
|
173
|
+
i0.ɵɵclassProp("po-table-header-fixed-inner", ctx_r44.height);
|
|
164
174
|
i0.ɵɵadvance(1);
|
|
165
|
-
i0.ɵɵproperty("ngIf", !
|
|
175
|
+
i0.ɵɵproperty("ngIf", !ctx_r44.hideSelectAll);
|
|
166
176
|
i0.ɵɵadvance(1);
|
|
167
|
-
i0.ɵɵproperty("ngIf", !
|
|
177
|
+
i0.ɵɵproperty("ngIf", !ctx_r44.hideSelectAll);
|
|
168
178
|
} }
|
|
169
179
|
function PoTableComponent_ng_template_4_th_4_Template(rf, ctx) { if (rf & 1) {
|
|
170
|
-
i0.ɵɵelement(0, "th",
|
|
180
|
+
i0.ɵɵelement(0, "th", 51);
|
|
171
181
|
} }
|
|
172
182
|
function PoTableComponent_ng_template_4_th_5_Template(rf, ctx) { if (rf & 1) {
|
|
173
183
|
i0.ɵɵelement(0, "th");
|
|
174
184
|
} if (rf & 2) {
|
|
175
|
-
const
|
|
176
|
-
i0.ɵɵclassProp("po-table-header-master-detail", !
|
|
185
|
+
const ctx_r46 = i0.ɵɵnextContext(2);
|
|
186
|
+
i0.ɵɵclassProp("po-table-header-master-detail", !ctx_r46.isSingleAction)("po-table-header-single-action", ctx_r46.isSingleAction);
|
|
177
187
|
} }
|
|
178
188
|
function PoTableComponent_ng_template_4_th_6_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
179
189
|
i0.ɵɵelementContainer(0);
|
|
180
190
|
} }
|
|
181
191
|
function PoTableComponent_ng_template_4_th_6_Template(rf, ctx) { if (rf & 1) {
|
|
182
|
-
i0.ɵɵelementStart(0, "th",
|
|
183
|
-
i0.ɵɵtemplate(2, PoTableComponent_ng_template_4_th_6_ng_container_2_Template, 1, 0, "ng-container",
|
|
192
|
+
i0.ɵɵelementStart(0, "th", 52, 53);
|
|
193
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_4_th_6_ng_container_2_Template, 1, 0, "ng-container", 54);
|
|
184
194
|
i0.ɵɵelementEnd();
|
|
185
195
|
} if (rf & 2) {
|
|
186
|
-
const
|
|
187
|
-
const
|
|
188
|
-
const
|
|
196
|
+
const ctx_r47 = i0.ɵɵnextContext(2);
|
|
197
|
+
const _r19 = i0.ɵɵreference(21);
|
|
198
|
+
const _r21 = i0.ɵɵreference(23);
|
|
189
199
|
i0.ɵɵadvance(2);
|
|
190
|
-
i0.ɵɵproperty("ngIf",
|
|
200
|
+
i0.ɵɵproperty("ngIf", ctx_r47.height)("ngIfThen", _r19)("ngIfElse", _r21);
|
|
191
201
|
} }
|
|
192
202
|
function PoTableComponent_ng_template_4_th_7_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
193
203
|
i0.ɵɵelementContainer(0);
|
|
194
204
|
} }
|
|
195
|
-
const
|
|
205
|
+
const _c10 = function (a0) { return { $implicit: a0 }; };
|
|
196
206
|
function PoTableComponent_ng_template_4_th_7_Template(rf, ctx) { if (rf & 1) {
|
|
197
|
-
const
|
|
198
|
-
i0.ɵɵelementStart(0, "th",
|
|
199
|
-
i0.ɵɵlistener("click", function PoTableComponent_ng_template_4_th_7_Template_th_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(
|
|
200
|
-
i0.ɵɵelementStart(2, "div",
|
|
201
|
-
i0.ɵɵtemplate(3, PoTableComponent_ng_template_4_th_7_ng_container_3_Template, 1, 0, "ng-container",
|
|
207
|
+
const _r63 = i0.ɵɵgetCurrentView();
|
|
208
|
+
i0.ɵɵelementStart(0, "th", 55, 56);
|
|
209
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_4_th_7_Template_th_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r63); const column_r58 = restoredCtx.$implicit; const ctx_r62 = i0.ɵɵnextContext(2); return ctx_r62.sortColumn(column_r58); });
|
|
210
|
+
i0.ɵɵelementStart(2, "div", 57);
|
|
211
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_4_th_7_ng_container_3_Template, 1, 0, "ng-container", 58);
|
|
202
212
|
i0.ɵɵelementEnd()();
|
|
203
213
|
} if (rf & 2) {
|
|
204
|
-
const
|
|
205
|
-
const
|
|
206
|
-
const
|
|
207
|
-
i0.ɵɵstyleProp("width",
|
|
208
|
-
i0.ɵɵclassProp("po-clickable",
|
|
214
|
+
const column_r58 = ctx.$implicit;
|
|
215
|
+
const ctx_r48 = i0.ɵɵnextContext(2);
|
|
216
|
+
const _r17 = i0.ɵɵreference(19);
|
|
217
|
+
i0.ɵɵstyleProp("width", column_r58.width)("max-width", column_r58.width)("min-width", column_r58.width);
|
|
218
|
+
i0.ɵɵclassProp("po-clickable", ctx_r48.sort && column_r58.sortable !== false || ctx_r48.hasService)("po-table-header-subtitle", column_r58.type === "subtitle");
|
|
209
219
|
i0.ɵɵadvance(2);
|
|
210
|
-
i0.ɵɵclassProp("po-table-header-fixed-inner",
|
|
220
|
+
i0.ɵɵclassProp("po-table-header-fixed-inner", ctx_r48.height)("po-table-header-flex-right", column_r58.type === "currency" || column_r58.type === "number")("po-table-header-flex-center", column_r58.type === "subtitle");
|
|
211
221
|
i0.ɵɵadvance(1);
|
|
212
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
222
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r17)("ngTemplateOutletContext", i0.ɵɵpureFunction1(18, _c10, column_r58));
|
|
213
223
|
} }
|
|
214
224
|
function PoTableComponent_ng_template_4_th_8_Template(rf, ctx) { if (rf & 1) {
|
|
215
|
-
i0.ɵɵelement(0, "th",
|
|
225
|
+
i0.ɵɵelement(0, "th", 51);
|
|
216
226
|
} }
|
|
217
227
|
function PoTableComponent_ng_template_4_th_9_Template(rf, ctx) { if (rf & 1) {
|
|
218
228
|
i0.ɵɵelement(0, "th");
|
|
219
229
|
} if (rf & 2) {
|
|
220
|
-
const
|
|
221
|
-
i0.ɵɵclassProp("po-table-header-single-action",
|
|
230
|
+
const ctx_r50 = i0.ɵɵnextContext(2);
|
|
231
|
+
i0.ɵɵclassProp("po-table-header-single-action", ctx_r50.isSingleAction)("po-table-header-actions", !ctx_r50.isSingleAction);
|
|
222
232
|
} }
|
|
223
233
|
function PoTableComponent_ng_template_4_th_10_Template(rf, ctx) { if (rf & 1) {
|
|
224
|
-
const
|
|
225
|
-
i0.ɵɵelementStart(0, "th", null,
|
|
226
|
-
i0.ɵɵlistener("click", function PoTableComponent_ng_template_4_th_10_Template_button_click_3_listener() { i0.ɵɵrestoreView(
|
|
234
|
+
const _r67 = i0.ɵɵgetCurrentView();
|
|
235
|
+
i0.ɵɵelementStart(0, "th", null, 59)(2, "div")(3, "button", 60, 61);
|
|
236
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_4_th_10_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r67); const ctx_r66 = i0.ɵɵnextContext(2); return ctx_r66.onOpenColumnManager(); });
|
|
237
|
+
i0.ɵɵelementEnd()()();
|
|
238
|
+
} if (rf & 2) {
|
|
239
|
+
const _r64 = i0.ɵɵreference(1);
|
|
240
|
+
const ctx_r51 = i0.ɵɵnextContext(2);
|
|
241
|
+
i0.ɵɵclassProp("po-table-header-column-manager", !ctx_r51.isSingleAction || !ctx_r51.actionRight)("po-table-header-column-manager-border", !ctx_r51.height && ctx_r51.container)("po-table-header-single-action", ctx_r51.isSingleAction && ctx_r51.actionRight);
|
|
242
|
+
i0.ɵɵadvance(2);
|
|
243
|
+
i0.ɵɵstyleProp("width", ctx_r51.height && ctx_r51.visibleActions.length ? _r64.offsetWidth : undefined, "px");
|
|
244
|
+
i0.ɵɵclassProp("po-table-header-column-manager-border", ctx_r51.height && ctx_r51.container)("po-table-header-column-manager-fixed-inner", ctx_r51.height);
|
|
245
|
+
i0.ɵɵadvance(1);
|
|
246
|
+
i0.ɵɵproperty("p-tooltip", ctx_r51.literals.columnsManager);
|
|
247
|
+
} }
|
|
248
|
+
function PoTableComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
249
|
+
i0.ɵɵelementStart(0, "table", 38)(1, "thead")(2, "tr");
|
|
250
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_4_th_3_Template, 4, 4, "th", 39);
|
|
251
|
+
i0.ɵɵtemplate(4, PoTableComponent_ng_template_4_th_4_Template, 1, 0, "th", 40);
|
|
252
|
+
i0.ɵɵtemplate(5, PoTableComponent_ng_template_4_th_5_Template, 1, 4, "th", 41);
|
|
253
|
+
i0.ɵɵtemplate(6, PoTableComponent_ng_template_4_th_6_Template, 3, 3, "th", 42);
|
|
254
|
+
i0.ɵɵtemplate(7, PoTableComponent_ng_template_4_th_7_Template, 4, 20, "th", 43);
|
|
255
|
+
i0.ɵɵtemplate(8, PoTableComponent_ng_template_4_th_8_Template, 1, 0, "th", 40);
|
|
256
|
+
i0.ɵɵtemplate(9, PoTableComponent_ng_template_4_th_9_Template, 1, 4, "th", 44);
|
|
257
|
+
i0.ɵɵtemplate(10, PoTableComponent_ng_template_4_th_10_Template, 5, 13, "th", 45);
|
|
227
258
|
i0.ɵɵelementEnd()()();
|
|
228
259
|
} if (rf & 2) {
|
|
229
|
-
const
|
|
230
|
-
|
|
231
|
-
i0.ɵɵclassProp("po-table-header-column-manager", !ctx_r43.isSingleAction || !ctx_r43.actionRight)("po-table-header-column-manager-border", !ctx_r43.height && ctx_r43.container)("po-table-header-single-action", ctx_r43.isSingleAction && ctx_r43.actionRight);
|
|
260
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
261
|
+
i0.ɵɵclassProp("po-table-striped", ctx_r5.striped)("po-table-layout-fixed", ctx_r5.hideTextOverflow);
|
|
232
262
|
i0.ɵɵadvance(2);
|
|
233
|
-
i0.ɵɵ
|
|
234
|
-
i0.ɵɵ
|
|
263
|
+
i0.ɵɵclassProp("po-table-header", !ctx_r5.height);
|
|
264
|
+
i0.ɵɵadvance(1);
|
|
265
|
+
i0.ɵɵproperty("ngIf", ctx_r5.hasSelectableColumn);
|
|
266
|
+
i0.ɵɵadvance(1);
|
|
267
|
+
i0.ɵɵproperty("ngIf", (ctx_r5.hasMasterDetailColumn || ctx_r5.hasRowTemplate) && !ctx_r5.hasRowTemplateWithArrowDirectionRight);
|
|
268
|
+
i0.ɵɵadvance(1);
|
|
269
|
+
i0.ɵɵproperty("ngIf", !ctx_r5.actionRight && (ctx_r5.visibleActions.length > 1 || ctx_r5.isSingleAction));
|
|
235
270
|
i0.ɵɵadvance(1);
|
|
236
|
-
i0.ɵɵproperty("
|
|
271
|
+
i0.ɵɵproperty("ngIf", !ctx_r5.hasMainColumns);
|
|
272
|
+
i0.ɵɵadvance(1);
|
|
273
|
+
i0.ɵɵproperty("ngForOf", ctx_r5.mainColumns)("ngForTrackBy", ctx_r5.trackBy);
|
|
274
|
+
i0.ɵɵadvance(1);
|
|
275
|
+
i0.ɵɵproperty("ngIf", ctx_r5.hasRowTemplateWithArrowDirectionRight && (ctx_r5.hasVisibleActions || ctx_r5.hideColumnsManager));
|
|
276
|
+
i0.ɵɵadvance(1);
|
|
277
|
+
i0.ɵɵproperty("ngIf", ctx_r5.hasVisibleActions && ctx_r5.hideColumnsManager && ctx_r5.actionRight);
|
|
278
|
+
i0.ɵɵadvance(1);
|
|
279
|
+
i0.ɵɵproperty("ngIf", ctx_r5.hasValidColumns && !ctx_r5.hideColumnsManager);
|
|
237
280
|
} }
|
|
238
|
-
function
|
|
239
|
-
i0.ɵɵelementStart(0, "tbody",
|
|
281
|
+
function PoTableComponent_ng_template_6_tbody_1_Template(rf, ctx) { if (rf & 1) {
|
|
282
|
+
i0.ɵɵelementStart(0, "tbody", 63)(1, "tr", 64)(2, "td", 65)(3, "span");
|
|
240
283
|
i0.ɵɵtext(4);
|
|
241
284
|
i0.ɵɵelementEnd()()()();
|
|
242
285
|
} if (rf & 2) {
|
|
243
|
-
const
|
|
286
|
+
const ctx_r68 = i0.ɵɵnextContext(2);
|
|
244
287
|
i0.ɵɵadvance(2);
|
|
245
|
-
i0.ɵɵproperty("colSpan",
|
|
288
|
+
i0.ɵɵproperty("colSpan", ctx_r68.columnCount);
|
|
246
289
|
i0.ɵɵadvance(2);
|
|
247
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
290
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r68.literals.noData, " ");
|
|
248
291
|
} }
|
|
249
|
-
function
|
|
292
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
250
293
|
i0.ɵɵelementContainer(0);
|
|
251
294
|
} }
|
|
252
|
-
function
|
|
253
|
-
i0.ɵɵelementStart(0, "td",
|
|
254
|
-
i0.ɵɵtemplate(1,
|
|
295
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_2_Template(rf, ctx) { if (rf & 1) {
|
|
296
|
+
i0.ɵɵelementStart(0, "td", 46);
|
|
297
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_2_ng_container_1_Template, 1, 0, "ng-container", 58);
|
|
255
298
|
i0.ɵɵelementEnd();
|
|
256
299
|
} if (rf & 2) {
|
|
257
|
-
const
|
|
258
|
-
const
|
|
259
|
-
const
|
|
260
|
-
const
|
|
300
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
301
|
+
const ctx_r73 = i0.ɵɵnextContext(3);
|
|
302
|
+
const _r13 = i0.ɵɵreference(15);
|
|
303
|
+
const _r15 = i0.ɵɵreference(17);
|
|
261
304
|
i0.ɵɵadvance(1);
|
|
262
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
305
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r73.singleSelect ? _r13 : _r15)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c10, row_r71));
|
|
263
306
|
} }
|
|
264
|
-
function
|
|
265
|
-
const
|
|
266
|
-
function
|
|
267
|
-
const
|
|
268
|
-
i0.ɵɵelementStart(0, "td",
|
|
269
|
-
i0.ɵɵlistener("click", function
|
|
270
|
-
i0.ɵɵtemplate(1,
|
|
307
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_3_ng_template_1_Template(rf, ctx) { }
|
|
308
|
+
const _c11 = function (a0, a1) { return { row: a0, rowIndex: a1 }; };
|
|
309
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_3_Template(rf, ctx) { if (rf & 1) {
|
|
310
|
+
const _r89 = i0.ɵɵgetCurrentView();
|
|
311
|
+
i0.ɵɵelementStart(0, "td", 71);
|
|
312
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_3_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r89); const row_r71 = i0.ɵɵnextContext().$implicit; const ctx_r87 = i0.ɵɵnextContext(3); return ctx_r87.toggleDetail(row_r71); });
|
|
313
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_3_ng_template_1_Template, 0, 0, "ng-template", 72);
|
|
271
314
|
i0.ɵɵelementEnd();
|
|
272
315
|
} if (rf & 2) {
|
|
273
|
-
const
|
|
274
|
-
const
|
|
275
|
-
const
|
|
316
|
+
const ctx_r90 = i0.ɵɵnextContext();
|
|
317
|
+
const row_r71 = ctx_r90.$implicit;
|
|
318
|
+
const rowIndex_r72 = ctx_r90.index;
|
|
276
319
|
i0.ɵɵnextContext(3);
|
|
277
|
-
const
|
|
320
|
+
const _r11 = i0.ɵɵreference(13);
|
|
278
321
|
i0.ɵɵadvance(1);
|
|
279
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
322
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r11)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r71, rowIndex_r72));
|
|
280
323
|
} }
|
|
281
|
-
function
|
|
282
|
-
function
|
|
283
|
-
i0.ɵɵtemplate(0,
|
|
324
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_4_ng_template_0_Template(rf, ctx) { }
|
|
325
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_4_Template(rf, ctx) { if (rf & 1) {
|
|
326
|
+
i0.ɵɵtemplate(0, PoTableComponent_ng_template_6_ng_container_2_tbody_1_4_ng_template_0_Template, 0, 0, "ng-template", 72);
|
|
284
327
|
} if (rf & 2) {
|
|
285
|
-
const
|
|
286
|
-
const
|
|
287
|
-
const
|
|
328
|
+
const ctx_r92 = i0.ɵɵnextContext();
|
|
329
|
+
const row_r71 = ctx_r92.$implicit;
|
|
330
|
+
const rowIndex_r72 = ctx_r92.index;
|
|
288
331
|
i0.ɵɵnextContext(3);
|
|
289
|
-
const
|
|
290
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
291
|
-
} }
|
|
292
|
-
function
|
|
293
|
-
function
|
|
294
|
-
const
|
|
295
|
-
i0.ɵɵelementStart(0, "td",
|
|
296
|
-
i0.ɵɵlistener("click", function
|
|
297
|
-
i0.ɵɵtemplate(1,
|
|
332
|
+
const _r23 = i0.ɵɵreference(25);
|
|
333
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r23)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r71, rowIndex_r72));
|
|
334
|
+
} }
|
|
335
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_5_ng_template_1_Template(rf, ctx) { }
|
|
336
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_5_Template(rf, ctx) { if (rf & 1) {
|
|
337
|
+
const _r96 = i0.ɵɵgetCurrentView();
|
|
338
|
+
i0.ɵɵelementStart(0, "td", 71);
|
|
339
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_5_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r96); const row_r71 = i0.ɵɵnextContext().$implicit; const ctx_r94 = i0.ɵɵnextContext(3); return ctx_r94.toggleDetail(row_r71); });
|
|
340
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_5_ng_template_1_Template, 0, 0, "ng-template", 72);
|
|
298
341
|
i0.ɵɵelementEnd();
|
|
299
342
|
} if (rf & 2) {
|
|
300
|
-
const
|
|
301
|
-
const
|
|
302
|
-
const
|
|
343
|
+
const ctx_r97 = i0.ɵɵnextContext();
|
|
344
|
+
const row_r71 = ctx_r97.$implicit;
|
|
345
|
+
const rowIndex_r72 = ctx_r97.index;
|
|
303
346
|
i0.ɵɵnextContext(3);
|
|
304
|
-
const
|
|
347
|
+
const _r11 = i0.ɵɵreference(13);
|
|
305
348
|
i0.ɵɵadvance(1);
|
|
306
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
349
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r11)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r71, rowIndex_r72));
|
|
307
350
|
} }
|
|
308
|
-
function
|
|
351
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
309
352
|
i0.ɵɵelementContainer(0);
|
|
310
353
|
} }
|
|
311
|
-
function
|
|
354
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
312
355
|
i0.ɵɵelementStart(0, "span");
|
|
313
|
-
i0.ɵɵtemplate(1,
|
|
356
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_2_ng_container_1_Template, 1, 0, "ng-container", 58);
|
|
314
357
|
i0.ɵɵelementEnd();
|
|
315
358
|
} if (rf & 2) {
|
|
316
|
-
const
|
|
317
|
-
const
|
|
318
|
-
const
|
|
359
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
360
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
361
|
+
const ctx_r100 = i0.ɵɵnextContext(3);
|
|
319
362
|
i0.ɵɵadvance(1);
|
|
320
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
363
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r100.getTemplate(column_r98))("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c10, ctx_r100.getCellData(row_r71, column_r98)));
|
|
321
364
|
} }
|
|
322
|
-
function
|
|
365
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
323
366
|
i0.ɵɵelementContainer(0);
|
|
324
367
|
} }
|
|
325
|
-
const
|
|
326
|
-
function
|
|
368
|
+
const _c12 = function (a0, a1) { return { row: a0, column: a1 }; };
|
|
369
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
327
370
|
i0.ɵɵelementStart(0, "span");
|
|
328
|
-
i0.ɵɵtemplate(1,
|
|
371
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_3_ng_container_1_Template, 1, 0, "ng-container", 58);
|
|
329
372
|
i0.ɵɵelementEnd();
|
|
330
373
|
} if (rf & 2) {
|
|
331
|
-
const
|
|
332
|
-
const
|
|
333
|
-
const
|
|
374
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
375
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
376
|
+
const ctx_r101 = i0.ɵɵnextContext(3);
|
|
334
377
|
i0.ɵɵadvance(1);
|
|
335
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
378
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r101.tableCellTemplate == null ? null : ctx_r101.tableCellTemplate.templateRef)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c12, row_r71, column_r98));
|
|
336
379
|
} }
|
|
337
|
-
function
|
|
380
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
338
381
|
i0.ɵɵelementStart(0, "span");
|
|
339
382
|
i0.ɵɵtext(1);
|
|
340
383
|
i0.ɵɵelementEnd();
|
|
341
384
|
} if (rf & 2) {
|
|
342
|
-
const
|
|
343
|
-
const
|
|
344
|
-
const
|
|
385
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
386
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
387
|
+
const ctx_r102 = i0.ɵɵnextContext(3);
|
|
345
388
|
i0.ɵɵadvance(1);
|
|
346
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
389
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r102.getBooleanLabel(ctx_r102.getCellData(row_r71, column_r98), column_r98), " ");
|
|
347
390
|
} }
|
|
348
|
-
function
|
|
391
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_5_Template(rf, ctx) { if (rf & 1) {
|
|
349
392
|
i0.ɵɵelementStart(0, "span");
|
|
350
393
|
i0.ɵɵtext(1);
|
|
351
394
|
i0.ɵɵpipe(2, "currency");
|
|
352
395
|
i0.ɵɵelementEnd();
|
|
353
396
|
} if (rf & 2) {
|
|
354
|
-
const
|
|
355
|
-
const
|
|
356
|
-
const
|
|
397
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
398
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
399
|
+
const ctx_r103 = i0.ɵɵnextContext(3);
|
|
357
400
|
i0.ɵɵadvance(1);
|
|
358
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind4(2, 1,
|
|
401
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind4(2, 1, ctx_r103.getCellData(row_r71, column_r98), column_r98.format, "symbol", "1.2-2"), " ");
|
|
359
402
|
} }
|
|
360
|
-
function
|
|
403
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_6_Template(rf, ctx) { if (rf & 1) {
|
|
361
404
|
i0.ɵɵelementStart(0, "span");
|
|
362
405
|
i0.ɵɵtext(1);
|
|
363
406
|
i0.ɵɵpipe(2, "date");
|
|
364
407
|
i0.ɵɵelementEnd();
|
|
365
408
|
} if (rf & 2) {
|
|
366
|
-
const
|
|
367
|
-
const
|
|
368
|
-
const
|
|
409
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
410
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
411
|
+
const ctx_r104 = i0.ɵɵnextContext(3);
|
|
369
412
|
i0.ɵɵadvance(1);
|
|
370
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1,
|
|
413
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r104.getCellData(row_r71, column_r98), column_r98.format || "dd/MM/yyyy"), " ");
|
|
371
414
|
} }
|
|
372
|
-
function
|
|
415
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
373
416
|
i0.ɵɵelementStart(0, "span");
|
|
374
417
|
i0.ɵɵtext(1);
|
|
375
418
|
i0.ɵɵpipe(2, "po_time");
|
|
376
419
|
i0.ɵɵelementEnd();
|
|
377
420
|
} if (rf & 2) {
|
|
378
|
-
const
|
|
379
|
-
const
|
|
380
|
-
const
|
|
421
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
422
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
423
|
+
const ctx_r105 = i0.ɵɵnextContext(3);
|
|
381
424
|
i0.ɵɵadvance(1);
|
|
382
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1,
|
|
425
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r105.getCellData(row_r71, column_r98), column_r98.format || "HH:mm:ss.ffffff"), " ");
|
|
383
426
|
} }
|
|
384
|
-
function
|
|
427
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_8_Template(rf, ctx) { if (rf & 1) {
|
|
385
428
|
i0.ɵɵelementStart(0, "span");
|
|
386
429
|
i0.ɵɵtext(1);
|
|
387
430
|
i0.ɵɵpipe(2, "date");
|
|
388
431
|
i0.ɵɵelementEnd();
|
|
389
432
|
} if (rf & 2) {
|
|
390
|
-
const
|
|
391
|
-
const
|
|
392
|
-
const
|
|
433
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
434
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
435
|
+
const ctx_r106 = i0.ɵɵnextContext(3);
|
|
393
436
|
i0.ɵɵadvance(1);
|
|
394
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1,
|
|
437
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r106.getCellData(row_r71, column_r98), column_r98.format || "dd/MM/yyyy HH:mm:ss"), " ");
|
|
395
438
|
} }
|
|
396
|
-
function
|
|
439
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_9_Template(rf, ctx) { if (rf & 1) {
|
|
397
440
|
i0.ɵɵelementStart(0, "span");
|
|
398
441
|
i0.ɵɵtext(1);
|
|
399
442
|
i0.ɵɵelementEnd();
|
|
400
443
|
} if (rf & 2) {
|
|
401
|
-
const
|
|
402
|
-
const
|
|
403
|
-
const
|
|
444
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
445
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
446
|
+
const ctx_r107 = i0.ɵɵnextContext(3);
|
|
404
447
|
i0.ɵɵadvance(1);
|
|
405
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
448
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r107.formatNumber(ctx_r107.getCellData(row_r71, column_r98), column_r98.format), " ");
|
|
406
449
|
} }
|
|
407
|
-
function
|
|
408
|
-
const
|
|
409
|
-
i0.ɵɵelementStart(0, "po-table-column-link",
|
|
410
|
-
i0.ɵɵlistener("click", function
|
|
450
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_po_table_column_link_10_Template(rf, ctx) { if (rf & 1) {
|
|
451
|
+
const _r133 = i0.ɵɵgetCurrentView();
|
|
452
|
+
i0.ɵɵelementStart(0, "po-table-column-link", 79);
|
|
453
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_po_table_column_link_10_Template_po_table_column_link_click_0_listener($event) { i0.ɵɵrestoreView(_r133); const column_r98 = i0.ɵɵnextContext().$implicit; const row_r71 = i0.ɵɵnextContext().$implicit; const ctx_r131 = i0.ɵɵnextContext(3); return ctx_r131.onClickLink($event, row_r71, column_r98); });
|
|
411
454
|
i0.ɵɵelementEnd();
|
|
412
455
|
} if (rf & 2) {
|
|
413
|
-
const
|
|
414
|
-
const
|
|
415
|
-
const
|
|
416
|
-
i0.ɵɵproperty("p-action",
|
|
456
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
457
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
458
|
+
const ctx_r108 = i0.ɵɵnextContext(3);
|
|
459
|
+
i0.ɵɵproperty("p-action", column_r98.action)("p-disabled", ctx_r108.checkDisabled(row_r71, column_r98))("p-link", row_r71[column_r98.link])("p-row", row_r71)("p-value", ctx_r108.getCellData(row_r71, column_r98));
|
|
417
460
|
} }
|
|
418
|
-
function
|
|
419
|
-
i0.ɵɵelement(0, "po-table-column-icon",
|
|
461
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_po_table_column_icon_11_Template(rf, ctx) { if (rf & 1) {
|
|
462
|
+
i0.ɵɵelement(0, "po-table-column-icon", 80);
|
|
420
463
|
} if (rf & 2) {
|
|
421
|
-
const
|
|
422
|
-
const
|
|
423
|
-
const
|
|
424
|
-
i0.ɵɵproperty("p-column",
|
|
464
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
465
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
466
|
+
const ctx_r109 = i0.ɵɵnextContext(3);
|
|
467
|
+
i0.ɵɵproperty("p-column", column_r98)("p-icons", ctx_r109.getColumnIcons(row_r71, column_r98))("p-row", row_r71);
|
|
425
468
|
} }
|
|
426
|
-
function
|
|
469
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_12_Template(rf, ctx) { if (rf & 1) {
|
|
427
470
|
i0.ɵɵelementStart(0, "span");
|
|
428
|
-
i0.ɵɵelement(1, "po-table-subtitle-circle",
|
|
471
|
+
i0.ɵɵelement(1, "po-table-subtitle-circle", 81);
|
|
429
472
|
i0.ɵɵelementEnd();
|
|
430
473
|
} if (rf & 2) {
|
|
431
|
-
const
|
|
432
|
-
const
|
|
433
|
-
const
|
|
474
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
475
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
476
|
+
const ctx_r110 = i0.ɵɵnextContext(3);
|
|
434
477
|
i0.ɵɵadvance(1);
|
|
435
|
-
i0.ɵɵproperty("p-subtitle",
|
|
478
|
+
i0.ɵɵproperty("p-subtitle", ctx_r110.getSubtitleColumn(row_r71, column_r98));
|
|
436
479
|
} }
|
|
437
|
-
function
|
|
480
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_13_Template(rf, ctx) { if (rf & 1) {
|
|
438
481
|
i0.ɵɵelementStart(0, "span");
|
|
439
|
-
i0.ɵɵelement(1, "po-table-column-label",
|
|
482
|
+
i0.ɵɵelement(1, "po-table-column-label", 82);
|
|
440
483
|
i0.ɵɵelementEnd();
|
|
441
484
|
} if (rf & 2) {
|
|
442
|
-
const
|
|
443
|
-
const
|
|
444
|
-
const
|
|
485
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
486
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
487
|
+
const ctx_r111 = i0.ɵɵnextContext(3);
|
|
445
488
|
i0.ɵɵadvance(1);
|
|
446
|
-
i0.ɵɵproperty("p-value",
|
|
489
|
+
i0.ɵɵproperty("p-value", ctx_r111.getColumnLabel(row_r71, column_r98));
|
|
447
490
|
} }
|
|
448
|
-
function
|
|
491
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_14_Template(rf, ctx) { if (rf & 1) {
|
|
449
492
|
i0.ɵɵelementStart(0, "span");
|
|
450
493
|
i0.ɵɵtext(1);
|
|
451
494
|
i0.ɵɵelementEnd();
|
|
452
495
|
} if (rf & 2) {
|
|
453
|
-
const
|
|
454
|
-
const
|
|
455
|
-
const
|
|
456
|
-
i0.ɵɵadvance(1);
|
|
457
|
-
i0.ɵɵtextInterpolate(
|
|
458
|
-
} }
|
|
459
|
-
function
|
|
460
|
-
const
|
|
461
|
-
i0.ɵɵelementStart(0, "td",
|
|
462
|
-
i0.ɵɵlistener("click", function
|
|
463
|
-
i0.ɵɵelementStart(1, "div",
|
|
464
|
-
i0.ɵɵlistener("mouseenter", function
|
|
465
|
-
i0.ɵɵtemplate(2,
|
|
466
|
-
i0.ɵɵtemplate(3,
|
|
467
|
-
i0.ɵɵtemplate(4,
|
|
468
|
-
i0.ɵɵtemplate(5,
|
|
469
|
-
i0.ɵɵtemplate(6,
|
|
470
|
-
i0.ɵɵtemplate(7,
|
|
471
|
-
i0.ɵɵtemplate(8,
|
|
472
|
-
i0.ɵɵtemplate(9,
|
|
473
|
-
i0.ɵɵtemplate(10,
|
|
474
|
-
i0.ɵɵtemplate(11,
|
|
475
|
-
i0.ɵɵtemplate(12,
|
|
476
|
-
i0.ɵɵtemplate(13,
|
|
477
|
-
i0.ɵɵtemplate(14,
|
|
496
|
+
const column_r98 = i0.ɵɵnextContext().$implicit;
|
|
497
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
498
|
+
const ctx_r112 = i0.ɵɵnextContext(3);
|
|
499
|
+
i0.ɵɵadvance(1);
|
|
500
|
+
i0.ɵɵtextInterpolate(ctx_r112.getCellData(row_r71, column_r98));
|
|
501
|
+
} }
|
|
502
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_Template(rf, ctx) { if (rf & 1) {
|
|
503
|
+
const _r146 = i0.ɵɵgetCurrentView();
|
|
504
|
+
i0.ɵɵelementStart(0, "td", 73);
|
|
505
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r146); const row_r71 = i0.ɵɵnextContext().$implicit; const ctx_r145 = i0.ɵɵnextContext(3); return ctx_r145.selectable ? ctx_r145.selectRow(row_r71) : "javascript:;"; });
|
|
506
|
+
i0.ɵɵelementStart(1, "div", 74);
|
|
507
|
+
i0.ɵɵlistener("mouseenter", function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_Template_div_mouseenter_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r146); const column_r98 = restoredCtx.$implicit; const row_r71 = i0.ɵɵnextContext().$implicit; const ctx_r148 = i0.ɵɵnextContext(3); return ctx_r148.tooltipMouseEnter($event, column_r98, row_r71); })("mouseleave", function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_Template_div_mouseleave_1_listener() { i0.ɵɵrestoreView(_r146); const ctx_r150 = i0.ɵɵnextContext(4); return ctx_r150.tooltipMouseLeave(); });
|
|
508
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_2_Template, 2, 4, "span", 75);
|
|
509
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_3_Template, 2, 5, "span", 75);
|
|
510
|
+
i0.ɵɵtemplate(4, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_4_Template, 2, 1, "span", 75);
|
|
511
|
+
i0.ɵɵtemplate(5, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_5_Template, 3, 6, "span", 75);
|
|
512
|
+
i0.ɵɵtemplate(6, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_6_Template, 3, 4, "span", 75);
|
|
513
|
+
i0.ɵɵtemplate(7, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_7_Template, 3, 4, "span", 75);
|
|
514
|
+
i0.ɵɵtemplate(8, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_8_Template, 3, 4, "span", 75);
|
|
515
|
+
i0.ɵɵtemplate(9, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_9_Template, 2, 1, "span", 75);
|
|
516
|
+
i0.ɵɵtemplate(10, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_po_table_column_link_10_Template, 1, 5, "po-table-column-link", 76);
|
|
517
|
+
i0.ɵɵtemplate(11, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_po_table_column_icon_11_Template, 1, 3, "po-table-column-icon", 77);
|
|
518
|
+
i0.ɵɵtemplate(12, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_12_Template, 2, 1, "span", 75);
|
|
519
|
+
i0.ɵɵtemplate(13, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_13_Template, 2, 1, "span", 75);
|
|
520
|
+
i0.ɵɵtemplate(14, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_span_14_Template, 2, 1, "span", 78);
|
|
478
521
|
i0.ɵɵelementEnd()();
|
|
479
522
|
} if (rf & 2) {
|
|
480
|
-
const
|
|
481
|
-
const
|
|
482
|
-
const
|
|
483
|
-
i0.ɵɵstyleProp("width",
|
|
484
|
-
i0.ɵɵclassProp("po-table-column",
|
|
485
|
-
i0.ɵɵproperty("ngClass",
|
|
523
|
+
const column_r98 = ctx.$implicit;
|
|
524
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
525
|
+
const ctx_r77 = i0.ɵɵnextContext(3);
|
|
526
|
+
i0.ɵɵstyleProp("width", column_r98.width)("max-width", column_r98.width)("min-width", column_r98.width);
|
|
527
|
+
i0.ɵɵclassProp("po-table-column", column_r98.type !== "icon")("po-table-column-right", column_r98.type === "currency" || column_r98.type === "number")("po-table-column-center", column_r98.type === "subtitle")("po-table-column-icons", column_r98.type === "icon");
|
|
528
|
+
i0.ɵɵproperty("ngClass", ctx_r77.getClassColor(row_r71, column_r98));
|
|
486
529
|
i0.ɵɵadvance(1);
|
|
487
|
-
i0.ɵɵ
|
|
488
|
-
i0.ɵɵ
|
|
530
|
+
i0.ɵɵstyleProp("width", ctx_r77.noColumnsHeader == null ? null : ctx_r77.noColumnsHeader.nativeElement.parentElement == null ? null : ctx_r77.noColumnsHeader.nativeElement.parentElement.offsetWidth, "px");
|
|
531
|
+
i0.ɵɵclassProp("po-table-body-ellipsis", ctx_r77.hideTextOverflow);
|
|
532
|
+
i0.ɵɵproperty("ngSwitch", column_r98.type)("p-tooltip", ctx_r77.tooltipText);
|
|
489
533
|
i0.ɵɵadvance(1);
|
|
490
534
|
i0.ɵɵproperty("ngSwitchCase", "columnTemplate");
|
|
491
535
|
i0.ɵɵadvance(1);
|
|
@@ -511,291 +555,788 @@ function PoTableComponent_ng_template_4_ng_container_12_tbody_1_td_6_Template(rf
|
|
|
511
555
|
i0.ɵɵadvance(1);
|
|
512
556
|
i0.ɵɵproperty("ngSwitchCase", "label");
|
|
513
557
|
} }
|
|
514
|
-
function
|
|
515
|
-
function
|
|
516
|
-
const
|
|
517
|
-
i0.ɵɵelementStart(0, "td",
|
|
518
|
-
i0.ɵɵlistener("click", function
|
|
519
|
-
i0.ɵɵtemplate(1,
|
|
558
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_7_ng_template_1_Template(rf, ctx) { }
|
|
559
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_7_Template(rf, ctx) { if (rf & 1) {
|
|
560
|
+
const _r155 = i0.ɵɵgetCurrentView();
|
|
561
|
+
i0.ɵɵelementStart(0, "td", 71);
|
|
562
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_7_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r155); const row_r71 = i0.ɵɵnextContext().$implicit; const ctx_r153 = i0.ɵɵnextContext(3); return ctx_r153.toggleDetail(row_r71); });
|
|
563
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_7_ng_template_1_Template, 0, 0, "ng-template", 72);
|
|
520
564
|
i0.ɵɵelementEnd();
|
|
521
565
|
} if (rf & 2) {
|
|
522
|
-
const
|
|
523
|
-
const
|
|
524
|
-
const
|
|
566
|
+
const ctx_r156 = i0.ɵɵnextContext();
|
|
567
|
+
const row_r71 = ctx_r156.$implicit;
|
|
568
|
+
const rowIndex_r72 = ctx_r156.index;
|
|
525
569
|
i0.ɵɵnextContext(3);
|
|
526
|
-
const
|
|
570
|
+
const _r11 = i0.ɵɵreference(13);
|
|
527
571
|
i0.ɵɵadvance(1);
|
|
528
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
572
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r11)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r71, rowIndex_r72));
|
|
529
573
|
} }
|
|
530
|
-
function
|
|
531
|
-
function
|
|
532
|
-
i0.ɵɵtemplate(0,
|
|
574
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_8_ng_template_0_Template(rf, ctx) { }
|
|
575
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_8_Template(rf, ctx) { if (rf & 1) {
|
|
576
|
+
i0.ɵɵtemplate(0, PoTableComponent_ng_template_6_ng_container_2_tbody_1_8_ng_template_0_Template, 0, 0, "ng-template", 72);
|
|
533
577
|
} if (rf & 2) {
|
|
534
|
-
const
|
|
535
|
-
const
|
|
536
|
-
const
|
|
578
|
+
const ctx_r158 = i0.ɵɵnextContext();
|
|
579
|
+
const row_r71 = ctx_r158.$implicit;
|
|
580
|
+
const rowIndex_r72 = ctx_r158.index;
|
|
537
581
|
i0.ɵɵnextContext(3);
|
|
538
|
-
const
|
|
539
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
582
|
+
const _r23 = i0.ɵɵreference(25);
|
|
583
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r23)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r71, rowIndex_r72));
|
|
540
584
|
} }
|
|
541
|
-
function
|
|
585
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_ng_container_9_Template(rf, ctx) { if (rf & 1) {
|
|
542
586
|
i0.ɵɵelementContainerStart(0);
|
|
543
|
-
i0.ɵɵelement(1, "td",
|
|
587
|
+
i0.ɵɵelement(1, "td", 83);
|
|
544
588
|
i0.ɵɵelementContainerEnd();
|
|
545
589
|
} }
|
|
546
|
-
function
|
|
547
|
-
i0.ɵɵelement(0, "td",
|
|
590
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_10_Template(rf, ctx) { if (rf & 1) {
|
|
591
|
+
i0.ɵɵelement(0, "td", 84);
|
|
548
592
|
} }
|
|
549
|
-
function
|
|
550
|
-
const
|
|
551
|
-
function
|
|
552
|
-
i0.ɵɵelementStart(0, "tr")(1, "td",
|
|
553
|
-
i0.ɵɵtemplate(2,
|
|
593
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_tr_11_ng_template_2_Template(rf, ctx) { }
|
|
594
|
+
const _c13 = function (a0, a1) { return { $implicit: a0, rowIndex: a1 }; };
|
|
595
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_tr_11_Template(rf, ctx) { if (rf & 1) {
|
|
596
|
+
i0.ɵɵelementStart(0, "tr")(1, "td", 85);
|
|
597
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_6_ng_container_2_tbody_1_tr_11_ng_template_2_Template, 0, 0, "ng-template", 72);
|
|
554
598
|
i0.ɵɵelementEnd()();
|
|
555
599
|
} if (rf & 2) {
|
|
556
|
-
const
|
|
557
|
-
const
|
|
558
|
-
const
|
|
559
|
-
const
|
|
600
|
+
const ctx_r160 = i0.ɵɵnextContext();
|
|
601
|
+
const row_r71 = ctx_r160.$implicit;
|
|
602
|
+
const rowIndex_r72 = ctx_r160.index;
|
|
603
|
+
const ctx_r82 = i0.ɵɵnextContext(3);
|
|
560
604
|
i0.ɵɵadvance(1);
|
|
561
|
-
i0.ɵɵproperty("colSpan",
|
|
605
|
+
i0.ɵɵproperty("colSpan", ctx_r82.columnCountForMasterDetail);
|
|
562
606
|
i0.ɵɵadvance(1);
|
|
563
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
607
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r82.tableRowTemplate.templateRef)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c13, row_r71, rowIndex_r72));
|
|
564
608
|
} }
|
|
565
|
-
function
|
|
566
|
-
const
|
|
567
|
-
i0.ɵɵelementStart(0, "tr")(1, "td",
|
|
568
|
-
i0.ɵɵlistener("p-select-row", function
|
|
609
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_tr_12_Template(rf, ctx) { if (rf & 1) {
|
|
610
|
+
const _r162 = i0.ɵɵgetCurrentView();
|
|
611
|
+
i0.ɵɵelementStart(0, "tr")(1, "td", 86)(2, "po-table-detail", 87);
|
|
612
|
+
i0.ɵɵlistener("p-select-row", function PoTableComponent_ng_template_6_ng_container_2_tbody_1_tr_12_Template_po_table_detail_p_select_row_2_listener($event) { i0.ɵɵrestoreView(_r162); const ctx_r161 = i0.ɵɵnextContext(4); return ctx_r161.selectDetailRow($event); });
|
|
569
613
|
i0.ɵɵelementEnd()()();
|
|
570
614
|
} if (rf & 2) {
|
|
571
|
-
const
|
|
572
|
-
const
|
|
615
|
+
const row_r71 = i0.ɵɵnextContext().$implicit;
|
|
616
|
+
const ctx_r83 = i0.ɵɵnextContext(3);
|
|
617
|
+
i0.ɵɵadvance(1);
|
|
618
|
+
i0.ɵɵproperty("colSpan", ctx_r83.columnCountForMasterDetail);
|
|
619
|
+
i0.ɵɵadvance(1);
|
|
620
|
+
i0.ɵɵproperty("p-selectable", ctx_r83.selectable && !ctx_r83.detailHideSelect)("p-detail", ctx_r83.columnMasterDetail.detail)("p-items", row_r71[ctx_r83.nameColumnDetail]);
|
|
621
|
+
} }
|
|
622
|
+
function PoTableComponent_ng_template_6_ng_container_2_tbody_1_Template(rf, ctx) { if (rf & 1) {
|
|
623
|
+
i0.ɵɵelementStart(0, "tbody", 63)(1, "tr", 67);
|
|
624
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_2_Template, 2, 4, "td", 39);
|
|
625
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_3_Template, 2, 5, "td", 68);
|
|
626
|
+
i0.ɵɵtemplate(4, PoTableComponent_ng_template_6_ng_container_2_tbody_1_4_Template, 1, 5, null, 23);
|
|
627
|
+
i0.ɵɵtemplate(5, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_5_Template, 2, 5, "td", 68);
|
|
628
|
+
i0.ɵɵtemplate(6, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_6_Template, 15, 33, "td", 69);
|
|
629
|
+
i0.ɵɵtemplate(7, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_7_Template, 2, 5, "td", 68);
|
|
630
|
+
i0.ɵɵtemplate(8, PoTableComponent_ng_template_6_ng_container_2_tbody_1_8_Template, 1, 5, null, 23);
|
|
631
|
+
i0.ɵɵtemplate(9, PoTableComponent_ng_template_6_ng_container_2_tbody_1_ng_container_9_Template, 2, 0, "ng-container", 23);
|
|
632
|
+
i0.ɵɵtemplate(10, PoTableComponent_ng_template_6_ng_container_2_tbody_1_td_10_Template, 1, 0, "td", 70);
|
|
633
|
+
i0.ɵɵelementEnd();
|
|
634
|
+
i0.ɵɵtemplate(11, PoTableComponent_ng_template_6_ng_container_2_tbody_1_tr_11_Template, 3, 6, "tr", 23);
|
|
635
|
+
i0.ɵɵtemplate(12, PoTableComponent_ng_template_6_ng_container_2_tbody_1_tr_12_Template, 3, 4, "tr", 23);
|
|
636
|
+
i0.ɵɵelementEnd();
|
|
637
|
+
} if (rf & 2) {
|
|
638
|
+
const row_r71 = ctx.$implicit;
|
|
639
|
+
const rowIndex_r72 = ctx.index;
|
|
640
|
+
const ctx_r70 = i0.ɵɵnextContext(3);
|
|
641
|
+
i0.ɵɵadvance(1);
|
|
642
|
+
i0.ɵɵclassProp("po-table-row-active", row_r71.$selected || row_r71.$selected === null && ctx_r70.selectable);
|
|
643
|
+
i0.ɵɵadvance(1);
|
|
644
|
+
i0.ɵɵproperty("ngIf", ctx_r70.selectable);
|
|
645
|
+
i0.ɵɵadvance(1);
|
|
646
|
+
i0.ɵɵproperty("ngIf", ctx_r70.columnMasterDetail && !ctx_r70.hideDetail && !ctx_r70.hasRowTemplate);
|
|
647
|
+
i0.ɵɵadvance(1);
|
|
648
|
+
i0.ɵɵproperty("ngIf", !ctx_r70.actionRight && (ctx_r70.visibleActions.length > 1 || ctx_r70.isSingleAction));
|
|
649
|
+
i0.ɵɵadvance(1);
|
|
650
|
+
i0.ɵɵproperty("ngIf", ctx_r70.hasRowTemplate && !ctx_r70.hasRowTemplateWithArrowDirectionRight);
|
|
651
|
+
i0.ɵɵadvance(1);
|
|
652
|
+
i0.ɵɵproperty("ngForOf", ctx_r70.mainColumns)("ngForTrackBy", ctx_r70.trackBy);
|
|
653
|
+
i0.ɵɵadvance(1);
|
|
654
|
+
i0.ɵɵproperty("ngIf", ctx_r70.hasRowTemplateWithArrowDirectionRight);
|
|
655
|
+
i0.ɵɵadvance(1);
|
|
656
|
+
i0.ɵɵproperty("ngIf", ctx_r70.actionRight);
|
|
657
|
+
i0.ɵɵadvance(1);
|
|
658
|
+
i0.ɵɵproperty("ngIf", !ctx_r70.actionRight && (ctx_r70.visibleActions.length > 1 || ctx_r70.isSingleAction) && !ctx_r70.hideColumnsManager);
|
|
659
|
+
i0.ɵɵadvance(1);
|
|
660
|
+
i0.ɵɵproperty("ngIf", !ctx_r70.hasVisibleActions && !ctx_r70.hideColumnsManager && !ctx_r70.hasRowTemplateWithArrowDirectionRight);
|
|
661
|
+
i0.ɵɵadvance(1);
|
|
662
|
+
i0.ɵɵproperty("ngIf", ctx_r70.hasMainColumns && ctx_r70.hasRowTemplate && row_r71.$showDetail && ctx_r70.isShowRowTemplate(row_r71, rowIndex_r72));
|
|
663
|
+
i0.ɵɵadvance(1);
|
|
664
|
+
i0.ɵɵproperty("ngIf", ctx_r70.hasMainColumns && ctx_r70.isShowMasterDetail(row_r71));
|
|
665
|
+
} }
|
|
666
|
+
function PoTableComponent_ng_template_6_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
667
|
+
i0.ɵɵelementContainerStart(0);
|
|
668
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_6_ng_container_2_tbody_1_Template, 13, 14, "tbody", 66);
|
|
669
|
+
i0.ɵɵelementContainerEnd();
|
|
670
|
+
} if (rf & 2) {
|
|
671
|
+
const ctx_r69 = i0.ɵɵnextContext(2);
|
|
672
|
+
i0.ɵɵadvance(1);
|
|
673
|
+
i0.ɵɵproperty("ngForOf", ctx_r69.items)("ngForTrackBy", ctx_r69.trackBy);
|
|
674
|
+
} }
|
|
675
|
+
function PoTableComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
676
|
+
i0.ɵɵelementStart(0, "table", 38);
|
|
677
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_6_tbody_1_Template, 5, 2, "tbody", 62);
|
|
678
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_6_ng_container_2_Template, 2, 2, "ng-container", 23);
|
|
679
|
+
i0.ɵɵelementEnd();
|
|
680
|
+
} if (rf & 2) {
|
|
681
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
682
|
+
i0.ɵɵclassProp("po-table-striped", ctx_r7.striped)("po-table-layout-fixed", ctx_r7.hideTextOverflow);
|
|
683
|
+
i0.ɵɵadvance(1);
|
|
684
|
+
i0.ɵɵproperty("ngIf", !ctx_r7.hasItems || !ctx_r7.hasMainColumns);
|
|
685
|
+
i0.ɵɵadvance(1);
|
|
686
|
+
i0.ɵɵproperty("ngIf", ctx_r7.hasMainColumns);
|
|
687
|
+
} }
|
|
688
|
+
function PoTableComponent_ng_template_8_th_3_input_2_Template(rf, ctx) { if (rf & 1) {
|
|
689
|
+
i0.ɵɵelement(0, "input", 49);
|
|
690
|
+
} if (rf & 2) {
|
|
691
|
+
const ctx_r174 = i0.ɵɵnextContext(3);
|
|
692
|
+
i0.ɵɵclassProp("po-table-checkbox-checked", ctx_r174.selectAll)("po-table-checkbox-indeterminate", ctx_r174.selectAll === null);
|
|
693
|
+
} }
|
|
694
|
+
function PoTableComponent_ng_template_8_th_3_label_3_Template(rf, ctx) { if (rf & 1) {
|
|
695
|
+
const _r177 = i0.ɵɵgetCurrentView();
|
|
696
|
+
i0.ɵɵelementStart(0, "label", 50);
|
|
697
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_8_th_3_label_3_Template_label_click_0_listener() { i0.ɵɵrestoreView(_r177); const ctx_r176 = i0.ɵɵnextContext(3); return ctx_r176.selectAllRows(); });
|
|
698
|
+
i0.ɵɵelementEnd();
|
|
699
|
+
} }
|
|
700
|
+
function PoTableComponent_ng_template_8_th_3_Template(rf, ctx) { if (rf & 1) {
|
|
701
|
+
i0.ɵɵelementStart(0, "th", 46)(1, "div");
|
|
702
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_8_th_3_input_2_Template, 1, 4, "input", 47);
|
|
703
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_8_th_3_label_3_Template, 1, 0, "label", 48);
|
|
704
|
+
i0.ɵɵelementEnd()();
|
|
705
|
+
} if (rf & 2) {
|
|
706
|
+
const ctx_r164 = i0.ɵɵnextContext(2);
|
|
707
|
+
i0.ɵɵadvance(1);
|
|
708
|
+
i0.ɵɵclassProp("po-table-header-fixed-inner", ctx_r164.height);
|
|
709
|
+
i0.ɵɵadvance(1);
|
|
710
|
+
i0.ɵɵproperty("ngIf", !ctx_r164.hideSelectAll);
|
|
711
|
+
i0.ɵɵadvance(1);
|
|
712
|
+
i0.ɵɵproperty("ngIf", !ctx_r164.hideSelectAll);
|
|
713
|
+
} }
|
|
714
|
+
function PoTableComponent_ng_template_8_th_4_Template(rf, ctx) { if (rf & 1) {
|
|
715
|
+
i0.ɵɵelement(0, "th", 51);
|
|
716
|
+
} }
|
|
717
|
+
function PoTableComponent_ng_template_8_th_5_Template(rf, ctx) { if (rf & 1) {
|
|
718
|
+
i0.ɵɵelement(0, "th");
|
|
719
|
+
} if (rf & 2) {
|
|
720
|
+
const ctx_r166 = i0.ɵɵnextContext(2);
|
|
721
|
+
i0.ɵɵclassProp("po-table-header-master-detail", !ctx_r166.isSingleAction)("po-table-header-single-action", ctx_r166.isSingleAction);
|
|
722
|
+
} }
|
|
723
|
+
function PoTableComponent_ng_template_8_th_6_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
724
|
+
i0.ɵɵelementContainer(0);
|
|
725
|
+
} }
|
|
726
|
+
function PoTableComponent_ng_template_8_th_6_Template(rf, ctx) { if (rf & 1) {
|
|
727
|
+
i0.ɵɵelementStart(0, "th", 52, 53);
|
|
728
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_8_th_6_ng_container_2_Template, 1, 0, "ng-container", 54);
|
|
729
|
+
i0.ɵɵelementEnd();
|
|
730
|
+
} if (rf & 2) {
|
|
731
|
+
const ctx_r167 = i0.ɵɵnextContext(2);
|
|
732
|
+
const _r19 = i0.ɵɵreference(21);
|
|
733
|
+
const _r21 = i0.ɵɵreference(23);
|
|
734
|
+
i0.ɵɵadvance(2);
|
|
735
|
+
i0.ɵɵproperty("ngIf", ctx_r167.height)("ngIfThen", _r19)("ngIfElse", _r21);
|
|
736
|
+
} }
|
|
737
|
+
function PoTableComponent_ng_template_8_th_7_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
738
|
+
i0.ɵɵelementContainer(0);
|
|
739
|
+
} }
|
|
740
|
+
function PoTableComponent_ng_template_8_th_7_Template(rf, ctx) { if (rf & 1) {
|
|
741
|
+
const _r185 = i0.ɵɵgetCurrentView();
|
|
742
|
+
i0.ɵɵelementStart(0, "th", 55, 56);
|
|
743
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_8_th_7_Template_th_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r185); const column_r180 = restoredCtx.$implicit; const ctx_r184 = i0.ɵɵnextContext(2); return ctx_r184.sortColumn(column_r180); });
|
|
744
|
+
i0.ɵɵelementStart(2, "div", 57);
|
|
745
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_8_th_7_ng_container_3_Template, 1, 0, "ng-container", 58);
|
|
746
|
+
i0.ɵɵelementEnd()();
|
|
747
|
+
} if (rf & 2) {
|
|
748
|
+
const column_r180 = ctx.$implicit;
|
|
749
|
+
const ctx_r168 = i0.ɵɵnextContext(2);
|
|
750
|
+
const _r17 = i0.ɵɵreference(19);
|
|
751
|
+
i0.ɵɵstyleProp("width", column_r180.width)("max-width", column_r180.width)("min-width", column_r180.width);
|
|
752
|
+
i0.ɵɵclassProp("po-clickable", ctx_r168.sort && column_r180.sortable !== false || ctx_r168.hasService)("po-table-header-subtitle", column_r180.type === "subtitle");
|
|
753
|
+
i0.ɵɵadvance(2);
|
|
754
|
+
i0.ɵɵclassProp("po-table-header-fixed-inner", ctx_r168.height)("po-table-header-flex-right", column_r180.type === "currency" || column_r180.type === "number")("po-table-header-flex-center", column_r180.type === "subtitle");
|
|
755
|
+
i0.ɵɵadvance(1);
|
|
756
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r17)("ngTemplateOutletContext", i0.ɵɵpureFunction1(18, _c10, column_r180));
|
|
757
|
+
} }
|
|
758
|
+
function PoTableComponent_ng_template_8_th_8_Template(rf, ctx) { if (rf & 1) {
|
|
759
|
+
i0.ɵɵelement(0, "th", 51);
|
|
760
|
+
} }
|
|
761
|
+
function PoTableComponent_ng_template_8_th_9_Template(rf, ctx) { if (rf & 1) {
|
|
762
|
+
i0.ɵɵelement(0, "th");
|
|
763
|
+
} if (rf & 2) {
|
|
764
|
+
const ctx_r170 = i0.ɵɵnextContext(2);
|
|
765
|
+
i0.ɵɵclassProp("po-table-header-single-action", ctx_r170.isSingleAction)("po-table-header-actions", !ctx_r170.isSingleAction);
|
|
766
|
+
} }
|
|
767
|
+
function PoTableComponent_ng_template_8_th_10_Template(rf, ctx) { if (rf & 1) {
|
|
768
|
+
const _r189 = i0.ɵɵgetCurrentView();
|
|
769
|
+
i0.ɵɵelementStart(0, "th", null, 59)(2, "div")(3, "button", 60, 61);
|
|
770
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_8_th_10_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r189); const ctx_r188 = i0.ɵɵnextContext(2); return ctx_r188.onOpenColumnManager(); });
|
|
771
|
+
i0.ɵɵelementEnd()()();
|
|
772
|
+
} if (rf & 2) {
|
|
773
|
+
const _r186 = i0.ɵɵreference(1);
|
|
774
|
+
const ctx_r171 = i0.ɵɵnextContext(2);
|
|
775
|
+
i0.ɵɵclassProp("po-table-header-column-manager", !ctx_r171.isSingleAction || !ctx_r171.actionRight)("po-table-header-column-manager-border", !ctx_r171.height && ctx_r171.container)("po-table-header-single-action", ctx_r171.isSingleAction && ctx_r171.actionRight);
|
|
776
|
+
i0.ɵɵadvance(2);
|
|
777
|
+
i0.ɵɵstyleProp("width", ctx_r171.height && ctx_r171.visibleActions.length ? _r186.offsetWidth : undefined, "px");
|
|
778
|
+
i0.ɵɵclassProp("po-table-header-column-manager-border", ctx_r171.height && ctx_r171.container)("po-table-header-column-manager-fixed-inner", ctx_r171.height);
|
|
779
|
+
i0.ɵɵadvance(1);
|
|
780
|
+
i0.ɵɵproperty("p-tooltip", ctx_r171.literals.columnsManager);
|
|
781
|
+
} }
|
|
782
|
+
function PoTableComponent_ng_template_8_tbody_11_Template(rf, ctx) { if (rf & 1) {
|
|
783
|
+
i0.ɵɵelementStart(0, "tbody", 63)(1, "tr", 64)(2, "td", 65)(3, "span");
|
|
784
|
+
i0.ɵɵtext(4);
|
|
785
|
+
i0.ɵɵelementEnd()()()();
|
|
786
|
+
} if (rf & 2) {
|
|
787
|
+
const ctx_r172 = i0.ɵɵnextContext(2);
|
|
788
|
+
i0.ɵɵadvance(2);
|
|
789
|
+
i0.ɵɵproperty("colSpan", ctx_r172.columnCount);
|
|
790
|
+
i0.ɵɵadvance(2);
|
|
791
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r172.literals.noData, " ");
|
|
792
|
+
} }
|
|
793
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
794
|
+
i0.ɵɵelementContainer(0);
|
|
795
|
+
} }
|
|
796
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_2_Template(rf, ctx) { if (rf & 1) {
|
|
797
|
+
i0.ɵɵelementStart(0, "td", 46);
|
|
798
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_2_ng_container_1_Template, 1, 0, "ng-container", 58);
|
|
799
|
+
i0.ɵɵelementEnd();
|
|
800
|
+
} if (rf & 2) {
|
|
801
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
802
|
+
const ctx_r193 = i0.ɵɵnextContext(3);
|
|
803
|
+
const _r13 = i0.ɵɵreference(15);
|
|
804
|
+
const _r15 = i0.ɵɵreference(17);
|
|
805
|
+
i0.ɵɵadvance(1);
|
|
806
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r193.singleSelect ? _r13 : _r15)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c10, row_r191));
|
|
807
|
+
} }
|
|
808
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_3_ng_template_1_Template(rf, ctx) { }
|
|
809
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_3_Template(rf, ctx) { if (rf & 1) {
|
|
810
|
+
const _r209 = i0.ɵɵgetCurrentView();
|
|
811
|
+
i0.ɵɵelementStart(0, "td", 71);
|
|
812
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_3_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r209); const row_r191 = i0.ɵɵnextContext().$implicit; const ctx_r207 = i0.ɵɵnextContext(3); return ctx_r207.toggleDetail(row_r191); });
|
|
813
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_3_ng_template_1_Template, 0, 0, "ng-template", 72);
|
|
814
|
+
i0.ɵɵelementEnd();
|
|
815
|
+
} if (rf & 2) {
|
|
816
|
+
const ctx_r210 = i0.ɵɵnextContext();
|
|
817
|
+
const row_r191 = ctx_r210.$implicit;
|
|
818
|
+
const rowIndex_r192 = ctx_r210.index;
|
|
819
|
+
i0.ɵɵnextContext(3);
|
|
820
|
+
const _r11 = i0.ɵɵreference(13);
|
|
821
|
+
i0.ɵɵadvance(1);
|
|
822
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r11)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r191, rowIndex_r192));
|
|
823
|
+
} }
|
|
824
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_4_ng_template_0_Template(rf, ctx) { }
|
|
825
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_4_Template(rf, ctx) { if (rf & 1) {
|
|
826
|
+
i0.ɵɵtemplate(0, PoTableComponent_ng_template_8_ng_container_12_tbody_1_4_ng_template_0_Template, 0, 0, "ng-template", 72);
|
|
827
|
+
} if (rf & 2) {
|
|
828
|
+
const ctx_r212 = i0.ɵɵnextContext();
|
|
829
|
+
const row_r191 = ctx_r212.$implicit;
|
|
830
|
+
const rowIndex_r192 = ctx_r212.index;
|
|
831
|
+
i0.ɵɵnextContext(3);
|
|
832
|
+
const _r23 = i0.ɵɵreference(25);
|
|
833
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r23)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r191, rowIndex_r192));
|
|
834
|
+
} }
|
|
835
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_5_ng_template_1_Template(rf, ctx) { }
|
|
836
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_5_Template(rf, ctx) { if (rf & 1) {
|
|
837
|
+
const _r216 = i0.ɵɵgetCurrentView();
|
|
838
|
+
i0.ɵɵelementStart(0, "td", 71);
|
|
839
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_5_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r216); const row_r191 = i0.ɵɵnextContext().$implicit; const ctx_r214 = i0.ɵɵnextContext(3); return ctx_r214.toggleDetail(row_r191); });
|
|
840
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_5_ng_template_1_Template, 0, 0, "ng-template", 72);
|
|
841
|
+
i0.ɵɵelementEnd();
|
|
842
|
+
} if (rf & 2) {
|
|
843
|
+
const ctx_r217 = i0.ɵɵnextContext();
|
|
844
|
+
const row_r191 = ctx_r217.$implicit;
|
|
845
|
+
const rowIndex_r192 = ctx_r217.index;
|
|
846
|
+
i0.ɵɵnextContext(3);
|
|
847
|
+
const _r11 = i0.ɵɵreference(13);
|
|
573
848
|
i0.ɵɵadvance(1);
|
|
574
|
-
i0.ɵɵproperty("
|
|
849
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r11)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r191, rowIndex_r192));
|
|
850
|
+
} }
|
|
851
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
852
|
+
i0.ɵɵelementContainer(0);
|
|
853
|
+
} }
|
|
854
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_2_Template(rf, ctx) { if (rf & 1) {
|
|
855
|
+
i0.ɵɵelementStart(0, "span");
|
|
856
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_2_ng_container_1_Template, 1, 0, "ng-container", 58);
|
|
857
|
+
i0.ɵɵelementEnd();
|
|
858
|
+
} if (rf & 2) {
|
|
859
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
860
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
861
|
+
const ctx_r220 = i0.ɵɵnextContext(3);
|
|
575
862
|
i0.ɵɵadvance(1);
|
|
576
|
-
i0.ɵɵproperty("
|
|
863
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r220.getTemplate(column_r218))("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c10, ctx_r220.getCellData(row_r191, column_r218)));
|
|
864
|
+
} }
|
|
865
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
866
|
+
i0.ɵɵelementContainer(0);
|
|
577
867
|
} }
|
|
578
|
-
function
|
|
579
|
-
i0.ɵɵelementStart(0, "
|
|
580
|
-
i0.ɵɵtemplate(
|
|
581
|
-
i0.ɵɵtemplate(3, PoTableComponent_ng_template_4_ng_container_12_tbody_1_td_3_Template, 2, 5, "td", 65);
|
|
582
|
-
i0.ɵɵtemplate(4, PoTableComponent_ng_template_4_ng_container_12_tbody_1_4_Template, 1, 5, null, 21);
|
|
583
|
-
i0.ɵɵtemplate(5, PoTableComponent_ng_template_4_ng_container_12_tbody_1_td_5_Template, 2, 5, "td", 65);
|
|
584
|
-
i0.ɵɵtemplate(6, PoTableComponent_ng_template_4_ng_container_12_tbody_1_td_6_Template, 15, 31, "td", 66);
|
|
585
|
-
i0.ɵɵtemplate(7, PoTableComponent_ng_template_4_ng_container_12_tbody_1_td_7_Template, 2, 5, "td", 65);
|
|
586
|
-
i0.ɵɵtemplate(8, PoTableComponent_ng_template_4_ng_container_12_tbody_1_8_Template, 1, 5, null, 21);
|
|
587
|
-
i0.ɵɵtemplate(9, PoTableComponent_ng_template_4_ng_container_12_tbody_1_ng_container_9_Template, 2, 0, "ng-container", 21);
|
|
588
|
-
i0.ɵɵtemplate(10, PoTableComponent_ng_template_4_ng_container_12_tbody_1_td_10_Template, 1, 0, "td", 67);
|
|
868
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
869
|
+
i0.ɵɵelementStart(0, "span");
|
|
870
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_3_ng_container_1_Template, 1, 0, "ng-container", 58);
|
|
589
871
|
i0.ɵɵelementEnd();
|
|
590
|
-
|
|
591
|
-
i0.ɵɵ
|
|
872
|
+
} if (rf & 2) {
|
|
873
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
874
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
875
|
+
const ctx_r221 = i0.ɵɵnextContext(3);
|
|
876
|
+
i0.ɵɵadvance(1);
|
|
877
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r221.tableCellTemplate == null ? null : ctx_r221.tableCellTemplate.templateRef)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c12, row_r191, column_r218));
|
|
878
|
+
} }
|
|
879
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
880
|
+
i0.ɵɵelementStart(0, "span");
|
|
881
|
+
i0.ɵɵtext(1);
|
|
592
882
|
i0.ɵɵelementEnd();
|
|
593
883
|
} if (rf & 2) {
|
|
594
|
-
const
|
|
595
|
-
const
|
|
596
|
-
const
|
|
884
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
885
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
886
|
+
const ctx_r222 = i0.ɵɵnextContext(3);
|
|
597
887
|
i0.ɵɵadvance(1);
|
|
598
|
-
i0.ɵɵ
|
|
888
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r222.getBooleanLabel(ctx_r222.getCellData(row_r191, column_r218), column_r218), " ");
|
|
889
|
+
} }
|
|
890
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_5_Template(rf, ctx) { if (rf & 1) {
|
|
891
|
+
i0.ɵɵelementStart(0, "span");
|
|
892
|
+
i0.ɵɵtext(1);
|
|
893
|
+
i0.ɵɵpipe(2, "currency");
|
|
894
|
+
i0.ɵɵelementEnd();
|
|
895
|
+
} if (rf & 2) {
|
|
896
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
897
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
898
|
+
const ctx_r223 = i0.ɵɵnextContext(3);
|
|
599
899
|
i0.ɵɵadvance(1);
|
|
600
|
-
i0.ɵɵ
|
|
900
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind4(2, 1, ctx_r223.getCellData(row_r191, column_r218), column_r218.format, "symbol", "1.2-2"), " ");
|
|
901
|
+
} }
|
|
902
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_6_Template(rf, ctx) { if (rf & 1) {
|
|
903
|
+
i0.ɵɵelementStart(0, "span");
|
|
904
|
+
i0.ɵɵtext(1);
|
|
905
|
+
i0.ɵɵpipe(2, "date");
|
|
906
|
+
i0.ɵɵelementEnd();
|
|
907
|
+
} if (rf & 2) {
|
|
908
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
909
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
910
|
+
const ctx_r224 = i0.ɵɵnextContext(3);
|
|
601
911
|
i0.ɵɵadvance(1);
|
|
602
|
-
i0.ɵɵ
|
|
912
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r224.getCellData(row_r191, column_r218), column_r218.format || "dd/MM/yyyy"), " ");
|
|
913
|
+
} }
|
|
914
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
915
|
+
i0.ɵɵelementStart(0, "span");
|
|
916
|
+
i0.ɵɵtext(1);
|
|
917
|
+
i0.ɵɵpipe(2, "po_time");
|
|
918
|
+
i0.ɵɵelementEnd();
|
|
919
|
+
} if (rf & 2) {
|
|
920
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
921
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
922
|
+
const ctx_r225 = i0.ɵɵnextContext(3);
|
|
603
923
|
i0.ɵɵadvance(1);
|
|
604
|
-
i0.ɵɵ
|
|
924
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r225.getCellData(row_r191, column_r218), column_r218.format || "HH:mm:ss.ffffff"), " ");
|
|
925
|
+
} }
|
|
926
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_8_Template(rf, ctx) { if (rf & 1) {
|
|
927
|
+
i0.ɵɵelementStart(0, "span");
|
|
928
|
+
i0.ɵɵtext(1);
|
|
929
|
+
i0.ɵɵpipe(2, "date");
|
|
930
|
+
i0.ɵɵelementEnd();
|
|
931
|
+
} if (rf & 2) {
|
|
932
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
933
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
934
|
+
const ctx_r226 = i0.ɵɵnextContext(3);
|
|
605
935
|
i0.ɵɵadvance(1);
|
|
606
|
-
i0.ɵɵ
|
|
936
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r226.getCellData(row_r191, column_r218), column_r218.format || "dd/MM/yyyy HH:mm:ss"), " ");
|
|
937
|
+
} }
|
|
938
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_9_Template(rf, ctx) { if (rf & 1) {
|
|
939
|
+
i0.ɵɵelementStart(0, "span");
|
|
940
|
+
i0.ɵɵtext(1);
|
|
941
|
+
i0.ɵɵelementEnd();
|
|
942
|
+
} if (rf & 2) {
|
|
943
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
944
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
945
|
+
const ctx_r227 = i0.ɵɵnextContext(3);
|
|
607
946
|
i0.ɵɵadvance(1);
|
|
608
|
-
i0.ɵɵ
|
|
947
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r227.formatNumber(ctx_r227.getCellData(row_r191, column_r218), column_r218.format), " ");
|
|
948
|
+
} }
|
|
949
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_po_table_column_link_10_Template(rf, ctx) { if (rf & 1) {
|
|
950
|
+
const _r253 = i0.ɵɵgetCurrentView();
|
|
951
|
+
i0.ɵɵelementStart(0, "po-table-column-link", 79);
|
|
952
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_po_table_column_link_10_Template_po_table_column_link_click_0_listener($event) { i0.ɵɵrestoreView(_r253); const column_r218 = i0.ɵɵnextContext().$implicit; const row_r191 = i0.ɵɵnextContext().$implicit; const ctx_r251 = i0.ɵɵnextContext(3); return ctx_r251.onClickLink($event, row_r191, column_r218); });
|
|
953
|
+
i0.ɵɵelementEnd();
|
|
954
|
+
} if (rf & 2) {
|
|
955
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
956
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
957
|
+
const ctx_r228 = i0.ɵɵnextContext(3);
|
|
958
|
+
i0.ɵɵproperty("p-action", column_r218.action)("p-disabled", ctx_r228.checkDisabled(row_r191, column_r218))("p-link", row_r191[column_r218.link])("p-row", row_r191)("p-value", ctx_r228.getCellData(row_r191, column_r218));
|
|
959
|
+
} }
|
|
960
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_po_table_column_icon_11_Template(rf, ctx) { if (rf & 1) {
|
|
961
|
+
i0.ɵɵelement(0, "po-table-column-icon", 80);
|
|
962
|
+
} if (rf & 2) {
|
|
963
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
964
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
965
|
+
const ctx_r229 = i0.ɵɵnextContext(3);
|
|
966
|
+
i0.ɵɵproperty("p-column", column_r218)("p-icons", ctx_r229.getColumnIcons(row_r191, column_r218))("p-row", row_r191);
|
|
967
|
+
} }
|
|
968
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_12_Template(rf, ctx) { if (rf & 1) {
|
|
969
|
+
i0.ɵɵelementStart(0, "span");
|
|
970
|
+
i0.ɵɵelement(1, "po-table-subtitle-circle", 81);
|
|
971
|
+
i0.ɵɵelementEnd();
|
|
972
|
+
} if (rf & 2) {
|
|
973
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
974
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
975
|
+
const ctx_r230 = i0.ɵɵnextContext(3);
|
|
609
976
|
i0.ɵɵadvance(1);
|
|
610
|
-
i0.ɵɵproperty("
|
|
977
|
+
i0.ɵɵproperty("p-subtitle", ctx_r230.getSubtitleColumn(row_r191, column_r218));
|
|
978
|
+
} }
|
|
979
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_13_Template(rf, ctx) { if (rf & 1) {
|
|
980
|
+
i0.ɵɵelementStart(0, "span");
|
|
981
|
+
i0.ɵɵelement(1, "po-table-column-label", 82);
|
|
982
|
+
i0.ɵɵelementEnd();
|
|
983
|
+
} if (rf & 2) {
|
|
984
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
985
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
986
|
+
const ctx_r231 = i0.ɵɵnextContext(3);
|
|
611
987
|
i0.ɵɵadvance(1);
|
|
612
|
-
i0.ɵɵproperty("
|
|
988
|
+
i0.ɵɵproperty("p-value", ctx_r231.getColumnLabel(row_r191, column_r218));
|
|
989
|
+
} }
|
|
990
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_14_Template(rf, ctx) { if (rf & 1) {
|
|
991
|
+
i0.ɵɵelementStart(0, "span");
|
|
992
|
+
i0.ɵɵtext(1);
|
|
993
|
+
i0.ɵɵelementEnd();
|
|
994
|
+
} if (rf & 2) {
|
|
995
|
+
const column_r218 = i0.ɵɵnextContext().$implicit;
|
|
996
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
997
|
+
const ctx_r232 = i0.ɵɵnextContext(3);
|
|
998
|
+
i0.ɵɵadvance(1);
|
|
999
|
+
i0.ɵɵtextInterpolate(ctx_r232.getCellData(row_r191, column_r218));
|
|
1000
|
+
} }
|
|
1001
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_Template(rf, ctx) { if (rf & 1) {
|
|
1002
|
+
const _r266 = i0.ɵɵgetCurrentView();
|
|
1003
|
+
i0.ɵɵelementStart(0, "td", 73);
|
|
1004
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r266); const row_r191 = i0.ɵɵnextContext().$implicit; const ctx_r265 = i0.ɵɵnextContext(3); return ctx_r265.selectable ? ctx_r265.selectRow(row_r191) : "javascript:;"; });
|
|
1005
|
+
i0.ɵɵelementStart(1, "div", 74);
|
|
1006
|
+
i0.ɵɵlistener("mouseenter", function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_Template_div_mouseenter_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r266); const column_r218 = restoredCtx.$implicit; const row_r191 = i0.ɵɵnextContext().$implicit; const ctx_r268 = i0.ɵɵnextContext(3); return ctx_r268.tooltipMouseEnter($event, column_r218, row_r191); })("mouseleave", function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_Template_div_mouseleave_1_listener() { i0.ɵɵrestoreView(_r266); const ctx_r270 = i0.ɵɵnextContext(4); return ctx_r270.tooltipMouseLeave(); });
|
|
1007
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_2_Template, 2, 4, "span", 75);
|
|
1008
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_3_Template, 2, 5, "span", 75);
|
|
1009
|
+
i0.ɵɵtemplate(4, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_4_Template, 2, 1, "span", 75);
|
|
1010
|
+
i0.ɵɵtemplate(5, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_5_Template, 3, 6, "span", 75);
|
|
1011
|
+
i0.ɵɵtemplate(6, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_6_Template, 3, 4, "span", 75);
|
|
1012
|
+
i0.ɵɵtemplate(7, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_7_Template, 3, 4, "span", 75);
|
|
1013
|
+
i0.ɵɵtemplate(8, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_8_Template, 3, 4, "span", 75);
|
|
1014
|
+
i0.ɵɵtemplate(9, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_9_Template, 2, 1, "span", 75);
|
|
1015
|
+
i0.ɵɵtemplate(10, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_po_table_column_link_10_Template, 1, 5, "po-table-column-link", 76);
|
|
1016
|
+
i0.ɵɵtemplate(11, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_po_table_column_icon_11_Template, 1, 3, "po-table-column-icon", 77);
|
|
1017
|
+
i0.ɵɵtemplate(12, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_12_Template, 2, 1, "span", 75);
|
|
1018
|
+
i0.ɵɵtemplate(13, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_13_Template, 2, 1, "span", 75);
|
|
1019
|
+
i0.ɵɵtemplate(14, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_span_14_Template, 2, 1, "span", 78);
|
|
1020
|
+
i0.ɵɵelementEnd()();
|
|
1021
|
+
} if (rf & 2) {
|
|
1022
|
+
const column_r218 = ctx.$implicit;
|
|
1023
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
1024
|
+
const ctx_r197 = i0.ɵɵnextContext(3);
|
|
1025
|
+
i0.ɵɵstyleProp("width", column_r218.width)("max-width", column_r218.width)("min-width", column_r218.width);
|
|
1026
|
+
i0.ɵɵclassProp("po-table-column", column_r218.type !== "icon")("po-table-column-right", column_r218.type === "currency" || column_r218.type === "number")("po-table-column-center", column_r218.type === "subtitle")("po-table-column-icons", column_r218.type === "icon");
|
|
1027
|
+
i0.ɵɵproperty("ngClass", ctx_r197.getClassColor(row_r191, column_r218));
|
|
613
1028
|
i0.ɵɵadvance(1);
|
|
614
|
-
i0.ɵɵ
|
|
1029
|
+
i0.ɵɵclassProp("po-table-body-ellipsis", ctx_r197.hideTextOverflow);
|
|
1030
|
+
i0.ɵɵproperty("ngSwitch", column_r218.type)("p-tooltip", ctx_r197.tooltipText);
|
|
615
1031
|
i0.ɵɵadvance(1);
|
|
616
|
-
i0.ɵɵproperty("
|
|
1032
|
+
i0.ɵɵproperty("ngSwitchCase", "columnTemplate");
|
|
1033
|
+
i0.ɵɵadvance(1);
|
|
1034
|
+
i0.ɵɵproperty("ngSwitchCase", "cellTemplate");
|
|
1035
|
+
i0.ɵɵadvance(1);
|
|
1036
|
+
i0.ɵɵproperty("ngSwitchCase", "boolean");
|
|
617
1037
|
i0.ɵɵadvance(1);
|
|
618
|
-
i0.ɵɵproperty("
|
|
1038
|
+
i0.ɵɵproperty("ngSwitchCase", "currency");
|
|
1039
|
+
i0.ɵɵadvance(1);
|
|
1040
|
+
i0.ɵɵproperty("ngSwitchCase", "date");
|
|
1041
|
+
i0.ɵɵadvance(1);
|
|
1042
|
+
i0.ɵɵproperty("ngSwitchCase", "time");
|
|
1043
|
+
i0.ɵɵadvance(1);
|
|
1044
|
+
i0.ɵɵproperty("ngSwitchCase", "dateTime");
|
|
1045
|
+
i0.ɵɵadvance(1);
|
|
1046
|
+
i0.ɵɵproperty("ngSwitchCase", "number");
|
|
619
1047
|
i0.ɵɵadvance(1);
|
|
620
|
-
i0.ɵɵproperty("
|
|
1048
|
+
i0.ɵɵproperty("ngSwitchCase", "link");
|
|
1049
|
+
i0.ɵɵadvance(1);
|
|
1050
|
+
i0.ɵɵproperty("ngSwitchCase", "icon");
|
|
1051
|
+
i0.ɵɵadvance(1);
|
|
1052
|
+
i0.ɵɵproperty("ngSwitchCase", "subtitle");
|
|
1053
|
+
i0.ɵɵadvance(1);
|
|
1054
|
+
i0.ɵɵproperty("ngSwitchCase", "label");
|
|
1055
|
+
} }
|
|
1056
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_7_ng_template_1_Template(rf, ctx) { }
|
|
1057
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_7_Template(rf, ctx) { if (rf & 1) {
|
|
1058
|
+
const _r275 = i0.ɵɵgetCurrentView();
|
|
1059
|
+
i0.ɵɵelementStart(0, "td", 71);
|
|
1060
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_7_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r275); const row_r191 = i0.ɵɵnextContext().$implicit; const ctx_r273 = i0.ɵɵnextContext(3); return ctx_r273.toggleDetail(row_r191); });
|
|
1061
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_7_ng_template_1_Template, 0, 0, "ng-template", 72);
|
|
1062
|
+
i0.ɵɵelementEnd();
|
|
1063
|
+
} if (rf & 2) {
|
|
1064
|
+
const ctx_r276 = i0.ɵɵnextContext();
|
|
1065
|
+
const row_r191 = ctx_r276.$implicit;
|
|
1066
|
+
const rowIndex_r192 = ctx_r276.index;
|
|
1067
|
+
i0.ɵɵnextContext(3);
|
|
1068
|
+
const _r11 = i0.ɵɵreference(13);
|
|
1069
|
+
i0.ɵɵadvance(1);
|
|
1070
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r11)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r191, rowIndex_r192));
|
|
1071
|
+
} }
|
|
1072
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_8_ng_template_0_Template(rf, ctx) { }
|
|
1073
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_8_Template(rf, ctx) { if (rf & 1) {
|
|
1074
|
+
i0.ɵɵtemplate(0, PoTableComponent_ng_template_8_ng_container_12_tbody_1_8_ng_template_0_Template, 0, 0, "ng-template", 72);
|
|
1075
|
+
} if (rf & 2) {
|
|
1076
|
+
const ctx_r278 = i0.ɵɵnextContext();
|
|
1077
|
+
const row_r191 = ctx_r278.$implicit;
|
|
1078
|
+
const rowIndex_r192 = ctx_r278.index;
|
|
1079
|
+
i0.ɵɵnextContext(3);
|
|
1080
|
+
const _r23 = i0.ɵɵreference(25);
|
|
1081
|
+
i0.ɵɵproperty("ngTemplateOutlet", _r23)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c11, row_r191, rowIndex_r192));
|
|
621
1082
|
} }
|
|
622
|
-
function
|
|
1083
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_ng_container_9_Template(rf, ctx) { if (rf & 1) {
|
|
623
1084
|
i0.ɵɵelementContainerStart(0);
|
|
624
|
-
i0.ɵɵ
|
|
1085
|
+
i0.ɵɵelement(1, "td", 88);
|
|
625
1086
|
i0.ɵɵelementContainerEnd();
|
|
1087
|
+
} }
|
|
1088
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_10_Template(rf, ctx) { if (rf & 1) {
|
|
1089
|
+
i0.ɵɵelement(0, "td", 84);
|
|
1090
|
+
} }
|
|
1091
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_tr_11_ng_template_2_Template(rf, ctx) { }
|
|
1092
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_tr_11_Template(rf, ctx) { if (rf & 1) {
|
|
1093
|
+
i0.ɵɵelementStart(0, "tr")(1, "td", 85);
|
|
1094
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_8_ng_container_12_tbody_1_tr_11_ng_template_2_Template, 0, 0, "ng-template", 72);
|
|
1095
|
+
i0.ɵɵelementEnd()();
|
|
626
1096
|
} if (rf & 2) {
|
|
627
|
-
const
|
|
1097
|
+
const ctx_r280 = i0.ɵɵnextContext();
|
|
1098
|
+
const row_r191 = ctx_r280.$implicit;
|
|
1099
|
+
const rowIndex_r192 = ctx_r280.index;
|
|
1100
|
+
const ctx_r202 = i0.ɵɵnextContext(3);
|
|
628
1101
|
i0.ɵɵadvance(1);
|
|
629
|
-
i0.ɵɵproperty("
|
|
1102
|
+
i0.ɵɵproperty("colSpan", ctx_r202.columnCountForMasterDetail);
|
|
1103
|
+
i0.ɵɵadvance(1);
|
|
1104
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r202.tableRowTemplate.templateRef)("ngTemplateOutletContext", i0.ɵɵpureFunction2(3, _c13, row_r191, rowIndex_r192));
|
|
630
1105
|
} }
|
|
631
|
-
function
|
|
632
|
-
|
|
633
|
-
i0.ɵɵ
|
|
634
|
-
i0.ɵɵ
|
|
635
|
-
i0.ɵɵ
|
|
636
|
-
|
|
637
|
-
i0.ɵɵ
|
|
638
|
-
i0.ɵɵ
|
|
639
|
-
i0.ɵɵ
|
|
640
|
-
i0.ɵɵ
|
|
1106
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_tr_12_Template(rf, ctx) { if (rf & 1) {
|
|
1107
|
+
const _r282 = i0.ɵɵgetCurrentView();
|
|
1108
|
+
i0.ɵɵelementStart(0, "tr")(1, "td", 86)(2, "po-table-detail", 87);
|
|
1109
|
+
i0.ɵɵlistener("p-select-row", function PoTableComponent_ng_template_8_ng_container_12_tbody_1_tr_12_Template_po_table_detail_p_select_row_2_listener($event) { i0.ɵɵrestoreView(_r282); const ctx_r281 = i0.ɵɵnextContext(4); return ctx_r281.selectDetailRow($event); });
|
|
1110
|
+
i0.ɵɵelementEnd()()();
|
|
1111
|
+
} if (rf & 2) {
|
|
1112
|
+
const row_r191 = i0.ɵɵnextContext().$implicit;
|
|
1113
|
+
const ctx_r203 = i0.ɵɵnextContext(3);
|
|
1114
|
+
i0.ɵɵadvance(1);
|
|
1115
|
+
i0.ɵɵproperty("colSpan", ctx_r203.columnCountForMasterDetail);
|
|
1116
|
+
i0.ɵɵadvance(1);
|
|
1117
|
+
i0.ɵɵproperty("p-selectable", ctx_r203.selectable && !ctx_r203.detailHideSelect)("p-detail", ctx_r203.columnMasterDetail.detail)("p-items", row_r191[ctx_r203.nameColumnDetail]);
|
|
1118
|
+
} }
|
|
1119
|
+
function PoTableComponent_ng_template_8_ng_container_12_tbody_1_Template(rf, ctx) { if (rf & 1) {
|
|
1120
|
+
i0.ɵɵelementStart(0, "tbody", 63)(1, "tr", 67);
|
|
1121
|
+
i0.ɵɵtemplate(2, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_2_Template, 2, 4, "td", 39);
|
|
1122
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_3_Template, 2, 5, "td", 68);
|
|
1123
|
+
i0.ɵɵtemplate(4, PoTableComponent_ng_template_8_ng_container_12_tbody_1_4_Template, 1, 5, null, 23);
|
|
1124
|
+
i0.ɵɵtemplate(5, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_5_Template, 2, 5, "td", 68);
|
|
1125
|
+
i0.ɵɵtemplate(6, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_6_Template, 15, 31, "td", 69);
|
|
1126
|
+
i0.ɵɵtemplate(7, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_7_Template, 2, 5, "td", 68);
|
|
1127
|
+
i0.ɵɵtemplate(8, PoTableComponent_ng_template_8_ng_container_12_tbody_1_8_Template, 1, 5, null, 23);
|
|
1128
|
+
i0.ɵɵtemplate(9, PoTableComponent_ng_template_8_ng_container_12_tbody_1_ng_container_9_Template, 2, 0, "ng-container", 23);
|
|
1129
|
+
i0.ɵɵtemplate(10, PoTableComponent_ng_template_8_ng_container_12_tbody_1_td_10_Template, 1, 0, "td", 70);
|
|
1130
|
+
i0.ɵɵelementEnd();
|
|
1131
|
+
i0.ɵɵtemplate(11, PoTableComponent_ng_template_8_ng_container_12_tbody_1_tr_11_Template, 3, 6, "tr", 23);
|
|
1132
|
+
i0.ɵɵtemplate(12, PoTableComponent_ng_template_8_ng_container_12_tbody_1_tr_12_Template, 3, 4, "tr", 23);
|
|
1133
|
+
i0.ɵɵelementEnd();
|
|
1134
|
+
} if (rf & 2) {
|
|
1135
|
+
const row_r191 = ctx.$implicit;
|
|
1136
|
+
const rowIndex_r192 = ctx.index;
|
|
1137
|
+
const ctx_r190 = i0.ɵɵnextContext(3);
|
|
1138
|
+
i0.ɵɵadvance(1);
|
|
1139
|
+
i0.ɵɵclassProp("po-table-row-active", row_r191.$selected || row_r191.$selected === null && ctx_r190.selectable);
|
|
1140
|
+
i0.ɵɵadvance(1);
|
|
1141
|
+
i0.ɵɵproperty("ngIf", ctx_r190.selectable);
|
|
1142
|
+
i0.ɵɵadvance(1);
|
|
1143
|
+
i0.ɵɵproperty("ngIf", ctx_r190.columnMasterDetail && !ctx_r190.hideDetail && !ctx_r190.hasRowTemplate);
|
|
1144
|
+
i0.ɵɵadvance(1);
|
|
1145
|
+
i0.ɵɵproperty("ngIf", !ctx_r190.actionRight && (ctx_r190.visibleActions.length > 1 || ctx_r190.isSingleAction));
|
|
1146
|
+
i0.ɵɵadvance(1);
|
|
1147
|
+
i0.ɵɵproperty("ngIf", ctx_r190.hasRowTemplate && !ctx_r190.hasRowTemplateWithArrowDirectionRight);
|
|
1148
|
+
i0.ɵɵadvance(1);
|
|
1149
|
+
i0.ɵɵproperty("ngForOf", ctx_r190.mainColumns)("ngForTrackBy", ctx_r190.trackBy);
|
|
1150
|
+
i0.ɵɵadvance(1);
|
|
1151
|
+
i0.ɵɵproperty("ngIf", ctx_r190.hasRowTemplateWithArrowDirectionRight);
|
|
1152
|
+
i0.ɵɵadvance(1);
|
|
1153
|
+
i0.ɵɵproperty("ngIf", ctx_r190.actionRight);
|
|
1154
|
+
i0.ɵɵadvance(1);
|
|
1155
|
+
i0.ɵɵproperty("ngIf", !ctx_r190.actionRight && (ctx_r190.visibleActions.length > 1 || ctx_r190.isSingleAction) && !ctx_r190.hideColumnsManager);
|
|
1156
|
+
i0.ɵɵadvance(1);
|
|
1157
|
+
i0.ɵɵproperty("ngIf", !ctx_r190.hasVisibleActions && !ctx_r190.hideColumnsManager && !ctx_r190.hasRowTemplateWithArrowDirectionRight);
|
|
1158
|
+
i0.ɵɵadvance(1);
|
|
1159
|
+
i0.ɵɵproperty("ngIf", ctx_r190.hasMainColumns && ctx_r190.hasRowTemplate && row_r191.$showDetail && ctx_r190.isShowRowTemplate(row_r191, rowIndex_r192));
|
|
1160
|
+
i0.ɵɵadvance(1);
|
|
1161
|
+
i0.ɵɵproperty("ngIf", ctx_r190.hasMainColumns && ctx_r190.isShowMasterDetail(row_r191));
|
|
1162
|
+
} }
|
|
1163
|
+
function PoTableComponent_ng_template_8_ng_container_12_Template(rf, ctx) { if (rf & 1) {
|
|
1164
|
+
i0.ɵɵelementContainerStart(0);
|
|
1165
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_8_ng_container_12_tbody_1_Template, 13, 14, "tbody", 66);
|
|
1166
|
+
i0.ɵɵelementContainerEnd();
|
|
1167
|
+
} if (rf & 2) {
|
|
1168
|
+
const ctx_r173 = i0.ɵɵnextContext(2);
|
|
1169
|
+
i0.ɵɵadvance(1);
|
|
1170
|
+
i0.ɵɵproperty("ngForOf", ctx_r173.items)("ngForTrackBy", ctx_r173.trackBy);
|
|
1171
|
+
} }
|
|
1172
|
+
function PoTableComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
|
|
1173
|
+
i0.ɵɵelementStart(0, "table", 38)(1, "thead")(2, "tr");
|
|
1174
|
+
i0.ɵɵtemplate(3, PoTableComponent_ng_template_8_th_3_Template, 4, 4, "th", 39);
|
|
1175
|
+
i0.ɵɵtemplate(4, PoTableComponent_ng_template_8_th_4_Template, 1, 0, "th", 40);
|
|
1176
|
+
i0.ɵɵtemplate(5, PoTableComponent_ng_template_8_th_5_Template, 1, 4, "th", 41);
|
|
1177
|
+
i0.ɵɵtemplate(6, PoTableComponent_ng_template_8_th_6_Template, 3, 3, "th", 42);
|
|
1178
|
+
i0.ɵɵtemplate(7, PoTableComponent_ng_template_8_th_7_Template, 4, 20, "th", 43);
|
|
1179
|
+
i0.ɵɵtemplate(8, PoTableComponent_ng_template_8_th_8_Template, 1, 0, "th", 40);
|
|
1180
|
+
i0.ɵɵtemplate(9, PoTableComponent_ng_template_8_th_9_Template, 1, 4, "th", 44);
|
|
1181
|
+
i0.ɵɵtemplate(10, PoTableComponent_ng_template_8_th_10_Template, 5, 13, "th", 45);
|
|
641
1182
|
i0.ɵɵelementEnd()();
|
|
642
|
-
i0.ɵɵtemplate(11,
|
|
643
|
-
i0.ɵɵtemplate(12,
|
|
1183
|
+
i0.ɵɵtemplate(11, PoTableComponent_ng_template_8_tbody_11_Template, 5, 2, "tbody", 62);
|
|
1184
|
+
i0.ɵɵtemplate(12, PoTableComponent_ng_template_8_ng_container_12_Template, 2, 2, "ng-container", 23);
|
|
644
1185
|
i0.ɵɵelementEnd();
|
|
645
1186
|
} if (rf & 2) {
|
|
646
|
-
const
|
|
647
|
-
i0.ɵɵclassProp("po-table-striped",
|
|
1187
|
+
const ctx_r9 = i0.ɵɵnextContext();
|
|
1188
|
+
i0.ɵɵclassProp("po-table-striped", ctx_r9.striped)("po-table-layout-fixed", ctx_r9.hideTextOverflow);
|
|
648
1189
|
i0.ɵɵadvance(2);
|
|
649
|
-
i0.ɵɵclassProp("po-table-header", !
|
|
1190
|
+
i0.ɵɵclassProp("po-table-header", !ctx_r9.height);
|
|
650
1191
|
i0.ɵɵadvance(1);
|
|
651
|
-
i0.ɵɵproperty("ngIf",
|
|
1192
|
+
i0.ɵɵproperty("ngIf", ctx_r9.hasSelectableColumn);
|
|
652
1193
|
i0.ɵɵadvance(1);
|
|
653
|
-
i0.ɵɵproperty("ngIf", (
|
|
1194
|
+
i0.ɵɵproperty("ngIf", (ctx_r9.hasMasterDetailColumn || ctx_r9.hasRowTemplate) && !ctx_r9.hasRowTemplateWithArrowDirectionRight);
|
|
654
1195
|
i0.ɵɵadvance(1);
|
|
655
|
-
i0.ɵɵproperty("ngIf", !
|
|
1196
|
+
i0.ɵɵproperty("ngIf", !ctx_r9.actionRight && (ctx_r9.visibleActions.length > 1 || ctx_r9.isSingleAction));
|
|
656
1197
|
i0.ɵɵadvance(1);
|
|
657
|
-
i0.ɵɵproperty("ngIf", !
|
|
1198
|
+
i0.ɵɵproperty("ngIf", !ctx_r9.hasMainColumns);
|
|
658
1199
|
i0.ɵɵadvance(1);
|
|
659
|
-
i0.ɵɵproperty("ngForOf",
|
|
1200
|
+
i0.ɵɵproperty("ngForOf", ctx_r9.mainColumns)("ngForTrackBy", ctx_r9.trackBy);
|
|
660
1201
|
i0.ɵɵadvance(1);
|
|
661
|
-
i0.ɵɵproperty("ngIf",
|
|
1202
|
+
i0.ɵɵproperty("ngIf", ctx_r9.hasRowTemplateWithArrowDirectionRight && (ctx_r9.hasVisibleActions || ctx_r9.hideColumnsManager));
|
|
662
1203
|
i0.ɵɵadvance(1);
|
|
663
|
-
i0.ɵɵproperty("ngIf",
|
|
1204
|
+
i0.ɵɵproperty("ngIf", ctx_r9.hasVisibleActions && ctx_r9.hideColumnsManager && ctx_r9.actionRight);
|
|
664
1205
|
i0.ɵɵadvance(1);
|
|
665
|
-
i0.ɵɵproperty("ngIf",
|
|
1206
|
+
i0.ɵɵproperty("ngIf", ctx_r9.hasValidColumns && !ctx_r9.hideColumnsManager);
|
|
666
1207
|
i0.ɵɵadvance(1);
|
|
667
|
-
i0.ɵɵproperty("ngIf", !
|
|
1208
|
+
i0.ɵɵproperty("ngIf", !ctx_r9.hasItems || !ctx_r9.hasMainColumns);
|
|
668
1209
|
i0.ɵɵadvance(1);
|
|
669
|
-
i0.ɵɵproperty("ngIf",
|
|
1210
|
+
i0.ɵɵproperty("ngIf", ctx_r9.hasMainColumns);
|
|
670
1211
|
} }
|
|
671
|
-
function
|
|
672
|
-
i0.ɵɵelement(0, "span",
|
|
1212
|
+
function PoTableComponent_ng_template_12_span_0_Template(rf, ctx) { if (rf & 1) {
|
|
1213
|
+
i0.ɵɵelement(0, "span", 90);
|
|
673
1214
|
} if (rf & 2) {
|
|
674
|
-
const
|
|
675
|
-
i0.ɵɵclassProp("po-icon-arrow-up",
|
|
1215
|
+
const row_r284 = i0.ɵɵnextContext().row;
|
|
1216
|
+
i0.ɵɵclassProp("po-icon-arrow-up", row_r284.$showDetail)("po-icon-arrow-down", !row_r284.$showDetail);
|
|
676
1217
|
} }
|
|
677
|
-
function
|
|
678
|
-
i0.ɵɵtemplate(0,
|
|
1218
|
+
function PoTableComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
|
|
1219
|
+
i0.ɵɵtemplate(0, PoTableComponent_ng_template_12_span_0_Template, 1, 4, "span", 89);
|
|
679
1220
|
} if (rf & 2) {
|
|
680
|
-
const
|
|
681
|
-
const
|
|
682
|
-
const
|
|
683
|
-
i0.ɵɵproperty("ngIf",
|
|
1221
|
+
const row_r284 = ctx.row;
|
|
1222
|
+
const rowIndex_r285 = ctx.rowIndex;
|
|
1223
|
+
const ctx_r12 = i0.ɵɵnextContext();
|
|
1224
|
+
i0.ɵɵproperty("ngIf", ctx_r12.containsMasterDetail(row_r284) && !ctx_r12.hasRowTemplate || ctx_r12.isShowRowTemplate(row_r284, rowIndex_r285) && ctx_r12.hasRowTemplate);
|
|
684
1225
|
} }
|
|
685
|
-
function
|
|
686
|
-
const
|
|
687
|
-
i0.ɵɵelement(0, "input",
|
|
688
|
-
i0.ɵɵelementStart(1, "label",
|
|
689
|
-
i0.ɵɵlistener("click", function
|
|
1226
|
+
function PoTableComponent_ng_template_14_Template(rf, ctx) { if (rf & 1) {
|
|
1227
|
+
const _r290 = i0.ɵɵgetCurrentView();
|
|
1228
|
+
i0.ɵɵelement(0, "input", 91);
|
|
1229
|
+
i0.ɵɵelementStart(1, "label", 92);
|
|
1230
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_14_Template_label_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r290); const row_r288 = restoredCtx.$implicit; const ctx_r289 = i0.ɵɵnextContext(); return ctx_r289.selectable ? ctx_r289.selectRow(row_r288) : "javascript:;"; });
|
|
690
1231
|
i0.ɵɵelementEnd();
|
|
691
1232
|
} if (rf & 2) {
|
|
692
|
-
const
|
|
693
|
-
i0.ɵɵclassProp("po-table-radio-checked",
|
|
1233
|
+
const row_r288 = ctx.$implicit;
|
|
1234
|
+
i0.ɵɵclassProp("po-table-radio-checked", row_r288.$selected);
|
|
694
1235
|
} }
|
|
695
|
-
function
|
|
696
|
-
const
|
|
697
|
-
i0.ɵɵelement(0, "input",
|
|
698
|
-
i0.ɵɵelementStart(1, "label",
|
|
699
|
-
i0.ɵɵlistener("click", function
|
|
1236
|
+
function PoTableComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
|
|
1237
|
+
const _r293 = i0.ɵɵgetCurrentView();
|
|
1238
|
+
i0.ɵɵelement(0, "input", 49);
|
|
1239
|
+
i0.ɵɵelementStart(1, "label", 50);
|
|
1240
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_16_Template_label_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r293); const row_r291 = restoredCtx.$implicit; const ctx_r292 = i0.ɵɵnextContext(); return ctx_r292.selectable ? ctx_r292.selectRow(row_r291) : "javascript:;"; });
|
|
700
1241
|
i0.ɵɵelementEnd();
|
|
701
1242
|
} if (rf & 2) {
|
|
702
|
-
const
|
|
703
|
-
i0.ɵɵclassProp("po-table-checkbox-checked",
|
|
1243
|
+
const row_r291 = ctx.$implicit;
|
|
1244
|
+
i0.ɵɵclassProp("po-table-checkbox-checked", row_r291.$selected);
|
|
704
1245
|
} }
|
|
705
|
-
function
|
|
1246
|
+
function PoTableComponent_ng_template_18_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
706
1247
|
i0.ɵɵelement(0, "span");
|
|
707
1248
|
} if (rf & 2) {
|
|
708
|
-
const
|
|
709
|
-
const
|
|
710
|
-
i0.ɵɵclassProp("po-table-header-icon-unselected", (
|
|
1249
|
+
const column_r294 = i0.ɵɵnextContext().$implicit;
|
|
1250
|
+
const ctx_r296 = i0.ɵɵnextContext();
|
|
1251
|
+
i0.ɵɵclassProp("po-table-header-icon-unselected", (ctx_r296.sortedColumn == null ? null : ctx_r296.sortedColumn.property) !== column_r294)("po-table-header-icon-descending", (ctx_r296.sortedColumn == null ? null : ctx_r296.sortedColumn.property) === column_r294 && ctx_r296.sortedColumn.ascending)("po-table-header-icon-ascending", (ctx_r296.sortedColumn == null ? null : ctx_r296.sortedColumn.property) === column_r294 && !ctx_r296.sortedColumn.ascending);
|
|
711
1252
|
} }
|
|
712
|
-
function
|
|
713
|
-
const
|
|
714
|
-
i0.ɵɵelementStart(0, "span",
|
|
715
|
-
i0.ɵɵlistener("mouseenter", function
|
|
1253
|
+
function PoTableComponent_ng_template_18_Template(rf, ctx) { if (rf & 1) {
|
|
1254
|
+
const _r299 = i0.ɵɵgetCurrentView();
|
|
1255
|
+
i0.ɵɵelementStart(0, "span", 93, 94);
|
|
1256
|
+
i0.ɵɵlistener("mouseenter", function PoTableComponent_ng_template_18_Template_span_mouseenter_0_listener($event) { i0.ɵɵrestoreView(_r299); const ctx_r298 = i0.ɵɵnextContext(); return ctx_r298.tooltipMouseEnter($event); })("mouseleave", function PoTableComponent_ng_template_18_Template_span_mouseleave_0_listener() { i0.ɵɵrestoreView(_r299); const ctx_r300 = i0.ɵɵnextContext(); return ctx_r300.tooltipMouseLeave(); });
|
|
716
1257
|
i0.ɵɵtext(2);
|
|
717
1258
|
i0.ɵɵpipe(3, "titlecase");
|
|
718
1259
|
i0.ɵɵelementEnd();
|
|
719
|
-
i0.ɵɵtemplate(4,
|
|
1260
|
+
i0.ɵɵtemplate(4, PoTableComponent_ng_template_18_span_4_Template, 1, 6, "span", 95);
|
|
720
1261
|
} if (rf & 2) {
|
|
721
|
-
const
|
|
722
|
-
const
|
|
723
|
-
i0.ɵɵproperty("p-tooltip",
|
|
1262
|
+
const column_r294 = ctx.$implicit;
|
|
1263
|
+
const ctx_r18 = i0.ɵɵnextContext();
|
|
1264
|
+
i0.ɵɵproperty("p-tooltip", ctx_r18.tooltipText);
|
|
724
1265
|
i0.ɵɵadvance(2);
|
|
725
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
1266
|
+
i0.ɵɵtextInterpolate1(" ", column_r294.label || i0.ɵɵpipeBind1(3, 3, column_r294.property), " ");
|
|
726
1267
|
i0.ɵɵadvance(2);
|
|
727
|
-
i0.ɵɵproperty("ngIf",
|
|
1268
|
+
i0.ɵɵproperty("ngIf", ctx_r18.sort && column_r294.sortable !== false);
|
|
728
1269
|
} }
|
|
729
|
-
function
|
|
730
|
-
i0.ɵɵelementStart(0, "div",
|
|
1270
|
+
function PoTableComponent_ng_template_20_Template(rf, ctx) { if (rf & 1) {
|
|
1271
|
+
i0.ɵɵelementStart(0, "div", 96);
|
|
731
1272
|
i0.ɵɵtext(1);
|
|
732
1273
|
i0.ɵɵelementEnd();
|
|
733
1274
|
} if (rf & 2) {
|
|
734
|
-
const
|
|
735
|
-
i0.ɵɵstyleProp("width",
|
|
1275
|
+
const ctx_r20 = i0.ɵɵnextContext();
|
|
1276
|
+
i0.ɵɵstyleProp("width", ctx_r20.noColumnsHeader == null ? null : ctx_r20.noColumnsHeader.nativeElement.offsetWidth, "px");
|
|
736
1277
|
i0.ɵɵadvance(1);
|
|
737
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
1278
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r20.hasValidColumns ? ctx_r20.literals.noVisibleColumn : ctx_r20.literals.noColumns, " ");
|
|
738
1279
|
} }
|
|
739
|
-
function
|
|
1280
|
+
function PoTableComponent_ng_template_22_Template(rf, ctx) { if (rf & 1) {
|
|
740
1281
|
i0.ɵɵtext(0);
|
|
741
1282
|
} if (rf & 2) {
|
|
742
|
-
const
|
|
743
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
1283
|
+
const ctx_r22 = i0.ɵɵnextContext();
|
|
1284
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r22.hasValidColumns ? ctx_r22.literals.noVisibleColumn : ctx_r22.literals.noColumns, "\n");
|
|
744
1285
|
} }
|
|
745
|
-
function
|
|
746
|
-
i0.ɵɵelement(0, "po-icon",
|
|
1286
|
+
function PoTableComponent_ng_template_24_td_0_div_1_po_icon_1_Template(rf, ctx) { if (rf & 1) {
|
|
1287
|
+
i0.ɵɵelement(0, "po-icon", 103);
|
|
747
1288
|
} if (rf & 2) {
|
|
748
|
-
const
|
|
749
|
-
i0.ɵɵproperty("p-icon",
|
|
750
|
-
} }
|
|
751
|
-
function
|
|
752
|
-
const
|
|
753
|
-
i0.ɵɵelementStart(0, "div",
|
|
754
|
-
i0.ɵɵlistener("click", function
|
|
755
|
-
i0.ɵɵtemplate(1,
|
|
1289
|
+
const ctx_r306 = i0.ɵɵnextContext(4);
|
|
1290
|
+
i0.ɵɵproperty("p-icon", ctx_r306.firstAction.icon);
|
|
1291
|
+
} }
|
|
1292
|
+
function PoTableComponent_ng_template_24_td_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
1293
|
+
const _r309 = i0.ɵɵgetCurrentView();
|
|
1294
|
+
i0.ɵɵelementStart(0, "div", 101);
|
|
1295
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_24_td_0_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r309); const row_r301 = i0.ɵɵnextContext(2).row; const ctx_r307 = i0.ɵɵnextContext(); return ctx_r307.executeTableAction(row_r301, ctx_r307.firstAction); });
|
|
1296
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_24_td_0_div_1_po_icon_1_Template, 1, 1, "po-icon", 102);
|
|
756
1297
|
i0.ɵɵtext(2);
|
|
757
1298
|
i0.ɵɵelementEnd();
|
|
758
1299
|
} if (rf & 2) {
|
|
759
|
-
const
|
|
760
|
-
const
|
|
761
|
-
i0.ɵɵclassProp("po-table-action-disabled",
|
|
1300
|
+
const row_r301 = i0.ɵɵnextContext(2).row;
|
|
1301
|
+
const ctx_r305 = i0.ɵɵnextContext();
|
|
1302
|
+
i0.ɵɵclassProp("po-table-action-disabled", ctx_r305.firstAction.disabled ? ctx_r305.validateTableAction(row_r301, ctx_r305.firstAction) : false);
|
|
762
1303
|
i0.ɵɵadvance(1);
|
|
763
|
-
i0.ɵɵproperty("ngIf",
|
|
1304
|
+
i0.ɵɵproperty("ngIf", ctx_r305.firstAction.icon);
|
|
764
1305
|
i0.ɵɵadvance(1);
|
|
765
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
1306
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r305.firstAction.label, " ");
|
|
766
1307
|
} }
|
|
767
|
-
function
|
|
768
|
-
i0.ɵɵelementStart(0, "td",
|
|
769
|
-
i0.ɵɵtemplate(1,
|
|
1308
|
+
function PoTableComponent_ng_template_24_td_0_Template(rf, ctx) { if (rf & 1) {
|
|
1309
|
+
i0.ɵɵelementStart(0, "td", 99);
|
|
1310
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_24_td_0_div_1_Template, 3, 4, "div", 100);
|
|
770
1311
|
i0.ɵɵelementEnd();
|
|
771
1312
|
} if (rf & 2) {
|
|
772
|
-
const
|
|
1313
|
+
const ctx_r303 = i0.ɵɵnextContext(2);
|
|
773
1314
|
i0.ɵɵadvance(1);
|
|
774
|
-
i0.ɵɵproperty("ngIf",
|
|
1315
|
+
i0.ɵɵproperty("ngIf", ctx_r303.firstAction.visible !== false);
|
|
775
1316
|
} }
|
|
776
|
-
function
|
|
777
|
-
const
|
|
778
|
-
i0.ɵɵelementStart(0, "td",
|
|
779
|
-
i0.ɵɵlistener("click", function
|
|
1317
|
+
function PoTableComponent_ng_template_24_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
1318
|
+
const _r314 = i0.ɵɵgetCurrentView();
|
|
1319
|
+
i0.ɵɵelementStart(0, "td", 104)(1, "span", 105, 106);
|
|
1320
|
+
i0.ɵɵlistener("click", function PoTableComponent_ng_template_24_td_1_Template_span_click_1_listener() { i0.ɵɵrestoreView(_r314); const _r311 = i0.ɵɵreference(2); const row_r301 = i0.ɵɵnextContext().row; const ctx_r312 = i0.ɵɵnextContext(); return ctx_r312.togglePopup(row_r301, _r311); });
|
|
780
1321
|
i0.ɵɵelementEnd()();
|
|
781
1322
|
} }
|
|
782
|
-
function
|
|
783
|
-
i0.ɵɵtemplate(0,
|
|
784
|
-
i0.ɵɵtemplate(1,
|
|
1323
|
+
function PoTableComponent_ng_template_24_Template(rf, ctx) { if (rf & 1) {
|
|
1324
|
+
i0.ɵɵtemplate(0, PoTableComponent_ng_template_24_td_0_Template, 2, 1, "td", 97);
|
|
1325
|
+
i0.ɵɵtemplate(1, PoTableComponent_ng_template_24_td_1_Template, 3, 0, "td", 98);
|
|
785
1326
|
} if (rf & 2) {
|
|
786
|
-
const
|
|
787
|
-
i0.ɵɵproperty("ngIf",
|
|
1327
|
+
const ctx_r24 = i0.ɵɵnextContext();
|
|
1328
|
+
i0.ɵɵproperty("ngIf", ctx_r24.isSingleAction);
|
|
788
1329
|
i0.ɵɵadvance(1);
|
|
789
|
-
i0.ɵɵproperty("ngIf",
|
|
1330
|
+
i0.ɵɵproperty("ngIf", ctx_r24.visibleActions.length > 1);
|
|
790
1331
|
} }
|
|
791
|
-
function
|
|
792
|
-
const
|
|
793
|
-
i0.ɵɵelementStart(0, "po-table-column-manager",
|
|
794
|
-
i0.ɵɵlistener("p-visible-columns-change", function
|
|
1332
|
+
function PoTableComponent_po_table_column_manager_26_Template(rf, ctx) { if (rf & 1) {
|
|
1333
|
+
const _r316 = i0.ɵɵgetCurrentView();
|
|
1334
|
+
i0.ɵɵelementStart(0, "po-table-column-manager", 107);
|
|
1335
|
+
i0.ɵɵlistener("p-visible-columns-change", function PoTableComponent_po_table_column_manager_26_Template_po_table_column_manager_p_visible_columns_change_0_listener($event) { i0.ɵɵrestoreView(_r316); const ctx_r315 = i0.ɵɵnextContext(); return ctx_r315.onVisibleColumnsChange($event); })("p-change-visible-columns", function PoTableComponent_po_table_column_manager_26_Template_po_table_column_manager_p_change_visible_columns_0_listener($event) { i0.ɵɵrestoreView(_r316); const ctx_r317 = i0.ɵɵnextContext(); return ctx_r317.onChangeVisibleColumns($event); })("p-initial-columns", function PoTableComponent_po_table_column_manager_26_Template_po_table_column_manager_p_initial_columns_0_listener($event) { i0.ɵɵrestoreView(_r316); const ctx_r318 = i0.ɵɵnextContext(); return ctx_r318.onColumnRestoreManager($event); });
|
|
795
1336
|
i0.ɵɵelementEnd();
|
|
796
1337
|
} if (rf & 2) {
|
|
797
|
-
const
|
|
798
|
-
i0.ɵɵproperty("p-columns",
|
|
1338
|
+
const ctx_r25 = i0.ɵɵnextContext();
|
|
1339
|
+
i0.ɵɵproperty("p-columns", ctx_r25.columns)("p-max-columns", ctx_r25.maxColumns)("p-target", ctx_r25.columnManagerTarget)("p-last-visible-columns-selected", ctx_r25.lastVisibleColumnsSelected)("p-columns-default", ctx_r25.initialColumns);
|
|
799
1340
|
} }
|
|
800
1341
|
/**
|
|
801
1342
|
* @docsExtends PoTableBaseComponent
|
|
@@ -1112,6 +1653,9 @@ export class PoTableComponent extends PoTableBaseComponent {
|
|
|
1112
1653
|
onChangeVisibleColumns(columns) {
|
|
1113
1654
|
this.changeVisibleColumns.emit(columns);
|
|
1114
1655
|
}
|
|
1656
|
+
onColumnRestoreManager(value) {
|
|
1657
|
+
this.columnRestoreManager.emit(value);
|
|
1658
|
+
}
|
|
1115
1659
|
onVisibleColumnsChange(columns) {
|
|
1116
1660
|
this.columns = columns;
|
|
1117
1661
|
this.changeDetector.detectChanges();
|
|
@@ -1186,6 +1730,9 @@ export class PoTableComponent extends PoTableBaseComponent {
|
|
|
1186
1730
|
}
|
|
1187
1731
|
return template.templateRef;
|
|
1188
1732
|
}
|
|
1733
|
+
syncronizeHorizontalScroll() {
|
|
1734
|
+
this.poTableThead.nativeElement.scrollLeft = this.poTableTbody.nativeElement.scrollLeft;
|
|
1735
|
+
}
|
|
1189
1736
|
calculateHeightTableContainer(height) {
|
|
1190
1737
|
const value = parseFloat(height);
|
|
1191
1738
|
this.heightTableContainer = value ? value - this.getHeightTableFooter() : undefined;
|
|
@@ -1323,10 +1870,11 @@ PoTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTableCom
|
|
|
1323
1870
|
i0.ɵɵviewQuery(_c2, 5, ElementRef);
|
|
1324
1871
|
i0.ɵɵviewQuery(_c3, 5, ElementRef);
|
|
1325
1872
|
i0.ɵɵviewQuery(_c4, 5, ElementRef);
|
|
1326
|
-
i0.ɵɵviewQuery(_c5, 5);
|
|
1327
|
-
i0.ɵɵviewQuery(_c6, 5
|
|
1873
|
+
i0.ɵɵviewQuery(_c5, 5, ElementRef);
|
|
1874
|
+
i0.ɵɵviewQuery(_c6, 5);
|
|
1328
1875
|
i0.ɵɵviewQuery(_c7, 5, ElementRef);
|
|
1329
|
-
i0.ɵɵviewQuery(_c8, 5);
|
|
1876
|
+
i0.ɵɵviewQuery(_c8, 5, ElementRef);
|
|
1877
|
+
i0.ɵɵviewQuery(_c9, 5);
|
|
1330
1878
|
} if (rf & 2) {
|
|
1331
1879
|
let _t;
|
|
1332
1880
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.noColumnsHeader = _t.first);
|
|
@@ -1334,37 +1882,40 @@ PoTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTableCom
|
|
|
1334
1882
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tableFooterElement = _t.first);
|
|
1335
1883
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tableWrapperElement = _t.first);
|
|
1336
1884
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poTableTbody = _t.first);
|
|
1885
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poTableThead = _t.first);
|
|
1337
1886
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.columnManagerTarget = _t.first);
|
|
1338
1887
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.actionsIconElement = _t);
|
|
1339
1888
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.actionsElement = _t);
|
|
1340
1889
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headersTable = _t);
|
|
1341
|
-
} }, features: [i0.ɵɵProvidersFeature([PoDateService]), i0.ɵɵInheritDefinitionFeature], decls:
|
|
1890
|
+
} }, features: [i0.ɵɵProvidersFeature([PoDateService]), i0.ɵɵInheritDefinitionFeature], decls: 27, vars: 6, consts: [["p-no-padding", "", 3, "p-no-shadow", 4, "ngIf", "ngIfElse"], ["tableContainerTemplate", ""], ["class", "po-row po-table-footer-show-more", 3, "po-invisible", 4, "ngIf"], ["tableHeaderTemplate", ""], ["tableBodyTemplate", ""], ["tableTemplate", ""], [3, "p-actions", "p-target"], ["popup", ""], ["poTableColumnDetail", ""], ["inputRadio", ""], ["inputCheckbox", ""], ["contentHeaderTemplate", ""], ["noColumnsWithHeight", ""], ["noColumnsWithoutHeight", ""], ["ActionsColumnTemplate", ""], [3, "p-columns", "p-max-columns", "p-target", "p-last-visible-columns-selected", "p-columns-default", "p-visible-columns-change", "p-change-visible-columns", "p-initial-columns", 4, "ngIf"], ["p-no-padding", "", 3, "p-no-shadow"], [4, "ngTemplateOutlet"], ["class", "po-table-overlay", 4, "ngIf"], [1, "po-table-main-container"], [1, "po-table-wrapper"], ["tableWrapper", ""], ["class", "po-table-container", 3, "height", 4, "ngIf"], [4, "ngIf"], ["class", "po-table-footer", 4, "ngIf"], [1, "po-table-overlay"], [1, "po-table-overlay-content", 3, "p-text"], [1, "po-table-container"], [1, "po-table-header-fixed", "po-table-header"], ["poTableThead", ""], [1, "po-table-container-fixed-inner", 3, "scroll"], ["poTableTbody", ""], [1, "po-table-footer"], [4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "p-literals", "p-subtitles"], [1, "po-row", "po-table-footer-show-more"], ["tableFooter", ""], [1, "po-offset-xl-4", "po-offset-lg-4", "po-offset-md-3", "po-lg-4", "po-md-6", 3, "p-disabled", "p-label", "p-loading", "p-click"], [1, "po-table"], ["class", "po-table-column-selectable", 4, "ngIf"], ["class", "po-table-header-column po-table-header-master-detail", 4, "ngIf"], [3, "po-table-header-master-detail", "po-table-header-single-action", 4, "ngIf"], ["class", "po-table-header-column po-text-center", 4, "ngIf"], ["class", "po-table-header-ellipsis", 3, "width", "max-width", "min-width", "po-clickable", "po-table-header-subtitle", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "po-table-header-single-action", "po-table-header-actions", 4, "ngIf"], [3, "po-table-header-column-manager", "po-table-header-column-manager-border", "po-table-header-single-action", 4, "ngIf"], [1, "po-table-column-selectable"], ["type", "checkbox", "class", "po-table-checkbox", 3, "po-table-checkbox-checked", "po-table-checkbox-indeterminate", 4, "ngIf"], ["class", "po-table-checkbox-label po-clickable", 3, "click", 4, "ngIf"], ["type", "checkbox", 1, "po-table-checkbox"], [1, "po-table-checkbox-label", "po-clickable", 3, "click"], [1, "po-table-header-column", "po-table-header-master-detail"], [1, "po-table-header-column", "po-text-center"], ["noColumnsHeader", ""], [4, "ngIf", "ngIfThen", "ngIfElse"], [1, "po-table-header-ellipsis", 3, "click"], ["headersTable", ""], [1, "po-table-header-flex"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["columnManager", ""], ["p-tooltip-position", "left", 1, "po-table-header-column-manager-button", "po-icon", "po-icon-settings", "po-clickable", 3, "p-tooltip", "click"], ["columnManagerTarget", ""], ["class", "po-table-group-row", 4, "ngIf"], [1, "po-table-group-row"], [1, "po-table-row", "po-table-row-no-data"], [1, "po-table-no-data", "po-text-center", 3, "colSpan"], ["class", "po-table-group-row", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "po-table-row"], ["class", "po-table-column-detail-toggle", 3, "click", 4, "ngIf"], [3, "width", "max-width", "min-width", "po-table-column", "po-table-column-right", "po-table-column-center", "po-table-column-icons", "ngClass", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "po-table-column", 4, "ngIf"], [1, "po-table-column-detail-toggle", 3, "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "ngClass", "click"], [1, "po-table-column-cell", "notranslate", 3, "ngSwitch", "p-tooltip", "mouseenter", "mouseleave"], [4, "ngSwitchCase"], [3, "p-action", "p-disabled", "p-link", "p-row", "p-value", "click", 4, "ngSwitchCase"], [3, "p-column", "p-icons", "p-row", 4, "ngSwitchCase"], [4, "ngSwitchDefault"], [3, "p-action", "p-disabled", "p-link", "p-row", "p-value", "click"], [3, "p-column", "p-icons", "p-row"], [3, "p-subtitle"], [3, "p-value"], [1, "po-table-column", "po-table-column-empty"], [1, "po-table-column"], [1, "po-table-row-template-container", 3, "colSpan"], [1, "po-table-column-detail", 3, "colSpan"], [3, "p-selectable", "p-detail", "p-items", "p-select-row"], [1, "po-table-row-no-data", "po-table-column-empty"], ["class", "po-icon po-clickable", 3, "po-icon-arrow-up", "po-icon-arrow-down", 4, "ngIf"], [1, "po-icon", "po-clickable"], ["type", "radio", 1, "po-table-radio"], [1, "po-table-radio-label", "po-clickable", 3, "click"], [1, "po-table-header-ellipsis", 3, "p-tooltip", "mouseenter", "mouseleave"], ["columnHeader", ""], [3, "po-table-header-icon-unselected", "po-table-header-icon-descending", "po-table-header-icon-ascending", 4, "ngIf"], [1, "po-table-header-fixed-inner"], ["class", "po-table-column po-table-column-single-action", 4, "ngIf"], ["class", "po-table-column-actions", 4, "ngIf"], [1, "po-table-column", "po-table-column-single-action"], ["class", "po-table-single-action po-clickable", 3, "po-table-action-disabled", "click", 4, "ngIf"], [1, "po-table-single-action", "po-clickable", 3, "click"], ["class", "po-table-single-action-content", 3, "p-icon", 4, "ngIf"], [1, "po-table-single-action-content", 3, "p-icon"], [1, "po-table-column-actions"], [1, "po-icon", "po-icon-more", "po-clickable", 3, "click"], ["popupTarget", ""], [3, "p-columns", "p-max-columns", "p-target", "p-last-visible-columns-selected", "p-columns-default", "p-visible-columns-change", "p-change-visible-columns", "p-initial-columns"]], template: function PoTableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1342
1891
|
i0.ɵɵtemplate(0, PoTableComponent_po_container_0_Template, 2, 2, "po-container", 0);
|
|
1343
1892
|
i0.ɵɵtemplate(1, PoTableComponent_ng_template_1_Template, 8, 10, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
1344
1893
|
i0.ɵɵtemplate(3, PoTableComponent_div_3_Template, 3, 5, "div", 2);
|
|
1345
|
-
i0.ɵɵtemplate(4, PoTableComponent_ng_template_4_Template,
|
|
1346
|
-
i0.ɵɵ
|
|
1347
|
-
i0.ɵɵtemplate(8, PoTableComponent_ng_template_8_Template,
|
|
1348
|
-
i0.ɵɵ
|
|
1349
|
-
i0.ɵɵtemplate(12, PoTableComponent_ng_template_12_Template,
|
|
1350
|
-
i0.ɵɵtemplate(14, PoTableComponent_ng_template_14_Template,
|
|
1351
|
-
i0.ɵɵtemplate(16, PoTableComponent_ng_template_16_Template, 2,
|
|
1352
|
-
i0.ɵɵtemplate(18, PoTableComponent_ng_template_18_Template,
|
|
1353
|
-
i0.ɵɵtemplate(20, PoTableComponent_ng_template_20_Template, 2,
|
|
1354
|
-
i0.ɵɵtemplate(22,
|
|
1894
|
+
i0.ɵɵtemplate(4, PoTableComponent_ng_template_4_Template, 11, 15, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
|
|
1895
|
+
i0.ɵɵtemplate(6, PoTableComponent_ng_template_6_Template, 3, 6, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
|
|
1896
|
+
i0.ɵɵtemplate(8, PoTableComponent_ng_template_8_Template, 13, 17, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
1897
|
+
i0.ɵɵelement(10, "po-popup", 6, 7);
|
|
1898
|
+
i0.ɵɵtemplate(12, PoTableComponent_ng_template_12_Template, 1, 1, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
|
|
1899
|
+
i0.ɵɵtemplate(14, PoTableComponent_ng_template_14_Template, 2, 2, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
|
|
1900
|
+
i0.ɵɵtemplate(16, PoTableComponent_ng_template_16_Template, 2, 2, "ng-template", null, 10, i0.ɵɵtemplateRefExtractor);
|
|
1901
|
+
i0.ɵɵtemplate(18, PoTableComponent_ng_template_18_Template, 5, 5, "ng-template", null, 11, i0.ɵɵtemplateRefExtractor);
|
|
1902
|
+
i0.ɵɵtemplate(20, PoTableComponent_ng_template_20_Template, 2, 3, "ng-template", null, 12, i0.ɵɵtemplateRefExtractor);
|
|
1903
|
+
i0.ɵɵtemplate(22, PoTableComponent_ng_template_22_Template, 1, 1, "ng-template", null, 13, i0.ɵɵtemplateRefExtractor);
|
|
1904
|
+
i0.ɵɵtemplate(24, PoTableComponent_ng_template_24_Template, 2, 2, "ng-template", null, 14, i0.ɵɵtemplateRefExtractor);
|
|
1905
|
+
i0.ɵɵtemplate(26, PoTableComponent_po_table_column_manager_26_Template, 1, 5, "po-table-column-manager", 15);
|
|
1355
1906
|
} if (rf & 2) {
|
|
1356
1907
|
const _r1 = i0.ɵɵreference(2);
|
|
1357
1908
|
i0.ɵɵproperty("ngIf", ctx.container)("ngIfElse", _r1);
|
|
1358
1909
|
i0.ɵɵadvance(3);
|
|
1359
1910
|
i0.ɵɵproperty("ngIf", !ctx.infiniteScroll);
|
|
1360
|
-
i0.ɵɵadvance(
|
|
1911
|
+
i0.ɵɵadvance(7);
|
|
1361
1912
|
i0.ɵɵproperty("p-actions", ctx.actions)("p-target", ctx.popupTarget);
|
|
1362
1913
|
i0.ɵɵadvance(16);
|
|
1363
1914
|
i0.ɵɵproperty("ngIf", !ctx.hideColumnsManager);
|
|
1364
1915
|
} }, directives: [i3.NgIf, i6.PoContainerComponent, i3.NgTemplateOutlet, i7.PoLoadingComponent, i3.NgForOf, i8.PoTableSubtitleFooterComponent, i9.PoButtonComponent, i10.PoTooltipDirective, i3.NgClass, i3.NgSwitch, i3.NgSwitchCase, i11.PoTableColumnLinkComponent, i12.PoTableColumnIconComponent, i13.PoTableSubtitleCircleComponent, i14.PoTableColumnLabelComponent, i3.NgSwitchDefault, i15.PoTableDetailComponent, i16.PoPopupComponent, i17.PoIconComponent, i18.PoTableColumnManagerComponent], pipes: [i3.CurrencyPipe, i3.DatePipe, i19.PoTimePipe, i3.TitleCasePipe], encapsulation: 2 });
|
|
1365
1916
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoTableComponent, [{
|
|
1366
1917
|
type: Component,
|
|
1367
|
-
args: [{ selector: 'po-table', providers: [PoDateService], template: "<po-container *ngIf=\"container; else tableContainerTemplate\" p-no-padding [p-no-shadow]=\"container === 'border'\">\n <ng-container *ngTemplateOutlet=\"tableContainerTemplate\"></ng-container>\n</po-container>\n\n<ng-template #tableContainerTemplate>\n <div [class.po-table-container-relative]=\"loading\">\n <div *ngIf=\"loading\" class=\"po-table-overlay\">\n <po-loading class=\"po-table-overlay-content\" [p-text]=\"literals.loadingData\"></po-loading>\n </div>\n\n <div class=\"po-table-main-container\">\n <div\n #tableWrapper\n class=\"po-table-wrapper\"\n [class.po-table-header-fixed-columns-pixels]=\"allColumnsWidthPixels\"\n [style.opacity]=\"tableOpacity\"\n >\n <div *ngIf=\"height\" class=\"po-table-container\" [style.height.px]=\"heightTableContainer\">\n <div class=\"po-table-header-fixed po-table-header\"></div>\n <div #poTableTbody class=\"po-table-container-fixed-inner\">\n <ng-container *ngTemplateOutlet=\"tableTemplate\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"!height\">\n <ng-container *ngTemplateOutlet=\"tableTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"po-table-footer\" *ngIf=\"hasFooter\">\n <ng-container *ngFor=\"let column of subtitleColumns; trackBy: trackBy\">\n <po-table-subtitle-footer [p-literals]=\"literals\" [p-subtitles]=\"column.subtitles\"> </po-table-subtitle-footer>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n *ngIf=\"!infiniteScroll\"\n class=\"po-row po-table-footer-show-more\"\n [class.po-invisible]=\"showMore.observers.length === 0 && !hasService\"\n #tableFooter\n>\n <po-button\n class=\"po-offset-xl-4 po-offset-lg-4 po-offset-md-3 po-lg-4 po-md-6\"\n [p-disabled]=\"showMoreDisabled\"\n [p-label]=\"literals.loadMoreData\"\n [p-loading]=\"loadingShowMore\"\n (p-click)=\"onShowMore()\"\n >\n </po-button>\n</div>\n\n<ng-template #tableTemplate>\n <table class=\"po-table\" [class.po-table-striped]=\"striped\" [class.po-table-layout-fixed]=\"hideTextOverflow\">\n <thead>\n <tr [class.po-table-header]=\"!height\">\n <th *ngIf=\"hasSelectableColumn\" class=\"po-table-column-selectable\">\n <div [class.po-table-header-fixed-inner]=\"height\">\n <input\n *ngIf=\"!hideSelectAll\"\n type=\"checkbox\"\n class=\"po-table-checkbox\"\n [class.po-table-checkbox-checked]=\"selectAll\"\n [class.po-table-checkbox-indeterminate]=\"selectAll === null\"\n />\n <label *ngIf=\"!hideSelectAll\" class=\"po-table-checkbox-label po-clickable\" (click)=\"selectAllRows()\">\n </label>\n </div>\n </th>\n\n <th\n *ngIf=\"(hasMasterDetailColumn || hasRowTemplate) && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <!-- Coluna criada para caso as a\u00E7\u00F5es fiquem no lado esquerdo -->\n <th\n *ngIf=\"!actionRight && (visibleActions.length > 1 || isSingleAction)\"\n [class.po-table-header-master-detail]=\"!isSingleAction\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n ></th>\n\n <th *ngIf=\"!hasMainColumns\" #noColumnsHeader class=\"po-table-header-column po-text-center\">\n <ng-container *ngIf=\"height; then noColumnsWithHeight; else noColumnsWithoutHeight\"> </ng-container>\n </th>\n\n <th\n *ngFor=\"let column of mainColumns; let i = index; trackBy: trackBy\"\n #headersTable\n class=\"po-table-header-ellipsis\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-clickable]=\"(sort && column.sortable !== false) || hasService\"\n [class.po-table-header-subtitle]=\"column.type === 'subtitle'\"\n (click)=\"sortColumn(column)\"\n >\n <div\n class=\"po-table-header-flex\"\n [class.po-table-header-fixed-inner]=\"height\"\n [class.po-table-header-flex-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-header-flex-center]=\"column.type === 'subtitle'\"\n >\n <ng-container *ngTemplateOutlet=\"contentHeaderTemplate; context: { $implicit: column }\"> </ng-container>\n </div>\n </th>\n\n <th\n *ngIf=\"hasRowTemplateWithArrowDirectionRight && (hasVisibleActions || hideColumnsManager)\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <th\n *ngIf=\"hasVisibleActions && hideColumnsManager && actionRight\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n [class.po-table-header-actions]=\"!isSingleAction\"\n ></th>\n\n <th\n #columnManager\n *ngIf=\"hasValidColumns && !hideColumnsManager\"\n [class.po-table-header-column-manager]=\"!isSingleAction || !actionRight\"\n [class.po-table-header-column-manager-border]=\"!height && container\"\n [class.po-table-header-single-action]=\"isSingleAction && actionRight\"\n >\n <div\n [class.po-table-header-column-manager-border]=\"height && container\"\n [class.po-table-header-column-manager-fixed-inner]=\"height\"\n [style.width.px]=\"height && visibleActions.length ? columnManager.offsetWidth : undefined\"\n >\n <button\n #columnManagerTarget\n class=\"po-table-header-column-manager-button po-icon po-icon-settings po-clickable\"\n p-tooltip-position=\"left\"\n [p-tooltip]=\"literals.columnsManager\"\n (click)=\"onOpenColumnManager()\"\n ></button>\n </div>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"po-table-group-row\" *ngIf=\"!hasItems || !hasMainColumns\">\n <tr class=\"po-table-row\">\n <td [colSpan]=\"columnCount\" class=\"po-table-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </td>\n </tr>\n </tbody>\n\n <ng-container *ngIf=\"hasMainColumns\">\n <tbody class=\"po-table-group-row\" *ngFor=\"let row of items; let rowIndex = index; trackBy: trackBy\">\n <tr class=\"po-table-row\" [class.po-table-row-active]=\"row.$selected || (row.$selected === null && selectable)\">\n <td *ngIf=\"selectable\" class=\"po-table-column po-table-column-selectable\">\n <ng-container *ngTemplateOutlet=\"singleSelect ? inputRadio : inputCheckbox; context: { $implicit: row }\">\n </ng-container>\n </td>\n\n <!-- Valida se a origem do detail \u00E9 pelo input do po-table -->\n <td\n *ngIf=\"columnMasterDetail && !hideDetail && !hasRowTemplate\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <!-- Coluna com as a\u00E7\u00F5es na esquerda (padr\u00E3o)-->\n <ng-template\n *ngIf=\"!actionRight && (visibleActions.length > 1 || isSingleAction)\"\n [ngTemplateOutlet]=\"ActionsColumnTemplate\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n\n <!-- Valida se a origem do detail \u00E9 pela diretiva -->\n <td\n *ngIf=\"hasRowTemplate && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <td\n *ngFor=\"let column of mainColumns; let columnIndex = index; trackBy: trackBy\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-table-column]=\"column.type !== 'icon'\"\n [class.po-table-column-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-column-center]=\"column.type === 'subtitle'\"\n [class.po-table-column-icons]=\"column.type === 'icon'\"\n [ngClass]=\"getClassColor(row, column)\"\n (click)=\"selectable ? selectRow(row) : 'javascript:;'\"\n >\n <div\n class=\"po-table-column-cell notranslate\"\n [class.po-table-body-ellipsis]=\"hideTextOverflow\"\n [ngSwitch]=\"column.type\"\n [p-tooltip]=\"tooltipText\"\n (mouseenter)=\"tooltipMouseEnter($event, column, row)\"\n (mouseleave)=\"tooltipMouseLeave()\"\n >\n <span *ngSwitchCase=\"'columnTemplate'\">\n <ng-container *ngTemplateOutlet=\"getTemplate(column); context: { $implicit: getCellData(row, column) }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'cellTemplate'\">\n <ng-container *ngTemplateOutlet=\"tableCellTemplate?.templateRef; context: { row: row, column: column }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'boolean'\">\n {{ getBooleanLabel(getCellData(row, column), column) }}\n </span>\n\n <span *ngSwitchCase=\"'currency'\">\n {{ getCellData(row, column) | currency: column.format:'symbol':'1.2-2' }}\n </span>\n\n <span *ngSwitchCase=\"'date'\">\n {{ getCellData(row, column) | date: column.format || 'dd/MM/yyyy' }}\n </span>\n\n <span *ngSwitchCase=\"'time'\">\n {{ getCellData(row, column) | po_time: column.format || 'HH:mm:ss.ffffff' }}\n </span>\n\n <span *ngSwitchCase=\"'dateTime'\">\n {{ getCellData(row, column) | date: column.format || 'dd/MM/yyyy HH:mm:ss' }}\n </span>\n\n <span *ngSwitchCase=\"'number'\">\n {{ formatNumber(getCellData(row, column), column.format) }}\n </span>\n\n <po-table-column-link\n *ngSwitchCase=\"'link'\"\n [p-action]=\"column.action\"\n [p-disabled]=\"checkDisabled(row, column)\"\n [p-link]=\"row[column.link]\"\n [p-row]=\"row\"\n [p-value]=\"getCellData(row, column)\"\n (click)=\"onClickLink($event, row, column)\"\n >\n </po-table-column-link>\n\n <po-table-column-icon\n *ngSwitchCase=\"'icon'\"\n [p-column]=\"column\"\n [p-icons]=\"getColumnIcons(row, column)\"\n [p-row]=\"row\"\n >\n </po-table-column-icon>\n\n <span *ngSwitchCase=\"'subtitle'\">\n <po-table-subtitle-circle [p-subtitle]=\"getSubtitleColumn(row, column)\"></po-table-subtitle-circle>\n </span>\n <span *ngSwitchCase=\"'label'\">\n <po-table-column-label [p-value]=\"getColumnLabel(row, column)\"> </po-table-column-label>\n </span>\n <span *ngSwitchDefault>{{ getCellData(row, column) }}</span>\n </div>\n </td>\n\n <td\n *ngIf=\"hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <!-- Coluna de a\u00E7oes na direita -->\n <ng-template\n *ngIf=\"actionRight\"\n [ngTemplateOutlet]=\"ActionsColumnTemplate\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n\n <!-- Coluna para n\u00E3o ficar em branco nas linhas de gerenciamento -->\n <ng-container *ngIf=\"!actionRight && (visibleActions.length > 1 || isSingleAction) && !hideColumnsManager\">\n <td class=\"po-table-column\"></td>\n </ng-container>\n\n <!-- Column Manager -->\n <td\n *ngIf=\"!hasVisibleActions && !hideColumnsManager && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column\"\n ></td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && hasRowTemplate && row.$showDetail && isShowRowTemplate(row, rowIndex)\">\n <td class=\"po-table-row-template-container\" [colSpan]=\"columnCountForMasterDetail\">\n <ng-template\n [ngTemplateOutlet]=\"tableRowTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && isShowMasterDetail(row)\">\n <td class=\"po-table-column-detail\" [colSpan]=\"columnCountForMasterDetail\">\n <po-table-detail\n [p-selectable]=\"selectable && !detailHideSelect\"\n [p-detail]=\"columnMasterDetail.detail\"\n [p-items]=\"row[nameColumnDetail]\"\n (p-select-row)=\"selectDetailRow($event)\"\n >\n </po-table-detail>\n </td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n</ng-template>\n\n<po-popup #popup [p-actions]=\"actions\" [p-target]=\"popupTarget\"> </po-popup>\n\n<ng-template #poTableColumnDetail let-row=\"row\" let-rowIndex=\"rowIndex\">\n <span\n *ngIf=\"(containsMasterDetail(row) && !hasRowTemplate) || (isShowRowTemplate(row, rowIndex) && hasRowTemplate)\"\n class=\"po-icon po-clickable\"\n [class.po-icon-arrow-up]=\"row.$showDetail\"\n [class.po-icon-arrow-down]=\"!row.$showDetail\"\n >\n </span>\n</ng-template>\n\n<ng-template #inputRadio let-row>\n <input type=\"radio\" class=\"po-table-radio\" [class.po-table-radio-checked]=\"row.$selected\" />\n <label class=\"po-table-radio-label po-clickable\" (click)=\"selectable ? selectRow(row) : 'javascript:;'\"></label>\n</ng-template>\n\n<ng-template #inputCheckbox let-row>\n <input type=\"checkbox\" class=\"po-table-checkbox\" [class.po-table-checkbox-checked]=\"row.$selected\" />\n <label class=\"po-table-checkbox-label po-clickable\" (click)=\"selectable ? selectRow(row) : 'javascript:;'\"></label>\n</ng-template>\n\n<ng-template #contentHeaderTemplate let-column>\n <span\n #columnHeader\n class=\"po-table-header-ellipsis\"\n [p-tooltip]=\"tooltipText\"\n (mouseenter)=\"tooltipMouseEnter($event)\"\n (mouseleave)=\"tooltipMouseLeave()\"\n >\n {{ column.label || (column.property | titlecase) }}\n </span>\n <span\n *ngIf=\"sort && column.sortable !== false\"\n [class.po-table-header-icon-unselected]=\"sortedColumn?.property !== column\"\n [class.po-table-header-icon-descending]=\"sortedColumn?.property === column && sortedColumn.ascending\"\n [class.po-table-header-icon-ascending]=\"sortedColumn?.property === column && !sortedColumn.ascending\"\n >\n </span>\n</ng-template>\n\n<ng-template #noColumnsWithHeight>\n <div class=\"po-table-header-fixed-inner\" [style.width.px]=\"noColumnsHeader?.nativeElement.offsetWidth\">\n {{ hasValidColumns ? literals.noVisibleColumn : literals.noColumns }}\n </div>\n</ng-template>\n\n<ng-template #noColumnsWithoutHeight>\n {{ hasValidColumns ? literals.noVisibleColumn : literals.noColumns }}\n</ng-template>\n\n<!-- Template de a\u00E7\u00F5es -->\n<ng-template #ActionsColumnTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <td *ngIf=\"isSingleAction\" class=\"po-table-column po-table-column-single-action\">\n <div\n *ngIf=\"firstAction.visible !== false\"\n class=\"po-table-single-action po-clickable\"\n [class.po-table-action-disabled]=\"firstAction.disabled ? validateTableAction(row, firstAction) : false\"\n (click)=\"executeTableAction(row, firstAction)\"\n >\n <po-icon *ngIf=\"firstAction.icon\" class=\"po-table-single-action-content\" [p-icon]=\"firstAction.icon\"></po-icon>\n {{ firstAction.label }}\n </div>\n </td>\n\n <td *ngIf=\"visibleActions.length > 1\" class=\"po-table-column-actions\">\n <span #popupTarget class=\"po-icon po-icon-more po-clickable\" (click)=\"togglePopup(row, popupTarget)\"></span>\n </td>\n</ng-template>\n\n<po-table-column-manager\n *ngIf=\"!hideColumnsManager\"\n [p-columns]=\"columns\"\n [p-max-columns]=\"maxColumns\"\n [p-target]=\"columnManagerTarget\"\n [p-last-visible-columns-selected]=\"lastVisibleColumnsSelected\"\n (p-visible-columns-change)=\"onVisibleColumnsChange($event)\"\n (p-change-visible-columns)=\"onChangeVisibleColumns($event)\"\n>\n</po-table-column-manager>\n" }]
|
|
1918
|
+
args: [{ selector: 'po-table', providers: [PoDateService], template: "<po-container *ngIf=\"container; else tableContainerTemplate\" p-no-padding [p-no-shadow]=\"container === 'border'\">\n <ng-container *ngTemplateOutlet=\"tableContainerTemplate\"></ng-container>\n</po-container>\n\n<ng-template #tableContainerTemplate>\n <div [class.po-table-container-relative]=\"loading\">\n <div *ngIf=\"loading\" class=\"po-table-overlay\">\n <po-loading class=\"po-table-overlay-content\" [p-text]=\"literals.loadingData\"></po-loading>\n </div>\n\n <div class=\"po-table-main-container\">\n <div\n #tableWrapper\n class=\"po-table-wrapper\"\n [class.po-table-header-fixed-columns-pixels]=\"allColumnsWidthPixels\"\n [style.opacity]=\"tableOpacity\"\n >\n <div *ngIf=\"height\" class=\"po-table-container\" [style.height.px]=\"heightTableContainer\">\n <div #poTableThead class=\"po-table-header-fixed po-table-header\">\n <ng-container *ngTemplateOutlet=\"tableHeaderTemplate\"></ng-container>\n </div>\n <div #poTableTbody class=\"po-table-container-fixed-inner\" (scroll)=\"syncronizeHorizontalScroll()\">\n <ng-container *ngTemplateOutlet=\"tableBodyTemplate\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"!height\">\n <ng-container *ngTemplateOutlet=\"tableTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"po-table-footer\" *ngIf=\"hasFooter\">\n <ng-container *ngFor=\"let column of subtitleColumns; trackBy: trackBy\">\n <po-table-subtitle-footer [p-literals]=\"literals\" [p-subtitles]=\"column.subtitles\"> </po-table-subtitle-footer>\n </ng-container>\n </div>\n</ng-template>\n\n<div\n *ngIf=\"!infiniteScroll\"\n class=\"po-row po-table-footer-show-more\"\n [class.po-invisible]=\"showMore.observers.length === 0 && !hasService\"\n #tableFooter\n>\n <po-button\n class=\"po-offset-xl-4 po-offset-lg-4 po-offset-md-3 po-lg-4 po-md-6\"\n [p-disabled]=\"showMoreDisabled\"\n [p-label]=\"literals.loadMoreData\"\n [p-loading]=\"loadingShowMore\"\n (p-click)=\"onShowMore()\"\n >\n </po-button>\n</div>\n\n<ng-template #tableHeaderTemplate>\n <table class=\"po-table\" [class.po-table-striped]=\"striped\" [class.po-table-layout-fixed]=\"hideTextOverflow\">\n <thead>\n <tr [class.po-table-header]=\"!height\">\n <th *ngIf=\"hasSelectableColumn\" class=\"po-table-column-selectable\">\n <div [class.po-table-header-fixed-inner]=\"height\">\n <input\n *ngIf=\"!hideSelectAll\"\n type=\"checkbox\"\n class=\"po-table-checkbox\"\n [class.po-table-checkbox-checked]=\"selectAll\"\n [class.po-table-checkbox-indeterminate]=\"selectAll === null\"\n />\n <label *ngIf=\"!hideSelectAll\" class=\"po-table-checkbox-label po-clickable\" (click)=\"selectAllRows()\">\n </label>\n </div>\n </th>\n\n <th\n *ngIf=\"(hasMasterDetailColumn || hasRowTemplate) && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <!-- Coluna criada para caso as a\u00E7\u00F5es fiquem no lado esquerdo -->\n <th\n *ngIf=\"!actionRight && (visibleActions.length > 1 || isSingleAction)\"\n [class.po-table-header-master-detail]=\"!isSingleAction\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n ></th>\n\n <th *ngIf=\"!hasMainColumns\" #noColumnsHeader class=\"po-table-header-column po-text-center\">\n <ng-container *ngIf=\"height; then noColumnsWithHeight; else noColumnsWithoutHeight\"> </ng-container>\n </th>\n\n <th\n *ngFor=\"let column of mainColumns; let i = index; trackBy: trackBy\"\n #headersTable\n class=\"po-table-header-ellipsis\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-clickable]=\"(sort && column.sortable !== false) || hasService\"\n [class.po-table-header-subtitle]=\"column.type === 'subtitle'\"\n (click)=\"sortColumn(column)\"\n >\n <div\n class=\"po-table-header-flex\"\n [class.po-table-header-fixed-inner]=\"height\"\n [class.po-table-header-flex-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-header-flex-center]=\"column.type === 'subtitle'\"\n >\n <ng-container *ngTemplateOutlet=\"contentHeaderTemplate; context: { $implicit: column }\"> </ng-container>\n </div>\n </th>\n\n <th\n *ngIf=\"hasRowTemplateWithArrowDirectionRight && (hasVisibleActions || hideColumnsManager)\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <th\n *ngIf=\"hasVisibleActions && hideColumnsManager && actionRight\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n [class.po-table-header-actions]=\"!isSingleAction\"\n ></th>\n\n <th\n #columnManager\n *ngIf=\"hasValidColumns && !hideColumnsManager\"\n [class.po-table-header-column-manager]=\"!isSingleAction || !actionRight\"\n [class.po-table-header-column-manager-border]=\"!height && container\"\n [class.po-table-header-single-action]=\"isSingleAction && actionRight\"\n >\n <div\n [class.po-table-header-column-manager-border]=\"height && container\"\n [class.po-table-header-column-manager-fixed-inner]=\"height\"\n [style.width.px]=\"height && visibleActions.length ? columnManager.offsetWidth : undefined\"\n >\n <button\n #columnManagerTarget\n class=\"po-table-header-column-manager-button po-icon po-icon-settings po-clickable\"\n p-tooltip-position=\"left\"\n [p-tooltip]=\"literals.columnsManager\"\n (click)=\"onOpenColumnManager()\"\n ></button>\n </div>\n </th>\n </tr>\n </thead>\n </table>\n</ng-template>\n\n<ng-template #tableBodyTemplate>\n <table class=\"po-table\" [class.po-table-striped]=\"striped\" [class.po-table-layout-fixed]=\"hideTextOverflow\">\n <tbody class=\"po-table-group-row\" *ngIf=\"!hasItems || !hasMainColumns\">\n <tr class=\"po-table-row po-table-row-no-data\">\n <td [colSpan]=\"columnCount\" class=\"po-table-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </td>\n </tr>\n </tbody>\n\n <ng-container *ngIf=\"hasMainColumns\">\n <tbody class=\"po-table-group-row\" *ngFor=\"let row of items; let rowIndex = index; trackBy: trackBy\">\n <tr class=\"po-table-row\" [class.po-table-row-active]=\"row.$selected || (row.$selected === null && selectable)\">\n <td *ngIf=\"selectable\" class=\"po-table-column-selectable\">\n <ng-container *ngTemplateOutlet=\"singleSelect ? inputRadio : inputCheckbox; context: { $implicit: row }\">\n </ng-container>\n </td>\n\n <!-- Valida se a origem do detail \u00E9 pelo input do po-table -->\n <td\n *ngIf=\"columnMasterDetail && !hideDetail && !hasRowTemplate\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <!-- Coluna com as a\u00E7\u00F5es na esquerda (padr\u00E3o)-->\n <ng-template\n *ngIf=\"!actionRight && (visibleActions.length > 1 || isSingleAction)\"\n [ngTemplateOutlet]=\"ActionsColumnTemplate\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n\n <!-- Valida se a origem do detail \u00E9 pela diretiva -->\n <td\n *ngIf=\"hasRowTemplate && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <td\n *ngFor=\"let column of mainColumns; let columnIndex = index; trackBy: trackBy\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-table-column]=\"column.type !== 'icon'\"\n [class.po-table-column-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-column-center]=\"column.type === 'subtitle'\"\n [class.po-table-column-icons]=\"column.type === 'icon'\"\n [ngClass]=\"getClassColor(row, column)\"\n (click)=\"selectable ? selectRow(row) : 'javascript:;'\"\n >\n <div\n class=\"po-table-column-cell notranslate\"\n [class.po-table-body-ellipsis]=\"hideTextOverflow\"\n [ngSwitch]=\"column.type\"\n [p-tooltip]=\"tooltipText\"\n [style.width.px]=\"noColumnsHeader?.nativeElement.parentElement?.offsetWidth\"\n (mouseenter)=\"tooltipMouseEnter($event, column, row)\"\n (mouseleave)=\"tooltipMouseLeave()\"\n >\n <span *ngSwitchCase=\"'columnTemplate'\">\n <ng-container *ngTemplateOutlet=\"getTemplate(column); context: { $implicit: getCellData(row, column) }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'cellTemplate'\">\n <ng-container *ngTemplateOutlet=\"tableCellTemplate?.templateRef; context: { row: row, column: column }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'boolean'\">\n {{ getBooleanLabel(getCellData(row, column), column) }}\n </span>\n\n <span *ngSwitchCase=\"'currency'\">\n {{ getCellData(row, column) | currency: column.format:'symbol':'1.2-2' }}\n </span>\n\n <span *ngSwitchCase=\"'date'\">\n {{ getCellData(row, column) | date: column.format || 'dd/MM/yyyy' }}\n </span>\n\n <span *ngSwitchCase=\"'time'\">\n {{ getCellData(row, column) | po_time: column.format || 'HH:mm:ss.ffffff' }}\n </span>\n\n <span *ngSwitchCase=\"'dateTime'\">\n {{ getCellData(row, column) | date: column.format || 'dd/MM/yyyy HH:mm:ss' }}\n </span>\n\n <span *ngSwitchCase=\"'number'\">\n {{ formatNumber(getCellData(row, column), column.format) }}\n </span>\n\n <po-table-column-link\n *ngSwitchCase=\"'link'\"\n [p-action]=\"column.action\"\n [p-disabled]=\"checkDisabled(row, column)\"\n [p-link]=\"row[column.link]\"\n [p-row]=\"row\"\n [p-value]=\"getCellData(row, column)\"\n (click)=\"onClickLink($event, row, column)\"\n >\n </po-table-column-link>\n\n <po-table-column-icon\n *ngSwitchCase=\"'icon'\"\n [p-column]=\"column\"\n [p-icons]=\"getColumnIcons(row, column)\"\n [p-row]=\"row\"\n >\n </po-table-column-icon>\n\n <span *ngSwitchCase=\"'subtitle'\">\n <po-table-subtitle-circle [p-subtitle]=\"getSubtitleColumn(row, column)\"></po-table-subtitle-circle>\n </span>\n <span *ngSwitchCase=\"'label'\">\n <po-table-column-label [p-value]=\"getColumnLabel(row, column)\"> </po-table-column-label>\n </span>\n <span *ngSwitchDefault>{{ getCellData(row, column) }}</span>\n </div>\n </td>\n\n <td\n *ngIf=\"hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <!-- Coluna de a\u00E7oes na direita -->\n <ng-template\n *ngIf=\"actionRight\"\n [ngTemplateOutlet]=\"ActionsColumnTemplate\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n\n <!-- Coluna para n\u00E3o ficar em branco nas linhas de gerenciamento -->\n <ng-container *ngIf=\"!actionRight && (visibleActions.length > 1 || isSingleAction) && !hideColumnsManager\">\n <td class=\"po-table-column po-table-column-empty\"></td>\n </ng-container>\n\n <!-- Column Manager -->\n <td\n *ngIf=\"!hasVisibleActions && !hideColumnsManager && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column\"\n ></td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && hasRowTemplate && row.$showDetail && isShowRowTemplate(row, rowIndex)\">\n <td class=\"po-table-row-template-container\" [colSpan]=\"columnCountForMasterDetail\">\n <ng-template\n [ngTemplateOutlet]=\"tableRowTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && isShowMasterDetail(row)\">\n <td class=\"po-table-column-detail\" [colSpan]=\"columnCountForMasterDetail\">\n <po-table-detail\n [p-selectable]=\"selectable && !detailHideSelect\"\n [p-detail]=\"columnMasterDetail.detail\"\n [p-items]=\"row[nameColumnDetail]\"\n (p-select-row)=\"selectDetailRow($event)\"\n >\n </po-table-detail>\n </td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n</ng-template>\n\n<ng-template #tableTemplate>\n <table class=\"po-table\" [class.po-table-striped]=\"striped\" [class.po-table-layout-fixed]=\"hideTextOverflow\">\n <thead>\n <tr [class.po-table-header]=\"!height\">\n <th *ngIf=\"hasSelectableColumn\" class=\"po-table-column-selectable\">\n <div [class.po-table-header-fixed-inner]=\"height\">\n <input\n *ngIf=\"!hideSelectAll\"\n type=\"checkbox\"\n class=\"po-table-checkbox\"\n [class.po-table-checkbox-checked]=\"selectAll\"\n [class.po-table-checkbox-indeterminate]=\"selectAll === null\"\n />\n <label *ngIf=\"!hideSelectAll\" class=\"po-table-checkbox-label po-clickable\" (click)=\"selectAllRows()\">\n </label>\n </div>\n </th>\n\n <th\n *ngIf=\"(hasMasterDetailColumn || hasRowTemplate) && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <!-- Coluna criada para caso as a\u00E7\u00F5es fiquem no lado esquerdo -->\n <th\n *ngIf=\"!actionRight && (visibleActions.length > 1 || isSingleAction)\"\n [class.po-table-header-master-detail]=\"!isSingleAction\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n ></th>\n\n <th *ngIf=\"!hasMainColumns\" #noColumnsHeader class=\"po-table-header-column po-text-center\">\n <ng-container *ngIf=\"height; then noColumnsWithHeight; else noColumnsWithoutHeight\"> </ng-container>\n </th>\n\n <th\n *ngFor=\"let column of mainColumns; let i = index; trackBy: trackBy\"\n #headersTable\n class=\"po-table-header-ellipsis\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-clickable]=\"(sort && column.sortable !== false) || hasService\"\n [class.po-table-header-subtitle]=\"column.type === 'subtitle'\"\n (click)=\"sortColumn(column)\"\n >\n <div\n class=\"po-table-header-flex\"\n [class.po-table-header-fixed-inner]=\"height\"\n [class.po-table-header-flex-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-header-flex-center]=\"column.type === 'subtitle'\"\n >\n <ng-container *ngTemplateOutlet=\"contentHeaderTemplate; context: { $implicit: column }\"> </ng-container>\n </div>\n </th>\n\n <th\n *ngIf=\"hasRowTemplateWithArrowDirectionRight && (hasVisibleActions || hideColumnsManager)\"\n class=\"po-table-header-column po-table-header-master-detail\"\n ></th>\n\n <th\n *ngIf=\"hasVisibleActions && hideColumnsManager && actionRight\"\n [class.po-table-header-single-action]=\"isSingleAction\"\n [class.po-table-header-actions]=\"!isSingleAction\"\n ></th>\n\n <th\n #columnManager\n *ngIf=\"hasValidColumns && !hideColumnsManager\"\n [class.po-table-header-column-manager]=\"!isSingleAction || !actionRight\"\n [class.po-table-header-column-manager-border]=\"!height && container\"\n [class.po-table-header-single-action]=\"isSingleAction && actionRight\"\n >\n <div\n [class.po-table-header-column-manager-border]=\"height && container\"\n [class.po-table-header-column-manager-fixed-inner]=\"height\"\n [style.width.px]=\"height && visibleActions.length ? columnManager.offsetWidth : undefined\"\n >\n <button\n #columnManagerTarget\n class=\"po-table-header-column-manager-button po-icon po-icon-settings po-clickable\"\n p-tooltip-position=\"left\"\n [p-tooltip]=\"literals.columnsManager\"\n (click)=\"onOpenColumnManager()\"\n ></button>\n </div>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"po-table-group-row\" *ngIf=\"!hasItems || !hasMainColumns\">\n <tr class=\"po-table-row po-table-row-no-data\">\n <td [colSpan]=\"columnCount\" class=\"po-table-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </td>\n </tr>\n </tbody>\n\n <ng-container *ngIf=\"hasMainColumns\">\n <tbody class=\"po-table-group-row\" *ngFor=\"let row of items; let rowIndex = index; trackBy: trackBy\">\n <tr class=\"po-table-row\" [class.po-table-row-active]=\"row.$selected || (row.$selected === null && selectable)\">\n <td *ngIf=\"selectable\" class=\"po-table-column-selectable\">\n <ng-container *ngTemplateOutlet=\"singleSelect ? inputRadio : inputCheckbox; context: { $implicit: row }\">\n </ng-container>\n </td>\n\n <!-- Valida se a origem do detail \u00E9 pelo input do po-table -->\n <td\n *ngIf=\"columnMasterDetail && !hideDetail && !hasRowTemplate\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <!-- Coluna com as a\u00E7\u00F5es na esquerda (padr\u00E3o)-->\n <ng-template\n *ngIf=\"!actionRight && (visibleActions.length > 1 || isSingleAction)\"\n [ngTemplateOutlet]=\"ActionsColumnTemplate\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n\n <!-- Valida se a origem do detail \u00E9 pela diretiva -->\n <td\n *ngIf=\"hasRowTemplate && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <td\n *ngFor=\"let column of mainColumns; let columnIndex = index; trackBy: trackBy\"\n [style.width]=\"column.width\"\n [style.max-width]=\"column.width\"\n [style.min-width]=\"column.width\"\n [class.po-table-column]=\"column.type !== 'icon'\"\n [class.po-table-column-right]=\"column.type === 'currency' || column.type === 'number'\"\n [class.po-table-column-center]=\"column.type === 'subtitle'\"\n [class.po-table-column-icons]=\"column.type === 'icon'\"\n [ngClass]=\"getClassColor(row, column)\"\n (click)=\"selectable ? selectRow(row) : 'javascript:;'\"\n >\n <div\n class=\"po-table-column-cell notranslate\"\n [class.po-table-body-ellipsis]=\"hideTextOverflow\"\n [ngSwitch]=\"column.type\"\n [p-tooltip]=\"tooltipText\"\n (mouseenter)=\"tooltipMouseEnter($event, column, row)\"\n (mouseleave)=\"tooltipMouseLeave()\"\n >\n <span *ngSwitchCase=\"'columnTemplate'\">\n <ng-container *ngTemplateOutlet=\"getTemplate(column); context: { $implicit: getCellData(row, column) }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'cellTemplate'\">\n <ng-container *ngTemplateOutlet=\"tableCellTemplate?.templateRef; context: { row: row, column: column }\">\n </ng-container>\n </span>\n\n <span *ngSwitchCase=\"'boolean'\">\n {{ getBooleanLabel(getCellData(row, column), column) }}\n </span>\n\n <span *ngSwitchCase=\"'currency'\">\n {{ getCellData(row, column) | currency: column.format:'symbol':'1.2-2' }}\n </span>\n\n <span *ngSwitchCase=\"'date'\">\n {{ getCellData(row, column) | date: column.format || 'dd/MM/yyyy' }}\n </span>\n\n <span *ngSwitchCase=\"'time'\">\n {{ getCellData(row, column) | po_time: column.format || 'HH:mm:ss.ffffff' }}\n </span>\n\n <span *ngSwitchCase=\"'dateTime'\">\n {{ getCellData(row, column) | date: column.format || 'dd/MM/yyyy HH:mm:ss' }}\n </span>\n\n <span *ngSwitchCase=\"'number'\">\n {{ formatNumber(getCellData(row, column), column.format) }}\n </span>\n\n <po-table-column-link\n *ngSwitchCase=\"'link'\"\n [p-action]=\"column.action\"\n [p-disabled]=\"checkDisabled(row, column)\"\n [p-link]=\"row[column.link]\"\n [p-row]=\"row\"\n [p-value]=\"getCellData(row, column)\"\n (click)=\"onClickLink($event, row, column)\"\n >\n </po-table-column-link>\n\n <po-table-column-icon\n *ngSwitchCase=\"'icon'\"\n [p-column]=\"column\"\n [p-icons]=\"getColumnIcons(row, column)\"\n [p-row]=\"row\"\n >\n </po-table-column-icon>\n\n <span *ngSwitchCase=\"'subtitle'\">\n <po-table-subtitle-circle [p-subtitle]=\"getSubtitleColumn(row, column)\"></po-table-subtitle-circle>\n </span>\n <span *ngSwitchCase=\"'label'\">\n <po-table-column-label [p-value]=\"getColumnLabel(row, column)\"> </po-table-column-label>\n </span>\n <span *ngSwitchDefault>{{ getCellData(row, column) }}</span>\n </div>\n </td>\n\n <td\n *ngIf=\"hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column-detail-toggle\"\n (click)=\"toggleDetail(row)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"poTableColumnDetail\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n\n <!-- Coluna de a\u00E7oes na direita -->\n <ng-template\n *ngIf=\"actionRight\"\n [ngTemplateOutlet]=\"ActionsColumnTemplate\"\n [ngTemplateOutletContext]=\"{ row: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n\n <!-- Coluna para n\u00E3o ficar em branco nas linhas de gerenciamento -->\n <ng-container *ngIf=\"!actionRight && (visibleActions.length > 1 || isSingleAction) && !hideColumnsManager\">\n <td class=\"po-table-row-no-data po-table-column-empty\"></td>\n </ng-container>\n\n <!-- Column Manager -->\n <td\n *ngIf=\"!hasVisibleActions && !hideColumnsManager && !hasRowTemplateWithArrowDirectionRight\"\n class=\"po-table-column\"\n ></td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && hasRowTemplate && row.$showDetail && isShowRowTemplate(row, rowIndex)\">\n <td class=\"po-table-row-template-container\" [colSpan]=\"columnCountForMasterDetail\">\n <ng-template\n [ngTemplateOutlet]=\"tableRowTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowIndex: rowIndex }\"\n >\n </ng-template>\n </td>\n </tr>\n\n <tr *ngIf=\"hasMainColumns && isShowMasterDetail(row)\">\n <td class=\"po-table-column-detail\" [colSpan]=\"columnCountForMasterDetail\">\n <po-table-detail\n [p-selectable]=\"selectable && !detailHideSelect\"\n [p-detail]=\"columnMasterDetail.detail\"\n [p-items]=\"row[nameColumnDetail]\"\n (p-select-row)=\"selectDetailRow($event)\"\n >\n </po-table-detail>\n </td>\n </tr>\n </tbody>\n </ng-container>\n </table>\n</ng-template>\n\n<po-popup #popup [p-actions]=\"actions\" [p-target]=\"popupTarget\"> </po-popup>\n\n<ng-template #poTableColumnDetail let-row=\"row\" let-rowIndex=\"rowIndex\">\n <span\n *ngIf=\"(containsMasterDetail(row) && !hasRowTemplate) || (isShowRowTemplate(row, rowIndex) && hasRowTemplate)\"\n class=\"po-icon po-clickable\"\n [class.po-icon-arrow-up]=\"row.$showDetail\"\n [class.po-icon-arrow-down]=\"!row.$showDetail\"\n >\n </span>\n</ng-template>\n\n<ng-template #inputRadio let-row>\n <input type=\"radio\" class=\"po-table-radio\" [class.po-table-radio-checked]=\"row.$selected\" />\n <label class=\"po-table-radio-label po-clickable\" (click)=\"selectable ? selectRow(row) : 'javascript:;'\"></label>\n</ng-template>\n\n<ng-template #inputCheckbox let-row>\n <input type=\"checkbox\" class=\"po-table-checkbox\" [class.po-table-checkbox-checked]=\"row.$selected\" />\n <label class=\"po-table-checkbox-label po-clickable\" (click)=\"selectable ? selectRow(row) : 'javascript:;'\"></label>\n</ng-template>\n\n<ng-template #contentHeaderTemplate let-column>\n <span\n #columnHeader\n class=\"po-table-header-ellipsis\"\n [p-tooltip]=\"tooltipText\"\n (mouseenter)=\"tooltipMouseEnter($event)\"\n (mouseleave)=\"tooltipMouseLeave()\"\n >\n {{ column.label || (column.property | titlecase) }}\n </span>\n <span\n *ngIf=\"sort && column.sortable !== false\"\n [class.po-table-header-icon-unselected]=\"sortedColumn?.property !== column\"\n [class.po-table-header-icon-descending]=\"sortedColumn?.property === column && sortedColumn.ascending\"\n [class.po-table-header-icon-ascending]=\"sortedColumn?.property === column && !sortedColumn.ascending\"\n >\n </span>\n</ng-template>\n\n<ng-template #noColumnsWithHeight>\n <div class=\"po-table-header-fixed-inner\" [style.width.px]=\"noColumnsHeader?.nativeElement.offsetWidth\">\n {{ hasValidColumns ? literals.noVisibleColumn : literals.noColumns }}\n </div>\n</ng-template>\n\n<ng-template #noColumnsWithoutHeight>\n {{ hasValidColumns ? literals.noVisibleColumn : literals.noColumns }}\n</ng-template>\n\n<!-- Template de a\u00E7\u00F5es -->\n<ng-template #ActionsColumnTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <td *ngIf=\"isSingleAction\" class=\"po-table-column po-table-column-single-action\">\n <div\n *ngIf=\"firstAction.visible !== false\"\n class=\"po-table-single-action po-clickable\"\n [class.po-table-action-disabled]=\"firstAction.disabled ? validateTableAction(row, firstAction) : false\"\n (click)=\"executeTableAction(row, firstAction)\"\n >\n <po-icon *ngIf=\"firstAction.icon\" class=\"po-table-single-action-content\" [p-icon]=\"firstAction.icon\"></po-icon>\n {{ firstAction.label }}\n </div>\n </td>\n\n <td *ngIf=\"visibleActions.length > 1\" class=\"po-table-column-actions\">\n <span #popupTarget class=\"po-icon po-icon-more po-clickable\" (click)=\"togglePopup(row, popupTarget)\"></span>\n </td>\n</ng-template>\n\n<po-table-column-manager\n *ngIf=\"!hideColumnsManager\"\n [p-columns]=\"columns\"\n [p-max-columns]=\"maxColumns\"\n [p-target]=\"columnManagerTarget\"\n [p-last-visible-columns-selected]=\"lastVisibleColumnsSelected\"\n (p-visible-columns-change)=\"onVisibleColumnsChange($event)\"\n (p-change-visible-columns)=\"onChangeVisibleColumns($event)\"\n [p-columns-default]=\"initialColumns\"\n (p-initial-columns)=\"onColumnRestoreManager($event)\"\n>\n</po-table-column-manager>\n" }]
|
|
1368
1919
|
}], function () { return [{ type: i1.PoDateService }, { type: i0.IterableDiffers }, { type: i0.Renderer2 }, { type: i2.PoLanguageService }, { type: i0.ChangeDetectorRef }, { type: i3.DecimalPipe }, { type: i4.Router }, { type: i5.PoTableService }]; }, { tableRowTemplate: [{
|
|
1369
1920
|
type: ContentChild,
|
|
1370
1921
|
args: [PoTableRowTemplateDirective, { static: true }]
|
|
@@ -1389,6 +1940,9 @@ PoTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTableCom
|
|
|
1389
1940
|
}], poTableTbody: [{
|
|
1390
1941
|
type: ViewChild,
|
|
1391
1942
|
args: ['poTableTbody', { read: ElementRef, static: false }]
|
|
1943
|
+
}], poTableThead: [{
|
|
1944
|
+
type: ViewChild,
|
|
1945
|
+
args: ['poTableThead', { read: ElementRef, static: false }]
|
|
1392
1946
|
}], actionsIconElement: [{
|
|
1393
1947
|
type: ViewChildren,
|
|
1394
1948
|
args: ['actionsIconElement', { read: ElementRef }]
|
|
@@ -1402,4 +1956,4 @@ PoTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTableCom
|
|
|
1402
1956
|
type: ViewChild,
|
|
1403
1957
|
args: ['columnManagerTarget']
|
|
1404
1958
|
}] }); })();
|
|
1405
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXRhYmxlL3BvLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFFWixVQUFVLEVBS1YsU0FBUyxFQUNULFlBQVksRUFFWixlQUFlLEVBRWhCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUt2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQW1CLE1BQU0sMkJBQTJCLENBQUM7QUFHbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFFdEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDL0csT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNqQ3BHLHdCQUF3RTs7O0lBRDFFLHdDQUFpSDtJQUMvRyxtR0FBd0U7SUFDMUUsaUJBQWU7Ozs7SUFGMkQsMkRBQXNDO0lBQy9GLGVBQXdDO0lBQXhDLHNDQUF3Qzs7O0lBS3JELCtCQUE4QztJQUM1QyxpQ0FBMEY7SUFDNUYsaUJBQU07OztJQUR5QyxlQUErQjtJQUEvQixxREFBK0I7OztJQWF0RSx3QkFBK0Q7OztJQUhuRSwrQkFBd0Y7SUFDdEYsMEJBQXlE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YSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ0csbUJBQW1CO2tCQUFsRixTQUFTO21CQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNFLFlBQVk7a0JBQTNFLFNBQVM7bUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBRUosa0JBQWtCO2tCQUEzRSxZQUFZO21CQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNGLGNBQWM7a0JBQW5FLFlBQVk7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3RCLFlBQVk7a0JBQXpDLFlBQVk7bUJBQUMsY0FBYztZQW9CVSxtQkFBbUI7a0JBQXhELFNBQVM7bUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaWJlciwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBQb0RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tZGF0ZS9wby1kYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9wby1wb3B1cC9wby1wb3B1cC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBQb1RhYmxlQWN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRhYmxlLWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UYWJsZUJhc2VDb21wb25lbnQsIFF1ZXJ5UGFyYW1zVHlwZSB9IGZyb20gJy4vcG8tdGFibGUtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9UYWJsZUNvbHVtbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWJsZS1jb2x1bW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5MYWJlbCB9IGZyb20gJy4vcG8tdGFibGUtY29sdW1uLWxhYmVsL3BvLXRhYmxlLWNvbHVtbi1sYWJlbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UYWJsZVJvd1RlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9wby10YWJsZS1yb3ctdGVtcGxhdGUvcG8tdGFibGUtcm93LXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb1RhYmxlU3VidGl0bGVDb2x1bW4gfSBmcm9tICcuL3BvLXRhYmxlLXN1YnRpdGxlLWZvb3Rlci9wby10YWJsZS1zdWJ0aXRsZS1jb2x1bW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3BvLXRhYmxlLWNlbGwtdGVtcGxhdGUvcG8tdGFibGUtY2VsbC10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9UYWJsZUNvbHVtblRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9wby10YWJsZS1jb2x1bW4tdGVtcGxhdGUvcG8tdGFibGUtY29sdW1uLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb1RhYmxlUm93VGVtcGxhdGVBcnJvd0RpcmVjdGlvbiB9IGZyb20gJy4vZW51bXMvcG8tdGFibGUtcm93LXRlbXBsYXRlLWFycm93LWRpcmVjdGlvbi5lbnVtJztcbmltcG9ydCB7IFBvVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby10YWJsZS5zZXJ2aWNlJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9UYWJsZUJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10YWJsZS1iYXNpY1wiIHRpdGxlPVwiUE8gVGFibGUgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWJhc2ljL3NhbXBsZS1wby10YWJsZS1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtYmFzaWMvc2FtcGxlLXBvLXRhYmxlLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdGFibGUtbGFic1wiIHRpdGxlPVwiUE8gVGFibGUgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtbGFicy9zYW1wbGUtcG8tdGFibGUtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtbGFicy9zYW1wbGUtcG8tdGFibGUtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS1sYWJzL3NhbXBsZS1wby10YWJsZS1sYWJzLmNvbXBvbmVudC5lMmUtc3BlYy50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS1sYWJzL3NhbXBsZS1wby10YWJsZS1sYWJzLmNvbXBvbmVudC5wby50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS1sYWJzL3NhbXBsZS1wby10YWJsZS1sYWJzLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10YWJsZS13aXRoLWFwaVwiIHRpdGxlPVwiUE8gVGFibGUgdXNpbmcgQVBJXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS13aXRoLWFwaS9zYW1wbGUtcG8tdGFibGUtd2l0aC1hcGkuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLXdpdGgtYXBpL3NhbXBsZS1wby10YWJsZS13aXRoLWFwaS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXRhYmxlLXRyYW5zcG9ydFwiIHRpdGxlPVwiUE8gVGFibGUgLSBUcmFuc3BvcnRcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLXRyYW5zcG9ydC9zYW1wbGUtcG8tdGFibGUtdHJhbnNwb3J0LmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS10cmFuc3BvcnQvc2FtcGxlLXBvLXRhYmxlLXRyYW5zcG9ydC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS10cmFuc3BvcnQvc2FtcGxlLXBvLXRhYmxlLXRyYW5zcG9ydC5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdGFibGUtYWlyZmFyZVwiIHRpdGxlPVwiUE8gVGFibGUgLSBBaXJmYXJlXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS1haXJmYXJlL3NhbXBsZS1wby10YWJsZS1haXJmYXJlLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS1haXJmYXJlL3NhbXBsZS1wby10YWJsZS1haXJmYXJlLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWFpcmZhcmUvc2FtcGxlLXBvLXRhYmxlLWFpcmZhcmUuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXRhYmxlLWNvbXBvbmVudHNcIiB0aXRsZT1cIlBPIFRhYmxlIC0gUG8gRmllbGQgQ29tcG9uZW50c1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtY29tcG9uZW50cy9zYW1wbGUtcG8tdGFibGUtY29tcG9uZW50cy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtY29tcG9uZW50cy9zYW1wbGUtcG8tdGFibGUtY29tcG9uZW50cy5lbnVtLnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMvc2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtY29tcG9uZW50cy9zYW1wbGUtcG8tdGFibGUtY29tcG9uZW50cy5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMvc2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMuY29tcG9uZW50LmNzc1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1BvRGF0ZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBvVGFibGVDb21wb25lbnQgZXh0ZW5kcyBQb1RhYmxlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2ssIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoUG9UYWJsZVJvd1RlbXBsYXRlRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZVJvd1RlbXBsYXRlOiBQb1RhYmxlUm93VGVtcGxhdGVEaXJlY3RpdmU7XG4gIEBDb250ZW50Q2hpbGQoUG9UYWJsZUNlbGxUZW1wbGF0ZURpcmVjdGl2ZSkgdGFibGVDZWxsVGVtcGxhdGU6IFBvVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihQb1RhYmxlQ29sdW1uVGVtcGxhdGVEaXJlY3RpdmUpIHRhYmxlQ29sdW1uVGVtcGxhdGVzOiBRdWVyeUxpc3Q8UG9UYWJsZUNvbHVtblRlbXBsYXRlRGlyZWN0aXZlPjtcblxuICBAVmlld0NoaWxkKCdub0NvbHVtbnNIZWFkZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbm9Db2x1bW5zSGVhZGVyO1xuICBAVmlld0NoaWxkKCdwb3B1cCcpIHBvUG9wdXBDb21wb25lbnQ6IFBvUG9wdXBDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3RhYmxlRm9vdGVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHRhYmxlRm9vdGVyRWxlbWVudDtcbiAgQFZpZXdDaGlsZCgndGFibGVXcmFwcGVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHRhYmxlV3JhcHBlckVsZW1lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3BvVGFibGVUYm9keScsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KSBwb1RhYmxlVGJvZHk7XG5cbiAgQFZpZXdDaGlsZHJlbignYWN0aW9uc0ljb25FbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGFjdGlvbnNJY29uRWxlbWVudDogUXVlcnlMaXN0PGFueT47XG4gIEBWaWV3Q2hpbGRyZW4oJ2FjdGlvbnNFbGVtZW50JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGFjdGlvbnNFbGVtZW50OiBRdWVyeUxpc3Q8YW55PjtcbiAgQFZpZXdDaGlsZHJlbignaGVhZGVyc1RhYmxlJykgaGVhZGVyc1RhYmxlOiBRdWVyeUxpc3Q8YW55PjtcblxuICBoZWlnaHRUYWJsZUNvbnRhaW5lcjogbnVtYmVyO1xuICBwb3B1cFRhcmdldDtcbiAgdGFibGVPcGFjaXR5OiBudW1iZXIgPSAwO1xuICB0b29sdGlwVGV4dDogc3RyaW5nO1xuICBsYXN0VmlzaWJsZUNvbHVtbnNTZWxlY3RlZDogQXJyYXk8UG9UYWJsZUNvbHVtbj47XG5cbiAgcHJpdmF0ZSBfY29sdW1uTWFuYWdlclRhcmdldDogRWxlbWVudFJlZjtcbiAgcHJpdmF0ZSBkaWZmZXI7XG4gIHByaXZhdGUgZm9vdGVySGVpZ2h0O1xuICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgdGltZW91dFJlc2l6ZTtcbiAgcHJpdmF0ZSB2aXNpYmxlRWxlbWVudCA9IGZhbHNlO1xuICBwcml2YXRlIHNjcm9sbEV2ZW50JDogT2JzZXJ2YWJsZTxhbnk+O1xuICBwcml2YXRlIHN1YnNjcmlwdGlvblNjcm9sbEV2ZW50OiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBjbGlja0xpc3RlbmVyOiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHJlc2l6ZUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbHVtbk1hbmFnZXJUYXJnZXQnKSBzZXQgY29sdW1uTWFuYWdlclRhcmdldCh2YWx1ZTogRWxlbWVudFJlZikge1xuICAgIHRoaXMuX2NvbHVtbk1hbmFnZXJUYXJnZXQgPSB2YWx1ZTtcblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IGNvbHVtbk1hbmFnZXJUYXJnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbk1hbmFnZXJUYXJnZXQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwb0RhdGU6IFBvRGF0ZVNlcnZpY2UsXG4gICAgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcG9MYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBkZWZhdWx0U2VydmljZTogUG9UYWJsZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocG9EYXRlLCBwb0xhbmd1YWdlU2VydmljZSwgZGVmYXVsdFNlcnZpY2UpO1xuXG4gICAgdGhpcy5kaWZmZXIgPSBkaWZmZXJzLmZpbmQoW10pLmNyZWF0ZShudWxsKTtcblxuICAgIC8vIFRPRE86ICM1NTUwIGFvIHJlbW92ZXIgZXN0ZSBsaXN0ZW5lciwgbm8gcG9ydGFsLCBxdWFuZG8gYXMgY29sdW5hcyBmb3JlbSBmaXhhcyBuw6NvIHNvZnJlbVxuICAgIC8vIGFsdGVyYcOnw6NvIGRlIGxhcmd1cmEsIHBvaXMgbyBuZ0RvQ2hlY2sgbsOjbyDDqSBleGVjdXRhZG8uXG4gICAgdGhpcy5jbGlja0xpc3RlbmVyID0gcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsICgpID0+IHt9KTtcblxuICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSByZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdyZXNpemUnLCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgdGhpcy5kZWJvdW5jZVJlc2l6ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGhhc1Jvd1RlbXBsYXRlV2l0aEFycm93RGlyZWN0aW9uUmlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVSb3dUZW1wbGF0ZT8udGFibGVSb3dUZW1wbGF0ZUFycm93RGlyZWN0aW9uID09PSBQb1RhYmxlUm93VGVtcGxhdGVBcnJvd0RpcmVjdGlvbi5SaWdodDtcbiAgfVxuXG4gIGdldCBjb2x1bW5Db3VudCgpIHtcbiAgICBjb25zdCBjb2x1bW5Db3VudCA9XG4gICAgICB0aGlzLm1haW5Db2x1bW5zLmxlbmd0aCArXG4gICAgICAodGhpcy5hY3Rpb25zLmxlbmd0aCA+IDAgPyAxIDogMCkgK1xuICAgICAgKHRoaXMuc2VsZWN0YWJsZSA/IDEgOiAwKSArXG4gICAgICAoIXRoaXMuaGlkZURldGFpbCAmJiB0aGlzLmNvbHVtbk1hc3RlckRldGFpbCAhPT0gdW5kZWZpbmVkID8gMSA6IDApO1xuXG4gICAgcmV0dXJuIGNvbHVtbkNvdW50IHx8IDE7XG4gIH1cblxuICBnZXQgY29sdW1uQ291bnRGb3JNYXN0ZXJEZXRhaWwoKSB7XG4gICAgLy8gY2FzbyB0aXZlciBhw6fDtWVzIHNlcsOhIHV0aWxpemFkbyBhIHN1YSBjb2x1bmEgcGFyYSBleGliaXIgbyBjb2x1bW5NYW5hZ2VyXG4gICAgY29uc3QgY29sdW1uTWFuYWdlciA9IHRoaXMuYWN0aW9ucy5sZW5ndGggPyAwIDogMTtcblxuICAgIHJldHVybiB0aGlzLm1haW5Db2x1bW5zLmxlbmd0aCArIDEgKyAodGhpcy5hY3Rpb25zLmxlbmd0aCA+IDAgPyAxIDogMCkgKyAodGhpcy5zZWxlY3RhYmxlID8gMSA6IDApICsgY29sdW1uTWFuYWdlcjtcbiAgfVxuXG4gIGdldCBkZXRhaWxIaWRlU2VsZWN0KCkge1xuICAgIGNvbnN0IG1hc3RlckRldGFpbCA9IHRoaXMuY29sdW1uTWFzdGVyRGV0YWlsO1xuICAgIHJldHVybiBtYXN0ZXJEZXRhaWwgJiYgbWFzdGVyRGV0YWlsLmRldGFpbCA/IG1hc3RlckRldGFpbC5kZXRhaWwuaGlkZVNlbGVjdCA6IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGhhc1Zpc2libGVBY3Rpb25zKCkge1xuICAgIHJldHVybiAhIXRoaXMudmlzaWJsZUFjdGlvbnMubGVuZ3RoO1xuICB9XG5cbiAgZ2V0IGZpcnN0QWN0aW9uKCk6IFBvVGFibGVBY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVBY3Rpb25zICYmIHRoaXMudmlzaWJsZUFjdGlvbnNbMF07XG4gIH1cblxuICBnZXQgaGFzRm9vdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc0l0ZW1zICYmIHRoaXMuaGFzVmlzaWJsZVN1YnRpdGxlQ29sdW1ucztcbiAgfVxuXG4gIGdldCBoYXNNYXN0ZXJEZXRhaWxDb2x1bW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaGFzTWFpbkNvbHVtbnMgJiYgdGhpcy5oYXNJdGVtcyAmJiAhdGhpcy5oaWRlRGV0YWlsICYmICEhKHRoaXMuY29sdW1uTWFzdGVyRGV0YWlsIHx8IHRoaXMuaGFzUm93VGVtcGxhdGUpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBoYXNSb3dUZW1wbGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRhYmxlUm93VGVtcGxhdGU7XG4gIH1cblxuICBnZXQgaGFzU2VsZWN0YWJsZUNvbHVtbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RhYmxlICYmIHRoaXMuaGFzSXRlbXMgJiYgdGhpcy5oYXNNYWluQ29sdW1ucztcbiAgfVxuXG4gIGdldCBoYXNWYWxpZENvbHVtbnMoKSB7XG4gICAgcmV0dXJuICEhdGhpcy52YWxpZENvbHVtbnMubGVuZ3RoO1xuICB9XG5cbiAgZ2V0IGhhc1Zpc2libGVTdWJ0aXRsZUNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VidGl0bGVDb2x1bW5zLnNvbWUoY29sdW1uID0+IGNvbHVtbi52aXNpYmxlICE9PSBmYWxzZSk7XG4gIH1cblxuICBnZXQgaXNTaW5nbGVBY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZUFjdGlvbnMubGVuZ3RoID09PSAxO1xuICB9XG5cbiAgZ2V0IHZpc2libGVBY3Rpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnMgJiYgdGhpcy5hY3Rpb25zLmZpbHRlcihhY3Rpb24gPT4gYWN0aW9uICYmIGFjdGlvbi52aXNpYmxlICE9PSBmYWxzZSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBzaG93TW9yZUluZmluaXRlU2Nyb2xsKHsgdGFyZ2V0IH0pOiB2b2lkIHtcbiAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IHRhcmdldC5vZmZzZXRIZWlnaHQgKyB0YXJnZXQuc2Nyb2xsVG9wO1xuICAgIGlmICghdGhpcy5zaG93TW9yZURpc2FibGVkICYmIHNjcm9sbFBvc2l0aW9uID49IHRhcmdldC5zY3JvbGxIZWlnaHQgKiAodGhpcy5pbmZpbml0ZVNjcm9sbERpc3RhbmNlIC8gMTEwKSkge1xuICAgICAgdGhpcy5vblNob3dNb3JlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuY2hlY2tDaGFuZ2VzSXRlbXMoKTtcbiAgICB0aGlzLnZlcmlmeUNhbGN1bGF0ZUhlaWdodFRhYmxlQ29udGFpbmVyKCk7XG4gICAgLy8gUGVybWl0ZSBxdWUgb3MgY2FiZcOnYWxob3Mgc2VqYW0gY2FsY3VsYWRvcyBuYSBwcmltZWlyYSB2ZXogcXVlIG8gY29tcG9uZW50ZSB0b3JuYS1zZSB2aXPDrXZlbCxcbiAgICAvLyBldml0YW5kbyBjb20gaXNzbywgcHJvYmxlbWFzIGNvbSBUYWJzIG91IERpdnMgcXVlIGluaWNpZW0gZXNjb25kaWRhcy5cbiAgICBpZiAodGhpcy50YWJsZVdyYXBwZXJFbGVtZW50Py5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICYmICF0aGlzLnZpc2libGVFbGVtZW50ICYmIHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuZGVib3VuY2VSZXNpemUoKTtcbiAgICAgIHRoaXMuY2hlY2tJbmZpbml0ZVNjcm9sbCgpO1xuICAgICAgdGhpcy52aXNpYmxlRWxlbWVudCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHJlc3BvbnPDoXZlbCBwb3IgcmVhbGl6YXIgYnVzY2Egbm8gc2VydmnDp28gZGUgZGFkb3MgcG9kZW5kbyBpbmZvcm1hciBmaWx0cm9zIGUgY29tIG8gcmV0b3JubywgYXR1YWxpemEgYSB0YWJlbGEuXG4gICAqXG4gICAqIENhc28gbsOjbyBzZWphIGluZm9ybWFkbyBwYXLDom1ldHJvLCBuYWRhIHNlcsOhIGFkaWNpb25hZG8gYW8gR0VULCBjb25mb3JtZSBhYmFpeG86XG4gICAqIGBgYFxuICAgKiB1cmwgKyA/cGFnZT0xJnBhZ2VTaXplPTEwXG4gICAqIGBgYFxuICAgKiA+IE9iczogb3MgcGFyw6JtZXRyb3MgYHBhZ2VgIGUgYHBhZ2VTaXplYCBzZW1wcmUgc2Vyw6NvIGNoYW1hZG9zIGluZGVwZW5kZW50ZSBkZSBzZXIgZW52aWFkb3Mgb3V0cm9zIHBhcsOibWV0cm9zLlxuICAgKlxuICAgKiBDYXNvIHNlamFtIGluZm9ybWFkb3Mgb3MgcGFyw6JtZXRyb3MgYHsgbmFtZTogJ0pPSE4nLCBhZ2U6ICcyMycgfWAsIHRvZG9zIHNlcsOjbyBhZGljaW9uYWRvcyBhbyBHRVQsIGNvbmZvcm1lIGFiYWl4bzpcbiAgICogYGBgXG4gICAqIHVybCArID9wYWdlPTEmcGFnZVNpemU9MTAmbmFtZT1KT0hOJmFnZT0yM1xuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIHsgeyBrZXk6IHZhbHVlIH0gfSBxdWVyeVBhcmFtcyBGb3JtYXRvIGRvIG9iamV0byBhIHNlciBlbnZpYWRvLlxuICAgKiA+IFBvZGUgc2VyIHV0aWxpemFkYSBxdWFscXVlciBzdHJpbmcgY29tbyBrZXksIGUgcXVhbHF1ZXIgc3RyaW5nIG91IG51bWJlciBjb21vIHZhbHVlLlxuICAgKi9cbiAgYXBwbHlGaWx0ZXJzKHF1ZXJ5UGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBRdWVyeVBhcmFtc1R5cGUgfSkge1xuICAgIHRoaXMucGFnZSA9IDE7XG4gICAgdGhpcy5pbml0aWFsaXplRGF0YShxdWVyeVBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyBxdWUgY29sYXBzYSB1bWEgbGluaGEgY29tIGRldGFsaGUgcXVhbmRvIGV4ZWN1dGFkYS5cbiAgICpcbiAgICogQHBhcmFtIHsgbnVtYmVyIH0gcm93SW5kZXggw41uZGljZSBkYSBsaW5oYSBxdWUgc2Vyw6EgY29sYXBzYWRhLlxuICAgKiA+IEFvIHJlb3JkZW5hciBvcyBkYWRvcyBkYSB0YWJlbGEsIG8gdmFsb3IgY29udGlkbyBuZXN0ZSDDrW5kaWNlIHNlcsOhIGFsdGVyYWRvIGNvbmZvcm1lIGEgb3JkZW5hw6fDo28uXG4gICAqL1xuICBjb2xsYXBzZShyb3dJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRTaG93RGV0YWlsKHJvd0luZGV4LCBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyBxdWUgZXhwYW5kZSB1bWEgbGluaGEgY29tIGRldGFsaGUgcXVhbmRvIGV4ZWN1dGFkYS5cbiAgICpcbiAgICogQHBhcmFtIHsgbnVtYmVyIH0gcm93SW5kZXggw41uZGljZSBkYSBsaW5oYSBxdWUgc2Vyw6EgZXhwYW5kaWRhLlxuICAgKiA+IEFvIHJlb3JkZW5hciBvcyBkYWRvcyBkYSB0YWJlbGEsIG8gdmFsb3IgY29udGlkbyBuZXN0ZSDDrW5kaWNlIHNlcsOhIGFsdGVyYWRvIGNvbmZvcm1lIGEgb3JkZW5hw6fDo28uXG4gICAqL1xuICBleHBhbmQocm93SW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc2V0U2hvd0RldGFpbChyb3dJbmRleCwgdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBhcyBsaW5oYXMgZG8gYHBvLXRhYmxlYCBxdWUgZXN0w6NvIHNlbGVjaW9uYWRhcy5cbiAgICovXG4gIGdldFNlbGVjdGVkUm93cygpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLiRzZWxlY3RlZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0b3JuYSBhcyBsaW5oYXMgZG8gYHBvLXRhYmxlYCBxdWUgbsOjbyBlc3TDo28gc2VsZWNpb25hZGFzLlxuICAgKi9cbiAgZ2V0VW5zZWxlY3RlZFJvd3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uJHNlbGVjdGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNtYXJjYSBhcyBsaW5oYXMgcXVlIGVzdMOjbyBzZWxlY2lvbmFkYXMuXG4gICAqL1xuICB1bnNlbGVjdFJvd3MoKSB7XG4gICAgY29uc3QgY29sdW1uRGV0YWlsID0gdGhpcy5uYW1lQ29sdW1uRGV0YWlsO1xuXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgZGV0YWlsSXRlbXMgPSBjb2x1bW5EZXRhaWwgPyBpdGVtW2NvbHVtbkRldGFpbF0gOiBudWxsO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkZXRhaWxJdGVtcykpIHtcbiAgICAgICAgZGV0YWlsSXRlbXMuZm9yRWFjaChkZXRhaWxJdGVtID0+IHtcbiAgICAgICAgICBkZXRhaWxJdGVtLiRzZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaXRlbS4kc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XG4gIH1cblxuICBjaGVja0Rpc2FibGVkKHJvdywgY29sdW1uOiBQb1RhYmxlQ29sdW1uKSB7XG4gICAgcmV0dXJuIGNvbHVtbi5kaXNhYmxlZCA/IGNvbHVtbi5kaXNhYmxlZChyb3cpIDogZmFsc2U7XG4gIH1cblxuICBjb250YWluc01hc3RlckRldGFpbChyb3cpIHtcbiAgICByZXR1cm4gcm93W3RoaXMubmFtZUNvbHVtbkRldGFpbF0gJiYgcm93W3RoaXMubmFtZUNvbHVtbkRldGFpbF0ubGVuZ3RoO1xuICB9XG5cbiAgZXhlY3V0ZVRhYmxlQWN0aW9uKHJvdzogYW55LCB0YWJsZUFjdGlvbjogYW55KSB7XG4gICAgaWYgKCFyb3cuZGlzYWJsZWQgJiYgIXRoaXMudmFsaWRhdGVUYWJsZUFjdGlvbihyb3csIHRhYmxlQWN0aW9uKSkge1xuICAgICAgdGFibGVBY3Rpb24uYWN0aW9uKHJvdyk7XG4gICAgICB0aGlzLnRvZ2dsZVJvd0FjdGlvbihyb3cpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNtYXJjYSB1bWEgbGluaGEgcXVlIGVzdMOhIHNlbGVjaW9uYWRhLlxuICAgKi9cbiAgdW5zZWxlY3RSb3dJdGVtKGl0ZW1mbjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8ICgoaXRlbSkgPT4gYm9vbGVhbikpIHtcbiAgICB0aGlzLnRvZ2dsZVNlbGVjdChpdGVtZm4sIGZhbHNlKTtcblxuICAgIGlmICh0aGlzLml0ZW1zLmV2ZXJ5KGl0ZW0gPT4gIWl0ZW0uJHNlbGVjdGVkKSkge1xuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY2lvbmEgdW1hIGxpbmhhIGRvICdwby10YWJsZScuXG4gICAqL1xuICBzZWxlY3RSb3dJdGVtKGl0ZW1mbjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8ICgoaXRlbSkgPT4gYm9vbGVhbikpIHtcbiAgICB0aGlzLnRvZ2dsZVNlbGVjdChpdGVtZm4sIHRydWUpO1xuXG4gICAgaWYgKHRoaXMuaXRlbXMuZXZlcnkoaXRlbSA9PiBpdGVtLiRzZWxlY3RlZCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdE51bWJlcih2YWx1ZTogYW55LCBmb3JtYXQ6IHN0cmluZykge1xuICAgIGlmICghZm9ybWF0KSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKHZhbHVlLCBmb3JtYXQpO1xuICB9XG5cbiAgZ2V0Q2VsbERhdGEocm93OiBhbnksIGNvbHVtbjogUG9UYWJsZUNvbHVtbik6IGFueSB7XG4gICAgY29uc3QgYXJyYXlQcm9wZXJ0eSA9IGNvbHVtbi5wcm9wZXJ0eS5zcGxpdCgnLicpO1xuICAgIGlmIChhcnJheVByb3BlcnR5Lmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IG5lc3RlZFByb3BlcnRpZXMgPSBhcnJheVByb3BlcnR5O1xuICAgICAgbGV0IHZhbHVlOiBhbnkgPSByb3c7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIG5lc3RlZFByb3BlcnRpZXMpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZVtwcm9wZXJ0eV0gfHwgdmFsdWVbcHJvcGVydHldID09PSAwID8gdmFsdWVbcHJvcGVydHldIDogJyc7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByb3dbY29sdW1uLnByb3BlcnR5XTtcbiAgICB9XG4gIH1cblxuICBnZXRCb29sZWFuTGFiZWwocm93VmFsdWU6IGFueSwgY29sdW1uQm9vbGVhbjogUG9UYWJsZUNvbHVtbik6IHN0cmluZyB7XG4gICAgaWYgKHJvd1ZhbHVlIHx8IHJvd1ZhbHVlID09PSBmYWxzZSB8fCByb3dWYWx1ZSA9PT0gMCkge1xuICAgICAgcm93VmFsdWUgPSBjb252ZXJ0VG9Cb29sZWFuKHJvd1ZhbHVlKTtcblxuICAgICAgaWYgKGNvbHVtbkJvb2xlYW4uYm9vbGVhbikge1xuICAgICAgICByZXR1cm4gcm93VmFsdWUgPyBjb2x1bW5Cb29sZWFuLmJvb2xlYW4udHJ1ZUxhYmVsIHx8ICdTaW0nIDogY29sdW1uQm9vbGVhbi5ib29sZWFuLmZhbHNlTGFiZWwgfHwgJ07Do28nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJvd1ZhbHVlID8gJ1NpbScgOiAnTsOjbyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvd1ZhbHVlO1xuICB9XG5cbiAgZ2V0Q29sdW1uSWNvbnMocm93OiBhbnksIGNvbHVtbjogUG9UYWJsZUNvbHVtbikge1xuICAgIGNvbnN0IHJvd0ljb25zID0gdGhpcy5nZXRDZWxsRGF0YShyb3csIGNvbHVtbik7XG5cbiAgICBpZiAoY29sdW1uLmljb25zKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyb3dJY29ucykpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVyZ2VDdXN0b21JY29ucyhyb3dJY29ucywgY29sdW1uLmljb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmRDdXN0b21JY29uKHJvd0ljb25zLCBjb2x1bW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByb3dJY29ucztcbiAgfVxuXG4gIGdldENvbHVtbkxhYmVsKHJvdzogYW55LCBjb2x1bW5MYWJlbDogUG9UYWJsZUNvbHVtbik6IFBvVGFibGVDb2x1bW5MYWJlbCB7XG4gICAgcmV0dXJuIGNvbHVtbkxhYmVsLmxhYmVscy5maW5kKGxhYmVsSXRlbSA9PiB0aGlzLmdldENlbGxEYXRhKHJvdywgY29sdW1uTGFiZWwpID09PSBsYWJlbEl0ZW0udmFsdWUpO1xuICB9XG5cbiAgZ2V0U3VidGl0bGVDb2x1bW4ocm93OiBhbnksIHN1YnRpdGxlQ29sdW1uOiBQb1RhYmxlQ29sdW1uKTogUG9UYWJsZVN1YnRpdGxlQ29sdW1uIHtcbiAgICByZXR1cm4gc3VidGl0bGVDb2x1bW4uc3VidGl0bGVzLmZpbmQoc3VidGl0bGVJdGVtID0+IHRoaXMuZ2V0Q2VsbERhdGEocm93LCBzdWJ0aXRsZUNvbHVtbikgPT09IHN1YnRpdGxlSXRlbS52YWx1ZSk7XG4gIH1cblxuICBpc1Nob3dNYXN0ZXJEZXRhaWwocm93KSB7XG4gICAgcmV0dXJuIChcbiAgICAgICF0aGlzLmhpZGVEZXRhaWwgJiZcbiAgICAgIHRoaXMubmFtZUNvbHVtbkRldGFpbCAmJlxuICAgICAgcm93LiRzaG93RGV0YWlsICYmXG4gICAgICB0aGlzLmNvbnRhaW5zTWFzdGVyRGV0YWlsKHJvdykgJiZcbiAgICAgICF0aGlzLmhhc1Jvd1RlbXBsYXRlXG4gICAgKTtcbiAgfVxuXG4gIGlzU2hvd1Jvd1RlbXBsYXRlKHJvdywgaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnRhYmxlUm93VGVtcGxhdGUgJiYgdGhpcy50YWJsZVJvd1RlbXBsYXRlLnBvVGFibGVSb3dUZW1wbGF0ZVNob3cpIHtcbiAgICAgIHJldHVybiB0aGlzLnRhYmxlUm93VGVtcGxhdGUucG9UYWJsZVJvd1RlbXBsYXRlU2hvdyhyb3csIGluZGV4KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9uQ2xpY2tMaW5rKGV2ZW50LCByb3csIGNvbHVtbjogUG9UYWJsZUNvbHVtbikge1xuICAgIGlmICghdGhpcy5jaGVja0Rpc2FibGVkKHJvdywgY29sdW1uKSkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2VWaXNpYmxlQ29sdW1ucyhjb2x1bW5zOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgdGhpcy5jaGFuZ2VWaXNpYmxlQ29sdW1ucy5lbWl0KGNvbHVtbnMpO1xuICB9XG5cbiAgb25WaXNpYmxlQ29sdW1uc0NoYW5nZShjb2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPikge1xuICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHRvb2x0aXBNb3VzZUVudGVyKGV2ZW50OiBhbnksIGNvbHVtbj86IFBvVGFibGVDb2x1bW4sIHJvdz86IGFueSkge1xuICAgIHRoaXMudG9vbHRpcFRleHQgPSB1bmRlZmluZWQ7XG5cbiAgICBpZiAodGhpcy5oaWRlVGV4dE92ZXJmbG93ICYmIGV2ZW50LnRhcmdldC5vZmZzZXRXaWR0aCA8IGV2ZW50LnRhcmdldC5zY3JvbGxXaWR0aCAmJiBldmVudC50YXJnZXQuaW5uZXJUZXh0LnRyaW0oKSkge1xuICAgICAgcmV0dXJuICh0aGlzLnRvb2x0aXBUZXh0ID0gZXZlbnQudGFyZ2V0LmlubmVyVGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbHVtbikge1xuICAgICAgdGhpcy5jaGVja2luZ0lmQ29sdW1uSGFzVG9vbHRpcChjb2x1bW4sIHJvdyk7XG4gICAgfVxuICB9XG5cbiAgdG9vbHRpcE1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy50b29sdGlwVGV4dCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHRvZ2dsZVBvcHVwKHJvdywgdGFyZ2V0UmVmKSB7XG4gICAgdGhpcy5wb3B1cFRhcmdldCA9IHRhcmdldFJlZjtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMucG9Qb3B1cENvbXBvbmVudC50b2dnbGUocm93KTtcbiAgfVxuXG4gIHRyYWNrQnkoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHZhbGlkYXRlVGFibGVBY3Rpb24ocm93OiBhbnksIHRhYmxlQWN0aW9uOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHRhYmxlQWN0aW9uLmRpc2FibGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdGFibGVBY3Rpb24uZGlzYWJsZWQocm93KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRhYmxlQWN0aW9uLmRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIG9uT3BlbkNvbHVtbk1hbmFnZXIoKSB7XG4gICAgdGhpcy5sYXN0VmlzaWJsZUNvbHVtbnNTZWxlY3RlZCA9IFsuLi50aGlzLmNvbHVtbnNdO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcXVlIHJlbW92ZSB1bSBpdGVtIGRhIHRhYmVsYS5cbiAgICpcbiAgICogQHBhcmFtIHsgbnVtYmVyIHwgeyBrZXk6IHZhbHVlIH0gfSBpdGVtIMONbmRpY2UgZGEgbGluaGEgb3UgbyBpdGVtIHF1ZSBzZXLDoSByZW1vdmlkby5cbiAgICogPiBBbyByZW1vdmVyIG8gaXRlbSwgYSBsaW5oYSBxdWUgbyByZXByZXNlbnRhIHNlcsOhIGV4Y2x1w61kYSBkYSB0YWJlbGEuXG4gICAqL1xuICByZW1vdmVJdGVtKGl0ZW06IG51bWJlciB8IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKGZpbHRlckl0ZW0gPT4gZmlsdGVySXRlbSAhPT0gaXRlbSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgaXRlbSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBpdGVtO1xuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHF1ZSBhdHVhbGl6YSB1bSBpdGVtIGRhIHRhYmVsYS5cbiAgICpcbiAgICogQHBhcmFtIHsgbnVtYmVyIHwgeyBrZXk6IHZhbHVlIH0gfSBpdGVtIMONbmRpY2UgZGEgbGluaGEgb3UgbyBpdGVtIHF1ZSBzZXLDoSBhdHVhbGl6YWRvLlxuICAgKiBAcGFyYW0geyB7IGtleTogdmFsdWUgfSB9IHVwZGF0ZWRJdGVtIEl0ZW0gcXVlIGZvaSBhdHVhbGl6YWRvLlxuICAgKiA+IEFvIGF0dWFsaXphciBvIGl0ZW0sIGEgaW5mb3JtYcOnw6NvIHNlcsOhIGFsdGVyYWRhIG5hIHRhYmVsYS5cbiAgICovXG4gIHVwZGF0ZUl0ZW0oaXRlbTogbnVtYmVyIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgdXBkYXRlZEl0ZW06IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdudW1iZXInKSB7XG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpdGVtLCAxLCB1cGRhdGVkSXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaW5kZXhJdGVtID0+IGluZGV4SXRlbSA9PT0gaXRlbSk7XG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSwgdXBkYXRlZEl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUZW1wbGF0ZShjb2x1bW46IFBvVGFibGVDb2x1bW4pOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICBjb25zdCB0ZW1wbGF0ZTogUG9UYWJsZUNvbHVtblRlbXBsYXRlRGlyZWN0aXZlID0gdGhpcy50YWJsZUNvbHVtblRlbXBsYXRlcy5maW5kKFxuICAgICAgdGFibGVDb2x1bW5UZW1wbGF0ZSA9PiB0YWJsZUNvbHVtblRlbXBsYXRlLnRhcmdldFByb3BlcnR5ID09PSBjb2x1bW4ucHJvcGVydHlcbiAgICApO1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE7Do28gZm9pIHBvc3PDrXZlbCBlbmNvbnRyYXIgbyB0ZW1wbGF0ZSBwYXJhIGEgY29sdW5hOiAke2NvbHVtbi5wcm9wZXJ0eX0sIHBvciBnZW50aWxlemEgaW5mb3JtZSBhIHByb3ByaWVkYWRlIFtwLXByb3BlcnR5XWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlLnRlbXBsYXRlUmVmO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZUhlaWdodFRhYmxlQ29udGFpbmVyKGhlaWdodCkge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyc2VGbG9hdChoZWlnaHQpO1xuICAgIHRoaXMuaGVpZ2h0VGFibGVDb250YWluZXIgPSB2YWx1ZSA/IHZhbHVlIC0gdGhpcy5nZXRIZWlnaHRUYWJsZUZvb3RlcigpIDogdW5kZWZpbmVkO1xuICAgIHRoaXMuc2V0VGFibGVPcGFjaXR5KDEpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZVdpZHRoSGVhZGVycygpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhlaWdodCkge1xuICAgICAgICB0aGlzLmhlYWRlcnNUYWJsZS5mb3JFYWNoKGhlYWRlciA9PiB7XG4gICAgICAgICAgY29uc3QgZGl2SGVhZGVyID0gaGVhZGVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBvLXRhYmxlLWhlYWRlci1maXhlZC1pbm5lcicpO1xuICAgICAgICAgIGlmIChkaXZIZWFkZXIpIHtcbiAgICAgICAgICAgIGRpdkhlYWRlci5zdHlsZS53aWR0aCA9IGAke2hlYWRlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRofXB4YDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrSW5maW5pdGVTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzSW5maW5pdGVTY3JvbGwoKSkge1xuICAgICAgaWYgKHRoaXMucG9UYWJsZVRib2R5Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ID4gdGhpcy5oZWlnaHQpIHtcbiAgICAgICAgdGhpcy5pbmNsdWRlSW5maW5pdGVTY3JvbGwoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5maW5pdGVTY3JvbGwgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQ2hhbmdlc0l0ZW1zKCkge1xuICAgIGNvbnN0IGNoYW5nZXNJdGVtcyA9IHRoaXMuZGlmZmVyLmRpZmYodGhpcy5pdGVtcyk7XG5cbiAgICBpZiAoY2hhbmdlc0l0ZW1zICYmIHRoaXMuc2VsZWN0QWxsKSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbCA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXNJdGVtcyAmJiAhdGhpcy5oYXNDb2x1bW5zICYmIHRoaXMuaGFzSXRlbXMpIHtcbiAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuZ2V0RGVmYXVsdENvbHVtbnModGhpcy5pdGVtc1swXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja2luZ0lmQ29sdW1uSGFzVG9vbHRpcChjb2x1bW4sIHJvdykge1xuICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2xpbmsnICYmIGNvbHVtbi50b29sdGlwICYmICF0aGlzLmNoZWNrRGlzYWJsZWQocm93LCBjb2x1bW4pKSB7XG4gICAgICByZXR1cm4gKHRoaXMudG9vbHRpcFRleHQgPSBjb2x1bW4udG9vbHRpcCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbHVtbi50eXBlID09PSAnbGFiZWwnKSB7XG4gICAgICBjb25zdCBjb2x1bW5MYWJlbCA9IHRoaXMuZ2V0Q29sdW1uTGFiZWwocm93LCBjb2x1bW4pO1xuICAgICAgcmV0dXJuICh0aGlzLnRvb2x0aXBUZXh0ID0gY29sdW1uTGFiZWw/LnRvb2x0aXApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVib3VuY2VSZXNpemUoKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFJlc2l6ZSk7XG4gICAgdGhpcy50aW1lb3V0UmVzaXplID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZVdpZHRoSGVhZGVycygpO1xuXG4gICAgICAvLyBzaG93IHRoZSB0YWJsZVxuICAgICAgdGhpcy5zZXRUYWJsZU9wYWNpdHkoMSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRDdXN0b21JY29uKHJvd0ljb25zLCBjb2x1bW46IFBvVGFibGVDb2x1bW4pIHtcbiAgICBjb25zdCBjdXN0b21JY29uID0gY29sdW1uLmljb25zLmZpbmQoaWNvbiA9PiByb3dJY29ucyA9PT0gaWNvbi52YWx1ZSk7XG4gICAgcmV0dXJuIGN1c3RvbUljb24gPyBbY3VzdG9tSWNvbl0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldEhlaWdodFRhYmxlRm9vdGVyKCkge1xuICAgIHJldHVybiB0aGlzLnRhYmxlRm9vdGVyRWxlbWVudCA/IHRoaXMudGFibGVGb290ZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IDogMDtcbiAgfVxuXG4gIHByaXZhdGUgaGFzSW5maW5pdGVTY3JvbGwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaW5maW5pdGVTY3JvbGwgJiZcbiAgICAgIHRoaXMuaGFzSXRlbXMgJiZcbiAgICAgICF0aGlzLnN1YnNjcmlwdGlvblNjcm9sbEV2ZW50ICYmXG4gICAgICB0aGlzLmhlaWdodCAmJlxuICAgICAgdGhpcy5wb1RhYmxlVGJvZHkubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmNsdWRlSW5maW5pdGVTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxFdmVudCQgPSB0aGlzLmRlZmF1bHRTZXJ2aWNlLnNjcm9sbExpc3RlbmVyKHRoaXMucG9UYWJsZVRib2R5Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uU2Nyb2xsRXZlbnQgPSB0aGlzLnNjcm9sbEV2ZW50JC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5zaG93TW9yZUluZmluaXRlU2Nyb2xsKGV2ZW50KSk7XG4gIH1cblxuICBwcml2YXRlIG1lcmdlQ3VzdG9tSWNvbnMocm93SWNvbnM6IEFycmF5PHN0cmluZz4sIGN1c3RvbUljb25zOiBBcnJheTxhbnk+KSB7XG4gICAgY29uc3QgbWVyZ2VkSWNvbnMgPSBbXTtcblxuICAgIHJvd0ljb25zLmZvckVhY2goY29sdW1uVmFsdWUgPT4ge1xuICAgICAgY29uc3QgZm91bmRDdXN0b21JY29uID0gY3VzdG9tSWNvbnMuZmluZChcbiAgICAgICAgY3VzdG9tSWNvbiA9PiBjb2x1bW5WYWx1ZSA9PT0gY3VzdG9tSWNvbi5pY29uIHx8IGNvbHVtblZhbHVlID09PSBjdXN0b21JY29uLnZhbHVlXG4gICAgICApO1xuICAgICAgZm91bmRDdXN0b21JY29uID8gbWVyZ2VkSWNvbnMucHVzaChmb3VuZEN1c3RvbUljb24pIDogbWVyZ2VkSWNvbnMucHVzaChjb2x1bW5WYWx1ZSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVyZ2VkSWNvbnM7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxpc3RlbmVycygpIHtcbiAgICBpZiAodGhpcy5yZXNpemVMaXN0ZW5lcikge1xuICAgICAgdGhpcy5yZXNpemVMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNsaWNrTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvblNjcm9sbEV2ZW50KSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblNjcm9sbEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRUYWJsZU9wYWNpdHkodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMudGFibGVPcGFjaXR5ID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHZlcmlmeUNoYW5nZUhlaWdodEluRm9vdGVyKCkge1xuICAgIHJldHVybiB0aGlzLmZvb3RlckhlaWdodCAhPT0gdGhpcy5nZXRIZWlnaHRUYWJsZUZvb3RlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSB2ZXJpZnlDYWxjdWxhdGVIZWlnaHRUYWJsZUNvbnRhaW5lcigpIHtcbiAgICBpZiAodGhpcy5oZWlnaHQgJiYgdGhpcy52ZXJpZnlDaGFuZ2VIZWlnaHRJbkZvb3RlcigpKSB7XG4gICAgICB0aGlzLmZvb3RlckhlaWdodCA9IHRoaXMuZ2V0SGVpZ2h0VGFibGVGb290ZXIoKTtcbiAgICAgIHRoaXMuY2FsY3VsYXRlSGVpZ2h0VGFibGVDb250YWluZXIodGhpcy5oZWlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlU2VsZWN0KGNvbXBhcmUsIHNlbGVjdFZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBjb21wYXJlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmIChpdGVtID09PSBjb21wYXJlKSB7XG4gICAgICAgICAgaXRlbS4kc2VsZWN0ZWQgPSBzZWxlY3RWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYgKGNvbXBhcmUoaXRlbSkpIHtcbiAgICAgICAgICBpdGVtLiRzZWxlY3RlZCA9IHNlbGVjdFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxwby1jb250YWluZXIgKm5nSWY9XCJjb250YWluZXI7IGVsc2UgdGFibGVDb250YWluZXJUZW1wbGF0ZVwiIHAtbm8tcGFkZGluZyBbcC1uby1zaGFkb3ddPVwiY29udGFpbmVyID09PSAnYm9yZGVyJ1wiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVDb250YWluZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9wby1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGVDb250YWluZXJUZW1wbGF0ZT5cbiAgPGRpdiBbY2xhc3MucG8tdGFibGUtY29udGFpbmVyLXJlbGF0aXZlXT1cImxvYWRpbmdcIj5cbiAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwicG8tdGFibGUtb3ZlcmxheVwiPlxuICAgICAgPHBvLWxvYWRpbmcgY2xhc3M9XCJwby10YWJsZS1vdmVybGF5LWNvbnRlbnRcIiBbcC10ZXh0XT1cImxpdGVyYWxzLmxvYWRpbmdEYXRhXCI+PC9wby1sb2FkaW5nPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInBvLXRhYmxlLW1haW4tY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICN0YWJsZVdyYXBwZXJcbiAgICAgICAgY2xhc3M9XCJwby10YWJsZS13cmFwcGVyXCJcbiAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1maXhlZC1jb2x1bW5zLXBpeGVsc109XCJhbGxDb2x1bW5zV2lkdGhQaXhlbHNcIlxuICAgICAgICBbc3R5bGUub3BhY2l0eV09XCJ0YWJsZU9wYWNpdHlcIlxuICAgICAgPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVpZ2h0XCIgY2xhc3M9XCJwby10YWJsZS1jb250YWluZXJcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFRhYmxlQ29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvLXRhYmxlLWhlYWRlci1maXhlZCBwby10YWJsZS1oZWFkZXJcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2ICNwb1RhYmxlVGJvZHkgY2xhc3M9XCJwby10YWJsZS1jb250YWluZXItZml4ZWQtaW5uZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaGVpZ2h0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInBvLXRhYmxlLWZvb3RlclwiICpuZ0lmPVwiaGFzRm9vdGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHN1YnRpdGxlQ29sdW1uczsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgICAgPHBvLXRhYmxlLXN1YnRpdGxlLWZvb3RlciBbcC1saXRlcmFsc109XCJsaXRlcmFsc1wiIFtwLXN1YnRpdGxlc109XCJjb2x1bW4uc3VidGl0bGVzXCI+IDwvcG8tdGFibGUtc3VidGl0bGUtZm9vdGVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxkaXZcbiAgKm5nSWY9XCIhaW5maW5pdGVTY3JvbGxcIlxuICBjbGFzcz1cInBvLXJvdyBwby10YWJsZS1mb290ZXItc2hvdy1tb3JlXCJcbiAgW2NsYXNzLnBvLWludmlzaWJsZV09XCJzaG93TW9yZS5vYnNlcnZlcnMubGVuZ3RoID09PSAwICYmICFoYXNTZXJ2aWNlXCJcbiAgI3RhYmxlRm9vdGVyXG4+XG4gIDxwby1idXR0b25cbiAgICBjbGFzcz1cInBvLW9mZnNldC14bC00IHBvLW9mZnNldC1sZy00IHBvLW9mZnNldC1tZC0zIHBvLWxnLTQgcG8tbWQtNlwiXG4gICAgW3AtZGlzYWJsZWRdPVwic2hvd01vcmVEaXNhYmxlZFwiXG4gICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMubG9hZE1vcmVEYXRhXCJcbiAgICBbcC1sb2FkaW5nXT1cImxvYWRpbmdTaG93TW9yZVwiXG4gICAgKHAtY2xpY2spPVwib25TaG93TW9yZSgpXCJcbiAgPlxuICA8L3BvLWJ1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RhYmxlVGVtcGxhdGU+XG4gIDx0YWJsZSBjbGFzcz1cInBvLXRhYmxlXCIgW2NsYXNzLnBvLXRhYmxlLXN0cmlwZWRdPVwic3RyaXBlZFwiIFtjbGFzcy5wby10YWJsZS1sYXlvdXQtZml4ZWRdPVwiaGlkZVRleHRPdmVyZmxvd1wiPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0ciBbY2xhc3MucG8tdGFibGUtaGVhZGVyXT1cIiFoZWlnaHRcIj5cbiAgICAgICAgPHRoICpuZ0lmPVwiaGFzU2VsZWN0YWJsZUNvbHVtblwiIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLXNlbGVjdGFibGVcIj5cbiAgICAgICAgICA8ZGl2IFtjbGFzcy5wby10YWJsZS1oZWFkZXItZml4ZWQtaW5uZXJdPVwiaGVpZ2h0XCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgKm5nSWY9XCIhaGlkZVNlbGVjdEFsbFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbY2xhc3MucG8tdGFibGUtY2hlY2tib3gtY2hlY2tlZF09XCJzZWxlY3RBbGxcIlxuICAgICAgICAgICAgICBbY2xhc3MucG8tdGFibGUtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3RBbGwgPT09IG51bGxcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cIiFoaWRlU2VsZWN0QWxsXCIgY2xhc3M9XCJwby10YWJsZS1jaGVja2JveC1sYWJlbCBwby1jbGlja2FibGVcIiAoY2xpY2spPVwic2VsZWN0QWxsUm93cygpXCI+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RoPlxuXG4gICAgICAgIDx0aFxuICAgICAgICAgICpuZ0lmPVwiKGhhc01hc3RlckRldGFpbENvbHVtbiB8fCBoYXNSb3dUZW1wbGF0ZSkgJiYgIWhhc1Jvd1RlbXBsYXRlV2l0aEFycm93RGlyZWN0aW9uUmlnaHRcIlxuICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtaGVhZGVyLWNvbHVtbiBwby10YWJsZS1oZWFkZXItbWFzdGVyLWRldGFpbFwiXG4gICAgICAgID48L3RoPlxuXG4gICAgICAgIDwhLS0gQ29sdW5hIGNyaWFkYSBwYXJhIGNhc28gYXMgYcOnw7VlcyBmaXF1ZW0gbm8gbGFkbyBlc3F1ZXJkbyAtLT5cbiAgICAgICAgPHRoXG4gICAgICAgICAgKm5nSWY9XCIhYWN0aW9uUmlnaHQgJiYgKHZpc2libGVBY3Rpb25zLmxlbmd0aCA+IDEgfHwgaXNTaW5nbGVBY3Rpb24pXCJcbiAgICAgICAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLW1hc3Rlci1kZXRhaWxdPVwiIWlzU2luZ2xlQWN0aW9uXCJcbiAgICAgICAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLXNpbmdsZS1hY3Rpb25dPVwiaXNTaW5nbGVBY3Rpb25cIlxuICAgICAgICA+PC90aD5cblxuICAgICAgICA8dGggKm5nSWY9XCIhaGFzTWFpbkNvbHVtbnNcIiAjbm9Db2x1bW5zSGVhZGVyIGNsYXNzPVwicG8tdGFibGUtaGVhZGVyLWNvbHVtbiBwby10ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWlnaHQ7IHRoZW4gbm9Db2x1bW5zV2l0aEhlaWdodDsgZWxzZSBub0NvbHVtbnNXaXRob3V0SGVpZ2h0XCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3RoPlxuXG4gICAgICAgIDx0aFxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbWFpbkNvbHVtbnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlcIlxuICAgICAgICAgICNoZWFkZXJzVGFibGVcbiAgICAgICAgICBjbGFzcz1cInBvLXRhYmxlLWhlYWRlci1lbGxpcHNpc1wiXG4gICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbHVtbi53aWR0aFwiXG4gICAgICAgICAgW3N0eWxlLm1heC13aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICAgICAgICAgIFtzdHlsZS5taW4td2lkdGhdPVwiY29sdW1uLndpZHRoXCJcbiAgICAgICAgICBbY2xhc3MucG8tY2xpY2thYmxlXT1cIihzb3J0ICYmIGNvbHVtbi5zb3J0YWJsZSAhPT0gZmFsc2UpIHx8IGhhc1NlcnZpY2VcIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItc3VidGl0bGVdPVwiY29sdW1uLnR5cGUgPT09ICdzdWJ0aXRsZSdcIlxuICAgICAgICAgIChjbGljayk9XCJzb3J0Q29sdW1uKGNvbHVtbilcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1oZWFkZXItZmxleFwiXG4gICAgICAgICAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLWZpeGVkLWlubmVyXT1cImhlaWdodFwiXG4gICAgICAgICAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLWZsZXgtcmlnaHRdPVwiY29sdW1uLnR5cGUgPT09ICdjdXJyZW5jeScgfHwgY29sdW1uLnR5cGUgPT09ICdudW1iZXInXCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItZmxleC1jZW50ZXJdPVwiY29sdW1uLnR5cGUgPT09ICdzdWJ0aXRsZSdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50SGVhZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb2x1bW4gfVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90aD5cblxuICAgICAgICA8dGhcbiAgICAgICAgICAqbmdJZj1cImhhc1Jvd1RlbXBsYXRlV2l0aEFycm93RGlyZWN0aW9uUmlnaHQgJiYgKGhhc1Zpc2libGVBY3Rpb25zIHx8IGhpZGVDb2x1bW5zTWFuYWdlcilcIlxuICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtaGVhZGVyLWNvbHVtbiBwby10YWJsZS1oZWFkZXItbWFzdGVyLWRldGFpbFwiXG4gICAgICAgID48L3RoPlxuXG4gICAgICAgIDx0aFxuICAgICAgICAgICpuZ0lmPVwiaGFzVmlzaWJsZUFjdGlvbnMgJiYgaGlkZUNvbHVtbnNNYW5hZ2VyICYmIGFjdGlvblJpZ2h0XCJcbiAgICAgICAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLXNpbmdsZS1hY3Rpb25dPVwiaXNTaW5nbGVBY3Rpb25cIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItYWN0aW9uc109XCIhaXNTaW5nbGVBY3Rpb25cIlxuICAgICAgICA+PC90aD5cblxuICAgICAgICA8dGhcbiAgICAgICAgICAjY29sdW1uTWFuYWdlclxuICAgICAgICAgICpuZ0lmPVwiaGFzVmFsaWRDb2x1bW5zICYmICFoaWRlQ29sdW1uc01hbmFnZXJcIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItY29sdW1uLW1hbmFnZXJdPVwiIWlzU2luZ2xlQWN0aW9uIHx8ICFhY3Rpb25SaWdodFwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1jb2x1bW4tbWFuYWdlci1ib3JkZXJdPVwiIWhlaWdodCAmJiBjb250YWluZXJcIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItc2luZ2xlLWFjdGlvbl09XCJpc1NpbmdsZUFjdGlvbiAmJiBhY3Rpb25SaWdodFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLWNvbHVtbi1tYW5hZ2VyLWJvcmRlcl09XCJoZWlnaHQgJiYgY29udGFpbmVyXCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItY29sdW1uLW1hbmFnZXItZml4ZWQtaW5uZXJdPVwiaGVpZ2h0XCJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJoZWlnaHQgJiYgdmlzaWJsZUFjdGlvbnMubGVuZ3RoID8gY29sdW1uTWFuYWdlci5vZmZzZXRXaWR0aCA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAjY29sdW1uTWFuYWdlclRhcmdldFxuICAgICAgICAgICAgICBjbGFzcz1cInBvLXRhYmxlLWhlYWRlci1jb2x1bW4tbWFuYWdlci1idXR0b24gcG8taWNvbiBwby1pY29uLXNldHRpbmdzIHBvLWNsaWNrYWJsZVwiXG4gICAgICAgICAgICAgIHAtdG9vbHRpcC1wb3NpdGlvbj1cImxlZnRcIlxuICAgICAgICAgICAgICBbcC10b29sdGlwXT1cImxpdGVyYWxzLmNvbHVtbnNNYW5hZ2VyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT3BlbkNvbHVtbk1hbmFnZXIoKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG5cbiAgICA8dGJvZHkgY2xhc3M9XCJwby10YWJsZS1ncm91cC1yb3dcIiAqbmdJZj1cIiFoYXNJdGVtcyB8fCAhaGFzTWFpbkNvbHVtbnNcIj5cbiAgICAgIDx0ciBjbGFzcz1cInBvLXRhYmxlLXJvd1wiPlxuICAgICAgICA8dGQgW2NvbFNwYW5dPVwiY29sdW1uQ291bnRcIiBjbGFzcz1cInBvLXRhYmxlLW5vLWRhdGEgcG8tdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICA8c3Bhbj4ge3sgbGl0ZXJhbHMubm9EYXRhIH19IDwvc3Bhbj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNNYWluQ29sdW1uc1wiPlxuICAgICAgPHRib2R5IGNsYXNzPVwicG8tdGFibGUtZ3JvdXAtcm93XCIgKm5nRm9yPVwibGV0IHJvdyBvZiBpdGVtczsgbGV0IHJvd0luZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwicG8tdGFibGUtcm93XCIgW2NsYXNzLnBvLXRhYmxlLXJvdy1hY3RpdmVdPVwicm93LiRzZWxlY3RlZCB8fCAocm93LiRzZWxlY3RlZCA9PT0gbnVsbCAmJiBzZWxlY3RhYmxlKVwiPlxuICAgICAgICAgIDx0ZCAqbmdJZj1cInNlbGVjdGFibGVcIiBjbGFzcz1cInBvLXRhYmxlLWNvbHVtbiBwby10YWJsZS1jb2x1bW4tc2VsZWN0YWJsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNpbmdsZVNlbGVjdCA/IGlucHV0UmFkaW8gOiBpbnB1dENoZWNrYm94OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogcm93IH1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICA8IS0tIFZhbGlkYSBzZSBhIG9yaWdlbSBkbyBkZXRhaWwgw6kgcGVsbyBpbnB1dCBkbyBwby10YWJsZSAtLT5cbiAgICAgICAgICA8dGRcbiAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uTWFzdGVyRGV0YWlsICYmICFoaWRlRGV0YWlsICYmICFoYXNSb3dUZW1wbGF0ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInBvLXRhYmxlLWNvbHVtbi1kZXRhaWwtdG9nZ2xlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEZXRhaWwocm93KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBvVGFibGVDb2x1bW5EZXRhaWxcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyByb3c6IHJvdywgcm93SW5kZXg6IHJvd0luZGV4IH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgPCEtLSBDb2x1bmEgY29tIGFzIGHDp8O1ZXMgbmEgZXNxdWVyZGEgKHBhZHLDo28pLS0+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAqbmdJZj1cIiFhY3Rpb25SaWdodCAmJiAodmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gMSB8fCBpc1NpbmdsZUFjdGlvbilcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiQWN0aW9uc0NvbHVtblRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHJvdzogcm93LCByb3dJbmRleDogcm93SW5kZXggfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICA8IS0tIFZhbGlkYSBzZSBhIG9yaWdlbSBkbyBkZXRhaWwgw6kgcGVsYSBkaXJldGl2YSAtLT5cbiAgICAgICAgICA8dGRcbiAgICAgICAgICAgICpuZ0lmPVwiaGFzUm93VGVtcGxhdGUgJiYgIWhhc1Jvd1RlbXBsYXRlV2l0aEFycm93RGlyZWN0aW9uUmlnaHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tZGV0YWlsLXRvZ2dsZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRGV0YWlsKHJvdylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb1RhYmxlQ29sdW1uRGV0YWlsXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcm93OiByb3csIHJvd0luZGV4OiByb3dJbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cblxuICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBtYWluQ29sdW1uczsgbGV0IGNvbHVtbkluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlcIlxuICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbHVtbi53aWR0aFwiXG4gICAgICAgICAgICBbc3R5bGUubWF4LXdpZHRoXT1cImNvbHVtbi53aWR0aFwiXG4gICAgICAgICAgICBbc3R5bGUubWluLXdpZHRoXT1cImNvbHVtbi53aWR0aFwiXG4gICAgICAgICAgICBbY2xhc3MucG8tdGFibGUtY29sdW1uXT1cImNvbHVtbi50eXBlICE9PSAnaWNvbidcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWNvbHVtbi1yaWdodF09XCJjb2x1bW4udHlwZSA9PT0gJ2N1cnJlbmN5JyB8fCBjb2x1bW4udHlwZSA9PT0gJ251bWJlcidcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWNvbHVtbi1jZW50ZXJdPVwiY29sdW1uLnR5cGUgPT09ICdzdWJ0aXRsZSdcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWNvbHVtbi1pY29uc109XCJjb2x1bW4udHlwZSA9PT0gJ2ljb24nXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldENsYXNzQ29sb3Iocm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RhYmxlID8gc2VsZWN0Um93KHJvdykgOiAnamF2YXNjcmlwdDo7J1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInBvLXRhYmxlLWNvbHVtbi1jZWxsIG5vdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWJvZHktZWxsaXBzaXNdPVwiaGlkZVRleHRPdmVyZmxvd1wiXG4gICAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJjb2x1bW4udHlwZVwiXG4gICAgICAgICAgICAgIFtwLXRvb2x0aXBdPVwidG9vbHRpcFRleHRcIlxuICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJ0b29sdGlwTW91c2VFbnRlcigkZXZlbnQsIGNvbHVtbiwgcm93KVwiXG4gICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cInRvb2x0aXBNb3VzZUxlYXZlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2NvbHVtblRlbXBsYXRlJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJnZXRUZW1wbGF0ZShjb2x1bW4pOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pIH1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY2VsbFRlbXBsYXRlJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUNlbGxUZW1wbGF0ZT8udGVtcGxhdGVSZWY7IGNvbnRleHQ6IHsgcm93OiByb3csIGNvbHVtbjogY29sdW1uIH1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInYm9vbGVhbidcIj5cbiAgICAgICAgICAgICAgICB7eyBnZXRCb29sZWFuTGFiZWwoZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pLCBjb2x1bW4pIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2N1cnJlbmN5J1wiPlxuICAgICAgICAgICAgICAgIHt7IGdldENlbGxEYXRhKHJvdywgY29sdW1uKSB8IGN1cnJlbmN5OiBjb2x1bW4uZm9ybWF0OidzeW1ib2wnOicxLjItMicgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cbiAgICAgICAgICAgICAgICB7eyBnZXRDZWxsRGF0YShyb3csIGNvbHVtbikgfCBkYXRlOiBjb2x1bW4uZm9ybWF0IHx8ICdkZC9NTS95eXl5JyB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIid0aW1lJ1wiPlxuICAgICAgICAgICAgICAgIHt7IGdldENlbGxEYXRhKHJvdywgY29sdW1uKSB8IHBvX3RpbWU6IGNvbHVtbi5mb3JtYXQgfHwgJ0hIOm1tOnNzLmZmZmZmZicgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGF0ZVRpbWUnXCI+XG4gICAgICAgICAgICAgICAge3sgZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pIHwgZGF0ZTogY29sdW1uLmZvcm1hdCB8fCAnZGQvTU0veXl5eSBISDptbTpzcycgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiPlxuICAgICAgICAgICAgICAgIHt7IGZvcm1hdE51bWJlcihnZXRDZWxsRGF0YShyb3csIGNvbHVtbiksIGNvbHVtbi5mb3JtYXQpIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8cG8tdGFibGUtY29sdW1uLWxpbmtcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2xpbmsnXCJcbiAgICAgICAgICAgICAgICBbcC1hY3Rpb25dPVwiY29sdW1uLmFjdGlvblwiXG4gICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwiY2hlY2tEaXNhYmxlZChyb3csIGNvbHVtbilcIlxuICAgICAgICAgICAgICAgIFtwLWxpbmtdPVwicm93W2NvbHVtbi5saW5rXVwiXG4gICAgICAgICAgICAgICAgW3Atcm93XT1cInJvd1wiXG4gICAgICAgICAgICAgICAgW3AtdmFsdWVdPVwiZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja0xpbmsoJGV2ZW50LCByb3csIGNvbHVtbilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvcG8tdGFibGUtY29sdW1uLWxpbms+XG5cbiAgICAgICAgICAgICAgPHBvLXRhYmxlLWNvbHVtbi1pY29uXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidpY29uJ1wiXG4gICAgICAgICAgICAgICAgW3AtY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgW3AtaWNvbnNdPVwiZ2V0Q29sdW1uSWNvbnMocm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICBbcC1yb3ddPVwicm93XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3BvLXRhYmxlLWNvbHVtbi1pY29uPlxuXG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInc3VidGl0bGUnXCI+XG4gICAgICAgICAgICAgICAgPHBvLXRhYmxlLXN1YnRpdGxlLWNpcmNsZSBbcC1zdWJ0aXRsZV09XCJnZXRTdWJ0aXRsZUNvbHVtbihyb3csIGNvbHVtbilcIj48L3BvLXRhYmxlLXN1YnRpdGxlLWNpcmNsZT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2xhYmVsJ1wiPlxuICAgICAgICAgICAgICAgIDxwby10YWJsZS1jb2x1bW4tbGFiZWwgW3AtdmFsdWVdPVwiZ2V0Q29sdW1uTGFiZWwocm93LCBjb2x1bW4pXCI+IDwvcG8tdGFibGUtY29sdW1uLWxhYmVsPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+e3sgZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cblxuICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgKm5nSWY9XCJoYXNSb3dUZW1wbGF0ZVdpdGhBcnJvd0RpcmVjdGlvblJpZ2h0XCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLWRldGFpbC10b2dnbGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURldGFpbChyb3cpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9UYWJsZUNvbHVtbkRldGFpbFwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHJvdzogcm93LCByb3dJbmRleDogcm93SW5kZXggfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICA8IS0tIENvbHVuYSBkZSBhw6dvZXMgbmEgZGlyZWl0YSAtLT5cbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uUmlnaHRcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiQWN0aW9uc0NvbHVtblRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHJvdzogcm93LCByb3dJbmRleDogcm93SW5kZXggfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICA8IS0tIENvbHVuYSBwYXJhIG7Do28gZmljYXIgZW0gYnJhbmNvIG5hcyBsaW5oYXMgZGUgZ2VyZW5jaWFtZW50byAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWFjdGlvblJpZ2h0ICYmICh2aXNpYmxlQWN0aW9ucy5sZW5ndGggPiAxIHx8IGlzU2luZ2xlQWN0aW9uKSAmJiAhaGlkZUNvbHVtbnNNYW5hZ2VyXCI+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJwby10YWJsZS1jb2x1bW5cIj48L3RkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPCEtLSBDb2x1bW4gTWFuYWdlciAtLT5cbiAgICAgICAgICA8dGRcbiAgICAgICAgICAgICpuZ0lmPVwiIWhhc1Zpc2libGVBY3Rpb25zICYmICFoaWRlQ29sdW1uc01hbmFnZXIgJiYgIWhhc1Jvd1RlbXBsYXRlV2l0aEFycm93RGlyZWN0aW9uUmlnaHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jb2x1bW5cIlxuICAgICAgICAgID48L3RkPlxuICAgICAgICA8L3RyPlxuXG4gICAgICAgIDx0ciAqbmdJZj1cImhhc01haW5Db2x1bW5zICYmIGhhc1Jvd1RlbXBsYXRlICYmIHJvdy4kc2hvd0RldGFpbCAmJiBpc1Nob3dSb3dUZW1wbGF0ZShyb3csIHJvd0luZGV4KVwiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInBvLXRhYmxlLXJvdy10ZW1wbGF0ZS1jb250YWluZXJcIiBbY29sU3Bhbl09XCJjb2x1bW5Db3VudEZvck1hc3RlckRldGFpbFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlUm93VGVtcGxhdGUudGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgcm93SW5kZXg6IHJvd0luZGV4IH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuXG4gICAgICAgIDx0ciAqbmdJZj1cImhhc01haW5Db2x1bW5zICYmIGlzU2hvd01hc3RlckRldGFpbChyb3cpXCI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLWRldGFpbFwiIFtjb2xTcGFuXT1cImNvbHVtbkNvdW50Rm9yTWFzdGVyRGV0YWlsXCI+XG4gICAgICAgICAgICA8cG8tdGFibGUtZGV0YWlsXG4gICAgICAgICAgICAgIFtwLXNlbGVjdGFibGVdPVwic2VsZWN0YWJsZSAmJiAhZGV0YWlsSGlkZVNlbGVjdFwiXG4gICAgICAgICAgICAgIFtwLWRldGFpbF09XCJjb2x1bW5NYXN0ZXJEZXRhaWwuZGV0YWlsXCJcbiAgICAgICAgICAgICAgW3AtaXRlbXNdPVwicm93W25hbWVDb2x1bW5EZXRhaWxdXCJcbiAgICAgICAgICAgICAgKHAtc2VsZWN0LXJvdyk9XCJzZWxlY3REZXRhaWxSb3coJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3BvLXRhYmxlLWRldGFpbD5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90YWJsZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxwby1wb3B1cCAjcG9wdXAgW3AtYWN0aW9uc109XCJhY3Rpb25zXCIgW3AtdGFyZ2V0XT1cInBvcHVwVGFyZ2V0XCI+IDwvcG8tcG9wdXA+XG5cbjxuZy10ZW1wbGF0ZSAjcG9UYWJsZUNvbHVtbkRldGFpbCBsZXQtcm93PVwicm93XCIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cIihjb250YWluc01hc3RlckRldGFpbChyb3cpICYmICFoYXNSb3dUZW1wbGF0ZSkgfHwgKGlzU2hvd1Jvd1RlbXBsYXRlKHJvdywgcm93SW5kZXgpICYmIGhhc1Jvd1RlbXBsYXRlKVwiXG4gICAgY2xhc3M9XCJwby1pY29uIHBvLWNsaWNrYWJsZVwiXG4gICAgW2NsYXNzLnBvLWljb24tYXJyb3ctdXBdPVwicm93LiRzaG93RGV0YWlsXCJcbiAgICBbY2xhc3MucG8taWNvbi1hcnJvdy1kb3duXT1cIiFyb3cuJHNob3dEZXRhaWxcIlxuICA+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXRSYWRpbyBsZXQtcm93PlxuICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgY2xhc3M9XCJwby10YWJsZS1yYWRpb1wiIFtjbGFzcy5wby10YWJsZS1yYWRpby1jaGVja2VkXT1cInJvdy4kc2VsZWN0ZWRcIiAvPlxuICA8bGFiZWwgY2xhc3M9XCJwby10YWJsZS1yYWRpby1sYWJlbCBwby1jbGlja2FibGVcIiAoY2xpY2spPVwic2VsZWN0YWJsZSA/IHNlbGVjdFJvdyhyb3cpIDogJ2phdmFzY3JpcHQ6OydcIj48L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpbnB1dENoZWNrYm94IGxldC1yb3c+XG4gIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cInBvLXRhYmxlLWNoZWNrYm94XCIgW2NsYXNzLnBvLXRhYmxlLWNoZWNrYm94LWNoZWNrZWRdPVwicm93LiRzZWxlY3RlZFwiIC8+XG4gIDxsYWJlbCBjbGFzcz1cInBvLXRhYmxlLWNoZWNrYm94LWxhYmVsIHBvLWNsaWNrYWJsZVwiIChjbGljayk9XCJzZWxlY3RhYmxlID8gc2VsZWN0Um93KHJvdykgOiAnamF2YXNjcmlwdDo7J1wiPjwvbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnRIZWFkZXJUZW1wbGF0ZSBsZXQtY29sdW1uPlxuICA8c3BhblxuICAgICNjb2x1bW5IZWFkZXJcbiAgICBjbGFzcz1cInBvLXRhYmxlLWhlYWRlci1lbGxpcHNpc1wiXG4gICAgW3AtdG9vbHRpcF09XCJ0b29sdGlwVGV4dFwiXG4gICAgKG1vdXNlZW50ZXIpPVwidG9vbHRpcE1vdXNlRW50ZXIoJGV2ZW50KVwiXG4gICAgKG1vdXNlbGVhdmUpPVwidG9vbHRpcE1vdXNlTGVhdmUoKVwiXG4gID5cbiAgICB7eyBjb2x1bW4ubGFiZWwgfHwgKGNvbHVtbi5wcm9wZXJ0eSB8IHRpdGxlY2FzZSkgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ0lmPVwic29ydCAmJiBjb2x1bW4uc29ydGFibGUgIT09IGZhbHNlXCJcbiAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLWljb24tdW5zZWxlY3RlZF09XCJzb3J0ZWRDb2x1bW4/LnByb3BlcnR5ICE9PSBjb2x1bW5cIlxuICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItaWNvbi1kZXNjZW5kaW5nXT1cInNvcnRlZENvbHVtbj8ucHJvcGVydHkgPT09IGNvbHVtbiAmJiBzb3J0ZWRDb2x1bW4uYXNjZW5kaW5nXCJcbiAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLWljb24tYXNjZW5kaW5nXT1cInNvcnRlZENvbHVtbj8ucHJvcGVydHkgPT09IGNvbHVtbiAmJiAhc29ydGVkQ29sdW1uLmFzY2VuZGluZ1wiXG4gID5cbiAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNub0NvbHVtbnNXaXRoSGVpZ2h0PlxuICA8ZGl2IGNsYXNzPVwicG8tdGFibGUtaGVhZGVyLWZpeGVkLWlubmVyXCIgW3N0eWxlLndpZHRoLnB4XT1cIm5vQ29sdW1uc0hlYWRlcj8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFwiPlxuICAgIHt7IGhhc1ZhbGlkQ29sdW1ucyA/IGxpdGVyYWxzLm5vVmlzaWJsZUNvbHVtbiA6IGxpdGVyYWxzLm5vQ29sdW1ucyB9fVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbm9Db2x1bW5zV2l0aG91dEhlaWdodD5cbiAge3sgaGFzVmFsaWRDb2x1bW5zID8gbGl0ZXJhbHMubm9WaXNpYmxlQ29sdW1uIDogbGl0ZXJhbHMubm9Db2x1bW5zIH19XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIFRlbXBsYXRlIGRlIGHDp8O1ZXMgLS0+XG48bmctdGVtcGxhdGUgI0FjdGlvbnNDb2x1bW5UZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgPHRkICpuZ0lmPVwiaXNTaW5nbGVBY3Rpb25cIiBjbGFzcz1cInBvLXRhYmxlLWNvbHVtbiBwby10YWJsZS1jb2x1bW4tc2luZ2xlLWFjdGlvblwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiZmlyc3RBY3Rpb24udmlzaWJsZSAhPT0gZmFsc2VcIlxuICAgICAgY2xhc3M9XCJwby10YWJsZS1zaW5nbGUtYWN0aW9uIHBvLWNsaWNrYWJsZVwiXG4gICAgICBbY2xhc3MucG8tdGFibGUtYWN0aW9uLWRpc2FibGVkXT1cImZpcnN0QWN0aW9uLmRpc2FibGVkID8gdmFsaWRhdGVUYWJsZUFjdGlvbihyb3csIGZpcnN0QWN0aW9uKSA6IGZhbHNlXCJcbiAgICAgIChjbGljayk9XCJleGVjdXRlVGFibGVBY3Rpb24ocm93LCBmaXJzdEFjdGlvbilcIlxuICAgID5cbiAgICAgIDxwby1pY29uICpuZ0lmPVwiZmlyc3RBY3Rpb24uaWNvblwiIGNsYXNzPVwicG8tdGFibGUtc2luZ2xlLWFjdGlvbi1jb250ZW50XCIgW3AtaWNvbl09XCJmaXJzdEFjdGlvbi5pY29uXCI+PC9wby1pY29uPlxuICAgICAge3sgZmlyc3RBY3Rpb24ubGFiZWwgfX1cbiAgICA8L2Rpdj5cbiAgPC90ZD5cblxuICA8dGQgKm5nSWY9XCJ2aXNpYmxlQWN0aW9ucy5sZW5ndGggPiAxXCIgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tYWN0aW9uc1wiPlxuICAgIDxzcGFuICNwb3B1cFRhcmdldCBjbGFzcz1cInBvLWljb24gcG8taWNvbi1tb3JlIHBvLWNsaWNrYWJsZVwiIChjbGljayk9XCJ0b2dnbGVQb3B1cChyb3csIHBvcHVwVGFyZ2V0KVwiPjwvc3Bhbj5cbiAgPC90ZD5cbjwvbmctdGVtcGxhdGU+XG5cbjxwby10YWJsZS1jb2x1bW4tbWFuYWdlclxuICAqbmdJZj1cIiFoaWRlQ29sdW1uc01hbmFnZXJcIlxuICBbcC1jb2x1bW5zXT1cImNvbHVtbnNcIlxuICBbcC1tYXgtY29sdW1uc109XCJtYXhDb2x1bW5zXCJcbiAgW3AtdGFyZ2V0XT1cImNvbHVtbk1hbmFnZXJUYXJnZXRcIlxuICBbcC1sYXN0LXZpc2libGUtY29sdW1ucy1zZWxlY3RlZF09XCJsYXN0VmlzaWJsZUNvbHVtbnNTZWxlY3RlZFwiXG4gIChwLXZpc2libGUtY29sdW1ucy1jaGFuZ2UpPVwib25WaXNpYmxlQ29sdW1uc0NoYW5nZSgkZXZlbnQpXCJcbiAgKHAtY2hhbmdlLXZpc2libGUtY29sdW1ucyk9XCJvbkNoYW5nZVZpc2libGVDb2x1bW5zKCRldmVudClcIlxuPlxuPC9wby10YWJsZS1jb2x1bW4tbWFuYWdlcj5cbiJdfQ==
|
|
1959
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXRhYmxlL3BvLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFFWixVQUFVLEVBS1YsU0FBUyxFQUNULFlBQVksRUFFWixlQUFlLEVBRWhCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUt2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQW1CLE1BQU0sMkJBQTJCLENBQUM7QUFHbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFFdEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDL0csT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDakNwRyx3QkFBd0U7OztJQUQxRSx3Q0FBaUg7SUFDL0csbUdBQXdFO0lBQzFFLGlCQUFlOzs7O0lBRjJELDJEQUFzQztJQUMvRixlQUF3QztJQUF4QyxzQ0FBd0M7OztJQUtyRCwrQkFBOEM7SUFDNUMsaUNBQTBGO0lBQzVGLGlCQUFNOzs7SUFEeUMsZUFBK0I7SUFBL0IscURBQStCOzs7SUFZdEUsd0JBQXFFOzs7SUFHckUsd0JBQW1FOzs7O0lBTHZFLCtC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O2tCQUFwRSxlQUFlO21CQUFDLDhCQUE4QjtZQUVLLGVBQWU7a0JBQWxFLFNBQVM7bUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzlCLGdCQUFnQjtrQkFBbkMsU0FBUzttQkFBQyxPQUFPO1lBQzZDLGtCQUFrQjtrQkFBaEYsU0FBUzttQkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDRyxtQkFBbUI7a0JBQWxGLFNBQVM7bUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ0UsWUFBWTtrQkFBM0UsU0FBUzttQkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDRSxZQUFZO2tCQUEzRSxTQUFTO21CQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUVKLGtCQUFrQjtrQkFBM0UsWUFBWTttQkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDRixjQUFjO2tCQUFuRSxZQUFZO21CQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUN0QixZQUFZO2tCQUF6QyxZQUFZO21CQUFDLGNBQWM7WUFvQlUsbUJBQW1CO2tCQUF4RCxTQUFTO21CQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmliZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBJdGVyYWJsZURpZmZlcnMsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgY29udmVydFRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9EYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWRhdGUvcG8tZGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQb1BvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vcG8tcG9wdXAvcG8tcG9wdXAuY29tcG9uZW50JztcblxuaW1wb3J0IHsgUG9UYWJsZUFjdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWJsZS1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGFibGVCYXNlQ29tcG9uZW50LCBRdWVyeVBhcmFtc1R5cGUgfSBmcm9tICcuL3BvLXRhYmxlLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvVGFibGVDb2x1bW4gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtY29sdW1uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uTGFiZWwgfSBmcm9tICcuL3BvLXRhYmxlLWNvbHVtbi1sYWJlbC9wby10YWJsZS1jb2x1bW4tbGFiZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGFibGVSb3dUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tdGFibGUtcm93LXRlbXBsYXRlL3BvLXRhYmxlLXJvdy10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9UYWJsZVN1YnRpdGxlQ29sdW1uIH0gZnJvbSAnLi9wby10YWJsZS1zdWJ0aXRsZS1mb290ZXIvcG8tdGFibGUtc3VidGl0bGUtY29sdW1uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9wby10YWJsZS1jZWxsLXRlbXBsYXRlL3BvLXRhYmxlLWNlbGwtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5UZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tdGFibGUtY29sdW1uLXRlbXBsYXRlL3BvLXRhYmxlLWNvbHVtbi10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9UYWJsZVJvd1RlbXBsYXRlQXJyb3dEaXJlY3Rpb24gfSBmcm9tICcuL2VudW1zL3BvLXRhYmxlLXJvdy10ZW1wbGF0ZS1hcnJvdy1kaXJlY3Rpb24uZW51bSc7XG5pbXBvcnQgeyBQb1RhYmxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tdGFibGUuc2VydmljZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvVGFibGVCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdGFibGUtYmFzaWNcIiB0aXRsZT1cIlBPIFRhYmxlIEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS1iYXNpYy9zYW1wbGUtcG8tdGFibGUtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWJhc2ljL3NhbXBsZS1wby10YWJsZS1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXRhYmxlLWxhYnNcIiB0aXRsZT1cIlBPIFRhYmxlIExhYnNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWxhYnMvc2FtcGxlLXBvLXRhYmxlLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWxhYnMvc2FtcGxlLXBvLXRhYmxlLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtbGFicy9zYW1wbGUtcG8tdGFibGUtbGFicy5jb21wb25lbnQuZTJlLXNwZWMudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtbGFicy9zYW1wbGUtcG8tdGFibGUtbGFicy5jb21wb25lbnQucG8udHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtbGFicy9zYW1wbGUtcG8tdGFibGUtbGFicy5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdGFibGUtd2l0aC1hcGlcIiB0aXRsZT1cIlBPIFRhYmxlIHVzaW5nIEFQSVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtd2l0aC1hcGkvc2FtcGxlLXBvLXRhYmxlLXdpdGgtYXBpLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS13aXRoLWFwaS9zYW1wbGUtcG8tdGFibGUtd2l0aC1hcGkuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10YWJsZS10cmFuc3BvcnRcIiB0aXRsZT1cIlBPIFRhYmxlIC0gVHJhbnNwb3J0XCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS10cmFuc3BvcnQvc2FtcGxlLXBvLXRhYmxlLXRyYW5zcG9ydC5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtdHJhbnNwb3J0L3NhbXBsZS1wby10YWJsZS10cmFuc3BvcnQuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtdHJhbnNwb3J0L3NhbXBsZS1wby10YWJsZS10cmFuc3BvcnQuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXRhYmxlLWFpcmZhcmVcIiB0aXRsZT1cIlBPIFRhYmxlIC0gQWlyZmFyZVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtYWlyZmFyZS9zYW1wbGUtcG8tdGFibGUtYWlyZmFyZS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFibGUtYWlyZmFyZS9zYW1wbGUtcG8tdGFibGUtYWlyZmFyZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS1haXJmYXJlL3NhbXBsZS1wby10YWJsZS1haXJmYXJlLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10YWJsZS1jb21wb25lbnRzXCIgdGl0bGU9XCJQTyBUYWJsZSAtIFBvIEZpZWxkIENvbXBvbmVudHNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMvc2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMvc2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMuZW51bS50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS1jb21wb25lbnRzL3NhbXBsZS1wby10YWJsZS1jb21wb25lbnRzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMvc2FtcGxlLXBvLXRhYmxlLWNvbXBvbmVudHMuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby10YWJsZS1jb21wb25lbnRzL3NhbXBsZS1wby10YWJsZS1jb21wb25lbnRzLmNvbXBvbmVudC5jc3NcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtQb0RhdGVTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBQb1RhYmxlQ29tcG9uZW50IGV4dGVuZHMgUG9UYWJsZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICBAQ29udGVudENoaWxkKFBvVGFibGVSb3dUZW1wbGF0ZURpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgdGFibGVSb3dUZW1wbGF0ZTogUG9UYWJsZVJvd1RlbXBsYXRlRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkKFBvVGFibGVDZWxsVGVtcGxhdGVEaXJlY3RpdmUpIHRhYmxlQ2VsbFRlbXBsYXRlOiBQb1RhYmxlQ2VsbFRlbXBsYXRlRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oUG9UYWJsZUNvbHVtblRlbXBsYXRlRGlyZWN0aXZlKSB0YWJsZUNvbHVtblRlbXBsYXRlczogUXVlcnlMaXN0PFBvVGFibGVDb2x1bW5UZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgQFZpZXdDaGlsZCgnbm9Db2x1bW5zSGVhZGVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIG5vQ29sdW1uc0hlYWRlcjtcbiAgQFZpZXdDaGlsZCgncG9wdXAnKSBwb1BvcHVwQ29tcG9uZW50OiBQb1BvcHVwQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCd0YWJsZUZvb3RlcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KSB0YWJsZUZvb3RlckVsZW1lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3RhYmxlV3JhcHBlcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KSB0YWJsZVdyYXBwZXJFbGVtZW50O1xuICBAVmlld0NoaWxkKCdwb1RhYmxlVGJvZHknLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSkgcG9UYWJsZVRib2R5O1xuICBAVmlld0NoaWxkKCdwb1RhYmxlVGhlYWQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSkgcG9UYWJsZVRoZWFkO1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2FjdGlvbnNJY29uRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBhY3Rpb25zSWNvbkVsZW1lbnQ6IFF1ZXJ5TGlzdDxhbnk+O1xuICBAVmlld0NoaWxkcmVuKCdhY3Rpb25zRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBhY3Rpb25zRWxlbWVudDogUXVlcnlMaXN0PGFueT47XG4gIEBWaWV3Q2hpbGRyZW4oJ2hlYWRlcnNUYWJsZScpIGhlYWRlcnNUYWJsZTogUXVlcnlMaXN0PGFueT47XG5cbiAgaGVpZ2h0VGFibGVDb250YWluZXI6IG51bWJlcjtcbiAgcG9wdXBUYXJnZXQ7XG4gIHRhYmxlT3BhY2l0eTogbnVtYmVyID0gMDtcbiAgdG9vbHRpcFRleHQ6IHN0cmluZztcbiAgbGFzdFZpc2libGVDb2x1bW5zU2VsZWN0ZWQ6IEFycmF5PFBvVGFibGVDb2x1bW4+O1xuXG4gIHByaXZhdGUgX2NvbHVtbk1hbmFnZXJUYXJnZXQ6IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgZGlmZmVyO1xuICBwcml2YXRlIGZvb3RlckhlaWdodDtcbiAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIHRpbWVvdXRSZXNpemU7XG4gIHByaXZhdGUgdmlzaWJsZUVsZW1lbnQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBzY3JvbGxFdmVudCQ6IE9ic2VydmFibGU8YW55PjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25TY3JvbGxFdmVudDogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgY2xpY2tMaXN0ZW5lcjogKCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSByZXNpemVMaXN0ZW5lcjogKCkgPT4gdm9pZDtcblxuICBAVmlld0NoaWxkKCdjb2x1bW5NYW5hZ2VyVGFyZ2V0Jykgc2V0IGNvbHVtbk1hbmFnZXJUYXJnZXQodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl9jb2x1bW5NYW5hZ2VyVGFyZ2V0ID0gdmFsdWU7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCBjb2x1bW5NYW5hZ2VyVGFyZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5NYW5hZ2VyVGFyZ2V0O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcG9EYXRlOiBQb0RhdGVTZXJ2aWNlLFxuICAgIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycyxcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHBvTGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgZGVmYXVsdFNlcnZpY2U6IFBvVGFibGVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHBvRGF0ZSwgcG9MYW5ndWFnZVNlcnZpY2UsIGRlZmF1bHRTZXJ2aWNlKTtcblxuICAgIHRoaXMuZGlmZmVyID0gZGlmZmVycy5maW5kKFtdKS5jcmVhdGUobnVsbCk7XG5cbiAgICAvLyBUT0RPOiAjNTU1MCBhbyByZW1vdmVyIGVzdGUgbGlzdGVuZXIsIG5vIHBvcnRhbCwgcXVhbmRvIGFzIGNvbHVuYXMgZm9yZW0gZml4YXMgbsOjbyBzb2ZyZW1cbiAgICAvLyBhbHRlcmHDp8OjbyBkZSBsYXJndXJhLCBwb2lzIG8gbmdEb0NoZWNrIG7Do28gw6kgZXhlY3V0YWRvLlxuICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IHJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoKSA9PiB7fSk7XG5cbiAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyID0gcmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAncmVzaXplJywgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZGVib3VuY2VSZXNpemUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBoYXNSb3dUZW1wbGF0ZVdpdGhBcnJvd0RpcmVjdGlvblJpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLnRhYmxlUm93VGVtcGxhdGU/LnRhYmxlUm93VGVtcGxhdGVBcnJvd0RpcmVjdGlvbiA9PT0gUG9UYWJsZVJvd1RlbXBsYXRlQXJyb3dEaXJlY3Rpb24uUmlnaHQ7XG4gIH1cblxuICBnZXQgY29sdW1uQ291bnQoKSB7XG4gICAgY29uc3QgY29sdW1uQ291bnQgPVxuICAgICAgdGhpcy5tYWluQ29sdW1ucy5sZW5ndGggK1xuICAgICAgKHRoaXMuYWN0aW9ucy5sZW5ndGggPiAwID8gMSA6IDApICtcbiAgICAgICh0aGlzLnNlbGVjdGFibGUgPyAxIDogMCkgK1xuICAgICAgKCF0aGlzLmhpZGVEZXRhaWwgJiYgdGhpcy5jb2x1bW5NYXN0ZXJEZXRhaWwgIT09IHVuZGVmaW5lZCA/IDEgOiAwKTtcblxuICAgIHJldHVybiBjb2x1bW5Db3VudCB8fCAxO1xuICB9XG5cbiAgZ2V0IGNvbHVtbkNvdW50Rm9yTWFzdGVyRGV0YWlsKCkge1xuICAgIC8vIGNhc28gdGl2ZXIgYcOnw7VlcyBzZXLDoSB1dGlsaXphZG8gYSBzdWEgY29sdW5hIHBhcmEgZXhpYmlyIG8gY29sdW1uTWFuYWdlclxuICAgIGNvbnN0IGNvbHVtbk1hbmFnZXIgPSB0aGlzLmFjdGlvbnMubGVuZ3RoID8gMCA6IDE7XG5cbiAgICByZXR1cm4gdGhpcy5tYWluQ29sdW1ucy5sZW5ndGggKyAxICsgKHRoaXMuYWN0aW9ucy5sZW5ndGggPiAwID8gMSA6IDApICsgKHRoaXMuc2VsZWN0YWJsZSA/IDEgOiAwKSArIGNvbHVtbk1hbmFnZXI7XG4gIH1cblxuICBnZXQgZGV0YWlsSGlkZVNlbGVjdCgpIHtcbiAgICBjb25zdCBtYXN0ZXJEZXRhaWwgPSB0aGlzLmNvbHVtbk1hc3RlckRldGFpbDtcbiAgICByZXR1cm4gbWFzdGVyRGV0YWlsICYmIG1hc3RlckRldGFpbC5kZXRhaWwgPyBtYXN0ZXJEZXRhaWwuZGV0YWlsLmhpZGVTZWxlY3QgOiBmYWxzZTtcbiAgfVxuXG4gIGdldCBoYXNWaXNpYmxlQWN0aW9ucygpIHtcbiAgICByZXR1cm4gISF0aGlzLnZpc2libGVBY3Rpb25zLmxlbmd0aDtcbiAgfVxuXG4gIGdldCBmaXJzdEFjdGlvbigpOiBQb1RhYmxlQWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlQWN0aW9ucyAmJiB0aGlzLnZpc2libGVBY3Rpb25zWzBdO1xuICB9XG5cbiAgZ2V0IGhhc0Zvb3RlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNJdGVtcyAmJiB0aGlzLmhhc1Zpc2libGVTdWJ0aXRsZUNvbHVtbnM7XG4gIH1cblxuICBnZXQgaGFzTWFzdGVyRGV0YWlsQ29sdW1uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmhhc01haW5Db2x1bW5zICYmIHRoaXMuaGFzSXRlbXMgJiYgIXRoaXMuaGlkZURldGFpbCAmJiAhISh0aGlzLmNvbHVtbk1hc3RlckRldGFpbCB8fCB0aGlzLmhhc1Jvd1RlbXBsYXRlKVxuICAgICk7XG4gIH1cblxuICBnZXQgaGFzUm93VGVtcGxhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy50YWJsZVJvd1RlbXBsYXRlO1xuICB9XG5cbiAgZ2V0IGhhc1NlbGVjdGFibGVDb2x1bW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0YWJsZSAmJiB0aGlzLmhhc0l0ZW1zICYmIHRoaXMuaGFzTWFpbkNvbHVtbnM7XG4gIH1cblxuICBnZXQgaGFzVmFsaWRDb2x1bW5zKCkge1xuICAgIHJldHVybiAhIXRoaXMudmFsaWRDb2x1bW5zLmxlbmd0aDtcbiAgfVxuXG4gIGdldCBoYXNWaXNpYmxlU3VidGl0bGVDb2x1bW5zKCkge1xuICAgIHJldHVybiB0aGlzLnN1YnRpdGxlQ29sdW1ucy5zb21lKGNvbHVtbiA9PiBjb2x1bW4udmlzaWJsZSAhPT0gZmFsc2UpO1xuICB9XG5cbiAgZ2V0IGlzU2luZ2xlQWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVBY3Rpb25zLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlQWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zICYmIHRoaXMuYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IGFjdGlvbiAmJiBhY3Rpb24udmlzaWJsZSAhPT0gZmFsc2UpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgc2hvd01vcmVJbmZpbml0ZVNjcm9sbCh7IHRhcmdldCB9KTogdm9pZCB7XG4gICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSB0YXJnZXQub2Zmc2V0SGVpZ2h0ICsgdGFyZ2V0LnNjcm9sbFRvcDtcbiAgICBpZiAoIXRoaXMuc2hvd01vcmVEaXNhYmxlZCAmJiBzY3JvbGxQb3NpdGlvbiA+PSB0YXJnZXQuc2Nyb2xsSGVpZ2h0ICogKHRoaXMuaW5maW5pdGVTY3JvbGxEaXN0YW5jZSAvIDExMCkpIHtcbiAgICAgIHRoaXMub25TaG93TW9yZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICB0aGlzLmNoZWNrQ2hhbmdlc0l0ZW1zKCk7XG4gICAgdGhpcy52ZXJpZnlDYWxjdWxhdGVIZWlnaHRUYWJsZUNvbnRhaW5lcigpO1xuICAgIC8vIFBlcm1pdGUgcXVlIG9zIGNhYmXDp2FsaG9zIHNlamFtIGNhbGN1bGFkb3MgbmEgcHJpbWVpcmEgdmV6IHF1ZSBvIGNvbXBvbmVudGUgdG9ybmEtc2Ugdmlzw612ZWwsXG4gICAgLy8gZXZpdGFuZG8gY29tIGlzc28sIHByb2JsZW1hcyBjb20gVGFicyBvdSBEaXZzIHF1ZSBpbmljaWVtIGVzY29uZGlkYXMuXG4gICAgaWYgKHRoaXMudGFibGVXcmFwcGVyRWxlbWVudD8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAmJiAhdGhpcy52aXNpYmxlRWxlbWVudCAmJiB0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XG4gICAgICB0aGlzLmNoZWNrSW5maW5pdGVTY3JvbGwoKTtcbiAgICAgIHRoaXMudmlzaWJsZUVsZW1lbnQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXJzKCk7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIHJlYWxpemFyIGJ1c2NhIG5vIHNlcnZpw6dvIGRlIGRhZG9zIHBvZGVuZG8gaW5mb3JtYXIgZmlsdHJvcyBlIGNvbSBvIHJldG9ybm8sIGF0dWFsaXphIGEgdGFiZWxhLlxuICAgKlxuICAgKiBDYXNvIG7Do28gc2VqYSBpbmZvcm1hZG8gcGFyw6JtZXRybywgbmFkYSBzZXLDoSBhZGljaW9uYWRvIGFvIEdFVCwgY29uZm9ybWUgYWJhaXhvOlxuICAgKiBgYGBcbiAgICogdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0xMFxuICAgKiBgYGBcbiAgICogPiBPYnM6IG9zIHBhcsOibWV0cm9zIGBwYWdlYCBlIGBwYWdlU2l6ZWAgc2VtcHJlIHNlcsOjbyBjaGFtYWRvcyBpbmRlcGVuZGVudGUgZGUgc2VyIGVudmlhZG9zIG91dHJvcyBwYXLDom1ldHJvcy5cbiAgICpcbiAgICogQ2FzbyBzZWphbSBpbmZvcm1hZG9zIG9zIHBhcsOibWV0cm9zIGB7IG5hbWU6ICdKT0hOJywgYWdlOiAnMjMnIH1gLCB0b2RvcyBzZXLDo28gYWRpY2lvbmFkb3MgYW8gR0VULCBjb25mb3JtZSBhYmFpeG86XG4gICAqIGBgYFxuICAgKiB1cmwgKyA/cGFnZT0xJnBhZ2VTaXplPTEwJm5hbWU9Sk9ITiZhZ2U9MjNcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSB7IHsga2V5OiB2YWx1ZSB9IH0gcXVlcnlQYXJhbXMgRm9ybWF0byBkbyBvYmpldG8gYSBzZXIgZW52aWFkby5cbiAgICogPiBQb2RlIHNlciB1dGlsaXphZGEgcXVhbHF1ZXIgc3RyaW5nIGNvbW8ga2V5LCBlIHF1YWxxdWVyIHN0cmluZyBvdSBudW1iZXIgY29tbyB2YWx1ZS5cbiAgICovXG4gIGFwcGx5RmlsdGVycyhxdWVyeVBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogUXVlcnlQYXJhbXNUeXBlIH0pIHtcbiAgICB0aGlzLnBhZ2UgPSAxO1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEocXVlcnlQYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcXVlIGNvbGFwc2EgdW1hIGxpbmhhIGNvbSBkZXRhbGhlIHF1YW5kbyBleGVjdXRhZGEuXG4gICAqXG4gICAqIEBwYXJhbSB7IG51bWJlciB9IHJvd0luZGV4IMONbmRpY2UgZGEgbGluaGEgcXVlIHNlcsOhIGNvbGFwc2FkYS5cbiAgICogPiBBbyByZW9yZGVuYXIgb3MgZGFkb3MgZGEgdGFiZWxhLCBvIHZhbG9yIGNvbnRpZG8gbmVzdGUgw61uZGljZSBzZXLDoSBhbHRlcmFkbyBjb25mb3JtZSBhIG9yZGVuYcOnw6NvLlxuICAgKi9cbiAgY29sbGFwc2Uocm93SW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc2V0U2hvd0RldGFpbChyb3dJbmRleCwgZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcXVlIGV4cGFuZGUgdW1hIGxpbmhhIGNvbSBkZXRhbGhlIHF1YW5kbyBleGVjdXRhZGEuXG4gICAqXG4gICAqIEBwYXJhbSB7IG51bWJlciB9IHJvd0luZGV4IMONbmRpY2UgZGEgbGluaGEgcXVlIHNlcsOhIGV4cGFuZGlkYS5cbiAgICogPiBBbyByZW9yZGVuYXIgb3MgZGFkb3MgZGEgdGFiZWxhLCBvIHZhbG9yIGNvbnRpZG8gbmVzdGUgw61uZGljZSBzZXLDoSBhbHRlcmFkbyBjb25mb3JtZSBhIG9yZGVuYcOnw6NvLlxuICAgKi9cbiAgZXhwYW5kKHJvd0luZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldFNob3dEZXRhaWwocm93SW5kZXgsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldG9ybmEgYXMgbGluaGFzIGRvIGBwby10YWJsZWAgcXVlIGVzdMOjbyBzZWxlY2lvbmFkYXMuXG4gICAqL1xuICBnZXRTZWxlY3RlZFJvd3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS4kc2VsZWN0ZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldG9ybmEgYXMgbGluaGFzIGRvIGBwby10YWJsZWAgcXVlIG7Do28gZXN0w6NvIHNlbGVjaW9uYWRhcy5cbiAgICovXG4gIGdldFVuc2VsZWN0ZWRSb3dzKCkge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLiRzZWxlY3RlZCk7XG4gIH1cblxuICAvKipcbiAgICogRGVzbWFyY2EgYXMgbGluaGFzIHF1ZSBlc3TDo28gc2VsZWNpb25hZGFzLlxuICAgKi9cbiAgdW5zZWxlY3RSb3dzKCkge1xuICAgIGNvbnN0IGNvbHVtbkRldGFpbCA9IHRoaXMubmFtZUNvbHVtbkRldGFpbDtcblxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGNvbnN0IGRldGFpbEl0ZW1zID0gY29sdW1uRGV0YWlsID8gaXRlbVtjb2x1bW5EZXRhaWxdIDogbnVsbDtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGV0YWlsSXRlbXMpKSB7XG4gICAgICAgIGRldGFpbEl0ZW1zLmZvckVhY2goZGV0YWlsSXRlbSA9PiB7XG4gICAgICAgICAgZGV0YWlsSXRlbS4kc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGl0ZW0uJHNlbGVjdGVkID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlbGVjdEFsbCA9IGZhbHNlO1xuICB9XG5cbiAgY2hlY2tEaXNhYmxlZChyb3csIGNvbHVtbjogUG9UYWJsZUNvbHVtbikge1xuICAgIHJldHVybiBjb2x1bW4uZGlzYWJsZWQgPyBjb2x1bW4uZGlzYWJsZWQocm93KSA6IGZhbHNlO1xuICB9XG5cbiAgY29udGFpbnNNYXN0ZXJEZXRhaWwocm93KSB7XG4gICAgcmV0dXJuIHJvd1t0aGlzLm5hbWVDb2x1bW5EZXRhaWxdICYmIHJvd1t0aGlzLm5hbWVDb2x1bW5EZXRhaWxdLmxlbmd0aDtcbiAgfVxuXG4gIGV4ZWN1dGVUYWJsZUFjdGlvbihyb3c6IGFueSwgdGFibGVBY3Rpb246IGFueSkge1xuICAgIGlmICghcm93LmRpc2FibGVkICYmICF0aGlzLnZhbGlkYXRlVGFibGVBY3Rpb24ocm93LCB0YWJsZUFjdGlvbikpIHtcbiAgICAgIHRhYmxlQWN0aW9uLmFjdGlvbihyb3cpO1xuICAgICAgdGhpcy50b2dnbGVSb3dBY3Rpb24ocm93KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVzbWFyY2EgdW1hIGxpbmhhIHF1ZSBlc3TDoSBzZWxlY2lvbmFkYS5cbiAgICovXG4gIHVuc2VsZWN0Um93SXRlbShpdGVtZm46IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCAoKGl0ZW0pID0+IGJvb2xlYW4pKSB7XG4gICAgdGhpcy50b2dnbGVTZWxlY3QoaXRlbWZuLCBmYWxzZSk7XG5cbiAgICBpZiAodGhpcy5pdGVtcy5ldmVyeShpdGVtID0+ICFpdGVtLiRzZWxlY3RlZCkpIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWNpb25hIHVtYSBsaW5oYSBkbyAncG8tdGFibGUnLlxuICAgKi9cbiAgc2VsZWN0Um93SXRlbShpdGVtZm46IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCAoKGl0ZW0pID0+IGJvb2xlYW4pKSB7XG4gICAgdGhpcy50b2dnbGVTZWxlY3QoaXRlbWZuLCB0cnVlKTtcblxuICAgIGlmICh0aGlzLml0ZW1zLmV2ZXJ5KGl0ZW0gPT4gaXRlbS4kc2VsZWN0ZWQpKSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBmb3JtYXROdW1iZXIodmFsdWU6IGFueSwgZm9ybWF0OiBzdHJpbmcpIHtcbiAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0KTtcbiAgfVxuXG4gIGdldENlbGxEYXRhKHJvdzogYW55LCBjb2x1bW46IFBvVGFibGVDb2x1bW4pOiBhbnkge1xuICAgIGNvbnN0IGFycmF5UHJvcGVydHkgPSBjb2x1bW4ucHJvcGVydHkuc3BsaXQoJy4nKTtcbiAgICBpZiAoYXJyYXlQcm9wZXJ0eS5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBuZXN0ZWRQcm9wZXJ0aWVzID0gYXJyYXlQcm9wZXJ0eTtcbiAgICAgIGxldCB2YWx1ZTogYW55ID0gcm93O1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBuZXN0ZWRQcm9wZXJ0aWVzKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWVbcHJvcGVydHldIHx8IHZhbHVlW3Byb3BlcnR5XSA9PT0gMCA/IHZhbHVlW3Byb3BlcnR5XSA6ICcnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcm93W2NvbHVtbi5wcm9wZXJ0eV07XG4gICAgfVxuICB9XG5cbiAgZ2V0Qm9vbGVhbkxhYmVsKHJvd1ZhbHVlOiBhbnksIGNvbHVtbkJvb2xlYW46IFBvVGFibGVDb2x1bW4pOiBzdHJpbmcge1xuICAgIGlmIChyb3dWYWx1ZSB8fCByb3dWYWx1ZSA9PT0gZmFsc2UgfHwgcm93VmFsdWUgPT09IDApIHtcbiAgICAgIHJvd1ZhbHVlID0gY29udmVydFRvQm9vbGVhbihyb3dWYWx1ZSk7XG5cbiAgICAgIGlmIChjb2x1bW5Cb29sZWFuLmJvb2xlYW4pIHtcbiAgICAgICAgcmV0dXJuIHJvd1ZhbHVlID8gY29sdW1uQm9vbGVhbi5ib29sZWFuLnRydWVMYWJlbCB8fCAnU2ltJyA6IGNvbHVtbkJvb2xlYW4uYm9vbGVhbi5mYWxzZUxhYmVsIHx8ICdOw6NvJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByb3dWYWx1ZSA/ICdTaW0nIDogJ07Do28nO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByb3dWYWx1ZTtcbiAgfVxuXG4gIGdldENvbHVtbkljb25zKHJvdzogYW55LCBjb2x1bW46IFBvVGFibGVDb2x1bW4pIHtcbiAgICBjb25zdCByb3dJY29ucyA9IHRoaXMuZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pO1xuXG4gICAgaWYgKGNvbHVtbi5pY29ucykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocm93SWNvbnMpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lcmdlQ3VzdG9tSWNvbnMocm93SWNvbnMsIGNvbHVtbi5pY29ucyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5maW5kQ3VzdG9tSWNvbihyb3dJY29ucywgY29sdW1uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcm93SWNvbnM7XG4gIH1cblxuICBnZXRDb2x1bW5MYWJlbChyb3c6IGFueSwgY29sdW1uTGFiZWw6IFBvVGFibGVDb2x1bW4pOiBQb1RhYmxlQ29sdW1uTGFiZWwge1xuICAgIHJldHVybiBjb2x1bW5MYWJlbC5sYWJlbHMuZmluZChsYWJlbEl0ZW0gPT4gdGhpcy5nZXRDZWxsRGF0YShyb3csIGNvbHVtbkxhYmVsKSA9PT0gbGFiZWxJdGVtLnZhbHVlKTtcbiAgfVxuXG4gIGdldFN1YnRpdGxlQ29sdW1uKHJvdzogYW55LCBzdWJ0aXRsZUNvbHVtbjogUG9UYWJsZUNvbHVtbik6IFBvVGFibGVTdWJ0aXRsZUNvbHVtbiB7XG4gICAgcmV0dXJuIHN1YnRpdGxlQ29sdW1uLnN1YnRpdGxlcy5maW5kKHN1YnRpdGxlSXRlbSA9PiB0aGlzLmdldENlbGxEYXRhKHJvdywgc3VidGl0bGVDb2x1bW4pID09PSBzdWJ0aXRsZUl0ZW0udmFsdWUpO1xuICB9XG5cbiAgaXNTaG93TWFzdGVyRGV0YWlsKHJvdykge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5oaWRlRGV0YWlsICYmXG4gICAgICB0aGlzLm5hbWVDb2x1bW5EZXRhaWwgJiZcbiAgICAgIHJvdy4kc2hvd0RldGFpbCAmJlxuICAgICAgdGhpcy5jb250YWluc01hc3RlckRldGFpbChyb3cpICYmXG4gICAgICAhdGhpcy5oYXNSb3dUZW1wbGF0ZVxuICAgICk7XG4gIH1cblxuICBpc1Nob3dSb3dUZW1wbGF0ZShyb3csIGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy50YWJsZVJvd1RlbXBsYXRlICYmIHRoaXMudGFibGVSb3dUZW1wbGF0ZS5wb1RhYmxlUm93VGVtcGxhdGVTaG93KSB7XG4gICAgICByZXR1cm4gdGhpcy50YWJsZVJvd1RlbXBsYXRlLnBvVGFibGVSb3dUZW1wbGF0ZVNob3cocm93LCBpbmRleCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBvbkNsaWNrTGluayhldmVudCwgcm93LCBjb2x1bW46IFBvVGFibGVDb2x1bW4pIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tEaXNhYmxlZChyb3csIGNvbHVtbikpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2hhbmdlVmlzaWJsZUNvbHVtbnMoY29sdW1uczogQXJyYXk8c3RyaW5nPikge1xuICAgIHRoaXMuY2hhbmdlVmlzaWJsZUNvbHVtbnMuZW1pdChjb2x1bW5zKTtcbiAgfVxuXG4gIG9uQ29sdW1uUmVzdG9yZU1hbmFnZXIodmFsdWU6IEFycmF5PFN0cmluZz4pIHtcbiAgICB0aGlzLmNvbHVtblJlc3RvcmVNYW5hZ2VyLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgb25WaXNpYmxlQ29sdW1uc0NoYW5nZShjb2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPikge1xuICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHRvb2x0aXBNb3VzZUVudGVyKGV2ZW50OiBhbnksIGNvbHVtbj86IFBvVGFibGVDb2x1bW4sIHJvdz86IGFueSkge1xuICAgIHRoaXMudG9vbHRpcFRleHQgPSB1bmRlZmluZWQ7XG5cbiAgICBpZiAodGhpcy5oaWRlVGV4dE92ZXJmbG93ICYmIGV2ZW50LnRhcmdldC5vZmZzZXRXaWR0aCA8IGV2ZW50LnRhcmdldC5zY3JvbGxXaWR0aCAmJiBldmVudC50YXJnZXQuaW5uZXJUZXh0LnRyaW0oKSkge1xuICAgICAgcmV0dXJuICh0aGlzLnRvb2x0aXBUZXh0ID0gZXZlbnQudGFyZ2V0LmlubmVyVGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbHVtbikge1xuICAgICAgdGhpcy5jaGVja2luZ0lmQ29sdW1uSGFzVG9vbHRpcChjb2x1bW4sIHJvdyk7XG4gICAgfVxuICB9XG5cbiAgdG9vbHRpcE1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy50b29sdGlwVGV4dCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHRvZ2dsZVBvcHVwKHJvdywgdGFyZ2V0UmVmKSB7XG4gICAgdGhpcy5wb3B1cFRhcmdldCA9IHRhcmdldFJlZjtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMucG9Qb3B1cENvbXBvbmVudC50b2dnbGUocm93KTtcbiAgfVxuXG4gIHRyYWNrQnkoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHZhbGlkYXRlVGFibGVBY3Rpb24ocm93OiBhbnksIHRhYmxlQWN0aW9uOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHRhYmxlQWN0aW9uLmRpc2FibGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdGFibGVBY3Rpb24uZGlzYWJsZWQocm93KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRhYmxlQWN0aW9uLmRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIG9uT3BlbkNvbHVtbk1hbmFnZXIoKSB7XG4gICAgdGhpcy5sYXN0VmlzaWJsZUNvbHVtbnNTZWxlY3RlZCA9IFsuLi50aGlzLmNvbHVtbnNdO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcXVlIHJlbW92ZSB1bSBpdGVtIGRhIHRhYmVsYS5cbiAgICpcbiAgICogQHBhcmFtIHsgbnVtYmVyIHwgeyBrZXk6IHZhbHVlIH0gfSBpdGVtIMONbmRpY2UgZGEgbGluaGEgb3UgbyBpdGVtIHF1ZSBzZXLDoSByZW1vdmlkby5cbiAgICogPiBBbyByZW1vdmVyIG8gaXRlbSwgYSBsaW5oYSBxdWUgbyByZXByZXNlbnRhIHNlcsOhIGV4Y2x1w61kYSBkYSB0YWJlbGEuXG4gICAqL1xuICByZW1vdmVJdGVtKGl0ZW06IG51bWJlciB8IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKGZpbHRlckl0ZW0gPT4gZmlsdGVySXRlbSAhPT0gaXRlbSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgaXRlbSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBpdGVtO1xuICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHF1ZSBhdHVhbGl6YSB1bSBpdGVtIGRhIHRhYmVsYS5cbiAgICpcbiAgICogQHBhcmFtIHsgbnVtYmVyIHwgeyBrZXk6IHZhbHVlIH0gfSBpdGVtIMONbmRpY2UgZGEgbGluaGEgb3UgbyBpdGVtIHF1ZSBzZXLDoSBhdHVhbGl6YWRvLlxuICAgKiBAcGFyYW0geyB7IGtleTogdmFsdWUgfSB9IHVwZGF0ZWRJdGVtIEl0ZW0gcXVlIGZvaSBhdHVhbGl6YWRvLlxuICAgKiA+IEFvIGF0dWFsaXphciBvIGl0ZW0sIGEgaW5mb3JtYcOnw6NvIHNlcsOhIGFsdGVyYWRhIG5hIHRhYmVsYS5cbiAgICovXG4gIHVwZGF0ZUl0ZW0oaXRlbTogbnVtYmVyIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgdXBkYXRlZEl0ZW06IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdudW1iZXInKSB7XG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpdGVtLCAxLCB1cGRhdGVkSXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaW5kZXhJdGVtID0+IGluZGV4SXRlbSA9PT0gaXRlbSk7XG4gICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSwgdXBkYXRlZEl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUZW1wbGF0ZShjb2x1bW46IFBvVGFibGVDb2x1bW4pOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICBjb25zdCB0ZW1wbGF0ZTogUG9UYWJsZUNvbHVtblRlbXBsYXRlRGlyZWN0aXZlID0gdGhpcy50YWJsZUNvbHVtblRlbXBsYXRlcy5maW5kKFxuICAgICAgdGFibGVDb2x1bW5UZW1wbGF0ZSA9PiB0YWJsZUNvbHVtblRlbXBsYXRlLnRhcmdldFByb3BlcnR5ID09PSBjb2x1bW4ucHJvcGVydHlcbiAgICApO1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE7Do28gZm9pIHBvc3PDrXZlbCBlbmNvbnRyYXIgbyB0ZW1wbGF0ZSBwYXJhIGEgY29sdW5hOiAke2NvbHVtbi5wcm9wZXJ0eX0sIHBvciBnZW50aWxlemEgaW5mb3JtZSBhIHByb3ByaWVkYWRlIFtwLXByb3BlcnR5XWBcbiAgICAgICk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlLnRlbXBsYXRlUmVmO1xuICB9XG5cbiAgcHVibGljIHN5bmNyb25pemVIb3Jpem9udGFsU2Nyb2xsKCk6IHZvaWQge1xuICAgIHRoaXMucG9UYWJsZVRoZWFkLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMucG9UYWJsZVRib2R5Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYWxjdWxhdGVIZWlnaHRUYWJsZUNvbnRhaW5lcihoZWlnaHQpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHBhcnNlRmxvYXQoaGVpZ2h0KTtcbiAgICB0aGlzLmhlaWdodFRhYmxlQ29udGFpbmVyID0gdmFsdWUgPyB2YWx1ZSAtIHRoaXMuZ2V0SGVpZ2h0VGFibGVGb290ZXIoKSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNldFRhYmxlT3BhY2l0eSgxKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYWxjdWxhdGVXaWR0aEhlYWRlcnMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5oZWlnaHQpIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzVGFibGUuZm9yRWFjaChoZWFkZXIgPT4ge1xuICAgICAgICAgIGNvbnN0IGRpdkhlYWRlciA9IGhlYWRlci5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wby10YWJsZS1oZWFkZXItZml4ZWQtaW5uZXInKTtcbiAgICAgICAgICBpZiAoZGl2SGVhZGVyKSB7XG4gICAgICAgICAgICBkaXZIZWFkZXIuc3R5bGUud2lkdGggPSBgJHtoZWFkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aH1weGA7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGVja0luZmluaXRlU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc0luZmluaXRlU2Nyb2xsKCkpIHtcbiAgICAgIGlmICh0aGlzLnBvVGFibGVUYm9keS5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCA+IHRoaXMuaGVpZ2h0KSB7XG4gICAgICAgIHRoaXMuaW5jbHVkZUluZmluaXRlU2Nyb2xsKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmluZmluaXRlU2Nyb2xsID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0NoYW5nZXNJdGVtcygpIHtcbiAgICBjb25zdCBjaGFuZ2VzSXRlbXMgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuaXRlbXMpO1xuXG4gICAgaWYgKGNoYW5nZXNJdGVtcyAmJiB0aGlzLnNlbGVjdEFsbCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBudWxsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzSXRlbXMgJiYgIXRoaXMuaGFzQ29sdW1ucyAmJiB0aGlzLmhhc0l0ZW1zKSB7XG4gICAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLmdldERlZmF1bHRDb2x1bW5zKHRoaXMuaXRlbXNbMF0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tpbmdJZkNvbHVtbkhhc1Rvb2x0aXAoY29sdW1uLCByb3cpIHtcbiAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdsaW5rJyAmJiBjb2x1bW4udG9vbHRpcCAmJiAhdGhpcy5jaGVja0Rpc2FibGVkKHJvdywgY29sdW1uKSkge1xuICAgICAgcmV0dXJuICh0aGlzLnRvb2x0aXBUZXh0ID0gY29sdW1uLnRvb2x0aXApO1xuICAgIH1cblxuICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2xhYmVsJykge1xuICAgICAgY29uc3QgY29sdW1uTGFiZWwgPSB0aGlzLmdldENvbHVtbkxhYmVsKHJvdywgY29sdW1uKTtcbiAgICAgIHJldHVybiAodGhpcy50b29sdGlwVGV4dCA9IGNvbHVtbkxhYmVsPy50b29sdGlwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlYm91bmNlUmVzaXplKCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZXNpemUpO1xuICAgIHRoaXMudGltZW91dFJlc2l6ZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jYWxjdWxhdGVXaWR0aEhlYWRlcnMoKTtcblxuICAgICAgLy8gc2hvdyB0aGUgdGFibGVcbiAgICAgIHRoaXMuc2V0VGFibGVPcGFjaXR5KDEpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kQ3VzdG9tSWNvbihyb3dJY29ucywgY29sdW1uOiBQb1RhYmxlQ29sdW1uKSB7XG4gICAgY29uc3QgY3VzdG9tSWNvbiA9IGNvbHVtbi5pY29ucy5maW5kKGljb24gPT4gcm93SWNvbnMgPT09IGljb24udmFsdWUpO1xuICAgIHJldHVybiBjdXN0b21JY29uID8gW2N1c3RvbUljb25dIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIZWlnaHRUYWJsZUZvb3RlcigpIHtcbiAgICByZXR1cm4gdGhpcy50YWJsZUZvb3RlckVsZW1lbnQgPyB0aGlzLnRhYmxlRm9vdGVyRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCA6IDA7XG4gIH1cblxuICBwcml2YXRlIGhhc0luZmluaXRlU2Nyb2xsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmluZmluaXRlU2Nyb2xsICYmXG4gICAgICB0aGlzLmhhc0l0ZW1zICYmXG4gICAgICAhdGhpcy5zdWJzY3JpcHRpb25TY3JvbGxFdmVudCAmJlxuICAgICAgdGhpcy5oZWlnaHQgJiZcbiAgICAgIHRoaXMucG9UYWJsZVRib2R5Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5jbHVkZUluZmluaXRlU2Nyb2xsKCk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsRXZlbnQkID0gdGhpcy5kZWZhdWx0U2VydmljZS5zY3JvbGxMaXN0ZW5lcih0aGlzLnBvVGFibGVUYm9keS5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvblNjcm9sbEV2ZW50ID0gdGhpcy5zY3JvbGxFdmVudCQuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMuc2hvd01vcmVJbmZpbml0ZVNjcm9sbChldmVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZUN1c3RvbUljb25zKHJvd0ljb25zOiBBcnJheTxzdHJpbmc+LCBjdXN0b21JY29uczogQXJyYXk8YW55Pikge1xuICAgIGNvbnN0IG1lcmdlZEljb25zID0gW107XG5cbiAgICByb3dJY29ucy5mb3JFYWNoKGNvbHVtblZhbHVlID0+IHtcbiAgICAgIGNvbnN0IGZvdW5kQ3VzdG9tSWNvbiA9IGN1c3RvbUljb25zLmZpbmQoXG4gICAgICAgIGN1c3RvbUljb24gPT4gY29sdW1uVmFsdWUgPT09IGN1c3RvbUljb24uaWNvbiB8fCBjb2x1bW5WYWx1ZSA9PT0gY3VzdG9tSWNvbi52YWx1ZVxuICAgICAgKTtcbiAgICAgIGZvdW5kQ3VzdG9tSWNvbiA/IG1lcmdlZEljb25zLnB1c2goZm91bmRDdXN0b21JY29uKSA6IG1lcmdlZEljb25zLnB1c2goY29sdW1uVmFsdWUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1lcmdlZEljb25zO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVMaXN0ZW5lcnMoKSB7XG4gICAgaWYgKHRoaXMucmVzaXplTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMucmVzaXplTGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbGlja0xpc3RlbmVyKSB7XG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25TY3JvbGxFdmVudCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25TY3JvbGxFdmVudC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VGFibGVPcGFjaXR5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnRhYmxlT3BhY2l0eSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSB2ZXJpZnlDaGFuZ2VIZWlnaHRJbkZvb3RlcigpIHtcbiAgICByZXR1cm4gdGhpcy5mb290ZXJIZWlnaHQgIT09IHRoaXMuZ2V0SGVpZ2h0VGFibGVGb290ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5Q2FsY3VsYXRlSGVpZ2h0VGFibGVDb250YWluZXIoKSB7XG4gICAgaWYgKHRoaXMuaGVpZ2h0ICYmIHRoaXMudmVyaWZ5Q2hhbmdlSGVpZ2h0SW5Gb290ZXIoKSkge1xuICAgICAgdGhpcy5mb290ZXJIZWlnaHQgPSB0aGlzLmdldEhlaWdodFRhYmxlRm9vdGVyKCk7XG4gICAgICB0aGlzLmNhbGN1bGF0ZUhlaWdodFRhYmxlQ29udGFpbmVyKHRoaXMuaGVpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZVNlbGVjdChjb21wYXJlLCBzZWxlY3RWYWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgY29tcGFyZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBpZiAoaXRlbSA9PT0gY29tcGFyZSkge1xuICAgICAgICAgIGl0ZW0uJHNlbGVjdGVkID0gc2VsZWN0VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmIChjb21wYXJlKGl0ZW0pKSB7XG4gICAgICAgICAgaXRlbS4kc2VsZWN0ZWQgPSBzZWxlY3RWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8cG8tY29udGFpbmVyICpuZ0lmPVwiY29udGFpbmVyOyBlbHNlIHRhYmxlQ29udGFpbmVyVGVtcGxhdGVcIiBwLW5vLXBhZGRpbmcgW3Atbm8tc2hhZG93XT1cImNvbnRhaW5lciA9PT0gJ2JvcmRlcidcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlQ29udGFpbmVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvcG8tY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlQ29udGFpbmVyVGVtcGxhdGU+XG4gIDxkaXYgW2NsYXNzLnBvLXRhYmxlLWNvbnRhaW5lci1yZWxhdGl2ZV09XCJsb2FkaW5nXCI+XG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cInBvLXRhYmxlLW92ZXJsYXlcIj5cbiAgICAgIDxwby1sb2FkaW5nIGNsYXNzPVwicG8tdGFibGUtb3ZlcmxheS1jb250ZW50XCIgW3AtdGV4dF09XCJsaXRlcmFscy5sb2FkaW5nRGF0YVwiPjwvcG8tbG9hZGluZz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJwby10YWJsZS1tYWluLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICAjdGFibGVXcmFwcGVyXG4gICAgICAgIGNsYXNzPVwicG8tdGFibGUtd3JhcHBlclwiXG4gICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItZml4ZWQtY29sdW1ucy1waXhlbHNdPVwiYWxsQ29sdW1uc1dpZHRoUGl4ZWxzXCJcbiAgICAgICAgW3N0eWxlLm9wYWNpdHldPVwidGFibGVPcGFjaXR5XCJcbiAgICAgID5cbiAgICAgICAgPGRpdiAqbmdJZj1cImhlaWdodFwiIGNsYXNzPVwicG8tdGFibGUtY29udGFpbmVyXCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRUYWJsZUNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXYgI3BvVGFibGVUaGVhZCBjbGFzcz1cInBvLXRhYmxlLWhlYWRlci1maXhlZCBwby10YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAjcG9UYWJsZVRib2R5IGNsYXNzPVwicG8tdGFibGUtY29udGFpbmVyLWZpeGVkLWlubmVyXCIgKHNjcm9sbCk9XCJzeW5jcm9uaXplSG9yaXpvbnRhbFNjcm9sbCgpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVCb2R5VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFoZWlnaHRcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwicG8tdGFibGUtZm9vdGVyXCIgKm5nSWY9XCJoYXNGb290ZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2Ygc3VidGl0bGVDb2x1bW5zOyB0cmFja0J5OiB0cmFja0J5XCI+XG4gICAgICA8cG8tdGFibGUtc3VidGl0bGUtZm9vdGVyIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCIgW3Atc3VidGl0bGVzXT1cImNvbHVtbi5zdWJ0aXRsZXNcIj4gPC9wby10YWJsZS1zdWJ0aXRsZS1mb290ZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdlxuICAqbmdJZj1cIiFpbmZpbml0ZVNjcm9sbFwiXG4gIGNsYXNzPVwicG8tcm93IHBvLXRhYmxlLWZvb3Rlci1zaG93LW1vcmVcIlxuICBbY2xhc3MucG8taW52aXNpYmxlXT1cInNob3dNb3JlLm9ic2VydmVycy5sZW5ndGggPT09IDAgJiYgIWhhc1NlcnZpY2VcIlxuICAjdGFibGVGb290ZXJcbj5cbiAgPHBvLWJ1dHRvblxuICAgIGNsYXNzPVwicG8tb2Zmc2V0LXhsLTQgcG8tb2Zmc2V0LWxnLTQgcG8tb2Zmc2V0LW1kLTMgcG8tbGctNCBwby1tZC02XCJcbiAgICBbcC1kaXNhYmxlZF09XCJzaG93TW9yZURpc2FibGVkXCJcbiAgICBbcC1sYWJlbF09XCJsaXRlcmFscy5sb2FkTW9yZURhdGFcIlxuICAgIFtwLWxvYWRpbmddPVwibG9hZGluZ1Nob3dNb3JlXCJcbiAgICAocC1jbGljayk9XCJvblNob3dNb3JlKClcIlxuICA+XG4gIDwvcG8tYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGVIZWFkZXJUZW1wbGF0ZT5cbiAgPHRhYmxlIGNsYXNzPVwicG8tdGFibGVcIiBbY2xhc3MucG8tdGFibGUtc3RyaXBlZF09XCJzdHJpcGVkXCIgW2NsYXNzLnBvLXRhYmxlLWxheW91dC1maXhlZF09XCJoaWRlVGV4dE92ZXJmbG93XCI+XG4gICAgPHRoZWFkPlxuICAgICAgPHRyIFtjbGFzcy5wby10YWJsZS1oZWFkZXJdPVwiIWhlaWdodFwiPlxuICAgICAgICA8dGggKm5nSWY9XCJoYXNTZWxlY3RhYmxlQ29sdW1uXCIgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tc2VsZWN0YWJsZVwiPlxuICAgICAgICAgIDxkaXYgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1maXhlZC1pbm5lcl09XCJoZWlnaHRcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAqbmdJZj1cIiFoaWRlU2VsZWN0QWxsXCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jaGVja2JveFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jaGVja2JveC1jaGVja2VkXT1cInNlbGVjdEFsbFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jaGVja2JveC1pbmRldGVybWluYXRlXT1cInNlbGVjdEFsbCA9PT0gbnVsbFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiIWhpZGVTZWxlY3RBbGxcIiBjbGFzcz1cInBvLXRhYmxlLWNoZWNrYm94LWxhYmVsIHBvLWNsaWNrYWJsZVwiIChjbGljayk9XCJzZWxlY3RBbGxSb3dzKClcIj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGg+XG5cbiAgICAgICAgPHRoXG4gICAgICAgICAgKm5nSWY9XCIoaGFzTWFzdGVyRGV0YWlsQ29sdW1uIHx8IGhhc1Jvd1RlbXBsYXRlKSAmJiAhaGFzUm93VGVtcGxhdGVXaXRoQXJyb3dEaXJlY3Rpb25SaWdodFwiXG4gICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1oZWFkZXItY29sdW1uIHBvLXRhYmxlLWhlYWRlci1tYXN0ZXItZGV0YWlsXCJcbiAgICAgICAgPjwvdGg+XG5cbiAgICAgICAgPCEtLSBDb2x1bmEgY3JpYWRhIHBhcmEgY2FzbyBhcyBhw6fDtWVzIGZpcXVlbSBubyBsYWRvIGVzcXVlcmRvIC0tPlxuICAgICAgICA8dGhcbiAgICAgICAgICAqbmdJZj1cIiFhY3Rpb25SaWdodCAmJiAodmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gMSB8fCBpc1NpbmdsZUFjdGlvbilcIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItbWFzdGVyLWRldGFpbF09XCIhaXNTaW5nbGVBY3Rpb25cIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItc2luZ2xlLWFjdGlvbl09XCJpc1NpbmdsZUFjdGlvblwiXG4gICAgICAgID48L3RoPlxuXG4gICAgICAgIDx0aCAqbmdJZj1cIiFoYXNNYWluQ29sdW1uc1wiICNub0NvbHVtbnNIZWFkZXIgY2xhc3M9XCJwby10YWJsZS1oZWFkZXItY29sdW1uIHBvLXRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlaWdodDsgdGhlbiBub0NvbHVtbnNXaXRoSGVpZ2h0OyBlbHNlIG5vQ29sdW1uc1dpdGhvdXRIZWlnaHRcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGg+XG5cbiAgICAgICAgPHRoXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBtYWluQ29sdW1uczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiXG4gICAgICAgICAgI2hlYWRlcnNUYWJsZVxuICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtaGVhZGVyLWVsbGlwc2lzXCJcbiAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29sdW1uLndpZHRoXCJcbiAgICAgICAgICBbc3R5bGUubWF4LXdpZHRoXT1cImNvbHVtbi53aWR0aFwiXG4gICAgICAgICAgW3N0eWxlLm1pbi13aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICAgICAgICAgIFtjbGFzcy5wby1jbGlja2FibGVdPVwiKHNvcnQgJiYgY29sdW1uLnNvcnRhYmxlICE9PSBmYWxzZSkgfHwgaGFzU2VydmljZVwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1zdWJ0aXRsZV09XCJjb2x1bW4udHlwZSA9PT0gJ3N1YnRpdGxlJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cInNvcnRDb2x1bW4oY29sdW1uKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInBvLXRhYmxlLWhlYWRlci1mbGV4XCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItZml4ZWQtaW5uZXJdPVwiaGVpZ2h0XCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItZmxleC1yaWdodF09XCJjb2x1bW4udHlwZSA9PT0gJ2N1cnJlbmN5JyB8fCBjb2x1bW4udHlwZSA9PT0gJ251bWJlcidcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1mbGV4LWNlbnRlcl09XCJjb2x1bW4udHlwZSA9PT0gJ3N1YnRpdGxlJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRIZWFkZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbHVtbiB9XCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RoPlxuXG4gICAgICAgIDx0aFxuICAgICAgICAgICpuZ0lmPVwiaGFzUm93VGVtcGxhdGVXaXRoQXJyb3dEaXJlY3Rpb25SaWdodCAmJiAoaGFzVmlzaWJsZUFjdGlvbnMgfHwgaGlkZUNvbHVtbnNNYW5hZ2VyKVwiXG4gICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1oZWFkZXItY29sdW1uIHBvLXRhYmxlLWhlYWRlci1tYXN0ZXItZGV0YWlsXCJcbiAgICAgICAgPjwvdGg+XG5cbiAgICAgICAgPHRoXG4gICAgICAgICAgKm5nSWY9XCJoYXNWaXNpYmxlQWN0aW9ucyAmJiBoaWRlQ29sdW1uc01hbmFnZXIgJiYgYWN0aW9uUmlnaHRcIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItc2luZ2xlLWFjdGlvbl09XCJpc1NpbmdsZUFjdGlvblwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1hY3Rpb25zXT1cIiFpc1NpbmdsZUFjdGlvblwiXG4gICAgICAgID48L3RoPlxuXG4gICAgICAgIDx0aFxuICAgICAgICAgICNjb2x1bW5NYW5hZ2VyXG4gICAgICAgICAgKm5nSWY9XCJoYXNWYWxpZENvbHVtbnMgJiYgIWhpZGVDb2x1bW5zTWFuYWdlclwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1jb2x1bW4tbWFuYWdlcl09XCIhaXNTaW5nbGVBY3Rpb24gfHwgIWFjdGlvblJpZ2h0XCJcbiAgICAgICAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLWNvbHVtbi1tYW5hZ2VyLWJvcmRlcl09XCIhaGVpZ2h0ICYmIGNvbnRhaW5lclwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1zaW5nbGUtYWN0aW9uXT1cImlzU2luZ2xlQWN0aW9uICYmIGFjdGlvblJpZ2h0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItY29sdW1uLW1hbmFnZXItYm9yZGVyXT1cImhlaWdodCAmJiBjb250YWluZXJcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1jb2x1bW4tbWFuYWdlci1maXhlZC1pbm5lcl09XCJoZWlnaHRcIlxuICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImhlaWdodCAmJiB2aXNpYmxlQWN0aW9ucy5sZW5ndGggPyBjb2x1bW5NYW5hZ2VyLm9mZnNldFdpZHRoIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICNjb2x1bW5NYW5hZ2VyVGFyZ2V0XG4gICAgICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtaGVhZGVyLWNvbHVtbi1tYW5hZ2VyLWJ1dHRvbiBwby1pY29uIHBvLWljb24tc2V0dGluZ3MgcG8tY2xpY2thYmxlXCJcbiAgICAgICAgICAgICAgcC10b29sdGlwLXBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgICAgIFtwLXRvb2x0aXBdPVwibGl0ZXJhbHMuY29sdW1uc01hbmFnZXJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25PcGVuQ29sdW1uTWFuYWdlcigpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgPC90YWJsZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGVCb2R5VGVtcGxhdGU+XG4gIDx0YWJsZSBjbGFzcz1cInBvLXRhYmxlXCIgW2NsYXNzLnBvLXRhYmxlLXN0cmlwZWRdPVwic3RyaXBlZFwiIFtjbGFzcy5wby10YWJsZS1sYXlvdXQtZml4ZWRdPVwiaGlkZVRleHRPdmVyZmxvd1wiPlxuICAgIDx0Ym9keSBjbGFzcz1cInBvLXRhYmxlLWdyb3VwLXJvd1wiICpuZ0lmPVwiIWhhc0l0ZW1zIHx8ICFoYXNNYWluQ29sdW1uc1wiPlxuICAgICAgPHRyIGNsYXNzPVwicG8tdGFibGUtcm93IHBvLXRhYmxlLXJvdy1uby1kYXRhXCI+XG4gICAgICAgIDx0ZCBbY29sU3Bhbl09XCJjb2x1bW5Db3VudFwiIGNsYXNzPVwicG8tdGFibGUtbm8tZGF0YSBwby10ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxzcGFuPiB7eyBsaXRlcmFscy5ub0RhdGEgfX0gPC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc01haW5Db2x1bW5zXCI+XG4gICAgICA8dGJvZHkgY2xhc3M9XCJwby10YWJsZS1ncm91cC1yb3dcIiAqbmdGb3I9XCJsZXQgcm93IG9mIGl0ZW1zOyBsZXQgcm93SW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgICAgICA8dHIgY2xhc3M9XCJwby10YWJsZS1yb3dcIiBbY2xhc3MucG8tdGFibGUtcm93LWFjdGl2ZV09XCJyb3cuJHNlbGVjdGVkIHx8IChyb3cuJHNlbGVjdGVkID09PSBudWxsICYmIHNlbGVjdGFibGUpXCI+XG4gICAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0YWJsZVwiIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLXNlbGVjdGFibGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaW5nbGVTZWxlY3QgPyBpbnB1dFJhZGlvIDogaW5wdXRDaGVja2JveDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHJvdyB9XCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgPCEtLSBWYWxpZGEgc2UgYSBvcmlnZW0gZG8gZGV0YWlsIMOpIHBlbG8gaW5wdXQgZG8gcG8tdGFibGUgLS0+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdJZj1cImNvbHVtbk1hc3RlckRldGFpbCAmJiAhaGlkZURldGFpbCAmJiAhaGFzUm93VGVtcGxhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tZGV0YWlsLXRvZ2dsZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRGV0YWlsKHJvdylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb1RhYmxlQ29sdW1uRGV0YWlsXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcm93OiByb3csIHJvd0luZGV4OiByb3dJbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cblxuICAgICAgICAgIDwhLS0gQ29sdW5hIGNvbSBhcyBhw6fDtWVzIG5hIGVzcXVlcmRhIChwYWRyw6NvKS0tPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCIhYWN0aW9uUmlnaHQgJiYgKHZpc2libGVBY3Rpb25zLmxlbmd0aCA+IDEgfHwgaXNTaW5nbGVBY3Rpb24pXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIkFjdGlvbnNDb2x1bW5UZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyByb3c6IHJvdywgcm93SW5kZXg6IHJvd0luZGV4IH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPCEtLSBWYWxpZGEgc2UgYSBvcmlnZW0gZG8gZGV0YWlsIMOpIHBlbGEgZGlyZXRpdmEgLS0+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdJZj1cImhhc1Jvd1RlbXBsYXRlICYmICFoYXNSb3dUZW1wbGF0ZVdpdGhBcnJvd0RpcmVjdGlvblJpZ2h0XCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLWRldGFpbC10b2dnbGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURldGFpbChyb3cpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9UYWJsZUNvbHVtbkRldGFpbFwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHJvdzogcm93LCByb3dJbmRleDogcm93SW5kZXggfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICA8dGRcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbWFpbkNvbHVtbnM7IGxldCBjb2x1bW5JbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICAgICAgICAgICAgW3N0eWxlLm1pbi13aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWNvbHVtbl09XCJjb2x1bW4udHlwZSAhPT0gJ2ljb24nXCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jb2x1bW4tcmlnaHRdPVwiY29sdW1uLnR5cGUgPT09ICdjdXJyZW5jeScgfHwgY29sdW1uLnR5cGUgPT09ICdudW1iZXInXCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jb2x1bW4tY2VudGVyXT1cImNvbHVtbi50eXBlID09PSAnc3VidGl0bGUnXCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jb2x1bW4taWNvbnNdPVwiY29sdW1uLnR5cGUgPT09ICdpY29uJ1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJnZXRDbGFzc0NvbG9yKHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0YWJsZSA/IHNlbGVjdFJvdyhyb3cpIDogJ2phdmFzY3JpcHQ6OydcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tY2VsbCBub3RyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1ib2R5LWVsbGlwc2lzXT1cImhpZGVUZXh0T3ZlcmZsb3dcIlxuICAgICAgICAgICAgICBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIlxuICAgICAgICAgICAgICBbcC10b29sdGlwXT1cInRvb2x0aXBUZXh0XCJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIm5vQ29sdW1uc0hlYWRlcj8ubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50Py5vZmZzZXRXaWR0aFwiXG4gICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInRvb2x0aXBNb3VzZUVudGVyKCRldmVudCwgY29sdW1uLCByb3cpXCJcbiAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwidG9vbHRpcE1vdXNlTGVhdmUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY29sdW1uVGVtcGxhdGUnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdldFRlbXBsYXRlKGNvbHVtbik7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBnZXRDZWxsRGF0YShyb3csIGNvbHVtbikgfVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjZWxsVGVtcGxhdGUnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlQ2VsbFRlbXBsYXRlPy50ZW1wbGF0ZVJlZjsgY29udGV4dDogeyByb3c6IHJvdywgY29sdW1uOiBjb2x1bW4gfVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidib29sZWFuJ1wiPlxuICAgICAgICAgICAgICAgIHt7IGdldEJvb2xlYW5MYWJlbChnZXRDZWxsRGF0YShyb3csIGNvbHVtbiksIGNvbHVtbikgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY3VycmVuY3knXCI+XG4gICAgICAgICAgICAgICAge3sgZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pIHwgY3VycmVuY3k6IGNvbHVtbi5mb3JtYXQ6J3N5bWJvbCc6JzEuMi0yJyB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxuICAgICAgICAgICAgICAgIHt7IGdldENlbGxEYXRhKHJvdywgY29sdW1uKSB8IGRhdGU6IGNvbHVtbi5mb3JtYXQgfHwgJ2RkL01NL3l5eXknIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3RpbWUnXCI+XG4gICAgICAgICAgICAgICAge3sgZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pIHwgcG9fdGltZTogY29sdW1uLmZvcm1hdCB8fCAnSEg6bW06c3MuZmZmZmZmJyB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkYXRlVGltZSdcIj5cbiAgICAgICAgICAgICAgICB7eyBnZXRDZWxsRGF0YShyb3csIGNvbHVtbikgfCBkYXRlOiBjb2x1bW4uZm9ybWF0IHx8ICdkZC9NTS95eXl5IEhIOm1tOnNzJyB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+XG4gICAgICAgICAgICAgICAge3sgZm9ybWF0TnVtYmVyKGdldENlbGxEYXRhKHJvdywgY29sdW1uKSwgY29sdW1uLmZvcm1hdCkgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgIDxwby10YWJsZS1jb2x1bW4tbGlua1xuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbGluaydcIlxuICAgICAgICAgICAgICAgIFtwLWFjdGlvbl09XCJjb2x1bW4uYWN0aW9uXCJcbiAgICAgICAgICAgICAgICBbcC1kaXNhYmxlZF09XCJjaGVja0Rpc2FibGVkKHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgW3AtbGlua109XCJyb3dbY29sdW1uLmxpbmtdXCJcbiAgICAgICAgICAgICAgICBbcC1yb3ddPVwicm93XCJcbiAgICAgICAgICAgICAgICBbcC12YWx1ZV09XCJnZXRDZWxsRGF0YShyb3csIGNvbHVtbilcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrTGluaygkZXZlbnQsIHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9wby10YWJsZS1jb2x1bW4tbGluaz5cblxuICAgICAgICAgICAgICA8cG8tdGFibGUtY29sdW1uLWljb25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCJcbiAgICAgICAgICAgICAgICBbcC1jb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICBbcC1pY29uc109XCJnZXRDb2x1bW5JY29ucyhyb3csIGNvbHVtbilcIlxuICAgICAgICAgICAgICAgIFtwLXJvd109XCJyb3dcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvcG8tdGFibGUtY29sdW1uLWljb24+XG5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidzdWJ0aXRsZSdcIj5cbiAgICAgICAgICAgICAgICA8cG8tdGFibGUtc3VidGl0bGUtY2lyY2xlIFtwLXN1YnRpdGxlXT1cImdldFN1YnRpdGxlQ29sdW1uKHJvdywgY29sdW1uKVwiPjwvcG8tdGFibGUtc3VidGl0bGUtY2lyY2xlPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInbGFiZWwnXCI+XG4gICAgICAgICAgICAgICAgPHBvLXRhYmxlLWNvbHVtbi1sYWJlbCBbcC12YWx1ZV09XCJnZXRDb2x1bW5MYWJlbChyb3csIGNvbHVtbilcIj4gPC9wby10YWJsZS1jb2x1bW4tbGFiZWw+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD57eyBnZXRDZWxsRGF0YShyb3csIGNvbHVtbikgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdJZj1cImhhc1Jvd1RlbXBsYXRlV2l0aEFycm93RGlyZWN0aW9uUmlnaHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tZGV0YWlsLXRvZ2dsZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRGV0YWlsKHJvdylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb1RhYmxlQ29sdW1uRGV0YWlsXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcm93OiByb3csIHJvd0luZGV4OiByb3dJbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cblxuICAgICAgICAgIDwhLS0gQ29sdW5hIGRlIGHDp29lcyBuYSBkaXJlaXRhIC0tPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb25SaWdodFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJBY3Rpb25zQ29sdW1uVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcm93OiByb3csIHJvd0luZGV4OiByb3dJbmRleCB9XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDwhLS0gQ29sdW5hIHBhcmEgbsOjbyBmaWNhciBlbSBicmFuY28gbmFzIGxpbmhhcyBkZSBnZXJlbmNpYW1lbnRvIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYWN0aW9uUmlnaHQgJiYgKHZpc2libGVBY3Rpb25zLmxlbmd0aCA+IDEgfHwgaXNTaW5nbGVBY3Rpb24pICYmICFoaWRlQ29sdW1uc01hbmFnZXJcIj5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInBvLXRhYmxlLWNvbHVtbiBwby10YWJsZS1jb2x1bW4tZW1wdHlcIj48L3RkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPCEtLSBDb2x1bW4gTWFuYWdlciAtLT5cbiAgICAgICAgICA8dGRcbiAgICAgICAgICAgICpuZ0lmPVwiIWhhc1Zpc2libGVBY3Rpb25zICYmICFoaWRlQ29sdW1uc01hbmFnZXIgJiYgIWhhc1Jvd1RlbXBsYXRlV2l0aEFycm93RGlyZWN0aW9uUmlnaHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jb2x1bW5cIlxuICAgICAgICAgID48L3RkPlxuICAgICAgICA8L3RyPlxuXG4gICAgICAgIDx0ciAqbmdJZj1cImhhc01haW5Db2x1bW5zICYmIGhhc1Jvd1RlbXBsYXRlICYmIHJvdy4kc2hvd0RldGFpbCAmJiBpc1Nob3dSb3dUZW1wbGF0ZShyb3csIHJvd0luZGV4KVwiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInBvLXRhYmxlLXJvdy10ZW1wbGF0ZS1jb250YWluZXJcIiBbY29sU3Bhbl09XCJjb2x1bW5Db3VudEZvck1hc3RlckRldGFpbFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlUm93VGVtcGxhdGUudGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgcm93SW5kZXg6IHJvd0luZGV4IH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuXG4gICAgICAgIDx0ciAqbmdJZj1cImhhc01haW5Db2x1bW5zICYmIGlzU2hvd01hc3RlckRldGFpbChyb3cpXCI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLWRldGFpbFwiIFtjb2xTcGFuXT1cImNvbHVtbkNvdW50Rm9yTWFzdGVyRGV0YWlsXCI+XG4gICAgICAgICAgICA8cG8tdGFibGUtZGV0YWlsXG4gICAgICAgICAgICAgIFtwLXNlbGVjdGFibGVdPVwic2VsZWN0YWJsZSAmJiAhZGV0YWlsSGlkZVNlbGVjdFwiXG4gICAgICAgICAgICAgIFtwLWRldGFpbF09XCJjb2x1bW5NYXN0ZXJEZXRhaWwuZGV0YWlsXCJcbiAgICAgICAgICAgICAgW3AtaXRlbXNdPVwicm93W25hbWVDb2x1bW5EZXRhaWxdXCJcbiAgICAgICAgICAgICAgKHAtc2VsZWN0LXJvdyk9XCJzZWxlY3REZXRhaWxSb3coJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3BvLXRhYmxlLWRldGFpbD5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90YWJsZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGVUZW1wbGF0ZT5cbiAgPHRhYmxlIGNsYXNzPVwicG8tdGFibGVcIiBbY2xhc3MucG8tdGFibGUtc3RyaXBlZF09XCJzdHJpcGVkXCIgW2NsYXNzLnBvLXRhYmxlLWxheW91dC1maXhlZF09XCJoaWRlVGV4dE92ZXJmbG93XCI+XG4gICAgPHRoZWFkPlxuICAgICAgPHRyIFtjbGFzcy5wby10YWJsZS1oZWFkZXJdPVwiIWhlaWdodFwiPlxuICAgICAgICA8dGggKm5nSWY9XCJoYXNTZWxlY3RhYmxlQ29sdW1uXCIgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tc2VsZWN0YWJsZVwiPlxuICAgICAgICAgIDxkaXYgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1maXhlZC1pbm5lcl09XCJoZWlnaHRcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAqbmdJZj1cIiFoaWRlU2VsZWN0QWxsXCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jaGVja2JveFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jaGVja2JveC1jaGVja2VkXT1cInNlbGVjdEFsbFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jaGVja2JveC1pbmRldGVybWluYXRlXT1cInNlbGVjdEFsbCA9PT0gbnVsbFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiIWhpZGVTZWxlY3RBbGxcIiBjbGFzcz1cInBvLXRhYmxlLWNoZWNrYm94LWxhYmVsIHBvLWNsaWNrYWJsZVwiIChjbGljayk9XCJzZWxlY3RBbGxSb3dzKClcIj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGg+XG5cbiAgICAgICAgPHRoXG4gICAgICAgICAgKm5nSWY9XCIoaGFzTWFzdGVyRGV0YWlsQ29sdW1uIHx8IGhhc1Jvd1RlbXBsYXRlKSAmJiAhaGFzUm93VGVtcGxhdGVXaXRoQXJyb3dEaXJlY3Rpb25SaWdodFwiXG4gICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1oZWFkZXItY29sdW1uIHBvLXRhYmxlLWhlYWRlci1tYXN0ZXItZGV0YWlsXCJcbiAgICAgICAgPjwvdGg+XG5cbiAgICAgICAgPCEtLSBDb2x1bmEgY3JpYWRhIHBhcmEgY2FzbyBhcyBhw6fDtWVzIGZpcXVlbSBubyBsYWRvIGVzcXVlcmRvIC0tPlxuICAgICAgICA8dGhcbiAgICAgICAgICAqbmdJZj1cIiFhY3Rpb25SaWdodCAmJiAodmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gMSB8fCBpc1NpbmdsZUFjdGlvbilcIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItbWFzdGVyLWRldGFpbF09XCIhaXNTaW5nbGVBY3Rpb25cIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItc2luZ2xlLWFjdGlvbl09XCJpc1NpbmdsZUFjdGlvblwiXG4gICAgICAgID48L3RoPlxuXG4gICAgICAgIDx0aCAqbmdJZj1cIiFoYXNNYWluQ29sdW1uc1wiICNub0NvbHVtbnNIZWFkZXIgY2xhc3M9XCJwby10YWJsZS1oZWFkZXItY29sdW1uIHBvLXRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlaWdodDsgdGhlbiBub0NvbHVtbnNXaXRoSGVpZ2h0OyBlbHNlIG5vQ29sdW1uc1dpdGhvdXRIZWlnaHRcIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGg+XG5cbiAgICAgICAgPHRoXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBtYWluQ29sdW1uczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiXG4gICAgICAgICAgI2hlYWRlcnNUYWJsZVxuICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtaGVhZGVyLWVsbGlwc2lzXCJcbiAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29sdW1uLndpZHRoXCJcbiAgICAgICAgICBbc3R5bGUubWF4LXdpZHRoXT1cImNvbHVtbi53aWR0aFwiXG4gICAgICAgICAgW3N0eWxlLm1pbi13aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICAgICAgICAgIFtjbGFzcy5wby1jbGlja2FibGVdPVwiKHNvcnQgJiYgY29sdW1uLnNvcnRhYmxlICE9PSBmYWxzZSkgfHwgaGFzU2VydmljZVwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1zdWJ0aXRsZV09XCJjb2x1bW4udHlwZSA9PT0gJ3N1YnRpdGxlJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cInNvcnRDb2x1bW4oY29sdW1uKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInBvLXRhYmxlLWhlYWRlci1mbGV4XCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItZml4ZWQtaW5uZXJdPVwiaGVpZ2h0XCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItZmxleC1yaWdodF09XCJjb2x1bW4udHlwZSA9PT0gJ2N1cnJlbmN5JyB8fCBjb2x1bW4udHlwZSA9PT0gJ251bWJlcidcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1mbGV4LWNlbnRlcl09XCJjb2x1bW4udHlwZSA9PT0gJ3N1YnRpdGxlJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRIZWFkZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNvbHVtbiB9XCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RoPlxuXG4gICAgICAgIDx0aFxuICAgICAgICAgICpuZ0lmPVwiaGFzUm93VGVtcGxhdGVXaXRoQXJyb3dEaXJlY3Rpb25SaWdodCAmJiAoaGFzVmlzaWJsZUFjdGlvbnMgfHwgaGlkZUNvbHVtbnNNYW5hZ2VyKVwiXG4gICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1oZWFkZXItY29sdW1uIHBvLXRhYmxlLWhlYWRlci1tYXN0ZXItZGV0YWlsXCJcbiAgICAgICAgPjwvdGg+XG5cbiAgICAgICAgPHRoXG4gICAgICAgICAgKm5nSWY9XCJoYXNWaXNpYmxlQWN0aW9ucyAmJiBoaWRlQ29sdW1uc01hbmFnZXIgJiYgYWN0aW9uUmlnaHRcIlxuICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItc2luZ2xlLWFjdGlvbl09XCJpc1NpbmdsZUFjdGlvblwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1hY3Rpb25zXT1cIiFpc1NpbmdsZUFjdGlvblwiXG4gICAgICAgID48L3RoPlxuXG4gICAgICAgIDx0aFxuICAgICAgICAgICNjb2x1bW5NYW5hZ2VyXG4gICAgICAgICAgKm5nSWY9XCJoYXNWYWxpZENvbHVtbnMgJiYgIWhpZGVDb2x1bW5zTWFuYWdlclwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1jb2x1bW4tbWFuYWdlcl09XCIhaXNTaW5nbGVBY3Rpb24gfHwgIWFjdGlvblJpZ2h0XCJcbiAgICAgICAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLWNvbHVtbi1tYW5hZ2VyLWJvcmRlcl09XCIhaGVpZ2h0ICYmIGNvbnRhaW5lclwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1zaW5nbGUtYWN0aW9uXT1cImlzU2luZ2xlQWN0aW9uICYmIGFjdGlvblJpZ2h0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1oZWFkZXItY29sdW1uLW1hbmFnZXItYm9yZGVyXT1cImhlaWdodCAmJiBjb250YWluZXJcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1jb2x1bW4tbWFuYWdlci1maXhlZC1pbm5lcl09XCJoZWlnaHRcIlxuICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImhlaWdodCAmJiB2aXNpYmxlQWN0aW9ucy5sZW5ndGggPyBjb2x1bW5NYW5hZ2VyLm9mZnNldFdpZHRoIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICNjb2x1bW5NYW5hZ2VyVGFyZ2V0XG4gICAgICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtaGVhZGVyLWNvbHVtbi1tYW5hZ2VyLWJ1dHRvbiBwby1pY29uIHBvLWljb24tc2V0dGluZ3MgcG8tY2xpY2thYmxlXCJcbiAgICAgICAgICAgICAgcC10b29sdGlwLXBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgICAgIFtwLXRvb2x0aXBdPVwibGl0ZXJhbHMuY29sdW1uc01hbmFnZXJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25PcGVuQ29sdW1uTWFuYWdlcigpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90aD5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cblxuICAgIDx0Ym9keSBjbGFzcz1cInBvLXRhYmxlLWdyb3VwLXJvd1wiICpuZ0lmPVwiIWhhc0l0ZW1zIHx8ICFoYXNNYWluQ29sdW1uc1wiPlxuICAgICAgPHRyIGNsYXNzPVwicG8tdGFibGUtcm93IHBvLXRhYmxlLXJvdy1uby1kYXRhXCI+XG4gICAgICAgIDx0ZCBbY29sU3Bhbl09XCJjb2x1bW5Db3VudFwiIGNsYXNzPVwicG8tdGFibGUtbm8tZGF0YSBwby10ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxzcGFuPiB7eyBsaXRlcmFscy5ub0RhdGEgfX0gPC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc01haW5Db2x1bW5zXCI+XG4gICAgICA8dGJvZHkgY2xhc3M9XCJwby10YWJsZS1ncm91cC1yb3dcIiAqbmdGb3I9XCJsZXQgcm93IG9mIGl0ZW1zOyBsZXQgcm93SW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgICAgICA8dHIgY2xhc3M9XCJwby10YWJsZS1yb3dcIiBbY2xhc3MucG8tdGFibGUtcm93LWFjdGl2ZV09XCJyb3cuJHNlbGVjdGVkIHx8IChyb3cuJHNlbGVjdGVkID09PSBudWxsICYmIHNlbGVjdGFibGUpXCI+XG4gICAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0YWJsZVwiIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLXNlbGVjdGFibGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzaW5nbGVTZWxlY3QgPyBpbnB1dFJhZGlvIDogaW5wdXRDaGVja2JveDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHJvdyB9XCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgPCEtLSBWYWxpZGEgc2UgYSBvcmlnZW0gZG8gZGV0YWlsIMOpIHBlbG8gaW5wdXQgZG8gcG8tdGFibGUgLS0+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdJZj1cImNvbHVtbk1hc3RlckRldGFpbCAmJiAhaGlkZURldGFpbCAmJiAhaGFzUm93VGVtcGxhdGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tZGV0YWlsLXRvZ2dsZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRGV0YWlsKHJvdylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb1RhYmxlQ29sdW1uRGV0YWlsXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcm93OiByb3csIHJvd0luZGV4OiByb3dJbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cblxuICAgICAgICAgIDwhLS0gQ29sdW5hIGNvbSBhcyBhw6fDtWVzIG5hIGVzcXVlcmRhIChwYWRyw6NvKS0tPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCIhYWN0aW9uUmlnaHQgJiYgKHZpc2libGVBY3Rpb25zLmxlbmd0aCA+IDEgfHwgaXNTaW5nbGVBY3Rpb24pXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIkFjdGlvbnNDb2x1bW5UZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyByb3c6IHJvdywgcm93SW5kZXg6IHJvd0luZGV4IH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPCEtLSBWYWxpZGEgc2UgYSBvcmlnZW0gZG8gZGV0YWlsIMOpIHBlbGEgZGlyZXRpdmEgLS0+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdJZj1cImhhc1Jvd1RlbXBsYXRlICYmICFoYXNSb3dUZW1wbGF0ZVdpdGhBcnJvd0RpcmVjdGlvblJpZ2h0XCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLWRldGFpbC10b2dnbGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURldGFpbChyb3cpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9UYWJsZUNvbHVtbkRldGFpbFwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHJvdzogcm93LCByb3dJbmRleDogcm93SW5kZXggfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICA8dGRcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbWFpbkNvbHVtbnM7IGxldCBjb2x1bW5JbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5XCJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICAgICAgICAgICAgW3N0eWxlLm1heC13aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICAgICAgICAgICAgW3N0eWxlLm1pbi13aWR0aF09XCJjb2x1bW4ud2lkdGhcIlxuICAgICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWNvbHVtbl09XCJjb2x1bW4udHlwZSAhPT0gJ2ljb24nXCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jb2x1bW4tcmlnaHRdPVwiY29sdW1uLnR5cGUgPT09ICdjdXJyZW5jeScgfHwgY29sdW1uLnR5cGUgPT09ICdudW1iZXInXCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jb2x1bW4tY2VudGVyXT1cImNvbHVtbi50eXBlID09PSAnc3VidGl0bGUnXCJcbiAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1jb2x1bW4taWNvbnNdPVwiY29sdW1uLnR5cGUgPT09ICdpY29uJ1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJnZXRDbGFzc0NvbG9yKHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0YWJsZSA/IHNlbGVjdFJvdyhyb3cpIDogJ2phdmFzY3JpcHQ6OydcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tY2VsbCBub3RyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5wby10YWJsZS1ib2R5LWVsbGlwc2lzXT1cImhpZGVUZXh0T3ZlcmZsb3dcIlxuICAgICAgICAgICAgICBbbmdTd2l0Y2hdPVwiY29sdW1uLnR5cGVcIlxuICAgICAgICAgICAgICBbcC10b29sdGlwXT1cInRvb2x0aXBUZXh0XCJcbiAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwidG9vbHRpcE1vdXNlRW50ZXIoJGV2ZW50LCBjb2x1bW4sIHJvdylcIlxuICAgICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJ0b29sdGlwTW91c2VMZWF2ZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjb2x1bW5UZW1wbGF0ZSdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZ2V0VGVtcGxhdGUoY29sdW1uKTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGdldENlbGxEYXRhKHJvdywgY29sdW1uKSB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2NlbGxUZW1wbGF0ZSdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVDZWxsVGVtcGxhdGU/LnRlbXBsYXRlUmVmOyBjb250ZXh0OiB7IHJvdzogcm93LCBjb2x1bW46IGNvbHVtbiB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCI+XG4gICAgICAgICAgICAgICAge3sgZ2V0Qm9vbGVhbkxhYmVsKGdldENlbGxEYXRhKHJvdywgY29sdW1uKSwgY29sdW1uKSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjdXJyZW5jeSdcIj5cbiAgICAgICAgICAgICAgICB7eyBnZXRDZWxsRGF0YShyb3csIGNvbHVtbikgfCBjdXJyZW5jeTogY29sdW1uLmZvcm1hdDonc3ltYm9sJzonMS4yLTInIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XG4gICAgICAgICAgICAgICAge3sgZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pIHwgZGF0ZTogY29sdW1uLmZvcm1hdCB8fCAnZGQvTU0veXl5eScgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndGltZSdcIj5cbiAgICAgICAgICAgICAgICB7eyBnZXRDZWxsRGF0YShyb3csIGNvbHVtbikgfCBwb190aW1lOiBjb2x1bW4uZm9ybWF0IHx8ICdISDptbTpzcy5mZmZmZmYnIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGVUaW1lJ1wiPlxuICAgICAgICAgICAgICAgIHt7IGdldENlbGxEYXRhKHJvdywgY29sdW1uKSB8IGRhdGU6IGNvbHVtbi5mb3JtYXQgfHwgJ2RkL01NL3l5eXkgSEg6bW06c3MnIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj5cbiAgICAgICAgICAgICAgICB7eyBmb3JtYXROdW1iZXIoZ2V0Q2VsbERhdGEocm93LCBjb2x1bW4pLCBjb2x1bW4uZm9ybWF0KSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgPHBvLXRhYmxlLWNvbHVtbi1saW5rXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidsaW5rJ1wiXG4gICAgICAgICAgICAgICAgW3AtYWN0aW9uXT1cImNvbHVtbi5hY3Rpb25cIlxuICAgICAgICAgICAgICAgIFtwLWRpc2FibGVkXT1cImNoZWNrRGlzYWJsZWQocm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICBbcC1saW5rXT1cInJvd1tjb2x1bW4ubGlua11cIlxuICAgICAgICAgICAgICAgIFtwLXJvd109XCJyb3dcIlxuICAgICAgICAgICAgICAgIFtwLXZhbHVlXT1cImdldENlbGxEYXRhKHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tMaW5rKCRldmVudCwgcm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3BvLXRhYmxlLWNvbHVtbi1saW5rPlxuXG4gICAgICAgICAgICAgIDxwby10YWJsZS1jb2x1bW4taWNvblxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInaWNvbidcIlxuICAgICAgICAgICAgICAgIFtwLWNvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgIFtwLWljb25zXT1cImdldENvbHVtbkljb25zKHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgW3Atcm93XT1cInJvd1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9wby10YWJsZS1jb2x1bW4taWNvbj5cblxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3N1YnRpdGxlJ1wiPlxuICAgICAgICAgICAgICAgIDxwby10YWJsZS1zdWJ0aXRsZS1jaXJjbGUgW3Atc3VidGl0bGVdPVwiZ2V0U3VidGl0bGVDb2x1bW4ocm93LCBjb2x1bW4pXCI+PC9wby10YWJsZS1zdWJ0aXRsZS1jaXJjbGU+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidsYWJlbCdcIj5cbiAgICAgICAgICAgICAgICA8cG8tdGFibGUtY29sdW1uLWxhYmVsIFtwLXZhbHVlXT1cImdldENvbHVtbkxhYmVsKHJvdywgY29sdW1uKVwiPiA8L3BvLXRhYmxlLWNvbHVtbi1sYWJlbD5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0Pnt7IGdldENlbGxEYXRhKHJvdywgY29sdW1uKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICA8dGRcbiAgICAgICAgICAgICpuZ0lmPVwiaGFzUm93VGVtcGxhdGVXaXRoQXJyb3dEaXJlY3Rpb25SaWdodFwiXG4gICAgICAgICAgICBjbGFzcz1cInBvLXRhYmxlLWNvbHVtbi1kZXRhaWwtdG9nZ2xlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEZXRhaWwocm93KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBvVGFibGVDb2x1bW5EZXRhaWxcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyByb3c6IHJvdywgcm93SW5kZXg6IHJvd0luZGV4IH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgPCEtLSBDb2x1bmEgZGUgYcOnb2VzIG5hIGRpcmVpdGEgLS0+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAqbmdJZj1cImFjdGlvblJpZ2h0XCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIkFjdGlvbnNDb2x1bW5UZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyByb3c6IHJvdywgcm93SW5kZXg6IHJvd0luZGV4IH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPCEtLSBDb2x1bmEgcGFyYSBuw6NvIGZpY2FyIGVtIGJyYW5jbyBuYXMgbGluaGFzIGRlIGdlcmVuY2lhbWVudG8gLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhY3Rpb25SaWdodCAmJiAodmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gMSB8fCBpc1NpbmdsZUFjdGlvbikgJiYgIWhpZGVDb2x1bW5zTWFuYWdlclwiPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwicG8tdGFibGUtcm93LW5vLWRhdGEgcG8tdGFibGUtY29sdW1uLWVtcHR5XCI+PC90ZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDwhLS0gQ29sdW1uIE1hbmFnZXIgLS0+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdJZj1cIiFoYXNWaXNpYmxlQWN0aW9ucyAmJiAhaGlkZUNvbHVtbnNNYW5hZ2VyICYmICFoYXNSb3dUZW1wbGF0ZVdpdGhBcnJvd0RpcmVjdGlvblJpZ2h0XCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tdGFibGUtY29sdW1uXCJcbiAgICAgICAgICA+PC90ZD5cbiAgICAgICAgPC90cj5cblxuICAgICAgICA8dHIgKm5nSWY9XCJoYXNNYWluQ29sdW1ucyAmJiBoYXNSb3dUZW1wbGF0ZSAmJiByb3cuJHNob3dEZXRhaWwgJiYgaXNTaG93Um93VGVtcGxhdGUocm93LCByb3dJbmRleClcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJwby10YWJsZS1yb3ctdGVtcGxhdGUtY29udGFpbmVyXCIgW2NvbFNwYW5dPVwiY29sdW1uQ291bnRGb3JNYXN0ZXJEZXRhaWxcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZVJvd1RlbXBsYXRlLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3csIHJvd0luZGV4OiByb3dJbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cblxuICAgICAgICA8dHIgKm5nSWY9XCJoYXNNYWluQ29sdW1ucyAmJiBpc1Nob3dNYXN0ZXJEZXRhaWwocm93KVwiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInBvLXRhYmxlLWNvbHVtbi1kZXRhaWxcIiBbY29sU3Bhbl09XCJjb2x1bW5Db3VudEZvck1hc3RlckRldGFpbFwiPlxuICAgICAgICAgICAgPHBvLXRhYmxlLWRldGFpbFxuICAgICAgICAgICAgICBbcC1zZWxlY3RhYmxlXT1cInNlbGVjdGFibGUgJiYgIWRldGFpbEhpZGVTZWxlY3RcIlxuICAgICAgICAgICAgICBbcC1kZXRhaWxdPVwiY29sdW1uTWFzdGVyRGV0YWlsLmRldGFpbFwiXG4gICAgICAgICAgICAgIFtwLWl0ZW1zXT1cInJvd1tuYW1lQ29sdW1uRGV0YWlsXVwiXG4gICAgICAgICAgICAgIChwLXNlbGVjdC1yb3cpPVwic2VsZWN0RGV0YWlsUm93KCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9wby10YWJsZS1kZXRhaWw+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdGFibGU+XG48L25nLXRlbXBsYXRlPlxuXG48cG8tcG9wdXAgI3BvcHVwIFtwLWFjdGlvbnNdPVwiYWN0aW9uc1wiIFtwLXRhcmdldF09XCJwb3B1cFRhcmdldFwiPiA8L3BvLXBvcHVwPlxuXG48bmctdGVtcGxhdGUgI3BvVGFibGVDb2x1bW5EZXRhaWwgbGV0LXJvdz1cInJvd1wiIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCIoY29udGFpbnNNYXN0ZXJEZXRhaWwocm93KSAmJiAhaGFzUm93VGVtcGxhdGUpIHx8IChpc1Nob3dSb3dUZW1wbGF0ZShyb3csIHJvd0luZGV4KSAmJiBoYXNSb3dUZW1wbGF0ZSlcIlxuICAgIGNsYXNzPVwicG8taWNvbiBwby1jbGlja2FibGVcIlxuICAgIFtjbGFzcy5wby1pY29uLWFycm93LXVwXT1cInJvdy4kc2hvd0RldGFpbFwiXG4gICAgW2NsYXNzLnBvLWljb24tYXJyb3ctZG93bl09XCIhcm93LiRzaG93RGV0YWlsXCJcbiAgPlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2lucHV0UmFkaW8gbGV0LXJvdz5cbiAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGNsYXNzPVwicG8tdGFibGUtcmFkaW9cIiBbY2xhc3MucG8tdGFibGUtcmFkaW8tY2hlY2tlZF09XCJyb3cuJHNlbGVjdGVkXCIgLz5cbiAgPGxhYmVsIGNsYXNzPVwicG8tdGFibGUtcmFkaW8tbGFiZWwgcG8tY2xpY2thYmxlXCIgKGNsaWNrKT1cInNlbGVjdGFibGUgPyBzZWxlY3RSb3cocm93KSA6ICdqYXZhc2NyaXB0OjsnXCI+PC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXRDaGVja2JveCBsZXQtcm93PlxuICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJwby10YWJsZS1jaGVja2JveFwiIFtjbGFzcy5wby10YWJsZS1jaGVja2JveC1jaGVja2VkXT1cInJvdy4kc2VsZWN0ZWRcIiAvPlxuICA8bGFiZWwgY2xhc3M9XCJwby10YWJsZS1jaGVja2JveC1sYWJlbCBwby1jbGlja2FibGVcIiAoY2xpY2spPVwic2VsZWN0YWJsZSA/IHNlbGVjdFJvdyhyb3cpIDogJ2phdmFzY3JpcHQ6OydcIj48L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50SGVhZGVyVGVtcGxhdGUgbGV0LWNvbHVtbj5cbiAgPHNwYW5cbiAgICAjY29sdW1uSGVhZGVyXG4gICAgY2xhc3M9XCJwby10YWJsZS1oZWFkZXItZWxsaXBzaXNcIlxuICAgIFtwLXRvb2x0aXBdPVwidG9vbHRpcFRleHRcIlxuICAgIChtb3VzZWVudGVyKT1cInRvb2x0aXBNb3VzZUVudGVyKCRldmVudClcIlxuICAgIChtb3VzZWxlYXZlKT1cInRvb2x0aXBNb3VzZUxlYXZlKClcIlxuICA+XG4gICAge3sgY29sdW1uLmxhYmVsIHx8IChjb2x1bW4ucHJvcGVydHkgfCB0aXRsZWNhc2UpIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cInNvcnQgJiYgY29sdW1uLnNvcnRhYmxlICE9PSBmYWxzZVwiXG4gICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1pY29uLXVuc2VsZWN0ZWRdPVwic29ydGVkQ29sdW1uPy5wcm9wZXJ0eSAhPT0gY29sdW1uXCJcbiAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLWljb24tZGVzY2VuZGluZ109XCJzb3J0ZWRDb2x1bW4/LnByb3BlcnR5ID09PSBjb2x1bW4gJiYgc29ydGVkQ29sdW1uLmFzY2VuZGluZ1wiXG4gICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1pY29uLWFzY2VuZGluZ109XCJzb3J0ZWRDb2x1bW4/LnByb3BlcnR5ID09PSBjb2x1bW4gJiYgIXNvcnRlZENvbHVtbi5hc2NlbmRpbmdcIlxuICA+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbm9Db2x1bW5zV2l0aEhlaWdodD5cbiAgPGRpdiBjbGFzcz1cInBvLXRhYmxlLWhlYWRlci1maXhlZC1pbm5lclwiIFtzdHlsZS53aWR0aC5weF09XCJub0NvbHVtbnNIZWFkZXI/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGhcIj5cbiAgICB7eyBoYXNWYWxpZENvbHVtbnMgPyBsaXRlcmFscy5ub1Zpc2libGVDb2x1bW4gOiBsaXRlcmFscy5ub0NvbHVtbnMgfX1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25vQ29sdW1uc1dpdGhvdXRIZWlnaHQ+XG4gIHt7IGhhc1ZhbGlkQ29sdW1ucyA/IGxpdGVyYWxzLm5vVmlzaWJsZUNvbHVtbiA6IGxpdGVyYWxzLm5vQ29sdW1ucyB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBUZW1wbGF0ZSBkZSBhw6fDtWVzIC0tPlxuPG5nLXRlbXBsYXRlICNBY3Rpb25zQ29sdW1uVGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XG4gIDx0ZCAqbmdJZj1cImlzU2luZ2xlQWN0aW9uXCIgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4gcG8tdGFibGUtY29sdW1uLXNpbmdsZS1hY3Rpb25cIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImZpcnN0QWN0aW9uLnZpc2libGUgIT09IGZhbHNlXCJcbiAgICAgIGNsYXNzPVwicG8tdGFibGUtc2luZ2xlLWFjdGlvbiBwby1jbGlja2FibGVcIlxuICAgICAgW2NsYXNzLnBvLXRhYmxlLWFjdGlvbi1kaXNhYmxlZF09XCJmaXJzdEFjdGlvbi5kaXNhYmxlZCA/IHZhbGlkYXRlVGFibGVBY3Rpb24ocm93LCBmaXJzdEFjdGlvbikgOiBmYWxzZVwiXG4gICAgICAoY2xpY2spPVwiZXhlY3V0ZVRhYmxlQWN0aW9uKHJvdywgZmlyc3RBY3Rpb24pXCJcbiAgICA+XG4gICAgICA8cG8taWNvbiAqbmdJZj1cImZpcnN0QWN0aW9uLmljb25cIiBjbGFzcz1cInBvLXRhYmxlLXNpbmdsZS1hY3Rpb24tY29udGVudFwiIFtwLWljb25dPVwiZmlyc3RBY3Rpb24uaWNvblwiPjwvcG8taWNvbj5cbiAgICAgIHt7IGZpcnN0QWN0aW9uLmxhYmVsIH19XG4gICAgPC9kaXY+XG4gIDwvdGQ+XG5cbiAgPHRkICpuZ0lmPVwidmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gMVwiIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLWFjdGlvbnNcIj5cbiAgICA8c3BhbiAjcG9wdXBUYXJnZXQgY2xhc3M9XCJwby1pY29uIHBvLWljb24tbW9yZSBwby1jbGlja2FibGVcIiAoY2xpY2spPVwidG9nZ2xlUG9wdXAocm93LCBwb3B1cFRhcmdldClcIj48L3NwYW4+XG4gIDwvdGQ+XG48L25nLXRlbXBsYXRlPlxuXG48cG8tdGFibGUtY29sdW1uLW1hbmFnZXJcbiAgKm5nSWY9XCIhaGlkZUNvbHVtbnNNYW5hZ2VyXCJcbiAgW3AtY29sdW1uc109XCJjb2x1bW5zXCJcbiAgW3AtbWF4LWNvbHVtbnNdPVwibWF4Q29sdW1uc1wiXG4gIFtwLXRhcmdldF09XCJjb2x1bW5NYW5hZ2VyVGFyZ2V0XCJcbiAgW3AtbGFzdC12aXNpYmxlLWNvbHVtbnMtc2VsZWN0ZWRdPVwibGFzdFZpc2libGVDb2x1bW5zU2VsZWN0ZWRcIlxuICAocC12aXNpYmxlLWNvbHVtbnMtY2hhbmdlKT1cIm9uVmlzaWJsZUNvbHVtbnNDaGFuZ2UoJGV2ZW50KVwiXG4gIChwLWNoYW5nZS12aXNpYmxlLWNvbHVtbnMpPVwib25DaGFuZ2VWaXNpYmxlQ29sdW1ucygkZXZlbnQpXCJcbiAgW3AtY29sdW1ucy1kZWZhdWx0XT1cImluaXRpYWxDb2x1bW5zXCJcbiAgKHAtaW5pdGlhbC1jb2x1bW5zKT1cIm9uQ29sdW1uUmVzdG9yZU1hbmFnZXIoJGV2ZW50KVwiXG4+XG48L3BvLXRhYmxlLWNvbHVtbi1tYW5hZ2VyPlxuIl19
|