ng-miam 3.7.3 → 3.7.4
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/bundles/ng-miam.umd.js +191 -65
- package/bundles/ng-miam.umd.js.map +1 -1
- package/bundles/ng-miam.umd.min.js +1 -1
- package/bundles/ng-miam.umd.min.js.map +1 -1
- package/esm2015/lib/_components/list-input/list-input.component.js +122 -54
- package/esm2015/lib/_services/context.service.js +15 -9
- package/esm2015/lib/_services/ingredients.service.js +16 -3
- package/esm2015/lib/_services/user-favorite-items.service.js +30 -0
- package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +3 -5
- package/fesm2015/ng-miam.js +172 -67
- package/fesm2015/ng-miam.js.map +1 -1
- package/lib/_components/list-input/list-input.component.d.ts +18 -0
- package/lib/_services/context.service.d.ts +4 -1
- package/lib/_services/ingredients.service.d.ts +2 -0
- package/lib/_services/user-favorite-items.service.d.ts +12 -0
- package/lib/_web-components/recipe-details/recipe-details.component.d.ts +0 -1
- package/package.json +1 -1
|
@@ -72,70 +72,83 @@ function ListInputComponent_ul_4_ng_container_1_Template(rf, ctx) { if (rf & 1)
|
|
|
72
72
|
i0.ɵɵadvance(1);
|
|
73
73
|
i0.ɵɵproperty("ngForOf", ctx_r4.list.controls)("ngForTrackBy", ctx_r4.trackByIndex);
|
|
74
74
|
} }
|
|
75
|
+
function ListInputComponent_ul_4_ng_template_2_li_0_option_9_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelement(0, "option", 37);
|
|
77
|
+
i0.ɵɵpipe(1, "capitalizeFirstLetter");
|
|
78
|
+
} if (rf & 2) {
|
|
79
|
+
const ing_r26 = ctx.$implicit;
|
|
80
|
+
i0.ɵɵproperty("value", i0.ɵɵpipeBind1(1, 1, ing_r26));
|
|
81
|
+
} }
|
|
82
|
+
function ListInputComponent_ul_4_ng_template_2_li_0_option_14_Template(rf, ctx) { if (rf & 1) {
|
|
83
|
+
i0.ɵɵelement(0, "option", 37);
|
|
84
|
+
} if (rf & 2) {
|
|
85
|
+
const unit_r27 = ctx.$implicit;
|
|
86
|
+
i0.ɵɵproperty("value", unit_r27);
|
|
87
|
+
} }
|
|
75
88
|
const _c0 = function (a0) { return { clickable: a0 }; };
|
|
76
|
-
function
|
|
77
|
-
i0.ɵɵelement(0, "img",
|
|
89
|
+
function ListInputComponent_ul_4_ng_template_2_li_0_label_16_img_1_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelement(0, "img", 41);
|
|
78
91
|
} if (rf & 2) {
|
|
79
92
|
const row_r18 = i0.ɵɵnextContext(2).$implicit;
|
|
80
|
-
const
|
|
81
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c0,
|
|
93
|
+
const ctx_r28 = i0.ɵɵnextContext(3);
|
|
94
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c0, ctx_r28.ingredientsPictures.editable))("src", row_r18.controls.attributes.controls["picture-url"].value, i0.ɵɵsanitizeUrl);
|
|
82
95
|
} }
|
|
83
|
-
function
|
|
84
|
-
i0.ɵɵelement(0, "ng-miam-icon",
|
|
96
|
+
function ListInputComponent_ul_4_ng_template_2_li_0_label_16_ng_miam_icon_2_Template(rf, ctx) { if (rf & 1) {
|
|
97
|
+
i0.ɵɵelement(0, "ng-miam-icon", 42);
|
|
85
98
|
} if (rf & 2) {
|
|
86
|
-
const
|
|
87
|
-
i0.ɵɵproperty("iconName",
|
|
99
|
+
const ctx_r29 = i0.ɵɵnextContext(5);
|
|
100
|
+
i0.ɵɵproperty("iconName", ctx_r29.icon.Picture);
|
|
88
101
|
} }
|
|
89
|
-
function
|
|
90
|
-
i0.ɵɵelementStart(0, "label",
|
|
91
|
-
i0.ɵɵtemplate(1,
|
|
92
|
-
i0.ɵɵtemplate(2,
|
|
102
|
+
function ListInputComponent_ul_4_ng_template_2_li_0_label_16_Template(rf, ctx) { if (rf & 1) {
|
|
103
|
+
i0.ɵɵelementStart(0, "label", 38);
|
|
104
|
+
i0.ɵɵtemplate(1, ListInputComponent_ul_4_ng_template_2_li_0_label_16_img_1_Template, 1, 4, "img", 39);
|
|
105
|
+
i0.ɵɵtemplate(2, ListInputComponent_ul_4_ng_template_2_li_0_label_16_ng_miam_icon_2_Template, 1, 1, "ng-miam-icon", 40);
|
|
93
106
|
i0.ɵɵelementEnd();
|
|
94
107
|
} if (rf & 2) {
|
|
95
|
-
const
|
|
96
|
-
const i_r19 =
|
|
97
|
-
const row_r18 =
|
|
98
|
-
const
|
|
108
|
+
const ctx_r31 = i0.ɵɵnextContext();
|
|
109
|
+
const i_r19 = ctx_r31.index;
|
|
110
|
+
const row_r18 = ctx_r31.$implicit;
|
|
111
|
+
const ctx_r22 = i0.ɵɵnextContext(3);
|
|
99
112
|
i0.ɵɵpropertyInterpolate1("for", "ing-picture-", i_r19, "");
|
|
100
113
|
i0.ɵɵadvance(1);
|
|
101
114
|
i0.ɵɵproperty("ngIf", row_r18.controls.attributes.controls["picture-url"] == null ? null : row_r18.controls.attributes.controls["picture-url"].value);
|
|
102
115
|
i0.ɵɵadvance(1);
|
|
103
|
-
i0.ɵɵproperty("ngIf", !(row_r18.controls.attributes.controls["picture-url"] == null ? null : row_r18.controls.attributes.controls["picture-url"].value) &&
|
|
116
|
+
i0.ɵɵproperty("ngIf", !(row_r18.controls.attributes.controls["picture-url"] == null ? null : row_r18.controls.attributes.controls["picture-url"].value) && ctx_r22.ingredientsPictures.editable);
|
|
104
117
|
} }
|
|
105
|
-
function
|
|
106
|
-
const
|
|
107
|
-
i0.ɵɵelementStart(0, "input",
|
|
108
|
-
i0.ɵɵlistener("change", function
|
|
118
|
+
function ListInputComponent_ul_4_ng_template_2_li_0_input_17_Template(rf, ctx) { if (rf & 1) {
|
|
119
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
120
|
+
i0.ɵɵelementStart(0, "input", 43);
|
|
121
|
+
i0.ɵɵlistener("change", function ListInputComponent_ul_4_ng_template_2_li_0_input_17_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r33); const row_r18 = i0.ɵɵnextContext().$implicit; const ctx_r32 = i0.ɵɵnextContext(3); return ctx_r32.uploadIngredientPicture($event.target.files, row_r18.controls.attributes.controls["picture-url"]); });
|
|
109
122
|
i0.ɵɵelementEnd();
|
|
110
123
|
} if (rf & 2) {
|
|
111
124
|
const i_r19 = i0.ɵɵnextContext().index;
|
|
112
125
|
i0.ɵɵpropertyInterpolate1("id", "ing-picture-", i_r19, "");
|
|
113
126
|
} }
|
|
114
|
-
function
|
|
127
|
+
function ListInputComponent_ul_4_ng_template_2_li_0_div_19_Template(rf, ctx) { if (rf & 1) {
|
|
115
128
|
i0.ɵɵelement(0, "div", 23);
|
|
116
129
|
} }
|
|
117
|
-
function
|
|
130
|
+
function ListInputComponent_ul_4_ng_template_2_li_0_div_20_Template(rf, ctx) { if (rf & 1) {
|
|
118
131
|
i0.ɵɵelementStart(0, "div", 24);
|
|
119
|
-
i0.ɵɵelement(1, "ng-miam-icon",
|
|
120
|
-
i0.ɵɵelementStart(2, "span",
|
|
132
|
+
i0.ɵɵelement(1, "ng-miam-icon", 44);
|
|
133
|
+
i0.ɵɵelementStart(2, "span", 45);
|
|
121
134
|
i0.ɵɵtext(3);
|
|
122
135
|
i0.ɵɵpipe(4, "capitalizeFirstLetter");
|
|
123
136
|
i0.ɵɵelementEnd();
|
|
124
|
-
i0.ɵɵelementStart(5, "span",
|
|
137
|
+
i0.ɵɵelementStart(5, "span", 45);
|
|
125
138
|
i0.ɵɵtext(6);
|
|
126
139
|
i0.ɵɵelementEnd();
|
|
127
|
-
i0.ɵɵelementStart(7, "span",
|
|
140
|
+
i0.ɵɵelementStart(7, "span", 45);
|
|
128
141
|
i0.ɵɵtext(8);
|
|
129
142
|
i0.ɵɵelementEnd();
|
|
130
143
|
i0.ɵɵelementEnd();
|
|
131
144
|
} if (rf & 2) {
|
|
132
145
|
const row_r18 = i0.ɵɵnextContext().$implicit;
|
|
133
|
-
const
|
|
146
|
+
const ctx_r25 = i0.ɵɵnextContext(3);
|
|
134
147
|
var tmp_1_0 = null;
|
|
135
148
|
var tmp_2_0 = null;
|
|
136
149
|
var tmp_3_0 = null;
|
|
137
150
|
i0.ɵɵadvance(1);
|
|
138
|
-
i0.ɵɵproperty("iconName",
|
|
151
|
+
i0.ɵɵproperty("iconName", ctx_r25.icon.Grip);
|
|
139
152
|
i0.ɵɵadvance(2);
|
|
140
153
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 4, row_r18 == null ? null : (tmp_1_0 = row_r18.get("attributes")) == null ? null : tmp_1_0.get("name").value));
|
|
141
154
|
i0.ɵɵadvance(3);
|
|
@@ -144,7 +157,7 @@ function ListInputComponent_ul_4_ng_template_2_li_0_div_16_Template(rf, ctx) { i
|
|
|
144
157
|
i0.ɵɵtextInterpolate(row_r18 == null ? null : (tmp_3_0 = row_r18.get("attributes")) == null ? null : tmp_3_0.get("unit").value);
|
|
145
158
|
} }
|
|
146
159
|
function ListInputComponent_ul_4_ng_template_2_li_0_Template(rf, ctx) { if (rf & 1) {
|
|
147
|
-
const
|
|
160
|
+
const _r38 = i0.ɵɵgetCurrentView();
|
|
148
161
|
i0.ɵɵelementStart(0, "li", 14);
|
|
149
162
|
i0.ɵɵelementStart(1, "div", 27);
|
|
150
163
|
i0.ɵɵelementStart(2, "div", 28);
|
|
@@ -154,21 +167,27 @@ function ListInputComponent_ul_4_ng_template_2_li_0_Template(rf, ctx) { if (rf &
|
|
|
154
167
|
i0.ɵɵelement(5, "input", 30);
|
|
155
168
|
i0.ɵɵpipe(6, "async");
|
|
156
169
|
i0.ɵɵpipe(7, "capitalizeFirstLetter");
|
|
157
|
-
i0.ɵɵelementStart(8, "
|
|
158
|
-
i0.ɵɵ
|
|
170
|
+
i0.ɵɵelementStart(8, "datalist");
|
|
171
|
+
i0.ɵɵtemplate(9, ListInputComponent_ul_4_ng_template_2_li_0_option_9_Template, 2, 3, "option", 31);
|
|
172
|
+
i0.ɵɵelementEnd();
|
|
173
|
+
i0.ɵɵelementStart(10, "input", 32);
|
|
174
|
+
i0.ɵɵlistener("ngModelChange", function ListInputComponent_ul_4_ng_template_2_li_0_Template_input_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r38); const i_r19 = ctx.index; const ctx_r37 = i0.ɵɵnextContext(3); return ctx_r37.updateQuantityValue($event, i_r19); });
|
|
159
175
|
i0.ɵɵelementEnd();
|
|
160
|
-
i0.ɵɵelement(
|
|
161
|
-
i0.ɵɵpipe(
|
|
176
|
+
i0.ɵɵelement(11, "input", 33);
|
|
177
|
+
i0.ɵɵpipe(12, "async");
|
|
178
|
+
i0.ɵɵelementStart(13, "datalist");
|
|
179
|
+
i0.ɵɵtemplate(14, ListInputComponent_ul_4_ng_template_2_li_0_option_14_Template, 1, 1, "option", 31);
|
|
162
180
|
i0.ɵɵelementEnd();
|
|
163
181
|
i0.ɵɵelementEnd();
|
|
164
|
-
i0.ɵɵelementStart(11, "div", 33);
|
|
165
|
-
i0.ɵɵtemplate(12, ListInputComponent_ul_4_ng_template_2_li_0_label_12_Template, 3, 3, "label", 34);
|
|
166
|
-
i0.ɵɵtemplate(13, ListInputComponent_ul_4_ng_template_2_li_0_input_13_Template, 1, 1, "input", 35);
|
|
167
|
-
i0.ɵɵelementStart(14, "ng-miam-icon", 20);
|
|
168
|
-
i0.ɵɵlistener("click", function ListInputComponent_ul_4_ng_template_2_li_0_Template_ng_miam_icon_click_14_listener() { i0.ɵɵrestoreView(_r34); const i_r19 = ctx.index; const ctx_r35 = i0.ɵɵnextContext(3); return ctx_r35.delete(i_r19); });
|
|
169
182
|
i0.ɵɵelementEnd();
|
|
170
|
-
i0.ɵɵ
|
|
171
|
-
i0.ɵɵtemplate(16,
|
|
183
|
+
i0.ɵɵelementStart(15, "div", 34);
|
|
184
|
+
i0.ɵɵtemplate(16, ListInputComponent_ul_4_ng_template_2_li_0_label_16_Template, 3, 3, "label", 35);
|
|
185
|
+
i0.ɵɵtemplate(17, ListInputComponent_ul_4_ng_template_2_li_0_input_17_Template, 1, 1, "input", 36);
|
|
186
|
+
i0.ɵɵelementStart(18, "ng-miam-icon", 20);
|
|
187
|
+
i0.ɵɵlistener("click", function ListInputComponent_ul_4_ng_template_2_li_0_Template_ng_miam_icon_click_18_listener() { i0.ɵɵrestoreView(_r38); const i_r19 = ctx.index; const ctx_r39 = i0.ɵɵnextContext(3); return ctx_r39.delete(i_r19); });
|
|
188
|
+
i0.ɵɵelementEnd();
|
|
189
|
+
i0.ɵɵtemplate(19, ListInputComponent_ul_4_ng_template_2_li_0_div_19_Template, 1, 0, "div", 21);
|
|
190
|
+
i0.ɵɵtemplate(20, ListInputComponent_ul_4_ng_template_2_li_0_div_20_Template, 9, 6, "div", 22);
|
|
172
191
|
i0.ɵɵelementEnd();
|
|
173
192
|
i0.ɵɵelementEnd();
|
|
174
193
|
} if (rf & 2) {
|
|
@@ -180,12 +199,22 @@ function ListInputComponent_ul_4_ng_template_2_li_0_Template(rf, ctx) { if (rf &
|
|
|
180
199
|
i0.ɵɵadvance(2);
|
|
181
200
|
i0.ɵɵproperty("iconName", ctx_r17.icon.Grip);
|
|
182
201
|
i0.ɵɵadvance(2);
|
|
183
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpipeBind1(6,
|
|
202
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpipeBind1(6, 18, ctx_r17.isIngredientReviewed(row_r18["controls"]["attributes"]["controls"]["name"].value)) ? "alert-success" : "alert-danger")("ngModel", i0.ɵɵpipeBind1(7, 20, row_r18["controls"]["attributes"]["controls"]["name"].value))("formControl", row_r18["controls"]["attributes"]["controls"]["name"]);
|
|
203
|
+
i0.ɵɵattribute("list", "miam-list-input-dropdown-ingredients-id" + i_r19);
|
|
184
204
|
i0.ɵɵadvance(3);
|
|
205
|
+
i0.ɵɵattribute("id", "miam-list-input-dropdown-ingredients-id" + i_r19);
|
|
206
|
+
i0.ɵɵadvance(1);
|
|
207
|
+
i0.ɵɵproperty("ngForOf", ctx_r17.getFilteredNameFromIndex(i_r19));
|
|
208
|
+
i0.ɵɵadvance(1);
|
|
185
209
|
i0.ɵɵproperty("ngModel", row_r18["controls"]["attributes"]["controls"]["quantity"].value)("formControl", row_r18["controls"]["attributes"]["controls"]["quantity"]);
|
|
186
210
|
i0.ɵɵadvance(1);
|
|
187
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpipeBind1(
|
|
188
|
-
i0.ɵɵ
|
|
211
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpipeBind1(12, 22, ctx_r17.isQuantityReviewed(row_r18["controls"]["attributes"]["controls"]["unit"].value)) ? "alert-success" : "alert-danger")("formControl", row_r18["controls"]["attributes"]["controls"]["unit"]);
|
|
212
|
+
i0.ɵɵattribute("list", "miam-list-input-dropdown-units-id" + i_r19);
|
|
213
|
+
i0.ɵɵadvance(2);
|
|
214
|
+
i0.ɵɵattribute("id", "miam-list-input-dropdown-units-id" + i_r19);
|
|
215
|
+
i0.ɵɵadvance(1);
|
|
216
|
+
i0.ɵɵproperty("ngForOf", ctx_r17.getFilteredUnitsFromIndex(i_r19));
|
|
217
|
+
i0.ɵɵadvance(2);
|
|
189
218
|
i0.ɵɵproperty("ngIf", ctx_r17.ingredientsPictures.visible);
|
|
190
219
|
i0.ɵɵadvance(1);
|
|
191
220
|
i0.ɵɵproperty("ngIf", ctx_r17.ingredientsPictures.visible && ctx_r17.ingredientsPictures.editable);
|
|
@@ -193,15 +222,15 @@ function ListInputComponent_ul_4_ng_template_2_li_0_Template(rf, ctx) { if (rf &
|
|
|
193
222
|
i0.ɵɵproperty("iconName", ctx_r17.icon.Trash);
|
|
194
223
|
} }
|
|
195
224
|
function ListInputComponent_ul_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
196
|
-
i0.ɵɵtemplate(0, ListInputComponent_ul_4_ng_template_2_li_0_Template,
|
|
225
|
+
i0.ɵɵtemplate(0, ListInputComponent_ul_4_ng_template_2_li_0_Template, 21, 24, "li", 13);
|
|
197
226
|
} if (rf & 2) {
|
|
198
227
|
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
199
228
|
i0.ɵɵproperty("ngForOf", ctx_r6.list.controls)("ngForTrackBy", ctx_r6.trackByIndex);
|
|
200
229
|
} }
|
|
201
230
|
function ListInputComponent_ul_4_Template(rf, ctx) { if (rf & 1) {
|
|
202
|
-
const
|
|
231
|
+
const _r41 = i0.ɵɵgetCurrentView();
|
|
203
232
|
i0.ɵɵelementStart(0, "ul", 10);
|
|
204
|
-
i0.ɵɵlistener("cdkDropListDropped", function ListInputComponent_ul_4_Template_ul_cdkDropListDropped_0_listener($event) { i0.ɵɵrestoreView(
|
|
233
|
+
i0.ɵɵlistener("cdkDropListDropped", function ListInputComponent_ul_4_Template_ul_cdkDropListDropped_0_listener($event) { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(); return ctx_r40.drop($event); });
|
|
205
234
|
i0.ɵɵtemplate(1, ListInputComponent_ul_4_ng_container_1_Template, 2, 2, "ng-container", 11);
|
|
206
235
|
i0.ɵɵtemplate(2, ListInputComponent_ul_4_ng_template_2_Template, 1, 2, "ng-template", null, 12, i0.ɵɵtemplateRefExtractor);
|
|
207
236
|
i0.ɵɵelementEnd();
|
|
@@ -212,9 +241,9 @@ function ListInputComponent_ul_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
212
241
|
i0.ɵɵproperty("ngIf", !ctx_r0.ingredientMode)("ngIfElse", _r5);
|
|
213
242
|
} }
|
|
214
243
|
function ListInputComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
215
|
-
i0.ɵɵelementStart(0, "div",
|
|
216
|
-
i0.ɵɵelement(1, "ng-miam-icon",
|
|
217
|
-
i0.ɵɵelementStart(2, "span",
|
|
244
|
+
i0.ɵɵelementStart(0, "div", 46);
|
|
245
|
+
i0.ɵɵelement(1, "ng-miam-icon", 47);
|
|
246
|
+
i0.ɵɵelementStart(2, "span", 48);
|
|
218
247
|
i0.ɵɵtext(3);
|
|
219
248
|
i0.ɵɵelementEnd();
|
|
220
249
|
i0.ɵɵelementEnd();
|
|
@@ -226,7 +255,7 @@ function ListInputComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
226
255
|
i0.ɵɵtextInterpolate1("Oups... c\u2019est vide, commencez \u00E0 ajouter des ", ctx_r2.hint, " !");
|
|
227
256
|
} }
|
|
228
257
|
function ListInputComponent_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
229
|
-
i0.ɵɵelementStart(0, "div",
|
|
258
|
+
i0.ɵɵelementStart(0, "div", 49);
|
|
230
259
|
i0.ɵɵtext(1);
|
|
231
260
|
i0.ɵɵelementEnd();
|
|
232
261
|
} if (rf & 2) {
|
|
@@ -247,6 +276,7 @@ export class ListInputComponent {
|
|
|
247
276
|
this.deleteId = new EventEmitter();
|
|
248
277
|
this.orderHasChanged = new EventEmitter();
|
|
249
278
|
this.previousQuantities = [];
|
|
279
|
+
this.maxSelectionNumber = 5;
|
|
250
280
|
}
|
|
251
281
|
delete(index) {
|
|
252
282
|
var _a;
|
|
@@ -348,9 +378,47 @@ export class ListInputComponent {
|
|
|
348
378
|
this.cdr.detectChanges();
|
|
349
379
|
};
|
|
350
380
|
}
|
|
381
|
+
/**
|
|
382
|
+
* filter using the input the possible ingredient name the user might want
|
|
383
|
+
* @param index
|
|
384
|
+
*/
|
|
385
|
+
getFilteredNameFromIndex(index) {
|
|
386
|
+
const input = this.list.controls[index].value.attributes.name.toLowerCase();
|
|
387
|
+
const possibleSelection = this.ingredientService.getReviewedNames();
|
|
388
|
+
return this.filterPossibleSelectionFromInput(input, possibleSelection);
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* filter using the input the possible unit the user might want
|
|
392
|
+
* @param index
|
|
393
|
+
*/
|
|
394
|
+
getFilteredUnitsFromIndex(index) {
|
|
395
|
+
const input = this.list.controls[index].value.attributes.unit.toLowerCase();
|
|
396
|
+
const possibleSelection = this.ingredientService.getReviewedUnits();
|
|
397
|
+
return this.filterPossibleSelectionFromInput(input, possibleSelection);
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Generic method to filter the name and the unit
|
|
401
|
+
* @param input user input
|
|
402
|
+
* @param possibleSelection possible selection to display to the user
|
|
403
|
+
* @private
|
|
404
|
+
*/
|
|
405
|
+
filterPossibleSelectionFromInput(input, possibleSelection) {
|
|
406
|
+
const filteredSelection = [];
|
|
407
|
+
const inputLC = input.toLowerCase();
|
|
408
|
+
for (const selection of possibleSelection) {
|
|
409
|
+
const selectionLC = selection.toLowerCase();
|
|
410
|
+
if (selectionLC.includes(inputLC) && selectionLC !== inputLC) {
|
|
411
|
+
filteredSelection.push(selection);
|
|
412
|
+
}
|
|
413
|
+
if (filteredSelection.length >= this.maxSelectionNumber) {
|
|
414
|
+
break;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
return filteredSelection;
|
|
418
|
+
}
|
|
351
419
|
}
|
|
352
420
|
ListInputComponent.ɵfac = function ListInputComponent_Factory(t) { return new (t || ListInputComponent)(i0.ɵɵdirectiveInject(i1.IngredientsService), i0.ɵɵdirectiveInject(i2.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
353
|
-
ListInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ListInputComponent, selectors: [["ng-miam-list-input"]], inputs: { hint: "hint", placeholder: "placeholder", label: "label", instructions: "instructions", ingredientMode: "ingredientMode", list: "list", ingredientsPictures: "ingredientsPictures" }, outputs: { deleteId: "deleteId", orderHasChanged: "orderHasChanged" }, decls: 14, vars: 7, consts: [[1, "miam-list-input"], [1, "miam-list-input__list", 3, "formGroup"], [1, "miam-list-input__list__label"], ["class", "miam-list-input__container m-default-card", "cdkDropList", "", 3, "cdkDropListDropped", 4, "ngIf", "ngIfElse"], ["hintPlaceholder", ""], [1, "miam-list-input__actions"], ["matInput", "", "cdkTextareaAutosize", "", "cdkAutosizeMinRows", "4", "cdkAutosizeMaxRows", "4", 1, "m-input", 3, "formControl", "keydown.enter"], [1, "m-button-primary", 3, "mousedown", "mouseup"], [1, "miam-list-input__instructions__direction"], ["class", "miam-list-input__actions__instructions", 4, "ngIf"], ["cdkDropList", "", 1, "miam-list-input__container", "m-default-card", 3, "cdkDropListDropped"], [4, "ngIf", "ngIfElse"], ["ingredientRow", ""], ["cdkDrag", "", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["cdkDrag", ""], [3, "formGroup"], [1, "miam-list-input__container__row", "m-default-card"], ["primaryColor", "var(--m-color-grey05)", "cdkDragHandle", "", 1, "miam-list-input__row__grip", 3, "iconName"], ["cdkTextareaAutosize", "true", "cdkAutosizeMinRows", "1", "cdkAutosizeMaxRows", "50", "formControlName", "description", 1, "m-input", 3, "blur"], ["autosize", "cdkTextareaAutosize"], ["primaryColor", "var(--m-color-grey05)", 1, "miam-list-input__row__trash", 3, "iconName", "click"], ["class", "miam-list-input__row__placeholder", 4, "cdkDragPlaceholder"], ["class", "miam-list-input__row__preview m-default-card", 4, "cdkDragPreview"], [1, "miam-list-input__row__placeholder"], [1, "miam-list-input__row__preview", "m-default-card"], ["primaryColor", "var(--m-color-grey05)", "cdkDragHandle", "", 3, "iconName"], [1, "miam-list-input__preview__text", "m-body-typo"], [1, "miam-list-input__container__row", "m-default-card", 3, "formGroupName"], [1, "miam-list-input__row__left"], [1, "miam-list-input__row__right"], [1, "m-input", 3, "ngClass", "ngModel", "formControl"], ["maxSize", "4", "autoWidthInput", "", 1, "m-input", 3, "ngModel", "formControl", "ngModelChange"], ["maxSize", "8", "autoWidthInput", "", 1, "m-input", 3, "ngClass", "formControl"], [1, "miam-list-input__row__controls"], [3, "for", 4, "ngIf"], ["type", "file", "accept", "image/jpeg, image/png, image/webp", 3, "id", "change", 4, "ngIf"], [3, "for"], ["class", "miam-list-input__row__picture", 3, "ngClass", "src", 4, "ngIf"], ["class", "miam-list-input__row__trash", "primaryColor", "var(--m-color-grey05)", 3, "iconName", 4, "ngIf"], [1, "miam-list-input__row__picture", 3, "ngClass", "src"], ["primaryColor", "var(--m-color-grey05)", 1, "miam-list-input__row__trash", 3, "iconName"], ["type", "file", "accept", "image/jpeg, image/png, image/webp", 3, "id", "change"], ["primaryColor", "var(--m-color-grey-text-dark)", "cdkDragHandle", "", 3, "iconName"], [1, "m-body-typo"], [1, "miam-list-input__placeholder", "miam-list-input__container", "m-default-card"], ["primaryColor", "var(--m-color-grey-text-dark)", 3, "width", "height", "iconName"], [1, "miam-list-input__placeholder__hint", "m-body-typo"], [1, "miam-list-input__actions__instructions"]], template: function ListInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
421
|
+
ListInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ListInputComponent, selectors: [["ng-miam-list-input"]], inputs: { hint: "hint", placeholder: "placeholder", label: "label", instructions: "instructions", ingredientMode: "ingredientMode", list: "list", ingredientsPictures: "ingredientsPictures" }, outputs: { deleteId: "deleteId", orderHasChanged: "orderHasChanged" }, decls: 14, vars: 7, consts: [[1, "miam-list-input"], [1, "miam-list-input__list", 3, "formGroup"], [1, "miam-list-input__list__label"], ["class", "miam-list-input__container m-default-card", "cdkDropList", "", 3, "cdkDropListDropped", 4, "ngIf", "ngIfElse"], ["hintPlaceholder", ""], [1, "miam-list-input__actions"], ["matInput", "", "cdkTextareaAutosize", "", "cdkAutosizeMinRows", "4", "cdkAutosizeMaxRows", "4", 1, "m-input", 3, "formControl", "keydown.enter"], [1, "m-button-primary", 3, "mousedown", "mouseup"], [1, "miam-list-input__instructions__direction"], ["class", "miam-list-input__actions__instructions", 4, "ngIf"], ["cdkDropList", "", 1, "miam-list-input__container", "m-default-card", 3, "cdkDropListDropped"], [4, "ngIf", "ngIfElse"], ["ingredientRow", ""], ["cdkDrag", "", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["cdkDrag", ""], [3, "formGroup"], [1, "miam-list-input__container__row", "m-default-card"], ["primaryColor", "var(--m-color-grey05)", "cdkDragHandle", "", 1, "miam-list-input__row__grip", 3, "iconName"], ["cdkTextareaAutosize", "true", "cdkAutosizeMinRows", "1", "cdkAutosizeMaxRows", "50", "formControlName", "description", 1, "m-input", 3, "blur"], ["autosize", "cdkTextareaAutosize"], ["primaryColor", "var(--m-color-grey05)", 1, "miam-list-input__row__trash", 3, "iconName", "click"], ["class", "miam-list-input__row__placeholder", 4, "cdkDragPlaceholder"], ["class", "miam-list-input__row__preview m-default-card", 4, "cdkDragPreview"], [1, "miam-list-input__row__placeholder"], [1, "miam-list-input__row__preview", "m-default-card"], ["primaryColor", "var(--m-color-grey05)", "cdkDragHandle", "", 3, "iconName"], [1, "miam-list-input__preview__text", "m-body-typo"], [1, "miam-list-input__container__row", "m-default-card", 3, "formGroupName"], [1, "miam-list-input__row__left"], [1, "miam-list-input__row__right"], [1, "m-input", 3, "ngClass", "ngModel", "formControl"], [3, "value", 4, "ngFor", "ngForOf"], ["maxSize", "4", "autoWidthInput", "", 1, "m-input", 3, "ngModel", "formControl", "ngModelChange"], ["maxSize", "8", "autoWidthInput", "", 1, "m-input", 3, "ngClass", "formControl"], [1, "miam-list-input__row__controls"], [3, "for", 4, "ngIf"], ["type", "file", "accept", "image/jpeg, image/png, image/webp", 3, "id", "change", 4, "ngIf"], [3, "value"], [3, "for"], ["class", "miam-list-input__row__picture", 3, "ngClass", "src", 4, "ngIf"], ["class", "miam-list-input__row__trash", "primaryColor", "var(--m-color-grey05)", 3, "iconName", 4, "ngIf"], [1, "miam-list-input__row__picture", 3, "ngClass", "src"], ["primaryColor", "var(--m-color-grey05)", 1, "miam-list-input__row__trash", 3, "iconName"], ["type", "file", "accept", "image/jpeg, image/png, image/webp", 3, "id", "change"], ["primaryColor", "var(--m-color-grey-text-dark)", "cdkDragHandle", "", 3, "iconName"], [1, "m-body-typo"], [1, "miam-list-input__placeholder", "miam-list-input__container", "m-default-card"], ["primaryColor", "var(--m-color-grey-text-dark)", 3, "width", "height", "iconName"], [1, "miam-list-input__placeholder__hint", "m-body-typo"], [1, "miam-list-input__actions__instructions"]], template: function ListInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
354
422
|
i0.ɵɵelementStart(0, "div", 0);
|
|
355
423
|
i0.ɵɵelementStart(1, "div", 1);
|
|
356
424
|
i0.ɵɵelementStart(2, "div", 2);
|
|
@@ -386,7 +454,7 @@ ListInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ListInputComponent, se
|
|
|
386
454
|
i0.ɵɵattribute("placeholder", ctx.placeholder);
|
|
387
455
|
i0.ɵɵadvance(5);
|
|
388
456
|
i0.ɵɵproperty("ngIf", ctx.instructions);
|
|
389
|
-
} }, directives: [i2.NgControlStatusGroup, i2.FormGroupDirective, i3.NgIf, i4.CdkTextareaAutosize, i2.DefaultValueAccessor, i2.NgControlStatus, i2.FormControlDirective, i5.CdkDropList, i3.NgForOf, i5.CdkDrag, i6.IconComponent, i5.CdkDragHandle, i2.FormControlName, i5.CdkDragPlaceholder, i5.CdkDragPreview, i2.FormGroupName, i3.NgClass, i7.AutowidthInputDirective], pipes: [i3.AsyncPipe, i8.CapitalizeFirstLetterPipe], styles: [".miam-list-input[_ngcontent-%COMP%]{padding:8px}@media (min-width:1024px){.miam-list-input[_ngcontent-%COMP%]{width:calc(100% - 16px)}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%]{margin-top:50px;position:relative}@media (min-width:1024px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%]{width:55%}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__list__label[_ngcontent-%COMP%]{background-color:var(--m-color-secondary-light);border-radius:8px 8px 0 0;color:var(--m-color-secondary);font-weight:700;left:0;padding:8px 24px;position:absolute;top:-33px;width:200px;z-index:0}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:400px;margin-bottom:32px;overflow-x:hidden;overflow-y:auto;position:inherit;z-index:1}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]{height:55vh;margin-bottom:16px;width:unset}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]::-webkit-scrollbar-button{height:20px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;row-gap:8px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{-moz-column-gap:16px;align-items:center;column-gap:16px;display:flex;list-style:none}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{-moz-column-gap:0;column-gap:0}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;align-items:center;display:flex;flex:1;flex-direction:row;gap:16px;user-select:none}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%]{margin-right:4px}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{max-width:unset;padding:inherit}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{margin:unset;max-width:unset;min-width:unset}@media (max-width:359px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{max-width:60vw}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__left[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:row}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__left[_ngcontent-%COMP%] .miam-list-input__row__grip[_ngcontent-%COMP%]{cursor:move}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__left[_ngcontent-%COMP%] .miam-list-input__row__grip[_ngcontent-%COMP%]{margin-left:4px}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__left[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{margin-left:8px;margin-right:8px;width:200px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%]{align-items:center;display:flex;flex:1;flex-direction:row}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{margin-right:8px;width:80px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]:first-child{flex:1}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]:last-child{margin-right:0;text-align:right}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%]{flex-wrap:wrap}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{flex:1;margin-bottom:8px;margin-right:4px}}@media (max-width:359px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%]{max-width:60vw}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{max-width:58vw}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .alert-success[_ngcontent-%COMP%]{background:var(--m-color-white);border:1px solid var(--m-color-success);border-radius:8px;box-shadow:0 0 4px var(--m-color-success)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .alert-danger[_ngcontent-%COMP%]{background:var(--m-color-white);border:1px solid var(--m-color-danger);border-radius:8px;box-shadow:0 0 4px var(--m-color-danger)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%]{align-items:center;display:flex;gap:8px;justify-content:space-between}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;justify-content:center;width:50px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .miam-list-input__row__picture[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;width:50px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .miam-list-input__row__picture.clickable[_ngcontent-%COMP%]{cursor:pointer}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{display:none}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] .miam-list-input__row__trash[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;cursor:pointer}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{border-radius:var(--m-border-radius);flex:1;margin:0;max-width:none;outline:none;padding:5px;resize:none}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] textarea.warnning[_ngcontent-%COMP%]{background-color:var(--m-color-secondary-light);color:var(--m-color-secondary)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] textarea.error[_ngcontent-%COMP%]{background-color:var(--m-color-danger);color:var(--m-color-danger-text)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] textarea[cdktextareaautosize][_ngcontent-%COMP%]{overflow:hidden}.miam-list-input[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{border-radius:var(--m-border-radius);flex:1;font-size:12px;font-weight:600;padding-bottom:10px}.miam-list-input[_ngcontent-%COMP%] .hint.warnning[_ngcontent-%COMP%]{color:var(--m-color-secondary)}.miam-list-input[_ngcontent-%COMP%] .hint.error[_ngcontent-%COMP%]{color:var(--m-color-danger)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__placeholder[_ngcontent-%COMP%]{align-items:center;justify-content:center}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__placeholder[_ngcontent-%COMP%] .miam-list-input__placeholder__hint[_ngcontent-%COMP%]{color:var(--m-color-secondary);margin-top:40px;opacity:.5;text-align:center}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%]{-moz-column-gap:32px;column-gap:32px;display:flex;justify-content:space-between}@media (min-width:1024px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%]{width:calc(45% - 32px)}}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%]{flex-direction:column}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{flex:1;margin-top:0;outline:none;resize:none}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:90vw}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] .miam-list-input__actions__instructions[_ngcontent-%COMP%]{background-color:var(--m-color-info);border-radius:8px;color:var(--m-color-info-text);max-width:calc(98vw - 776px);padding:8px;position:absolute;top:315px;white-space:pre-line;width:400px}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] .miam-list-input__actions__instructions[_ngcontent-%COMP%]{margin-top:16px;max-width:unset;position:unset;width:unset}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] .miam-list-input__instructions__direction[_ngcontent-%COMP%]{margin-left:4px}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] .miam-list-input__instructions__direction[_ngcontent-%COMP%]{display:none}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.miam-list-input__row__preview[_ngcontent-%COMP%]{align-items:center;display:flex;width:530px}@media (max-width:1023px){.miam-list-input__row__preview[_ngcontent-%COMP%]{flex-wrap:wrap;width:80vw}}.miam-list-input__row__preview[_ngcontent-%COMP%] .miam-list-input__preview__text[_ngcontent-%COMP%]{padding:5px}.miam-list-input__row__preview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type{flex:1;flex-shrink:1;margin-left:8px}.miam-list-input__row__preview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-of-type(2n){margin-right:8px}.miam-list-input__row__placeholder[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;background:var(--m-color-grey07);border-radius:8px;margin-right:24px;min-height:60px;user-select:none}.cdk-drag-animating[_ngcontent-%COMP%], .miam-list-input__row__placeholder[_ngcontent-%COMP%], ul.cdk-drop-list-dragging[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}"] });
|
|
457
|
+
} }, directives: [i2.NgControlStatusGroup, i2.FormGroupDirective, i3.NgIf, i4.CdkTextareaAutosize, i2.DefaultValueAccessor, i2.NgControlStatus, i2.FormControlDirective, i5.CdkDropList, i3.NgForOf, i5.CdkDrag, i6.IconComponent, i5.CdkDragHandle, i2.FormControlName, i5.CdkDragPlaceholder, i5.CdkDragPreview, i2.FormGroupName, i3.NgClass, i7.AutowidthInputDirective, i2.NgSelectOption, i2.ɵangular_packages_forms_forms_x], pipes: [i3.AsyncPipe, i8.CapitalizeFirstLetterPipe], styles: [".miam-list-input[_ngcontent-%COMP%]{padding:8px}@media (min-width:1024px){.miam-list-input[_ngcontent-%COMP%]{width:calc(100% - 16px)}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%]{margin-top:50px;position:relative}@media (min-width:1024px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%]{width:55%}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__list__label[_ngcontent-%COMP%]{background-color:var(--m-color-secondary-light);border-radius:8px 8px 0 0;color:var(--m-color-secondary);font-weight:700;left:0;padding:8px 24px;position:absolute;top:-33px;width:200px;z-index:0}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:400px;margin-bottom:32px;overflow-x:hidden;overflow-y:auto;position:inherit;z-index:1}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]{height:55vh;margin-bottom:16px;width:unset}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]::-webkit-scrollbar-button{height:20px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] .miam-list-input__container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;row-gap:8px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{-moz-column-gap:16px;align-items:center;column-gap:16px;display:flex;list-style:none}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{-moz-column-gap:0;column-gap:0}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;align-items:center;display:flex;flex:1;flex-direction:row;gap:16px;user-select:none}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%]{margin-right:4px}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{max-width:unset;padding:inherit}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{margin:unset;max-width:unset;min-width:unset}@media (max-width:359px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{max-width:60vw}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__left[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:row}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__left[_ngcontent-%COMP%] .miam-list-input__row__grip[_ngcontent-%COMP%]{cursor:move}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__left[_ngcontent-%COMP%] .miam-list-input__row__grip[_ngcontent-%COMP%]{margin-left:4px}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__left[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{margin-left:8px;margin-right:8px;width:200px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%]{align-items:center;display:flex;flex:1;flex-direction:row}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{margin-right:8px;width:80px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]:first-child{flex:1}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]:last-child{margin-right:0;text-align:right}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%]{flex-wrap:wrap}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{flex:1;margin-bottom:8px;margin-right:4px}}@media (max-width:359px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%]{max-width:60vw}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .m-input[_ngcontent-%COMP%]{max-width:58vw}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .alert-success[_ngcontent-%COMP%]{background:var(--m-color-white);border:1px solid var(--m-color-success);border-radius:8px;box-shadow:0 0 4px var(--m-color-success)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__container__row[_ngcontent-%COMP%] .miam-list-input__row__right[_ngcontent-%COMP%] .alert-danger[_ngcontent-%COMP%]{background:var(--m-color-white);border:1px solid var(--m-color-danger);border-radius:8px;box-shadow:0 0 4px var(--m-color-danger)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%]{align-items:center;display:flex;gap:8px;justify-content:space-between}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;justify-content:center;width:50px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .miam-list-input__row__picture[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;width:50px}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] label[_ngcontent-%COMP%] .miam-list-input__row__picture.clickable[_ngcontent-%COMP%]{cursor:pointer}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{display:none}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .miam-list-input__row__controls[_ngcontent-%COMP%] .miam-list-input__row__trash[_ngcontent-%COMP%]{-webkit-tap-highlight-color:transparent;cursor:pointer}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{border-radius:var(--m-border-radius);flex:1;margin:0;max-width:none;outline:none;padding:5px;resize:none}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] textarea.warnning[_ngcontent-%COMP%]{background-color:var(--m-color-secondary-light);color:var(--m-color-secondary)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] textarea.error[_ngcontent-%COMP%]{background-color:var(--m-color-danger);color:var(--m-color-danger-text)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__list[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] textarea[cdktextareaautosize][_ngcontent-%COMP%]{overflow:hidden}.miam-list-input[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{border-radius:var(--m-border-radius);flex:1;font-size:12px;font-weight:600;padding-bottom:10px}.miam-list-input[_ngcontent-%COMP%] .hint.warnning[_ngcontent-%COMP%]{color:var(--m-color-secondary)}.miam-list-input[_ngcontent-%COMP%] .hint.error[_ngcontent-%COMP%]{color:var(--m-color-danger)}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__placeholder[_ngcontent-%COMP%]{align-items:center;justify-content:center}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__placeholder[_ngcontent-%COMP%] .miam-list-input__placeholder__hint[_ngcontent-%COMP%]{color:var(--m-color-secondary);margin-top:40px;opacity:.5;text-align:center}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%]{-moz-column-gap:32px;column-gap:32px;display:flex;justify-content:space-between}@media (min-width:1024px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%]{width:calc(45% - 32px)}}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%]{flex-direction:column}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{flex:1;margin-top:0;outline:none;resize:none}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:90vw}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] .miam-list-input__actions__instructions[_ngcontent-%COMP%]{background-color:var(--m-color-info);border-radius:8px;color:var(--m-color-info-text);max-width:calc(98vw - 776px);padding:8px;position:absolute;top:315px;white-space:pre-line;width:400px}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] .miam-list-input__actions__instructions[_ngcontent-%COMP%]{margin-top:16px;max-width:unset;position:unset;width:unset}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] .miam-list-input__instructions__direction[_ngcontent-%COMP%]{margin-left:4px}@media (max-width:1023px){.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] .miam-list-input__instructions__direction[_ngcontent-%COMP%]{display:none}}.miam-list-input[_ngcontent-%COMP%] .miam-list-input__actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.miam-list-input__row__preview[_ngcontent-%COMP%]{align-items:center;display:flex;width:530px}@media (max-width:1023px){.miam-list-input__row__preview[_ngcontent-%COMP%]{flex-wrap:wrap;width:80vw}}.miam-list-input__row__preview[_ngcontent-%COMP%] .miam-list-input__preview__text[_ngcontent-%COMP%]{padding:5px}.miam-list-input__row__preview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type{flex:1;flex-shrink:1;margin-left:8px}.miam-list-input__row__preview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-of-type(2n){margin-right:8px}.miam-list-input__row__placeholder[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;background:var(--m-color-grey07);border-radius:8px;margin-right:24px;min-height:60px;user-select:none}.cdk-drag-animating[_ngcontent-%COMP%], .miam-list-input__row__placeholder[_ngcontent-%COMP%], ul.cdk-drop-list-dragging[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}"] });
|
|
390
458
|
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(ListInputComponent, [{
|
|
391
459
|
type: Component,
|
|
392
460
|
args: [{
|
|
@@ -413,4 +481,4 @@ ListInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ListInputComponent, se
|
|
|
413
481
|
}], orderHasChanged: [{
|
|
414
482
|
type: Output
|
|
415
483
|
}] }); })();
|
|
416
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL2xpc3QtaW5wdXQvbGlzdC1pbnB1dC5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvbGlzdC1pbnB1dC9saXN0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztJQ1N2QywwQkFBeUU7OztJQUN6RSwrQkFDRTtJQUFBLG1DQUF1RztJQUN2RyxnQ0FBeUQ7SUFBQSxZQUFvRDtJQUFBLGlCQUFPO0lBQ3RILGlCQUFNOzs7OztJQUYrQyxlQUFzQjtJQUF0Qiw0Q0FBc0I7SUFDaEIsZUFBb0Q7SUFBcEQsb0lBQW9EOzs7O0lBWnJILDhCQUNFO0lBQUEsaUNBQ0U7SUFBQSxpQ0FDRTtJQUFBLCtCQUNBO0lBQUEsbUNBQTJJO0lBQzNJLHdDQUMwRztJQURwQyx1T0FBb0I7SUFDSyxpQkFBVztJQUMxRyxpQkFBTTtJQUNOLHdDQUFrSjtJQUFoRywyT0FBbUI7SUFBOEQsaUJBQWU7SUFDbEosNkZBQW1FO0lBQ25FLDZGQUNF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QUFBLGdDQUF1RDtRQUFBLG1CQUFFO1FBQUEsaUJBQU87UUFDMUUsaUJBQVM7UUFDVCxxRUFBeUU7UUFDM0UsaUJBQU07UUFDUixpQkFBTTs7O1FBbEcrQixlQUFrQjtRQUFsQixvQ0FBa0I7UUFDVCxlQUFTO1FBQVQsK0JBQVM7UUFDL0MsZUFBc0Q7UUFBdEQsd0ZBQXNELGlCQUFBO1FBMEZ4RCxlQUE2QjtRQUE3QiwrQ0FBNkI7UUFBQyw4Q0FBa0M7UUFJN0QsZUFBb0I7UUFBcEIsdUNBQW9COztrRERuRmhCLGtCQUFrQjtjQUw5QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7YUFDM0M7K0hBR1UsSUFBSTtrQkFBWixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxjQUFjO2tCQUF0QixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBRUksUUFBUTtrQkFBakIsTUFBTTtZQUNHLGVBQWU7a0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluZ3JlZGllbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJbmdyZWRpZW50IH0gZnJvbSAnLi4vLi4vX21vZGVscy9pbmdyZWRpZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1saXN0LWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RJbnB1dENvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgaGludDogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBpbnN0cnVjdGlvbnM6IHN0cmluZztcbiAgQElucHV0KCkgaW5ncmVkaWVudE1vZGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3Q6IEZvcm1BcnJheSA9IG5ldyBGb3JtQXJyYXkoW10pO1xuICBASW5wdXQoKSBpbmdyZWRpZW50c1BpY3R1cmVzOiB7IHZpc2libGU6IGJvb2xlYW4sIGVkaXRhYmxlOiBib29sZWFuIH0gPSB7IHZpc2libGU6IGZhbHNlLCBlZGl0YWJsZTogZmFsc2UgfTtcblxuICBAT3V0cHV0KCkgZGVsZXRlSWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuICBAT3V0cHV0KCkgb3JkZXJIYXNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgaWNvbiA9IEljb247XG4gIGhpZGVFcnJvcnM6IGJvb2xlYW47XG4gIGZpbGxMaXN0SW5wdXQ6IEZvcm1Db250cm9sO1xuICBtb3Vzc2VEb3duT25CdXR0b246IGJvb2xlYW47XG4gIHByaXZhdGUgcHJldmlvdXNRdWFudGl0aWVzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluZ3JlZGllbnRTZXJ2aWNlOiBJbmdyZWRpZW50c1NlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmZpbGxMaXN0SW5wdXQgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIHRoaXMuZGVsZXRlSWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5vcmRlckhhc0NoYW5nZWQgID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMucHJldmlvdXNRdWFudGl0aWVzID0gW107XG4gIH1cblxuICBkZWxldGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3QuY29udHJvbHNbaW5kZXhdW2Bjb250cm9sc2BdLmlkPy52YWx1ZSkge1xuICAgICAgdGhpcy5kZWxldGVJZC5lbWl0KHRoaXMubGlzdC5jb250cm9sc1tpbmRleF1bYGNvbnRyb2xzYF0uaWQudmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmxpc3QucmVtb3ZlQXQoaW5kZXgpO1xuICAgIHRoaXMubGlzdC5tYXJrQXNEaXJ0eSgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmZpbGxMaXN0SW5wdXQudmFsdWU/LnRyaW1FbmQoKS5zcGxpdCgnXFxuJyk7XG5cbiAgICBpZiAodmFsdWVzICYmIHZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5pbmdyZWRpZW50TW9kZSkge1xuICAgICAgICB0aGlzLmluZ3JlZGllbnRTZXJ2aWNlLmZvcm1hdEluZ3JlZGllbnRzKHZhbHVlcykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGluZ3JlZGllbnRzOiBJbmdyZWRpZW50W10pID0+IHtcbiAgICAgICAgICBpbmdyZWRpZW50cy5mb3JFYWNoKGluZyA9PiB7XG4gICAgICAgICAgICBpbmcuYXR0cmlidXRlcy5xdWFudGl0eSA9IHBhcnNlRmxvYXQoaW5nLmF0dHJpYnV0ZXMucXVhbnRpdHkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmxpc3QucHVzaCh0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbChpbmcuaWQgIT09ICctMScgPyBpbmcuaWQgOiBudWxsKSxcbiAgICAgICAgICAgICAgYXR0cmlidXRlczogdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgcXVhbnRpdHk6IG5ldyBGb3JtQ29udHJvbChpbmcuYXR0cmlidXRlcy5xdWFudGl0eSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgdW5pdDogbmV3IEZvcm1Db250cm9sKGluZy5hdHRyaWJ1dGVzLnVuaXQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChpbmcuYXR0cmlidXRlcy5uYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1F1YW50aXRpZXMucHVzaChpbmcuYXR0cmlidXRlcy5xdWFudGl0eSk7XG4gICAgICAgICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZXMuZm9yRWFjaCgoZWxlbWVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgaWYgKGVsZW1lbnQudHJpbSgpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3QucHVzaCh0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlczogdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbChlbGVtZW50KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbGxMaXN0SW5wdXQucmVzZXQoKTtcbiAgICB0aGlzLm1vdXNzZURvd25PbkJ1dHRvbiA9IGZhbHNlO1xuICB9XG5cbiAgY2hlY2tSb3coaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5saXN0LmNvbnRyb2xzW2luZGV4XS5nZXQoJ2F0dHJpYnV0ZXMnKS5nZXQoJ2Rlc2NyaXB0aW9uJykudmFsdWUgfHwgIXRoaXMubGlzdC5jb250cm9sc1tpbmRleF0uZ2V0KCdhdHRyaWJ1dGVzJykuZ2V0KCdkZXNjcmlwdGlvbicpLnZhbHVlLnRyaW0oKSkge1xuICAgICAgdGhpcy5kZWxldGUoaW5kZXgpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVF1YW50aXR5VmFsdWUoZXZlbnQsIGluZGV4KSB7XG4gICAgaWYgKE51bWJlci5pc05hTigrZXZlbnQpKXtcbiAgICAgIHRoaXMubGlzdC5jb250cm9sc1tpbmRleF1bJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsncXVhbnRpdHknXS52YWx1ZSA9IHRoaXMucHJldmlvdXNRdWFudGl0aWVzW2luZGV4XTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8gTmVjZXNzYXJ5IHRvIHVwZGF0ZSB0aGUgdmlldyB3aXRoIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucHJldmlvdXNRdWFudGl0aWVzW2luZGV4XSA9IGV2ZW50OyAvLyBObyB1cGRhdGUgb2YgdGhlIHZpZXcgc28gbm8gY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIH1cbiAgfVxuXG4gIGRyYWcoKSB7XG4gICAgdGhpcy5oaWRlRXJyb3JzID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pOiB2b2lkIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5saXN0LmNvbnRyb2xzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIC8vIGlmIHlvdSByZW9yZGVyZWQgdGhlIGxpc3QgYmUgc3VyZSB0aGUgcHJldmlvdXMgcXVhbnRpdGllcyBjaGFuZ2VzIGFjY29yZGluZ2x5XG4gICAgaWYgKHRoaXMuaW5ncmVkaWVudE1vZGUpIHtcbiAgICAgIHRoaXMucHJldmlvdXNRdWFudGl0aWVzID0gW107XG4gICAgICB0aGlzLmxpc3QuY29udHJvbHMuZm9yRWFjaChpID0+IHtcbiAgICAgICAgdGhpcy5wcmV2aW91c1F1YW50aXRpZXMucHVzaChpWydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ3F1YW50aXR5J10udmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMubGlzdC5tYXJrQXNEaXJ0eSgpO1xuICAgIHRoaXMuaGlkZUVycm9ycyA9IGZhbHNlO1xuICAgIHRoaXMub3JkZXJIYXNDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIGlzSW5ncmVkaWVudFJldmlld2VkKGluZ3JlZGllbnROYW1lKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5ncmVkaWVudFNlcnZpY2UuaXNSZXZpZXdlZE5hbWUoaW5ncmVkaWVudE5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICBpc1F1YW50aXR5UmV2aWV3ZWQodW5pdE5hbWUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pbmdyZWRpZW50U2VydmljZS5pc1Jldmlld2VkVW5pdCh1bml0TmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyLCBlbDogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZWw7XG4gIH1cblxuICAvLyBUT0RPOiBzaXplIGNoZWNrXG4gIHVwbG9hZEluZ3JlZGllbnRQaWN0dXJlKGZpbGVzLCBpbmdGb3JtKTogdm9pZCB7XG4gICAgaWYgKCFmaWxlc1swXSB8fCAhaW5nRm9ybSkgeyByZXR1cm47IH1cblxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZXNbMF0pO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBpbmdGb3JtLnBhdGNoVmFsdWUocmVhZGVyLnJlc3VsdCk7XG4gICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0XCI+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2xpc3RcIiBbZm9ybUdyb3VwXT1cImxpc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19saXN0X19sYWJlbFwiPnt7bGFiZWx9fTwvZGl2PlxuICAgIDx1bCAqbmdJZj0nbGlzdC5jb250cm9scz8ubGVuZ3RoID4gMCBlbHNlIGhpbnRQbGFjZWhvbGRlcicgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2NvbnRhaW5lciBtLWRlZmF1bHQtY2FyZFwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSchaW5ncmVkaWVudE1vZGUgZWxzZSBpbmdyZWRpZW50Um93Jz5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByb3cgb2YgbGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCIgIGNka0RyYWc+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cInJvd1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cInJvdz8uZ2V0KCdhdHRyaWJ1dGVzJylcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fY29udGFpbmVyX19yb3cgIG0tZGVmYXVsdC1jYXJkXCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5MDUpXCIgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fZ3JpcFwiICBbaWNvbk5hbWVdPVwiaWNvbi5HcmlwXCIgY2RrRHJhZ0hhbmRsZT48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPHRleHRhcmVhICBjZGtUZXh0YXJlYUF1dG9zaXplPSd0cnVlJyAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCIgKGJsdXIpPSdjaGVja1JvdyhpKSdcbiAgICAgICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCIgY2RrQXV0b3NpemVNYXhSb3dzPVwiNTBcIiBjbGFzcz1cIm0taW5wdXRcIiBmb3JtQ29udHJvbE5hbWU9J2Rlc2NyaXB0aW9uJz48L3RleHRhcmVhPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiIChjbGljayk9XCJkZWxldGUoaSlcIiBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIiBbaWNvbk5hbWVdPVwiaWNvbi5UcmFzaFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX3BsYWNlaG9sZGVyXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19wcmV2aWV3IG0tZGVmYXVsdC1jYXJkXCIgKmNka0RyYWdQcmV2aWV3PlxuICAgICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5MDUpXCIgW2ljb25OYW1lXT1cImljb24uR3JpcFwiIGNka0RyYWdIYW5kbGU+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3ByZXZpZXdfX3RleHQgbS1ib2R5LXR5cG9cIj57e3Jvdz8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmdldCgnZGVzY3JpcHRpb24nKS52YWx1ZX19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2xpPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2luZ3JlZGllbnRSb3c+XG4gICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByb3cgb2YgbGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCIgY2RrRHJhZz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2NvbnRhaW5lcl9fcm93IG0tZGVmYXVsdC1jYXJkXCIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX2xlZnRcIj5cbiAgICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItZ3JleTA1KVwiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX2dyaXBcIlxuICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkdyaXBcIiBjZGtEcmFnSGFuZGxlPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cIm0taW5wdXRcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIihpc0luZ3JlZGllbnRSZXZpZXdlZChyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsnbmFtZSddLnZhbHVlKSB8IGFzeW5jICkgPyAnYWxlcnQtc3VjY2VzcycgOiAnYWxlcnQtZGFuZ2VyJ1wiIFxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWyduYW1lJ10udmFsdWUgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXJcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsnbmFtZSddXCIvPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cIm0taW5wdXRcIiBbbmdNb2RlbF09XCJyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsncXVhbnRpdHknXS52YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZVF1YW50aXR5VmFsdWUoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicm93Wydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ3F1YW50aXR5J11cIiBtYXhTaXplPTQgIGF1dG9XaWR0aElucHV0IC8+XG4gICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwibS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiKGlzUXVhbnRpdHlSZXZpZXdlZChyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsndW5pdCddLnZhbHVlKSB8IGFzeW5jICkgPyAnYWxlcnQtc3VjY2VzcycgOiAnYWxlcnQtZGFuZ2VyJ1wiIFxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsndW5pdCddXCIgIG1heFNpemU9OCBhdXRvV2lkdGhJbnB1dC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX2NvbnRyb2xzXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbmctcGljdHVyZS17e2l9fVwiICpuZ0lmPVwiaW5ncmVkaWVudHNQaWN0dXJlcy52aXNpYmxlXCI+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyb3cuY29udHJvbHMuYXR0cmlidXRlcy5jb250cm9sc1sncGljdHVyZS11cmwnXT8udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBjbGlja2FibGU6IGluZ3JlZGllbnRzUGljdHVyZXMuZWRpdGFibGUgfVwiXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cInJvdy5jb250cm9scy5hdHRyaWJ1dGVzLmNvbnRyb2xzWydwaWN0dXJlLXVybCddLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX3BpY3R1cmVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctbWlhbS1pY29uXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIiFyb3cuY29udHJvbHMuYXR0cmlidXRlcy5jb250cm9sc1sncGljdHVyZS11cmwnXT8udmFsdWUgJiYgaW5ncmVkaWVudHNQaWN0dXJlcy5lZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5QaWN0dXJlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX3RyYXNoXCJcbiAgICAgICAgICAgICAgICAgIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItZ3JleTA1KVwiXG4gICAgICAgICAgICAgICAgPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAqbmdJZj1cImluZ3JlZGllbnRzUGljdHVyZXMudmlzaWJsZSAmJiBpbmdyZWRpZW50c1BpY3R1cmVzLmVkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICBpZD1cImluZy1waWN0dXJlLXt7aX19XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgYWNjZXB0PVwiaW1hZ2UvanBlZywgaW1hZ2UvcG5nLCBpbWFnZS93ZWJwXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwbG9hZEluZ3JlZGllbnRQaWN0dXJlKCRldmVudC50YXJnZXQuZmlsZXMsIHJvdy5jb250cm9scy5hdHRyaWJ1dGVzLmNvbnRyb2xzWydwaWN0dXJlLXVybCddKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiIChjbGljayk9XCJkZWxldGUoaSlcIiBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIiBbaWNvbk5hbWVdPVwiaWNvbi5UcmFzaFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fcHJldmlldyBtLWRlZmF1bHQtY2FyZFwiICpjZGtEcmFnUHJldmlldz5cbiAgICAgICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5LXRleHQtZGFyaylcIiBcbiAgICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb24uR3JpcFwiIGNka0RyYWdIYW5kbGU+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tYm9keS10eXBvXCI+e3tyb3c/LmdldCgnYXR0cmlidXRlcycpPy5nZXQoJ25hbWUnKS52YWx1ZSB8IGNhcGl0YWxpemVGaXJzdExldHRlcn19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLWJvZHktdHlwb1wiPnt7cm93Py5nZXQoJ2F0dHJpYnV0ZXMnKT8uZ2V0KCdxdWFudGl0eScpLnZhbHVlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tYm9keS10eXBvXCI+e3tyb3c/LmdldCgnYXR0cmlidXRlcycpPy5nZXQoJ3VuaXQnKS52YWx1ZX19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSBpbmZvcm1hdGlvbiBtZXNzYWdlIC0tPlxuICAgICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cInJvdz8uZ2V0KCdhdHRyaWJ1dGVzJylbJ2lzTm90UmV2aWV3ZWRJbmdyZWRpZW50TmFtZSddICYmICFyb3cuaW52YWxpZCAmJiAhaGlkZUVycm9yc1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiaGludCB3YXJubmluZ1wiPk5vdXMgbmUgY29ubmFpc3NvbnMgcGFzIGVuY29yZSBjZXQgaW5ncsOpZGllbnQ8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInJvdy5pbnZhbGlkICYmICFoaWRlRXJyb3JzXCIgY2xhc3M9XCJoaW50IGVycm9yXCI+TGUgbm9tIGRlIGwnaW5ncsOpZGllbnQgbmUgcGV1dCBwYXMgw6p0cmVcbiAgICAgICAgICAgICAgdmlkZTwvc3Bhbj4gLS0+XG4gICAgICAgICAgPC9saT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC91bD5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjaGludFBsYWNlaG9sZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3BsYWNlaG9sZGVyIG1pYW0tbGlzdC1pbnB1dF9fY29udGFpbmVyIG0tZGVmYXVsdC1jYXJkXCI+XG4gICAgICA8bmctbWlhbS1pY29uIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItZ3JleS10ZXh0LWRhcmspXCIgW3dpZHRoXT1cIjE1MlwiIFtoZWlnaHRdPVwiMTU3XCIgW2ljb25OYW1lXT1cImljb24uRW1wdHlcIj5cbiAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3BsYWNlaG9sZGVyX19oaW50IG0tYm9keS10eXBvXCI+T3Vwcy4uLiBj4oCZZXN0IHZpZGUsIGNvbW1lbmNleiDDoCBham91dGVyIGRlcyB7eyBoaW50IH19ICE8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2FjdGlvbnNcIj5cbiAgICA8dGV4dGFyZWEgbWF0SW5wdXQgY2xhc3M9XCJtLWlucHV0XCIgY2RrVGV4dGFyZWFBdXRvc2l6ZSAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiNFwiXG4gICAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCI0XCIgKGtleWRvd24uZW50ZXIpPSdtb3Vzc2VEb3duT25CdXR0b24gPSB0cnVlJyBcbiAgICAgIFtmb3JtQ29udHJvbF09XCJmaWxsTGlzdElucHV0XCIgYXR0ci5wbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiPjwvdGV4dGFyZWE+XG4gICAgPGJ1dHRvbiBjbGFzcz1cIm0tYnV0dG9uLXByaW1hcnlcIiAobW91c2Vkb3duKT0nbW91c3NlRG93bk9uQnV0dG9uID0gdHJ1ZScgKG1vdXNldXApPVwic3VibWl0KClcIj5cbiAgICAgIEFqb3V0ZXIgPHNwYW4gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2luc3RydWN0aW9uc19fZGlyZWN0aW9uXCI+Pj48L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiAqbmdJZj1cImluc3RydWN0aW9uc1wiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19hY3Rpb25zX19pbnN0cnVjdGlvbnNcIj57e2luc3RydWN0aW9uc319PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
484
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL2xpc3QtaW5wdXQvbGlzdC1pbnB1dC5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvbGlzdC1pbnB1dC9saXN0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztJQ1N2QywwQkFBeUU7OztJQUN6RSwrQkFDRTtJQUFBLG1DQUF1RztJQUN2RyxnQ0FBeUQ7SUFBQSxZQUFvRDtJQUFBLGlCQUFPO0lBQ3RILGlCQUFNOzs7OztJQUYrQyxlQUFzQjtJQUF0Qiw0Q0FBc0I7SUFDaEIsZUFBb0Q7SUFBcEQsb0lBQW9EOzs7O0lBWnJILDhCQUNFO0lBQUEsaUNBQ0U7SUFBQSxpQ0FDRTtJQUFBLCtCQUNBO0lBQUEsbUNBQTJJO0lBQzNJLHdDQUMwRztJQURwQyx1T0FBb0I7SUFDSyxpQkFBVztJQUMxRyxpQkFBTTtJQUNOLHdDQUFrSjtJQUFoRywyT0FBbUI7SUFBOEQsaUJBQWU7SUFDbEosNkZBQW1FO0lBQ25FLDZGQUNF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O1lBQ0csZUFBZTtrQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5ncmVkaWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IEluZ3JlZGllbnQgfSBmcm9tICcuLi8uLi9fbW9kZWxzL2luZ3JlZGllbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLWxpc3QtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdElucHV0Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBoaW50OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluc3RydWN0aW9uczogc3RyaW5nO1xuICBASW5wdXQoKSBpbmdyZWRpZW50TW9kZTogYm9vbGVhbjtcbiAgQElucHV0KCkgbGlzdDogRm9ybUFycmF5ID0gbmV3IEZvcm1BcnJheShbXSk7XG4gIEBJbnB1dCgpIGluZ3JlZGllbnRzUGljdHVyZXM6IHsgdmlzaWJsZTogYm9vbGVhbiwgZWRpdGFibGU6IGJvb2xlYW4gfSA9IHsgdmlzaWJsZTogZmFsc2UsIGVkaXRhYmxlOiBmYWxzZSB9O1xuXG4gIEBPdXRwdXQoKSBkZWxldGVJZDogRXZlbnRFbWl0dGVyPHN0cmluZz47XG4gIEBPdXRwdXQoKSBvcmRlckhhc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPjtcblxuICBpY29uID0gSWNvbjtcbiAgaGlkZUVycm9yczogYm9vbGVhbjtcbiAgZmlsbExpc3RJbnB1dDogRm9ybUNvbnRyb2w7XG4gIG1vdXNzZURvd25PbkJ1dHRvbjogYm9vbGVhbjtcbiAgcHJpdmF0ZSBwcmV2aW91c1F1YW50aXRpZXM6IHN0cmluZ1tdO1xuICBwcml2YXRlIHJlYWRvbmx5IG1heFNlbGVjdGlvbk51bWJlcjogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5ncmVkaWVudFNlcnZpY2U6IEluZ3JlZGllbnRzU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuZmlsbExpc3RJbnB1dCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgdGhpcy5kZWxldGVJZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLm9yZGVySGFzQ2hhbmdlZCAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGhpcy5wcmV2aW91c1F1YW50aXRpZXMgPSBbXTtcbiAgICB0aGlzLm1heFNlbGVjdGlvbk51bWJlciA9IDU7XG4gIH1cblxuICBkZWxldGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3QuY29udHJvbHNbaW5kZXhdW2Bjb250cm9sc2BdLmlkPy52YWx1ZSkge1xuICAgICAgdGhpcy5kZWxldGVJZC5lbWl0KHRoaXMubGlzdC5jb250cm9sc1tpbmRleF1bYGNvbnRyb2xzYF0uaWQudmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmxpc3QucmVtb3ZlQXQoaW5kZXgpO1xuICAgIHRoaXMubGlzdC5tYXJrQXNEaXJ0eSgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmZpbGxMaXN0SW5wdXQudmFsdWU/LnRyaW1FbmQoKS5zcGxpdCgnXFxuJyk7XG5cbiAgICBpZiAodmFsdWVzICYmIHZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5pbmdyZWRpZW50TW9kZSkge1xuICAgICAgICB0aGlzLmluZ3JlZGllbnRTZXJ2aWNlLmZvcm1hdEluZ3JlZGllbnRzKHZhbHVlcykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGluZ3JlZGllbnRzOiBJbmdyZWRpZW50W10pID0+IHtcbiAgICAgICAgICBpbmdyZWRpZW50cy5mb3JFYWNoKGluZyA9PiB7XG4gICAgICAgICAgICBpbmcuYXR0cmlidXRlcy5xdWFudGl0eSA9IHBhcnNlRmxvYXQoaW5nLmF0dHJpYnV0ZXMucXVhbnRpdHkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmxpc3QucHVzaCh0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbChpbmcuaWQgIT09ICctMScgPyBpbmcuaWQgOiBudWxsKSxcbiAgICAgICAgICAgICAgYXR0cmlidXRlczogdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgcXVhbnRpdHk6IG5ldyBGb3JtQ29udHJvbChpbmcuYXR0cmlidXRlcy5xdWFudGl0eSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgdW5pdDogbmV3IEZvcm1Db250cm9sKGluZy5hdHRyaWJ1dGVzLnVuaXQsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbChpbmcuYXR0cmlidXRlcy5uYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1F1YW50aXRpZXMucHVzaChpbmcuYXR0cmlidXRlcy5xdWFudGl0eSk7XG4gICAgICAgICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZXMuZm9yRWFjaCgoZWxlbWVudDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgaWYgKGVsZW1lbnQudHJpbSgpKSB7XG4gICAgICAgICAgICB0aGlzLmxpc3QucHVzaCh0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlczogdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbChlbGVtZW50KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbGxMaXN0SW5wdXQucmVzZXQoKTtcbiAgICB0aGlzLm1vdXNzZURvd25PbkJ1dHRvbiA9IGZhbHNlO1xuICB9XG5cbiAgY2hlY2tSb3coaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5saXN0LmNvbnRyb2xzW2luZGV4XS5nZXQoJ2F0dHJpYnV0ZXMnKS5nZXQoJ2Rlc2NyaXB0aW9uJykudmFsdWUgfHwgIXRoaXMubGlzdC5jb250cm9sc1tpbmRleF0uZ2V0KCdhdHRyaWJ1dGVzJykuZ2V0KCdkZXNjcmlwdGlvbicpLnZhbHVlLnRyaW0oKSkge1xuICAgICAgdGhpcy5kZWxldGUoaW5kZXgpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVF1YW50aXR5VmFsdWUoZXZlbnQsIGluZGV4KSB7XG4gICAgaWYgKE51bWJlci5pc05hTigrZXZlbnQpKXtcbiAgICAgIHRoaXMubGlzdC5jb250cm9sc1tpbmRleF1bJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsncXVhbnRpdHknXS52YWx1ZSA9IHRoaXMucHJldmlvdXNRdWFudGl0aWVzW2luZGV4XTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8gTmVjZXNzYXJ5IHRvIHVwZGF0ZSB0aGUgdmlldyB3aXRoIHRoZSBwcmV2aW91cyB2YWx1ZVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMucHJldmlvdXNRdWFudGl0aWVzW2luZGV4XSA9IGV2ZW50OyAvLyBObyB1cGRhdGUgb2YgdGhlIHZpZXcgc28gbm8gY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIH1cbiAgfVxuXG4gIGRyYWcoKSB7XG4gICAgdGhpcy5oaWRlRXJyb3JzID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pOiB2b2lkIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5saXN0LmNvbnRyb2xzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIC8vIGlmIHlvdSByZW9yZGVyZWQgdGhlIGxpc3QgYmUgc3VyZSB0aGUgcHJldmlvdXMgcXVhbnRpdGllcyBjaGFuZ2VzIGFjY29yZGluZ2x5XG4gICAgaWYgKHRoaXMuaW5ncmVkaWVudE1vZGUpIHtcbiAgICAgIHRoaXMucHJldmlvdXNRdWFudGl0aWVzID0gW107XG4gICAgICB0aGlzLmxpc3QuY29udHJvbHMuZm9yRWFjaChpID0+IHtcbiAgICAgICAgdGhpcy5wcmV2aW91c1F1YW50aXRpZXMucHVzaChpWydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ3F1YW50aXR5J10udmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMubGlzdC5tYXJrQXNEaXJ0eSgpO1xuICAgIHRoaXMuaGlkZUVycm9ycyA9IGZhbHNlO1xuICAgIHRoaXMub3JkZXJIYXNDaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIGlzSW5ncmVkaWVudFJldmlld2VkKGluZ3JlZGllbnROYW1lKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5ncmVkaWVudFNlcnZpY2UuaXNSZXZpZXdlZE5hbWUoaW5ncmVkaWVudE5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cblxuICBpc1F1YW50aXR5UmV2aWV3ZWQodW5pdE5hbWUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pbmdyZWRpZW50U2VydmljZS5pc1Jldmlld2VkVW5pdCh1bml0TmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxuXG4gIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyLCBlbDogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZWw7XG4gIH1cblxuICAvLyBUT0RPOiBzaXplIGNoZWNrXG4gIHVwbG9hZEluZ3JlZGllbnRQaWN0dXJlKGZpbGVzLCBpbmdGb3JtKTogdm9pZCB7XG4gICAgaWYgKCFmaWxlc1swXSB8fCAhaW5nRm9ybSkgeyByZXR1cm47IH1cblxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZXNbMF0pO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBpbmdGb3JtLnBhdGNoVmFsdWUocmVhZGVyLnJlc3VsdCk7XG4gICAgICB0aGlzLmxpc3QubWFya0FzRGlydHkoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIGZpbHRlciB1c2luZyB0aGUgaW5wdXQgdGhlIHBvc3NpYmxlIGluZ3JlZGllbnQgbmFtZSB0aGUgdXNlciBtaWdodCB3YW50XG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgcHVibGljIGdldEZpbHRlcmVkTmFtZUZyb21JbmRleChpbmRleDogbnVtYmVyKTogQXJyYXk8c3RyaW5nPntcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMubGlzdC5jb250cm9sc1tpbmRleF0udmFsdWUuYXR0cmlidXRlcy5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgcG9zc2libGVTZWxlY3Rpb24gPSB0aGlzLmluZ3JlZGllbnRTZXJ2aWNlLmdldFJldmlld2VkTmFtZXMoKTtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJQb3NzaWJsZVNlbGVjdGlvbkZyb21JbnB1dChpbnB1dCwgcG9zc2libGVTZWxlY3Rpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIGZpbHRlciB1c2luZyB0aGUgaW5wdXQgdGhlIHBvc3NpYmxlIHVuaXQgdGhlIHVzZXIgbWlnaHQgd2FudFxuICAgKiBAcGFyYW0gaW5kZXhcbiAgICovXG4gIHB1YmxpYyBnZXRGaWx0ZXJlZFVuaXRzRnJvbUluZGV4KGluZGV4OiBudW1iZXIpOiBBcnJheTxzdHJpbmc+e1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5saXN0LmNvbnRyb2xzW2luZGV4XS52YWx1ZS5hdHRyaWJ1dGVzLnVuaXQudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBwb3NzaWJsZVNlbGVjdGlvbiA9IHRoaXMuaW5ncmVkaWVudFNlcnZpY2UuZ2V0UmV2aWV3ZWRVbml0cygpO1xuICAgIHJldHVybiB0aGlzLmZpbHRlclBvc3NpYmxlU2VsZWN0aW9uRnJvbUlucHV0KGlucHV0LCBwb3NzaWJsZVNlbGVjdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJpYyBtZXRob2QgdG8gZmlsdGVyIHRoZSBuYW1lIGFuZCB0aGUgdW5pdFxuICAgKiBAcGFyYW0gaW5wdXQgdXNlciBpbnB1dFxuICAgKiBAcGFyYW0gcG9zc2libGVTZWxlY3Rpb24gcG9zc2libGUgc2VsZWN0aW9uIHRvIGRpc3BsYXkgdG8gdGhlIHVzZXJcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZmlsdGVyUG9zc2libGVTZWxlY3Rpb25Gcm9tSW5wdXQoaW5wdXQ6IHN0cmluZywgcG9zc2libGVTZWxlY3Rpb246IEFycmF5PHN0cmluZz4pe1xuICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0aW9uID0gW107XG4gICAgY29uc3QgaW5wdXRMQyA9IGlucHV0LnRvTG93ZXJDYXNlKCk7XG4gICAgZm9yIChjb25zdCBzZWxlY3Rpb24gb2YgcG9zc2libGVTZWxlY3Rpb24pe1xuICAgICAgY29uc3Qgc2VsZWN0aW9uTEMgPSBzZWxlY3Rpb24udG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChzZWxlY3Rpb25MQy5pbmNsdWRlcyhpbnB1dExDKSAmJiBzZWxlY3Rpb25MQyAhPT0gaW5wdXRMQykgeyBmaWx0ZXJlZFNlbGVjdGlvbi5wdXNoKHNlbGVjdGlvbik7IH1cbiAgICAgIGlmIChmaWx0ZXJlZFNlbGVjdGlvbi5sZW5ndGggPj0gdGhpcy5tYXhTZWxlY3Rpb25OdW1iZXIpIHsgYnJlYWs7IH1cbiAgICB9XG4gICAgcmV0dXJuIGZpbHRlcmVkU2VsZWN0aW9uO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0XCI+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2xpc3RcIiBbZm9ybUdyb3VwXT1cImxpc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19saXN0X19sYWJlbFwiPnt7bGFiZWx9fTwvZGl2PlxuICAgIDx1bCAqbmdJZj0nbGlzdC5jb250cm9scz8ubGVuZ3RoID4gMCBlbHNlIGhpbnRQbGFjZWhvbGRlcicgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2NvbnRhaW5lciBtLWRlZmF1bHQtY2FyZFwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPSchaW5ncmVkaWVudE1vZGUgZWxzZSBpbmdyZWRpZW50Um93Jz5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByb3cgb2YgbGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCIgIGNka0RyYWc+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cInJvd1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cInJvdz8uZ2V0KCdhdHRyaWJ1dGVzJylcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fY29udGFpbmVyX19yb3cgIG0tZGVmYXVsdC1jYXJkXCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5MDUpXCIgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fZ3JpcFwiICBbaWNvbk5hbWVdPVwiaWNvbi5HcmlwXCIgY2RrRHJhZ0hhbmRsZT48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPHRleHRhcmVhICBjZGtUZXh0YXJlYUF1dG9zaXplPSd0cnVlJyAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCIgKGJsdXIpPSdjaGVja1JvdyhpKSdcbiAgICAgICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIxXCIgY2RrQXV0b3NpemVNYXhSb3dzPVwiNTBcIiBjbGFzcz1cIm0taW5wdXRcIiBmb3JtQ29udHJvbE5hbWU9J2Rlc2NyaXB0aW9uJz48L3RleHRhcmVhPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiIChjbGljayk9XCJkZWxldGUoaSlcIiBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIiBbaWNvbk5hbWVdPVwiaWNvbi5UcmFzaFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX3BsYWNlaG9sZGVyXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19wcmV2aWV3IG0tZGVmYXVsdC1jYXJkXCIgKmNka0RyYWdQcmV2aWV3PlxuICAgICAgICAgICAgICAgIDxuZy1taWFtLWljb24gcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5MDUpXCIgW2ljb25OYW1lXT1cImljb24uR3JpcFwiIGNka0RyYWdIYW5kbGU+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3ByZXZpZXdfX3RleHQgbS1ib2R5LXR5cG9cIj57e3Jvdz8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmdldCgnZGVzY3JpcHRpb24nKS52YWx1ZX19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2xpPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2luZ3JlZGllbnRSb3c+XG4gICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByb3cgb2YgbGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCIgY2RrRHJhZz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2NvbnRhaW5lcl9fcm93IG0tZGVmYXVsdC1jYXJkXCIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX2xlZnRcIj5cbiAgICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItZ3JleTA1KVwiIGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX2dyaXBcIlxuICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkdyaXBcIiBjZGtEcmFnSGFuZGxlPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19yaWdodFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbYXR0ci5saXN0XT1cIidtaWFtLWxpc3QtaW5wdXQtZHJvcGRvd24taW5ncmVkaWVudHMtaWQnICsgaVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIihpc0luZ3JlZGllbnRSZXZpZXdlZChyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsnbmFtZSddLnZhbHVlKSB8IGFzeW5jICkgPyAnYWxlcnQtc3VjY2VzcycgOiAnYWxlcnQtZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWyduYW1lJ10udmFsdWUgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicm93Wydjb250cm9scyddWydhdHRyaWJ1dGVzJ11bJ2NvbnRyb2xzJ11bJ25hbWUnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1pbnB1dFwiLz5cbiAgICAgICAgICAgICAgICA8ZGF0YWxpc3QgW2F0dHIuaWRdPVwiJ21pYW0tbGlzdC1pbnB1dC1kcm9wZG93bi1pbmdyZWRpZW50cy1pZCcgKyBpXCI+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpbmcgb2YgZ2V0RmlsdGVyZWROYW1lRnJvbUluZGV4KGkpO1wiIFt2YWx1ZV09XCJpbmcgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXJcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L2RhdGFsaXN0PlxuXG4gICAgICAgICAgICAgICAgPGlucHV0IFtuZ01vZGVsXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWydxdWFudGl0eSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlUXVhbnRpdHlWYWx1ZSgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJvd1snY29udHJvbHMnXVsnYXR0cmlidXRlcyddWydjb250cm9scyddWydxdWFudGl0eSddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWlucHV0XCIgbWF4U2l6ZT00ICBhdXRvV2lkdGhJbnB1dCAvPlxuXG4gICAgICAgICAgICAgICAgPGlucHV0IFthdHRyLmxpc3RdPVwiJ21pYW0tbGlzdC1pbnB1dC1kcm9wZG93bi11bml0cy1pZCcgKyBpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiKGlzUXVhbnRpdHlSZXZpZXdlZChyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsndW5pdCddLnZhbHVlKSB8IGFzeW5jICkgPyAnYWxlcnQtc3VjY2VzcycgOiAnYWxlcnQtZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJyb3dbJ2NvbnRyb2xzJ11bJ2F0dHJpYnV0ZXMnXVsnY29udHJvbHMnXVsndW5pdCddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLWlucHV0XCIgbWF4U2l6ZT04IGF1dG9XaWR0aElucHV0Lz5cbiAgICAgICAgICAgICAgICA8ZGF0YWxpc3QgW2F0dHIuaWRdPVwiJ21pYW0tbGlzdC1pbnB1dC1kcm9wZG93bi11bml0cy1pZCcgKyBpXCI+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB1bml0IG9mIGdldEZpbHRlcmVkVW5pdHNGcm9tSW5kZXgoaSk7XCIgW3ZhbHVlXT1cInVuaXRcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L2RhdGFsaXN0PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19jb250cm9sc1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5nLXBpY3R1cmUte3tpfX1cIiAqbmdJZj1cImluZ3JlZGllbnRzUGljdHVyZXMudmlzaWJsZVwiPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93LmNvbnRyb2xzLmF0dHJpYnV0ZXMuY29udHJvbHNbJ3BpY3R1cmUtdXJsJ10/LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgY2xpY2thYmxlOiBpbmdyZWRpZW50c1BpY3R1cmVzLmVkaXRhYmxlIH1cIlxuICAgICAgICAgICAgICAgICAgW3NyY109XCJyb3cuY29udHJvbHMuYXR0cmlidXRlcy5jb250cm9sc1sncGljdHVyZS11cmwnXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X19waWN0dXJlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLW1pYW0taWNvblxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhcm93LmNvbnRyb2xzLmF0dHJpYnV0ZXMuY29udHJvbHNbJ3BpY3R1cmUtdXJsJ10/LnZhbHVlICYmIGluZ3JlZGllbnRzUGljdHVyZXMuZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb24uUGljdHVyZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9fcm93X190cmFzaFwiXG4gICAgICAgICAgICAgICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLWdyZXkwNSlcIlxuICAgICAgICAgICAgICAgID48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmdyZWRpZW50c1BpY3R1cmVzLnZpc2libGUgJiYgaW5ncmVkaWVudHNQaWN0dXJlcy5lZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJpbmctcGljdHVyZS17e2l9fVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgICAgIGFjY2VwdD1cImltYWdlL2pwZWcsIGltYWdlL3BuZywgaW1hZ2Uvd2VicFwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ1cGxvYWRJbmdyZWRpZW50UGljdHVyZSgkZXZlbnQudGFyZ2V0LmZpbGVzLCByb3cuY29udHJvbHMuYXR0cmlidXRlcy5jb250cm9sc1sncGljdHVyZS11cmwnXSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3Jvd19fdHJhc2hcIiAoY2xpY2spPVwiZGVsZXRlKGkpXCIgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1ncmV5MDUpXCIgW2ljb25OYW1lXT1cImljb24uVHJhc2hcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX3BsYWNlaG9sZGVyXCIgKmNka0RyYWdQbGFjZWhvbGRlcj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1saXN0LWlucHV0X19yb3dfX3ByZXZpZXcgbS1kZWZhdWx0LWNhcmRcIiAqY2RrRHJhZ1ByZXZpZXc+XG4gICAgICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItZ3JleS10ZXh0LWRhcmspXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb24uR3JpcFwiIGNka0RyYWdIYW5kbGU+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tYm9keS10eXBvXCI+e3tyb3c/LmdldCgnYXR0cmlidXRlcycpPy5nZXQoJ25hbWUnKS52YWx1ZSB8IGNhcGl0YWxpemVGaXJzdExldHRlcn19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLWJvZHktdHlwb1wiPnt7cm93Py5nZXQoJ2F0dHJpYnV0ZXMnKT8uZ2V0KCdxdWFudGl0eScpLnZhbHVlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tYm9keS10eXBvXCI+e3tyb3c/LmdldCgnYXR0cmlidXRlcycpPy5nZXQoJ3VuaXQnKS52YWx1ZX19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSBpbmZvcm1hdGlvbiBtZXNzYWdlIC0tPlxuICAgICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cInJvdz8uZ2V0KCdhdHRyaWJ1dGVzJylbJ2lzTm90UmV2aWV3ZWRJbmdyZWRpZW50TmFtZSddICYmICFyb3cuaW52YWxpZCAmJiAhaGlkZUVycm9yc1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiaGludCB3YXJubmluZ1wiPk5vdXMgbmUgY29ubmFpc3NvbnMgcGFzIGVuY29yZSBjZXQgaW5ncsOpZGllbnQ8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInJvdy5pbnZhbGlkICYmICFoaWRlRXJyb3JzXCIgY2xhc3M9XCJoaW50IGVycm9yXCI+TGUgbm9tIGRlIGwnaW5ncsOpZGllbnQgbmUgcGV1dCBwYXMgw6p0cmVcbiAgICAgICAgICAgICAgdmlkZTwvc3Bhbj4gLS0+XG4gICAgICAgICAgPC9saT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC91bD5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjaGludFBsYWNlaG9sZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3BsYWNlaG9sZGVyIG1pYW0tbGlzdC1pbnB1dF9fY29udGFpbmVyIG0tZGVmYXVsdC1jYXJkXCI+XG4gICAgICA8bmctbWlhbS1pY29uIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItZ3JleS10ZXh0LWRhcmspXCIgW3dpZHRoXT1cIjE1MlwiIFtoZWlnaHRdPVwiMTU3XCIgW2ljb25OYW1lXT1cImljb24uRW1wdHlcIj5cbiAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX3BsYWNlaG9sZGVyX19oaW50IG0tYm9keS10eXBvXCI+T3Vwcy4uLiBj4oCZZXN0IHZpZGUsIGNvbW1lbmNleiDDoCBham91dGVyIGRlcyB7eyBoaW50IH19ICE8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2FjdGlvbnNcIj5cbiAgICA8dGV4dGFyZWEgbWF0SW5wdXQgY2xhc3M9XCJtLWlucHV0XCIgY2RrVGV4dGFyZWFBdXRvc2l6ZSAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiNFwiXG4gICAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCI0XCIgKGtleWRvd24uZW50ZXIpPSdtb3Vzc2VEb3duT25CdXR0b24gPSB0cnVlJ1xuICAgICAgW2Zvcm1Db250cm9sXT1cImZpbGxMaXN0SW5wdXRcIiBhdHRyLnBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCI+PC90ZXh0YXJlYT5cbiAgICA8YnV0dG9uIGNsYXNzPVwibS1idXR0b24tcHJpbWFyeVwiIChtb3VzZWRvd24pPSdtb3Vzc2VEb3duT25CdXR0b24gPSB0cnVlJyAobW91c2V1cCk9XCJzdWJtaXQoKVwiPlxuICAgICAgQWpvdXRlciA8c3BhbiBjbGFzcz1cIm1pYW0tbGlzdC1pbnB1dF9faW5zdHJ1Y3Rpb25zX19kaXJlY3Rpb25cIj4+Pjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2ICpuZ0lmPVwiaW5zdHJ1Y3Rpb25zXCIgY2xhc3M9XCJtaWFtLWxpc3QtaW5wdXRfX2FjdGlvbnNfX2luc3RydWN0aW9uc1wiPnt7aW5zdHJ1Y3Rpb25zfX08L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|