@datarailsshared/datarailsshared 1.6.135 → 1.6.137
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/datarailsshared-datarailsshared-1.6.137.tgz +0 -0
- package/esm2022/lib/filter-dropdown/filter-dropdown.component.mjs +131 -113
- package/fesm2022/datarailsshared-datarailsshared.mjs +130 -112
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/filter-dropdown/filter-dropdown.component.d.ts +2 -1
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.6.135.tgz +0 -0
|
Binary file
|
|
@@ -26,40 +26,40 @@ function FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_1_ng
|
|
|
26
26
|
const _c2 = function (a0) { return { $implicit: a0 }; };
|
|
27
27
|
function FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
28
28
|
i0.ɵɵelementContainerStart(0);
|
|
29
|
-
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_1_ng_container_1_Template, 2, 0, "ng-container",
|
|
30
|
-
i0.ɵɵelementContainer(2,
|
|
29
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_1_ng_container_1_Template, 2, 0, "ng-container", 9);
|
|
30
|
+
i0.ɵɵelementContainer(2, 10);
|
|
31
31
|
i0.ɵɵelementContainerEnd();
|
|
32
32
|
} if (rf & 2) {
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
33
|
+
const item_r14 = ctx.$implicit;
|
|
34
|
+
const i_r15 = ctx.index;
|
|
35
|
+
const ctx_r12 = i0.ɵɵnextContext(3);
|
|
36
|
+
const _r7 = i0.ɵɵreference(11);
|
|
37
37
|
i0.ɵɵadvance(1);
|
|
38
|
-
i0.ɵɵproperty("ngIf",
|
|
38
|
+
i0.ɵɵproperty("ngIf", i_r15);
|
|
39
39
|
i0.ɵɵadvance(1);
|
|
40
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
40
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r12.labelItemTemplate || _r7)("ngTemplateOutletContext", i0.ɵɵpureFunction1(3, _c2, item_r14));
|
|
41
41
|
} }
|
|
42
42
|
function FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
43
43
|
i0.ɵɵelementContainerStart(0);
|
|
44
44
|
i0.ɵɵtext(1);
|
|
45
45
|
i0.ɵɵelementContainerEnd();
|
|
46
46
|
} if (rf & 2) {
|
|
47
|
-
const
|
|
47
|
+
const ctx_r13 = i0.ɵɵnextContext(3);
|
|
48
48
|
i0.ɵɵadvance(1);
|
|
49
|
-
i0.ɵɵtextInterpolate1(" + ",
|
|
49
|
+
i0.ɵɵtextInterpolate1(" + ", ctx_r13.selectedArr.length - ctx_r13.showInLabelLimit, "");
|
|
50
50
|
} }
|
|
51
51
|
function FilterDropdownComponent_ng_container_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
52
52
|
i0.ɵɵelementContainerStart(0);
|
|
53
|
-
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_1_Template, 3, 5, "ng-container",
|
|
53
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_1_Template, 3, 5, "ng-container", 8);
|
|
54
54
|
i0.ɵɵpipe(2, "slice");
|
|
55
|
-
i0.ɵɵtemplate(3, FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_3_Template, 2, 1, "ng-container",
|
|
55
|
+
i0.ɵɵtemplate(3, FilterDropdownComponent_ng_container_3_ng_container_1_ng_container_3_Template, 2, 1, "ng-container", 9);
|
|
56
56
|
i0.ɵɵelementContainerEnd();
|
|
57
57
|
} if (rf & 2) {
|
|
58
|
-
const
|
|
58
|
+
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
59
59
|
i0.ɵɵadvance(1);
|
|
60
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind3(2, 2,
|
|
60
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind3(2, 2, ctx_r11.selectedArr, 0, ctx_r11.showInLabelLimit));
|
|
61
61
|
i0.ɵɵadvance(2);
|
|
62
|
-
i0.ɵɵproperty("ngIf",
|
|
62
|
+
i0.ɵɵproperty("ngIf", ctx_r11.selectedArr.length > ctx_r11.showInLabelLimit);
|
|
63
63
|
} }
|
|
64
64
|
function FilterDropdownComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
65
65
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -74,158 +74,172 @@ function FilterDropdownComponent_ng_container_3_Template(rf, ctx) { if (rf & 1)
|
|
|
74
74
|
function FilterDropdownComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
75
75
|
i0.ɵɵtext(0, "Many");
|
|
76
76
|
} }
|
|
77
|
+
function FilterDropdownComponent_ng_template_6_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
+
i0.ɵɵelementContainerStart(0);
|
|
79
|
+
i0.ɵɵelementStart(1, "span", 11);
|
|
80
|
+
i0.ɵɵtext(2, "None");
|
|
81
|
+
i0.ɵɵelementEnd();
|
|
82
|
+
i0.ɵɵelementContainerEnd();
|
|
83
|
+
} }
|
|
77
84
|
function FilterDropdownComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
-
i0.ɵɵ
|
|
85
|
+
i0.ɵɵtemplate(0, FilterDropdownComponent_ng_template_6_ng_container_0_Template, 3, 0, "ng-container", 2);
|
|
86
|
+
} if (rf & 2) {
|
|
87
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
88
|
+
const _r5 = i0.ɵɵreference(9);
|
|
89
|
+
i0.ɵɵproperty("ngIf", ctx_r4.useNoneTemplate && !ctx_r4.isSelectedAll)("ngIfElse", _r5);
|
|
90
|
+
} }
|
|
91
|
+
function FilterDropdownComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
+
i0.ɵɵelementStart(0, "span", 11);
|
|
79
93
|
i0.ɵɵtext(1, "All");
|
|
80
94
|
i0.ɵɵelementEnd();
|
|
81
95
|
} }
|
|
82
|
-
function
|
|
96
|
+
function FilterDropdownComponent_ng_template_10_Template(rf, ctx) { if (rf & 1) {
|
|
83
97
|
i0.ɵɵtext(0);
|
|
84
98
|
} if (rf & 2) {
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
i0.ɵɵtextInterpolate(
|
|
99
|
+
const item_r18 = ctx.$implicit;
|
|
100
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
101
|
+
i0.ɵɵtextInterpolate(ctx_r8._item(item_r18));
|
|
88
102
|
} }
|
|
89
|
-
function
|
|
90
|
-
const
|
|
91
|
-
i0.ɵɵelementStart(0, "div",
|
|
92
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
103
|
+
function FilterDropdownComponent_ng_template_12_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
104
|
+
const _r30 = i0.ɵɵgetCurrentView();
|
|
105
|
+
i0.ɵɵelementStart(0, "div", 21)(1, "dr-input", 22, 23);
|
|
106
|
+
i0.ɵɵlistener("ngModelChange", function FilterDropdownComponent_ng_template_12_div_0_div_1_Template_dr_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r29.search = $event); });
|
|
93
107
|
i0.ɵɵelementEnd()();
|
|
94
108
|
} if (rf & 2) {
|
|
95
|
-
const
|
|
109
|
+
const ctx_r22 = i0.ɵɵnextContext(3);
|
|
96
110
|
i0.ɵɵadvance(1);
|
|
97
|
-
i0.ɵɵclassProp("with-value",
|
|
98
|
-
i0.ɵɵproperty("clearable", true)("ngModel",
|
|
111
|
+
i0.ɵɵclassProp("with-value", ctx_r22.search);
|
|
112
|
+
i0.ɵɵproperty("clearable", true)("ngModel", ctx_r22.search);
|
|
99
113
|
} }
|
|
100
|
-
function
|
|
101
|
-
const
|
|
102
|
-
i0.ɵɵelementStart(0, "a",
|
|
103
|
-
i0.ɵɵlistener("click", function
|
|
114
|
+
function FilterDropdownComponent_ng_template_12_div_0_a_5_Template(rf, ctx) { if (rf & 1) {
|
|
115
|
+
const _r32 = i0.ɵɵgetCurrentView();
|
|
116
|
+
i0.ɵɵelementStart(0, "a", 24);
|
|
117
|
+
i0.ɵɵlistener("click", function FilterDropdownComponent_ng_template_12_div_0_a_5_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r31.onSelectAll()); });
|
|
104
118
|
i0.ɵɵtext(1);
|
|
105
119
|
i0.ɵɵelementEnd();
|
|
106
120
|
} if (rf & 2) {
|
|
107
|
-
const
|
|
121
|
+
const ctx_r23 = i0.ɵɵnextContext(3);
|
|
108
122
|
i0.ɵɵadvance(1);
|
|
109
|
-
i0.ɵɵtextInterpolate(
|
|
123
|
+
i0.ɵɵtextInterpolate(ctx_r23.isSelectedAll ? "Select none" : "Select all");
|
|
110
124
|
} }
|
|
111
|
-
function
|
|
112
|
-
i0.ɵɵelement(0, "dr-checkbox",
|
|
125
|
+
function FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_dr_dropdown_item_1_dr_checkbox_3_Template(rf, ctx) { if (rf & 1) {
|
|
126
|
+
i0.ɵɵelement(0, "dr-checkbox", 32);
|
|
113
127
|
} if (rf & 2) {
|
|
114
|
-
const
|
|
115
|
-
const
|
|
116
|
-
i0.ɵɵproperty("checkedStatus",
|
|
128
|
+
const item_r34 = i0.ɵɵnextContext().$implicit;
|
|
129
|
+
const _r35 = i0.ɵɵreference(1);
|
|
130
|
+
i0.ɵɵproperty("checkedStatus", _r35.selected)("disabled", item_r34.disabled);
|
|
117
131
|
} }
|
|
118
|
-
function
|
|
119
|
-
i0.ɵɵelementStart(0, "span",
|
|
132
|
+
function FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_dr_dropdown_item_1_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
133
|
+
i0.ɵɵelementStart(0, "span", 33);
|
|
120
134
|
i0.ɵɵtext(1);
|
|
121
135
|
i0.ɵɵelementEnd();
|
|
122
136
|
} if (rf & 2) {
|
|
123
|
-
const
|
|
124
|
-
const
|
|
137
|
+
const item_r34 = i0.ɵɵnextContext().$implicit;
|
|
138
|
+
const ctx_r38 = i0.ɵɵnextContext(4);
|
|
125
139
|
i0.ɵɵadvance(1);
|
|
126
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
140
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r38._item(item_r34), " ");
|
|
127
141
|
} }
|
|
128
|
-
function
|
|
129
|
-
const
|
|
130
|
-
i0.ɵɵelementStart(0, "dr-dropdown-item",
|
|
131
|
-
i0.ɵɵlistener("keyup.enter", function
|
|
132
|
-
i0.ɵɵelementContainerStart(2,
|
|
133
|
-
i0.ɵɵtemplate(3,
|
|
134
|
-
i0.ɵɵelementContainerStart(4,
|
|
135
|
-
i0.ɵɵelementContainer(5,
|
|
142
|
+
function FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_dr_dropdown_item_1_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
+
const _r42 = i0.ɵɵgetCurrentView();
|
|
144
|
+
i0.ɵɵelementStart(0, "dr-dropdown-item", 27, 28);
|
|
145
|
+
i0.ɵɵlistener("keyup.enter", function FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_dr_dropdown_item_1_Template_dr_dropdown_item_keyup_enter_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r42); const item_r34 = restoredCtx.$implicit; const _r35 = i0.ɵɵreference(1); const ctx_r41 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(!_r35.selected && ctx_r41.selectedChange.emit(item_r34)); })("click", function FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_dr_dropdown_item_1_Template_dr_dropdown_item_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r42); const item_r34 = restoredCtx.$implicit; const _r35 = i0.ɵɵreference(1); const close_r19 = i0.ɵɵnextContext(3).closePopover; const ctx_r43 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!_r35.disabled && ctx_r43.onSelectedItemChanged(item_r34, _r35.selected, close_r19)); });
|
|
146
|
+
i0.ɵɵelementContainerStart(2, 29);
|
|
147
|
+
i0.ɵɵtemplate(3, FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_dr_dropdown_item_1_dr_checkbox_3_Template, 1, 2, "dr-checkbox", 30);
|
|
148
|
+
i0.ɵɵelementContainerStart(4, 29);
|
|
149
|
+
i0.ɵɵelementContainer(5, 10);
|
|
136
150
|
i0.ɵɵelementContainerEnd();
|
|
137
|
-
i0.ɵɵtemplate(6,
|
|
151
|
+
i0.ɵɵtemplate(6, FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_dr_dropdown_item_1_ng_template_6_Template, 2, 1, "ng-template", null, 31, i0.ɵɵtemplateRefExtractor);
|
|
138
152
|
i0.ɵɵelementContainerEnd();
|
|
139
153
|
i0.ɵɵelementEnd();
|
|
140
154
|
} if (rf & 2) {
|
|
141
|
-
const
|
|
142
|
-
const
|
|
143
|
-
const
|
|
144
|
-
i0.ɵɵproperty("selected",
|
|
155
|
+
const item_r34 = ctx.$implicit;
|
|
156
|
+
const _r37 = i0.ɵɵreference(7);
|
|
157
|
+
const ctx_r33 = i0.ɵɵnextContext(4);
|
|
158
|
+
i0.ɵɵproperty("selected", ctx_r33.isSelected(item_r34))("disabled", item_r34.disabled);
|
|
145
159
|
i0.ɵɵadvance(3);
|
|
146
|
-
i0.ɵɵproperty("ngIf",
|
|
160
|
+
i0.ɵɵproperty("ngIf", ctx_r33.multiple);
|
|
147
161
|
i0.ɵɵadvance(2);
|
|
148
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
162
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r33.dropdownItemTemplate || _r37)("ngTemplateOutletContext", i0.ɵɵpureFunction1(5, _c2, item_r34));
|
|
149
163
|
} }
|
|
150
|
-
function
|
|
151
|
-
i0.ɵɵelementStart(0, "dr-dropdown",
|
|
152
|
-
i0.ɵɵtemplate(1,
|
|
164
|
+
function FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_Template(rf, ctx) { if (rf & 1) {
|
|
165
|
+
i0.ɵɵelementStart(0, "dr-dropdown", 25);
|
|
166
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_dr_dropdown_item_1_Template, 8, 7, "dr-dropdown-item", 26);
|
|
153
167
|
i0.ɵɵelementEnd();
|
|
154
168
|
} if (rf & 2) {
|
|
155
|
-
const
|
|
156
|
-
const
|
|
169
|
+
const filteredItems_r21 = i0.ɵɵnextContext().ngLet;
|
|
170
|
+
const ctx_r24 = i0.ɵɵnextContext(2);
|
|
157
171
|
i0.ɵɵadvance(1);
|
|
158
|
-
i0.ɵɵproperty("ngForOf",
|
|
172
|
+
i0.ɵɵproperty("ngForOf", filteredItems_r21)("ngForTrackBy", ctx_r24.trackByFn);
|
|
159
173
|
} }
|
|
160
|
-
function
|
|
161
|
-
i0.ɵɵelementStart(0, "div",
|
|
174
|
+
function FilterDropdownComponent_ng_template_12_div_0_ng_template_7_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
175
|
+
i0.ɵɵelementStart(0, "div", 35);
|
|
162
176
|
i0.ɵɵtext(1);
|
|
163
177
|
i0.ɵɵelementEnd();
|
|
164
178
|
} if (rf & 2) {
|
|
165
|
-
const
|
|
179
|
+
const ctx_r46 = i0.ɵɵnextContext(4);
|
|
166
180
|
i0.ɵɵadvance(1);
|
|
167
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
181
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r46.noItemsPlaceholder, " ");
|
|
168
182
|
} }
|
|
169
|
-
function
|
|
170
|
-
i0.ɵɵtemplate(0,
|
|
183
|
+
function FilterDropdownComponent_ng_template_12_div_0_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
184
|
+
i0.ɵɵtemplate(0, FilterDropdownComponent_ng_template_12_div_0_ng_template_7_div_0_Template, 2, 1, "div", 34);
|
|
171
185
|
} if (rf & 2) {
|
|
172
|
-
const
|
|
173
|
-
i0.ɵɵproperty("ngIf",
|
|
186
|
+
const ctx_r26 = i0.ɵɵnextContext(3);
|
|
187
|
+
i0.ɵɵproperty("ngIf", ctx_r26.noItemsPlaceholder);
|
|
174
188
|
} }
|
|
175
|
-
function
|
|
176
|
-
const
|
|
177
|
-
i0.ɵɵelementStart(0, "dr-button",
|
|
178
|
-
i0.ɵɵlistener("click", function
|
|
189
|
+
function FilterDropdownComponent_ng_template_12_div_0_div_9_dr_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
190
|
+
const _r50 = i0.ɵɵgetCurrentView();
|
|
191
|
+
i0.ɵɵelementStart(0, "dr-button", 39);
|
|
192
|
+
i0.ɵɵlistener("click", function FilterDropdownComponent_ng_template_12_div_0_div_9_dr_button_1_Template_dr_button_click_0_listener() { i0.ɵɵrestoreView(_r50); const close_r19 = i0.ɵɵnextContext(3).closePopover; const ctx_r48 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r48.onClear(close_r19)); });
|
|
179
193
|
i0.ɵɵtext(1, " Clear ");
|
|
180
194
|
i0.ɵɵelementEnd();
|
|
181
195
|
} }
|
|
182
|
-
function
|
|
183
|
-
const
|
|
184
|
-
i0.ɵɵelementStart(0, "div",
|
|
185
|
-
i0.ɵɵtemplate(1,
|
|
186
|
-
i0.ɵɵelementStart(2, "dr-button",
|
|
187
|
-
i0.ɵɵlistener("click", function
|
|
196
|
+
function FilterDropdownComponent_ng_template_12_div_0_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
197
|
+
const _r53 = i0.ɵɵgetCurrentView();
|
|
198
|
+
i0.ɵɵelementStart(0, "div", 36);
|
|
199
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_template_12_div_0_div_9_dr_button_1_Template, 2, 0, "dr-button", 37);
|
|
200
|
+
i0.ɵɵelementStart(2, "dr-button", 38);
|
|
201
|
+
i0.ɵɵlistener("click", function FilterDropdownComponent_ng_template_12_div_0_div_9_Template_dr_button_click_2_listener() { i0.ɵɵrestoreView(_r53); const close_r19 = i0.ɵɵnextContext(2).closePopover; const ctx_r51 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r51.onApply(close_r19)); });
|
|
188
202
|
i0.ɵɵtext(3, "Apply");
|
|
189
203
|
i0.ɵɵelementEnd()();
|
|
190
204
|
} if (rf & 2) {
|
|
191
|
-
const
|
|
205
|
+
const ctx_r27 = i0.ɵɵnextContext(3);
|
|
192
206
|
i0.ɵɵadvance(1);
|
|
193
|
-
i0.ɵɵproperty("ngIf",
|
|
207
|
+
i0.ɵɵproperty("ngIf", ctx_r27.clearable && ctx_r27.hasSelection);
|
|
194
208
|
} }
|
|
195
|
-
function
|
|
196
|
-
i0.ɵɵelementStart(0, "div",
|
|
197
|
-
i0.ɵɵtemplate(1,
|
|
198
|
-
i0.ɵɵelementStart(2, "div",
|
|
209
|
+
function FilterDropdownComponent_ng_template_12_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
210
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
211
|
+
i0.ɵɵtemplate(1, FilterDropdownComponent_ng_template_12_div_0_div_1_Template, 3, 4, "div", 14);
|
|
212
|
+
i0.ɵɵelementStart(2, "div", 15)(3, "div", 16);
|
|
199
213
|
i0.ɵɵtext(4);
|
|
200
214
|
i0.ɵɵelementEnd();
|
|
201
|
-
i0.ɵɵtemplate(5,
|
|
215
|
+
i0.ɵɵtemplate(5, FilterDropdownComponent_ng_template_12_div_0_a_5_Template, 2, 1, "a", 17);
|
|
202
216
|
i0.ɵɵelementEnd();
|
|
203
|
-
i0.ɵɵtemplate(6,
|
|
204
|
-
i0.ɵɵtemplate(7,
|
|
205
|
-
i0.ɵɵtemplate(9,
|
|
217
|
+
i0.ɵɵtemplate(6, FilterDropdownComponent_ng_template_12_div_0_dr_dropdown_6_Template, 2, 2, "dr-dropdown", 18);
|
|
218
|
+
i0.ɵɵtemplate(7, FilterDropdownComponent_ng_template_12_div_0_ng_template_7_Template, 1, 1, "ng-template", null, 19, i0.ɵɵtemplateRefExtractor);
|
|
219
|
+
i0.ɵɵtemplate(9, FilterDropdownComponent_ng_template_12_div_0_div_9_Template, 4, 1, "div", 20);
|
|
206
220
|
i0.ɵɵelementEnd();
|
|
207
221
|
} if (rf & 2) {
|
|
208
|
-
const
|
|
209
|
-
const
|
|
210
|
-
const
|
|
211
|
-
i0.ɵɵproperty("ngClass",
|
|
222
|
+
const filteredItems_r21 = ctx.ngLet;
|
|
223
|
+
const _r25 = i0.ɵɵreference(8);
|
|
224
|
+
const ctx_r20 = i0.ɵɵnextContext(2);
|
|
225
|
+
i0.ɵɵproperty("ngClass", ctx_r20.dropdownClass);
|
|
212
226
|
i0.ɵɵadvance(1);
|
|
213
|
-
i0.ɵɵproperty("ngIf",
|
|
227
|
+
i0.ɵɵproperty("ngIf", ctx_r20.showSearch);
|
|
214
228
|
i0.ɵɵadvance(3);
|
|
215
|
-
i0.ɵɵtextInterpolate1("Filter by ",
|
|
229
|
+
i0.ɵɵtextInterpolate1("Filter by ", ctx_r20.label, "");
|
|
216
230
|
i0.ɵɵadvance(1);
|
|
217
|
-
i0.ɵɵproperty("ngIf",
|
|
231
|
+
i0.ɵɵproperty("ngIf", ctx_r20.showSelectAll);
|
|
218
232
|
i0.ɵɵadvance(1);
|
|
219
|
-
i0.ɵɵproperty("ngIf",
|
|
233
|
+
i0.ɵɵproperty("ngIf", filteredItems_r21.length)("ngIfElse", _r25);
|
|
220
234
|
i0.ɵɵadvance(3);
|
|
221
|
-
i0.ɵɵproperty("ngIf",
|
|
235
|
+
i0.ɵɵproperty("ngIf", ctx_r20.multiple);
|
|
222
236
|
} }
|
|
223
|
-
function
|
|
224
|
-
i0.ɵɵtemplate(0,
|
|
237
|
+
function FilterDropdownComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) {
|
|
238
|
+
i0.ɵɵtemplate(0, FilterDropdownComponent_ng_template_12_div_0_Template, 10, 7, "div", 12);
|
|
225
239
|
i0.ɵɵpipe(1, "search");
|
|
226
240
|
} if (rf & 2) {
|
|
227
|
-
const
|
|
228
|
-
i0.ɵɵproperty("ngLet", i0.ɵɵpipeBind3(1, 1,
|
|
241
|
+
const ctx_r10 = i0.ɵɵnextContext();
|
|
242
|
+
i0.ɵɵproperty("ngLet", i0.ɵɵpipeBind3(1, 1, ctx_r10.items, ctx_r10.search, ctx_r10.searchBy));
|
|
229
243
|
} }
|
|
230
244
|
export class FilterDropdownComponent {
|
|
231
245
|
constructor() {
|
|
@@ -244,6 +258,7 @@ export class FilterDropdownComponent {
|
|
|
244
258
|
this.showSearchLimit = 10;
|
|
245
259
|
this.showManyLimit = 12;
|
|
246
260
|
this.showInLabelLimit = 3;
|
|
261
|
+
this.useNoneTemplate = false;
|
|
247
262
|
this._selected = null;
|
|
248
263
|
this._selectedOriginal = null;
|
|
249
264
|
this.search = '';
|
|
@@ -330,7 +345,7 @@ export class FilterDropdownComponent {
|
|
|
330
345
|
let _t;
|
|
331
346
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dropdownItemTemplate = _t.first);
|
|
332
347
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.labelItemTemplate = _t.first);
|
|
333
|
-
} }, inputs: { disabled: ["disabled", "disabled", booleanAttribute], items: "items", label: "label", selectedUser: "selectedUser", users: "users", noItemsPlaceholder: "noItemsPlaceholder", dropdownClass: "dropdownClass", dropdownPosition: "dropdownPosition", bindValue: "bindValue", displayValue: "displayValue", searchBy: "searchBy", multiple: ["multiple", "multiple", booleanAttribute], clearable: ["clearable", "clearable", booleanAttribute], trackBy: "trackBy", showSearchLimit: "showSearchLimit", showManyLimit: "showManyLimit", showInLabelLimit: "showInLabelLimit", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, standalone: true, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵStandaloneFeature], decls:
|
|
348
|
+
} }, inputs: { disabled: ["disabled", "disabled", booleanAttribute], items: "items", label: "label", selectedUser: "selectedUser", users: "users", noItemsPlaceholder: "noItemsPlaceholder", dropdownClass: "dropdownClass", dropdownPosition: "dropdownPosition", bindValue: "bindValue", displayValue: "displayValue", searchBy: "searchBy", multiple: ["multiple", "multiple", booleanAttribute], clearable: ["clearable", "clearable", booleanAttribute], trackBy: "trackBy", showSearchLimit: "showSearchLimit", showManyLimit: "showManyLimit", showInLabelLimit: "showInLabelLimit", selected: "selected", useNoneTemplate: "useNoneTemplate" }, outputs: { selectedChange: "selectedChange" }, standalone: true, features: [i0.ɵɵInputTransformsFeature, i0.ɵɵStandaloneFeature], decls: 14, vars: 7, consts: [["theme", "dropdown", "iconAfter", "dr-icon-arrow-down", "iconAfterSize", "18", 3, "drPopover", "isActive", "disabled", "drPopoverPosition", "drPopoverClose", "click"], [1, "filter-value"], [4, "ngIf", "ngIfElse"], ["manyTemplate", ""], ["noSelection", ""], ["allTemplate", ""], ["defaultLabelTemplate", ""], ["popover", ""], [4, "ngFor", "ngForOf"], [4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "filter-value-all"], ["class", "dropdown__wrapper", "tabindex", "0", 3, "ngClass", 4, "ngLet"], ["tabindex", "0", 1, "dropdown__wrapper", 3, "ngClass"], ["class", "dropdown__search", 4, "ngIf"], [1, "dropdown__header"], [1, "dropdown__header-title"], ["href", "javascript: void(0)", "class", "dropdown__header-select-all", 3, "click", 4, "ngIf"], ["class", "dr-filter-list", "tabindex", "0", 4, "ngIf", "ngIfElse"], ["noDataPlaceholder", ""], ["class", "dropdown__actions", 4, "ngIf"], [1, "dropdown__search"], ["data-analytics", "filter-dropdown_input-0", "drAutofocus", "", "type", "search", "tabindex", "0", "placeholder", "Search", 3, "clearable", "ngModel", "ngModelChange"], ["searchRef", ""], ["href", "javascript: void(0)", 1, "dropdown__header-select-all", 3, "click"], ["tabindex", "0", 1, "dr-filter-list"], ["class", "dr-filter-list__item", "tabindex", "0", 3, "selected", "disabled", "keyup.enter", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["tabindex", "0", 1, "dr-filter-list__item", 3, "selected", "disabled", "keyup.enter", "click"], ["itemRef", ""], ["dropdownItemContent", ""], ["data-analytics", "filter-dropdown_checkbox-0", "class", "dr-filter-list__item-checkbox", 3, "checkedStatus", "disabled", 4, "ngIf"], ["defaultDropdownItemTemplate", ""], ["data-analytics", "filter-dropdown_checkbox-0", 1, "dr-filter-list__item-checkbox", 3, "checkedStatus", "disabled"], [1, "text-ellipsis"], ["class", "dropdown__no-result", 4, "ngIf"], [1, "dropdown__no-result"], [1, "dropdown__actions"], ["theme", "secondary", "data-analytics", "filter-dropdown_button-1", "class", "dropdown__clear", 3, "click", 4, "ngIf"], ["data-analytics", "filter-dropdown_button-0", 3, "click"], ["theme", "secondary", "data-analytics", "filter-dropdown_button-1", 1, "dropdown__clear", 3, "click"]], template: function FilterDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
334
349
|
i0.ɵɵelementStart(0, "dr-button", 0);
|
|
335
350
|
i0.ɵɵlistener("drPopoverClose", function FilterDropdownComponent_Template_dr_button_drPopoverClose_0_listener() { return ctx.onPopoverClose(); })("click", function FilterDropdownComponent_Template_dr_button_click_0_listener($event) { return $event.stopPropagation(); });
|
|
336
351
|
i0.ɵɵtext(1);
|
|
@@ -338,14 +353,15 @@ export class FilterDropdownComponent {
|
|
|
338
353
|
i0.ɵɵtemplate(3, FilterDropdownComponent_ng_container_3_Template, 2, 2, "ng-container", 2);
|
|
339
354
|
i0.ɵɵelementEnd();
|
|
340
355
|
i0.ɵɵtemplate(4, FilterDropdownComponent_ng_template_4_Template, 1, 0, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
|
|
341
|
-
i0.ɵɵtemplate(6, FilterDropdownComponent_ng_template_6_Template,
|
|
342
|
-
i0.ɵɵtemplate(8, FilterDropdownComponent_ng_template_8_Template,
|
|
356
|
+
i0.ɵɵtemplate(6, FilterDropdownComponent_ng_template_6_Template, 1, 2, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
|
|
357
|
+
i0.ɵɵtemplate(8, FilterDropdownComponent_ng_template_8_Template, 2, 0, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor);
|
|
358
|
+
i0.ɵɵtemplate(10, FilterDropdownComponent_ng_template_10_Template, 1, 1, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
|
|
343
359
|
i0.ɵɵelementEnd();
|
|
344
|
-
i0.ɵɵtemplate(
|
|
360
|
+
i0.ɵɵtemplate(12, FilterDropdownComponent_ng_template_12_Template, 2, 5, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor);
|
|
345
361
|
} if (rf & 2) {
|
|
346
362
|
const _r3 = i0.ɵɵreference(7);
|
|
347
|
-
const
|
|
348
|
-
i0.ɵɵproperty("drPopover",
|
|
363
|
+
const _r9 = i0.ɵɵreference(13);
|
|
364
|
+
i0.ɵɵproperty("drPopover", _r9)("isActive", ctx.hasSelection)("disabled", ctx.disabled)("drPopoverPosition", ctx.dropdownPosition);
|
|
349
365
|
i0.ɵɵadvance(1);
|
|
350
366
|
i0.ɵɵtextInterpolate1(" ", ctx.label, ": ");
|
|
351
367
|
i0.ɵɵadvance(2);
|
|
@@ -366,7 +382,7 @@ export class FilterDropdownComponent {
|
|
|
366
382
|
LetDirective,
|
|
367
383
|
AutofocusDirective,
|
|
368
384
|
DrButtonComponent,
|
|
369
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dr-button\n theme=\"dropdown\"\n iconAfter=\"dr-icon-arrow-down\"\n iconAfterSize=\"18\"\n [drPopover]=\"popover\"\n (drPopoverClose)=\"onPopoverClose()\"\n (click)=\"$event.stopPropagation()\"\n [isActive]=\"hasSelection\"\n [disabled]=\"disabled\"\n [drPopoverPosition]=\"dropdownPosition\">\n {{ label }}:\n\n <span class=\"filter-value\">\n <ng-container *ngIf=\"hasSelection; else
|
|
385
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dr-button\n theme=\"dropdown\"\n iconAfter=\"dr-icon-arrow-down\"\n iconAfterSize=\"18\"\n [drPopover]=\"popover\"\n (drPopoverClose)=\"onPopoverClose()\"\n (click)=\"$event.stopPropagation()\"\n [isActive]=\"hasSelection\"\n [disabled]=\"disabled\"\n [drPopoverPosition]=\"dropdownPosition\">\n {{ label }}:\n\n <span class=\"filter-value\">\n <ng-container *ngIf=\"hasSelection; else noSelection\">\n <ng-container *ngIf=\"selectedArr.length <= showManyLimit; else manyTemplate\">\n <ng-container *ngFor=\"let item of selectedArr | slice: 0 : showInLabelLimit; let i = index\">\n <ng-container *ngIf=\"i\">,</ng-container>\n <ng-container\n [ngTemplateOutlet]=\"labelItemTemplate || defaultLabelTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"selectedArr.length > showInLabelLimit\">\n + {{ selectedArr.length - showInLabelLimit }}</ng-container\n >\n </ng-container>\n </ng-container>\n </span>\n <ng-template #manyTemplate>Many</ng-template>\n <ng-template #noSelection>\n <ng-container *ngIf=\"useNoneTemplate && !isSelectedAll; else allTemplate\">\n <span class=\"filter-value-all\">None</span>\n </ng-container>\n </ng-template>\n <ng-template #allTemplate><span class=\"filter-value-all\">All</span></ng-template>\n <ng-template #defaultLabelTemplate let-item>{{ _item(item) }}</ng-template>\n</dr-button>\n\n<ng-template #popover let-close=\"closePopover\">\n <div\n class=\"dropdown__wrapper\"\n [ngClass]=\"dropdownClass\"\n tabindex=\"0\"\n *ngLet=\"items | search: search : searchBy as filteredItems\">\n <div class=\"dropdown__search\" *ngIf=\"showSearch\">\n <dr-input\n data-analytics=\"filter-dropdown_input-0\"\n drAutofocus\n #searchRef\n [class.with-value]=\"search\"\n type=\"search\"\n tabindex=\"0\"\n placeholder=\"Search\"\n [clearable]=\"true\"\n [(ngModel)]=\"search\" />\n </div>\n\n <div class=\"dropdown__header\">\n <div class=\"dropdown__header-title\">Filter by {{ label }}</div>\n <a *ngIf=\"showSelectAll\" href=\"javascript: void(0)\" (click)=\"onSelectAll()\" class=\"dropdown__header-select-all\">{{\n isSelectedAll ? 'Select none' : 'Select all'\n }}</a>\n </div>\n\n <dr-dropdown class=\"dr-filter-list\" *ngIf=\"filteredItems.length; else noDataPlaceholder\" tabindex=\"0\">\n <dr-dropdown-item\n *ngFor=\"let item of filteredItems; trackBy: trackByFn\"\n class=\"dr-filter-list__item\"\n [selected]=\"isSelected(item)\"\n [disabled]=\"item.disabled\"\n tabindex=\"0\"\n #itemRef\n (keyup.enter)=\"!itemRef.selected && selectedChange.emit(item)\"\n (click)=\"!itemRef.disabled && onSelectedItemChanged(item, itemRef.selected, close)\">\n <ng-container dropdownItemContent>\n <dr-checkbox\n data-analytics=\"filter-dropdown_checkbox-0\"\n *ngIf=\"multiple\"\n class=\"dr-filter-list__item-checkbox\"\n [checkedStatus]=\"itemRef.selected\"\n [disabled]=\"item.disabled\" />\n <ng-container dropdownItemContent>\n <ng-container\n [ngTemplateOutlet]=\"dropdownItemTemplate || defaultDropdownItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultDropdownItemTemplate>\n <span class=\"text-ellipsis\">\n {{ _item(item) }}\n </span>\n </ng-template>\n </ng-container>\n </dr-dropdown-item>\n </dr-dropdown>\n\n <ng-template #noDataPlaceholder>\n <div class=\"dropdown__no-result\" *ngIf=\"noItemsPlaceholder\">\n {{ noItemsPlaceholder }}\n </div>\n </ng-template>\n\n <div *ngIf=\"multiple\" class=\"dropdown__actions\">\n <dr-button\n *ngIf=\"clearable && hasSelection\"\n theme=\"secondary\"\n data-analytics=\"filter-dropdown_button-1\"\n class=\"dropdown__clear\"\n (click)=\"onClear(close)\">\n Clear\n </dr-button>\n <dr-button data-analytics=\"filter-dropdown_button-0\" (click)=\"onApply(close)\">Apply</dr-button>\n </div>\n </div>\n</ng-template>\n", styles: [".filter-value{font-weight:600}.filter-value-all{font-weight:400}.dropdown__wrapper{min-width:250px;padding:8px 0 0}.dropdown__wrapper::ng-deep .dr-dropdown__container{padding:0;max-height:none;overflow:visible}.dropdown__wrapper::ng-deep .dr-dropdown-item.item-disabled{cursor:not-allowed}.dropdown__wrapper .dr-filter-list{overflow:auto;display:block;max-height:180px}.dropdown__wrapper .dr-filter-list__item{margin-bottom:4px}.dropdown__wrapper .dr-filter-list__item::ng-deep .dr-dropdown-item{padding:4px 16px;height:auto}.dropdown__wrapper .dr-filter-list__item::ng-deep .dr-dropdown-item .text-ellipsis{text-overflow:ellipsis;overflow:hidden}.dropdown__wrapper .dr-filter-list__item-checkbox{margin-right:4px;pointer-events:none}.dropdown__wrapper .dr-filter-list__item-checkbox::ng-deep label input+span{margin:0}.dropdown__wrapper .dr-filter-list__item-checkbox::ng-deep label input+span:before{margin:3px}.dropdown__search{padding:4px 8px}.dropdown__header{display:flex;align-items:center;margin:2px 0;padding:4px 16px;font-size:12px;line-height:20px;white-space:nowrap}.dropdown__header-title{flex-grow:1;overflow:hidden;text-overflow:ellipsis;color:#6d6e6f;text-transform:uppercase}.dropdown__header-select-all{color:#4646ce;margin-left:8px}.dropdown__actions{gap:8px;padding:8px 16px;display:flex;justify-content:flex-end;border-top:1px solid #dbdee3}.dropdown__no-result{padding:4px 16px 16px}\n"] }]
|
|
370
386
|
}], null, { dropdownItemTemplate: [{
|
|
371
387
|
type: ContentChild,
|
|
372
388
|
args: ['dropdownItemTemplate', { read: TemplateRef }]
|
|
@@ -417,5 +433,7 @@ export class FilterDropdownComponent {
|
|
|
417
433
|
}], selected: [{
|
|
418
434
|
type: Input,
|
|
419
435
|
args: [{ required: true }]
|
|
436
|
+
}], useNoneTemplate: [{
|
|
437
|
+
type: Input
|
|
420
438
|
}] }); })();
|
|
421
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2ZpbHRlci1kcm9wZG93bi9maWx0ZXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZmlsdGVyLWRyb3Bkb3duL2ZpbHRlci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFjLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0RyQyw2QkFBd0I7SUFBQSxpQkFBQztJQUFBLDBCQUFlOzs7O0lBRDVDLDZCQUE0RjtJQUN4Rix1SUFBd0M7SUFDeEMsMkJBR2U7SUFDbkIsMEJBQWU7Ozs7OztJQUxJLGVBQU87SUFBUCw0QkFBTztJQUVs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V0FBVyxFQUFFO1lBSTNELGlCQUFpQjtrQkFEaEIsWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFJL0MsY0FBYztrQkFEdEIsTUFBTTtZQUlQLFFBQVE7a0JBRFAsS0FBSzttQkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQUl0QyxLQUFLO2tCQURKLEtBQUs7bUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBSXpCLEtBQUs7a0JBREosS0FBSzttQkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFHaEIsWUFBWTtrQkFBcEIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUdOLGtCQUFrQjtrQkFEakIsS0FBSztZQUlOLGFBQWE7a0JBRFosS0FBSztZQUlOLGdCQUFnQjtrQkFEZixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sWUFBWTtrQkFEWCxLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO21CQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBSXRDLFNBQVM7a0JBRFIsS0FBSzttQkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQUl0QyxPQUFPO2tCQUROLEtBQUs7WUFHRyxlQUFlO2tCQUF2QixLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUVHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUdGLFFBQVE7a0JBRFgsS0FBSzttQkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERySW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vZHItaW5wdXRzL2RyLWlucHV0cy5tb2R1bGUnO1xuaW1wb3J0IHsgRHJEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4uL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLm1vZHVsZSc7XG5pbXBvcnQgeyBEclBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi9kci1wb3BvdmVyL2RyLXBvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IERyQnV0dG9uQ29tcG9uZW50LCBFbFBvc2l0aW9uLCBMZXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzL2F1dG9mb2N1cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VhcmNoUGlwZSB9IGZyb20gJy4uL3BpcGVzL3NlYXJjaC9zZWFyY2gucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItZmlsdGVyLWRyb3Bkb3duJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBEclBvcG92ZXJNb2R1bGUsXG4gICAgICAgIERyRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIERySW5wdXRzTW9kdWxlLFxuICAgICAgICBTZWFyY2hQaXBlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTGV0RGlyZWN0aXZlLFxuICAgICAgICBBdXRvZm9jdXNEaXJlY3RpdmUsXG4gICAgICAgIERyQnV0dG9uQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckRyb3Bkb3duQ29tcG9uZW50PFQgPSBhbnk+IHtcbiAgICBAQ29udGVudENoaWxkKCdkcm9wZG93bkl0ZW1UZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBkcm9wZG93bkl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBUW10gfT47XG5cbiAgICBAQ29udGVudENoaWxkKCdsYWJlbEl0ZW1UZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBsYWJlbEl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBUIH0+O1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQgfCBUW10gfCBudWxsPigpO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgaXRlbXM6IFRbXSA9IFtdO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBsYWJlbCE6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHNlbGVjdGVkVXNlcjogVFtdIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgdXNlcnM6IFRbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBub0l0ZW1zUGxhY2Vob2xkZXIgPSAnTm8gaXRlbXMgZm91bmQnO1xuXG4gICAgQElucHV0KClcbiAgICBkcm9wZG93bkNsYXNzID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGRyb3Bkb3duUG9zaXRpb246IEVsUG9zaXRpb24gPSAnYm90dG9tLXJpZ2h0JztcblxuICAgIEBJbnB1dCgpXG4gICAgYmluZFZhbHVlIToga2V5b2YgVDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheVZhbHVlIToga2V5b2YgVDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2VhcmNoQnk6IChrZXlvZiBUKVtdID0gW107XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgY2xlYXJhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHRyYWNrQnk6IGtleW9mIFQgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpIHNob3dTZWFyY2hMaW1pdCA9IDEwO1xuXG4gICAgQElucHV0KCkgc2hvd01hbnlMaW1pdCA9IDEyO1xuXG4gICAgQElucHV0KCkgc2hvd0luTGFiZWxMaW1pdCA9IDM7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZTogVCB8IFRbXSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcmlnaW5hbCA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZCgpOiBUIHwgVFtdIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZDogVCB8IFRbXSB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRPcmlnaW5hbDogVCB8IFRbXSB8IG51bGwgPSBudWxsO1xuXG4gICAgc2VhcmNoID0gJyc7XG5cbiAgICBnZXQgc2hvd1NlYXJjaCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoID4gdGhpcy5zaG93U2VhcmNoTGltaXQ7XG4gICAgfVxuXG4gICAgZ2V0IHNob3dTZWxlY3RBbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm11bHRpcGxlICYmIHRoaXMuaXRlbXMubGVuZ3RoID4gdGhpcy5zaG93U2VhcmNoTGltaXQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2VsZWN0ZWRBbGwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm11bHRpcGxlICYmIHRoaXMuc2VsZWN0ZWQgJiYgKHRoaXMuc2VsZWN0ZWQgYXMgVFtdKS5sZW5ndGggPT09IHRoaXMuaXRlbXMubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZEFycigpOiBUW10ge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWQpIHJldHVybiBbXTtcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5zZWxlY3RlZCkgPyB0aGlzLnNlbGVjdGVkIDogW3RoaXMuc2VsZWN0ZWRdO1xuICAgIH1cblxuICAgIGdldCBoYXNTZWxlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQXJyLmxlbmd0aCA+IDAgJiYgdGhpcy5zZWxlY3RlZEFyci5sZW5ndGggPCB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICB9XG5cbiAgICBzbGljZUFycmF5KHNlbGVjdGVkOiBUW10pIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkLnNsaWNlKDAsIDMpO1xuICAgIH1cblxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBUKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYWNrQnkgPyBpdGVtW3RoaXMudHJhY2tCeV0gOiBpbmRleDtcbiAgICB9XG5cbiAgICBfaXRlbShpdGVtOiBUIHwgbnVsbCkge1xuICAgICAgICByZXR1cm4gaXRlbT8uW3RoaXMuYmluZFZhbHVlXSB8fCBpdGVtO1xuICAgIH1cblxuICAgIG9uU2VsZWN0ZWRJdGVtQ2hhbmdlZChpdGVtOiBULCBpc1NlbGVjdGVkOiBib29sZWFuLCBjbG9zZVBvcG92ZXI6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gaXNTZWxlY3RlZFxuICAgICAgICAgICAgICAgID8gWy4uLih0aGlzLnNlbGVjdGVkIGFzIFRbXSkuZmlsdGVyKChlbCkgPT4gdGhpcy5faXRlbShlbCkgIT09IHRoaXMuX2l0ZW0oaXRlbSkpXVxuICAgICAgICAgICAgICAgIDogWy4uLih0aGlzLnNlbGVjdGVkIGFzIFRbXSksIGl0ZW1dO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gaXRlbTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KGl0ZW0pO1xuICAgICAgICBjbG9zZVBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdEFsbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZEFsbCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gWy4uLnRoaXMuaXRlbXNdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNTZWxlY3RlZChpdGVtOiBUIHwgbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBsZVxuICAgICAgICAgICAgPyAodGhpcy5zZWxlY3RlZCBhcyBUW10pPy5zb21lKChlbCkgPT4gZWwgPT09IGl0ZW0gfHwgdGhpcy5faXRlbShlbCkgPT09IHRoaXMuX2l0ZW0oaXRlbSkpXG4gICAgICAgICAgICA6IHRoaXMuc2VsZWN0ZWQgPT09IGl0ZW0gfHwgdGhpcy5faXRlbSh0aGlzLnNlbGVjdGVkIGFzIFQpID09PSB0aGlzLl9pdGVtKGl0ZW0pO1xuICAgIH1cblxuICAgIG9uQXBwbHkoY2xvc2VQb3BvdmVyOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZCk7XG4gICAgICAgIGNsb3NlUG9wb3ZlcigpO1xuICAgIH1cblxuICAgIG9uQ2xlYXIoY2xvc2U6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBudWxsO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZE9yaWdpbmFsID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gW107XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZE9yaWdpbmFsID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuX3NlbGVjdGVkKTtcbiAgICAgICAgY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvblBvcG92ZXJDbG9zZSgpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3RlZE9yaWdpbmFsO1xuICAgIH1cbn1cbiIsIjxkci1idXR0b25cbiAgICB0aGVtZT1cImRyb3Bkb3duXCJcbiAgICBpY29uQWZ0ZXI9XCJkci1pY29uLWFycm93LWRvd25cIlxuICAgIGljb25BZnRlclNpemU9XCIxOFwiXG4gICAgW2RyUG9wb3Zlcl09XCJwb3BvdmVyXCJcbiAgICAoZHJQb3BvdmVyQ2xvc2UpPVwib25Qb3BvdmVyQ2xvc2UoKVwiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgW2lzQWN0aXZlXT1cImhhc1NlbGVjdGlvblwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbZHJQb3BvdmVyUG9zaXRpb25dPVwiZHJvcGRvd25Qb3NpdGlvblwiPlxuICAgIHt7IGxhYmVsIH19OlxuXG4gICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXItdmFsdWVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1NlbGVjdGlvbjsgZWxzZSBhbGxUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkQXJyLmxlbmd0aCA8PSBzaG93TWFueUxpbWl0OyBlbHNlIG1hbnlUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0ZWRBcnIgfCBzbGljZTogMCA6IHNob3dJbkxhYmVsTGltaXQ7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlcIj4sPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxhYmVsSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRMYWJlbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEFyci5sZW5ndGggPiBzaG93SW5MYWJlbExpbWl0XCI+XG4gICAgICAgICAgICAgICAgICAgICsge3sgc2VsZWN0ZWRBcnIubGVuZ3RoIC0gc2hvd0luTGFiZWxMaW1pdCB9fTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgICA8bmctdGVtcGxhdGUgI21hbnlUZW1wbGF0ZT5NYW55PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2FsbFRlbXBsYXRlPjxzcGFuIGNsYXNzPVwiZmlsdGVyLXZhbHVlLWFsbFwiPkFsbDwvc3Bhbj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExhYmVsVGVtcGxhdGUgbGV0LWl0ZW0+e3sgX2l0ZW0oaXRlbSkgfX08L25nLXRlbXBsYXRlPlxuPC9kci1idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wb3ZlciBsZXQtY2xvc2U9XCJjbG9zZVBvcG92ZXJcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd25fX3dyYXBwZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJkcm9wZG93bkNsYXNzXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKm5nTGV0PVwiaXRlbXMgfCBzZWFyY2g6IHNlYXJjaCA6IHNlYXJjaEJ5IGFzIGZpbHRlcmVkSXRlbXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duX19zZWFyY2hcIiAqbmdJZj1cInNob3dTZWFyY2hcIj5cbiAgICAgICAgICAgIDxkci1pbnB1dFxuICAgICAgICAgICAgICAgIGRhdGEtYW5hbHl0aWNzPVwiZmlsdGVyLWRyb3Bkb3duX2lucHV0LTBcIlxuICAgICAgICAgICAgICAgIGRyQXV0b2ZvY3VzXG4gICAgICAgICAgICAgICAgI3NlYXJjaFJlZlxuICAgICAgICAgICAgICAgIFtjbGFzcy53aXRoLXZhbHVlXT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiXG4gICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bl9faGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fX2hlYWRlci10aXRsZVwiPkZpbHRlciBieSB7eyBsYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgPGEgKm5nSWY9XCJzaG93U2VsZWN0QWxsXCIgaHJlZj1cImphdmFzY3JpcHQ6IHZvaWQoMClcIiAoY2xpY2spPVwib25TZWxlY3RBbGwoKVwiIGNsYXNzPVwiZHJvcGRvd25fX2hlYWRlci1zZWxlY3QtYWxsXCI+e3tcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGVkQWxsID8gJ1NlbGVjdCBub25lJyA6ICdTZWxlY3QgYWxsJ1xuICAgICAgICAgICAgfX08L2E+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkci1kcm9wZG93biBjbGFzcz1cImRyLWZpbHRlci1saXN0XCIgKm5nSWY9XCJmaWx0ZXJlZEl0ZW1zLmxlbmd0aDsgZWxzZSBub0RhdGFQbGFjZWhvbGRlclwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgPGRyLWRyb3Bkb3duLWl0ZW1cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHItZmlsdGVyLWxpc3RfX2l0ZW1cIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpc1NlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAjaXRlbVJlZlxuICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCIhaXRlbVJlZi5zZWxlY3RlZCAmJiBzZWxlY3RlZENoYW5nZS5lbWl0KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWl0ZW1SZWYuZGlzYWJsZWQgJiYgb25TZWxlY3RlZEl0ZW1DaGFuZ2VkKGl0ZW0sIGl0ZW1SZWYuc2VsZWN0ZWQsIGNsb3NlKVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgZHJvcGRvd25JdGVtQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRyLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWFuYWx5dGljcz1cImZpbHRlci1kcm9wZG93bl9jaGVja2JveC0wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkci1maWx0ZXItbGlzdF9faXRlbS1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZFN0YXR1c109XCJpdGVtUmVmLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBkcm9wZG93bkl0ZW1Db250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHREcm9wZG93bkl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RHJvcGRvd25JdGVtVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBfaXRlbShpdGVtKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kci1kcm9wZG93bi1pdGVtPlxuICAgICAgICA8L2RyLWRyb3Bkb3duPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EYXRhUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fX25vLXJlc3VsdFwiICpuZ0lmPVwibm9JdGVtc1BsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAge3sgbm9JdGVtc1BsYWNlaG9sZGVyIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwibXVsdGlwbGVcIiBjbGFzcz1cImRyb3Bkb3duX19hY3Rpb25zXCI+XG4gICAgICAgICAgICA8ZHItYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjbGVhcmFibGUgJiYgaGFzU2VsZWN0aW9uXCJcbiAgICAgICAgICAgICAgICB0aGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgZGF0YS1hbmFseXRpY3M9XCJmaWx0ZXItZHJvcGRvd25fYnV0dG9uLTFcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25fX2NsZWFyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGVhcihjbG9zZSlcIj5cbiAgICAgICAgICAgICAgICBDbGVhclxuICAgICAgICAgICAgPC9kci1idXR0b24+XG4gICAgICAgICAgICA8ZHItYnV0dG9uIGRhdGEtYW5hbHl0aWNzPVwiZmlsdGVyLWRyb3Bkb3duX2J1dHRvbi0wXCIgKGNsaWNrKT1cIm9uQXBwbHkoY2xvc2UpXCI+QXBwbHk8L2RyLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
439
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2ZpbHRlci1kcm9wZG93bi9maWx0ZXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZmlsdGVyLWRyb3Bkb3duL2ZpbHRlci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFjLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0RyQyw2QkFBd0I7SUFBQSxpQkFBQztJQUFBLDBCQUFlOzs7O0lBRDVDLDZCQUE0RjtJQUN4Rix1SUFBd0M7SUFDeEMsNEJBR2U7SUFDbkIsMEJBQWU7Ozs7OztJQUxJLGVBQU87SUFBUCw0QkFBTztJQUVs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ICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBEckRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlJztcbmltcG9ydCB7IERyUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgRHJCdXR0b25Db21wb25lbnQsIEVsUG9zaXRpb24sIExldERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQXV0b2ZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9hdXRvZm9jdXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWFyY2hQaXBlIH0gZnJvbSAnLi4vcGlwZXMvc2VhcmNoL3NlYXJjaC5waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1maWx0ZXItZHJvcGRvd24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIERyUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgRHJEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgRHJJbnB1dHNNb2R1bGUsXG4gICAgICAgIFNlYXJjaFBpcGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBMZXREaXJlY3RpdmUsXG4gICAgICAgIEF1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICAgICAgRHJCdXR0b25Db21wb25lbnQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWx0ZXItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRHJvcGRvd25Db21wb25lbnQ8VCA9IGFueT4ge1xuICAgIEBDb250ZW50Q2hpbGQoJ2Ryb3Bkb3duSXRlbVRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGRyb3Bkb3duSXRlbVRlbXBsYXRlITogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IFRbXSB9PjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2xhYmVsSXRlbVRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGxhYmVsSXRlbVRlbXBsYXRlITogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IFQgfT47XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VCB8IFRbXSB8IG51bGw+KCk7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBpdGVtczogVFtdID0gW107XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIGxhYmVsITogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc2VsZWN0ZWRVc2VyOiBUW10gfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSB1c2VyczogVFtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIG5vSXRlbXNQbGFjZWhvbGRlciA9ICdObyBpdGVtcyBmb3VuZCc7XG5cbiAgICBASW5wdXQoKVxuICAgIGRyb3Bkb3duQ2xhc3MgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgZHJvcGRvd25Qb3NpdGlvbjogRWxQb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBiaW5kVmFsdWUhOiBrZXlvZiBUO1xuXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5VmFsdWUhOiBrZXlvZiBUO1xuXG4gICAgQElucHV0KClcbiAgICBzZWFyY2hCeTogKGtleW9mIFQpW10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIG11bHRpcGxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBjbGVhcmFibGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgdHJhY2tCeToga2V5b2YgVCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgc2hvd1NlYXJjaExpbWl0ID0gMTA7XG5cbiAgICBASW5wdXQoKSBzaG93TWFueUxpbWl0ID0gMTI7XG5cbiAgICBASW5wdXQoKSBzaG93SW5MYWJlbExpbWl0ID0gMztcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgc2V0IHNlbGVjdGVkKHZhbHVlOiBUIHwgVFtdIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZE9yaWdpbmFsID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgdXNlTm9uZVRlbXBsYXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgc2VsZWN0ZWQoKTogVCB8IFRbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQ6IFQgfCBUW10gfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkT3JpZ2luYWw6IFQgfCBUW10gfCBudWxsID0gbnVsbDtcblxuICAgIHNlYXJjaCA9ICcnO1xuXG4gICAgZ2V0IHNob3dTZWFyY2goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IHRoaXMuc2hvd1NlYXJjaExpbWl0O1xuICAgIH1cblxuICAgIGdldCBzaG93U2VsZWN0QWxsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBsZSAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IHRoaXMuc2hvd1NlYXJjaExpbWl0O1xuICAgIH1cblxuICAgIGdldCBpc1NlbGVjdGVkQWxsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkICYmICh0aGlzLnNlbGVjdGVkIGFzIFRbXSkubGVuZ3RoID09PSB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0ZWRBcnIoKTogVFtdIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkKSByZXR1cm4gW107XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0ZWQpID8gdGhpcy5zZWxlY3RlZCA6IFt0aGlzLnNlbGVjdGVkXTtcbiAgICB9XG5cbiAgICBnZXQgaGFzU2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEFyci5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0ZWRBcnIubGVuZ3RoIDwgdGhpcy5pdGVtcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgc2xpY2VBcnJheShzZWxlY3RlZDogVFtdKSB7XG4gICAgICAgIHJldHVybiBzZWxlY3RlZC5zbGljZSgwLCAzKTtcbiAgICB9XG5cbiAgICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogVCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFja0J5ID8gaXRlbVt0aGlzLnRyYWNrQnldIDogaW5kZXg7XG4gICAgfVxuXG4gICAgX2l0ZW0oaXRlbTogVCB8IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0/Llt0aGlzLmJpbmRWYWx1ZV0gfHwgaXRlbTtcbiAgICB9XG5cbiAgICBvblNlbGVjdGVkSXRlbUNoYW5nZWQoaXRlbTogVCwgaXNTZWxlY3RlZDogYm9vbGVhbiwgY2xvc2VQb3BvdmVyOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGlzU2VsZWN0ZWRcbiAgICAgICAgICAgICAgICA/IFsuLi4odGhpcy5zZWxlY3RlZCBhcyBUW10pLmZpbHRlcigoZWwpID0+IHRoaXMuX2l0ZW0oZWwpICE9PSB0aGlzLl9pdGVtKGl0ZW0pKV1cbiAgICAgICAgICAgICAgICA6IFsuLi4odGhpcy5zZWxlY3RlZCBhcyBUW10pLCBpdGVtXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGl0ZW07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChpdGVtKTtcbiAgICAgICAgY2xvc2VQb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RBbGwoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gW107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IFsuLi50aGlzLml0ZW1zXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzU2VsZWN0ZWQoaXRlbTogVCB8IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbGVcbiAgICAgICAgICAgID8gKHRoaXMuc2VsZWN0ZWQgYXMgVFtdKT8uc29tZSgoZWwpID0+IGVsID09PSBpdGVtIHx8IHRoaXMuX2l0ZW0oZWwpID09PSB0aGlzLl9pdGVtKGl0ZW0pKVxuICAgICAgICAgICAgOiB0aGlzLnNlbGVjdGVkID09PSBpdGVtIHx8IHRoaXMuX2l0ZW0odGhpcy5zZWxlY3RlZCBhcyBUKSA9PT0gdGhpcy5faXRlbShpdGVtKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5KGNsb3NlUG9wb3ZlcjogKCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5fc2VsZWN0ZWQpO1xuICAgICAgICBjbG9zZVBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBvbkNsZWFyKGNsb3NlOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcmlnaW5hbCA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IFtdO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcmlnaW5hbCA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh0aGlzLl9zZWxlY3RlZCk7XG4gICAgICAgIGNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25Qb3BvdmVyQ2xvc2UoKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWRPcmlnaW5hbDtcbiAgICB9XG59XG4iLCI8ZHItYnV0dG9uXG4gICAgdGhlbWU9XCJkcm9wZG93blwiXG4gICAgaWNvbkFmdGVyPVwiZHItaWNvbi1hcnJvdy1kb3duXCJcbiAgICBpY29uQWZ0ZXJTaXplPVwiMThcIlxuICAgIFtkclBvcG92ZXJdPVwicG9wb3ZlclwiXG4gICAgKGRyUG9wb3ZlckNsb3NlKT1cIm9uUG9wb3ZlckNsb3NlKClcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgIFtpc0FjdGl2ZV09XCJoYXNTZWxlY3Rpb25cIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2RyUG9wb3ZlclBvc2l0aW9uXT1cImRyb3Bkb3duUG9zaXRpb25cIj5cbiAgICB7eyBsYWJlbCB9fTpcblxuICAgIDxzcGFuIGNsYXNzPVwiZmlsdGVyLXZhbHVlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNTZWxlY3Rpb247IGVsc2Ugbm9TZWxlY3Rpb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEFyci5sZW5ndGggPD0gc2hvd01hbnlMaW1pdDsgZWxzZSBtYW55VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNlbGVjdGVkQXJyIHwgc2xpY2U6IDAgOiBzaG93SW5MYWJlbExpbWl0OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpXCI+LDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbEl0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0TGFiZWxUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRBcnIubGVuZ3RoID4gc2hvd0luTGFiZWxMaW1pdFwiPlxuICAgICAgICAgICAgICAgICAgICArIHt7IHNlbGVjdGVkQXJyLmxlbmd0aCAtIHNob3dJbkxhYmVsTGltaXQgfX08L25nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gICAgPG5nLXRlbXBsYXRlICNtYW55VGVtcGxhdGU+TWFueTwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNub1NlbGVjdGlvbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZU5vbmVUZW1wbGF0ZSAmJiAhaXNTZWxlY3RlZEFsbDsgZWxzZSBhbGxUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWx0ZXItdmFsdWUtYWxsXCI+Tm9uZTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2FsbFRlbXBsYXRlPjxzcGFuIGNsYXNzPVwiZmlsdGVyLXZhbHVlLWFsbFwiPkFsbDwvc3Bhbj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExhYmVsVGVtcGxhdGUgbGV0LWl0ZW0+e3sgX2l0ZW0oaXRlbSkgfX08L25nLXRlbXBsYXRlPlxuPC9kci1idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjcG9wb3ZlciBsZXQtY2xvc2U9XCJjbG9zZVBvcG92ZXJcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd25fX3dyYXBwZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJkcm9wZG93bkNsYXNzXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKm5nTGV0PVwiaXRlbXMgfCBzZWFyY2g6IHNlYXJjaCA6IHNlYXJjaEJ5IGFzIGZpbHRlcmVkSXRlbXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duX19zZWFyY2hcIiAqbmdJZj1cInNob3dTZWFyY2hcIj5cbiAgICAgICAgICAgIDxkci1pbnB1dFxuICAgICAgICAgICAgICAgIGRhdGEtYW5hbHl0aWNzPVwiZmlsdGVyLWRyb3Bkb3duX2lucHV0LTBcIlxuICAgICAgICAgICAgICAgIGRyQXV0b2ZvY3VzXG4gICAgICAgICAgICAgICAgI3NlYXJjaFJlZlxuICAgICAgICAgICAgICAgIFtjbGFzcy53aXRoLXZhbHVlXT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiXG4gICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bl9faGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fX2hlYWRlci10aXRsZVwiPkZpbHRlciBieSB7eyBsYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgPGEgKm5nSWY9XCJzaG93U2VsZWN0QWxsXCIgaHJlZj1cImphdmFzY3JpcHQ6IHZvaWQoMClcIiAoY2xpY2spPVwib25TZWxlY3RBbGwoKVwiIGNsYXNzPVwiZHJvcGRvd25fX2hlYWRlci1zZWxlY3QtYWxsXCI+e3tcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGVkQWxsID8gJ1NlbGVjdCBub25lJyA6ICdTZWxlY3QgYWxsJ1xuICAgICAgICAgICAgfX08L2E+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkci1kcm9wZG93biBjbGFzcz1cImRyLWZpbHRlci1saXN0XCIgKm5nSWY9XCJmaWx0ZXJlZEl0ZW1zLmxlbmd0aDsgZWxzZSBub0RhdGFQbGFjZWhvbGRlclwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgPGRyLWRyb3Bkb3duLWl0ZW1cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHItZmlsdGVyLWxpc3RfX2l0ZW1cIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpc1NlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAjaXRlbVJlZlxuICAgICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCIhaXRlbVJlZi5zZWxlY3RlZCAmJiBzZWxlY3RlZENoYW5nZS5lbWl0KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWl0ZW1SZWYuZGlzYWJsZWQgJiYgb25TZWxlY3RlZEl0ZW1DaGFuZ2VkKGl0ZW0sIGl0ZW1SZWYuc2VsZWN0ZWQsIGNsb3NlKVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgZHJvcGRvd25JdGVtQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRyLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWFuYWx5dGljcz1cImZpbHRlci1kcm9wZG93bl9jaGVja2JveC0wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkci1maWx0ZXItbGlzdF9faXRlbS1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZFN0YXR1c109XCJpdGVtUmVmLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBkcm9wZG93bkl0ZW1Db250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyb3Bkb3duSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHREcm9wZG93bkl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RHJvcGRvd25JdGVtVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBfaXRlbShpdGVtKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kci1kcm9wZG93bi1pdGVtPlxuICAgICAgICA8L2RyLWRyb3Bkb3duPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9EYXRhUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fX25vLXJlc3VsdFwiICpuZ0lmPVwibm9JdGVtc1BsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAge3sgbm9JdGVtc1BsYWNlaG9sZGVyIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwibXVsdGlwbGVcIiBjbGFzcz1cImRyb3Bkb3duX19hY3Rpb25zXCI+XG4gICAgICAgICAgICA8ZHItYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjbGVhcmFibGUgJiYgaGFzU2VsZWN0aW9uXCJcbiAgICAgICAgICAgICAgICB0aGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgZGF0YS1hbmFseXRpY3M9XCJmaWx0ZXItZHJvcGRvd25fYnV0dG9uLTFcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25fX2NsZWFyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGVhcihjbG9zZSlcIj5cbiAgICAgICAgICAgICAgICBDbGVhclxuICAgICAgICAgICAgPC9kci1idXR0b24+XG4gICAgICAgICAgICA8ZHItYnV0dG9uIGRhdGEtYW5hbHl0aWNzPVwiZmlsdGVyLWRyb3Bkb3duX2J1dHRvbi0wXCIgKGNsaWNrKT1cIm9uQXBwbHkoY2xvc2UpXCI+QXBwbHk8L2RyLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|