@alauda-fe/common 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/array-form-table/form/component.d.ts +1 -1
- package/authorization/interceptor.service.d.ts +0 -1
- package/authorization/state.service.d.ts +13 -13
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/core/constants/patterns.d.ts +4 -0
- package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
- package/core/module.d.ts +21 -21
- package/core/pipes/time.pipe.d.ts +1 -1
- package/core/services/context.service.d.ts +3 -4
- package/core/services/feature-gate.service.d.ts +1 -1
- package/core/services/workspace-helper.service.d.ts +3 -1
- package/core/utils/common.d.ts +0 -2
- package/core/utils/public-api.d.ts +1 -0
- package/core/utils/router.d.ts +3 -0
- package/core/utils/version.d.ts +1 -1
- package/editable/editable.component.d.ts +23 -0
- package/editable/editable.directive.d.ts +9 -0
- package/editable/editable.type.d.ts +5 -0
- package/editable/public-api.d.ts +2 -0
- package/esm2022/authorization/guard.service.mjs +2 -2
- package/esm2022/authorization/interceptor.service.mjs +7 -22
- package/esm2022/authorization/state.service.mjs +58 -92
- package/esm2022/core/constants/patterns.mjs +6 -4
- package/esm2022/core/module.mjs +7 -12
- package/esm2022/core/pipes/time.pipe.mjs +3 -3
- package/esm2022/core/services/context.service.mjs +9 -12
- package/esm2022/core/services/workspace-helper.service.mjs +7 -1
- package/esm2022/core/types/k8s/crd.mjs +1 -1
- package/esm2022/core/utils/common.mjs +1 -11
- package/esm2022/core/utils/public-api.mjs +2 -1
- package/esm2022/core/utils/router.mjs +20 -0
- package/esm2022/editable/editable.component.mjs +136 -0
- package/esm2022/editable/editable.directive.mjs +25 -0
- package/esm2022/editable/editable.type.mjs +6 -0
- package/esm2022/editable/public-api.mjs +3 -0
- package/esm2022/exec/terminal/component.mjs +12 -19
- package/esm2022/k8s-resource-list/footer/component.mjs +57 -21
- package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +18 -6
- package/esm2022/k8s-resource-list/utils.mjs +7 -3
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +55 -53
- package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +4 -4
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +6 -10
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +6 -6
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +51 -40
- package/esm2022/pie-derivative-chart/units.mjs +14 -0
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/table/component.mjs +47 -30
- package/esm2022/table/module.mjs +1 -1
- package/esm2022/view-chart/view-chart.component.mjs +5 -8
- package/esm2022/widget/public-api.mjs +2 -1
- package/esm2022/widget/resource-label/component.mjs +131 -0
- package/esm2022/widget/zero-state/zero-state.component.mjs +36 -21
- package/exec/terminal/component.d.ts +1 -3
- package/k8s-resource-list/footer/component.d.ts +8 -1
- package/k8s-resource-list/k8s-resource-list.module.d.ts +1 -1
- package/k8s-resource-list/k8s-resource-paged-list.d.ts +2 -2
- package/package.json +1 -1
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -3
- package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +4 -0
- package/pie-derivative-chart/units.d.ts +2 -0
- package/public-api.d.ts +1 -0
- package/styles/global.scss +1 -0
- package/styles/tailwind-preset.scss +1 -1
- package/table/component.d.ts +5 -4
- package/table/helper.d.ts +1 -1
- package/table/module.d.ts +1 -1
- package/widget/public-api.d.ts +1 -0
- package/widget/resource-label/component.d.ts +25 -0
- package/widget/zero-state/zero-state.component.d.ts +4 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { handlePixel } from '@alauda/ui';
|
|
3
|
-
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostBinding, Input, Output, QueryList, } from '@angular/core';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostBinding, Input, Output, QueryList, TemplateRef, } from '@angular/core';
|
|
4
4
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
5
5
|
import { get, isFunction, isObjectLike, isString, last } from 'lodash-es';
|
|
6
6
|
import { BehaviorSubject, combineLatest, map, merge, Observable, of, ReplaySubject, switchMap, tap, } from 'rxjs';
|
|
@@ -162,6 +162,17 @@ function TableComponent_ng_container_9_ng_container_1_ng_container_4_Template(rf
|
|
|
162
162
|
i0.ɵɵadvance();
|
|
163
163
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(3, 5, "no_named_data_hint", i0.ɵɵpureFunction1(8, _c3, ctx_r2.resourceNameTranslated || i0.ɵɵpipeBind3(2, 1, finalResourceName_r16, null, true))), " ");
|
|
164
164
|
} }
|
|
165
|
+
function TableComponent_ng_container_9_ng_container_1_ng_container_10_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
166
|
+
i0.ɵɵelementContainer(0, 28);
|
|
167
|
+
} if (rf & 2) {
|
|
168
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
169
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.loadingErrorTemplate);
|
|
170
|
+
} }
|
|
171
|
+
function TableComponent_ng_container_9_ng_container_1_ng_container_10_Template(rf, ctx) { if (rf & 1) {
|
|
172
|
+
i0.ɵɵelementContainerStart(0);
|
|
173
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_ng_container_10_ng_container_1_Template, 1, 1, "ng-container", 27);
|
|
174
|
+
i0.ɵɵelementContainerEnd();
|
|
175
|
+
} }
|
|
165
176
|
function TableComponent_ng_container_9_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
166
177
|
i0.ɵɵelementContainerStart(0);
|
|
167
178
|
i0.ɵɵelementStart(1, "div", 25);
|
|
@@ -170,10 +181,12 @@ function TableComponent_ng_container_9_ng_container_1_Template(rf, ctx) { if (rf
|
|
|
170
181
|
i0.ɵɵtemplate(4, TableComponent_ng_container_9_ng_container_1_ng_container_4_Template, 4, 10, "ng-container", 22);
|
|
171
182
|
i0.ɵɵpipe(5, "async");
|
|
172
183
|
i0.ɵɵelementEnd();
|
|
173
|
-
i0.ɵɵ
|
|
184
|
+
i0.ɵɵelementStart(6, "acl-k8s-resource-list-footer", 26);
|
|
174
185
|
i0.ɵɵpipe(7, "async");
|
|
175
186
|
i0.ɵɵpipe(8, "async");
|
|
176
187
|
i0.ɵɵpipe(9, "async");
|
|
188
|
+
i0.ɵɵtemplate(10, TableComponent_ng_container_9_ng_container_1_ng_container_10_Template, 2, 0, "ng-container", 15);
|
|
189
|
+
i0.ɵɵelementEnd();
|
|
177
190
|
i0.ɵɵelementContainerEnd();
|
|
178
191
|
} if (rf & 2) {
|
|
179
192
|
let tmp_7_0;
|
|
@@ -181,11 +194,13 @@ function TableComponent_ng_container_9_ng_container_1_Template(rf, ctx) { if (rf
|
|
|
181
194
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
182
195
|
const noData_r17 = i0.ɵɵreference(20);
|
|
183
196
|
i0.ɵɵadvance();
|
|
184
|
-
i0.ɵɵproperty("hidden", ((tmp_7_0 = i0.ɵɵpipeBind1(2,
|
|
197
|
+
i0.ɵɵproperty("hidden", ((tmp_7_0 = i0.ɵɵpipeBind1(2, 9, ctx_r2.pagedItems$)) == null ? null : tmp_7_0.length) || !((tmp_7_0 = i0.ɵɵpipeBind1(3, 11, ctx_r2.list.items$)) == null ? null : tmp_7_0.length));
|
|
185
198
|
i0.ɵɵadvance(3);
|
|
186
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5,
|
|
199
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(5, 13, ctx_r2.finalResourceName$))("ngIfElse", noData_r17);
|
|
187
200
|
i0.ɵɵadvance(2);
|
|
188
|
-
i0.ɵɵproperty("hidden", !((tmp_10_0 = i0.ɵɵpipeBind1(7,
|
|
201
|
+
i0.ɵɵproperty("hidden", !((tmp_10_0 = i0.ɵɵpipeBind1(7, 15, ctx_r2.pagedItems$)) == null ? null : tmp_10_0.length) && ((tmp_10_0 = i0.ɵɵpipeBind1(8, 17, ctx_r2.list.items$)) == null ? null : tmp_10_0.length))("list", ctx_r2.list)("resourceName", i0.ɵɵpipeBind1(9, 19, ctx_r2.finalResourceName$))("resourceNameTranslated", ctx_r2.resourceNameTranslated)("firstScrollLoad", ctx_r2.firstScrollLoad);
|
|
202
|
+
i0.ɵɵadvance(4);
|
|
203
|
+
i0.ɵɵproperty("ngIf", ctx_r2.loadingErrorTemplate);
|
|
189
204
|
} }
|
|
190
205
|
function TableComponent_ng_container_9_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
191
206
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -199,7 +214,7 @@ function TableComponent_ng_container_9_div_2_ng_container_1_Template(rf, ctx) {
|
|
|
199
214
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.noDataHint || i0.ɵɵpipeBind2(3, 5, "no_named_data_hint", i0.ɵɵpureFunction1(8, _c3, ctx_r2.resourceNameTranslated || i0.ɵɵpipeBind3(2, 1, ctx_r2.resourceName, null, true))), " ");
|
|
200
215
|
} }
|
|
201
216
|
function TableComponent_ng_container_9_div_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
202
|
-
i0.ɵɵelement(0, "aui-icon",
|
|
217
|
+
i0.ɵɵelement(0, "aui-icon", 30);
|
|
203
218
|
i0.ɵɵtext(1);
|
|
204
219
|
i0.ɵɵpipe(2, "translate");
|
|
205
220
|
} if (rf & 2) {
|
|
@@ -207,7 +222,7 @@ function TableComponent_ng_container_9_div_2_ng_template_3_Template(rf, ctx) { i
|
|
|
207
222
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "loading_please_wait"), " ");
|
|
208
223
|
} }
|
|
209
224
|
function TableComponent_ng_container_9_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
210
|
-
i0.ɵɵelementStart(0, "div",
|
|
225
|
+
i0.ɵɵelementStart(0, "div", 29);
|
|
211
226
|
i0.ɵɵtemplate(1, TableComponent_ng_container_9_div_2_ng_container_1_Template, 4, 10, "ng-container", 22);
|
|
212
227
|
i0.ɵɵpipe(2, "async");
|
|
213
228
|
i0.ɵɵtemplate(3, TableComponent_ng_container_9_div_2_ng_template_3_Template, 3, 3, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
|
|
@@ -220,7 +235,7 @@ function TableComponent_ng_container_9_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
220
235
|
} }
|
|
221
236
|
function TableComponent_ng_container_9_Template(rf, ctx) { if (rf & 1) {
|
|
222
237
|
i0.ɵɵelementContainerStart(0);
|
|
223
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_Template,
|
|
238
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_9_ng_container_1_Template, 11, 21, "ng-container", 15)(2, TableComponent_ng_container_9_div_2_Template, 5, 4, "div", 24);
|
|
224
239
|
i0.ɵɵpipe(3, "async");
|
|
225
240
|
i0.ɵɵelementContainerEnd();
|
|
226
241
|
} if (rf & 2) {
|
|
@@ -234,7 +249,7 @@ function TableComponent_ng_container_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
234
249
|
function TableComponent_ng_container_10_Template(rf, ctx) { if (rf & 1) {
|
|
235
250
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
236
251
|
i0.ɵɵelementContainerStart(0);
|
|
237
|
-
i0.ɵɵelementStart(1, "aui-paginator",
|
|
252
|
+
i0.ɵɵelementStart(1, "aui-paginator", 31);
|
|
238
253
|
i0.ɵɵpipe(2, "async");
|
|
239
254
|
i0.ɵɵpipe(3, "async");
|
|
240
255
|
i0.ɵɵlistener("currentPageChange", function TableComponent_ng_container_10_Template_aui_paginator_currentPageChange_1_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.currentPage$.next($event)); })("pageSizeChange", function TableComponent_ng_container_10_Template_aui_paginator_pageSizeChange_1_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.pageSize$.next($event)); });
|
|
@@ -247,7 +262,7 @@ function TableComponent_ng_container_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
247
262
|
} }
|
|
248
263
|
function TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
249
264
|
i0.ɵɵelementContainerStart(0);
|
|
250
|
-
i0.ɵɵelementStart(1, "a",
|
|
265
|
+
i0.ɵɵelementStart(1, "a", 39);
|
|
251
266
|
i0.ɵɵpipe(2, "async");
|
|
252
267
|
i0.ɵɵtext(3);
|
|
253
268
|
i0.ɵɵelementEnd();
|
|
@@ -261,7 +276,7 @@ function TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Templ
|
|
|
261
276
|
i0.ɵɵtextInterpolate1(" ", name_r20, " ");
|
|
262
277
|
} }
|
|
263
278
|
function TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
264
|
-
i0.ɵɵelementStart(0, "span",
|
|
279
|
+
i0.ɵɵelementStart(0, "span", 40);
|
|
265
280
|
i0.ɵɵpipe(1, "aclIsDeleting");
|
|
266
281
|
i0.ɵɵtext(2);
|
|
267
282
|
i0.ɵɵelementEnd();
|
|
@@ -274,16 +289,16 @@ function TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Templa
|
|
|
274
289
|
i0.ɵɵtextInterpolate(name_r20);
|
|
275
290
|
} }
|
|
276
291
|
function TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template(rf, ctx) { if (rf & 1) {
|
|
277
|
-
i0.ɵɵelement(0, "acl-deleting-tag",
|
|
292
|
+
i0.ɵɵelement(0, "acl-deleting-tag", 41);
|
|
278
293
|
} if (rf & 2) {
|
|
279
294
|
const data_r21 = i0.ɵɵnextContext(3).data;
|
|
280
295
|
i0.ɵɵproperty("resource", data_r21);
|
|
281
296
|
} }
|
|
282
297
|
function TableComponent_ng_template_11_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
283
|
-
i0.ɵɵelementStart(0, "div",
|
|
298
|
+
i0.ɵɵelementStart(0, "div", 37);
|
|
284
299
|
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_ng_container_1_Template, 4, 8, "ng-container", 22);
|
|
285
300
|
i0.ɵɵpipe(2, "aclIsDeleting");
|
|
286
|
-
i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template, 3, 6, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor)(5, TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template, 1, 1, "acl-deleting-tag",
|
|
301
|
+
i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_1_ng_template_3_Template, 3, 6, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor)(5, TableComponent_ng_template_11_ng_container_1_div_1_acl_deleting_tag_5_Template, 1, 1, "acl-deleting-tag", 38);
|
|
287
302
|
i0.ɵɵpipe(6, "pure");
|
|
288
303
|
i0.ɵɵelementEnd();
|
|
289
304
|
} if (rf & 2) {
|
|
@@ -298,7 +313,7 @@ function TableComponent_ng_template_11_ng_container_1_div_1_Template(rf, ctx) {
|
|
|
298
313
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(6, 5, data_r21, ctx_r2.isK8sResource));
|
|
299
314
|
} }
|
|
300
315
|
function TableComponent_ng_template_11_ng_container_1_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
301
|
-
i0.ɵɵelementStart(0, "div",
|
|
316
|
+
i0.ɵɵelementStart(0, "div", 42);
|
|
302
317
|
i0.ɵɵpipe(1, "aclIsDeleting");
|
|
303
318
|
i0.ɵɵtext(2);
|
|
304
319
|
i0.ɵɵelementEnd();
|
|
@@ -311,9 +326,9 @@ function TableComponent_ng_template_11_ng_container_1_div_3_Template(rf, ctx) {
|
|
|
311
326
|
} }
|
|
312
327
|
function TableComponent_ng_template_11_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
313
328
|
i0.ɵɵelementContainerStart(0);
|
|
314
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_Template, 7, 8, "div",
|
|
329
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_div_1_Template, 7, 8, "div", 35);
|
|
315
330
|
i0.ɵɵpipe(2, "pure");
|
|
316
|
-
i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_3_Template, 3, 5, "div",
|
|
331
|
+
i0.ɵɵtemplate(3, TableComponent_ng_template_11_ng_container_1_div_3_Template, 3, 5, "div", 36);
|
|
317
332
|
i0.ɵɵpipe(4, "pure");
|
|
318
333
|
i0.ɵɵpipe(5, "aclDisplayName");
|
|
319
334
|
i0.ɵɵelementContainerEnd();
|
|
@@ -329,7 +344,7 @@ function TableComponent_ng_template_11_ng_container_1_Template(rf, ctx) { if (rf
|
|
|
329
344
|
} }
|
|
330
345
|
function TableComponent_ng_template_11_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
331
346
|
i0.ɵɵelementContainerStart(0);
|
|
332
|
-
i0.ɵɵelement(1, "acl-relative-time",
|
|
347
|
+
i0.ɵɵelement(1, "acl-relative-time", 43);
|
|
333
348
|
i0.ɵɵpipe(2, "pure");
|
|
334
349
|
i0.ɵɵelementContainerEnd();
|
|
335
350
|
} if (rf & 2) {
|
|
@@ -342,8 +357,8 @@ function TableComponent_ng_template_11_ng_container_2_Template(rf, ctx) { if (rf
|
|
|
342
357
|
} }
|
|
343
358
|
function TableComponent_ng_template_11_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
344
359
|
i0.ɵɵelementContainerStart(0);
|
|
345
|
-
i0.ɵɵelementStart(1, "button",
|
|
346
|
-
i0.ɵɵelement(2, "aui-icon",
|
|
360
|
+
i0.ɵɵelementStart(1, "button", 44);
|
|
361
|
+
i0.ɵɵelement(2, "aui-icon", 45);
|
|
347
362
|
i0.ɵɵelementEnd();
|
|
348
363
|
i0.ɵɵelementContainerEnd();
|
|
349
364
|
} if (rf & 2) {
|
|
@@ -385,8 +400,8 @@ function TableComponent_ng_template_11_ng_container_4_Template(rf, ctx) { if (rf
|
|
|
385
400
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(2, 2, data_r21, ctx_r2.getValueFromPath, columnDef_r24.name))("ngIfElse", empty_r28);
|
|
386
401
|
} }
|
|
387
402
|
function TableComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
|
|
388
|
-
i0.ɵɵelementContainerStart(0,
|
|
389
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_Template, 6, 11, "ng-container",
|
|
403
|
+
i0.ɵɵelementContainerStart(0, 32);
|
|
404
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_11_ng_container_1_Template, 6, 11, "ng-container", 33)(2, TableComponent_ng_template_11_ng_container_2_Template, 3, 5, "ng-container", 33)(3, TableComponent_ng_template_11_ng_container_3_Template, 3, 6, "ng-container", 33)(4, TableComponent_ng_template_11_ng_container_4_Template, 3, 6, "ng-container", 34);
|
|
390
405
|
i0.ɵɵelementContainerEnd();
|
|
391
406
|
} if (rf & 2) {
|
|
392
407
|
const columnDef_r24 = ctx.columnDef;
|
|
@@ -400,7 +415,7 @@ function TableComponent_ng_template_11_Template(rf, ctx) { if (rf & 1) {
|
|
|
400
415
|
i0.ɵɵproperty("ngSwitchCase", ctx_r2.ACTION);
|
|
401
416
|
} }
|
|
402
417
|
function TableComponent_ng_template_13_ng_container_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
403
|
-
i0.ɵɵelementStart(0, "div",
|
|
418
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
404
419
|
i0.ɵɵtext(1);
|
|
405
420
|
i0.ɵɵelementEnd();
|
|
406
421
|
} if (rf & 2) {
|
|
@@ -417,7 +432,7 @@ function TableComponent_ng_template_13_ng_container_0_ng_template_2_Template(rf,
|
|
|
417
432
|
} }
|
|
418
433
|
function TableComponent_ng_template_13_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
419
434
|
i0.ɵɵelementContainerStart(0);
|
|
420
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_0_div_1_Template, 2, 2, "div",
|
|
435
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_13_ng_container_0_div_1_Template, 2, 2, "div", 46)(2, TableComponent_ng_template_13_ng_container_0_ng_template_2_Template, 1, 1, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
|
|
421
436
|
i0.ɵɵelementContainerEnd();
|
|
422
437
|
} if (rf & 2) {
|
|
423
438
|
const plainText_r30 = i0.ɵɵreference(3);
|
|
@@ -439,7 +454,7 @@ function TableComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
|
|
|
439
454
|
} }
|
|
440
455
|
function TableComponent_ng_template_15_acl_disabled_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
441
456
|
const _r33 = i0.ɵɵgetCurrentView();
|
|
442
|
-
i0.ɵɵelementStart(0, "acl-disabled-container",
|
|
457
|
+
i0.ɵɵelementStart(0, "acl-disabled-container", 49);
|
|
443
458
|
i0.ɵɵpipe(1, "pure");
|
|
444
459
|
i0.ɵɵpipe(2, "pure");
|
|
445
460
|
i0.ɵɵpipe(3, "pure");
|
|
@@ -460,7 +475,7 @@ function TableComponent_ng_template_15_acl_disabled_container_1_Template(rf, ctx
|
|
|
460
475
|
} }
|
|
461
476
|
function TableComponent_ng_template_15_acl_disabled_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
462
477
|
const _r37 = i0.ɵɵgetCurrentView();
|
|
463
|
-
i0.ɵɵelementStart(0, "acl-disabled-container",
|
|
478
|
+
i0.ɵɵelementStart(0, "acl-disabled-container", 49);
|
|
464
479
|
i0.ɵɵpipe(1, "pure");
|
|
465
480
|
i0.ɵɵpipe(2, "pure");
|
|
466
481
|
i0.ɵɵpipe(3, "pure");
|
|
@@ -481,7 +496,7 @@ function TableComponent_ng_template_15_acl_disabled_container_2_Template(rf, ctx
|
|
|
481
496
|
} }
|
|
482
497
|
function TableComponent_ng_template_15_Template(rf, ctx) { if (rf & 1) {
|
|
483
498
|
i0.ɵɵelementStart(0, "aui-menu");
|
|
484
|
-
i0.ɵɵtemplate(1, TableComponent_ng_template_15_acl_disabled_container_1_Template, 8, 20, "acl-disabled-container",
|
|
499
|
+
i0.ɵɵtemplate(1, TableComponent_ng_template_15_acl_disabled_container_1_Template, 8, 20, "acl-disabled-container", 48)(2, TableComponent_ng_template_15_acl_disabled_container_2_Template, 8, 20, "acl-disabled-container", 48);
|
|
485
500
|
i0.ɵɵelementEnd();
|
|
486
501
|
} if (rf & 2) {
|
|
487
502
|
const columnDef_r36 = ctx.columnDef;
|
|
@@ -700,7 +715,7 @@ export class TableComponent {
|
|
|
700
715
|
} }, hostVars: 4, hostBindings: function TableComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
701
716
|
i0.ɵɵstyleProp("max-height", ctx.scrollWrapperHeight);
|
|
702
717
|
i0.ɵɵclassProp("aui-table__scroll-wrapper", ctx.scrollWrapper);
|
|
703
|
-
} }, inputs: { list: "list", dataSource: "dataSource", resourceName: "resourceName", resourceNameTranslated: "resourceNameTranslated", sticky: "sticky", permissions: "permissions", columns: "columns", filterParams: "filterParams", context: "context", filterFn: "filterFn", trackBy: "trackBy", noDataHint: "noDataHint", enablePagination: "enablePagination", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", paginationLayout: "paginationLayout", firstScrollLoad: "firstScrollLoad" }, outputs: { update: "update", delete: "delete", sortChange: "sortChange" }, decls: 21, vars: 21, consts: [["defaultTableCell", ""], ["tableCellContent", ""], ["menu", ""], ["empty", ""], ["noData", ""], ["tableCellDefTpl", ""], ["defaultTableCellTpl", ""], ["loading", ""], ["plainName", ""], ["plainText", ""], ["auiSort", "", 3, "sortChange", "active", "direction", "dataSource", "trackBy", "auiTableScrollable"], [3, "auiTableColumnDef", "sticky", "stickyEnd", 4, "ngFor", "ngForOf", "ngForTrackBy"], [4, "auiTableHeaderRowDef", "auiTableHeaderRowDefSticky"], [4, "auiTableRowDef", "auiTableRowDefColumns"], [4, "auiTablePlaceholderDef"], [4, "ngIf"], [3, "auiTableColumnDef", "sticky", "stickyEnd"], [3, "style", 4, "auiTableHeaderCellDef"], [3, "direction", "ngClass", "style", 4, "auiTableCellDef"], ["aui-sort-header", "", 3, "start", 4, "ngIf"], ["aui-sort-header", "", 3, "start"], [3, "direction", "ngClass"], [4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "empty-placeholder", 4, "ngIf"], [1, "empty-placeholder", 3, "hidden"], [3, "hidden", "list", "resourceName", "resourceNameTranslated", "firstScrollLoad"], [1, "empty-placeholder"], ["size", "16px", "icon", "spinner", 1, "acl-loading-mask__icon"], [3, "currentPageChange", "pageSizeChange", "layout", "currentPage", "pageSize", "total", "pageSizeOptions"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], ["class", "aui-table__cell__name", 4, "ngIf"], ["class", "aui-table__cell__display-name", 3, "deleting-text", 4, "ngIf"], [1, "aui-table__cell__name"], [3, "resource", 4, "ngIf"], [3, "routerLink", "auiTooltip"], [3, "auiTooltip"], [3, "resource"], [1, "aui-table__cell__display-name"], [3, "time"], ["aui-button", "text", "size", "small", 3, "square", "auiDropdown", "auiDropdownContext"], ["icon", "ellipsis_v_s"], ["class", "text-overflow", 3, "auiTooltip", 4, "ngIf", "ngIfElse"], [1, "text-overflow", 3, "auiTooltip"], [3, "isAllowed", "isDisabled", "tooltip", "click", 4, "ngIf"], [3, "click", "isAllowed", "isDisabled", "tooltip"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
718
|
+
} }, inputs: { list: "list", dataSource: "dataSource", resourceName: "resourceName", resourceNameTranslated: "resourceNameTranslated", sticky: "sticky", permissions: "permissions", columns: "columns", filterParams: "filterParams", context: "context", filterFn: "filterFn", trackBy: "trackBy", noDataHint: "noDataHint", loadingErrorTemplate: "loadingErrorTemplate", enablePagination: "enablePagination", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", paginationLayout: "paginationLayout", firstScrollLoad: "firstScrollLoad" }, outputs: { update: "update", delete: "delete", sortChange: "sortChange" }, decls: 21, vars: 21, consts: [["defaultTableCell", ""], ["tableCellContent", ""], ["menu", ""], ["empty", ""], ["noData", ""], ["tableCellDefTpl", ""], ["defaultTableCellTpl", ""], ["loading", ""], ["plainName", ""], ["plainText", ""], ["auiSort", "", 3, "sortChange", "active", "direction", "dataSource", "trackBy", "auiTableScrollable"], [3, "auiTableColumnDef", "sticky", "stickyEnd", 4, "ngFor", "ngForOf", "ngForTrackBy"], [4, "auiTableHeaderRowDef", "auiTableHeaderRowDefSticky"], [4, "auiTableRowDef", "auiTableRowDefColumns"], [4, "auiTablePlaceholderDef"], [4, "ngIf"], [3, "auiTableColumnDef", "sticky", "stickyEnd"], [3, "style", 4, "auiTableHeaderCellDef"], [3, "direction", "ngClass", "style", 4, "auiTableCellDef"], ["aui-sort-header", "", 3, "start", 4, "ngIf"], ["aui-sort-header", "", 3, "start"], [3, "direction", "ngClass"], [4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "empty-placeholder", 4, "ngIf"], [1, "empty-placeholder", 3, "hidden"], [3, "hidden", "list", "resourceName", "resourceNameTranslated", "firstScrollLoad"], [3, "ngTemplateOutlet", 4, "aclK8sListFooterLoadingError"], [3, "ngTemplateOutlet"], [1, "empty-placeholder"], ["size", "16px", "icon", "spinner", 1, "acl-loading-mask__icon"], [3, "currentPageChange", "pageSizeChange", "layout", "currentPage", "pageSize", "total", "pageSizeOptions"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], ["class", "aui-table__cell__name", 4, "ngIf"], ["class", "aui-table__cell__display-name", 3, "deleting-text", 4, "ngIf"], [1, "aui-table__cell__name"], [3, "resource", 4, "ngIf"], [3, "routerLink", "auiTooltip"], [3, "auiTooltip"], [3, "resource"], [1, "aui-table__cell__display-name"], [3, "time"], ["aui-button", "text", "size", "small", 3, "square", "auiDropdown", "auiDropdownContext"], ["icon", "ellipsis_v_s"], ["class", "text-overflow", 3, "auiTooltip", 4, "ngIf", "ngIfElse"], [1, "text-overflow", 3, "auiTooltip"], [3, "isAllowed", "isDisabled", "tooltip", "click", 4, "ngIf"], [3, "click", "isAllowed", "isDisabled", "tooltip"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
704
719
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
705
720
|
i0.ɵɵelementStart(0, "aui-table", 10);
|
|
706
721
|
i0.ɵɵpipe(1, "async");
|
|
@@ -755,7 +770,7 @@ __decorate([
|
|
|
755
770
|
], TableComponent.prototype, "filterFn$", void 0);
|
|
756
771
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
757
772
|
type: Component,
|
|
758
|
-
args: [{ selector: 'acl-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-table\n auiSort\n [active]=\"(activeSort$ | async)?.active\"\n [direction]=\"(activeSort$ | async)?.direction\"\n [dataSource]=\"pagedItems$\"\n [trackBy]=\"trackBy\"\n (sortChange)=\"onSortChange($event)\"\n [auiTableScrollable]=\"!!sticky\"\n>\n <ng-container\n *ngFor=\"let columnDef of columnDefs$ | async; trackBy: trackByName\"\n [auiTableColumnDef]=\"columnDef.name\"\n [sticky]=\"columnDef.sticky\"\n [stickyEnd]=\"columnDef.stickyEnd\"\n >\n <aui-table-header-cell\n *auiTableHeaderCellDef\n [style]=\"columnDef.style\"\n >\n <ng-container *ngIf=\"columnDef.name !== ACTION\">\n <span\n *ngIf=\"columnDef.sort\"\n aui-sort-header\n [start]=\"columnDef.sort.direction\"\n >{{ columnDef.label || columnDef.name | translate }}</span\n >\n <span *ngIf=\"!columnDef.sort\">{{\n columnDef.label || columnDef.name | translate\n }}</span>\n </ng-container>\n </aui-table-header-cell>\n\n <aui-table-cell\n *auiTableCellDef=\"\n let data;\n let index = index;\n let even = even;\n let odd = odd;\n let last = last\n \"\n [direction]=\"columnDef.direction\"\n [ngClass]=\"columnDef.class\"\n [style]=\"columnDef.style\"\n >\n <ng-container\n *ngIf=\"\n columnDef.name | pure: getColumnTemplate as template;\n else tableCellDefTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n template;\n context: {\n $implicit: data,\n index: index,\n even: even,\n odd: odd,\n last: last,\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #tableCellDefTpl>\n <ng-container\n *ngIf=\"\n columnDef.path != null &&\n (data\n | pure\n : getValueFromPath\n : columnDef.name\n : columnDef.path) as value;\n else defaultTableCellTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #defaultTableCellTpl>\n <ng-container\n *ngTemplateOutlet=\"\n defaultTableCell;\n context: { data: data, columnDef: columnDef }\n \"\n ></ng-container>\n </ng-template>\n </aui-table-cell>\n </ng-container>\n\n <aui-table-header-row\n *auiTableHeaderRowDef=\"columnNames$ | async; sticky: !!sticky\"\n ></aui-table-header-row>\n <aui-table-row\n *auiTableRowDef=\"let row; columns: columnNames$ | async\"\n ></aui-table-row>\n\n <ng-container *auiTablePlaceholderDef>\n <ng-container *ngIf=\"list\">\n <div\n [hidden]=\"\n (pagedItems$ | async)?.length || !(list.items$ | async)?.length\n \"\n class=\"empty-placeholder\"\n >\n <ng-container\n *ngIf=\"finalResourceName$ | async as finalResourceName; else noData\"\n >\n {{\n 'no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (finalResourceName | translate: null : true),\n }\n }}\n </ng-container>\n </div>\n <acl-k8s-resource-list-footer\n [hidden]=\"\n !(pagedItems$ | async)?.length && (list.items$ | async)?.length\n \"\n [list]=\"list\"\n [resourceName]=\"finalResourceName$ | async\"\n [resourceNameTranslated]=\"resourceNameTranslated\"\n [firstScrollLoad]=\"firstScrollLoad\"\n ></acl-k8s-resource-list-footer>\n </ng-container>\n <div\n *ngIf=\"!list && !(pagedItems$ | async)?.length\"\n class=\"empty-placeholder\"\n >\n <ng-container *ngIf=\"finalDataSource$ | async; else loading\">\n {{\n noDataHint ||\n ('no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (resourceName | translate: null : true),\n })\n }}\n </ng-container>\n <ng-template #loading>\n <aui-icon\n class=\"acl-loading-mask__icon\"\n size=\"16px\"\n icon=\"spinner\"\n ></aui-icon>\n {{ 'loading_please_wait' | translate }}\n </ng-template>\n </div>\n </ng-container>\n</aui-table>\n\n<ng-container *ngIf=\"enablePagination\">\n <aui-paginator\n [layout]=\"paginationLayout\"\n [currentPage]=\"currentPage$ | async\"\n [pageSize]=\"pageSize$ | async\"\n [total]=\"pagination.total\"\n (currentPageChange)=\"currentPage$.next($event)\"\n (pageSizeChange)=\"pageSize$.next($event)\"\n [pageSizeOptions]=\"pageSizeOptions\"\n ></aui-paginator>\n</ng-container>\n\n<ng-template\n #defaultTableCell\n let-data=\"data\"\n let-columnDef=\"columnDef\"\n>\n <ng-container [ngSwitch]=\"columnDef.name\">\n <ng-container *ngSwitchCase=\"NAME\">\n <div\n *ngIf=\"data | pure: getValueFromPath : columnDef.name as name\"\n class=\"aui-table__cell__name\"\n >\n <ng-container\n *ngIf=\"\n columnDef.extra?.link !== false && !(data | aclIsDeleting);\n else plainName\n \"\n >\n <a\n [routerLink]=\"[(isListPage$ | async) ? '..' : '.', 'detail', name]\"\n [auiTooltip]=\"name\"\n >\n {{ name }}\n </a>\n </ng-container>\n <ng-template #plainName>\n <span\n [auiTooltip]=\"name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >{{ name }}</span\n >\n </ng-template>\n <acl-deleting-tag\n *ngIf=\"data | pure: isK8sResource\"\n [resource]=\"data\"\n ></acl-deleting-tag>\n </div>\n <div\n *ngIf=\"\n (data | pure: isK8sResource)\n ? (data | aclDisplayName)\n : data.displayName as displayName\n \"\n class=\"aui-table__cell__display-name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >\n {{ displayName }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"CREATED_AT\">\n <acl-relative-time\n [time]=\"data | pure: getValueFromPath : columnDef.name\"\n ></acl-relative-time>\n </ng-container>\n <ng-container *ngSwitchCase=\"ACTION\">\n <button\n aui-button=\"text\"\n [square]=\"true\"\n size=\"small\"\n [auiDropdown]=\"menu\"\n [auiDropdownContext]=\"{ $implicit: data, columnDef: columnDef }\"\n >\n <aui-icon icon=\"ellipsis_v_s\"></aui-icon>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngIf=\"\n data | pure: getValueFromPath : columnDef.name as value;\n else empty\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #tableCellContent\n let-columnDef=\"columnDef\"\n let-value=\"value\"\n>\n <ng-container\n *ngIf=\"\n columnDef.translate == null\n ? value\n : columnDef.translate === true\n ? (value | translate)\n : (value\n | pure: columnDef.translate : finalContext\n | translate) as text;\n else empty\n \"\n >\n <div\n *ngIf=\"columnDef.ellipsis; else plainText\"\n class=\"text-overflow\"\n [auiTooltip]=\"text\"\n >\n {{ text }}\n </div>\n <ng-template #plainText>{{ text }}</ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #menu\n let-data\n let-columnDef=\"columnDef\"\n ><aui-menu>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.update !== false\"\n [isAllowed]=\"!permissions || permissions.update\"\n [isDisabled]=\"\n (columnDef.extra?.update?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.update.disabled.handler : finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.update?.disabled.tooltip\n | pure: getValue : data : finalContext\n | translate\n \"\n (click)=\"onUpdate(data, columnDef)\"\n >\n <aui-menu-item>{{ 'update' | translate }}</aui-menu-item>\n </acl-disabled-container>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.delete !== false\"\n [isAllowed]=\"!permissions || permissions.delete\"\n [isDisabled]=\"\n (columnDef.extra?.delete?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.delete.disabled.handler : finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.delete?.disabled.tooltip\n | pure: getValue : data : finalContext\n | translate\n \"\n (click)=\"delete.emit(data)\"\n >\n <aui-menu-item>{{ 'delete' | translate }}</aui-menu-item>\n </acl-disabled-container>\n </aui-menu></ng-template\n>\n\n<ng-template #empty>{{ null | aclFieldNotAvailable }}</ng-template>\n\n<ng-template #noData>{{ 'no_data' | translate }}</ng-template>\n", styles: [".deleting-text{color:rgb(var(--aui-color-disabled-text))}:host{display:block}:host.aui-table__scroll-wrapper{display:flex}:host ::ng-deep+acl-table{margin-top:12px}html:not([lang|=zh]) :host ::ng-deep .aui-table__column-created_at{flex:0 0 140px}\n"] }]
|
|
773
|
+
args: [{ selector: 'acl-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<aui-table\n auiSort\n [active]=\"(activeSort$ | async)?.active\"\n [direction]=\"(activeSort$ | async)?.direction\"\n [dataSource]=\"pagedItems$\"\n [trackBy]=\"trackBy\"\n (sortChange)=\"onSortChange($event)\"\n [auiTableScrollable]=\"!!sticky\"\n>\n <ng-container\n *ngFor=\"let columnDef of columnDefs$ | async; trackBy: trackByName\"\n [auiTableColumnDef]=\"columnDef.name\"\n [sticky]=\"columnDef.sticky\"\n [stickyEnd]=\"columnDef.stickyEnd\"\n >\n <aui-table-header-cell\n *auiTableHeaderCellDef\n [style]=\"columnDef.style\"\n >\n <ng-container *ngIf=\"columnDef.name !== ACTION\">\n <span\n *ngIf=\"columnDef.sort\"\n aui-sort-header\n [start]=\"columnDef.sort.direction\"\n >{{ columnDef.label || columnDef.name | translate }}</span\n >\n <span *ngIf=\"!columnDef.sort\">{{\n columnDef.label || columnDef.name | translate\n }}</span>\n </ng-container>\n </aui-table-header-cell>\n\n <aui-table-cell\n *auiTableCellDef=\"\n let data;\n let index = index;\n let even = even;\n let odd = odd;\n let last = last\n \"\n [direction]=\"columnDef.direction\"\n [ngClass]=\"columnDef.class\"\n [style]=\"columnDef.style\"\n >\n <ng-container\n *ngIf=\"\n columnDef.name | pure: getColumnTemplate as template;\n else tableCellDefTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n template;\n context: {\n $implicit: data,\n index: index,\n even: even,\n odd: odd,\n last: last,\n }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #tableCellDefTpl>\n <ng-container\n *ngIf=\"\n columnDef.path != null &&\n (data\n | pure\n : getValueFromPath\n : columnDef.name\n : columnDef.path) as value;\n else defaultTableCellTpl\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-template>\n <ng-template #defaultTableCellTpl>\n <ng-container\n *ngTemplateOutlet=\"\n defaultTableCell;\n context: { data: data, columnDef: columnDef }\n \"\n ></ng-container>\n </ng-template>\n </aui-table-cell>\n </ng-container>\n\n <aui-table-header-row\n *auiTableHeaderRowDef=\"columnNames$ | async; sticky: !!sticky\"\n ></aui-table-header-row>\n <aui-table-row\n *auiTableRowDef=\"let row; columns: columnNames$ | async\"\n ></aui-table-row>\n\n <ng-container *auiTablePlaceholderDef>\n <ng-container *ngIf=\"list\">\n <div\n [hidden]=\"\n (pagedItems$ | async)?.length || !(list.items$ | async)?.length\n \"\n class=\"empty-placeholder\"\n >\n <ng-container\n *ngIf=\"finalResourceName$ | async as finalResourceName; else noData\"\n >\n {{\n 'no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (finalResourceName | translate: null : true),\n }\n }}\n </ng-container>\n </div>\n <acl-k8s-resource-list-footer\n [hidden]=\"\n !(pagedItems$ | async)?.length && (list.items$ | async)?.length\n \"\n [list]=\"list\"\n [resourceName]=\"finalResourceName$ | async\"\n [resourceNameTranslated]=\"resourceNameTranslated\"\n [firstScrollLoad]=\"firstScrollLoad\"\n >\n <ng-container *ngIf=\"loadingErrorTemplate\">\n <ng-container\n *aclK8sListFooterLoadingError\n [ngTemplateOutlet]=\"loadingErrorTemplate\"\n ></ng-container>\n </ng-container>\n </acl-k8s-resource-list-footer>\n </ng-container>\n <div\n *ngIf=\"!list && !(pagedItems$ | async)?.length\"\n class=\"empty-placeholder\"\n >\n <ng-container *ngIf=\"finalDataSource$ | async; else loading\">\n {{\n noDataHint ||\n ('no_named_data_hint'\n | translate\n : {\n name:\n resourceNameTranslated ||\n (resourceName | translate: null : true),\n })\n }}\n </ng-container>\n <ng-template #loading>\n <aui-icon\n class=\"acl-loading-mask__icon\"\n size=\"16px\"\n icon=\"spinner\"\n ></aui-icon>\n {{ 'loading_please_wait' | translate }}\n </ng-template>\n </div>\n </ng-container>\n</aui-table>\n\n<ng-container *ngIf=\"enablePagination\">\n <aui-paginator\n [layout]=\"paginationLayout\"\n [currentPage]=\"currentPage$ | async\"\n [pageSize]=\"pageSize$ | async\"\n [total]=\"pagination.total\"\n (currentPageChange)=\"currentPage$.next($event)\"\n (pageSizeChange)=\"pageSize$.next($event)\"\n [pageSizeOptions]=\"pageSizeOptions\"\n ></aui-paginator>\n</ng-container>\n\n<ng-template\n #defaultTableCell\n let-data=\"data\"\n let-columnDef=\"columnDef\"\n>\n <ng-container [ngSwitch]=\"columnDef.name\">\n <ng-container *ngSwitchCase=\"NAME\">\n <div\n *ngIf=\"data | pure: getValueFromPath : columnDef.name as name\"\n class=\"aui-table__cell__name\"\n >\n <ng-container\n *ngIf=\"\n columnDef.extra?.link !== false && !(data | aclIsDeleting);\n else plainName\n \"\n >\n <a\n [routerLink]=\"[(isListPage$ | async) ? '..' : '.', 'detail', name]\"\n [auiTooltip]=\"name\"\n >\n {{ name }}\n </a>\n </ng-container>\n <ng-template #plainName>\n <span\n [auiTooltip]=\"name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >{{ name }}</span\n >\n </ng-template>\n <acl-deleting-tag\n *ngIf=\"data | pure: isK8sResource\"\n [resource]=\"data\"\n ></acl-deleting-tag>\n </div>\n <div\n *ngIf=\"\n (data | pure: isK8sResource)\n ? (data | aclDisplayName)\n : data.displayName as displayName\n \"\n class=\"aui-table__cell__display-name\"\n [class.deleting-text]=\"data | aclIsDeleting\"\n >\n {{ displayName }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"CREATED_AT\">\n <acl-relative-time\n [time]=\"data | pure: getValueFromPath : columnDef.name\"\n ></acl-relative-time>\n </ng-container>\n <ng-container *ngSwitchCase=\"ACTION\">\n <button\n aui-button=\"text\"\n [square]=\"true\"\n size=\"small\"\n [auiDropdown]=\"menu\"\n [auiDropdownContext]=\"{ $implicit: data, columnDef: columnDef }\"\n >\n <aui-icon icon=\"ellipsis_v_s\"></aui-icon>\n </button>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngIf=\"\n data | pure: getValueFromPath : columnDef.name as value;\n else empty\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tableCellContent;\n context: { columnDef: columnDef, value: value }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #tableCellContent\n let-columnDef=\"columnDef\"\n let-value=\"value\"\n>\n <ng-container\n *ngIf=\"\n columnDef.translate == null\n ? value\n : columnDef.translate === true\n ? (value | translate)\n : (value\n | pure: columnDef.translate : finalContext\n | translate) as text;\n else empty\n \"\n >\n <div\n *ngIf=\"columnDef.ellipsis; else plainText\"\n class=\"text-overflow\"\n [auiTooltip]=\"text\"\n >\n {{ text }}\n </div>\n <ng-template #plainText>{{ text }}</ng-template>\n </ng-container>\n</ng-template>\n\n<ng-template\n #menu\n let-data\n let-columnDef=\"columnDef\"\n ><aui-menu>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.update !== false\"\n [isAllowed]=\"!permissions || permissions.update\"\n [isDisabled]=\"\n (columnDef.extra?.update?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.update.disabled.handler : finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.update?.disabled.tooltip\n | pure: getValue : data : finalContext\n | translate\n \"\n (click)=\"onUpdate(data, columnDef)\"\n >\n <aui-menu-item>{{ 'update' | translate }}</aui-menu-item>\n </acl-disabled-container>\n <acl-disabled-container\n *ngIf=\"columnDef.extra?.delete !== false\"\n [isAllowed]=\"!permissions || permissions.delete\"\n [isDisabled]=\"\n (columnDef.extra?.delete?.disabled.handler | pure: isFunction) &&\n (data | pure: columnDef.extra.delete.disabled.handler : finalContext)\n \"\n [tooltip]=\"\n columnDef.extra?.delete?.disabled.tooltip\n | pure: getValue : data : finalContext\n | translate\n \"\n (click)=\"delete.emit(data)\"\n >\n <aui-menu-item>{{ 'delete' | translate }}</aui-menu-item>\n </acl-disabled-container>\n </aui-menu></ng-template\n>\n\n<ng-template #empty>{{ null | aclFieldNotAvailable }}</ng-template>\n\n<ng-template #noData>{{ 'no_data' | translate }}</ng-template>\n", styles: [".deleting-text{color:rgb(var(--aui-color-disabled-text))}:host{display:block}:host.aui-table__scroll-wrapper{display:flex}:host ::ng-deep+acl-table{margin-top:12px}html:not([lang|=zh]) :host ::ng-deep .aui-table__column-created_at{flex:0 0 140px}\n"] }]
|
|
759
774
|
}], () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TableUtilService }], { list: [{
|
|
760
775
|
type: Input
|
|
761
776
|
}], list$: [], dataSource: [{
|
|
@@ -780,6 +795,8 @@ __decorate([
|
|
|
780
795
|
type: Input
|
|
781
796
|
}], noDataHint: [{
|
|
782
797
|
type: Input
|
|
798
|
+
}], loadingErrorTemplate: [{
|
|
799
|
+
type: Input
|
|
783
800
|
}], enablePagination: [{
|
|
784
801
|
type: Input
|
|
785
802
|
}], pageSize: [{
|
|
@@ -807,4 +824,4 @@ __decorate([
|
|
|
807
824
|
args: ['style.max-height']
|
|
808
825
|
}] }); })();
|
|
809
826
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TableComponent, { className: "TableComponent" }); })();
|
|
810
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90YWJsZS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUUsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsRUFBRSxFQUNGLGFBQWEsRUFDYixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUNMLGlCQUFpQixHQUVsQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFl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QVEvQyxJQUFJO2tCQURILEtBQUs7WUFJTixLQUFLLE1BR0wsVUFBVTtrQkFEVCxLQUFLO1lBSU4sV0FBVyxNQUdYLFlBQVk7a0JBRFgsS0FBSztZQUlOLGFBQWEsTUFHYixzQkFBc0I7a0JBRHJCLEtBQUs7WUFJTixNQUFNO2tCQURMLEtBQUs7WUFJTixXQUFXO2tCQURWLEtBQUs7WUFJTixPQUFPO2tCQUROLEtBQUs7WUFJTixRQUFRLE1BR1IsWUFBWTtrQkFEWCxLQUFLO1lBSU4sYUFBYSxNQUdiLE9BQU87a0JBRE4sS0FBSztZQVFOLFFBQVE7a0JBRFAsS0FBSztZQUlOLFNBQVMsTUFHVCxPQUFPO2tCQUROLEtBQUs7WUFJTixVQUFVO2tCQURULEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLGVBQWU7a0JBRGQsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBR0csZUFBZTtrQkFBdkIsS0FBSztZQUdOLE1BQU07a0JBREwsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLFVBQVU7a0JBRFQsTUFBTTtZQUlQLGFBQWE7a0JBRFosZUFBZTttQkFBQyxxQkFBcUI7WUFJbEMsYUFBYTtrQkFEaEIsV0FBVzttQkFBQyxpQ0FBaUM7WUFNMUMsbUJBQW1CO2tCQUR0QixXQUFXO21CQUFDLGtCQUFrQjs7a0ZBN0ZwQixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFuZGxlUGl4ZWwsIFNvcnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUcmFja0J5RnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIGlzT2JqZWN0TGlrZSwgaXNTdHJpbmcsIGxhc3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgUmVwbGF5U3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBQ1RJT04sIENSRUFURURfQVQsIExJTkssIFVQREFURSB9IGZyb20gJy4uL2NvcmUvY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc0ZpZWxkTm90QXZhaWxhYmxlIH0gZnJvbSAnLi4vY29yZS9waXBlcy9maWVsZC1ub3QtYXZhaWxhYmxlLnBpcGUnO1xuaW1wb3J0IHsgQ1JFQVRPUiwgTkFNRSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvazhzLXV0aWwuc2VydmljZSc7XG5pbXBvcnQge1xuICBLOHNSZXNvdXJjZUFjdGlvbixcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbn0gZnJvbSAnLi4vY29yZS90eXBlcy9rOHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBpc0s4c1Jlc291cmNlLCBub29wLCB0cmFja0J5VWlkIH0gZnJvbSAnLi4vY29yZS91dGlscy9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vY29yZS91dGlscy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IHB1Ymxpc2hSZWYgfSBmcm9tICcuLi9jb3JlL3V0aWxzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdHJlYW1MaXN0TG9hZGVyIH0gZnJvbSAnLi4vazhzLXJlc291cmNlLWxpc3QvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBERUZBVUxUX1BBR0VfU0laRSxcbiAgREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUyxcbiAgREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVCxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGFibGVDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9oZWxwZXJzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWYsXG4gIFRhYmxlQ29sdW1uRGVmcyxcbiAgVGFibGVDb2x1bW4sXG4gIFRhYmxlQ29sdW1uRGVmLFxuICBUYWJsZUZpbHRlckZuLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhLFxuICBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbSxcbiAgVGFibGVDb2x1bW5BY3Rpb25EaXNhYmxlZEhhbmRsZXIsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgS05PV05fQ09MVU1OUywgVGFibGVVdGlsU2VydmljZSB9IGZyb20gJy4vdXRpbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8XG4gIEl0ZW0gZXh0ZW5kcyBvYmplY3QsXG4gIENvbnRleHQgPSBUYWJsZVV0aWxTZXJ2aWNlPEl0ZW0+LFxuPiB7XG4gIEBJbnB1dCgpXG4gIGxpc3QhOiBTdHJlYW1MaXN0TG9hZGVyPEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8SXRlbT4sIEl0ZW0+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBsaXN0JCE6IE9ic2VydmFibGU8U3RyZWFtTGlzdExvYWRlcjxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PEl0ZW0+LCBJdGVtPj47XG5cbiAgQElucHV0KClcbiAgZGF0YVNvdXJjZTogSXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhU291cmNlJCE6IE9ic2VydmFibGU8SXRlbVtdIHwgT2JzZXJ2YWJsZTxJdGVtW10+PjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWU6IHN0cmluZztcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVzb3VyY2VOYW1lJCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBASW5wdXQoKVxuICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc3RpY2t5OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcGVybWlzc2lvbnM6IFBhcnRpYWw8UmVjb3JkPEs4c1Jlc291cmNlQWN0aW9uLCBib29sZWFuPj47XG5cbiAgQElucHV0KClcbiAgY29sdW1uczogUmVhZG9ubHlBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGNvbHVtbnMkITogT2JzZXJ2YWJsZTxBcnJheTxUYWJsZUNvbHVtbjxJdGVtLCBDb250ZXh0Pj4+O1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlclBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGZpbHRlclBhcmFtcyQhOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcblxuICBASW5wdXQoKVxuICBjb250ZXh0OiBDb250ZXh0O1xuXG4gIGdldCBmaW5hbENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dCA/PyAodGhpcy51dGlsIGFzIHVua25vd24gYXMgQ29udGV4dCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBmaWx0ZXJGbjogVGFibGVGaWx0ZXJGbjxJdGVtLCBDb250ZXh0PjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZmlsdGVyRm4kITogT2JzZXJ2YWJsZTxUYWJsZUZpbHRlckZuPEl0ZW0sIENvbnRleHQ+PjtcblxuICBASW5wdXQoKVxuICB0cmFja0J5OiBUcmFja0J5RnVuY3Rpb248SXRlbT4gPSB0aGlzLnRyYWNrQnlGbjtcblxuICBASW5wdXQoKVxuICBub0RhdGFIaW50OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZW5hYmxlUGFnaW5hdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2VTaXplID0gREVGQVVMVF9QQUdFX1NJWkU7XG5cbiAgQElucHV0KClcbiAgcGFnZVNpemVPcHRpb25zID0gREVGQVVMVF9QQUdFX1NJWkVfT1BUSU9OUztcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uTGF5b3V0ID0gREVGQVVMVF9QQUdJTkFUSU9OX0xBWU9VVDtcblxuICBASW5wdXQoKSBmaXJzdFNjcm9sbExvYWQ6IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtPigpO1xuXG4gIEBPdXRwdXQoKVxuICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJsZUNlbGxEZWZEaXJlY3RpdmUpXG4gIHRhYmxlQ2VsbERlZnM6IFF1ZXJ5TGlzdDxUYWJsZUNlbGxEZWZEaXJlY3RpdmU8SXRlbT4+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXVpLXRhYmxlX19zY3JvbGwtd3JhcHBlcicpXG4gIGdldCBzY3JvbGxXcmFwcGVyKCkge1xuICAgIHJldHVybiAhIXRoaXMuc3RpY2t5O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgZ2V0IHNjcm9sbFdyYXBwZXJIZWlnaHQoKSB7XG4gICAgcmV0dXJuIGhhbmRsZVBpeGVsKHRoaXMuc3RpY2t5KTtcbiAgfVxuXG4gIGN1cnJlbnRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcblxuICBwYWdlU2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oREVGQVVMVF9QQUdFX1NJWkUpO1xuXG4gIHBhZ2luYXRpb24gPSB7XG4gICAgdG90YWw6IDAsXG4gICAgcGFnZXM6IDAsXG4gIH07XG5cbiAgZmluYWxEYXRhU291cmNlJCA9IHRoaXMuZGF0YVNvdXJjZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoZGF0YVNvdXJjZSA9PlxuICAgICAgZGF0YVNvdXJjZSBpbnN0YW5jZW9mIE9ic2VydmFibGUgPyBkYXRhU291cmNlIDogb2YoZGF0YVNvdXJjZSksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgZmluYWxSZXNvdXJjZU5hbWUkID0gY29tYmluZUxhdGVzdChbdGhpcy5saXN0JCwgdGhpcy5yZXNvdXJjZU5hbWUkXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtsaXN0LCByZXNvdXJjZU5hbWVdKSA9PlxuICAgICAgIWxpc3QgfHwgcmVzb3VyY2VOYW1lXG4gICAgICAgID8gb2YocmVzb3VyY2VOYW1lKVxuICAgICAgICA6IGxpc3QucmF3UmVzcG9uc2UkLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzID0+IHJlcz8ua2luZC5zbGljZSgwLCAtNCkudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBjb2x1bW5EZWZzJCA9IHRoaXMuY29sdW1ucyQucGlwZShcbiAgICBtYXAoXG4gICAgICBjb2x1bW5zID0+XG4gICAgICAgIChjb2x1bW5zIHx8IFtdKS5tYXAoY29sdW1uID0+IHtcbiAgICAgICAgICBjb2x1bW4gPSBpc1N0cmluZyhjb2x1bW4pID8geyBuYW1lOiBjb2x1bW4gfSA6IGNvbHVtbjtcbiAgICAgICAgICBpZiAoISgncGF0aCcgaW4gY29sdW1uKSAmJiAhS05PV05fQ09MVU1OUy5oYXMoY29sdW1uLm5hbWUpKSB7XG4gICAgICAgICAgICBjb2x1bW4ucGF0aCA9IGNvbHVtbi5uYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZUNvbHVtbkRlZlNvcnQoY29sdW1uKTtcbiAgICAgICAgICB0aGlzLm5vcm1hbGl6ZUNvbHVtbkRlZlRyYW5zbGF0ZShjb2x1bW4pO1xuICAgICAgICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZUFjdGlvbkNvbHVtbkRlZihjb2x1bW4pO1xuICAgICAgICB9KSBhcyBUYWJsZUNvbHVtbkRlZnM8SXRlbSwgQ29udGV4dD4sXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgY29sdW1uTmFtZXMkID0gdGhpcy5jb2x1bW5EZWZzJC5waXBlKFxuICAgIG1hcChjb2x1bW5zID0+IGNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ubmFtZSkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBhY3RpdmVTb3J0JCQgPSBuZXcgUmVwbGF5U3ViamVjdDxTb3J0PigxKTtcblxuICBhY3RpdmVTb3J0JDogT2JzZXJ2YWJsZTxTb3J0PiA9IG1lcmdlKFxuICAgIHRoaXMuYWN0aXZlU29ydCQkLFxuICAgIHRoaXMuY29sdW1uRGVmcyQucGlwZShcbiAgICAgIG1hcChjb2x1bW5EZWZzID0+IHtcbiAgICAgICAgY29uc3QgY29sdW1uRGVmID0gY29sdW1uRGVmcy5maW5kKGNvbHVtbiA9PiBjb2x1bW4uc29ydD8uYWN0aXZlKTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbkRlZlxuICAgICAgICAgID8geyBhY3RpdmU6IGNvbHVtbkRlZi5uYW1lLCBkaXJlY3Rpb246IGNvbHVtbkRlZi5zb3J0LmRpcmVjdGlvbiB9XG4gICAgICAgICAgOiBudWxsO1xuICAgICAgfSksXG4gICAgKSxcbiAgKS5waXBlKHB1Ymxpc2hSZWYoKSk7XG5cbiAgZmlsdGVyZWRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLmZpbmFsRGF0YVNvdXJjZSRdKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChbbGlzdCwgZGF0YVNvdXJjZV0pID0+IChsaXN0ID8gbGlzdC5pdGVtcyQgOiBvZihkYXRhU291cmNlKSkpLFxuICAgICksXG4gICAgdGhpcy5jb2x1bW5EZWZzJCxcbiAgICB0aGlzLmFjdGl2ZVNvcnQkLFxuICAgIHRoaXMuZmlsdGVyUGFyYW1zJCxcbiAgICB0aGlzLmZpbHRlckZuJCxcbiAgXSkucGlwZShcbiAgICBtYXAoXG4gICAgICAoW1xuICAgICAgICBpdGVtcyxcbiAgICAgICAgY29sdW1uRGVmcyxcbiAgICAgICAgYWN0aXZlU29ydCxcbiAgICAgICAgZmlsdGVyUGFyYW1zLFxuICAgICAgICBmaWx0ZXJGbiA9IHRoaXMudXRpbC5kZWZhdWx0RmlsdGVyRm4sXG4gICAgICBdKSA9PlxuICAgICAgICBmaWx0ZXJGbi5jYWxsKFxuICAgICAgICAgIHRoaXMuZmluYWxDb250ZXh0LFxuICAgICAgICAgIGl0ZW1zLFxuICAgICAgICAgIGNvbHVtbkRlZnMsXG4gICAgICAgICAgYWN0aXZlU29ydCxcbiAgICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgICAgdGhpcy5maW5hbENvbnRleHQsXG4gICAgICAgICksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgcGFnZWRJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmZpbHRlcmVkSXRlbXMkLFxuICAgIHRoaXMuY3VycmVudFBhZ2UkLFxuICAgIHRoaXMucGFnZVNpemUkLFxuICBdKS5waXBlKFxuICAgIHRhcCgoW2l0ZW1zLCBfLCBwYWdlU2l6ZV0pID0+IHtcbiAgICAgIGlmICh0aGlzLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uID1cbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDBcbiAgICAgICAgICAgID8geyB0b3RhbDogMCwgcGFnZXM6IDAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgdG90YWw6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgICAgICAgICBwYWdlczogTWF0aC5jZWlsKGl0ZW1zLmxlbmd0aCAvIHBhZ2VTaXplKSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBtYXAoKFtpdGVtcywgY3VycmVudFBhZ2UsIHBhZ2VTaXplXSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmVuYWJsZVBhZ2luYXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbi5wYWdlcyA8IGN1cnJlbnRQYWdlICYmIHRoaXMucGFnaW5hdGlvbi5wYWdlcyAhPT0gMCkge1xuICAgICAgICBjdXJyZW50UGFnZSA9IHRoaXMucGFnaW5hdGlvbi5wYWdlcztcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSQubmV4dChjdXJyZW50UGFnZSk7XG4gICAgICB9XG4gICAgICBjb25zdCBiZWdpbiA9IChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemU7XG4gICAgICByZXR1cm4gaXRlbXMuc2xpY2UoYmVnaW4sIGJlZ2luICsgcGFnZVNpemUpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBnZXQgaXNMaXN0UGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZS5yb3V0ZUNvbmZpZz8ucGF0aCA9PT0gJ2xpc3QnO1xuICB9XG5cbiAgaXNMaXN0UGFnZSQgPSB0aGlzLnJvdXRlLnVybC5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLmlzTGlzdFBhZ2UpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBpc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcbiAgaXNLOHNSZXNvdXJjZSA9IGlzSzhzUmVzb3VyY2U7XG4gIGlzRmllbGROb3RBdmFpbGFibGUgPSBpc0ZpZWxkTm90QXZhaWxhYmxlO1xuXG4gIGdldFZhbHVlRnJvbVBhdGggPSB0aGlzLnV0aWwuZ2V0VmFsdWVGcm9tUGF0aDtcbiAgdHJhY2tCeU5hbWUoXzogbnVtYmVyLCBjb2x1bW5EZWY6IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgcmV0dXJuIGNvbHVtbkRlZi5uYW1lO1xuICB9XG5cbiAgTkFNRSA9IE5BTUU7XG4gIENSRUFUT1IgPSBDUkVBVE9SO1xuICBDUkVBVEVEX0FUID0gQ1JFQVRFRF9BVDtcbiAgQUNUSU9OID0gQUNUSU9OO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHV0aWw6IFRhYmxlVXRpbFNlcnZpY2U8SXRlbT4sXG4gICkge1xuICAgIHRoaXMuZ2V0Q29sdW1uVGVtcGxhdGUgPSB0aGlzLmdldENvbHVtblRlbXBsYXRlLmJpbmQodGhpcyk7XG4gIH1cblxuICBub3JtYWxpemVDb2x1bW5EZWZUcmFuc2xhdGUoY29sdW1uOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIGNvbnN0IHsgdHJhbnNsYXRlIH0gPSBjb2x1bW47XG4gICAgaWYgKHRyYW5zbGF0ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY29sdW1uO1xuICAgIH1cbiAgICBpZiAodHJhbnNsYXRlID09PSB0cnVlKSB7XG4gICAgICBjb2x1bW4udHJhbnNsYXRlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzU3RyaW5nKHRyYW5zbGF0ZSkpIHtcbiAgICAgIGNvbHVtbi50cmFuc2xhdGUgPSAodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4gdHJhbnNsYXRlICsgdmFsdWU7XG4gICAgfSBlbHNlIGlmIChpc09iamVjdExpa2UodHJhbnNsYXRlKSkge1xuICAgICAgY29sdW1uLnRyYW5zbGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSA9PiBnZXQodHJhbnNsYXRlLCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiBjb2x1bW47XG4gIH1cblxuICBub3JtYWxpemVDb2x1bW5EZWZTb3J0KGNvbHVtbjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICBjb25zdCB7IHNvcnQgfSA9IGNvbHVtbjtcbiAgICBpZiAoc29ydCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY29sdW1uO1xuICAgIH1cbiAgICBpZiAoc29ydCA9PT0gdHJ1ZSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2FzYycsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcoc29ydCkpIHtcbiAgICAgIGNvbHVtbi5zb3J0ID0ge1xuICAgICAgICBkaXJlY3Rpb246IHNvcnQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbihzb3J0KSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogJ2FzYycsXG4gICAgICAgIGhhbmRsZXI6IHNvcnQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoc29ydC5kaXJlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgc29ydC5kaXJlY3Rpb24gPSAnYXNjJztcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIG9uU29ydENoYW5nZSgkZXZlbnQ6IFNvcnQpIHtcbiAgICB0aGlzLnNvcnRDaGFuZ2UubmV4dCgkZXZlbnQpO1xuICAgIHRoaXMuYWN0aXZlU29ydCQkLm5leHQoJGV2ZW50KTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUFjdGlvbkNvbHVtbkRlZihcbiAgICBjb2x1bW46IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+LFxuICApOiBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4ge1xuICAgIGlmIChjb2x1bW4ubmFtZSAhPT0gQUNUSU9OIHx8ICFjb2x1bW4uZXh0cmEpIHtcbiAgICAgIHJldHVybiBjb2x1bW4gYXMgTm9ybWFsaXplZFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+O1xuICAgIH1cblxuICAgIGNvbnN0IGV4dHJhID0gY29sdW1uLmV4dHJhIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmE8SXRlbSwgQ29udGV4dD47XG4gICAgKFtLOHNSZXNvdXJjZUFjdGlvbi5ERUxFVEUsIEs4c1Jlc291cmNlQWN0aW9uLlVQREFURV0gYXMgY29uc3QpLmZvckVhY2goXG4gICAgICBhY3Rpb24gPT4ge1xuICAgICAgICBpZiAoIWV4dHJhW2FjdGlvbl0pIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhbmRsZXIgPSAoXG4gICAgICAgICAgZXh0cmFbYWN0aW9uXSBhcyBUYWJsZUNvbHVtbkFjdGlvbkV4dHJhSXRlbTxJdGVtLCBDb250ZXh0PlxuICAgICAgICApLmRpc2FibGVkO1xuICAgICAgICBpZiAoaGFuZGxlciA9PSBudWxsKSB7XG4gICAgICAgICAgaGFuZGxlciA9IG5vb3AgYXMgVGFibGVDb2x1bW5BY3Rpb25EaXNhYmxlZEhhbmRsZXI8SXRlbSwgQ29udGV4dD47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRnVuY3Rpb24oaGFuZGxlcikpIHtcbiAgICAgICAgICAoXG4gICAgICAgICAgICBleHRyYVthY3Rpb25dIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtPEl0ZW0sIENvbnRleHQ+XG4gICAgICAgICAgKS5kaXNhYmxlZCA9IHsgaGFuZGxlciB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICk7XG4gICAgcmV0dXJuIGNvbHVtbiBhcyBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD47XG4gIH1cblxuICBnZXRDb2x1bW5UZW1wbGF0ZShjb2x1bW46IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnRhYmxlQ2VsbERlZnMuZmluZChkZWYgPT4gZGVmLmFjbFRhYmxlQ2VsbERlZiA9PT0gY29sdW1uKVxuICAgICAgPy50ZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBJdGVtKSB7XG4gICAgcmV0dXJuIGlzSzhzUmVzb3VyY2UoaXRlbSlcbiAgICAgID8gdHJhY2tCeVVpZChpbmRleCwgaXRlbSlcbiAgICAgIDogZ2V0KGl0ZW0sIE5BTUUsIGluZGV4KTtcbiAgfVxuXG4gIG9uVXBkYXRlKGRhdGE6IEl0ZW0sIGNvbHVtbkRlZjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICB0aGlzLnVwZGF0ZS5lbWl0KGRhdGEpO1xuXG4gICAgaWYgKGdldChjb2x1bW5EZWYuZXh0cmEsIFtVUERBVEUsIExJTktdKSAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICBbXG4gICAgICAgICAgdGhpcy5pc0xpc3RQYWdlID8gJy4uJyA6ICcuJyxcbiAgICAgICAgICBVUERBVEUsXG4gICAgICAgICAgdGhpcy5nZXRWYWx1ZUZyb21QYXRoKGRhdGEsIE5BTUUpLFxuICAgICAgICBdLFxuICAgICAgICB7XG4gICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VmFsdWU8VCwgRiBleHRlbmRzICguLi5hcmdzOiB1bmtub3duW10pID0+IFQ+KFxuICAgIGZ1bmN0aW9uT3JWYWx1ZTogVCB8IEYsXG4gICAgLi4uYXJnczogUGFyYW1ldGVyczxGPlxuICApOiBUIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmdW5jdGlvbk9yVmFsdWUpXG4gICAgICA/IGZ1bmN0aW9uT3JWYWx1ZS5jYWxsKGxhc3QoYXJncyksIC4uLmFyZ3MpXG4gICAgICA6IGZ1bmN0aW9uT3JWYWx1ZTtcbiAgfVxufVxuIiwiPGF1aS10YWJsZVxuICBhdWlTb3J0XG4gIFthY3RpdmVdPVwiKGFjdGl2ZVNvcnQkIHwgYXN5bmMpPy5hY3RpdmVcIlxuICBbZGlyZWN0aW9uXT1cIihhY3RpdmVTb3J0JCB8IGFzeW5jKT8uZGlyZWN0aW9uXCJcbiAgW2RhdGFTb3VyY2VdPVwicGFnZWRJdGVtcyRcIlxuICBbdHJhY2tCeV09XCJ0cmFja0J5XCJcbiAgKHNvcnRDaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICBbYXVpVGFibGVTY3JvbGxhYmxlXT1cIiEhc3RpY2t5XCJcbj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj1cImxldCBjb2x1bW5EZWYgb2YgY29sdW1uRGVmcyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeU5hbWVcIlxuICAgIFthdWlUYWJsZUNvbHVtbkRlZl09XCJjb2x1bW5EZWYubmFtZVwiXG4gICAgW3N0aWNreV09XCJjb2x1bW5EZWYuc3RpY2t5XCJcbiAgICBbc3RpY2t5RW5kXT1cImNvbHVtbkRlZi5zdGlja3lFbmRcIlxuICA+XG4gICAgPGF1aS10YWJsZS1oZWFkZXItY2VsbFxuICAgICAgKmF1aVRhYmxlSGVhZGVyQ2VsbERlZlxuICAgICAgW3N0eWxlXT1cImNvbHVtbkRlZi5zdHlsZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbkRlZi5uYW1lICE9PSBBQ1RJT05cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImNvbHVtbkRlZi5zb3J0XCJcbiAgICAgICAgICBhdWktc29ydC1oZWFkZXJcbiAgICAgICAgICBbc3RhcnRdPVwiY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uXCJcbiAgICAgICAgICA+e3sgY29sdW1uRGVmLmxhYmVsIHx8IGNvbHVtbkRlZi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhY29sdW1uRGVmLnNvcnRcIj57e1xuICAgICAgICAgIGNvbHVtbkRlZi5sYWJlbCB8fCBjb2x1bW5EZWYubmFtZSB8IHRyYW5zbGF0ZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYXVpLXRhYmxlLWhlYWRlci1jZWxsPlxuXG4gICAgPGF1aS10YWJsZS1jZWxsXG4gICAgICAqYXVpVGFibGVDZWxsRGVmPVwiXG4gICAgICAgIGxldCBkYXRhO1xuICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgbGV0IGV2ZW4gPSBldmVuO1xuICAgICAgICBsZXQgb2RkID0gb2RkO1xuICAgICAgICBsZXQgbGFzdCA9IGxhc3RcbiAgICAgIFwiXG4gICAgICBbZGlyZWN0aW9uXT1cImNvbHVtbkRlZi5kaXJlY3Rpb25cIlxuICAgICAgW25nQ2xhc3NdPVwiY29sdW1uRGVmLmNsYXNzXCJcbiAgICAgIFtzdHlsZV09XCJjb2x1bW5EZWYuc3R5bGVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBjb2x1bW5EZWYubmFtZSB8IHB1cmU6IGdldENvbHVtblRlbXBsYXRlIGFzIHRlbXBsYXRlO1xuICAgICAgICAgIGVsc2UgdGFibGVDZWxsRGVmVHBsXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogZGF0YSxcbiAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICBldmVuOiBldmVuLFxuICAgICAgICAgICAgICBvZGQ6IG9kZCxcbiAgICAgICAgICAgICAgbGFzdDogbGFzdCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdGFibGVDZWxsRGVmVHBsPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGNvbHVtbkRlZi5wYXRoICE9IG51bGwgJiZcbiAgICAgICAgICAgICAgKGRhdGFcbiAgICAgICAgICAgICAgICB8IHB1cmVcbiAgICAgICAgICAgICAgICAgIDogZ2V0VmFsdWVGcm9tUGF0aFxuICAgICAgICAgICAgICAgICAgOiBjb2x1bW5EZWYubmFtZVxuICAgICAgICAgICAgICAgICAgOiBjb2x1bW5EZWYucGF0aCkgYXMgdmFsdWU7XG4gICAgICAgICAgICBlbHNlIGRlZmF1bHRUYWJsZUNlbGxUcGxcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgdGFibGVDZWxsQ29udGVudDtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBjb2x1bW5EZWY6IGNvbHVtbkRlZiwgdmFsdWU6IHZhbHVlIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUYWJsZUNlbGxUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgZGVmYXVsdFRhYmxlQ2VsbDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgZGF0YTogZGF0YSwgY29sdW1uRGVmOiBjb2x1bW5EZWYgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hdWktdGFibGUtY2VsbD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGF1aS10YWJsZS1oZWFkZXItcm93XG4gICAgKmF1aVRhYmxlSGVhZGVyUm93RGVmPVwiY29sdW1uTmFtZXMkIHwgYXN5bmM7IHN0aWNreTogISFzdGlja3lcIlxuICA+PC9hdWktdGFibGUtaGVhZGVyLXJvdz5cbiAgPGF1aS10YWJsZS1yb3dcbiAgICAqYXVpVGFibGVSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBjb2x1bW5OYW1lcyQgfCBhc3luY1wiXG4gID48L2F1aS10YWJsZS1yb3c+XG5cbiAgPG5nLWNvbnRhaW5lciAqYXVpVGFibGVQbGFjZWhvbGRlckRlZj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGlzdFwiPlxuICAgICAgPGRpdlxuICAgICAgICBbaGlkZGVuXT1cIlxuICAgICAgICAgIChwYWdlZEl0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoIHx8ICEobGlzdC5pdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiZmluYWxSZXNvdXJjZU5hbWUkIHwgYXN5bmMgYXMgZmluYWxSZXNvdXJjZU5hbWU7IGVsc2Ugbm9EYXRhXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnbm9fbmFtZWRfZGF0YV9oaW50J1xuICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOlxuICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlTmFtZVRyYW5zbGF0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAoZmluYWxSZXNvdXJjZU5hbWUgfCB0cmFuc2xhdGU6IG51bGwgOiB0cnVlKSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGFjbC1rOHMtcmVzb3VyY2UtbGlzdC1mb290ZXJcbiAgICAgICAgW2hpZGRlbl09XCJcbiAgICAgICAgICAhKHBhZ2VkSXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggJiYgKGxpc3QuaXRlbXMkIHwgYXN5bmMpPy5sZW5ndGhcbiAgICAgICAgXCJcbiAgICAgICAgW2xpc3RdPVwibGlzdFwiXG4gICAgICAgIFtyZXNvdXJjZU5hbWVdPVwiZmluYWxSZXNvdXJjZU5hbWUkIHwgYXN5bmNcIlxuICAgICAgICBbcmVzb3VyY2VOYW1lVHJhbnNsYXRlZF09XCJyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXCJcbiAgICAgICAgW2ZpcnN0U2Nyb2xsTG9hZF09XCJmaXJzdFNjcm9sbExvYWRcIlxuICAgICAgPjwvYWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3Rlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFsaXN0ICYmICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmluYWxEYXRhU291cmNlJCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBub0RhdGFIaW50IHx8XG4gICAgICAgICAgICAoJ25vX25hbWVkX2RhdGFfaGludCdcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTpcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbCA6IHRydWUpLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBjbGFzcz1cImFjbC1sb2FkaW5nLW1hc2tfX2ljb25cIlxuICAgICAgICAgIHNpemU9XCIxNnB4XCJcbiAgICAgICAgICBpY29uPVwic3Bpbm5lclwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICB7eyAnbG9hZGluZ19wbGVhc2Vfd2FpdCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hdWktdGFibGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVQYWdpbmF0aW9uXCI+XG4gIDxhdWktcGFnaW5hdG9yXG4gICAgW2xheW91dF09XCJwYWdpbmF0aW9uTGF5b3V0XCJcbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZSQgfCBhc3luY1wiXG4gICAgW3RvdGFsXT1cInBhZ2luYXRpb24udG90YWxcIlxuICAgIChjdXJyZW50UGFnZUNoYW5nZSk9XCJjdXJyZW50UGFnZSQubmV4dCgkZXZlbnQpXCJcbiAgICAocGFnZVNpemVDaGFuZ2UpPVwicGFnZVNpemUkLm5leHQoJGV2ZW50KVwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICA+PC9hdWktcGFnaW5hdG9yPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFRhYmxlQ2VsbFxuICBsZXQtZGF0YT1cImRhdGFcIlxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uRGVmLm5hbWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJOQU1FXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyBuYW1lXCJcbiAgICAgICAgY2xhc3M9XCJhdWktdGFibGVfX2NlbGxfX25hbWVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGNvbHVtbkRlZi5leHRyYT8ubGluayAhPT0gZmFsc2UgJiYgIShkYXRhIHwgYWNsSXNEZWxldGluZyk7XG4gICAgICAgICAgICBlbHNlIHBsYWluTmFtZVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWyhpc0xpc3RQYWdlJCB8IGFzeW5jKSA/ICcuLicgOiAnLicsICdkZXRhaWwnLCBuYW1lXVwiXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJuYW1lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBuYW1lIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFpbk5hbWU+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFthdWlUb29sdGlwXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2NsYXNzLmRlbGV0aW5nLXRleHRdPVwiZGF0YSB8IGFjbElzRGVsZXRpbmdcIlxuICAgICAgICAgICAgPnt7IG5hbWUgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxhY2wtZGVsZXRpbmctdGFnXG4gICAgICAgICAgKm5nSWY9XCJkYXRhIHwgcHVyZTogaXNLOHNSZXNvdXJjZVwiXG4gICAgICAgICAgW3Jlc291cmNlXT1cImRhdGFcIlxuICAgICAgICA+PC9hY2wtZGVsZXRpbmctdGFnPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgKGRhdGEgfCBwdXJlOiBpc0s4c1Jlc291cmNlKVxuICAgICAgICAgICAgPyAoZGF0YSB8IGFjbERpc3BsYXlOYW1lKVxuICAgICAgICAgICAgOiBkYXRhLmRpc3BsYXlOYW1lIGFzIGRpc3BsYXlOYW1lXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiYXVpLXRhYmxlX19jZWxsX19kaXNwbGF5LW5hbWVcIlxuICAgICAgICBbY2xhc3MuZGVsZXRpbmctdGV4dF09XCJkYXRhIHwgYWNsSXNEZWxldGluZ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGRpc3BsYXlOYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDUkVBVEVEX0FUXCI+XG4gICAgICA8YWNsLXJlbGF0aXZlLXRpbWVcbiAgICAgICAgW3RpbWVdPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZVwiXG4gICAgICA+PC9hY2wtcmVsYXRpdmUtdGltZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJBQ1RJT05cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBbYXVpRHJvcGRvd25dPVwibWVudVwiXG4gICAgICAgIFthdWlEcm9wZG93bkNvbnRleHRdPVwieyAkaW1wbGljaXQ6IGRhdGEsIGNvbHVtbkRlZjogY29sdW1uRGVmIH1cIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImVsbGlwc2lzX3Zfc1wiPjwvYXVpLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyB2YWx1ZTtcbiAgICAgICAgICBlbHNlIGVtcHR5XG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGFibGVDZWxsQ29udGVudDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgY29sdW1uRGVmOiBjb2x1bW5EZWYsIHZhbHVlOiB2YWx1ZSB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNlbGxDb250ZW50XG4gIGxldC1jb2x1bW5EZWY9XCJjb2x1bW5EZWZcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgY29sdW1uRGVmLnRyYW5zbGF0ZSA9PSBudWxsXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjb2x1bW5EZWYudHJhbnNsYXRlID09PSB0cnVlXG4gICAgICAgICAgPyAodmFsdWUgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAodmFsdWVcbiAgICAgICAgICAgIHwgcHVyZTogY29sdW1uRGVmLnRyYW5zbGF0ZSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgICAgfCB0cmFuc2xhdGUpIGFzIHRleHQ7XG4gICAgICBlbHNlIGVtcHR5XG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmVsbGlwc2lzOyBlbHNlIHBsYWluVGV4dFwiXG4gICAgICBjbGFzcz1cInRleHQtb3ZlcmZsb3dcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwidGV4dFwiXG4gICAgPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjcGxhaW5UZXh0Pnt7IHRleHQgfX08L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjbWVudVxuICBsZXQtZGF0YVxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbiAgPjxhdWktbWVudT5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LnVwZGF0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMudXBkYXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS51cGRhdGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cIm9uVXBkYXRlKGRhdGEsIGNvbHVtbkRlZilcIlxuICAgID5cbiAgICAgIDxhdWktbWVudS1pdGVtPnt7ICd1cGRhdGUnIHwgdHJhbnNsYXRlIH19PC9hdWktbWVudS1pdGVtPlxuICAgIDwvYWNsLWRpc2FibGVkLWNvbnRhaW5lcj5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LmRlbGV0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMuZGVsZXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS5kZWxldGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZS5lbWl0KGRhdGEpXCJcbiAgICA+XG4gICAgICA8YXVpLW1lbnUtaXRlbT57eyAnZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fTwvYXVpLW1lbnUtaXRlbT5cbiAgICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG4gIDwvYXVpLW1lbnU+PC9uZy10ZW1wbGF0ZVxuPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5Pnt7IG51bGwgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fTwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbm9EYXRhPnt7ICdub19kYXRhJyB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
827
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90YWJsZS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFRLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFDSCxLQUFLLEVBQ0wsVUFBVSxFQUNWLEVBQUUsRUFDRixhQUFhLEVBQ2IsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFDTCxpQkFBaUIsR0FFbEIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFP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QUNGLFVBQVU7cURBQTBCO0FBYXBEO0lBREMsZUFBZSxFQUFFOzhCQUNOLFVBQVU7aURBQStCO2lGQXREMUMsY0FBYztjQU4xQixTQUFTOzJCQUNFLFdBQVcsbUJBRUosdUJBQXVCLENBQUMsTUFBTTttR0FRL0MsSUFBSTtrQkFESCxLQUFLO1lBSU4sS0FBSyxNQUdMLFVBQVU7a0JBRFQsS0FBSztZQUlOLFdBQVcsTUFHWCxZQUFZO2tCQURYLEtBQUs7WUFJTixhQUFhLE1BR2Isc0JBQXNCO2tCQURyQixLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sT0FBTztrQkFETixLQUFLO1lBSU4sUUFBUSxNQUdSLFlBQVk7a0JBRFgsS0FBSztZQUlOLGFBQWEsTUFHYixPQUFPO2tCQUROLEtBQUs7WUFRTixRQUFRO2tCQURQLEtBQUs7WUFJTixTQUFTLE1BR1QsT0FBTztrQkFETixLQUFLO1lBSU4sVUFBVTtrQkFEVCxLQUFLO1lBSU4sb0JBQW9CO2tCQURuQixLQUFLO1lBSU4sZ0JBQWdCO2tCQURmLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixlQUFlO2tCQURkLEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUdHLGVBQWU7a0JBQXZCLEtBQUs7WUFHTixNQUFNO2tCQURMLE1BQU07WUFJUCxNQUFNO2tCQURMLE1BQU07WUFJUCxVQUFVO2tCQURULE1BQU07WUFJUCxhQUFhO2tCQURaLGVBQWU7bUJBQUMscUJBQXFCO1lBSWxDLGFBQWE7a0JBRGhCLFdBQVc7bUJBQUMsaUNBQWlDO1lBTTFDLG1CQUFtQjtrQkFEdEIsV0FBVzttQkFBQyxrQkFBa0I7O2tGQWhHcEIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhhbmRsZVBpeGVsLCBTb3J0IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFRyYWNrQnlGdW5jdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGdldCwgaXNGdW5jdGlvbiwgaXNPYmplY3RMaWtlLCBpc1N0cmluZywgbGFzdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBSZXBsYXlTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFDVElPTiwgQ1JFQVRFRF9BVCwgTElOSywgVVBEQVRFIH0gZnJvbSAnLi4vY29yZS9jb25zdGFudHMvY29uc3RhbnRzJztcbmltcG9ydCB7IGlzRmllbGROb3RBdmFpbGFibGUgfSBmcm9tICcuLi9jb3JlL3BpcGVzL2ZpZWxkLW5vdC1hdmFpbGFibGUucGlwZSc7XG5pbXBvcnQgeyBDUkVBVE9SLCBOQU1FIH0gZnJvbSAnLi4vY29yZS9zZXJ2aWNlcy9rOHMtdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEs4c1Jlc291cmNlQWN0aW9uLFxuICBLdWJlcm5ldGVzUmVzb3VyY2VMaXN0LFxufSBmcm9tICcuLi9jb3JlL3R5cGVzL2s4cy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGlzSzhzUmVzb3VyY2UsIG5vb3AsIHRyYWNrQnlVaWQgfSBmcm9tICcuLi9jb3JlL3V0aWxzL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi9jb3JlL3V0aWxzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgcHVibGlzaFJlZiB9IGZyb20gJy4uL2NvcmUvdXRpbHMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN0cmVhbUxpc3RMb2FkZXIgfSBmcm9tICcuLi9rOHMtcmVzb3VyY2UtbGlzdC90eXBlcyc7XG5cbmltcG9ydCB7XG4gIERFRkFVTFRfUEFHRV9TSVpFLFxuICBERUZBVUxUX1BBR0VfU0laRV9PUFRJT05TLFxuICBERUZBVUxUX1BBR0lOQVRJT05fTEFZT1VULFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUYWJsZUNlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2hlbHBlcnMuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZixcbiAgVGFibGVDb2x1bW5EZWZzLFxuICBUYWJsZUNvbHVtbixcbiAgVGFibGVDb2x1bW5EZWYsXG4gIFRhYmxlRmlsdGVyRm4sXG4gIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmEsXG4gIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtLFxuICBUYWJsZUNvbHVtbkFjdGlvbkRpc2FibGVkSGFuZGxlcixcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBLTk9XTl9DT0xVTU5TLCBUYWJsZVV0aWxTZXJ2aWNlIH0gZnJvbSAnLi91dGlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudDxcbiAgSXRlbSBleHRlbmRzIG9iamVjdCxcbiAgQ29udGV4dCA9IFRhYmxlVXRpbFNlcnZpY2U8SXRlbT4sXG4+IHtcbiAgQElucHV0KClcbiAgbGlzdCE6IFN0cmVhbUxpc3RMb2FkZXI8S3ViZXJuZXRlc1Jlc291cmNlTGlzdDxJdGVtPiwgSXRlbT47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGxpc3QkITogT2JzZXJ2YWJsZTxTdHJlYW1MaXN0TG9hZGVyPEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8SXRlbT4sIEl0ZW0+PjtcblxuICBASW5wdXQoKVxuICBkYXRhU291cmNlOiBJdGVtW10gfCBPYnNlcnZhYmxlPEl0ZW1bXT47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGRhdGFTb3VyY2UkITogT2JzZXJ2YWJsZTxJdGVtW10gfCBPYnNlcnZhYmxlPEl0ZW1bXT4+O1xuXG4gIEBJbnB1dCgpXG4gIHJlc291cmNlTmFtZTogc3RyaW5nO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICByZXNvdXJjZU5hbWUkITogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIEBJbnB1dCgpXG4gIHJlc291cmNlTmFtZVRyYW5zbGF0ZWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzdGlja3k6IG51bWJlciB8IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwZXJtaXNzaW9uczogUGFydGlhbDxSZWNvcmQ8SzhzUmVzb3VyY2VBY3Rpb24sIGJvb2xlYW4+PjtcblxuICBASW5wdXQoKVxuICBjb2x1bW5zOiBSZWFkb25seUFycmF5PFRhYmxlQ29sdW1uPEl0ZW0sIENvbnRleHQ+PjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgY29sdW1ucyQhOiBPYnNlcnZhYmxlPEFycmF5PFRhYmxlQ29sdW1uPEl0ZW0sIENvbnRleHQ+Pj47XG5cbiAgQElucHV0KClcbiAgZmlsdGVyUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgZmlsdGVyUGFyYW1zJCE6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IENvbnRleHQ7XG5cbiAgZ2V0IGZpbmFsQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0ID8/ICh0aGlzLnV0aWwgYXMgdW5rbm93biBhcyBDb250ZXh0KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGZpbHRlckZuOiBUYWJsZUZpbHRlckZuPEl0ZW0sIENvbnRleHQ+O1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBmaWx0ZXJGbiQhOiBPYnNlcnZhYmxlPFRhYmxlRmlsdGVyRm48SXRlbSwgQ29udGV4dD4+O1xuXG4gIEBJbnB1dCgpXG4gIHRyYWNrQnk6IFRyYWNrQnlGdW5jdGlvbjxJdGVtPiA9IHRoaXMudHJhY2tCeUZuO1xuXG4gIEBJbnB1dCgpXG4gIG5vRGF0YUhpbnQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nRXJyb3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBlbmFibGVQYWdpbmF0aW9uID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcGFnZVNpemUgPSBERUZBVUxUX1BBR0VfU0laRTtcblxuICBASW5wdXQoKVxuICBwYWdlU2l6ZU9wdGlvbnMgPSBERUZBVUxUX1BBR0VfU0laRV9PUFRJT05TO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2luYXRpb25MYXlvdXQgPSBERUZBVUxUX1BBR0lOQVRJT05fTEFZT1VUO1xuXG4gIEBJbnB1dCgpIGZpcnN0U2Nyb2xsTG9hZDogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8SXRlbT4oKTtcblxuICBAT3V0cHV0KClcbiAgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYmxlQ2VsbERlZkRpcmVjdGl2ZSlcbiAgdGFibGVDZWxsRGVmczogUXVlcnlMaXN0PFRhYmxlQ2VsbERlZkRpcmVjdGl2ZTxJdGVtPj47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hdWktdGFibGVfX3Njcm9sbC13cmFwcGVyJylcbiAgZ2V0IHNjcm9sbFdyYXBwZXIoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5zdGlja3k7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBnZXQgc2Nyb2xsV3JhcHBlckhlaWdodCgpIHtcbiAgICByZXR1cm4gaGFuZGxlUGl4ZWwodGhpcy5zdGlja3kpO1xuICB9XG5cbiAgY3VycmVudFBhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEpO1xuXG4gIHBhZ2VTaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihERUZBVUxUX1BBR0VfU0laRSk7XG5cbiAgcGFnaW5hdGlvbiA9IHtcbiAgICB0b3RhbDogMCxcbiAgICBwYWdlczogMCxcbiAgfTtcblxuICBmaW5hbERhdGFTb3VyY2UkID0gdGhpcy5kYXRhU291cmNlJC5waXBlKFxuICAgIHN3aXRjaE1hcChkYXRhU291cmNlID0+XG4gICAgICBkYXRhU291cmNlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSA/IGRhdGFTb3VyY2UgOiBvZihkYXRhU291cmNlKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBmaW5hbFJlc291cmNlTmFtZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLnJlc291cmNlTmFtZSRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2xpc3QsIHJlc291cmNlTmFtZV0pID0+XG4gICAgICAhbGlzdCB8fCByZXNvdXJjZU5hbWVcbiAgICAgICAgPyBvZihyZXNvdXJjZU5hbWUpXG4gICAgICAgIDogbGlzdC5yYXdSZXNwb25zZSQucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4gcmVzPy5raW5kLnNsaWNlKDAsIC00KS50b0xvd2VyQ2FzZSgpKSxcbiAgICAgICAgICApLFxuICAgICksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGNvbHVtbkRlZnMkID0gdGhpcy5jb2x1bW5zJC5waXBlKFxuICAgIG1hcChcbiAgICAgIGNvbHVtbnMgPT5cbiAgICAgICAgKGNvbHVtbnMgfHwgW10pLm1hcChjb2x1bW4gPT4ge1xuICAgICAgICAgIGNvbHVtbiA9IGlzU3RyaW5nKGNvbHVtbikgPyB7IG5hbWU6IGNvbHVtbiB9IDogY29sdW1uO1xuICAgICAgICAgIGlmICghKCdwYXRoJyBpbiBjb2x1bW4pICYmICFLTk9XTl9DT0xVTU5TLmhhcyhjb2x1bW4ubmFtZSkpIHtcbiAgICAgICAgICAgIGNvbHVtbi5wYXRoID0gY29sdW1uLm5hbWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubm9ybWFsaXplQ29sdW1uRGVmU29ydChjb2x1bW4pO1xuICAgICAgICAgIHRoaXMubm9ybWFsaXplQ29sdW1uRGVmVHJhbnNsYXRlKGNvbHVtbik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubm9ybWFsaXplQWN0aW9uQ29sdW1uRGVmKGNvbHVtbik7XG4gICAgICAgIH0pIGFzIFRhYmxlQ29sdW1uRGVmczxJdGVtLCBDb250ZXh0PixcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBjb2x1bW5OYW1lcyQgPSB0aGlzLmNvbHVtbkRlZnMkLnBpcGUoXG4gICAgbWFwKGNvbHVtbnMgPT4gY29sdW1ucy5tYXAoY29sdW1uID0+IGNvbHVtbi5uYW1lKSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGFjdGl2ZVNvcnQkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFNvcnQ+KDEpO1xuXG4gIGFjdGl2ZVNvcnQkOiBPYnNlcnZhYmxlPFNvcnQ+ID0gbWVyZ2UoXG4gICAgdGhpcy5hY3RpdmVTb3J0JCQsXG4gICAgdGhpcy5jb2x1bW5EZWZzJC5waXBlKFxuICAgICAgbWFwKGNvbHVtbkRlZnMgPT4ge1xuICAgICAgICBjb25zdCBjb2x1bW5EZWYgPSBjb2x1bW5EZWZzLmZpbmQoY29sdW1uID0+IGNvbHVtbi5zb3J0Py5hY3RpdmUpO1xuICAgICAgICByZXR1cm4gY29sdW1uRGVmXG4gICAgICAgICAgPyB7IGFjdGl2ZTogY29sdW1uRGVmLm5hbWUsIGRpcmVjdGlvbjogY29sdW1uRGVmLnNvcnQuZGlyZWN0aW9uIH1cbiAgICAgICAgICA6IG51bGw7XG4gICAgICB9KSxcbiAgICApLFxuICApLnBpcGUocHVibGlzaFJlZigpKTtcblxuICBmaWx0ZXJlZEl0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubGlzdCQsIHRoaXMuZmluYWxEYXRhU291cmNlJF0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFtsaXN0LCBkYXRhU291cmNlXSkgPT4gKGxpc3QgPyBsaXN0Lml0ZW1zJCA6IG9mKGRhdGFTb3VyY2UpKSksXG4gICAgKSxcbiAgICB0aGlzLmNvbHVtbkRlZnMkLFxuICAgIHRoaXMuYWN0aXZlU29ydCQsXG4gICAgdGhpcy5maWx0ZXJQYXJhbXMkLFxuICAgIHRoaXMuZmlsdGVyRm4kLFxuICBdKS5waXBlKFxuICAgIG1hcChcbiAgICAgIChbXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBjb2x1bW5EZWZzLFxuICAgICAgICBhY3RpdmVTb3J0LFxuICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgIGZpbHRlckZuID0gdGhpcy51dGlsLmRlZmF1bHRGaWx0ZXJGbixcbiAgICAgIF0pID0+XG4gICAgICAgIGZpbHRlckZuLmNhbGwoXG4gICAgICAgICAgdGhpcy5maW5hbENvbnRleHQsXG4gICAgICAgICAgaXRlbXMsXG4gICAgICAgICAgY29sdW1uRGVmcyxcbiAgICAgICAgICBhY3RpdmVTb3J0LFxuICAgICAgICAgIGZpbHRlclBhcmFtcyxcbiAgICAgICAgICB0aGlzLmZpbmFsQ29udGV4dCxcbiAgICAgICAgKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBwYWdlZEl0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyQsXG4gICAgdGhpcy5jdXJyZW50UGFnZSQsXG4gICAgdGhpcy5wYWdlU2l6ZSQsXG4gIF0pLnBpcGUoXG4gICAgdGFwKChbaXRlbXMsIF8sIHBhZ2VTaXplXSkgPT4ge1xuICAgICAgaWYgKHRoaXMuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24gPVxuICAgICAgICAgIGl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgPyB7IHRvdGFsOiAwLCBwYWdlczogMCB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgIHBhZ2VzOiBNYXRoLmNlaWwoaXRlbXMubGVuZ3RoIC8gcGFnZVNpemUpLFxuICAgICAgICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pLFxuICAgIG1hcCgoW2l0ZW1zLCBjdXJyZW50UGFnZSwgcGFnZVNpemVdKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZW5hYmxlUGFnaW5hdGlvbikge1xuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wYWdpbmF0aW9uLnBhZ2VzIDwgY3VycmVudFBhZ2UgJiYgdGhpcy5wYWdpbmF0aW9uLnBhZ2VzICE9PSAwKSB7XG4gICAgICAgIGN1cnJlbnRQYWdlID0gdGhpcy5wYWdpbmF0aW9uLnBhZ2VzO1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlJC5uZXh0KGN1cnJlbnRQYWdlKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJlZ2luID0gKGN1cnJlbnRQYWdlIC0gMSkgKiBwYWdlU2l6ZTtcbiAgICAgIHJldHVybiBpdGVtcy5zbGljZShiZWdpbiwgYmVnaW4gKyBwYWdlU2l6ZSk7XG4gICAgfSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGdldCBpc0xpc3RQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID09PSAnbGlzdCc7XG4gIH1cblxuICBpc0xpc3RQYWdlJCA9IHRoaXMucm91dGUudXJsLnBpcGUoXG4gICAgbWFwKCgpID0+IHRoaXMuaXNMaXN0UGFnZSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGlzRnVuY3Rpb24gPSBpc0Z1bmN0aW9uO1xuICBpc0s4c1Jlc291cmNlID0gaXNLOHNSZXNvdXJjZTtcbiAgaXNGaWVsZE5vdEF2YWlsYWJsZSA9IGlzRmllbGROb3RBdmFpbGFibGU7XG5cbiAgZ2V0VmFsdWVGcm9tUGF0aCA9IHRoaXMudXRpbC5nZXRWYWx1ZUZyb21QYXRoO1xuICB0cmFja0J5TmFtZShfOiBudW1iZXIsIGNvbHVtbkRlZjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4pIHtcbiAgICByZXR1cm4gY29sdW1uRGVmLm5hbWU7XG4gIH1cblxuICBOQU1FID0gTkFNRTtcbiAgQ1JFQVRPUiA9IENSRUFUT1I7XG4gIENSRUFURURfQVQgPSBDUkVBVEVEX0FUO1xuICBBQ1RJT04gPSBBQ1RJT047XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdXRpbDogVGFibGVVdGlsU2VydmljZTxJdGVtPixcbiAgKSB7XG4gICAgdGhpcy5nZXRDb2x1bW5UZW1wbGF0ZSA9IHRoaXMuZ2V0Q29sdW1uVGVtcGxhdGUuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG5vcm1hbGl6ZUNvbHVtbkRlZlRyYW5zbGF0ZShjb2x1bW46IFRhYmxlQ29sdW1uRGVmPEl0ZW0sIENvbnRleHQ+KSB7XG4gICAgY29uc3QgeyB0cmFuc2xhdGUgfSA9IGNvbHVtbjtcbiAgICBpZiAodHJhbnNsYXRlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjb2x1bW47XG4gICAgfVxuICAgIGlmICh0cmFuc2xhdGUgPT09IHRydWUpIHtcbiAgICAgIGNvbHVtbi50cmFuc2xhdGUgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoaXNTdHJpbmcodHJhbnNsYXRlKSkge1xuICAgICAgY29sdW1uLnRyYW5zbGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSA9PiB0cmFuc2xhdGUgKyB2YWx1ZTtcbiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0TGlrZSh0cmFuc2xhdGUpKSB7XG4gICAgICBjb2x1bW4udHJhbnNsYXRlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpID0+IGdldCh0cmFuc2xhdGUsIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbjtcbiAgfVxuXG4gIG5vcm1hbGl6ZUNvbHVtbkRlZlNvcnQoY29sdW1uOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIGNvbnN0IHsgc29ydCB9ID0gY29sdW1uO1xuICAgIGlmIChzb3J0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjb2x1bW47XG4gICAgfVxuICAgIGlmIChzb3J0ID09PSB0cnVlKSB7XG4gICAgICBjb2x1bW4uc29ydCA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYXNjJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc1N0cmluZyhzb3J0KSkge1xuICAgICAgY29sdW1uLnNvcnQgPSB7XG4gICAgICAgIGRpcmVjdGlvbjogc29ydCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc0Z1bmN0aW9uKHNvcnQpKSB7XG4gICAgICBjb2x1bW4uc29ydCA9IHtcbiAgICAgICAgZGlyZWN0aW9uOiAnYXNjJyxcbiAgICAgICAgaGFuZGxlcjogc29ydCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChzb3J0LmRpcmVjdGlvbiA9PSBudWxsKSB7XG4gICAgICBzb3J0LmRpcmVjdGlvbiA9ICdhc2MnO1xuICAgIH1cbiAgICByZXR1cm4gY29sdW1uO1xuICB9XG5cbiAgb25Tb3J0Q2hhbmdlKCRldmVudDogU29ydCkge1xuICAgIHRoaXMuc29ydENoYW5nZS5uZXh0KCRldmVudCk7XG4gICAgdGhpcy5hY3RpdmVTb3J0JCQubmV4dCgkZXZlbnQpO1xuICB9XG5cbiAgbm9ybWFsaXplQWN0aW9uQ29sdW1uRGVmKFxuICAgIGNvbHVtbjogVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD4sXG4gICk6IE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PiB7XG4gICAgaWYgKGNvbHVtbi5uYW1lICE9PSBBQ1RJT04gfHwgIWNvbHVtbi5leHRyYSkge1xuICAgICAgcmV0dXJuIGNvbHVtbiBhcyBOb3JtYWxpemVkVGFibGVDb2x1bW5EZWY8SXRlbSwgQ29udGV4dD47XG4gICAgfVxuXG4gICAgY29uc3QgZXh0cmEgPSBjb2x1bW4uZXh0cmEgYXMgVGFibGVDb2x1bW5BY3Rpb25FeHRyYTxJdGVtLCBDb250ZXh0PjtcbiAgICAoW0s4c1Jlc291cmNlQWN0aW9uLkRFTEVURSwgSzhzUmVzb3VyY2VBY3Rpb24uVVBEQVRFXSBhcyBjb25zdCkuZm9yRWFjaChcbiAgICAgIGFjdGlvbiA9PiB7XG4gICAgICAgIGlmICghZXh0cmFbYWN0aW9uXSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaGFuZGxlciA9IChcbiAgICAgICAgICBleHRyYVthY3Rpb25dIGFzIFRhYmxlQ29sdW1uQWN0aW9uRXh0cmFJdGVtPEl0ZW0sIENvbnRleHQ+XG4gICAgICAgICkuZGlzYWJsZWQ7XG4gICAgICAgIGlmIChoYW5kbGVyID09IG51bGwpIHtcbiAgICAgICAgICBoYW5kbGVyID0gbm9vcCBhcyBUYWJsZUNvbHVtbkFjdGlvbkRpc2FibGVkSGFuZGxlcjxJdGVtLCBDb250ZXh0PjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNGdW5jdGlvbihoYW5kbGVyKSkge1xuICAgICAgICAgIChcbiAgICAgICAgICAgIGV4dHJhW2FjdGlvbl0gYXMgVGFibGVDb2x1bW5BY3Rpb25FeHRyYUl0ZW08SXRlbSwgQ29udGV4dD5cbiAgICAgICAgICApLmRpc2FibGVkID0geyBoYW5kbGVyIH07XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gY29sdW1uIGFzIE5vcm1hbGl6ZWRUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0PjtcbiAgfVxuXG4gIGdldENvbHVtblRlbXBsYXRlKGNvbHVtbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVDZWxsRGVmcy5maW5kKGRlZiA9PiBkZWYuYWNsVGFibGVDZWxsRGVmID09PSBjb2x1bW4pXG4gICAgICA/LnRlbXBsYXRlUmVmO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IEl0ZW0pIHtcbiAgICByZXR1cm4gaXNLOHNSZXNvdXJjZShpdGVtKVxuICAgICAgPyB0cmFja0J5VWlkKGluZGV4LCBpdGVtKVxuICAgICAgOiBnZXQoaXRlbSwgTkFNRSwgaW5kZXgpO1xuICB9XG5cbiAgb25VcGRhdGUoZGF0YTogSXRlbSwgY29sdW1uRGVmOiBUYWJsZUNvbHVtbkRlZjxJdGVtLCBDb250ZXh0Pikge1xuICAgIHRoaXMudXBkYXRlLmVtaXQoZGF0YSk7XG5cbiAgICBpZiAoZ2V0KGNvbHVtbkRlZi5leHRyYSwgW1VQREFURSwgTElOS10pICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXG4gICAgICAgIFtcbiAgICAgICAgICB0aGlzLmlzTGlzdFBhZ2UgPyAnLi4nIDogJy4nLFxuICAgICAgICAgIFVQREFURSxcbiAgICAgICAgICB0aGlzLmdldFZhbHVlRnJvbVBhdGgoZGF0YSwgTkFNRSksXG4gICAgICAgIF0sXG4gICAgICAgIHtcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRWYWx1ZTxULCBGIGV4dGVuZHMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gVD4oXG4gICAgZnVuY3Rpb25PclZhbHVlOiBUIHwgRixcbiAgICAuLi5hcmdzOiBQYXJhbWV0ZXJzPEY+XG4gICk6IFQge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZ1bmN0aW9uT3JWYWx1ZSlcbiAgICAgID8gZnVuY3Rpb25PclZhbHVlLmNhbGwobGFzdChhcmdzKSwgLi4uYXJncylcbiAgICAgIDogZnVuY3Rpb25PclZhbHVlO1xuICB9XG59XG4iLCI8YXVpLXRhYmxlXG4gIGF1aVNvcnRcbiAgW2FjdGl2ZV09XCIoYWN0aXZlU29ydCQgfCBhc3luYyk/LmFjdGl2ZVwiXG4gIFtkaXJlY3Rpb25dPVwiKGFjdGl2ZVNvcnQkIHwgYXN5bmMpPy5kaXJlY3Rpb25cIlxuICBbZGF0YVNvdXJjZV09XCJwYWdlZEl0ZW1zJFwiXG4gIFt0cmFja0J5XT1cInRyYWNrQnlcIlxuICAoc29ydENoYW5nZSk9XCJvblNvcnRDaGFuZ2UoJGV2ZW50KVwiXG4gIFthdWlUYWJsZVNjcm9sbGFibGVdPVwiISFzdGlja3lcIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nRm9yPVwibGV0IGNvbHVtbkRlZiBvZiBjb2x1bW5EZWZzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5TmFtZVwiXG4gICAgW2F1aVRhYmxlQ29sdW1uRGVmXT1cImNvbHVtbkRlZi5uYW1lXCJcbiAgICBbc3RpY2t5XT1cImNvbHVtbkRlZi5zdGlja3lcIlxuICAgIFtzdGlja3lFbmRdPVwiY29sdW1uRGVmLnN0aWNreUVuZFwiXG4gID5cbiAgICA8YXVpLXRhYmxlLWhlYWRlci1jZWxsXG4gICAgICAqYXVpVGFibGVIZWFkZXJDZWxsRGVmXG4gICAgICBbc3R5bGVdPVwiY29sdW1uRGVmLnN0eWxlXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uRGVmLm5hbWUgIT09IEFDVElPTlwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiY29sdW1uRGVmLnNvcnRcIlxuICAgICAgICAgIGF1aS1zb3J0LWhlYWRlclxuICAgICAgICAgIFtzdGFydF09XCJjb2x1bW5EZWYuc29ydC5kaXJlY3Rpb25cIlxuICAgICAgICAgID57eyBjb2x1bW5EZWYubGFiZWwgfHwgY29sdW1uRGVmLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFjb2x1bW5EZWYuc29ydFwiPnt7XG4gICAgICAgICAgY29sdW1uRGVmLmxhYmVsIHx8IGNvbHVtbkRlZi5uYW1lIHwgdHJhbnNsYXRlXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hdWktdGFibGUtaGVhZGVyLWNlbGw+XG5cbiAgICA8YXVpLXRhYmxlLWNlbGxcbiAgICAgICphdWlUYWJsZUNlbGxEZWY9XCJcbiAgICAgICAgbGV0IGRhdGE7XG4gICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICBsZXQgZXZlbiA9IGV2ZW47XG4gICAgICAgIGxldCBvZGQgPSBvZGQ7XG4gICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgXCJcbiAgICAgIFtkaXJlY3Rpb25dPVwiY29sdW1uRGVmLmRpcmVjdGlvblwiXG4gICAgICBbbmdDbGFzc109XCJjb2x1bW5EZWYuY2xhc3NcIlxuICAgICAgW3N0eWxlXT1cImNvbHVtbkRlZi5zdHlsZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGNvbHVtbkRlZi5uYW1lIHwgcHVyZTogZ2V0Q29sdW1uVGVtcGxhdGUgYXMgdGVtcGxhdGU7XG4gICAgICAgICAgZWxzZSB0YWJsZUNlbGxEZWZUcGxcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICB0ZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBkYXRhLFxuICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgIGV2ZW46IGV2ZW4sXG4gICAgICAgICAgICAgIG9kZDogb2RkLFxuICAgICAgICAgICAgICBsYXN0OiBsYXN0LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUNlbGxEZWZUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgY29sdW1uRGVmLnBhdGggIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAoZGF0YVxuICAgICAgICAgICAgICAgIHwgcHVyZVxuICAgICAgICAgICAgICAgICAgOiBnZXRWYWx1ZUZyb21QYXRoXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5uYW1lXG4gICAgICAgICAgICAgICAgICA6IGNvbHVtbkRlZi5wYXRoKSBhcyB2YWx1ZTtcbiAgICAgICAgICAgIGVsc2UgZGVmYXVsdFRhYmxlQ2VsbFRwbFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICB0YWJsZUNlbGxDb250ZW50O1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGNvbHVtbkRlZjogY29sdW1uRGVmLCB2YWx1ZTogdmFsdWUgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRhYmxlQ2VsbFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBkZWZhdWx0VGFibGVDZWxsO1xuICAgICAgICAgICAgY29udGV4dDogeyBkYXRhOiBkYXRhLCBjb2x1bW5EZWY6IGNvbHVtbkRlZiB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2F1aS10YWJsZS1jZWxsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5OYW1lcyQgfCBhc3luYzsgc3RpY2t5OiAhIXN0aWNreVwiXG4gID48L2F1aS10YWJsZS1oZWFkZXItcm93PlxuICA8YXVpLXRhYmxlLXJvd1xuICAgICphdWlUYWJsZVJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbk5hbWVzJCB8IGFzeW5jXCJcbiAgPjwvYXVpLXRhYmxlLXJvdz5cblxuICA8bmctY29udGFpbmVyICphdWlUYWJsZVBsYWNlaG9sZGVyRGVmPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaXN0XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIFtoaWRkZW5dPVwiXG4gICAgICAgICAgKHBhZ2VkSXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggfHwgIShsaXN0Lml0ZW1zJCB8IGFzeW5jKT8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiZW1wdHktcGxhY2Vob2xkZXJcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luYyBhcyBmaW5hbFJlc291cmNlTmFtZTsgZWxzZSBub0RhdGFcIlxuICAgICAgICA+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdub19uYW1lZF9kYXRhX2hpbnQnXG4gICAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6XG4gICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lVHJhbnNsYXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICAgIChmaW5hbFJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbCA6IHRydWUpLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8YWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3RlclxuICAgICAgICBbaGlkZGVuXT1cIlxuICAgICAgICAgICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aCAmJiAobGlzdC5pdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFxuICAgICAgICBcIlxuICAgICAgICBbbGlzdF09XCJsaXN0XCJcbiAgICAgICAgW3Jlc291cmNlTmFtZV09XCJmaW5hbFJlc291cmNlTmFtZSQgfCBhc3luY1wiXG4gICAgICAgIFtyZXNvdXJjZU5hbWVUcmFuc2xhdGVkXT1cInJlc291cmNlTmFtZVRyYW5zbGF0ZWRcIlxuICAgICAgICBbZmlyc3RTY3JvbGxMb2FkXT1cImZpcnN0U2Nyb2xsTG9hZFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICphY2xLOHNMaXN0Rm9vdGVyTG9hZGluZ0Vycm9yXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2FkaW5nRXJyb3JUZW1wbGF0ZVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYWNsLWs4cy1yZXNvdXJjZS1saXN0LWZvb3Rlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFsaXN0ICYmICEocGFnZWRJdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cImVtcHR5LXBsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmluYWxEYXRhU291cmNlJCB8IGFzeW5jOyBlbHNlIGxvYWRpbmdcIj5cbiAgICAgICAge3tcbiAgICAgICAgICBub0RhdGFIaW50IHx8XG4gICAgICAgICAgICAoJ25vX25hbWVkX2RhdGFfaGludCdcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTpcbiAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWVUcmFuc2xhdGVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgKHJlc291cmNlTmFtZSB8IHRyYW5zbGF0ZTogbnVsbCA6IHRydWUpLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBjbGFzcz1cImFjbC1sb2FkaW5nLW1hc2tfX2ljb25cIlxuICAgICAgICAgIHNpemU9XCIxNnB4XCJcbiAgICAgICAgICBpY29uPVwic3Bpbm5lclwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICB7eyAnbG9hZGluZ19wbGVhc2Vfd2FpdCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hdWktdGFibGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVQYWdpbmF0aW9uXCI+XG4gIDxhdWktcGFnaW5hdG9yXG4gICAgW2xheW91dF09XCJwYWdpbmF0aW9uTGF5b3V0XCJcbiAgICBbY3VycmVudFBhZ2VdPVwiY3VycmVudFBhZ2UkIHwgYXN5bmNcIlxuICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZSQgfCBhc3luY1wiXG4gICAgW3RvdGFsXT1cInBhZ2luYXRpb24udG90YWxcIlxuICAgIChjdXJyZW50UGFnZUNoYW5nZSk9XCJjdXJyZW50UGFnZSQubmV4dCgkZXZlbnQpXCJcbiAgICAocGFnZVNpemVDaGFuZ2UpPVwicGFnZVNpemUkLm5leHQoJGV2ZW50KVwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICA+PC9hdWktcGFnaW5hdG9yPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFRhYmxlQ2VsbFxuICBsZXQtZGF0YT1cImRhdGFcIlxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiY29sdW1uRGVmLm5hbWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJOQU1FXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyBuYW1lXCJcbiAgICAgICAgY2xhc3M9XCJhdWktdGFibGVfX2NlbGxfX25hbWVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGNvbHVtbkRlZi5leHRyYT8ubGluayAhPT0gZmFsc2UgJiYgIShkYXRhIHwgYWNsSXNEZWxldGluZyk7XG4gICAgICAgICAgICBlbHNlIHBsYWluTmFtZVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWyhpc0xpc3RQYWdlJCB8IGFzeW5jKSA/ICcuLicgOiAnLicsICdkZXRhaWwnLCBuYW1lXVwiXG4gICAgICAgICAgICBbYXVpVG9vbHRpcF09XCJuYW1lXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBuYW1lIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFpbk5hbWU+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIFthdWlUb29sdGlwXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2NsYXNzLmRlbGV0aW5nLXRleHRdPVwiZGF0YSB8IGFjbElzRGVsZXRpbmdcIlxuICAgICAgICAgICAgPnt7IG5hbWUgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxhY2wtZGVsZXRpbmctdGFnXG4gICAgICAgICAgKm5nSWY9XCJkYXRhIHwgcHVyZTogaXNLOHNSZXNvdXJjZVwiXG4gICAgICAgICAgW3Jlc291cmNlXT1cImRhdGFcIlxuICAgICAgICA+PC9hY2wtZGVsZXRpbmctdGFnPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgKGRhdGEgfCBwdXJlOiBpc0s4c1Jlc291cmNlKVxuICAgICAgICAgICAgPyAoZGF0YSB8IGFjbERpc3BsYXlOYW1lKVxuICAgICAgICAgICAgOiBkYXRhLmRpc3BsYXlOYW1lIGFzIGRpc3BsYXlOYW1lXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiYXVpLXRhYmxlX19jZWxsX19kaXNwbGF5LW5hbWVcIlxuICAgICAgICBbY2xhc3MuZGVsZXRpbmctdGV4dF09XCJkYXRhIHwgYWNsSXNEZWxldGluZ1wiXG4gICAgICA+XG4gICAgICAgIHt7IGRpc3BsYXlOYW1lIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJDUkVBVEVEX0FUXCI+XG4gICAgICA8YWNsLXJlbGF0aXZlLXRpbWVcbiAgICAgICAgW3RpbWVdPVwiZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZVwiXG4gICAgICA+PC9hY2wtcmVsYXRpdmUtdGltZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJBQ1RJT05cIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBbYXVpRHJvcGRvd25dPVwibWVudVwiXG4gICAgICAgIFthdWlEcm9wZG93bkNvbnRleHRdPVwieyAkaW1wbGljaXQ6IGRhdGEsIGNvbHVtbkRlZjogY29sdW1uRGVmIH1cIlxuICAgICAgPlxuICAgICAgICA8YXVpLWljb24gaWNvbj1cImVsbGlwc2lzX3Zfc1wiPjwvYXVpLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgZGF0YSB8IHB1cmU6IGdldFZhbHVlRnJvbVBhdGggOiBjb2x1bW5EZWYubmFtZSBhcyB2YWx1ZTtcbiAgICAgICAgICBlbHNlIGVtcHR5XG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgdGFibGVDZWxsQ29udGVudDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgY29sdW1uRGVmOiBjb2x1bW5EZWYsIHZhbHVlOiB2YWx1ZSB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNlbGxDb250ZW50XG4gIGxldC1jb2x1bW5EZWY9XCJjb2x1bW5EZWZcIlxuICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXG4+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgY29sdW1uRGVmLnRyYW5zbGF0ZSA9PSBudWxsXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjb2x1bW5EZWYudHJhbnNsYXRlID09PSB0cnVlXG4gICAgICAgICAgPyAodmFsdWUgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAodmFsdWVcbiAgICAgICAgICAgIHwgcHVyZTogY29sdW1uRGVmLnRyYW5zbGF0ZSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgICAgfCB0cmFuc2xhdGUpIGFzIHRleHQ7XG4gICAgICBlbHNlIGVtcHR5XG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29sdW1uRGVmLmVsbGlwc2lzOyBlbHNlIHBsYWluVGV4dFwiXG4gICAgICBjbGFzcz1cInRleHQtb3ZlcmZsb3dcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwidGV4dFwiXG4gICAgPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjcGxhaW5UZXh0Pnt7IHRleHQgfX08L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjbWVudVxuICBsZXQtZGF0YVxuICBsZXQtY29sdW1uRGVmPVwiY29sdW1uRGVmXCJcbiAgPjxhdWktbWVudT5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LnVwZGF0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMudXBkYXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS51cGRhdGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy51cGRhdGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cIm9uVXBkYXRlKGRhdGEsIGNvbHVtbkRlZilcIlxuICAgID5cbiAgICAgIDxhdWktbWVudS1pdGVtPnt7ICd1cGRhdGUnIHwgdHJhbnNsYXRlIH19PC9hdWktbWVudS1pdGVtPlxuICAgIDwvYWNsLWRpc2FibGVkLWNvbnRhaW5lcj5cbiAgICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJjb2x1bW5EZWYuZXh0cmE/LmRlbGV0ZSAhPT0gZmFsc2VcIlxuICAgICAgW2lzQWxsb3dlZF09XCIhcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMuZGVsZXRlXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIlxuICAgICAgICAoY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLmhhbmRsZXIgfCBwdXJlOiBpc0Z1bmN0aW9uKSAmJlxuICAgICAgICAoZGF0YSB8IHB1cmU6IGNvbHVtbkRlZi5leHRyYS5kZWxldGUuZGlzYWJsZWQuaGFuZGxlciA6IGZpbmFsQ29udGV4dClcbiAgICAgIFwiXG4gICAgICBbdG9vbHRpcF09XCJcbiAgICAgICAgY29sdW1uRGVmLmV4dHJhPy5kZWxldGU/LmRpc2FibGVkLnRvb2x0aXBcbiAgICAgICAgICB8IHB1cmU6IGdldFZhbHVlIDogZGF0YSA6IGZpbmFsQ29udGV4dFxuICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cImRlbGV0ZS5lbWl0KGRhdGEpXCJcbiAgICA+XG4gICAgICA8YXVpLW1lbnUtaXRlbT57eyAnZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fTwvYXVpLW1lbnUtaXRlbT5cbiAgICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG4gIDwvYXVpLW1lbnU+PC9uZy10ZW1wbGF0ZVxuPlxuXG48bmctdGVtcGxhdGUgI2VtcHR5Pnt7IG51bGwgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fTwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbm9EYXRhPnt7ICdub19kYXRhJyB8IHRyYW5zbGF0ZSB9fTwvbmctdGVtcGxhdGU+XG4iXX0=
|
package/esm2022/table/module.mjs
CHANGED
|
@@ -87,5 +87,5 @@ export class TableModule {
|
|
|
87
87
|
K8SResourceListModule,
|
|
88
88
|
CoreModule, i1.ZeroStateComponent, i2.LoadingMaskComponent, i3.ConfirmDeleteComponent, i4.FoldableBlockComponent, i5.RelativeTimeComponent, i3.ConfirmDeleteContentDirective, i3.ConfirmDeleteLabelDirective, i3.ConfirmDeleteTipDirective, i6.DisabledContainerComponent, i7.TerminatingTagComponent, i8.FoldableItemInTableComponent, i9.SelectPrefixLabelDirective, i10.TextWithUrlComponent, i11.CardSectionComponent, i12.CurrentTimeComponent, i13.TextEllipsisComponent, i14.ResourceMultiSelectComponent, i15.FieldSetItemActionDirective, i15.FieldSetItemComponent, i16.FieldSetGroupComponent, i17.FieldSetColumnComponent, i17.FieldSetColumnGroupComponent, i18.TranslatePipe, i19.TranslateDirective, i19.TranslateMatchDirective, i19.TranslateTextDirective, PaginatorModule,
|
|
89
89
|
DisabledContainerComponent], exports: [TableComponent, TableCellDefDirective] }); })();
|
|
90
|
-
i0.ɵɵsetComponentScope(TableComponent, [i20.NgClass, i20.NgForOf, i20.NgIf, i20.NgTemplateOutlet, i20.NgSwitch, i20.NgSwitchCase, i20.NgSwitchDefault, i21.RouterLink, i22.ButtonComponent, i22.DropdownDirective, i22.MenuComponent, i22.MenuItemComponent, i22.IconComponent, i22.SortDirective, i22.SortHeaderComponent, i22.TooltipDirective, i22.TableComponent, i22.TableRowComponent, i22.TableHeaderRowComponent, i22.TableCellDirective, i22.TableCellDefDirective, i22.TableHeaderCellDirective, i22.TableRowDefDirective, i22.TableHeaderRowDefDirective, i22.TableHeaderCellDefDirective, i22.TableColumnDefDirective, i22.TablePlaceholderDefDirective, i22.TableScrollableDirective, i23.K8SResourceListFooterComponent, i24.E2eAttributeBindingDirective, i5.RelativeTimeComponent, i6.DisabledContainerComponent, i7.TerminatingTagComponent, i22.PaginatorComponent], [i20.AsyncPipe, i25.FieldNotAvailablePipe, i26.PurePipe, i27.K8sDisplayNamePipe, i27.K8sIsDeletingPipe, i18.TranslatePipe]);
|
|
90
|
+
i0.ɵɵsetComponentScope(TableComponent, [i20.NgClass, i20.NgForOf, i20.NgIf, i20.NgTemplateOutlet, i20.NgSwitch, i20.NgSwitchCase, i20.NgSwitchDefault, i21.RouterLink, i22.ButtonComponent, i22.DropdownDirective, i22.MenuComponent, i22.MenuItemComponent, i22.IconComponent, i22.SortDirective, i22.SortHeaderComponent, i22.TooltipDirective, i22.TableComponent, i22.TableRowComponent, i22.TableHeaderRowComponent, i22.TableCellDirective, i22.TableCellDefDirective, i22.TableHeaderCellDirective, i22.TableRowDefDirective, i22.TableHeaderRowDefDirective, i22.TableHeaderCellDefDirective, i22.TableColumnDefDirective, i22.TablePlaceholderDefDirective, i22.TableScrollableDirective, i23.K8SResourceListFooterComponent, i23.K8sListFooterLoadingErrorDirective, i24.E2eAttributeBindingDirective, i5.RelativeTimeComponent, i6.DisabledContainerComponent, i7.TerminatingTagComponent, i22.PaginatorComponent], [i20.AsyncPipe, i25.FieldNotAvailablePipe, i26.PurePipe, i27.K8sDisplayNamePipe, i27.K8sIsDeletingPipe, i18.TranslatePipe]);
|
|
91
91
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3RhYmxlL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsSUFBSSxjQUFjLEVBQzdCLGFBQWEsRUFDYixlQUFlLEdBQ2hCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFzQi9FLE1BQU0sT0FBTyxXQUFXOzRFQUFYLFdBQVc7bUVBQVgsV0FBVzt1RUFsQnBCLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxVQUFVO1lBQ1YsVUFBVTtZQUNWLGFBQWE7WUFDYixjQUFjO1lBQ2QscUJBQXFCO1lBQ3JCLFVBQVUsZ1FBR1YsZUFBZTtZQUNmLDBCQUEwQjs7aUZBS2pCLFdBQVc7Y0FwQnZCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxVQUFVO29CQUNWLFVBQVU7b0JBQ1YsYUFBYTtvQkFDYixjQUFjO29CQUNkLHFCQUFxQjtvQkFDckIsVUFBVTtvQkFDVixHQUFHLGFBQWE7b0JBQ2hCLEdBQUcsZ0JBQWdCO29CQUNuQixlQUFlO29CQUNmLDBCQUEwQjtpQkFDM0I7Z0JBQ0QsWUFBWSxFQUFFLHVCQUF1QjtnQkFDckMsT0FBTyxFQUFFLHVCQUF1QjthQUNqQzs7d0ZBQ1ksV0FBVyxtQkF0QmdCLGNBQWMsRUFBRSxxQkFBcUIsYUFJekUsWUFBWTtRQUNaLFlBQVk7UUFDWixZQUFZO1FBQ1osY0FBYztRQUNkLFVBQVU7UUFDVixVQUFVO1FBQ1YsYUFBYTtRQUNiLGNBQWM7UUFDZCxxQkFBcUI7UUFDckIsVUFBVSxtdUJBR1YsZUFBZTtRQUNmLDBCQUEwQixhQWpCVSxjQUFjLEVBQUUscUJBQXFCO3VCQUFyQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQnV0dG9uTW9kdWxlLFxuICBEcm9wZG93bk1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgU29ydE1vZHVsZSxcbiAgVGFibGVNb2R1bGUgYXMgQXVpVGFibGVNb2R1bGUsXG4gIFRvb2x0aXBNb2R1bGUsXG4gIFBhZ2luYXRvck1vZHVsZSxcbn0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICcuLi9jb3JlL21vZHVsZSc7XG5pbXBvcnQgeyBEaXNhYmxlZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2Rpc2FibGVkLWNvbnRhaW5lci9kaXNhYmxlZC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEs4U1Jlc291cmNlTGlzdE1vZHVsZSB9IGZyb20gJy4uL2s4cy1yZXNvdXJjZS1saXN0L2s4cy1yZXNvdXJjZS1saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBUUkFOU0xBVEVfTU9EVUxFIH0gZnJvbSAnLi4vdHJhbnNsYXRlL3RyYW5zbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgV0lER0VUX01PRFVMRSB9IGZyb20gJy4uL3dpZGdldC93aWRnZXQubW9kdWxlJztcblxuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2hlbHBlcnMuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9UQUJMRV9FWFBPUlRBQkxFID0gW1RhYmxlQ29tcG9uZW50LCBUYWJsZUNlbGxEZWZEaXJlY3RpdmVdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBTb3J0TW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgQXVpVGFibGVNb2R1bGUsXG4gICAgSzhTUmVzb3VyY2VMaXN0TW9kdWxlLFxuICAgIENvcmVNb2R1bGUsXG4gICAgLi4uV0lER0VUX01PRFVMRSxcbiAgICAuLi5UUkFOU0xBVEVfTU9EVUxFLFxuICAgIFBhZ2luYXRvck1vZHVsZSxcbiAgICBEaXNhYmxlZENvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBDT01NT05fVEFCTEVfRVhQT1JUQUJMRSxcbiAgZXhwb3J0czogQ09NTU9OX1RBQkxFX0VYUE9SVEFCTEUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9kdWxlIHt9XG4iXX0=
|