@po-ui/ng-components 17.26.3 → 17.26.5

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.
Files changed (39) hide show
  1. package/esm2022/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.mjs +31 -13
  2. package/esm2022/lib/components/po-accordion/po-accordion-manager/po-accordion-manager.component.mjs +47 -12
  3. package/esm2022/lib/components/po-accordion/po-accordion.module.mjs +5 -4
  4. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.mjs +2 -2
  5. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
  6. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +118 -7
  7. package/esm2022/lib/components/po-field/po-switch/po-switch.component.mjs +18 -4
  8. package/esm2022/lib/components/po-page/po-page-default/po-page-default-base.component.mjs +2 -2
  9. package/esm2022/lib/components/po-page/po-page-default/po-page-default.component.mjs +9 -1
  10. package/esm2022/lib/components/po-table/po-table-base.component.mjs +31 -3
  11. package/esm2022/lib/components/po-table/po-table-detail/po-table-detail.component.mjs +43 -37
  12. package/esm2022/lib/components/po-table/po-table-list-manager/po-table-list-manager.component.mjs +5 -5
  13. package/esm2022/lib/components/po-table/po-table.component.mjs +8 -8
  14. package/fesm2022/po-ui-ng-components.mjs +313 -94
  15. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  16. package/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.d.ts +2 -0
  17. package/lib/components/po-accordion/po-accordion-manager/po-accordion-manager.component.d.ts +8 -2
  18. package/lib/components/po-accordion/po-accordion.module.d.ts +2 -1
  19. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.d.ts +1 -1
  20. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +2 -0
  21. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.d.ts +7 -2
  22. package/lib/components/po-field/po-switch/po-switch.component.d.ts +13 -1
  23. package/lib/components/po-page/po-page-default/po-page-default-base.component.d.ts +1 -0
  24. package/lib/components/po-page/po-page-default/po-page-default.component.d.ts +2 -0
  25. package/lib/components/po-table/po-table-base.component.d.ts +2 -1
  26. package/lib/components/po-table/po-table-detail/po-table-detail.component.d.ts +6 -1
  27. package/package.json +4 -4
  28. package/po-ui-ng-components-17.26.5.tgz +0 -0
  29. package/schematics/ng-add/index.js +1 -1
  30. package/schematics/ng-update/v14/index.js +1 -1
  31. package/schematics/ng-update/v15/index.js +1 -1
  32. package/schematics/ng-update/v16/index.js +1 -1
  33. package/schematics/ng-update/v17/index.js +1 -1
  34. package/schematics/ng-update/v2/index.js +1 -1
  35. package/schematics/ng-update/v3/index.js +1 -1
  36. package/schematics/ng-update/v4/index.js +1 -1
  37. package/schematics/ng-update/v5/index.js +1 -1
  38. package/schematics/ng-update/v6/index.js +1 -1
  39. package/po-ui-ng-components-17.26.3.tgz +0 -0
@@ -2,9 +2,8 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { capitalizeFirstLetter, isTypeof } from '../../../utils/util';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "../../po-field/po-checkbox/po-checkbox.component";
7
- import * as i4 from "../../../pipes/po-time/po-time.pipe";
5
+ import * as i2 from "../../po-field/po-checkbox/po-checkbox.component";
6
+ import * as i3 from "../../../pipes/po-time/po-time.pipe";
8
7
  function PoTableDetailComponent_thead_1_th_2_Template(rf, ctx) { if (rf & 1) {
9
8
  i0.ɵɵelement(0, "th", 6);
10
9
  } }
@@ -38,14 +37,13 @@ function PoTableDetailComponent_tr_3_ng_container_1_Template(rf, ctx) { if (rf &
38
37
  i0.ɵɵelementContainerStart(0);
39
38
  i0.ɵɵelement(1, "td", 13);
40
39
  i0.ɵɵelementStart(2, "td", 14)(3, "po-checkbox", 15);
41
- i0.ɵɵlistener("click", function PoTableDetailComponent_tr_3_ng_container_1_Template_po_checkbox_click_3_listener() { i0.ɵɵrestoreView(_r12); const item_r5 = i0.ɵɵnextContext().$implicit; const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.onSelectRow(item_r5)); })("p-change", function PoTableDetailComponent_tr_3_ng_container_1_Template_po_checkbox_p_change_3_listener() { i0.ɵɵrestoreView(_r12); const item_r5 = i0.ɵɵnextContext().$implicit; const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onSelectRow(item_r5)); });
42
- i0.ɵɵtwoWayListener("ngModelChange", function PoTableDetailComponent_tr_3_ng_container_1_Template_po_checkbox_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r12); const item_r5 = i0.ɵɵnextContext().$implicit; i0.ɵɵtwoWayBindingSet(item_r5.$selected, $event) || (item_r5.$selected = $event); return i0.ɵɵresetView($event); });
40
+ i0.ɵɵlistener("p-change", function PoTableDetailComponent_tr_3_ng_container_1_Template_po_checkbox_p_change_3_listener() { i0.ɵɵrestoreView(_r12); const item_r5 = i0.ɵɵnextContext().$implicit; const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.onSelectRow(item_r5)); });
43
41
  i0.ɵɵelementEnd()();
44
42
  i0.ɵɵelementContainerEnd();
45
43
  } if (rf & 2) {
46
44
  const item_r5 = i0.ɵɵnextContext().$implicit;
47
45
  i0.ɵɵadvance(3);
48
- i0.ɵɵtwoWayProperty("ngModel", item_r5.$selected);
46
+ i0.ɵɵproperty("p-checkboxValue", item_r5.$selected);
49
47
  } }
50
48
  function PoTableDetailComponent_tr_3_ng_template_2_Template(rf, ctx) { if (rf & 1) {
51
49
  i0.ɵɵelement(0, "td", 16);
@@ -55,10 +53,10 @@ function PoTableDetailComponent_tr_3_td_4_strong_1_Template(rf, ctx) { if (rf &
55
53
  i0.ɵɵtext(1);
56
54
  i0.ɵɵelementEnd();
57
55
  } if (rf & 2) {
58
- const detail_r18 = i0.ɵɵnextContext().$implicit;
59
- const ctx_r19 = i0.ɵɵnextContext(2);
56
+ const detail_r14 = i0.ɵɵnextContext().$implicit;
57
+ const ctx_r15 = i0.ɵɵnextContext(2);
60
58
  i0.ɵɵadvance();
61
- i0.ɵɵtextInterpolate1(" ", ctx_r19.getColumnTitleLabel(detail_r18), ": ");
59
+ i0.ɵɵtextInterpolate1(" ", ctx_r15.getColumnTitleLabel(detail_r14), ": ");
62
60
  } }
63
61
  function PoTableDetailComponent_tr_3_td_4_span_3_Template(rf, ctx) { if (rf & 1) {
64
62
  i0.ɵɵelementStart(0, "span");
@@ -66,11 +64,11 @@ function PoTableDetailComponent_tr_3_td_4_span_3_Template(rf, ctx) { if (rf & 1)
66
64
  i0.ɵɵpipe(2, "currency");
67
65
  i0.ɵɵelementEnd();
68
66
  } if (rf & 2) {
69
- const detail_r18 = i0.ɵɵnextContext().$implicit;
67
+ const detail_r14 = i0.ɵɵnextContext().$implicit;
70
68
  const item_r5 = i0.ɵɵnextContext().$implicit;
71
- const ctx_r20 = i0.ɵɵnextContext();
69
+ const ctx_r16 = i0.ɵɵnextContext();
72
70
  i0.ɵɵadvance();
73
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind4(2, 1, ctx_r20.getDetailData(item_r5, detail_r18), detail_r18.format, "symbol", "1.2-2"));
71
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind4(2, 1, ctx_r16.getDetailData(item_r5, detail_r14), detail_r14.format, "symbol", "1.2-2"));
74
72
  } }
75
73
  function PoTableDetailComponent_tr_3_td_4_span_4_Template(rf, ctx) { if (rf & 1) {
76
74
  i0.ɵɵelementStart(0, "span");
@@ -78,11 +76,11 @@ function PoTableDetailComponent_tr_3_td_4_span_4_Template(rf, ctx) { if (rf & 1)
78
76
  i0.ɵɵpipe(2, "date");
79
77
  i0.ɵɵelementEnd();
80
78
  } if (rf & 2) {
81
- const detail_r18 = i0.ɵɵnextContext().$implicit;
79
+ const detail_r14 = i0.ɵɵnextContext().$implicit;
82
80
  const item_r5 = i0.ɵɵnextContext().$implicit;
83
- const ctx_r21 = i0.ɵɵnextContext();
81
+ const ctx_r17 = i0.ɵɵnextContext();
84
82
  i0.ɵɵadvance();
85
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r21.getDetailData(item_r5, detail_r18), detail_r18.format || "dd/MM/yyyy"));
83
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r17.getDetailData(item_r5, detail_r14), detail_r14.format || "dd/MM/yyyy"));
86
84
  } }
87
85
  function PoTableDetailComponent_tr_3_td_4_span_5_Template(rf, ctx) { if (rf & 1) {
88
86
  i0.ɵɵelementStart(0, "span");
@@ -90,11 +88,11 @@ function PoTableDetailComponent_tr_3_td_4_span_5_Template(rf, ctx) { if (rf & 1)
90
88
  i0.ɵɵpipe(2, "po_time");
91
89
  i0.ɵɵelementEnd();
92
90
  } if (rf & 2) {
93
- const detail_r18 = i0.ɵɵnextContext().$implicit;
91
+ const detail_r14 = i0.ɵɵnextContext().$implicit;
94
92
  const item_r5 = i0.ɵɵnextContext().$implicit;
95
- const ctx_r22 = i0.ɵɵnextContext();
93
+ const ctx_r18 = i0.ɵɵnextContext();
96
94
  i0.ɵɵadvance();
97
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r22.getDetailData(item_r5, detail_r18), detail_r18.format || "HH:mm:ss.ffffff"));
95
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ctx_r18.getDetailData(item_r5, detail_r14), detail_r14.format || "HH:mm:ss.ffffff"));
98
96
  } }
99
97
  function PoTableDetailComponent_tr_3_td_4_span_6_Template(rf, ctx) { if (rf & 1) {
100
98
  i0.ɵɵelementStart(0, "span");
@@ -102,51 +100,51 @@ function PoTableDetailComponent_tr_3_td_4_span_6_Template(rf, ctx) { if (rf & 1)
102
100
  i0.ɵɵpipe(2, "date");
103
101
  i0.ɵɵelementEnd();
104
102
  } if (rf & 2) {
105
- const detail_r18 = i0.ɵɵnextContext().$implicit;
103
+ const detail_r14 = i0.ɵɵnextContext().$implicit;
106
104
  const item_r5 = i0.ɵɵnextContext().$implicit;
107
- const ctx_r23 = i0.ɵɵnextContext();
105
+ const ctx_r19 = i0.ɵɵnextContext();
108
106
  i0.ɵɵadvance();
109
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r23.getDetailData(item_r5, detail_r18), detail_r18.format || "dd/MM/yyyy HH:mm:ss"), " ");
107
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r19.getDetailData(item_r5, detail_r14), detail_r14.format || "dd/MM/yyyy HH:mm:ss"), " ");
110
108
  } }
111
109
  function PoTableDetailComponent_tr_3_td_4_span_7_Template(rf, ctx) { if (rf & 1) {
112
110
  i0.ɵɵelementStart(0, "span");
113
111
  i0.ɵɵtext(1);
114
112
  i0.ɵɵelementEnd();
115
113
  } if (rf & 2) {
116
- const detail_r18 = i0.ɵɵnextContext().$implicit;
114
+ const detail_r14 = i0.ɵɵnextContext().$implicit;
117
115
  const item_r5 = i0.ɵɵnextContext().$implicit;
118
- const ctx_r24 = i0.ɵɵnextContext();
116
+ const ctx_r20 = i0.ɵɵnextContext();
119
117
  i0.ɵɵadvance();
120
- i0.ɵɵtextInterpolate(ctx_r24.formatNumberDetail(ctx_r24.getDetailData(item_r5, detail_r18), detail_r18.format));
118
+ i0.ɵɵtextInterpolate(ctx_r20.formatNumberDetail(ctx_r20.getDetailData(item_r5, detail_r14), detail_r14.format));
121
119
  } }
122
120
  function PoTableDetailComponent_tr_3_td_4_span_8_Template(rf, ctx) { if (rf & 1) {
123
121
  i0.ɵɵelementStart(0, "span");
124
122
  i0.ɵɵtext(1);
125
123
  i0.ɵɵelementEnd();
126
124
  } if (rf & 2) {
127
- const detail_r18 = i0.ɵɵnextContext().$implicit;
125
+ const detail_r14 = i0.ɵɵnextContext().$implicit;
128
126
  const item_r5 = i0.ɵɵnextContext().$implicit;
129
- const ctx_r25 = i0.ɵɵnextContext();
127
+ const ctx_r21 = i0.ɵɵnextContext();
130
128
  i0.ɵɵadvance();
131
- i0.ɵɵtextInterpolate(ctx_r25.getDetailData(item_r5, detail_r18));
129
+ i0.ɵɵtextInterpolate(ctx_r21.getDetailData(item_r5, detail_r14));
132
130
  } }
133
131
  function PoTableDetailComponent_tr_3_td_4_Template(rf, ctx) { if (rf & 1) {
134
- const _r40 = i0.ɵɵgetCurrentView();
132
+ const _r36 = i0.ɵɵgetCurrentView();
135
133
  i0.ɵɵelementStart(0, "td", 17);
136
- i0.ɵɵlistener("click", function PoTableDetailComponent_tr_3_td_4_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r40); const item_r5 = i0.ɵɵnextContext().$implicit; const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.isSelectable ? ctx_r39.onSelectRow(item_r5) : "javascript:;"); });
134
+ i0.ɵɵlistener("click", function PoTableDetailComponent_tr_3_td_4_Template_td_click_0_listener() { i0.ɵɵrestoreView(_r36); const item_r5 = i0.ɵɵnextContext().$implicit; const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.isSelectable ? ctx_r35.onSelectRow(item_r5) : "javascript:;"); });
137
135
  i0.ɵɵtemplate(1, PoTableDetailComponent_tr_3_td_4_strong_1_Template, 2, 1, "strong", 1);
138
136
  i0.ɵɵelementContainerStart(2, 18);
139
137
  i0.ɵɵtemplate(3, PoTableDetailComponent_tr_3_td_4_span_3_Template, 3, 6, "span", 19)(4, PoTableDetailComponent_tr_3_td_4_span_4_Template, 3, 4, "span", 19)(5, PoTableDetailComponent_tr_3_td_4_span_5_Template, 3, 4, "span", 19)(6, PoTableDetailComponent_tr_3_td_4_span_6_Template, 3, 4, "span", 19)(7, PoTableDetailComponent_tr_3_td_4_span_7_Template, 2, 1, "span", 19)(8, PoTableDetailComponent_tr_3_td_4_span_8_Template, 2, 1, "span", 20);
140
138
  i0.ɵɵelementContainerEnd();
141
139
  i0.ɵɵelementEnd();
142
140
  } if (rf & 2) {
143
- const detail_r18 = ctx.$implicit;
141
+ const detail_r14 = ctx.$implicit;
144
142
  const ctx_r9 = i0.ɵɵnextContext(2);
145
- i0.ɵɵclassProp("po-table-column-right", ctx_r9.typeHeaderTop && (detail_r18.type === "currency" || detail_r18.type === "number"));
143
+ i0.ɵɵclassProp("po-table-column-right", ctx_r9.typeHeaderTop && (detail_r14.type === "currency" || detail_r14.type === "number"));
146
144
  i0.ɵɵadvance();
147
145
  i0.ɵɵproperty("ngIf", ctx_r9.typeHeaderInline);
148
146
  i0.ɵɵadvance();
149
- i0.ɵɵproperty("ngSwitch", detail_r18.type);
147
+ i0.ɵɵproperty("ngSwitch", detail_r14.type);
150
148
  i0.ɵɵadvance();
151
149
  i0.ɵɵproperty("ngSwitchCase", "currency");
152
150
  i0.ɵɵadvance();
@@ -185,6 +183,11 @@ export class PoTableDetailComponent {
185
183
  * Lista de itens do _detail_ da tabela.
186
184
  */
187
185
  items;
186
+ /**
187
+ * Linha do registro pai correspondente ao item de detalhe selecionado. Utilizado para gerenciar o estado de seleção do elemento pai,
188
+ * permitindo que o mesmo seja atualizado para refletir a seleção de todos os filhos ou estado indeterminado.
189
+ */
190
+ parentRow;
188
191
  /**
189
192
  * Define se a tabela possui a opção de `selectable` habilitada.
190
193
  */
@@ -244,7 +247,7 @@ export class PoTableDetailComponent {
244
247
  }
245
248
  onSelectRow(item) {
246
249
  item.$selected = !item.$selected;
247
- this.selectRow.emit(item);
250
+ this.selectRow.emit({ item: item, parentRow: this.parentRow });
248
251
  }
249
252
  returnPoTableDetailObject(value) {
250
253
  if (value && isTypeof(value, 'object')) {
@@ -260,7 +263,7 @@ export class PoTableDetailComponent {
260
263
  }
261
264
  }
262
265
  static ɵfac = function PoTableDetailComponent_Factory(t) { return new (t || PoTableDetailComponent)(i0.ɵɵdirectiveInject(i1.DecimalPipe)); };
263
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTableDetailComponent, selectors: [["po-table-detail"]], inputs: { items: [i0.ɵɵInputFlags.None, "p-items", "items"], isSelectable: [i0.ɵɵInputFlags.None, "p-selectable", "isSelectable"], detail: [i0.ɵɵInputFlags.None, "p-detail", "detail"] }, outputs: { selectRow: "p-select-row" }, decls: 4, vars: 2, consts: [[1, "po-table-master-detail"], [4, "ngIf"], ["class", "po-table-detail-row", 3, "po-table-row-active", 4, "ngFor", "ngForOf"], ["class", "po-table-header po-table-column-selectable", 4, "ngIf"], [1, "po-table-header", "po-table-header-column", "po-table-header-master-detail"], ["class", "po-table-header po-table-header-ellipsis", 4, "ngFor", "ngForOf"], [1, "po-table-header", "po-table-column-selectable"], [1, "po-table-header", "po-table-header-ellipsis"], [1, "po-table-header-flex"], [1, "po-table-detail-row"], [4, "ngIf", "ngIfElse"], ["masterDetailSpace", ""], ["class", "po-table-column-master-detail po-table-master-detail-label", 3, "po-table-column-right", "click", 4, "ngFor", "ngForOf"], [1, "po-table-column-master-detail-space-checkbox"], [1, "po-table-column", "po-table-column-selectable"], ["name", "checkbox", 3, "ngModel", "click", "p-change", "ngModelChange"], [1, "po-table-column-master-detail-space"], [1, "po-table-column-master-detail", "po-table-master-detail-label", 3, "click"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"]], template: function PoTableDetailComponent_Template(rf, ctx) { if (rf & 1) {
266
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTableDetailComponent, selectors: [["po-table-detail"]], inputs: { items: [i0.ɵɵInputFlags.None, "p-items", "items"], parentRow: [i0.ɵɵInputFlags.None, "p-parent-row", "parentRow"], isSelectable: [i0.ɵɵInputFlags.None, "p-selectable", "isSelectable"], detail: [i0.ɵɵInputFlags.None, "p-detail", "detail"] }, outputs: { selectRow: "p-select-row" }, decls: 4, vars: 2, consts: [[1, "po-table-master-detail"], [4, "ngIf"], ["class", "po-table-detail-row", 3, "po-table-row-active", 4, "ngFor", "ngForOf"], ["class", "po-table-header po-table-column-selectable", 4, "ngIf"], [1, "po-table-header", "po-table-header-column", "po-table-header-master-detail"], ["class", "po-table-header po-table-header-ellipsis", 4, "ngFor", "ngForOf"], [1, "po-table-header", "po-table-column-selectable"], [1, "po-table-header", "po-table-header-ellipsis"], [1, "po-table-header-flex"], [1, "po-table-detail-row"], [4, "ngIf", "ngIfElse"], ["masterDetailSpace", ""], ["class", "po-table-column-master-detail po-table-master-detail-label", 3, "po-table-column-right", "click", 4, "ngFor", "ngForOf"], [1, "po-table-column-master-detail-space-checkbox"], [1, "po-table-column", "po-table-column-selectable"], ["name", "checkbox", 3, "p-checkboxValue", "p-change"], [1, "po-table-column-master-detail-space"], [1, "po-table-column-master-detail", "po-table-master-detail-label", 3, "click"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"]], template: function PoTableDetailComponent_Template(rf, ctx) { if (rf & 1) {
264
267
  i0.ɵɵelementStart(0, "table", 0);
265
268
  i0.ɵɵtemplate(1, PoTableDetailComponent_thead_1_Template, 5, 2, "thead", 1);
266
269
  i0.ɵɵelementStart(2, "tbody");
@@ -271,14 +274,17 @@ export class PoTableDetailComponent {
271
274
  i0.ɵɵproperty("ngIf", ctx.typeHeaderTop);
272
275
  i0.ɵɵadvance(2);
273
276
  i0.ɵɵproperty("ngForOf", ctx.items);
274
- } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgSwitch, i1.NgSwitchCase, i1.NgSwitchDefault, i2.NgControlStatus, i2.NgModel, i3.PoCheckboxComponent, i1.CurrencyPipe, i1.DatePipe, i4.PoTimePipe], encapsulation: 2 });
277
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgSwitch, i1.NgSwitchCase, i1.NgSwitchDefault, i2.PoCheckboxComponent, i1.CurrencyPipe, i1.DatePipe, i3.PoTimePipe], encapsulation: 2 });
275
278
  }
276
279
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoTableDetailComponent, [{
277
280
  type: Component,
278
- args: [{ selector: 'po-table-detail', template: "<table class=\"po-table-master-detail\">\n <thead *ngIf=\"typeHeaderTop\">\n <tr>\n <th class=\"po-table-header po-table-column-selectable\" *ngIf=\"isSelectable\"></th>\n <th class=\"po-table-header po-table-header-column po-table-header-master-detail\"></th>\n <th class=\"po-table-header po-table-header-ellipsis\" *ngFor=\"let detail of detail.columns\">\n <div\n class=\"po-table-header-flex\"\n [class.po-table-header-flex-right]=\"detail.type === 'currency' || detail.type === 'number'\"\n >\n {{ getColumnTitleLabel(detail) }}\n </div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n class=\"po-table-detail-row\"\n [class.po-table-row-active]=\"item.$selected && isSelectable\"\n *ngFor=\"let item of items\"\n >\n <ng-container *ngIf=\"isSelectable; else masterDetailSpace\">\n <td class=\"po-table-column-master-detail-space-checkbox\"></td>\n <td class=\"po-table-column po-table-column-selectable\">\n <po-checkbox\n name=\"checkbox\"\n (click)=\"onSelectRow(item)\"\n (p-change)=\"onSelectRow(item)\"\n [(ngModel)]=\"item.$selected\"\n ></po-checkbox>\n </td>\n </ng-container>\n\n <ng-template #masterDetailSpace>\n <td class=\"po-table-column-master-detail-space\"></td>\n </ng-template>\n\n <td\n class=\"po-table-column-master-detail po-table-master-detail-label\"\n (click)=\"isSelectable ? onSelectRow(item) : 'javascript:;'\"\n *ngFor=\"let detail of detailColumns\"\n [class.po-table-column-right]=\"typeHeaderTop && (detail.type === 'currency' || detail.type === 'number')\"\n >\n <strong *ngIf=\"typeHeaderInline\"> {{ getColumnTitleLabel(detail) }}: </strong>\n\n <ng-container [ngSwitch]=\"detail.type\">\n <span *ngSwitchCase=\"'currency'\">{{\n getDetailData(item, detail) | currency: detail.format : 'symbol' : '1.2-2'\n }}</span>\n <span *ngSwitchCase=\"'date'\">{{ getDetailData(item, detail) | date: detail.format || 'dd/MM/yyyy' }}</span>\n <span *ngSwitchCase=\"'time'\">{{\n getDetailData(item, detail) | po_time: detail.format || 'HH:mm:ss.ffffff'\n }}</span>\n <span *ngSwitchCase=\"'dateTime'\">\n {{ getDetailData(item, detail) | date: detail.format || 'dd/MM/yyyy HH:mm:ss' }}\n </span>\n <span *ngSwitchCase=\"'number'\">{{ formatNumberDetail(getDetailData(item, detail), detail.format) }}</span>\n <span *ngSwitchDefault>{{ getDetailData(item, detail) }}</span>\n </ng-container>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
281
+ args: [{ selector: 'po-table-detail', template: "<table class=\"po-table-master-detail\">\n <thead *ngIf=\"typeHeaderTop\">\n <tr>\n <th class=\"po-table-header po-table-column-selectable\" *ngIf=\"isSelectable\"></th>\n <th class=\"po-table-header po-table-header-column po-table-header-master-detail\"></th>\n <th class=\"po-table-header po-table-header-ellipsis\" *ngFor=\"let detail of detail.columns\">\n <div\n class=\"po-table-header-flex\"\n [class.po-table-header-flex-right]=\"detail.type === 'currency' || detail.type === 'number'\"\n >\n {{ getColumnTitleLabel(detail) }}\n </div>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n class=\"po-table-detail-row\"\n [class.po-table-row-active]=\"item.$selected && isSelectable\"\n *ngFor=\"let item of items\"\n >\n <ng-container *ngIf=\"isSelectable; else masterDetailSpace\">\n <td class=\"po-table-column-master-detail-space-checkbox\"></td>\n <td class=\"po-table-column po-table-column-selectable\">\n <po-checkbox name=\"checkbox\" (p-change)=\"onSelectRow(item)\" [p-checkboxValue]=\"item.$selected\"></po-checkbox>\n </td>\n </ng-container>\n\n <ng-template #masterDetailSpace>\n <td class=\"po-table-column-master-detail-space\"></td>\n </ng-template>\n\n <td\n class=\"po-table-column-master-detail po-table-master-detail-label\"\n (click)=\"isSelectable ? onSelectRow(item) : 'javascript:;'\"\n *ngFor=\"let detail of detailColumns\"\n [class.po-table-column-right]=\"typeHeaderTop && (detail.type === 'currency' || detail.type === 'number')\"\n >\n <strong *ngIf=\"typeHeaderInline\"> {{ getColumnTitleLabel(detail) }}: </strong>\n\n <ng-container [ngSwitch]=\"detail.type\">\n <span *ngSwitchCase=\"'currency'\">{{\n getDetailData(item, detail) | currency: detail.format : 'symbol' : '1.2-2'\n }}</span>\n <span *ngSwitchCase=\"'date'\">{{ getDetailData(item, detail) | date: detail.format || 'dd/MM/yyyy' }}</span>\n <span *ngSwitchCase=\"'time'\">{{\n getDetailData(item, detail) | po_time: detail.format || 'HH:mm:ss.ffffff'\n }}</span>\n <span *ngSwitchCase=\"'dateTime'\">\n {{ getDetailData(item, detail) | date: detail.format || 'dd/MM/yyyy HH:mm:ss' }}\n </span>\n <span *ngSwitchCase=\"'number'\">{{ formatNumberDetail(getDetailData(item, detail), detail.format) }}</span>\n <span *ngSwitchDefault>{{ getDetailData(item, detail) }}</span>\n </ng-container>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
279
282
  }], () => [{ type: i1.DecimalPipe }], { items: [{
280
283
  type: Input,
281
284
  args: ['p-items']
285
+ }], parentRow: [{
286
+ type: Input,
287
+ args: ['p-parent-row']
282
288
  }], isSelectable: [{
283
289
  type: Input,
284
290
  args: ['p-selectable']
@@ -290,4 +296,4 @@ export class PoTableDetailComponent {
290
296
  args: ['p-detail']
291
297
  }] }); })();
292
298
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoTableDetailComponent, { className: "PoTableDetailComponent", filePath: "lib/components/po-table/po-table-detail/po-table-detail.component.ts", lineNumber: 20 }); })();
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1kZXRhaWwvcG8tdGFibGUtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1kZXRhaWwvcG8tdGFibGUtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0lDQWhFLHdCQUFpRjs7O0lBRWpGLDZCQUEyRixhQUFBO0lBS3ZGLFlBQ0Y7SUFBQSxpQkFBTSxFQUFBOzs7O0lBSEosY0FBMkY7SUFBM0YsMEdBQTJGO0lBRTNGLGNBQ0Y7SUFERSxzRUFDRjs7O0lBVk4sNkJBQTZCLFNBQUE7SUFFekIsNkVBQWlGO0lBQ2pGLHdCQUFzRjtJQUN0Riw2RUFPSztJQUNQLGlCQUFLLEVBQUE7OztJQVZxRCxlQUFrQjtJQUFsQiwwQ0FBa0I7SUFFRixlQUFpQjtJQUFqQiwrQ0FBaUI7Ozs7SUFnQnpGLDZCQUEyRDtJQUN6RCx5QkFBOEQ7SUFDOUQsOEJBQXVELHNCQUFBO0lBR25ELHNPQUFTLGVBQUEsNEJBQWlCLENBQUEsSUFBQywrTkFDZixlQUFBLDRCQUFpQixDQUFBLElBREY7SUFFM0IsMFVBQTRCO0lBQzdCLGlCQUFjLEVBQUE7SUFFbkIsMEJBQWU7OztJQUhULGVBQTRCO0lBQTVCLGlEQUE0Qjs7O0lBTWhDLHlCQUFxRDs7O0lBU3JELDhCQUFpQztJQUFDLFlBQW1DO0lBQUEsaUJBQVM7Ozs7SUFBNUMsY0FBbUM7SUFBbkMseUVBQW1DOzs7SUFHbkUsNEJBQWlDO0lBQUEsWUFFL0I7O0lBQUEsaUJBQU87Ozs7O0lBRndCLGNBRS9CO0lBRitCLDRIQUUvQjs7O0lBQ0YsNEJBQTZCO0lBQUEsWUFBdUU7O0lBQUEsaUJBQU87Ozs7O0lBQTlFLGNBQXVFO0lBQXZFLHlIQUF1RTs7O0lBQ3BHLDRCQUE2QjtJQUFBLFlBRTNCOztJQUFBLGlCQUFPOzs7OztJQUZvQixjQUUzQjtJQUYyQiw4SEFFM0I7OztJQUNGLDRCQUFpQztJQUMvQixZQUNGOztJQUFBLGlCQUFPOzs7OztJQURMLGNBQ0Y7SUFERSw2SUFDRjs7O0lBQ0EsNEJBQStCO0lBQUEsWUFBb0U7SUFBQSxpQkFBTzs7Ozs7SUFBM0UsY0FBb0U7SUFBcEUsK0dBQW9FOzs7SUFDbkcsNEJBQXVCO0lBQUEsWUFBaUM7SUFBQSxpQkFBTzs7Ozs7SUFBeEMsY0FBaUM7SUFBakMsZ0VBQWlDOzs7O0lBcEI1RCw4QkFLQztJQUhDLG1OQUFTLHNDQUFlLDRCQUFpQixHQUFHLGNBQWMsQ0FBQSxJQUFDO0lBSTNELHVGQUE4RTtJQUU5RSxpQ0FBdUM7SUFDckMsb0ZBRVMsdUVBQUEsdUVBQUEsdUVBQUEsdUVBQUEsdUVBQUE7SUFVWCwwQkFBZTtJQUNqQixpQkFBSzs7OztJQWxCSCxpSUFBeUc7SUFFaEcsY0FBc0I7SUFBdEIsOENBQXNCO0lBRWpCLGNBQXdCO0lBQXhCLDBDQUF3QjtJQUM3QixjQUF3QjtJQUF4Qix5Q0FBd0I7SUFHeEIsY0FBb0I7SUFBcEIscUNBQW9CO0lBQ3BCLGNBQW9CO0lBQXBCLHFDQUFvQjtJQUdwQixjQUF3QjtJQUF4Qix5Q0FBd0I7SUFHeEIsY0FBc0I7SUFBdEIsdUNBQXNCOzs7SUF4Q25DLDZCQUlDO0lBQ0MsK0ZBVWUsaUhBQUEsOERBQUE7SUE2QmpCLGlCQUFLOzs7OztJQTFDSCwrRUFBNEQ7SUFHN0MsY0FBb0I7SUFBcEIsMENBQW9CLGlCQUFBO0lBbUJkLGVBQWdCO0lBQWhCLDhDQUFnQjs7QURoQzNDOzs7Ozs7R0FNRztBQUtILE1BQU0sT0FBTyxzQkFBc0I7SUFpQ2I7SUFoQ3BCOztPQUVHO0lBQ2UsS0FBSyxDQUFhO0lBRXBDOztPQUVHO0lBQ29CLFlBQVksR0FBYSxLQUFLLENBQUM7SUFFdEQ7Ozs7OztPQU1HO0lBQ3FCLFNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV2RSxPQUFPLENBQWdCO0lBRS9COztPQUVHO0lBQ0gsSUFBdUIsTUFBTSxDQUFDLEtBQW9CO1FBQ2hELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQztJQUVoRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxRQUFRLENBQUM7SUFDL0YsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssQ0FBQztJQUM1RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBVSxFQUFFLE1BQWM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBMkI7UUFDN0MsT0FBTyxNQUFNLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVMsRUFBRSxNQUEyQjtRQUNsRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO1lBQ3ZDLElBQUksS0FBSyxHQUFRLElBQUksQ0FBQztZQUN0QixLQUFLLE1BQU0sUUFBUSxJQUFJLGdCQUFnQixFQUFFO2dCQUN2QyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ3pFO1lBQ0QsT0FBTyxLQUFLLENBQUM7U0FDZDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFJO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLHlCQUF5QixDQUFDLEtBQVU7UUFDMUMsSUFBSSxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRTtZQUN0QyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDdkY7WUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDM0I7WUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjtJQUNILENBQUM7Z0ZBNUZVLHNCQUFzQjs2REFBdEIsc0JBQXNCO1lDbkJuQyxnQ0FBc0M7WUFDcEMsMkVBYVE7WUFDUiw2QkFBTztZQUNMLHFFQTRDSztZQUNQLGlCQUFRLEVBQUE7O1lBNURBLGNBQW1CO1lBQW5CLHdDQUFtQjtZQWtCTixlQUFRO1lBQVIsbUNBQVE7OztpRkRBbEIsc0JBQXNCO2NBSmxDLFNBQVM7MkJBQ0UsaUJBQWlCOzRDQU9ULEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQUtPLFlBQVk7a0JBQWxDLEtBQUs7bUJBQUMsY0FBYztZQVNHLFNBQVM7a0JBQWhDLE1BQU07bUJBQUMsY0FBYztZQU9DLE1BQU07a0JBQTVCLEtBQUs7bUJBQUMsVUFBVTs7a0ZBekJOLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IGNhcGl0YWxpemVGaXJzdExldHRlciwgaXNUeXBlb2YgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9UYWJsZURldGFpbCB9IGZyb20gJy4vcG8tdGFibGUtZGV0YWlsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlRGV0YWlsQ29sdW1uIH0gZnJvbSAnLi9wby10YWJsZS1kZXRhaWwtY29sdW1uLmludGVyZmFjZSc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSByZXNwb25zw6F2ZWwgcG9yIGFwcmVzZW50YXIgbyBkZXRhbGhlIGRlIGNhZGEgbGluaGEgZGEgdGFiZWxhLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby10YWJsZS1kZXRhaWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tdGFibGUtZGV0YWlsLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb1RhYmxlRGV0YWlsQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIExpc3RhIGRlIGl0ZW5zIGRvIF9kZXRhaWxfIGRhIHRhYmVsYS5cbiAgICovXG4gIEBJbnB1dCgncC1pdGVtcycpIGl0ZW1zOiBBcnJheTxhbnk+O1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2UgYSB0YWJlbGEgcG9zc3VpIGEgb3DDp8OjbyBkZSBgc2VsZWN0YWJsZWAgaGFiaWxpdGFkYS5cbiAgICovXG4gIEBJbnB1dCgncC1zZWxlY3RhYmxlJykgaXNTZWxlY3RhYmxlPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEHDp8OjbyBleGVjdXRhZGEgYW8gc2VsZWNpb25hciBvdSBkZXNtYXJjYXIgYSBzZWxlw6fDo28gZGUgdW1hIGxpbmhhIGRlIGRldGFsaGUgZG8gYHBvLXRhYmxlYC5cbiAgICovXG4gIEBPdXRwdXQoJ3Atc2VsZWN0LXJvdycpIHNlbGVjdFJvdzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcml2YXRlIF9kZXRhaWw6IFBvVGFibGVEZXRhaWw7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYcOnw6NvIGRhIGxpbmhhIGRlIGRldGFsaGVzLlxuICAgKi9cbiAgQElucHV0KCdwLWRldGFpbCcpIHNldCBkZXRhaWwodmFsdWU6IFBvVGFibGVEZXRhaWwpIHtcbiAgICB0aGlzLl9kZXRhaWwgPSB0aGlzLnJldHVyblBvVGFibGVEZXRhaWxPYmplY3QodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGRldGFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGV0YWlsO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUpIHt9XG5cbiAgZ2V0IGRldGFpbENvbHVtbnMoKTogQXJyYXk8UG9UYWJsZURldGFpbENvbHVtbj4ge1xuICAgIHJldHVybiB0aGlzLmRldGFpbD8uY29sdW1ucyB8fCBbXTtcbiAgfVxuXG4gIGdldCB0eXBlSGVhZGVySW5saW5lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5kZXRhaWwgJiYgIXRoaXMuZGV0YWlsWyd0eXBlSGVhZGVyJ10pIHx8IHRoaXMuZGV0YWlsWyd0eXBlSGVhZGVyJ10gPT09ICdpbmxpbmUnO1xuICB9XG5cbiAgZ2V0IHR5cGVIZWFkZXJUb3AoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGV0YWlsICYmIHRoaXMuZGV0YWlsWyd0eXBlSGVhZGVyJ10gPT09ICd0b3AnO1xuICB9XG5cbiAgZm9ybWF0TnVtYmVyRGV0YWlsKHZhbHVlOiBhbnksIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgaWYgKCFmb3JtYXQpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odmFsdWUsIGZvcm1hdCk7XG4gIH1cblxuICBnZXRDb2x1bW5UaXRsZUxhYmVsKGRldGFpbDogUG9UYWJsZURldGFpbENvbHVtbikge1xuICAgIHJldHVybiBkZXRhaWwubGFiZWwgfHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGRldGFpbC5wcm9wZXJ0eSk7XG4gIH1cblxuICBnZXREZXRhaWxEYXRhKGl0ZW06IGFueSwgZGV0YWlsOiBQb1RhYmxlRGV0YWlsQ29sdW1uKSB7XG4gICAgY29uc3QgYXJyYXlQcm9wZXJ0eSA9IGRldGFpbC5wcm9wZXJ0eS5zcGxpdCgnLicpO1xuICAgIGlmIChhcnJheVByb3BlcnR5Lmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IG5lc3RlZFByb3BlcnRpZXMgPSBhcnJheVByb3BlcnR5O1xuICAgICAgbGV0IHZhbHVlOiBhbnkgPSBpdGVtO1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBuZXN0ZWRQcm9wZXJ0aWVzKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWVbcHJvcGVydHldIHx8IHZhbHVlW3Byb3BlcnR5XSA9PT0gMCA/IHZhbHVlW3Byb3BlcnR5XSA6ICcnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaXRlbVtkZXRhaWwucHJvcGVydHldO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0Um93KGl0ZW0pIHtcbiAgICBpdGVtLiRzZWxlY3RlZCA9ICFpdGVtLiRzZWxlY3RlZDtcbiAgICB0aGlzLnNlbGVjdFJvdy5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXR1cm5Qb1RhYmxlRGV0YWlsT2JqZWN0KHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgJiYgaXNUeXBlb2YodmFsdWUsICdvYmplY3QnKSkge1xuICAgICAgaWYgKHZhbHVlLmNvbHVtbnMpIHtcbiAgICAgICAgdmFsdWUuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiAoY29sdW1uLnByb3BlcnR5ID0gY29sdW1uLnByb3BlcnR5IHx8IGNvbHVtbi5jb2x1bW4pKTtcbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB7IGNvbHVtbnM6IHZhbHVlIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZS5jb2x1bW5zKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cInBvLXRhYmxlLW1hc3Rlci1kZXRhaWxcIj5cbiAgPHRoZWFkICpuZ0lmPVwidHlwZUhlYWRlclRvcFwiPlxuICAgIDx0cj5cbiAgICAgIDx0aCBjbGFzcz1cInBvLXRhYmxlLWhlYWRlciBwby10YWJsZS1jb2x1bW4tc2VsZWN0YWJsZVwiICpuZ0lmPVwiaXNTZWxlY3RhYmxlXCI+PC90aD5cbiAgICAgIDx0aCBjbGFzcz1cInBvLXRhYmxlLWhlYWRlciBwby10YWJsZS1oZWFkZXItY29sdW1uIHBvLXRhYmxlLWhlYWRlci1tYXN0ZXItZGV0YWlsXCI+PC90aD5cbiAgICAgIDx0aCBjbGFzcz1cInBvLXRhYmxlLWhlYWRlciBwby10YWJsZS1oZWFkZXItZWxsaXBzaXNcIiAqbmdGb3I9XCJsZXQgZGV0YWlsIG9mIGRldGFpbC5jb2x1bW5zXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInBvLXRhYmxlLWhlYWRlci1mbGV4XCJcbiAgICAgICAgICBbY2xhc3MucG8tdGFibGUtaGVhZGVyLWZsZXgtcmlnaHRdPVwiZGV0YWlsLnR5cGUgPT09ICdjdXJyZW5jeScgfHwgZGV0YWlsLnR5cGUgPT09ICdudW1iZXInXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldENvbHVtblRpdGxlTGFiZWwoZGV0YWlsKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0clxuICAgICAgY2xhc3M9XCJwby10YWJsZS1kZXRhaWwtcm93XCJcbiAgICAgIFtjbGFzcy5wby10YWJsZS1yb3ctYWN0aXZlXT1cIml0ZW0uJHNlbGVjdGVkICYmIGlzU2VsZWN0YWJsZVwiXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2VsZWN0YWJsZTsgZWxzZSBtYXN0ZXJEZXRhaWxTcGFjZVwiPlxuICAgICAgICA8dGQgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4tbWFzdGVyLWRldGFpbC1zcGFjZS1jaGVja2JveFwiPjwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cInBvLXRhYmxlLWNvbHVtbiBwby10YWJsZS1jb2x1bW4tc2VsZWN0YWJsZVwiPlxuICAgICAgICAgIDxwby1jaGVja2JveFxuICAgICAgICAgICAgbmFtZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdFJvdyhpdGVtKVwiXG4gICAgICAgICAgICAocC1jaGFuZ2UpPVwib25TZWxlY3RSb3coaXRlbSlcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLiRzZWxlY3RlZFwiXG4gICAgICAgICAgPjwvcG8tY2hlY2tib3g+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNtYXN0ZXJEZXRhaWxTcGFjZT5cbiAgICAgICAgPHRkIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLW1hc3Rlci1kZXRhaWwtc3BhY2VcIj48L3RkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPHRkXG4gICAgICAgIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLW1hc3Rlci1kZXRhaWwgcG8tdGFibGUtbWFzdGVyLWRldGFpbC1sYWJlbFwiXG4gICAgICAgIChjbGljayk9XCJpc1NlbGVjdGFibGUgPyBvblNlbGVjdFJvdyhpdGVtKSA6ICdqYXZhc2NyaXB0OjsnXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRldGFpbCBvZiBkZXRhaWxDb2x1bW5zXCJcbiAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWNvbHVtbi1yaWdodF09XCJ0eXBlSGVhZGVyVG9wICYmIChkZXRhaWwudHlwZSA9PT0gJ2N1cnJlbmN5JyB8fCBkZXRhaWwudHlwZSA9PT0gJ251bWJlcicpXCJcbiAgICAgID5cbiAgICAgICAgPHN0cm9uZyAqbmdJZj1cInR5cGVIZWFkZXJJbmxpbmVcIj4ge3sgZ2V0Q29sdW1uVGl0bGVMYWJlbChkZXRhaWwpIH19OiA8L3N0cm9uZz5cblxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkZXRhaWwudHlwZVwiPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY3VycmVuY3knXCI+e3tcbiAgICAgICAgICAgIGdldERldGFpbERhdGEoaXRlbSwgZGV0YWlsKSB8IGN1cnJlbmN5OiBkZXRhaWwuZm9ybWF0IDogJ3N5bWJvbCcgOiAnMS4yLTInXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPnt7IGdldERldGFpbERhdGEoaXRlbSwgZGV0YWlsKSB8IGRhdGU6IGRldGFpbC5mb3JtYXQgfHwgJ2RkL01NL3l5eXknIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndGltZSdcIj57e1xuICAgICAgICAgICAgZ2V0RGV0YWlsRGF0YShpdGVtLCBkZXRhaWwpIHwgcG9fdGltZTogZGV0YWlsLmZvcm1hdCB8fCAnSEg6bW06c3MuZmZmZmZmJ1xuICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGF0ZVRpbWUnXCI+XG4gICAgICAgICAgICB7eyBnZXREZXRhaWxEYXRhKGl0ZW0sIGRldGFpbCkgfCBkYXRlOiBkZXRhaWwuZm9ybWF0IHx8ICdkZC9NTS95eXl5IEhIOm1tOnNzJyB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj57eyBmb3JtYXROdW1iZXJEZXRhaWwoZ2V0RGV0YWlsRGF0YShpdGVtLCBkZXRhaWwpLCBkZXRhaWwuZm9ybWF0KSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0Pnt7IGdldERldGFpbERhdGEoaXRlbSwgZGV0YWlsKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1kZXRhaWwvcG8tdGFibGUtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1kZXRhaWwvcG8tdGFibGUtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7SUNBaEUsd0JBQWlGOzs7SUFFakYsNkJBQTJGLGFBQUE7SUFLdkYsWUFDRjtJQUFBLGlCQUFNLEVBQUE7Ozs7SUFISixjQUEyRjtJQUEzRiwwR0FBMkY7SUFFM0YsY0FDRjtJQURFLHNFQUNGOzs7SUFWTiw2QkFBNkIsU0FBQTtJQUV6Qiw2RUFBaUY7SUFDakYsd0JBQXNGO0lBQ3RGLDZFQU9LO0lBQ1AsaUJBQUssRUFBQTs7O0lBVnFELGVBQWtCO0lBQWxCLDBDQUFrQjtJQUVGLGVBQWlCO0lBQWpCLCtDQUFpQjs7OztJQWdCekYsNkJBQTJEO0lBQ3pELHlCQUE4RDtJQUM5RCw4QkFBdUQsc0JBQUE7SUFDeEIsNE9BQVksZUFBQSw0QkFBaUIsQ0FBQSxJQUFDO0lBQW9DLGlCQUFjLEVBQUE7SUFFakgsMEJBQWU7OztJQUZpRCxlQUFrQztJQUFsQyxtREFBa0M7OztJQUtoRyx5QkFBcUQ7OztJQVNyRCw4QkFBaUM7SUFBQyxZQUFtQztJQUFBLGlCQUFTOzs7O0lBQTVDLGNBQW1DO0lBQW5DLHlFQUFt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Q0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUN2RjtZQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUMzQjtZQUVELElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDakIsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO0lBQ0gsQ0FBQztnRkFsR1Usc0JBQXNCOzZEQUF0QixzQkFBc0I7WUNuQm5DLGdDQUFzQztZQUNwQywyRUFhUTtZQUNSLDZCQUFPO1lBQ0wscUVBdUNLO1lBQ1AsaUJBQVEsRUFBQTs7WUF2REEsY0FBbUI7WUFBbkIsd0NBQW1CO1lBa0JOLGVBQVE7WUFBUixtQ0FBUTs7O2lGREFsQixzQkFBc0I7Y0FKbEMsU0FBUzsyQkFDRSxpQkFBaUI7NENBT1QsS0FBSztrQkFBdEIsS0FBSzttQkFBQyxTQUFTO1lBTU8sU0FBUztrQkFBL0IsS0FBSzttQkFBQyxjQUFjO1lBS0UsWUFBWTtrQkFBbEMsS0FBSzttQkFBQyxjQUFjO1lBU0csU0FBUztrQkFBaEMsTUFBTTttQkFBQyxjQUFjO1lBT0MsTUFBTTtrQkFBNUIsS0FBSzttQkFBQyxVQUFVOztrRkEvQk4sc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyLCBpc1R5cGVvZiB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb1RhYmxlRGV0YWlsIH0gZnJvbSAnLi9wby10YWJsZS1kZXRhaWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGFibGVEZXRhaWxDb2x1bW4gfSBmcm9tICcuL3BvLXRhYmxlLWRldGFpbC1jb2x1bW4uaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAZG9jc1ByaXZhdGVcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBDb21wb25lbnRlIHJlc3BvbnPDoXZlbCBwb3IgYXByZXNlbnRhciBvIGRldGFsaGUgZGUgY2FkYSBsaW5oYSBkYSB0YWJlbGEuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXRhYmxlLWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby10YWJsZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvVGFibGVEZXRhaWxDb21wb25lbnQge1xuICAvKipcbiAgICogTGlzdGEgZGUgaXRlbnMgZG8gX2RldGFpbF8gZGEgdGFiZWxhLlxuICAgKi9cbiAgQElucHV0KCdwLWl0ZW1zJykgaXRlbXM6IEFycmF5PGFueT47XG5cbiAgLyoqXG4gICAqIExpbmhhIGRvIHJlZ2lzdHJvIHBhaSBjb3JyZXNwb25kZW50ZSBhbyBpdGVtIGRlIGRldGFsaGUgc2VsZWNpb25hZG8uIFV0aWxpemFkbyBwYXJhIGdlcmVuY2lhciBvIGVzdGFkbyBkZSBzZWxlw6fDo28gZG8gZWxlbWVudG8gcGFpLFxuICAgKiBwZXJtaXRpbmRvIHF1ZSBvIG1lc21vIHNlamEgYXR1YWxpemFkbyBwYXJhIHJlZmxldGlyIGEgc2VsZcOnw6NvIGRlIHRvZG9zIG9zIGZpbGhvcyBvdSBlc3RhZG8gaW5kZXRlcm1pbmFkby5cbiAgICovXG4gIEBJbnB1dCgncC1wYXJlbnQtcm93JykgcGFyZW50Um93OiBQb1RhYmxlRGV0YWlsO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgc2UgYSB0YWJlbGEgcG9zc3VpIGEgb3DDp8OjbyBkZSBgc2VsZWN0YWJsZWAgaGFiaWxpdGFkYS5cbiAgICovXG4gIEBJbnB1dCgncC1zZWxlY3RhYmxlJykgaXNTZWxlY3RhYmxlPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEHDp8OjbyBleGVjdXRhZGEgYW8gc2VsZWNpb25hciBvdSBkZXNtYXJjYXIgYSBzZWxlw6fDo28gZGUgdW1hIGxpbmhhIGRlIGRldGFsaGUgZG8gYHBvLXRhYmxlYC5cbiAgICovXG4gIEBPdXRwdXQoJ3Atc2VsZWN0LXJvdycpIHNlbGVjdFJvdzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcml2YXRlIF9kZXRhaWw6IFBvVGFibGVEZXRhaWw7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYcOnw6NvIGRhIGxpbmhhIGRlIGRldGFsaGVzLlxuICAgKi9cbiAgQElucHV0KCdwLWRldGFpbCcpIHNldCBkZXRhaWwodmFsdWU6IFBvVGFibGVEZXRhaWwpIHtcbiAgICB0aGlzLl9kZXRhaWwgPSB0aGlzLnJldHVyblBvVGFibGVEZXRhaWxPYmplY3QodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGRldGFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGV0YWlsO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUpIHt9XG5cbiAgZ2V0IGRldGFpbENvbHVtbnMoKTogQXJyYXk8UG9UYWJsZURldGFpbENvbHVtbj4ge1xuICAgIHJldHVybiB0aGlzLmRldGFpbD8uY29sdW1ucyB8fCBbXTtcbiAgfVxuXG4gIGdldCB0eXBlSGVhZGVySW5saW5lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5kZXRhaWwgJiYgIXRoaXMuZGV0YWlsWyd0eXBlSGVhZGVyJ10pIHx8IHRoaXMuZGV0YWlsWyd0eXBlSGVhZGVyJ10gPT09ICdpbmxpbmUnO1xuICB9XG5cbiAgZ2V0IHR5cGVIZWFkZXJUb3AoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGV0YWlsICYmIHRoaXMuZGV0YWlsWyd0eXBlSGVhZGVyJ10gPT09ICd0b3AnO1xuICB9XG5cbiAgZm9ybWF0TnVtYmVyRGV0YWlsKHZhbHVlOiBhbnksIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgaWYgKCFmb3JtYXQpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0odmFsdWUsIGZvcm1hdCk7XG4gIH1cblxuICBnZXRDb2x1bW5UaXRsZUxhYmVsKGRldGFpbDogUG9UYWJsZURldGFpbENvbHVtbikge1xuICAgIHJldHVybiBkZXRhaWwubGFiZWwgfHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGRldGFpbC5wcm9wZXJ0eSk7XG4gIH1cblxuICBnZXREZXRhaWxEYXRhKGl0ZW06IGFueSwgZGV0YWlsOiBQb1RhYmxlRGV0YWlsQ29sdW1uKSB7XG4gICAgY29uc3QgYXJyYXlQcm9wZXJ0eSA9IGRldGFpbC5wcm9wZXJ0eS5zcGxpdCgnLicpO1xuICAgIGlmIChhcnJheVByb3BlcnR5Lmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IG5lc3RlZFByb3BlcnRpZXMgPSBhcnJheVByb3BlcnR5O1xuICAgICAgbGV0IHZhbHVlOiBhbnkgPSBpdGVtO1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBuZXN0ZWRQcm9wZXJ0aWVzKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWVbcHJvcGVydHldIHx8IHZhbHVlW3Byb3BlcnR5XSA9PT0gMCA/IHZhbHVlW3Byb3BlcnR5XSA6ICcnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaXRlbVtkZXRhaWwucHJvcGVydHldO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0Um93KGl0ZW0pIHtcbiAgICBpdGVtLiRzZWxlY3RlZCA9ICFpdGVtLiRzZWxlY3RlZDtcbiAgICB0aGlzLnNlbGVjdFJvdy5lbWl0KHsgaXRlbTogaXRlbSwgcGFyZW50Um93OiB0aGlzLnBhcmVudFJvdyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmV0dXJuUG9UYWJsZURldGFpbE9iamVjdCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICYmIGlzVHlwZW9mKHZhbHVlLCAnb2JqZWN0JykpIHtcbiAgICAgIGlmICh2YWx1ZS5jb2x1bW5zKSB7XG4gICAgICAgIHZhbHVlLmNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4gKGNvbHVtbi5wcm9wZXJ0eSA9IGNvbHVtbi5wcm9wZXJ0eSB8fCBjb2x1bW4uY29sdW1uKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4geyBjb2x1bW5zOiB2YWx1ZSB9O1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUuY29sdW1ucykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJwby10YWJsZS1tYXN0ZXItZGV0YWlsXCI+XG4gIDx0aGVhZCAqbmdJZj1cInR5cGVIZWFkZXJUb3BcIj5cbiAgICA8dHI+XG4gICAgICA8dGggY2xhc3M9XCJwby10YWJsZS1oZWFkZXIgcG8tdGFibGUtY29sdW1uLXNlbGVjdGFibGVcIiAqbmdJZj1cImlzU2VsZWN0YWJsZVwiPjwvdGg+XG4gICAgICA8dGggY2xhc3M9XCJwby10YWJsZS1oZWFkZXIgcG8tdGFibGUtaGVhZGVyLWNvbHVtbiBwby10YWJsZS1oZWFkZXItbWFzdGVyLWRldGFpbFwiPjwvdGg+XG4gICAgICA8dGggY2xhc3M9XCJwby10YWJsZS1oZWFkZXIgcG8tdGFibGUtaGVhZGVyLWVsbGlwc2lzXCIgKm5nRm9yPVwibGV0IGRldGFpbCBvZiBkZXRhaWwuY29sdW1uc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJwby10YWJsZS1oZWFkZXItZmxleFwiXG4gICAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWhlYWRlci1mbGV4LXJpZ2h0XT1cImRldGFpbC50eXBlID09PSAnY3VycmVuY3knIHx8IGRldGFpbC50eXBlID09PSAnbnVtYmVyJ1wiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBnZXRDb2x1bW5UaXRsZUxhYmVsKGRldGFpbCkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cbiAgICA8dHJcbiAgICAgIGNsYXNzPVwicG8tdGFibGUtZGV0YWlsLXJvd1wiXG4gICAgICBbY2xhc3MucG8tdGFibGUtcm93LWFjdGl2ZV09XCJpdGVtLiRzZWxlY3RlZCAmJiBpc1NlbGVjdGFibGVcIlxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NlbGVjdGFibGU7IGVsc2UgbWFzdGVyRGV0YWlsU3BhY2VcIj5cbiAgICAgICAgPHRkIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLW1hc3Rlci1kZXRhaWwtc3BhY2UtY2hlY2tib3hcIj48L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJwby10YWJsZS1jb2x1bW4gcG8tdGFibGUtY29sdW1uLXNlbGVjdGFibGVcIj5cbiAgICAgICAgICA8cG8tY2hlY2tib3ggbmFtZT1cImNoZWNrYm94XCIgKHAtY2hhbmdlKT1cIm9uU2VsZWN0Um93KGl0ZW0pXCIgW3AtY2hlY2tib3hWYWx1ZV09XCJpdGVtLiRzZWxlY3RlZFwiPjwvcG8tY2hlY2tib3g+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNtYXN0ZXJEZXRhaWxTcGFjZT5cbiAgICAgICAgPHRkIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLW1hc3Rlci1kZXRhaWwtc3BhY2VcIj48L3RkPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPHRkXG4gICAgICAgIGNsYXNzPVwicG8tdGFibGUtY29sdW1uLW1hc3Rlci1kZXRhaWwgcG8tdGFibGUtbWFzdGVyLWRldGFpbC1sYWJlbFwiXG4gICAgICAgIChjbGljayk9XCJpc1NlbGVjdGFibGUgPyBvblNlbGVjdFJvdyhpdGVtKSA6ICdqYXZhc2NyaXB0OjsnXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRldGFpbCBvZiBkZXRhaWxDb2x1bW5zXCJcbiAgICAgICAgW2NsYXNzLnBvLXRhYmxlLWNvbHVtbi1yaWdodF09XCJ0eXBlSGVhZGVyVG9wICYmIChkZXRhaWwudHlwZSA9PT0gJ2N1cnJlbmN5JyB8fCBkZXRhaWwudHlwZSA9PT0gJ251bWJlcicpXCJcbiAgICAgID5cbiAgICAgICAgPHN0cm9uZyAqbmdJZj1cInR5cGVIZWFkZXJJbmxpbmVcIj4ge3sgZ2V0Q29sdW1uVGl0bGVMYWJlbChkZXRhaWwpIH19OiA8L3N0cm9uZz5cblxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkZXRhaWwudHlwZVwiPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY3VycmVuY3knXCI+e3tcbiAgICAgICAgICAgIGdldERldGFpbERhdGEoaXRlbSwgZGV0YWlsKSB8IGN1cnJlbmN5OiBkZXRhaWwuZm9ybWF0IDogJ3N5bWJvbCcgOiAnMS4yLTInXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPnt7IGdldERldGFpbERhdGEoaXRlbSwgZGV0YWlsKSB8IGRhdGU6IGRldGFpbC5mb3JtYXQgfHwgJ2RkL01NL3l5eXknIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndGltZSdcIj57e1xuICAgICAgICAgICAgZ2V0RGV0YWlsRGF0YShpdGVtLCBkZXRhaWwpIHwgcG9fdGltZTogZGV0YWlsLmZvcm1hdCB8fCAnSEg6bW06c3MuZmZmZmZmJ1xuICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGF0ZVRpbWUnXCI+XG4gICAgICAgICAgICB7eyBnZXREZXRhaWxEYXRhKGl0ZW0sIGRldGFpbCkgfCBkYXRlOiBkZXRhaWwuZm9ybWF0IHx8ICdkZC9NTS95eXl5IEhIOm1tOnNzJyB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIj57eyBmb3JtYXROdW1iZXJEZXRhaWwoZ2V0RGV0YWlsRGF0YShpdGVtLCBkZXRhaWwpLCBkZXRhaWwuZm9ybWF0KSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0Pnt7IGdldERldGFpbERhdGEoaXRlbSwgZGV0YWlsKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
@@ -132,7 +132,7 @@ function PoTableListManagerComponent_ng_template_5_Template(rf, ctx) { if (rf &
132
132
  const option_r19 = ctx.$implicit;
133
133
  const ctx_r2 = i0.ɵɵnextContext();
134
134
  i0.ɵɵadvance(2);
135
- i0.ɵɵproperty("p-disabled", option_r19.disabled || ctx_r2.disabled || ctx_r2.isFixed(option_r19))("p-value", ctx_r2.checkedOptions[option_r19.value]);
135
+ i0.ɵɵproperty("p-disabled", option_r19.disabled || ctx_r2.disabled || ctx_r2.isFixed(option_r19))("p-value", ctx_r2.checkedOptions[option_r19.value])("p-hide-label-status", true);
136
136
  i0.ɵɵadvance(2);
137
137
  i0.ɵɵtextInterpolate1(" ", option_r19.label, " ");
138
138
  i0.ɵɵadvance(2);
@@ -274,14 +274,14 @@ export class PoTableListManagerComponent extends PoCheckboxGroupComponent {
274
274
  useExisting: forwardRef(() => PoTableListManagerComponent),
275
275
  multi: true
276
276
  }
277
- ]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 4, consts: [["class", "po-table-list-manager-section", 4, "ngIf"], [1, "po-table-list-manager-section"], [1, "po-table-list-manager-title-group-items"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["listItemsManagerDefault", ""], ["templateIconNotFixed", ""], ["templateIconFixed", ""], [4, "ngIf"], [1, "po-table-list-manager-container"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "po-table-list-manager-item"], [1, "po-table-list-manager-item-switch"], ["name", "switch", "p-label-off", " ", "p-label-on", " ", 3, "p-disabled", "p-value", "p-change", "keydown"], [1, "po-table-list-manager-item-text"], [1, "po-table-list-manager-item-buttons"], [3, "p-icon", "p-disabled", "p-click", 4, "ngIf"], ["p-tooltip-position", "left", "p-icon", "ICON_ARROW_UP", 3, "p-tooltip", "p-disabled", "p-click"], ["p-tooltip-position", "top", "p-icon", "ICON_ARROW_DOWN", 3, "p-tooltip", "p-disabled", "p-click"], [3, "p-icon", "p-disabled", "p-click"], ["xmlns", "http://www.w3.org/2000/svg", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none"], ["clip-path", "url(#clip0_12562_15948)"], ["d", "M13.7143 5.71429V10C13.7143 10.96 14.0314 11.8514 14.5714 12.5714H9.42857C9.98571 11.8343 10.2857 10.9429 10.2857 10V5.71429H13.7143ZM16.2857 4H7.71429C7.24286 4 6.85714 4.38571 6.85714 4.85714C6.85714 5.32857 7.24286 5.71429 7.71429 5.71429H8.57143V10C8.57143 11.4229 7.42286 12.5714 6 12.5714V14.2857H11.1171V20.2857L11.9743 21.1429L12.8314 20.2857V14.2857H18V12.5714C16.5771 12.5714 15.4286 11.4229 15.4286 10V5.71429H16.2857C16.7571 5.71429 17.1429 5.32857 17.1429 4.85714C17.1429 4.38571 16.7571 4 16.2857 4Z", "fill", "black"], ["id", "clip0_12562_15948"], ["width", "24", "height", "24", "fill", "white"], ["clip-path", "url(#clip0_12562_17487)"], ["d", "M16.2857 4H7.71429C7.24286 4 6.85714 4.38571 6.85714 4.85714C6.85714 5.32857 7.24286 5.71429 7.71429 5.71429H8.57143V10C8.57143 11.4229 7.42286 12.5714 6 12.5714V14.2857H11.1171V20.2857L11.9743 21.1429L12.8314 20.2857V14.2857H18V12.5714C16.5771 12.5714 15.4286 11.4229 15.4286 10V5.71429H16.2857C16.7571 5.71429 17.1429 5.32857 17.1429 4.85714C17.1429 4.38571 16.7571 4 16.2857 4Z", "fill", "#B4B4C0"], ["id", "clip0_12562_17487"], ["width", "24", "height", "24", "fill", "black"]], template: function PoTableListManagerComponent_Template(rf, ctx) { if (rf & 1) {
277
+ ]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 4, consts: [["class", "po-table-list-manager-section", 4, "ngIf"], [1, "po-table-list-manager-section"], [1, "po-table-list-manager-title-group-items"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["listItemsManagerDefault", ""], ["templateIconNotFixed", ""], ["templateIconFixed", ""], [4, "ngIf"], [1, "po-table-list-manager-container"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "po-table-list-manager-item"], [1, "po-table-list-manager-item-switch"], ["name", "switch", 3, "p-disabled", "p-value", "p-hide-label-status", "p-change", "keydown"], [1, "po-table-list-manager-item-text"], [1, "po-table-list-manager-item-buttons"], [3, "p-icon", "p-disabled", "p-click", 4, "ngIf"], ["p-tooltip-position", "left", "p-icon", "ICON_ARROW_UP", 3, "p-tooltip", "p-disabled", "p-click"], ["p-tooltip-position", "top", "p-icon", "ICON_ARROW_DOWN", 3, "p-tooltip", "p-disabled", "p-click"], [3, "p-icon", "p-disabled", "p-click"], ["xmlns", "http://www.w3.org/2000/svg", "width", "24", "height", "24", "viewBox", "0 0 24 24", "fill", "none"], ["clip-path", "url(#clip0_12562_15948)"], ["d", "M13.7143 5.71429V10C13.7143 10.96 14.0314 11.8514 14.5714 12.5714H9.42857C9.98571 11.8343 10.2857 10.9429 10.2857 10V5.71429H13.7143ZM16.2857 4H7.71429C7.24286 4 6.85714 4.38571 6.85714 4.85714C6.85714 5.32857 7.24286 5.71429 7.71429 5.71429H8.57143V10C8.57143 11.4229 7.42286 12.5714 6 12.5714V14.2857H11.1171V20.2857L11.9743 21.1429L12.8314 20.2857V14.2857H18V12.5714C16.5771 12.5714 15.4286 11.4229 15.4286 10V5.71429H16.2857C16.7571 5.71429 17.1429 5.32857 17.1429 4.85714C17.1429 4.38571 16.7571 4 16.2857 4Z", "fill", "black"], ["id", "clip0_12562_15948"], ["width", "24", "height", "24", "fill", "white"], ["clip-path", "url(#clip0_12562_17487)"], ["d", "M16.2857 4H7.71429C7.24286 4 6.85714 4.38571 6.85714 4.85714C6.85714 5.32857 7.24286 5.71429 7.71429 5.71429H8.57143V10C8.57143 11.4229 7.42286 12.5714 6 12.5714V14.2857H11.1171V20.2857L11.9743 21.1429L12.8314 20.2857V14.2857H18V12.5714C16.5771 12.5714 15.4286 11.4229 15.4286 10V5.71429H16.2857C16.7571 5.71429 17.1429 5.32857 17.1429 4.85714C17.1429 4.38571 16.7571 4 16.2857 4Z", "fill", "#B4B4C0"], ["id", "clip0_12562_17487"], ["width", "24", "height", "24", "fill", "black"]], template: function PoTableListManagerComponent_Template(rf, ctx) { if (rf & 1) {
278
278
  i0.ɵɵtemplate(0, PoTableListManagerComponent_section_0_Template, 4, 3, "section", 0);
279
279
  i0.ɵɵelementStart(1, "section", 1)(2, "p", 2);
280
280
  i0.ɵɵtext(3);
281
281
  i0.ɵɵelementEnd();
282
282
  i0.ɵɵtemplate(4, PoTableListManagerComponent_ng_container_4_Template, 2, 1, "ng-container", 3);
283
283
  i0.ɵɵelementEnd();
284
- i0.ɵɵtemplate(5, PoTableListManagerComponent_ng_template_5_Template, 10, 9, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor)(7, PoTableListManagerComponent_ng_template_7_Template, 6, 0, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor)(9, PoTableListManagerComponent_ng_template_9_Template, 6, 0, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
284
+ i0.ɵɵtemplate(5, PoTableListManagerComponent_ng_template_5_Template, 10, 10, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor)(7, PoTableListManagerComponent_ng_template_7_Template, 6, 0, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor)(9, PoTableListManagerComponent_ng_template_9_Template, 6, 0, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
285
285
  } if (rf & 2) {
286
286
  i0.ɵɵproperty("ngIf", ctx.existedFixedItem());
287
287
  i0.ɵɵadvance(3);
@@ -298,7 +298,7 @@ export class PoTableListManagerComponent extends PoCheckboxGroupComponent {
298
298
  useExisting: forwardRef(() => PoTableListManagerComponent),
299
299
  multi: true
300
300
  }
301
- ], template: "<section class=\"po-table-list-manager-section\" *ngIf=\"existedFixedItem()\">\n <p class=\"po-table-list-manager-title-group-items\">{{ literals.fixedColumns }}</p>\n <ng-container *ngFor=\"let option of checkboxGroupOptionsView; trackBy: trackByFn\">\n <ng-container *ngIf=\"isFixed(option)\">\n <li class=\"po-table-list-manager-container\" [class.po-checkbox-group-item-disabled]=\"option.disabled || disabled\">\n <ng-container *ngTemplateOutlet=\"listItemsManagerDefault; context: { $implicit: option }\"></ng-container>\n </li>\n </ng-container>\n </ng-container>\n</section>\n\n<section class=\"po-table-list-manager-section\">\n <p class=\"po-table-list-manager-title-group-items\">{{ literals.otherColumns }}</p>\n <ng-container *ngFor=\"let option of checkboxGroupOptionsView; trackBy: trackByFn\">\n <ng-container *ngIf=\"!isFixed(option)\">\n <li class=\"po-table-list-manager-container\" [class.po-checkbox-group-item-disabled]=\"option.disabled || disabled\">\n <ng-container *ngIf=\"!isFixed(option)\">\n <ng-container *ngTemplateOutlet=\"listItemsManagerDefault; context: { $implicit: option }\"></ng-container>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n</section>\n\n<ng-template #listItemsManagerDefault let-option>\n <div class=\"po-table-list-manager-item\">\n <div class=\"po-table-list-manager-item-switch\">\n <po-switch\n name=\"switch\"\n (p-change)=\"clickSwitch(option)\"\n (keydown)=\"onKeyDown($event, option)\"\n [p-disabled]=\"option.disabled || disabled || isFixed(option)\"\n [p-value]=\"checkedOptions[option.value]\"\n p-label-off=\" \"\n p-label-on=\" \"\n >\n </po-switch>\n <span class=\"po-table-list-manager-item-text\">\n {{ option.label }}\n </span>\n </div>\n\n <div class=\"po-table-list-manager-item-buttons\">\n <po-button\n *ngIf=\"!hideActionFixedColumns && iconNameLib === 'PoIcon'\"\n [p-icon]=\"isFixed(option) ? templateIconFixed : templateIconNotFixed\"\n (p-click)=\"emitFixed(option)\"\n [p-disabled]=\"!option.visible || checksIfHasFiveFixed(option)\"\n >\n </po-button>\n\n <po-button\n *ngIf=\"!hideActionFixedColumns && iconNameLib === 'PhosphorIcon'\"\n [p-icon]=\"isFixed(option) ? 'ICON_PUSH_PIN_SLASH' : 'ICON_PUSH_PIN'\"\n (p-click)=\"emitFixed(option)\"\n [p-disabled]=\"!option.visible || checksIfHasFiveFixed(option)\"\n >\n </po-button>\n\n <po-button\n [p-tooltip]=\"literals.up\"\n p-tooltip-position=\"left\"\n p-icon=\"ICON_ARROW_UP\"\n [p-disabled]=\"verifyArrowDisabled(option, 'up') || isFixed(option)\"\n (p-click)=\"emitChangePosition(option, 'up')\"\n >\n </po-button>\n\n <po-button\n [p-tooltip]=\"literals.down\"\n p-tooltip-position=\"top\"\n p-icon=\"ICON_ARROW_DOWN\"\n [p-disabled]=\"verifyArrowDisabled(option, 'down') || isFixed(option)\"\n (p-click)=\"emitChangePosition(option, 'down')\"\n >\n </po-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #templateIconNotFixed>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <g clip-path=\"url(#clip0_12562_15948)\">\n <path\n d=\"M13.7143 5.71429V10C13.7143 10.96 14.0314 11.8514 14.5714 12.5714H9.42857C9.98571 11.8343 10.2857 10.9429 10.2857 10V5.71429H13.7143ZM16.2857 4H7.71429C7.24286 4 6.85714 4.38571 6.85714 4.85714C6.85714 5.32857 7.24286 5.71429 7.71429 5.71429H8.57143V10C8.57143 11.4229 7.42286 12.5714 6 12.5714V14.2857H11.1171V20.2857L11.9743 21.1429L12.8314 20.2857V14.2857H18V12.5714C16.5771 12.5714 15.4286 11.4229 15.4286 10V5.71429H16.2857C16.7571 5.71429 17.1429 5.32857 17.1429 4.85714C17.1429 4.38571 16.7571 4 16.2857 4Z\"\n fill=\"black\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_12562_15948\">\n <rect width=\"24\" height=\"24\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n</ng-template>\n\n<ng-template #templateIconFixed>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <g clip-path=\"url(#clip0_12562_17487)\">\n <path\n d=\"M16.2857 4H7.71429C7.24286 4 6.85714 4.38571 6.85714 4.85714C6.85714 5.32857 7.24286 5.71429 7.71429 5.71429H8.57143V10C8.57143 11.4229 7.42286 12.5714 6 12.5714V14.2857H11.1171V20.2857L11.9743 21.1429L12.8314 20.2857V14.2857H18V12.5714C16.5771 12.5714 15.4286 11.4229 15.4286 10V5.71429H16.2857C16.7571 5.71429 17.1429 5.32857 17.1429 4.85714C17.1429 4.38571 16.7571 4 16.2857 4Z\"\n fill=\"#B4B4C0\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_12562_17487\">\n <rect width=\"24\" height=\"24\" fill=\"black\" />\n </clipPath>\n </defs>\n </svg>\n</ng-template>\n" }]
301
+ ], template: "<section class=\"po-table-list-manager-section\" *ngIf=\"existedFixedItem()\">\n <p class=\"po-table-list-manager-title-group-items\">{{ literals.fixedColumns }}</p>\n <ng-container *ngFor=\"let option of checkboxGroupOptionsView; trackBy: trackByFn\">\n <ng-container *ngIf=\"isFixed(option)\">\n <li class=\"po-table-list-manager-container\" [class.po-checkbox-group-item-disabled]=\"option.disabled || disabled\">\n <ng-container *ngTemplateOutlet=\"listItemsManagerDefault; context: { $implicit: option }\"></ng-container>\n </li>\n </ng-container>\n </ng-container>\n</section>\n\n<section class=\"po-table-list-manager-section\">\n <p class=\"po-table-list-manager-title-group-items\">{{ literals.otherColumns }}</p>\n <ng-container *ngFor=\"let option of checkboxGroupOptionsView; trackBy: trackByFn\">\n <ng-container *ngIf=\"!isFixed(option)\">\n <li class=\"po-table-list-manager-container\" [class.po-checkbox-group-item-disabled]=\"option.disabled || disabled\">\n <ng-container *ngIf=\"!isFixed(option)\">\n <ng-container *ngTemplateOutlet=\"listItemsManagerDefault; context: { $implicit: option }\"></ng-container>\n </ng-container>\n </li>\n </ng-container>\n </ng-container>\n</section>\n\n<ng-template #listItemsManagerDefault let-option>\n <div class=\"po-table-list-manager-item\">\n <div class=\"po-table-list-manager-item-switch\">\n <po-switch\n name=\"switch\"\n (p-change)=\"clickSwitch(option)\"\n (keydown)=\"onKeyDown($event, option)\"\n [p-disabled]=\"option.disabled || disabled || isFixed(option)\"\n [p-value]=\"checkedOptions[option.value]\"\n [p-hide-label-status]=\"true\"\n >\n </po-switch>\n <span class=\"po-table-list-manager-item-text\">\n {{ option.label }}\n </span>\n </div>\n\n <div class=\"po-table-list-manager-item-buttons\">\n <po-button\n *ngIf=\"!hideActionFixedColumns && iconNameLib === 'PoIcon'\"\n [p-icon]=\"isFixed(option) ? templateIconFixed : templateIconNotFixed\"\n (p-click)=\"emitFixed(option)\"\n [p-disabled]=\"!option.visible || checksIfHasFiveFixed(option)\"\n >\n </po-button>\n\n <po-button\n *ngIf=\"!hideActionFixedColumns && iconNameLib === 'PhosphorIcon'\"\n [p-icon]=\"isFixed(option) ? 'ICON_PUSH_PIN_SLASH' : 'ICON_PUSH_PIN'\"\n (p-click)=\"emitFixed(option)\"\n [p-disabled]=\"!option.visible || checksIfHasFiveFixed(option)\"\n >\n </po-button>\n\n <po-button\n [p-tooltip]=\"literals.up\"\n p-tooltip-position=\"left\"\n p-icon=\"ICON_ARROW_UP\"\n [p-disabled]=\"verifyArrowDisabled(option, 'up') || isFixed(option)\"\n (p-click)=\"emitChangePosition(option, 'up')\"\n >\n </po-button>\n\n <po-button\n [p-tooltip]=\"literals.down\"\n p-tooltip-position=\"top\"\n p-icon=\"ICON_ARROW_DOWN\"\n [p-disabled]=\"verifyArrowDisabled(option, 'down') || isFixed(option)\"\n (p-click)=\"emitChangePosition(option, 'down')\"\n >\n </po-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #templateIconNotFixed>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <g clip-path=\"url(#clip0_12562_15948)\">\n <path\n d=\"M13.7143 5.71429V10C13.7143 10.96 14.0314 11.8514 14.5714 12.5714H9.42857C9.98571 11.8343 10.2857 10.9429 10.2857 10V5.71429H13.7143ZM16.2857 4H7.71429C7.24286 4 6.85714 4.38571 6.85714 4.85714C6.85714 5.32857 7.24286 5.71429 7.71429 5.71429H8.57143V10C8.57143 11.4229 7.42286 12.5714 6 12.5714V14.2857H11.1171V20.2857L11.9743 21.1429L12.8314 20.2857V14.2857H18V12.5714C16.5771 12.5714 15.4286 11.4229 15.4286 10V5.71429H16.2857C16.7571 5.71429 17.1429 5.32857 17.1429 4.85714C17.1429 4.38571 16.7571 4 16.2857 4Z\"\n fill=\"black\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_12562_15948\">\n <rect width=\"24\" height=\"24\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n</ng-template>\n\n<ng-template #templateIconFixed>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <g clip-path=\"url(#clip0_12562_17487)\">\n <path\n d=\"M16.2857 4H7.71429C7.24286 4 6.85714 4.38571 6.85714 4.85714C6.85714 5.32857 7.24286 5.71429 7.71429 5.71429H8.57143V10C8.57143 11.4229 7.42286 12.5714 6 12.5714V14.2857H11.1171V20.2857L11.9743 21.1429L12.8314 20.2857V14.2857H18V12.5714C16.5771 12.5714 15.4286 11.4229 15.4286 10V5.71429H16.2857C16.7571 5.71429 17.1429 5.32857 17.1429 4.85714C17.1429 4.38571 16.7571 4 16.2857 4Z\"\n fill=\"#B4B4C0\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_12562_17487\">\n <rect width=\"24\" height=\"24\" fill=\"black\" />\n </clipPath>\n </defs>\n </svg>\n</ng-template>\n" }]
302
302
  }], () => [{ type: i1.PoLanguageService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
303
303
  type: Optional
304
304
  }, {
@@ -318,4 +318,4 @@ export class PoTableListManagerComponent extends PoCheckboxGroupComponent {
318
318
  args: [{ alias: 'p-hide-action-fixed-columns', transform: convertToBoolean }]
319
319
  }] }); })();
320
320
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoTableListManagerComponent, { className: "PoTableListManagerComponent", filePath: "lib/components/po-table/po-table-list-manager/po-table-list-manager.component.ts", lineNumber: 51 }); })();
321
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtbGlzdC1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1saXN0LW1hbmFnZXIvcG8tdGFibGUtbGlzdC1tYW5hZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1saXN0LW1hbmFnZXIvcG8tdGFibGUtbGlzdC1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7Ozs7O0lDRmhHLHdCQUF5Rzs7OztJQUY3Ryw2QkFBc0M7SUFDcEMsNkJBQWtIO0lBQ2hILHNJQUF5RztJQUMzRyxpQkFBSztJQUNQLDBCQUFlOzs7OztJQUgrQixjQUFxRTtJQUFyRSx5RkFBcUU7SUFDaEcsY0FBMkM7SUFBM0Msc0NBQTJDLGtFQUFBOzs7SUFIaEUsNkJBQWtGO0lBQ2hGLHVIQUllO0lBQ2pCLDBCQUFlOzs7O0lBTEUsY0FBcUI7SUFBckIsZ0RBQXFCOzs7SUFI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QVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztxRkE1R1UsMkJBQTJCLCtHQXNCaEIsZ0JBQWdCOzZEQXRCM0IsMkJBQTJCLGlRQVdvQixnQkFBZ0IsNkhBbkIvRDtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUMxRCxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1lDaERILG9GQVNVO1lBRVYsa0NBQStDLFdBQUE7WUFDTSxZQUEyQjtZQUFBLGlCQUFJO1lBQ2xGLDhGQVFlO1lBQ2pCLGlCQUFVO1lBRVYsOEhBc0RjLGdIQUFBLGdIQUFBOztZQTlFa0MsNkNBQXdCO1lBWW5CLGVBQTJCO1lBQTNCLCtDQUEyQjtZQUM3QyxjQUE2QjtZQUE3QixzREFBNkIsK0JBQUE7OztpRkRxQ25ELDJCQUEyQjtjQVh2QyxTQUFTOzJCQUNFLHVCQUF1QixhQUV0QjtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQzt3QkFDMUQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7O3NCQXdCRSxRQUFROztzQkFBSSxNQUFNO3VCQUFDLGdCQUFnQjtxQkFsQjlCLGNBQWM7a0JBRHJCLE1BQU07bUJBQUMsbUJBQW1CO1lBSW5CLGlCQUFpQjtrQkFEeEIsTUFBTTttQkFBQyxnQkFBZ0I7WUFHSSxjQUFjO2tCQUF6QyxLQUFLO21CQUFDLG1CQUFtQjtZQUVvRCxzQkFBc0I7a0JBQW5HLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztrRkFYakUsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgSUNPTlNfRElDVElPTkFSWSwgUG9JY29uRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL3BvLWljb24nO1xuaW1wb3J0IHsgcG9Mb2NhbGVEZWZhdWx0IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2UuY29uc3RhbnQnO1xuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvQ2hlY2tib3hHcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWNoZWNrYm94LWdyb3VwL3BvLWNoZWNrYm94LWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby10YWJsZS1jb2x1bW4uaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IHBvVGFibGVMaXN0TWFuYWdlckxpdGVyYWxzID0ge1xuICBlbjoge1xuICAgIHVwOiAndXAnLFxuICAgIGRvd246ICdkb3duJyxcbiAgICBvdGhlckNvbHVtbnM6ICdPdGhlciBjb2x1bW5zJyxcbiAgICBmaXhlZENvbHVtbnM6ICdGaXhlZCdcbiAgfSxcbiAgZXM6IHtcbiAgICB1cDogJ2FycmliYScsXG4gICAgZG93bjogJ2FiYWpvJyxcbiAgICBvdGhlckNvbHVtbnM6ICdPdHJhcyBjb2x1bW5hcycsXG4gICAgZml4ZWRDb2x1bW5zOiAnRmlqYWRvJ1xuICB9LFxuICBwdDoge1xuICAgIHVwOiAnYWNpbWEnLFxuICAgIGRvd246ICdhYmFpeG8nLFxuICAgIG90aGVyQ29sdW1uczogJ091dHJhcyBjb2x1bmFzJyxcbiAgICBmaXhlZENvbHVtbnM6ICdGaXhvJ1xuICB9LFxuICBydToge1xuICAgIHVwOiAn0LLQstC10YDRhScsXG4gICAgZG93bjogJ9Cy0L3QuNC3JyxcbiAgICBvdGhlckNvbHVtbnM6ICfQlNGA0YPQs9C40LUg0YHRgtC+0LvQsdGG0YsnLFxuICAgIGZpeGVkQ29sdW1uczogJ9C30LDRhNC40LrRgdC40YDQvtCy0LDQvdC90YvQuSdcbiAgfVxufTtcblxudHlwZSBEaXJlY3Rpb24gPSAndXAnIHwgJ2Rvd24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby10YWJsZS1saXN0LW1hbmFnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tdGFibGUtbGlzdC1tYW5hZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb1RhYmxlTGlzdE1hbmFnZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9UYWJsZUxpc3RNYW5hZ2VyQ29tcG9uZW50IGV4dGVuZHMgUG9DaGVja2JveEdyb3VwQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfaWNvblRva2VuOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLXBvc2l0aW9uJylcbiAgcHJpdmF0ZSBjaGFuZ2VQb3NpdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLWZpeGVkJylcbiAgcHJpdmF0ZSBjaGFuZ2VDb2x1bW5GaXhlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBJbnB1dCgncC1jb2x1bW5zLW1hbmFnZXInKSBjb2x1bW5zTWFuYWdlcjogQXJyYXk8UG9UYWJsZUNvbHVtbj47XG5cbiAgQElucHV0KHsgYWxpYXM6ICdwLWhpZGUtYWN0aW9uLWZpeGVkLWNvbHVtbnMnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgaGlkZUFjdGlvbkZpeGVkQ29sdW1uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGxpdGVyYWxzO1xuXG4gIGdldCBpY29uTmFtZUxpYigpIHtcbiAgICByZXR1cm4gdGhpcy5faWNvblRva2VuLk5BTUVfTElCO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChJQ09OU19ESUNUSU9OQVJZKSB2YWx1ZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICApIHtcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3Rvcik7XG5cbiAgICBjb25zdCBsYW5ndWFnZSA9IGxhbmd1YWdlU2VydmljZS5nZXRTaG9ydExhbmd1YWdlKCk7XG5cbiAgICB0aGlzLmxpdGVyYWxzID0ge1xuICAgICAgLi4ucG9UYWJsZUxpc3RNYW5hZ2VyTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XSxcbiAgICAgIC4uLnBvVGFibGVMaXN0TWFuYWdlckxpdGVyYWxzW2xhbmd1YWdlXVxuICAgIH07XG5cbiAgICB0aGlzLl9pY29uVG9rZW4gPSB2YWx1ZSA/PyBQb0ljb25EaWN0aW9uYXJ5O1xuICB9XG5cbiAgZW1pdENoYW5nZVBvc2l0aW9uKG9wdGlvbiwgZGlyZWN0aW9uOiBEaXJlY3Rpb24pIHtcbiAgICBpZiAoIXRoaXMuaXNGaXhlZChvcHRpb24pKSB7XG4gICAgICBjb25zdCBpbmZvUG9zaXRpb24gPSB7IG9wdGlvbiwgZGlyZWN0aW9uIH07XG4gICAgICBjb25zdCBoYXNEaXNhYmxlZDogYm9vbGVhbiA9IHRoaXMudmVyaWZ5QXJyb3dEaXNhYmxlZChvcHRpb24sIGRpcmVjdGlvbik7XG4gICAgICBpZiAoIWhhc0Rpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb24uZW1pdChpbmZvUG9zaXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZlcmlmeUFycm93RGlzYWJsZWQob3B0aW9uLCBkaXJlY3Rpb246IERpcmVjdGlvbikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb2x1bW5zTWFuYWdlci5maW5kSW5kZXgoZWwgPT4gZWwucHJvcGVydHkgPT09IG9wdGlvbi52YWx1ZSk7XG4gICAgY29uc3QgZXhpc3RzRGV0YWlsID0gdGhpcy5jb2x1bW5zTWFuYWdlci5zb21lKGZ1bmN0aW9uIChlbCkge1xuICAgICAgcmV0dXJuIGVsLnByb3BlcnR5ID09PSAnZGV0YWlsJztcbiAgICB9KTtcbiAgICBjb25zdCB2YWx1ZVN1YnRyYWN0aW9uID0gZXhpc3RzRGV0YWlsID8gMiA6IDE7XG5cbiAgICBpZiAoaW5kZXggPT09IDAgJiYgZGlyZWN0aW9uID09PSAndXAnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggIT09IDAgJiYgZGlyZWN0aW9uID09PSAndXAnICYmIHRoaXMuY29sdW1uc01hbmFnZXJbaW5kZXggLSAxXS5maXhlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGluZGV4ID09PSB0aGlzLmNvbHVtbnNNYW5hZ2VyLmxlbmd0aCAtIHZhbHVlU3VidHJhY3Rpb24gJiYgZGlyZWN0aW9uID09PSAnZG93bicpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGVtaXRGaXhlZChvcHRpb24pIHtcbiAgICBpZiAob3B0aW9uLnZpc2libGUpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb2x1bW5zTWFuYWdlci5maW5kSW5kZXgoZWwgPT4gZWwucHJvcGVydHkgPT09IG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jb2x1bW5zTWFuYWdlcltpbmRleF0uZml4ZWQgPT09IG51bGwgfHxcbiAgICAgICAgdGhpcy5jb2x1bW5zTWFuYWdlcltpbmRleF0uZml4ZWQgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICB0aGlzLmNvbHVtbnNNYW5hZ2VyW2luZGV4XS5maXhlZCA9PT0gZmFsc2VcbiAgICAgICkge1xuICAgICAgICB0aGlzLmNvbHVtbnNNYW5hZ2VyW2luZGV4XS5maXhlZCA9IHRydWU7XG4gICAgICAgIG9wdGlvbi5maXhlZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtbnNNYW5hZ2VyW2luZGV4XS5maXhlZCA9IGZhbHNlO1xuICAgICAgICBvcHRpb24uZml4ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hhbmdlQ29sdW1uRml4ZWQuZW1pdChvcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGlzRml4ZWQob3B0aW9uKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmNvbHVtbnNNYW5hZ2VyLmZpbmRJbmRleChlbCA9PiBlbC5wcm9wZXJ0eSA9PT0gb3B0aW9uLnZhbHVlKTtcbiAgICBpZiAodGhpcy5jb2x1bW5zTWFuYWdlcltpbmRleF0uZml4ZWQgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBleGlzdGVkRml4ZWRJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnNNYW5hZ2VyLnNvbWUob3B0aW9uID0+IG9wdGlvblsnZml4ZWQnXSA9PT0gdHJ1ZSk7XG4gIH1cblxuICBjaGVja3NJZkhhc0ZpdmVGaXhlZChvcHRpb24pIHtcbiAgICBjb25zdCBpc01vcmVUaGFuRml2ZSA9IHRoaXMuY29sdW1uc01hbmFnZXIuZmlsdGVyKGl0ZW0gPT4gaXRlbS5maXhlZCA9PT0gdHJ1ZSkubGVuZ3RoID4gNDtcbiAgICBjb25zdCBpc05vdEZpeGVkID0gIXRoaXMuaXNGaXhlZChvcHRpb24pO1xuXG4gICAgcmV0dXJuIGlzTW9yZVRoYW5GaXZlICYmIGlzTm90Rml4ZWQ7XG4gIH1cblxuICBjbGlja1N3aXRjaChvcHRpb24pIHtcbiAgICB0aGlzLmNoZWNrT3B0aW9uKG9wdGlvbik7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLXNlY3Rpb25cIiAqbmdJZj1cImV4aXN0ZWRGaXhlZEl0ZW0oKVwiPlxuICA8cCBjbGFzcz1cInBvLXRhYmxlLWxpc3QtbWFuYWdlci10aXRsZS1ncm91cC1pdGVtc1wiPnt7IGxpdGVyYWxzLmZpeGVkQ29sdW1ucyB9fTwvcD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNoZWNrYm94R3JvdXBPcHRpb25zVmlldzsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRml4ZWQob3B0aW9uKVwiPlxuICAgICAgPGxpIGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLWNvbnRhaW5lclwiIFtjbGFzcy5wby1jaGVja2JveC1ncm91cC1pdGVtLWRpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZCB8fCBkaXNhYmxlZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdEl0ZW1zTWFuYWdlckRlZmF1bHQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L3NlY3Rpb24+XG5cbjxzZWN0aW9uIGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLXNlY3Rpb25cIj5cbiAgPHAgY2xhc3M9XCJwby10YWJsZS1saXN0LW1hbmFnZXItdGl0bGUtZ3JvdXAtaXRlbXNcIj57eyBsaXRlcmFscy5vdGhlckNvbHVtbnMgfX08L3A+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjaGVja2JveEdyb3VwT3B0aW9uc1ZpZXc7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNGaXhlZChvcHRpb24pXCI+XG4gICAgICA8bGkgY2xhc3M9XCJwby10YWJsZS1saXN0LW1hbmFnZXItY29udGFpbmVyXCIgW2NsYXNzLnBvLWNoZWNrYm94LWdyb3VwLWl0ZW0tZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkIHx8IGRpc2FibGVkXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNGaXhlZChvcHRpb24pXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RJdGVtc01hbmFnZXJEZWZhdWx0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0aW9uIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICNsaXN0SXRlbXNNYW5hZ2VyRGVmYXVsdCBsZXQtb3B0aW9uPlxuICA8ZGl2IGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLWl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLWl0ZW0tc3dpdGNoXCI+XG4gICAgICA8cG8tc3dpdGNoXG4gICAgICAgIG5hbWU9XCJzd2l0Y2hcIlxuICAgICAgICAocC1jaGFuZ2UpPVwiY2xpY2tTd2l0Y2gob3B0aW9uKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIG9wdGlvbilcIlxuICAgICAgICBbcC1kaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWQgfHwgZGlzYWJsZWQgfHwgaXNGaXhlZChvcHRpb24pXCJcbiAgICAgICAgW3AtdmFsdWVdPVwiY2hlY2tlZE9wdGlvbnNbb3B0aW9uLnZhbHVlXVwiXG4gICAgICAgIHAtbGFiZWwtb2ZmPVwiIFwiXG4gICAgICAgIHAtbGFiZWwtb249XCIgXCJcbiAgICAgID5cbiAgICAgIDwvcG8tc3dpdGNoPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwby10YWJsZS1saXN0LW1hbmFnZXItaXRlbS10ZXh0XCI+XG4gICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInBvLXRhYmxlLWxpc3QtbWFuYWdlci1pdGVtLWJ1dHRvbnNcIj5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhaGlkZUFjdGlvbkZpeGVkQ29sdW1ucyAmJiBpY29uTmFtZUxpYiA9PT0gJ1BvSWNvbidcIlxuICAgICAgICBbcC1pY29uXT1cImlzRml4ZWQob3B0aW9uKSA/IHRlbXBsYXRlSWNvbkZpeGVkIDogdGVtcGxhdGVJY29uTm90Rml4ZWRcIlxuICAgICAgICAocC1jbGljayk9XCJlbWl0Rml4ZWQob3B0aW9uKVwiXG4gICAgICAgIFtwLWRpc2FibGVkXT1cIiFvcHRpb24udmlzaWJsZSB8fCBjaGVja3NJZkhhc0ZpdmVGaXhlZChvcHRpb24pXCJcbiAgICAgID5cbiAgICAgIDwvcG8tYnV0dG9uPlxuXG4gICAgICA8cG8tYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIWhpZGVBY3Rpb25GaXhlZENvbHVtbnMgJiYgaWNvbk5hbWVMaWIgPT09ICdQaG9zcGhvckljb24nXCJcbiAgICAgICAgW3AtaWNvbl09XCJpc0ZpeGVkKG9wdGlvbikgPyAnSUNPTl9QVVNIX1BJTl9TTEFTSCcgOiAnSUNPTl9QVVNIX1BJTidcIlxuICAgICAgICAocC1jbGljayk9XCJlbWl0Rml4ZWQob3B0aW9uKVwiXG4gICAgICAgIFtwLWRpc2FibGVkXT1cIiFvcHRpb24udmlzaWJsZSB8fCBjaGVja3NJZkhhc0ZpdmVGaXhlZChvcHRpb24pXCJcbiAgICAgID5cbiAgICAgIDwvcG8tYnV0dG9uPlxuXG4gICAgICA8cG8tYnV0dG9uXG4gICAgICAgIFtwLXRvb2x0aXBdPVwibGl0ZXJhbHMudXBcIlxuICAgICAgICBwLXRvb2x0aXAtcG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgcC1pY29uPVwiSUNPTl9BUlJPV19VUFwiXG4gICAgICAgIFtwLWRpc2FibGVkXT1cInZlcmlmeUFycm93RGlzYWJsZWQob3B0aW9uLCAndXAnKSB8fCBpc0ZpeGVkKG9wdGlvbilcIlxuICAgICAgICAocC1jbGljayk9XCJlbWl0Q2hhbmdlUG9zaXRpb24ob3B0aW9uLCAndXAnKVwiXG4gICAgICA+XG4gICAgICA8L3BvLWJ1dHRvbj5cblxuICAgICAgPHBvLWJ1dHRvblxuICAgICAgICBbcC10b29sdGlwXT1cImxpdGVyYWxzLmRvd25cIlxuICAgICAgICBwLXRvb2x0aXAtcG9zaXRpb249XCJ0b3BcIlxuICAgICAgICBwLWljb249XCJJQ09OX0FSUk9XX0RPV05cIlxuICAgICAgICBbcC1kaXNhYmxlZF09XCJ2ZXJpZnlBcnJvd0Rpc2FibGVkKG9wdGlvbiwgJ2Rvd24nKSB8fCBpc0ZpeGVkKG9wdGlvbilcIlxuICAgICAgICAocC1jbGljayk9XCJlbWl0Q2hhbmdlUG9zaXRpb24ob3B0aW9uLCAnZG93bicpXCJcbiAgICAgID5cbiAgICAgIDwvcG8tYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVJY29uTm90Rml4ZWQ+XG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxuICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTI1NjJfMTU5NDgpXCI+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEzLjcxNDMgNS43MTQyOVYxMEMxMy43MTQzIDEwLjk2IDE0LjAzMTQgMTEuODUxNCAxNC41NzE0IDEyLjU3MTRIOS40Mjg1N0M5Ljk4NTcxIDExLjgzNDMgMTAuMjg1NyAxMC45NDI5IDEwLjI4NTcgMTBWNS43MTQyOUgxMy43MTQzWk0xNi4yODU3IDRINy43MTQyOUM3LjI0Mjg2IDQgNi44NTcxNCA0LjM4NTcxIDYuODU3MTQgNC44NTcxNEM2Ljg1NzE0IDUuMzI4NTcgNy4yNDI4NiA1LjcxNDI5IDcuNzE0MjkgNS43MTQyOUg4LjU3MTQzVjEwQzguNTcxNDMgMTEuNDIyOSA3LjQyMjg2IDEyLjU3MTQgNiAxMi41NzE0VjE0LjI4NTdIMTEuMTE3MVYyMC4yODU3TDExLjk3NDMgMjEuMTQyOUwxMi44MzE0IDIwLjI4NTdWMTQuMjg1N0gxOFYxMi41NzE0QzE2LjU3NzEgMTIuNTcxNCAxNS40Mjg2IDExLjQyMjkgMTUuNDI4NiAxMFY1LjcxNDI5SDE2LjI4NTdDMTYuNzU3MSA1LjcxNDI5IDE3LjE0MjkgNS4zMjg1NyAxNy4xNDI5IDQuODU3MTRDMTcuMTQyOSA0LjM4NTcxIDE2Ljc1NzEgNCAxNi4yODU3IDRaXCJcbiAgICAgICAgZmlsbD1cImJsYWNrXCJcbiAgICAgIC8+XG4gICAgPC9nPlxuICAgIDxkZWZzPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTI1NjJfMTU5NDhcIj5cbiAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIndoaXRlXCIgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgPC9kZWZzPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVJY29uRml4ZWQ+XG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxuICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTI1NjJfMTc0ODcpXCI+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE2LjI4NTcgNEg3LjcxNDI5QzcuMjQyODYgNCA2Ljg1NzE0IDQuMzg1NzEgNi44NTcxNCA0Ljg1NzE0QzYuODU3MTQgNS4zMjg1NyA3LjI0Mjg2IDUuNzE0MjkgNy43MTQyOSA1LjcxNDI5SDguNTcxNDNWMTBDOC41NzE0MyAxMS40MjI5IDcuNDIyODYgMTIuNTcxNCA2IDEyLjU3MTRWMTQuMjg1N0gxMS4xMTcxVjIwLjI4NTdMMTEuOTc0MyAyMS4xNDI5TDEyLjgzMTQgMjAuMjg1N1YxNC4yODU3SDE4VjEyLjU3MTRDMTYuNTc3MSAxMi41NzE0IDE1LjQyODYgMTEuNDIyOSAxNS40Mjg2IDEwVjUuNzE0MjlIMTYuMjg1N0MxNi43NTcxIDUuNzE0MjkgMTcuMTQyOSA1LjMyODU3IDE3LjE0MjkgNC44NTcxNEMxNy4xNDI5IDQuMzg1NzEgMTYuNzU3MSA0IDE2LjI4NTcgNFpcIlxuICAgICAgICBmaWxsPVwiI0I0QjRDMFwiXG4gICAgICAvPlxuICAgIDwvZz5cbiAgICA8ZGVmcz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzEyNTYyXzE3NDg3XCI+XG4gICAgICAgIDxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCJibGFja1wiIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgIDwvZGVmcz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
321
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtbGlzdC1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1saXN0LW1hbmFnZXIvcG8tdGFibGUtbGlzdC1tYW5hZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1saXN0LW1hbmFnZXIvcG8tdGFibGUtbGlzdC1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7Ozs7O0lDRmhHLHdCQUF5Rzs7OztJQUY3Ryw2QkFBc0M7SUFDcEMsNkJBQWtIO0lBQ2hILHNJQUF5RztJQUMzRyxpQkFBSztJQUNQLDBCQUFlOzs7OztJQUgrQixjQUFxRTtJQUFyRSx5RkFBcUU7SUFDaEcsY0FBMkM7SUFBM0Msc0NBQTJDLGtFQUFBOzs7SUFIaEUsNkJBQWtGO0lBQ2hGLHVIQUllO0lBQ2pCLDBCQUFlOzs7O0lBTEUsY0FBcUI7SUFBckIsZ0RBQXFCOzs7SUFI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QUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQztxRkE1R1UsMkJBQTJCLCtHQXNCaEIsZ0JBQWdCOzZEQXRCM0IsMkJBQTJCLGlRQVdvQixnQkFBZ0IsNkhBbkIvRDtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUMxRCxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1lDaERILG9GQVNVO1lBRVYsa0NBQStDLFdBQUE7WUFDTSxZQUEyQjtZQUFBLGlCQUFJO1lBQ2xGLDhGQVFlO1lBQ2pCLGlCQUFVO1lBRVYsK0hBcURjLGdIQUFBLGdIQUFBOztZQTdFa0MsNkNBQXdCO1lBWW5CLGVBQTJCO1lBQTNCLCtDQUEyQjtZQUM3QyxjQUE2QjtZQUE3QixzREFBNkIsK0JBQUE7OztpRkRxQ25ELDJCQUEyQjtjQVh2QyxTQUFTOzJCQUNFLHVCQUF1QixhQUV0QjtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQzt3QkFDMUQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7O3NCQXdCRSxRQUFROztzQkFBSSxNQUFNO3VCQUFDLGdCQUFnQjtxQkFsQjlCLGNBQWM7a0JBRHJCLE1BQU07bUJBQUMsbUJBQW1CO1lBSW5CLGlCQUFpQjtrQkFEeEIsTUFBTTttQkFBQyxnQkFBZ0I7WUFHSSxjQUFjO2tCQUF6QyxLQUFLO21CQUFDLG1CQUFtQjtZQUVvRCxzQkFBc0I7a0JBQW5HLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztrRkFYakUsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgSUNPTlNfRElDVElPTkFSWSwgUG9JY29uRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL3BvLWljb24nO1xuaW1wb3J0IHsgcG9Mb2NhbGVEZWZhdWx0IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2UuY29uc3RhbnQnO1xuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvQ2hlY2tib3hHcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BvLWZpZWxkL3BvLWNoZWNrYm94LWdyb3VwL3BvLWNoZWNrYm94LWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby10YWJsZS1jb2x1bW4uaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IHBvVGFibGVMaXN0TWFuYWdlckxpdGVyYWxzID0ge1xuICBlbjoge1xuICAgIHVwOiAndXAnLFxuICAgIGRvd246ICdkb3duJyxcbiAgICBvdGhlckNvbHVtbnM6ICdPdGhlciBjb2x1bW5zJyxcbiAgICBmaXhlZENvbHVtbnM6ICdGaXhlZCdcbiAgfSxcbiAgZXM6IHtcbiAgICB1cDogJ2FycmliYScsXG4gICAgZG93bjogJ2FiYWpvJyxcbiAgICBvdGhlckNvbHVtbnM6ICdPdHJhcyBjb2x1bW5hcycsXG4gICAgZml4ZWRDb2x1bW5zOiAnRmlqYWRvJ1xuICB9LFxuICBwdDoge1xuICAgIHVwOiAnYWNpbWEnLFxuICAgIGRvd246ICdhYmFpeG8nLFxuICAgIG90aGVyQ29sdW1uczogJ091dHJhcyBjb2x1bmFzJyxcbiAgICBmaXhlZENvbHVtbnM6ICdGaXhvJ1xuICB9LFxuICBydToge1xuICAgIHVwOiAn0LLQstC10YDRhScsXG4gICAgZG93bjogJ9Cy0L3QuNC3JyxcbiAgICBvdGhlckNvbHVtbnM6ICfQlNGA0YPQs9C40LUg0YHRgtC+0LvQsdGG0YsnLFxuICAgIGZpeGVkQ29sdW1uczogJ9C30LDRhNC40LrRgdC40YDQvtCy0LDQvdC90YvQuSdcbiAgfVxufTtcblxudHlwZSBEaXJlY3Rpb24gPSAndXAnIHwgJ2Rvd24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby10YWJsZS1saXN0LW1hbmFnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tdGFibGUtbGlzdC1tYW5hZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb1RhYmxlTGlzdE1hbmFnZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9UYWJsZUxpc3RNYW5hZ2VyQ29tcG9uZW50IGV4dGVuZHMgUG9DaGVja2JveEdyb3VwQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfaWNvblRva2VuOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLXBvc2l0aW9uJylcbiAgcHJpdmF0ZSBjaGFuZ2VQb3NpdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLWZpeGVkJylcbiAgcHJpdmF0ZSBjaGFuZ2VDb2x1bW5GaXhlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBJbnB1dCgncC1jb2x1bW5zLW1hbmFnZXInKSBjb2x1bW5zTWFuYWdlcjogQXJyYXk8UG9UYWJsZUNvbHVtbj47XG5cbiAgQElucHV0KHsgYWxpYXM6ICdwLWhpZGUtYWN0aW9uLWZpeGVkLWNvbHVtbnMnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgaGlkZUFjdGlvbkZpeGVkQ29sdW1uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGxpdGVyYWxzO1xuXG4gIGdldCBpY29uTmFtZUxpYigpIHtcbiAgICByZXR1cm4gdGhpcy5faWNvblRva2VuLk5BTUVfTElCO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChJQ09OU19ESUNUSU9OQVJZKSB2YWx1ZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICApIHtcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3Rvcik7XG5cbiAgICBjb25zdCBsYW5ndWFnZSA9IGxhbmd1YWdlU2VydmljZS5nZXRTaG9ydExhbmd1YWdlKCk7XG5cbiAgICB0aGlzLmxpdGVyYWxzID0ge1xuICAgICAgLi4ucG9UYWJsZUxpc3RNYW5hZ2VyTGl0ZXJhbHNbcG9Mb2NhbGVEZWZhdWx0XSxcbiAgICAgIC4uLnBvVGFibGVMaXN0TWFuYWdlckxpdGVyYWxzW2xhbmd1YWdlXVxuICAgIH07XG5cbiAgICB0aGlzLl9pY29uVG9rZW4gPSB2YWx1ZSA/PyBQb0ljb25EaWN0aW9uYXJ5O1xuICB9XG5cbiAgZW1pdENoYW5nZVBvc2l0aW9uKG9wdGlvbiwgZGlyZWN0aW9uOiBEaXJlY3Rpb24pIHtcbiAgICBpZiAoIXRoaXMuaXNGaXhlZChvcHRpb24pKSB7XG4gICAgICBjb25zdCBpbmZvUG9zaXRpb24gPSB7IG9wdGlvbiwgZGlyZWN0aW9uIH07XG4gICAgICBjb25zdCBoYXNEaXNhYmxlZDogYm9vbGVhbiA9IHRoaXMudmVyaWZ5QXJyb3dEaXNhYmxlZChvcHRpb24sIGRpcmVjdGlvbik7XG4gICAgICBpZiAoIWhhc0Rpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb24uZW1pdChpbmZvUG9zaXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZlcmlmeUFycm93RGlzYWJsZWQob3B0aW9uLCBkaXJlY3Rpb246IERpcmVjdGlvbikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb2x1bW5zTWFuYWdlci5maW5kSW5kZXgoZWwgPT4gZWwucHJvcGVydHkgPT09IG9wdGlvbi52YWx1ZSk7XG4gICAgY29uc3QgZXhpc3RzRGV0YWlsID0gdGhpcy5jb2x1bW5zTWFuYWdlci5zb21lKGZ1bmN0aW9uIChlbCkge1xuICAgICAgcmV0dXJuIGVsLnByb3BlcnR5ID09PSAnZGV0YWlsJztcbiAgICB9KTtcbiAgICBjb25zdCB2YWx1ZVN1YnRyYWN0aW9uID0gZXhpc3RzRGV0YWlsID8gMiA6IDE7XG5cbiAgICBpZiAoaW5kZXggPT09IDAgJiYgZGlyZWN0aW9uID09PSAndXAnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggIT09IDAgJiYgZGlyZWN0aW9uID09PSAndXAnICYmIHRoaXMuY29sdW1uc01hbmFnZXJbaW5kZXggLSAxXS5maXhlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGluZGV4ID09PSB0aGlzLmNvbHVtbnNNYW5hZ2VyLmxlbmd0aCAtIHZhbHVlU3VidHJhY3Rpb24gJiYgZGlyZWN0aW9uID09PSAnZG93bicpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGVtaXRGaXhlZChvcHRpb24pIHtcbiAgICBpZiAob3B0aW9uLnZpc2libGUpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jb2x1bW5zTWFuYWdlci5maW5kSW5kZXgoZWwgPT4gZWwucHJvcGVydHkgPT09IG9wdGlvbi52YWx1ZSk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jb2x1bW5zTWFuYWdlcltpbmRleF0uZml4ZWQgPT09IG51bGwgfHxcbiAgICAgICAgdGhpcy5jb2x1bW5zTWFuYWdlcltpbmRleF0uZml4ZWQgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICB0aGlzLmNvbHVtbnNNYW5hZ2VyW2luZGV4XS5maXhlZCA9PT0gZmFsc2VcbiAgICAgICkge1xuICAgICAgICB0aGlzLmNvbHVtbnNNYW5hZ2VyW2luZGV4XS5maXhlZCA9IHRydWU7XG4gICAgICAgIG9wdGlvbi5maXhlZCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbHVtbnNNYW5hZ2VyW2luZGV4XS5maXhlZCA9IGZhbHNlO1xuICAgICAgICBvcHRpb24uZml4ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hhbmdlQ29sdW1uRml4ZWQuZW1pdChvcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGlzRml4ZWQob3B0aW9uKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmNvbHVtbnNNYW5hZ2VyLmZpbmRJbmRleChlbCA9PiBlbC5wcm9wZXJ0eSA9PT0gb3B0aW9uLnZhbHVlKTtcbiAgICBpZiAodGhpcy5jb2x1bW5zTWFuYWdlcltpbmRleF0uZml4ZWQgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBleGlzdGVkRml4ZWRJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnNNYW5hZ2VyLnNvbWUob3B0aW9uID0+IG9wdGlvblsnZml4ZWQnXSA9PT0gdHJ1ZSk7XG4gIH1cblxuICBjaGVja3NJZkhhc0ZpdmVGaXhlZChvcHRpb24pIHtcbiAgICBjb25zdCBpc01vcmVUaGFuRml2ZSA9IHRoaXMuY29sdW1uc01hbmFnZXIuZmlsdGVyKGl0ZW0gPT4gaXRlbS5maXhlZCA9PT0gdHJ1ZSkubGVuZ3RoID4gNDtcbiAgICBjb25zdCBpc05vdEZpeGVkID0gIXRoaXMuaXNGaXhlZChvcHRpb24pO1xuXG4gICAgcmV0dXJuIGlzTW9yZVRoYW5GaXZlICYmIGlzTm90Rml4ZWQ7XG4gIH1cblxuICBjbGlja1N3aXRjaChvcHRpb24pIHtcbiAgICB0aGlzLmNoZWNrT3B0aW9uKG9wdGlvbik7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLXNlY3Rpb25cIiAqbmdJZj1cImV4aXN0ZWRGaXhlZEl0ZW0oKVwiPlxuICA8cCBjbGFzcz1cInBvLXRhYmxlLWxpc3QtbWFuYWdlci10aXRsZS1ncm91cC1pdGVtc1wiPnt7IGxpdGVyYWxzLmZpeGVkQ29sdW1ucyB9fTwvcD5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNoZWNrYm94R3JvdXBPcHRpb25zVmlldzsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRml4ZWQob3B0aW9uKVwiPlxuICAgICAgPGxpIGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLWNvbnRhaW5lclwiIFtjbGFzcy5wby1jaGVja2JveC1ncm91cC1pdGVtLWRpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZCB8fCBkaXNhYmxlZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdEl0ZW1zTWFuYWdlckRlZmF1bHQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L3NlY3Rpb24+XG5cbjxzZWN0aW9uIGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLXNlY3Rpb25cIj5cbiAgPHAgY2xhc3M9XCJwby10YWJsZS1saXN0LW1hbmFnZXItdGl0bGUtZ3JvdXAtaXRlbXNcIj57eyBsaXRlcmFscy5vdGhlckNvbHVtbnMgfX08L3A+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjaGVja2JveEdyb3VwT3B0aW9uc1ZpZXc7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNGaXhlZChvcHRpb24pXCI+XG4gICAgICA8bGkgY2xhc3M9XCJwby10YWJsZS1saXN0LW1hbmFnZXItY29udGFpbmVyXCIgW2NsYXNzLnBvLWNoZWNrYm94LWdyb3VwLWl0ZW0tZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkIHx8IGRpc2FibGVkXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNGaXhlZChvcHRpb24pXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3RJdGVtc01hbmFnZXJEZWZhdWx0OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogb3B0aW9uIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICNsaXN0SXRlbXNNYW5hZ2VyRGVmYXVsdCBsZXQtb3B0aW9uPlxuICA8ZGl2IGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLWl0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLWl0ZW0tc3dpdGNoXCI+XG4gICAgICA8cG8tc3dpdGNoXG4gICAgICAgIG5hbWU9XCJzd2l0Y2hcIlxuICAgICAgICAocC1jaGFuZ2UpPVwiY2xpY2tTd2l0Y2gob3B0aW9uKVwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIG9wdGlvbilcIlxuICAgICAgICBbcC1kaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWQgfHwgZGlzYWJsZWQgfHwgaXNGaXhlZChvcHRpb24pXCJcbiAgICAgICAgW3AtdmFsdWVdPVwiY2hlY2tlZE9wdGlvbnNbb3B0aW9uLnZhbHVlXVwiXG4gICAgICAgIFtwLWhpZGUtbGFiZWwtc3RhdHVzXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgPC9wby1zd2l0Y2g+XG4gICAgICA8c3BhbiBjbGFzcz1cInBvLXRhYmxlLWxpc3QtbWFuYWdlci1pdGVtLXRleHRcIj5cbiAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwicG8tdGFibGUtbGlzdC1tYW5hZ2VyLWl0ZW0tYnV0dG9uc1wiPlxuICAgICAgPHBvLWJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFoaWRlQWN0aW9uRml4ZWRDb2x1bW5zICYmIGljb25OYW1lTGliID09PSAnUG9JY29uJ1wiXG4gICAgICAgIFtwLWljb25dPVwiaXNGaXhlZChvcHRpb24pID8gdGVtcGxhdGVJY29uRml4ZWQgOiB0ZW1wbGF0ZUljb25Ob3RGaXhlZFwiXG4gICAgICAgIChwLWNsaWNrKT1cImVtaXRGaXhlZChvcHRpb24pXCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwiIW9wdGlvbi52aXNpYmxlIHx8IGNoZWNrc0lmSGFzRml2ZUZpeGVkKG9wdGlvbilcIlxuICAgICAgPlxuICAgICAgPC9wby1idXR0b24+XG5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhaGlkZUFjdGlvbkZpeGVkQ29sdW1ucyAmJiBpY29uTmFtZUxpYiA9PT0gJ1Bob3NwaG9ySWNvbidcIlxuICAgICAgICBbcC1pY29uXT1cImlzRml4ZWQob3B0aW9uKSA/ICdJQ09OX1BVU0hfUElOX1NMQVNIJyA6ICdJQ09OX1BVU0hfUElOJ1wiXG4gICAgICAgIChwLWNsaWNrKT1cImVtaXRGaXhlZChvcHRpb24pXCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwiIW9wdGlvbi52aXNpYmxlIHx8IGNoZWNrc0lmSGFzRml2ZUZpeGVkKG9wdGlvbilcIlxuICAgICAgPlxuICAgICAgPC9wby1idXR0b24+XG5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgW3AtdG9vbHRpcF09XCJsaXRlcmFscy51cFwiXG4gICAgICAgIHAtdG9vbHRpcC1wb3NpdGlvbj1cImxlZnRcIlxuICAgICAgICBwLWljb249XCJJQ09OX0FSUk9XX1VQXCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwidmVyaWZ5QXJyb3dEaXNhYmxlZChvcHRpb24sICd1cCcpIHx8IGlzRml4ZWQob3B0aW9uKVwiXG4gICAgICAgIChwLWNsaWNrKT1cImVtaXRDaGFuZ2VQb3NpdGlvbihvcHRpb24sICd1cCcpXCJcbiAgICAgID5cbiAgICAgIDwvcG8tYnV0dG9uPlxuXG4gICAgICA8cG8tYnV0dG9uXG4gICAgICAgIFtwLXRvb2x0aXBdPVwibGl0ZXJhbHMuZG93blwiXG4gICAgICAgIHAtdG9vbHRpcC1wb3NpdGlvbj1cInRvcFwiXG4gICAgICAgIHAtaWNvbj1cIklDT05fQVJST1dfRE9XTlwiXG4gICAgICAgIFtwLWRpc2FibGVkXT1cInZlcmlmeUFycm93RGlzYWJsZWQob3B0aW9uLCAnZG93bicpIHx8IGlzRml4ZWQob3B0aW9uKVwiXG4gICAgICAgIChwLWNsaWNrKT1cImVtaXRDaGFuZ2VQb3NpdGlvbihvcHRpb24sICdkb3duJylcIlxuICAgICAgPlxuICAgICAgPC9wby1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZUljb25Ob3RGaXhlZD5cbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XG4gICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMjU2Ml8xNTk0OClcIj5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTMuNzE0MyA1LjcxNDI5VjEwQzEzLjcxNDMgMTAuOTYgMTQuMDMxNCAxMS44NTE0IDE0LjU3MTQgMTIuNTcxNEg5LjQyODU3QzkuOTg1NzEgMTEuODM0MyAxMC4yODU3IDEwLjk0MjkgMTAuMjg1NyAxMFY1LjcxNDI5SDEzLjcxNDNaTTE2LjI4NTcgNEg3LjcxNDI5QzcuMjQyODYgNCA2Ljg1NzE0IDQuMzg1NzEgNi44NTcxNCA0Ljg1NzE0QzYuODU3MTQgNS4zMjg1NyA3LjI0Mjg2IDUuNzE0MjkgNy43MTQyOSA1LjcxNDI5SDguNTcxNDNWMTBDOC41NzE0MyAxMS40MjI5IDcuNDIyODYgMTIuNTcxNCA2IDEyLjU3MTRWMTQuMjg1N0gxMS4xMTcxVjIwLjI4NTdMMTEuOTc0MyAyMS4xNDI5TDEyLjgzMTQgMjAuMjg1N1YxNC4yODU3SDE4VjEyLjU3MTRDMTYuNTc3MSAxMi41NzE0IDE1LjQyODYgMTEuNDIyOSAxNS40Mjg2IDEwVjUuNzE0MjlIMTYuMjg1N0MxNi43NTcxIDUuNzE0MjkgMTcuMTQyOSA1LjMyODU3IDE3LjE0MjkgNC44NTcxNEMxNy4xNDI5IDQuMzg1NzEgMTYuNzU3MSA0IDE2LjI4NTcgNFpcIlxuICAgICAgICBmaWxsPVwiYmxhY2tcIlxuICAgICAgLz5cbiAgICA8L2c+XG4gICAgPGRlZnM+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMjU2Ml8xNTk0OFwiPlxuICAgICAgICA8cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwid2hpdGVcIiAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICA8L2RlZnM+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZUljb25GaXhlZD5cbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XG4gICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMjU2Ml8xNzQ4NylcIj5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTYuMjg1NyA0SDcuNzE0MjlDNy4yNDI4NiA0IDYuODU3MTQgNC4zODU3MSA2Ljg1NzE0IDQuODU3MTRDNi44NTcxNCA1LjMyODU3IDcuMjQyODYgNS43MTQyOSA3LjcxNDI5IDUuNzE0MjlIOC41NzE0M1YxMEM4LjU3MTQzIDExLjQyMjkgNy40MjI4NiAxMi41NzE0IDYgMTIuNTcxNFYxNC4yODU3SDExLjExNzFWMjAuMjg1N0wxMS45NzQzIDIxLjE0MjlMMTIuODMxNCAyMC4yODU3VjE0LjI4NTdIMThWMTIuNTcxNEMxNi41NzcxIDEyLjU3MTQgMTUuNDI4NiAxMS40MjI5IDE1LjQyODYgMTBWNS43MTQyOUgxNi4yODU3QzE2Ljc1NzEgNS43MTQyOSAxNy4xNDI5IDUuMzI4NTcgMTcuMTQyOSA0Ljg1NzE0QzE3LjE0MjkgNC4zODU3MSAxNi43NTcxIDQgMTYuMjg1NyA0WlwiXG4gICAgICAgIGZpbGw9XCIjQjRCNEMwXCJcbiAgICAgIC8+XG4gICAgPC9nPlxuICAgIDxkZWZzPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTI1NjJfMTc0ODdcIj5cbiAgICAgICAgPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cImJsYWNrXCIgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgPC9kZWZzPlxuICA8L3N2Zz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=