ng-miam 3.4.0 → 3.4.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.
@@ -1,4 +1,4 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ChangeDetectorRef, Output, EventEmitter, HostListener, ViewChild, ElementRef } from '@angular/core';
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ChangeDetectorRef, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';
2
2
  import { Recipe } from '../../_models/recipe';
3
3
  import { Icon } from '../../_types/icon.enum';
4
4
  import { ContextService, GroceriesListsService, PointOfSalesService, RecipeEventsService, UserService } from '../../_services';
@@ -20,493 +20,506 @@ import * as i10 from "../recipe-addon/recipe-addon.component";
20
20
  import * as i11 from "../../_utils/pipes/capitalize-first-letter/capitalize-first-letter.pipe";
21
21
  import * as i12 from "../../_utils/pipes/readable-float-number/readable-float-number.pipe";
22
22
  const _c0 = ["topContainerImg"];
23
- function RecipeDetailsComponent_div_0_img_5_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵelement(0, "img", 39);
23
+ const _c1 = ["mainContainer"];
24
+ function RecipeDetailsComponent_div_0_img_6_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelement(0, "img", 40);
25
26
  } if (rf & 2) {
26
- const ctx_r4 = i0.ɵɵnextContext(2);
27
- i0.ɵɵproperty("src", ctx_r4.recipe == null ? null : ctx_r4.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
27
+ const ctx_r5 = i0.ɵɵnextContext(2);
28
+ i0.ɵɵproperty("src", ctx_r5.recipe == null ? null : ctx_r5.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
28
29
  } }
29
- function RecipeDetailsComponent_div_0_div_6_Template(rf, ctx) { if (rf & 1) {
30
- i0.ɵɵelement(0, "div", 40);
30
+ function RecipeDetailsComponent_div_0_div_7_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵelement(0, "div", 41);
31
32
  } }
32
- function RecipeDetailsComponent_div_0_youtube_player_7_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelement(0, "youtube-player", 41);
33
+ function RecipeDetailsComponent_div_0_youtube_player_8_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelement(0, "youtube-player", 42);
34
35
  } if (rf & 2) {
35
- const ctx_r6 = i0.ɵɵnextContext(2);
36
- i0.ɵɵproperty("videoId", ctx_r6.recipe.videoId)("width", ctx_r6.playerWidth)("height", ctx_r6.playerHeight);
36
+ const ctx_r7 = i0.ɵɵnextContext(2);
37
+ i0.ɵɵproperty("videoId", ctx_r7.recipe.videoId)("width", ctx_r7.playerWidth)("height", ctx_r7.playerHeight);
37
38
  } }
38
- function RecipeDetailsComponent_div_0_div_8_Template(rf, ctx) { if (rf & 1) {
39
- i0.ɵɵelementStart(0, "div", 42);
39
+ function RecipeDetailsComponent_div_0_div_9_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelementStart(0, "div", 43);
40
41
  i0.ɵɵtext(1, "D\u00E9j\u00E0 ajout\u00E9e");
41
42
  i0.ɵɵelementEnd();
42
43
  } }
43
- function RecipeDetailsComponent_div_0_ng_miam_like_button_11_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵelement(0, "ng-miam-like-button", 43);
44
+ function RecipeDetailsComponent_div_0_ng_miam_like_button_12_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelement(0, "ng-miam-like-button", 44);
45
46
  } if (rf & 2) {
46
- const ctx_r8 = i0.ɵɵnextContext(2);
47
- i0.ɵɵproperty("recipe", ctx_r8.recipe)("width", 26)("height", 26);
47
+ const ctx_r9 = i0.ɵɵnextContext(2);
48
+ i0.ɵɵproperty("recipe", ctx_r9.recipe)("width", 26)("height", 26);
48
49
  } }
49
- function RecipeDetailsComponent_div_0_img_15_Template(rf, ctx) { if (rf & 1) {
50
- i0.ɵɵelement(0, "img", 44);
50
+ function RecipeDetailsComponent_div_0_img_16_Template(rf, ctx) { if (rf & 1) {
51
+ i0.ɵɵelement(0, "img", 45);
51
52
  } if (rf & 2) {
52
- const ctx_r9 = i0.ɵɵnextContext(2);
53
- i0.ɵɵpropertyInterpolate("src", ctx_r9.recipe.filigraneLogoUrl, i0.ɵɵsanitizeUrl);
53
+ const ctx_r10 = i0.ɵɵnextContext(2);
54
+ i0.ɵɵpropertyInterpolate("src", ctx_r10.recipe.filigraneLogoUrl, i0.ɵɵsanitizeUrl);
54
55
  } }
55
- function RecipeDetailsComponent_div_0_div_22_Template(rf, ctx) { if (rf & 1) {
56
- i0.ɵɵelementStart(0, "div", 45);
56
+ function RecipeDetailsComponent_div_0_div_23_Template(rf, ctx) { if (rf & 1) {
57
+ i0.ɵɵelementStart(0, "div", 46);
57
58
  i0.ɵɵelementStart(1, "span");
58
59
  i0.ɵɵtext(2, "Pr\u00E9paration");
59
60
  i0.ɵɵelementEnd();
60
- i0.ɵɵelementStart(3, "div", 46);
61
- i0.ɵɵelement(4, "ng-miam-icon", 47);
61
+ i0.ɵɵelementStart(3, "div", 47);
62
+ i0.ɵɵelement(4, "ng-miam-icon", 48);
62
63
  i0.ɵɵelementStart(5, "span");
63
64
  i0.ɵɵtext(6);
64
65
  i0.ɵɵelementEnd();
65
66
  i0.ɵɵelementEnd();
66
67
  i0.ɵɵelementEnd();
67
68
  } if (rf & 2) {
68
- const ctx_r10 = i0.ɵɵnextContext(2);
69
+ const ctx_r11 = i0.ɵɵnextContext(2);
69
70
  i0.ɵɵadvance(4);
70
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r10.icon.Preparation);
71
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r11.icon.Preparation);
71
72
  i0.ɵɵadvance(2);
72
- i0.ɵɵtextInterpolate(ctx_r10.recipe == null ? null : ctx_r10.recipe.preparationTime);
73
+ i0.ɵɵtextInterpolate(ctx_r11.recipe == null ? null : ctx_r11.recipe.preparationTime);
73
74
  } }
74
- function RecipeDetailsComponent_div_0_div_23_Template(rf, ctx) { if (rf & 1) {
75
- i0.ɵɵelementStart(0, "div", 45);
75
+ function RecipeDetailsComponent_div_0_div_24_Template(rf, ctx) { if (rf & 1) {
76
+ i0.ɵɵelementStart(0, "div", 46);
76
77
  i0.ɵɵelementStart(1, "span");
77
78
  i0.ɵɵtext(2, "Cuisson");
78
79
  i0.ɵɵelementEnd();
79
- i0.ɵɵelementStart(3, "div", 46);
80
- i0.ɵɵelement(4, "ng-miam-icon", 47);
80
+ i0.ɵɵelementStart(3, "div", 47);
81
+ i0.ɵɵelement(4, "ng-miam-icon", 48);
81
82
  i0.ɵɵelementStart(5, "span");
82
83
  i0.ɵɵtext(6);
83
84
  i0.ɵɵelementEnd();
84
85
  i0.ɵɵelementEnd();
85
86
  i0.ɵɵelementEnd();
86
87
  } if (rf & 2) {
87
- const ctx_r11 = i0.ɵɵnextContext(2);
88
+ const ctx_r12 = i0.ɵɵnextContext(2);
88
89
  i0.ɵɵadvance(4);
89
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r11.icon.Hot);
90
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r12.icon.Hot);
90
91
  i0.ɵɵadvance(2);
91
- i0.ɵɵtextInterpolate(ctx_r11.recipe == null ? null : ctx_r11.recipe.cookingTime);
92
+ i0.ɵɵtextInterpolate(ctx_r12.recipe == null ? null : ctx_r12.recipe.cookingTime);
92
93
  } }
93
- function RecipeDetailsComponent_div_0_div_24_Template(rf, ctx) { if (rf & 1) {
94
- i0.ɵɵelementStart(0, "div", 45);
94
+ function RecipeDetailsComponent_div_0_div_25_Template(rf, ctx) { if (rf & 1) {
95
+ i0.ɵɵelementStart(0, "div", 46);
95
96
  i0.ɵɵelementStart(1, "span");
96
97
  i0.ɵɵtext(2, "Repos");
97
98
  i0.ɵɵelementEnd();
98
- i0.ɵɵelementStart(3, "div", 46);
99
- i0.ɵɵelement(4, "ng-miam-icon", 47);
99
+ i0.ɵɵelementStart(3, "div", 47);
100
+ i0.ɵɵelement(4, "ng-miam-icon", 48);
100
101
  i0.ɵɵelementStart(5, "span");
101
102
  i0.ɵɵtext(6);
102
103
  i0.ɵɵelementEnd();
103
104
  i0.ɵɵelementEnd();
104
105
  i0.ɵɵelementEnd();
105
106
  } if (rf & 2) {
106
- const ctx_r12 = i0.ɵɵnextContext(2);
107
+ const ctx_r13 = i0.ɵɵnextContext(2);
107
108
  i0.ɵɵadvance(4);
108
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r12.icon.Wait);
109
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ctx_r13.icon.Wait);
109
110
  i0.ɵɵadvance(2);
110
- i0.ɵɵtextInterpolate(ctx_r12.recipe == null ? null : ctx_r12.recipe.restingTime);
111
- } }
112
- function RecipeDetailsComponent_div_0_ng_container_34_Template(rf, ctx) { if (rf & 1) {
113
- i0.ɵɵelementContainerStart(0);
114
- i0.ɵɵelement(1, "ng-miam-icon", 48);
115
- i0.ɵɵelementContainerEnd();
116
- } if (rf & 2) {
117
- const ctx_r13 = i0.ɵɵnextContext(2);
118
- i0.ɵɵadvance(1);
119
- i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r13.icon.DifficultyLow);
111
+ i0.ɵɵtextInterpolate(ctx_r13.recipe == null ? null : ctx_r13.recipe.restingTime);
120
112
  } }
121
113
  function RecipeDetailsComponent_div_0_ng_container_35_Template(rf, ctx) { if (rf & 1) {
122
114
  i0.ɵɵelementContainerStart(0);
123
- i0.ɵɵelement(1, "ng-miam-icon", 48);
115
+ i0.ɵɵelement(1, "ng-miam-icon", 49);
124
116
  i0.ɵɵelementContainerEnd();
125
117
  } if (rf & 2) {
126
118
  const ctx_r14 = i0.ɵɵnextContext(2);
127
119
  i0.ɵɵadvance(1);
128
- i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r14.icon.DifficultyMedium);
120
+ i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r14.icon.DifficultyLow);
129
121
  } }
130
122
  function RecipeDetailsComponent_div_0_ng_container_36_Template(rf, ctx) { if (rf & 1) {
131
123
  i0.ɵɵelementContainerStart(0);
132
- i0.ɵɵelement(1, "ng-miam-icon", 48);
124
+ i0.ɵɵelement(1, "ng-miam-icon", 49);
133
125
  i0.ɵɵelementContainerEnd();
134
126
  } if (rf & 2) {
135
127
  const ctx_r15 = i0.ɵɵnextContext(2);
136
128
  i0.ɵɵadvance(1);
137
- i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r15.icon.DifficultyHight);
129
+ i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r15.icon.DifficultyMedium);
138
130
  } }
139
131
  function RecipeDetailsComponent_div_0_ng_container_37_Template(rf, ctx) { if (rf & 1) {
132
+ i0.ɵɵelementContainerStart(0);
133
+ i0.ɵɵelement(1, "ng-miam-icon", 49);
134
+ i0.ɵɵelementContainerEnd();
135
+ } if (rf & 2) {
136
+ const ctx_r16 = i0.ɵɵnextContext(2);
137
+ i0.ɵɵadvance(1);
138
+ i0.ɵɵproperty("width", 56)("height", 16)("iconName", ctx_r16.icon.DifficultyHight);
139
+ } }
140
+ function RecipeDetailsComponent_div_0_ng_container_38_Template(rf, ctx) { if (rf & 1) {
140
141
  i0.ɵɵelementContainer(0);
141
142
  } }
142
- function RecipeDetailsComponent_div_0_button_50_Template(rf, ctx) { if (rf & 1) {
143
- const _r24 = i0.ɵɵgetCurrentView();
144
- i0.ɵɵelementStart(0, "button", 49);
145
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_50_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return ctx_r23.addRecipe(); });
143
+ function RecipeDetailsComponent_div_0_button_51_Template(rf, ctx) { if (rf & 1) {
144
+ const _r25 = i0.ɵɵgetCurrentView();
145
+ i0.ɵɵelementStart(0, "button", 50);
146
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_51_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(2); return ctx_r24.addRecipe(); });
146
147
  i0.ɵɵelementStart(1, "span");
147
148
  i0.ɵɵtext(2);
148
149
  i0.ɵɵpipe(3, "async");
149
150
  i0.ɵɵelementEnd();
150
- i0.ɵɵelement(4, "ng-miam-icon", 50);
151
+ i0.ɵɵelement(4, "ng-miam-icon", 51);
151
152
  i0.ɵɵpipe(5, "async");
152
153
  i0.ɵɵelementEnd();
153
154
  } if (rf & 2) {
154
- const ctx_r17 = i0.ɵɵnextContext(2);
155
+ const ctx_r18 = i0.ɵɵnextContext(2);
155
156
  var tmp_0_0 = null;
156
157
  var tmp_3_0 = null;
157
158
  i0.ɵɵadvance(2);
158
- i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r17.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r17.recipe == null ? null : ctx_r17.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
159
+ i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r18.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
159
160
  i0.ɵɵadvance(2);
160
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r17.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r17.recipe == null ? null : ctx_r17.recipe.id)) ? ctx_r17.icon.CheckList : ctx_r17.icon.Cart);
161
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r18.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)) ? ctx_r18.icon.CheckList : ctx_r18.icon.Cart);
161
162
  } }
162
- function RecipeDetailsComponent_div_0_ng_miam_addon_link_53_Template(rf, ctx) { if (rf & 1) {
163
- const _r26 = i0.ɵɵgetCurrentView();
164
- i0.ɵɵelementStart(0, "ng-miam-addon-link", 51);
165
- i0.ɵɵlistener("showAddon", function RecipeDetailsComponent_div_0_ng_miam_addon_link_53_Template_ng_miam_addon_link_showAddon_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return ctx_r25.toggleAddon(); });
163
+ function RecipeDetailsComponent_div_0_ng_miam_addon_link_54_Template(rf, ctx) { if (rf & 1) {
164
+ const _r27 = i0.ɵɵgetCurrentView();
165
+ i0.ɵɵelementStart(0, "ng-miam-addon-link", 52);
166
+ i0.ɵɵlistener("showAddon", function RecipeDetailsComponent_div_0_ng_miam_addon_link_54_Template_ng_miam_addon_link_showAddon_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(2); return ctx_r26.toggleAddon(); });
166
167
  i0.ɵɵelementEnd();
167
168
  } if (rf & 2) {
168
- const ctx_r18 = i0.ɵɵnextContext(2);
169
- i0.ɵɵproperty("recipe", ctx_r18.recipe);
169
+ const ctx_r19 = i0.ɵɵnextContext(2);
170
+ i0.ɵɵproperty("recipe", ctx_r19.recipe);
170
171
  } }
171
- const _c1 = function (a0) { return { "checked": a0 }; };
172
- function RecipeDetailsComponent_div_0_div_54_div_12_Template(rf, ctx) { if (rf & 1) {
173
- i0.ɵɵelementStart(0, "div", 65);
174
- i0.ɵɵelementStart(1, "div");
175
- i0.ɵɵtext(2);
176
- i0.ɵɵpipe(3, "capitalizeFirstLetter");
172
+ function RecipeDetailsComponent_div_0_div_55_div_12_div_1_Template(rf, ctx) { if (rf & 1) {
173
+ i0.ɵɵelementStart(0, "div");
174
+ i0.ɵɵelement(1, "img", 68);
177
175
  i0.ɵɵelementEnd();
178
- i0.ɵɵelementStart(4, "div", 59);
179
- i0.ɵɵtext(5);
180
- i0.ɵɵpipe(6, "readableFloatNumber");
176
+ } if (rf & 2) {
177
+ const ingredient_r30 = i0.ɵɵnextContext().$implicit;
178
+ const ctx_r32 = i0.ɵɵnextContext(3);
179
+ i0.ɵɵadvance(1);
180
+ i0.ɵɵproperty("src", ctx_r32.ingredientPicture(ingredient_r30), i0.ɵɵsanitizeUrl);
181
+ } }
182
+ const _c2 = function (a0) { return { "checked": a0 }; };
183
+ function RecipeDetailsComponent_div_0_div_55_div_12_Template(rf, ctx) { if (rf & 1) {
184
+ i0.ɵɵelementStart(0, "div", 66);
185
+ i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_div_55_div_12_div_1_Template, 2, 1, "div", 67);
186
+ i0.ɵɵelementStart(2, "div");
187
+ i0.ɵɵtext(3);
188
+ i0.ɵɵpipe(4, "capitalizeFirstLetter");
189
+ i0.ɵɵelementEnd();
190
+ i0.ɵɵelementStart(5, "div", 60);
191
+ i0.ɵɵtext(6);
192
+ i0.ɵɵpipe(7, "readableFloatNumber");
181
193
  i0.ɵɵelementEnd();
182
194
  i0.ɵɵelementEnd();
183
195
  } if (rf & 2) {
184
- const ingredient_r29 = ctx.$implicit;
185
- const i_r30 = ctx.index;
186
- const ctx_r27 = i0.ɵɵnextContext(3);
187
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1, ctx_r27.ingredientsChecked[i_r30]));
196
+ const ingredient_r30 = ctx.$implicit;
197
+ const i_r31 = ctx.index;
198
+ const ctx_r28 = i0.ɵɵnextContext(3);
199
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2, ctx_r28.ingredientsChecked[i_r31]));
200
+ i0.ɵɵadvance(1);
201
+ i0.ɵɵproperty("ngIf", ctx_r28.ingredientsPictures);
188
202
  i0.ɵɵadvance(2);
189
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, ingredient_r29.name), "");
203
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, ingredient_r30.name), "");
190
204
  i0.ɵɵadvance(3);
191
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 5, ingredient_r29.qty, ingredient_r29.unit), "");
205
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(7, 6, ingredient_r30.qty, ingredient_r30.unit), "");
192
206
  } }
193
- function RecipeDetailsComponent_div_0_div_54_div_17_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
194
- i0.ɵɵelement(0, "ng-miam-icon", 70);
207
+ function RecipeDetailsComponent_div_0_div_55_div_17_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
208
+ i0.ɵɵelement(0, "ng-miam-icon", 73);
195
209
  } if (rf & 2) {
196
- const ctx_r33 = i0.ɵɵnextContext(4);
197
- i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r33.icon.CheckCircleFill);
210
+ const ctx_r36 = i0.ɵɵnextContext(4);
211
+ i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r36.icon.CheckCircleFill);
198
212
  } }
199
- function RecipeDetailsComponent_div_0_div_54_div_17_Template(rf, ctx) { if (rf & 1) {
200
- const _r35 = i0.ɵɵgetCurrentView();
201
- i0.ɵɵelementStart(0, "div", 66);
202
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_54_div_17_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r35); const i_r32 = ctx.index; const ctx_r34 = i0.ɵɵnextContext(3); return ctx_r34.changeActiveStep(i_r32); });
203
- i0.ɵɵelementStart(1, "div", 67);
213
+ function RecipeDetailsComponent_div_0_div_55_div_17_Template(rf, ctx) { if (rf & 1) {
214
+ const _r38 = i0.ɵɵgetCurrentView();
215
+ i0.ɵɵelementStart(0, "div", 69);
216
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_div_55_div_17_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r38); const i_r35 = ctx.index; const ctx_r37 = i0.ɵɵnextContext(3); return ctx_r37.changeActiveStep(i_r35); });
217
+ i0.ɵɵelementStart(1, "div", 70);
204
218
  i0.ɵɵelementStart(2, "strong");
205
219
  i0.ɵɵtext(3);
206
220
  i0.ɵɵelementEnd();
207
221
  i0.ɵɵelementEnd();
208
- i0.ɵɵelementStart(4, "div", 68);
222
+ i0.ɵɵelementStart(4, "div", 71);
209
223
  i0.ɵɵtext(5);
210
224
  i0.ɵɵelementEnd();
211
- i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_div_54_div_17_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 69);
225
+ i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_div_55_div_17_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 72);
212
226
  i0.ɵɵelementEnd();
213
227
  } if (rf & 2) {
214
- const step_r31 = ctx.$implicit;
215
- const i_r32 = ctx.index;
216
- const ctx_r28 = i0.ɵɵnextContext(3);
217
- i0.ɵɵclassProp("active", i_r32 === ctx_r28.activeStep)("miam-recipe-details__panel__done", i_r32 < ctx_r28.activeStep);
228
+ const step_r34 = ctx.$implicit;
229
+ const i_r35 = ctx.index;
230
+ const ctx_r29 = i0.ɵɵnextContext(3);
231
+ i0.ɵɵclassProp("active", i_r35 === ctx_r29.activeStep)("miam-recipe-details__panel__done", i_r35 < ctx_r29.activeStep);
218
232
  i0.ɵɵadvance(3);
219
- i0.ɵɵtextInterpolate(i_r32);
233
+ i0.ɵɵtextInterpolate(i_r35 + 1);
220
234
  i0.ɵɵadvance(2);
221
- i0.ɵɵtextInterpolate(step_r31 == null ? null : step_r31.attributes == null ? null : step_r31.attributes.description);
235
+ i0.ɵɵtextInterpolate(step_r34 == null ? null : step_r34.attributes == null ? null : step_r34.attributes.description);
222
236
  i0.ɵɵadvance(1);
223
- i0.ɵɵproperty("ngIf", i_r32 <= ctx_r28.activeStep);
237
+ i0.ɵɵproperty("ngIf", i_r35 <= ctx_r29.activeStep);
224
238
  } }
225
- function RecipeDetailsComponent_div_0_div_54_Template(rf, ctx) { if (rf & 1) {
226
- const _r37 = i0.ɵɵgetCurrentView();
227
- i0.ɵɵelementStart(0, "div", 52);
228
- i0.ɵɵelementStart(1, "div", 53);
229
- i0.ɵɵelementStart(2, "div", 54);
239
+ function RecipeDetailsComponent_div_0_div_55_Template(rf, ctx) { if (rf & 1) {
240
+ const _r40 = i0.ɵɵgetCurrentView();
241
+ i0.ɵɵelementStart(0, "div", 53);
242
+ i0.ɵɵelementStart(1, "div", 54);
243
+ i0.ɵɵelementStart(2, "div", 55);
230
244
  i0.ɵɵtext(3, " Ingr\u00E9dients ");
231
245
  i0.ɵɵelementEnd();
232
- i0.ɵɵelementStart(4, "div", 55);
233
- i0.ɵɵelementStart(5, "div", 56);
234
- i0.ɵɵelementStart(6, "ng-miam-counter-input", 57);
235
- i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_div_54_Template_ng_miam_counter_input_counterChange_6_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(2); return ctx_r36.updateGuests($event); });
246
+ i0.ɵɵelementStart(4, "div", 56);
247
+ i0.ɵɵelementStart(5, "div", 57);
248
+ i0.ɵɵelementStart(6, "ng-miam-counter-input", 58);
249
+ i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_div_55_Template_ng_miam_counter_input_counterChange_6_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(2); return ctx_r39.updateGuests($event); });
236
250
  i0.ɵɵelementEnd();
237
- i0.ɵɵelementStart(7, "span", 58);
251
+ i0.ɵɵelementStart(7, "span", 59);
238
252
  i0.ɵɵtext(8);
239
253
  i0.ɵɵelementEnd();
240
254
  i0.ɵɵelementEnd();
241
- i0.ɵɵelementStart(9, "span", 59);
255
+ i0.ɵɵelementStart(9, "span", 60);
242
256
  i0.ɵɵtext(10, "Quantit\u00E9");
243
257
  i0.ɵɵelementEnd();
244
258
  i0.ɵɵelementEnd();
245
- i0.ɵɵelementStart(11, "div", 60);
246
- i0.ɵɵtemplate(12, RecipeDetailsComponent_div_0_div_54_div_12_Template, 7, 10, "div", 61);
259
+ i0.ɵɵelementStart(11, "div", 61);
260
+ i0.ɵɵtemplate(12, RecipeDetailsComponent_div_0_div_55_div_12_Template, 8, 11, "div", 62);
247
261
  i0.ɵɵelementEnd();
248
262
  i0.ɵɵelementEnd();
249
- i0.ɵɵelementStart(13, "div", 62);
250
- i0.ɵɵelementStart(14, "div", 54);
263
+ i0.ɵɵelementStart(13, "div", 63);
264
+ i0.ɵɵelementStart(14, "div", 55);
251
265
  i0.ɵɵtext(15, " Pr\u00E9paration ");
252
266
  i0.ɵɵelementEnd();
253
- i0.ɵɵelementStart(16, "div", 63);
254
- i0.ɵɵtemplate(17, RecipeDetailsComponent_div_0_div_54_div_17_Template, 7, 7, "div", 64);
267
+ i0.ɵɵelementStart(16, "div", 64);
268
+ i0.ɵɵtemplate(17, RecipeDetailsComponent_div_0_div_55_div_17_Template, 7, 7, "div", 65);
255
269
  i0.ɵɵelementEnd();
256
270
  i0.ɵɵelementEnd();
257
271
  i0.ɵɵelementEnd();
258
272
  } if (rf & 2) {
259
- const ctx_r19 = i0.ɵɵnextContext(2);
273
+ const ctx_r20 = i0.ɵɵnextContext(2);
260
274
  i0.ɵɵadvance(6);
261
- i0.ɵɵproperty("counter", (ctx_r19.recipe == null ? null : ctx_r19.recipe.modifiedGuests) || ctx_r19.recipe.guests);
275
+ i0.ɵɵproperty("counter", (ctx_r20.recipe == null ? null : ctx_r20.recipe.modifiedGuests) || ctx_r20.recipe.guests);
262
276
  i0.ɵɵadvance(2);
263
- i0.ɵɵtextInterpolate1("Pour ", ctx_r19.recipe == null ? null : ctx_r19.recipe.modifiedGuests, " personnes");
277
+ i0.ɵɵtextInterpolate1("Pour ", ctx_r20.recipe == null ? null : ctx_r20.recipe.modifiedGuests, " personnes");
264
278
  i0.ɵɵadvance(4);
265
- i0.ɵɵproperty("ngForOf", ctx_r19.recipe == null ? null : ctx_r19.recipe.modifiedIngredients);
279
+ i0.ɵɵproperty("ngForOf", ctx_r20.recipe == null ? null : ctx_r20.recipe.modifiedIngredients);
266
280
  i0.ɵɵadvance(5);
267
- i0.ɵɵproperty("ngForOf", ctx_r19.steps);
281
+ i0.ɵɵproperty("ngForOf", ctx_r20.steps);
268
282
  } }
269
- function RecipeDetailsComponent_div_0_ng_template_55_ng_container_7_div_9_Template(rf, ctx) { if (rf & 1) {
270
- i0.ɵɵelementStart(0, "div", 65);
283
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_div_9_Template(rf, ctx) { if (rf & 1) {
284
+ i0.ɵɵelementStart(0, "div", 66);
271
285
  i0.ɵɵelementStart(1, "div");
272
286
  i0.ɵɵtext(2);
273
287
  i0.ɵɵpipe(3, "capitalizeFirstLetter");
274
288
  i0.ɵɵelementEnd();
275
- i0.ɵɵelementStart(4, "div", 59);
289
+ i0.ɵɵelementStart(4, "div", 60);
276
290
  i0.ɵɵtext(5);
277
291
  i0.ɵɵpipe(6, "readableFloatNumber");
278
292
  i0.ɵɵelementEnd();
279
293
  i0.ɵɵelementEnd();
280
294
  } if (rf & 2) {
281
- const ingredient_r43 = ctx.$implicit;
282
- const i_r44 = ctx.index;
283
- const ctx_r42 = i0.ɵɵnextContext(4);
284
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1, ctx_r42.ingredientsChecked[i_r44]));
295
+ const ingredient_r46 = ctx.$implicit;
296
+ const i_r47 = ctx.index;
297
+ const ctx_r45 = i0.ɵɵnextContext(4);
298
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r45.ingredientsChecked[i_r47]));
285
299
  i0.ɵɵadvance(2);
286
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, ingredient_r43.name), "");
300
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, ingredient_r46.name), "");
287
301
  i0.ɵɵadvance(3);
288
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 5, ingredient_r43.qty, ingredient_r43.unit), "");
302
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(6, 5, ingredient_r46.qty, ingredient_r46.unit), "");
289
303
  } }
290
- function RecipeDetailsComponent_div_0_ng_template_55_ng_container_7_Template(rf, ctx) { if (rf & 1) {
291
- const _r46 = i0.ɵɵgetCurrentView();
304
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_Template(rf, ctx) { if (rf & 1) {
305
+ const _r49 = i0.ɵɵgetCurrentView();
292
306
  i0.ɵɵelementContainerStart(0);
293
- i0.ɵɵelementStart(1, "div", 55);
294
- i0.ɵɵelementStart(2, "div", 56);
295
- i0.ɵɵelementStart(3, "ng-miam-counter-input", 57);
296
- i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_ng_template_55_ng_container_7_Template_ng_miam_counter_input_counterChange_3_listener($event) { i0.ɵɵrestoreView(_r46); const ctx_r45 = i0.ɵɵnextContext(3); return ctx_r45.updateGuests($event); });
307
+ i0.ɵɵelementStart(1, "div", 56);
308
+ i0.ɵɵelementStart(2, "div", 57);
309
+ i0.ɵɵelementStart(3, "ng-miam-counter-input", 58);
310
+ i0.ɵɵlistener("counterChange", function RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_Template_ng_miam_counter_input_counterChange_3_listener($event) { i0.ɵɵrestoreView(_r49); const ctx_r48 = i0.ɵɵnextContext(3); return ctx_r48.updateGuests($event); });
297
311
  i0.ɵɵelementEnd();
298
- i0.ɵɵelementStart(4, "span", 58);
312
+ i0.ɵɵelementStart(4, "span", 59);
299
313
  i0.ɵɵtext(5);
300
314
  i0.ɵɵelementEnd();
301
315
  i0.ɵɵelementEnd();
302
- i0.ɵɵelementStart(6, "span", 59);
316
+ i0.ɵɵelementStart(6, "span", 60);
303
317
  i0.ɵɵtext(7, "Quantit\u00E9");
304
318
  i0.ɵɵelementEnd();
305
319
  i0.ɵɵelementEnd();
306
- i0.ɵɵelementStart(8, "div", 60);
307
- i0.ɵɵtemplate(9, RecipeDetailsComponent_div_0_ng_template_55_ng_container_7_div_9_Template, 7, 10, "div", 61);
320
+ i0.ɵɵelementStart(8, "div", 61);
321
+ i0.ɵɵtemplate(9, RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_div_9_Template, 7, 10, "div", 62);
308
322
  i0.ɵɵelementEnd();
309
323
  i0.ɵɵelementContainerEnd();
310
324
  } if (rf & 2) {
311
- const ctx_r39 = i0.ɵɵnextContext(3);
325
+ const ctx_r42 = i0.ɵɵnextContext(3);
312
326
  i0.ɵɵadvance(3);
313
- i0.ɵɵproperty("counter", ctx_r39.recipe == null ? null : ctx_r39.recipe.modifiedGuests);
327
+ i0.ɵɵproperty("counter", ctx_r42.recipe == null ? null : ctx_r42.recipe.modifiedGuests);
314
328
  i0.ɵɵadvance(2);
315
- i0.ɵɵtextInterpolate1("Pour ", ctx_r39.recipe == null ? null : ctx_r39.recipe.modifiedGuests, " personnes");
329
+ i0.ɵɵtextInterpolate1("Pour ", ctx_r42.recipe == null ? null : ctx_r42.recipe.modifiedGuests, " personnes");
316
330
  i0.ɵɵadvance(4);
317
- i0.ɵɵproperty("ngForOf", ctx_r39.recipe == null ? null : ctx_r39.recipe.modifiedIngredients);
331
+ i0.ɵɵproperty("ngForOf", ctx_r42.recipe == null ? null : ctx_r42.recipe.modifiedIngredients);
318
332
  } }
319
- function RecipeDetailsComponent_div_0_ng_template_55_ng_template_8_div_1_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
320
- i0.ɵɵelement(0, "ng-miam-icon", 70);
333
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_ng_miam_icon_6_Template(rf, ctx) { if (rf & 1) {
334
+ i0.ɵɵelement(0, "ng-miam-icon", 73);
321
335
  } if (rf & 2) {
322
- const ctx_r50 = i0.ɵɵnextContext(5);
323
- i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r50.icon.CheckCircleFill);
336
+ const ctx_r53 = i0.ɵɵnextContext(5);
337
+ i0.ɵɵproperty("height", 16)("width", 16)("iconName", ctx_r53.icon.CheckCircleFill);
324
338
  } }
325
- function RecipeDetailsComponent_div_0_ng_template_55_ng_template_8_div_1_Template(rf, ctx) { if (rf & 1) {
326
- const _r52 = i0.ɵɵgetCurrentView();
327
- i0.ɵɵelementStart(0, "div", 66);
328
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_55_ng_template_8_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r52); const i_r49 = ctx.index; const ctx_r51 = i0.ɵɵnextContext(4); return ctx_r51.changeActiveStep(i_r49); });
329
- i0.ɵɵelementStart(1, "div", 67);
339
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_Template(rf, ctx) { if (rf & 1) {
340
+ const _r55 = i0.ɵɵgetCurrentView();
341
+ i0.ɵɵelementStart(0, "div", 69);
342
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r55); const i_r52 = ctx.index; const ctx_r54 = i0.ɵɵnextContext(4); return ctx_r54.changeActiveStep(i_r52); });
343
+ i0.ɵɵelementStart(1, "div", 70);
330
344
  i0.ɵɵelementStart(2, "strong");
331
345
  i0.ɵɵtext(3);
332
346
  i0.ɵɵelementEnd();
333
347
  i0.ɵɵelementEnd();
334
- i0.ɵɵelementStart(4, "div", 68);
348
+ i0.ɵɵelementStart(4, "div", 71);
335
349
  i0.ɵɵtext(5);
336
350
  i0.ɵɵelementEnd();
337
- i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_ng_template_55_ng_template_8_div_1_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 69);
351
+ i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_ng_miam_icon_6_Template, 1, 3, "ng-miam-icon", 72);
338
352
  i0.ɵɵelementEnd();
339
353
  } if (rf & 2) {
340
- const step_r48 = ctx.$implicit;
341
- const i_r49 = ctx.index;
342
- const ctx_r47 = i0.ɵɵnextContext(4);
343
- i0.ɵɵclassProp("active", i_r49 === ctx_r47.activeStep)("miam-recipe-details__panel__done", i_r49 < ctx_r47.activeStep);
354
+ const step_r51 = ctx.$implicit;
355
+ const i_r52 = ctx.index;
356
+ const ctx_r50 = i0.ɵɵnextContext(4);
357
+ i0.ɵɵclassProp("active", i_r52 === ctx_r50.activeStep)("miam-recipe-details__panel__done", i_r52 < ctx_r50.activeStep);
344
358
  i0.ɵɵadvance(3);
345
- i0.ɵɵtextInterpolate(i_r49);
359
+ i0.ɵɵtextInterpolate(i_r52 + 1);
346
360
  i0.ɵɵadvance(2);
347
- i0.ɵɵtextInterpolate(step_r48 == null ? null : step_r48.attributes == null ? null : step_r48.attributes.description);
361
+ i0.ɵɵtextInterpolate(step_r51 == null ? null : step_r51.attributes == null ? null : step_r51.attributes.description);
348
362
  i0.ɵɵadvance(1);
349
- i0.ɵɵproperty("ngIf", i_r49 <= ctx_r47.activeStep);
363
+ i0.ɵɵproperty("ngIf", i_r52 <= ctx_r50.activeStep);
350
364
  } }
351
- function RecipeDetailsComponent_div_0_ng_template_55_ng_template_8_Template(rf, ctx) { if (rf & 1) {
352
- i0.ɵɵelementStart(0, "div", 63);
353
- i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_ng_template_55_ng_template_8_div_1_Template, 7, 7, "div", 64);
365
+ function RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_Template(rf, ctx) { if (rf & 1) {
366
+ i0.ɵɵelementStart(0, "div", 64);
367
+ i0.ɵɵtemplate(1, RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_div_1_Template, 7, 7, "div", 65);
354
368
  i0.ɵɵelementEnd();
355
369
  } if (rf & 2) {
356
- const ctx_r41 = i0.ɵɵnextContext(3);
370
+ const ctx_r44 = i0.ɵɵnextContext(3);
357
371
  i0.ɵɵadvance(1);
358
- i0.ɵɵproperty("ngForOf", ctx_r41.steps);
372
+ i0.ɵɵproperty("ngForOf", ctx_r44.steps);
359
373
  } }
360
- const _c2 = function (a0) { return { "active": a0 }; };
361
- function RecipeDetailsComponent_div_0_ng_template_55_Template(rf, ctx) { if (rf & 1) {
362
- const _r54 = i0.ɵɵgetCurrentView();
363
- i0.ɵɵelementStart(0, "div", 71, 72);
364
- i0.ɵɵelementStart(2, "div", 73);
365
- i0.ɵɵelementStart(3, "button", 74);
366
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_55_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r54); const _r38 = i0.ɵɵreference(1); const ctx_r53 = i0.ɵɵnextContext(2); ctx_r53.toggleShowIngredient(true); return _r38.scrollIntoView(); });
374
+ const _c3 = function (a0) { return { "active": a0 }; };
375
+ function RecipeDetailsComponent_div_0_ng_template_56_Template(rf, ctx) { if (rf & 1) {
376
+ const _r57 = i0.ɵɵgetCurrentView();
377
+ i0.ɵɵelementStart(0, "div", 74, 75);
378
+ i0.ɵɵelementStart(2, "div", 76);
379
+ i0.ɵɵelementStart(3, "button", 77);
380
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_56_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r57); const _r41 = i0.ɵɵreference(1); const ctx_r56 = i0.ɵɵnextContext(2); ctx_r56.toggleShowIngredient(true); return _r41.scrollIntoView(); });
367
381
  i0.ɵɵtext(4, "Ingredients");
368
382
  i0.ɵɵelementEnd();
369
- i0.ɵɵelementStart(5, "button", 74);
370
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_55_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r54); const _r38 = i0.ɵɵreference(1); const ctx_r55 = i0.ɵɵnextContext(2); ctx_r55.toggleShowIngredient(false); return _r38.scrollIntoView(); });
383
+ i0.ɵɵelementStart(5, "button", 77);
384
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_ng_template_56_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r57); const _r41 = i0.ɵɵreference(1); const ctx_r58 = i0.ɵɵnextContext(2); ctx_r58.toggleShowIngredient(false); return _r41.scrollIntoView(); });
371
385
  i0.ɵɵtext(6, "Pr\u00E9paration");
372
386
  i0.ɵɵelementEnd();
373
387
  i0.ɵɵelementEnd();
374
- i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_ng_template_55_ng_container_7_Template, 10, 3, "ng-container", 75);
375
- i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_ng_template_55_ng_template_8_Template, 2, 1, "ng-template", null, 76, i0.ɵɵtemplateRefExtractor);
388
+ i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_ng_template_56_ng_container_7_Template, 10, 3, "ng-container", 78);
389
+ i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_ng_template_56_ng_template_8_Template, 2, 1, "ng-template", null, 79, i0.ɵɵtemplateRefExtractor);
376
390
  i0.ɵɵelementEnd();
377
391
  } if (rf & 2) {
378
- const _r40 = i0.ɵɵreference(9);
379
- const ctx_r21 = i0.ɵɵnextContext(2);
392
+ const _r43 = i0.ɵɵreference(9);
393
+ const ctx_r22 = i0.ɵɵnextContext(2);
380
394
  i0.ɵɵadvance(3);
381
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c2, ctx_r21.showIngredient));
395
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c3, ctx_r22.showIngredient));
382
396
  i0.ɵɵadvance(2);
383
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c2, !ctx_r21.showIngredient));
397
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c3, !ctx_r22.showIngredient));
384
398
  i0.ɵɵadvance(2);
385
- i0.ɵɵproperty("ngIf", ctx_r21.showIngredient)("ngIfElse", _r40);
399
+ i0.ɵɵproperty("ngIf", ctx_r22.showIngredient)("ngIfElse", _r43);
386
400
  } }
387
- function RecipeDetailsComponent_div_0_button_61_Template(rf, ctx) { if (rf & 1) {
388
- const _r57 = i0.ɵɵgetCurrentView();
389
- i0.ɵɵelementStart(0, "button", 49);
390
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_61_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r57); const ctx_r56 = i0.ɵɵnextContext(2); return ctx_r56.addRecipe(); });
401
+ function RecipeDetailsComponent_div_0_button_62_Template(rf, ctx) { if (rf & 1) {
402
+ const _r60 = i0.ɵɵgetCurrentView();
403
+ i0.ɵɵelementStart(0, "button", 50);
404
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_button_62_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(2); return ctx_r59.addRecipe(); });
391
405
  i0.ɵɵelementStart(1, "span");
392
406
  i0.ɵɵtext(2);
393
407
  i0.ɵɵpipe(3, "async");
394
408
  i0.ɵɵelementEnd();
395
- i0.ɵɵelement(4, "ng-miam-icon", 50);
409
+ i0.ɵɵelement(4, "ng-miam-icon", 51);
396
410
  i0.ɵɵpipe(5, "async");
397
411
  i0.ɵɵelementEnd();
398
412
  } if (rf & 2) {
399
- const ctx_r22 = i0.ɵɵnextContext(2);
413
+ const ctx_r23 = i0.ɵɵnextContext(2);
400
414
  var tmp_0_0 = null;
401
415
  var tmp_3_0 = null;
402
416
  i0.ɵɵadvance(2);
403
- i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r22.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r22.recipe == null ? null : ctx_r22.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
417
+ i0.ɵɵtextInterpolate1(" ", ((tmp_0_0 = i0.ɵɵpipeBind1(3, 4, ctx_r23.groceriesListsService.list$)) == null ? null : tmp_0_0.hasRecipe(ctx_r23.recipe == null ? null : ctx_r23.recipe.id)) ? "Voir le d\u00E9tail" : "S\u00E9lectionner ce repas", " ");
404
418
  i0.ɵɵadvance(2);
405
- i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r22.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r22.recipe == null ? null : ctx_r22.recipe.id)) ? ctx_r22.icon.CheckList : ctx_r22.icon.Cart);
419
+ i0.ɵɵproperty("width", 24)("height", 24)("iconName", ((tmp_3_0 = i0.ɵɵpipeBind1(5, 6, ctx_r23.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r23.recipe == null ? null : ctx_r23.recipe.id)) ? ctx_r23.icon.CheckList : ctx_r23.icon.Cart);
406
420
  } }
407
421
  function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
408
- const _r59 = i0.ɵɵgetCurrentView();
409
- i0.ɵɵelementStart(0, "div", 2);
410
- i0.ɵɵlistener("scroll", function RecipeDetailsComponent_div_0_Template_div_scroll_0_listener($event) { i0.ɵɵrestoreView(_r59); const ctx_r58 = i0.ɵɵnextContext(); return ctx_r58.onScroll($event); });
411
- i0.ɵɵelementStart(1, "div", 3);
422
+ const _r62 = i0.ɵɵgetCurrentView();
423
+ i0.ɵɵelementStart(0, "div", 2, 3);
412
424
  i0.ɵɵelementStart(2, "div", 4);
413
- i0.ɵɵelementStart(3, "div", 5, 6);
414
- i0.ɵɵtemplate(5, RecipeDetailsComponent_div_0_img_5_Template, 1, 1, "img", 7);
415
- i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_div_6_Template, 1, 0, "div", 8);
416
- i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_youtube_player_7_Template, 1, 3, "youtube-player", 9);
417
- i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_div_8_Template, 2, 0, "div", 10);
418
- i0.ɵɵpipe(9, "async");
419
- i0.ɵɵelementStart(10, "div", 11);
420
- i0.ɵɵtemplate(11, RecipeDetailsComponent_div_0_ng_miam_like_button_11_Template, 1, 3, "ng-miam-like-button", 12);
421
- i0.ɵɵpipe(12, "async");
422
- i0.ɵɵelement(13, "ng-miam-icon", 13);
423
- i0.ɵɵelement(14, "ng-miam-icon", 13);
424
- i0.ɵɵelementEnd();
425
- i0.ɵɵtemplate(15, RecipeDetailsComponent_div_0_img_15_Template, 1, 1, "img", 14);
426
- i0.ɵɵelementEnd();
427
- i0.ɵɵelementStart(16, "div", 15);
425
+ i0.ɵɵelementStart(3, "div", 5);
426
+ i0.ɵɵelementStart(4, "div", 6, 7);
427
+ i0.ɵɵtemplate(6, RecipeDetailsComponent_div_0_img_6_Template, 1, 1, "img", 8);
428
+ i0.ɵɵtemplate(7, RecipeDetailsComponent_div_0_div_7_Template, 1, 0, "div", 9);
429
+ i0.ɵɵtemplate(8, RecipeDetailsComponent_div_0_youtube_player_8_Template, 1, 3, "youtube-player", 10);
430
+ i0.ɵɵtemplate(9, RecipeDetailsComponent_div_0_div_9_Template, 2, 0, "div", 11);
431
+ i0.ɵɵpipe(10, "async");
432
+ i0.ɵɵelementStart(11, "div", 12);
433
+ i0.ɵɵtemplate(12, RecipeDetailsComponent_div_0_ng_miam_like_button_12_Template, 1, 3, "ng-miam-like-button", 13);
434
+ i0.ɵɵpipe(13, "async");
435
+ i0.ɵɵelement(14, "ng-miam-icon", 14);
436
+ i0.ɵɵelement(15, "ng-miam-icon", 14);
437
+ i0.ɵɵelementEnd();
438
+ i0.ɵɵtemplate(16, RecipeDetailsComponent_div_0_img_16_Template, 1, 1, "img", 15);
439
+ i0.ɵɵelementEnd();
428
440
  i0.ɵɵelementStart(17, "div", 16);
429
- i0.ɵɵelement(18, "ng-miam-icon", 17);
430
- i0.ɵɵelementStart(19, "span");
431
- i0.ɵɵtext(20);
441
+ i0.ɵɵelementStart(18, "div", 17);
442
+ i0.ɵɵelement(19, "ng-miam-icon", 18);
443
+ i0.ɵɵelementStart(20, "span");
444
+ i0.ɵɵtext(21);
432
445
  i0.ɵɵelementEnd();
433
446
  i0.ɵɵelementEnd();
434
- i0.ɵɵelementStart(21, "div", 18);
435
- i0.ɵɵtemplate(22, RecipeDetailsComponent_div_0_div_22_Template, 7, 4, "div", 19);
436
- i0.ɵɵtemplate(23, RecipeDetailsComponent_div_0_div_23_Template, 7, 4, "div", 19);
437
- i0.ɵɵtemplate(24, RecipeDetailsComponent_div_0_div_24_Template, 7, 4, "div", 19);
447
+ i0.ɵɵelementStart(22, "div", 19);
448
+ i0.ɵɵtemplate(23, RecipeDetailsComponent_div_0_div_23_Template, 7, 4, "div", 20);
449
+ i0.ɵɵtemplate(24, RecipeDetailsComponent_div_0_div_24_Template, 7, 4, "div", 20);
450
+ i0.ɵɵtemplate(25, RecipeDetailsComponent_div_0_div_25_Template, 7, 4, "div", 20);
438
451
  i0.ɵɵelementEnd();
439
452
  i0.ɵɵelementEnd();
440
453
  i0.ɵɵelementEnd();
441
- i0.ɵɵelementStart(25, "div", 20);
442
454
  i0.ɵɵelementStart(26, "div", 21);
443
- i0.ɵɵelementStart(27, "span", 22);
444
- i0.ɵɵtext(28);
445
- i0.ɵɵpipe(29, "titlecase");
446
- i0.ɵɵelementEnd();
447
- i0.ɵɵelementStart(30, "span", 23);
448
- i0.ɵɵtext(31);
449
- i0.ɵɵelementEnd();
450
- i0.ɵɵelementStart(32, "div", 24);
451
- i0.ɵɵelementContainerStart(33, 25);
452
- i0.ɵɵtemplate(34, RecipeDetailsComponent_div_0_ng_container_34_Template, 2, 3, "ng-container", 26);
453
- i0.ɵɵtemplate(35, RecipeDetailsComponent_div_0_ng_container_35_Template, 2, 3, "ng-container", 26);
454
- i0.ɵɵtemplate(36, RecipeDetailsComponent_div_0_ng_container_36_Template, 2, 3, "ng-container", 26);
455
- i0.ɵɵtemplate(37, RecipeDetailsComponent_div_0_ng_container_37_Template, 1, 0, "ng-container", 27);
455
+ i0.ɵɵelementStart(27, "div", 22);
456
+ i0.ɵɵelementStart(28, "span", 23);
457
+ i0.ɵɵtext(29);
458
+ i0.ɵɵpipe(30, "titlecase");
459
+ i0.ɵɵelementEnd();
460
+ i0.ɵɵelementStart(31, "span", 24);
461
+ i0.ɵɵtext(32);
462
+ i0.ɵɵelementEnd();
463
+ i0.ɵɵelementStart(33, "div", 25);
464
+ i0.ɵɵelementContainerStart(34, 26);
465
+ i0.ɵɵtemplate(35, RecipeDetailsComponent_div_0_ng_container_35_Template, 2, 3, "ng-container", 27);
466
+ i0.ɵɵtemplate(36, RecipeDetailsComponent_div_0_ng_container_36_Template, 2, 3, "ng-container", 27);
467
+ i0.ɵɵtemplate(37, RecipeDetailsComponent_div_0_ng_container_37_Template, 2, 3, "ng-container", 27);
468
+ i0.ɵɵtemplate(38, RecipeDetailsComponent_div_0_ng_container_38_Template, 1, 0, "ng-container", 28);
456
469
  i0.ɵɵelementContainerEnd();
457
- i0.ɵɵelementStart(38, "span");
458
- i0.ɵɵtext(39);
459
- i0.ɵɵpipe(40, "titlecase");
470
+ i0.ɵɵelementStart(39, "span");
471
+ i0.ɵɵtext(40);
472
+ i0.ɵɵpipe(41, "titlecase");
460
473
  i0.ɵɵelementEnd();
461
474
  i0.ɵɵelementEnd();
462
- i0.ɵɵelementStart(41, "div", 28);
463
- i0.ɵɵtext(42);
464
- i0.ɵɵelementStart(43, "div", 29);
465
- i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_Template_div_click_43_listener() { i0.ɵɵrestoreView(_r59); const ctx_r60 = i0.ɵɵnextContext(); return ctx_r60.print(); });
466
- i0.ɵɵelement(44, "ng-miam-icon", 13);
467
- i0.ɵɵelementStart(45, "span");
468
- i0.ɵɵtext(46, " Imprimer la recette ");
475
+ i0.ɵɵelementStart(42, "div", 29);
476
+ i0.ɵɵtext(43);
477
+ i0.ɵɵelementStart(44, "div", 30);
478
+ i0.ɵɵlistener("click", function RecipeDetailsComponent_div_0_Template_div_click_44_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(); return ctx_r61.print(); });
479
+ i0.ɵɵelement(45, "ng-miam-icon", 14);
480
+ i0.ɵɵelementStart(46, "span");
481
+ i0.ɵɵtext(47, " Imprimer la recette ");
469
482
  i0.ɵɵelementEnd();
470
483
  i0.ɵɵelementEnd();
471
484
  i0.ɵɵelementEnd();
472
485
  i0.ɵɵelementEnd();
473
- i0.ɵɵelementStart(47, "div", 30);
474
486
  i0.ɵɵelementStart(48, "div", 31);
475
- i0.ɵɵelement(49, "ng-miam-recipe-pricing", 32);
487
+ i0.ɵɵelementStart(49, "div", 32);
488
+ i0.ɵɵelement(50, "ng-miam-recipe-pricing", 33);
476
489
  i0.ɵɵelementEnd();
477
- i0.ɵɵtemplate(50, RecipeDetailsComponent_div_0_button_50_Template, 6, 8, "button", 33);
490
+ i0.ɵɵtemplate(51, RecipeDetailsComponent_div_0_button_51_Template, 6, 8, "button", 34);
478
491
  i0.ɵɵelementEnd();
479
492
  i0.ɵɵelementEnd();
480
493
  i0.ɵɵelementEnd();
481
- i0.ɵɵelement(51, "div", 34);
482
- i0.ɵɵelementStart(52, "div");
483
- i0.ɵɵtemplate(53, RecipeDetailsComponent_div_0_ng_miam_addon_link_53_Template, 1, 1, "ng-miam-addon-link", 35);
494
+ i0.ɵɵelement(52, "div", 35);
495
+ i0.ɵɵelementStart(53, "div");
496
+ i0.ɵɵtemplate(54, RecipeDetailsComponent_div_0_ng_miam_addon_link_54_Template, 1, 1, "ng-miam-addon-link", 36);
484
497
  i0.ɵɵelementEnd();
485
- i0.ɵɵtemplate(54, RecipeDetailsComponent_div_0_div_54_Template, 18, 4, "div", 36);
486
- i0.ɵɵtemplate(55, RecipeDetailsComponent_div_0_ng_template_55_Template, 10, 8, "ng-template", null, 37, i0.ɵɵtemplateRefExtractor);
487
- i0.ɵɵelementStart(57, "div", 38);
488
- i0.ɵɵelementStart(58, "div", 30);
498
+ i0.ɵɵtemplate(55, RecipeDetailsComponent_div_0_div_55_Template, 18, 4, "div", 37);
499
+ i0.ɵɵtemplate(56, RecipeDetailsComponent_div_0_ng_template_56_Template, 10, 8, "ng-template", null, 38, i0.ɵɵtemplateRefExtractor);
500
+ i0.ɵɵelementStart(58, "div", 39);
489
501
  i0.ɵɵelementStart(59, "div", 31);
490
- i0.ɵɵelement(60, "ng-miam-recipe-pricing", 32);
502
+ i0.ɵɵelementStart(60, "div", 32);
503
+ i0.ɵɵelement(61, "ng-miam-recipe-pricing", 33);
491
504
  i0.ɵɵelementEnd();
492
- i0.ɵɵtemplate(61, RecipeDetailsComponent_div_0_button_61_Template, 6, 8, "button", 33);
505
+ i0.ɵɵtemplate(62, RecipeDetailsComponent_div_0_button_62_Template, 6, 8, "button", 34);
493
506
  i0.ɵɵelementEnd();
494
507
  i0.ɵɵelementEnd();
495
508
  i0.ɵɵelementEnd();
496
509
  } if (rf & 2) {
497
- const _r20 = i0.ɵɵreference(56);
510
+ const _r21 = i0.ɵɵreference(57);
498
511
  const ctx_r0 = i0.ɵɵnextContext();
499
512
  var tmp_3_0 = null;
500
- i0.ɵɵadvance(5);
513
+ i0.ɵɵadvance(6);
501
514
  i0.ɵɵproperty("ngIf", !ctx_r0.showVideo);
502
515
  i0.ɵɵadvance(1);
503
516
  i0.ɵɵproperty("ngIf", !ctx_r0.showVideo);
504
517
  i0.ɵɵadvance(1);
505
518
  i0.ɵɵproperty("ngIf", ctx_r0.showVideo && ctx_r0.playerWidth);
506
519
  i0.ɵɵadvance(1);
507
- i0.ɵɵproperty("ngIf", (tmp_3_0 = i0.ɵɵpipeBind1(9, 39, ctx_r0.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r0.recipe == null ? null : ctx_r0.recipe.id));
520
+ i0.ɵɵproperty("ngIf", (tmp_3_0 = i0.ɵɵpipeBind1(10, 39, ctx_r0.groceriesListsService.list$)) == null ? null : tmp_3_0.hasRecipe(ctx_r0.recipe == null ? null : ctx_r0.recipe.id));
508
521
  i0.ɵɵadvance(3);
509
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(12, 41, ctx_r0.userService.isLogged$));
522
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(13, 41, ctx_r0.userService.isLogged$));
510
523
  i0.ɵɵadvance(2);
511
524
  i0.ɵɵproperty("width", 26)("height", 26)("iconName", ctx_r0.icon.Calendar);
512
525
  i0.ɵɵadvance(1);
@@ -524,7 +537,7 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
524
537
  i0.ɵɵadvance(1);
525
538
  i0.ɵɵproperty("ngIf", (ctx_r0.recipe == null ? null : ctx_r0.recipe.restingTime) !== "-");
526
539
  i0.ɵɵadvance(4);
527
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(29, 43, ctx_r0.recipe == null ? null : ctx_r0.recipe.recipeType == null ? null : ctx_r0.recipe.recipeType.attributes == null ? null : ctx_r0.recipe.recipeType.attributes.name));
540
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(30, 43, ctx_r0.recipe == null ? null : ctx_r0.recipe.recipeType == null ? null : ctx_r0.recipe.recipeType.attributes == null ? null : ctx_r0.recipe.recipeType.attributes.name));
528
541
  i0.ɵɵadvance(3);
529
542
  i0.ɵɵtextInterpolate(ctx_r0.recipe == null ? null : ctx_r0.recipe.attributes["title"]);
530
543
  i0.ɵɵadvance(2);
@@ -536,7 +549,7 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
536
549
  i0.ɵɵadvance(1);
537
550
  i0.ɵɵproperty("ngSwitchCase", "difficile");
538
551
  i0.ɵɵadvance(3);
539
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(40, 45, ctx_r0.recipe == null ? null : ctx_r0.recipe.difficultyLabel));
552
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(41, 45, ctx_r0.recipe == null ? null : ctx_r0.recipe.difficultyLabel));
540
553
  i0.ɵɵadvance(3);
541
554
  i0.ɵɵtextInterpolate1(" ", ctx_r0.recipe == null ? null : ctx_r0.recipe.attributes["description"], " ");
542
555
  i0.ɵɵadvance(2);
@@ -548,16 +561,16 @@ function RecipeDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
548
561
  i0.ɵɵadvance(3);
549
562
  i0.ɵɵproperty("ngIf", (ctx_r0.recipe == null ? null : ctx_r0.recipe.sponsors == null ? null : ctx_r0.recipe.sponsors.length) > 0 || ctx_r0.recipe.informationalSentence);
550
563
  i0.ɵɵadvance(1);
551
- i0.ɵɵproperty("ngIf", !ctx_r0.isMobile)("ngIfElse", _r20);
564
+ i0.ɵɵproperty("ngIf", !ctx_r0.isMobile)("ngIfElse", _r21);
552
565
  i0.ɵɵadvance(6);
553
566
  i0.ɵɵproperty("recipe", ctx_r0.recipe)("serves", ctx_r0.recipe == null ? null : ctx_r0.recipe.modifiedGuests);
554
567
  i0.ɵɵadvance(1);
555
568
  i0.ɵɵproperty("ngIf", ctx_r0.previewAllowed);
556
569
  } }
557
570
  function RecipeDetailsComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
558
- const _r62 = i0.ɵɵgetCurrentView();
559
- i0.ɵɵelementStart(0, "ng-miam-recipe-addon", 77);
560
- i0.ɵɵlistener("hideAddon", function RecipeDetailsComponent_ng_template_1_Template_ng_miam_recipe_addon_hideAddon_0_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(); return ctx_r61.toggleAddon(); });
571
+ const _r64 = i0.ɵɵgetCurrentView();
572
+ i0.ɵɵelementStart(0, "ng-miam-recipe-addon", 80);
573
+ i0.ɵɵlistener("hideAddon", function RecipeDetailsComponent_ng_template_1_Template_ng_miam_recipe_addon_hideAddon_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(); return ctx_r63.toggleAddon(); });
561
574
  i0.ɵɵelementEnd();
562
575
  } if (rf & 2) {
563
576
  const ctx_r2 = i0.ɵɵnextContext();
@@ -572,8 +585,8 @@ export class RecipeDetailsComponent {
572
585
  this.posService = posService;
573
586
  this.recipeEventsService = recipeEventsService;
574
587
  this.contextService = contextService;
575
- this.forceIngredientsStepstoggle = false;
576
588
  this.previewAllowed = true;
589
+ this.ingredientsPictures = false;
577
590
  this.recipeAdded = new EventEmitter();
578
591
  this.recipeChanged = new EventEmitter();
579
592
  this.recipeError = new EventEmitter();
@@ -586,17 +599,19 @@ export class RecipeDetailsComponent {
586
599
  this.ingredientsChecked = {};
587
600
  this.showIngredient = true;
588
601
  this.closeIconhidden = new BehaviorSubject(false);
602
+ this.scrollListenerInitialised = false;
589
603
  this.subscriptions = [];
590
604
  this.isMobile = this.mediaMatcher.matchMedia('(max-width: 1023px)').matches;
591
605
  }
592
- onScroll($event) {
593
- if ($event.srcElement.scrollTop > 300 !== this.closeIconhidden.value) {
594
- this.closeIconhidden.next($event.srcElement.scrollTop > 300);
595
- }
596
- }
597
606
  ngOnChanges() {
598
607
  var _a;
599
- this.isMobile = this.forceIngredientsStepstoggle ? true : this.isMobile;
608
+ // if forceIngredientsStepstoggle, use isMobile to toggle ingredients & steps in mobile mode, else
609
+ // Use the value of forceIngredientsStepstoggle to force it to mobile (true) or desktop (false)
610
+ if (this.forceIngredientsStepstoggle !== undefined) {
611
+ this.isMobile = this.forceIngredientsStepstoggle;
612
+ }
613
+ this.showVideo = false; // force reload video player
614
+ this.cdr.detectChanges();
600
615
  this.showVideo = this.contextService.videoRecipesEnabled && ((_a = this.recipe) === null || _a === void 0 ? void 0 : _a.videoId);
601
616
  if (this.recipe) {
602
617
  this.steps = this.recipe.steps;
@@ -608,6 +623,26 @@ export class RecipeDetailsComponent {
608
623
  var _a, _b;
609
624
  this.playerWidth = Math.min(640, (_b = (_a = this.topContainerImg) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.offsetWidth);
610
625
  this.playerHeight = this.playerWidth * 390 / 640;
626
+ if (!this.scrollListenerInitialised) {
627
+ this.initScrollListener();
628
+ }
629
+ }
630
+ /**
631
+ * Init the listener on scroll so the modal can hide the close icon
632
+ */
633
+ initScrollListener() {
634
+ if (this.mainContainer) {
635
+ const intersectionObserver = new IntersectionObserver(([entry]) => {
636
+ if (this.mainContainer.nativeElement.scrollTop > 300 !== this.closeIconhidden.value) {
637
+ this.closeIconhidden.next(this.mainContainer.nativeElement.scrollTop > 300);
638
+ }
639
+ }, {
640
+ threshold: [0, 0.33, 0.66, 1],
641
+ root: this.mainContainer.nativeElement
642
+ });
643
+ intersectionObserver.observe(this.topContainerImg.nativeElement);
644
+ this.scrollListenerInitialised = true;
645
+ }
611
646
  }
612
647
  changeActiveStep(index) {
613
648
  this.activeStep = index;
@@ -662,22 +697,25 @@ export class RecipeDetailsComponent {
662
697
  this.showIngredient = isShowed;
663
698
  this.cdr.detectChanges();
664
699
  }
700
+ ingredientPicture(ingredient) {
701
+ return ingredient.picture || this.contextService.defaultIngredientPicture;
702
+ }
665
703
  }
666
704
  RecipeDetailsComponent.ɵfac = function RecipeDetailsComponent_Factory(t) { return new (t || RecipeDetailsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MediaMatcher), i0.ɵɵdirectiveInject(i2.GroceriesListsService), i0.ɵɵdirectiveInject(i2.UserService), i0.ɵɵdirectiveInject(i2.PointOfSalesService), i0.ɵɵdirectiveInject(i2.RecipeEventsService), i0.ɵɵdirectiveInject(i2.ContextService)); };
667
705
  RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsComponent, selectors: [["ng-miam-recipe-details"]], viewQuery: function RecipeDetailsComponent_Query(rf, ctx) { if (rf & 1) {
668
706
  i0.ɵɵviewQuery(_c0, true);
707
+ i0.ɵɵviewQuery(_c1, true);
669
708
  } if (rf & 2) {
670
709
  var _t;
671
710
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.topContainerImg = _t.first);
672
- } }, hostBindings: function RecipeDetailsComponent_HostBindings(rf, ctx) { if (rf & 1) {
673
- i0.ɵɵlistener("scroll", function RecipeDetailsComponent_scroll_HostBindingHandler($event) { return ctx.onScroll($event); });
674
- } }, inputs: { recipe: "recipe", forceIngredientsStepstoggle: "forceIngredientsStepstoggle", previewAllowed: "previewAllowed" }, outputs: { recipeAdded: "recipeAdded", recipeChanged: "recipeChanged", recipeError: "recipeError" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [["class", "miam-recipe-details", 3, "scroll", 4, "ngIf", "ngIfElse"], ["addon", ""], [1, "miam-recipe-details", 3, "scroll"], [1, "miam-recipe-details__top__container"], [1, "miam-recipe-details__top__left"], [1, "miam-recipe-details__top__container__img"], ["topContainerImg", ""], [3, "src", 4, "ngIf"], ["class", "miam-recipe-details__picture__gradient", 4, "ngIf"], [3, "videoId", "width", "height", 4, "ngIf"], ["class", "miam-recipe-details__picture__tag", 4, "ngIf"], [1, "miam-recipe-details__img__actions"], ["class", "miam-recipe-details__actions__icon miam-noPadding", 3, "recipe", "width", "height", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-details__actions__icon", 3, "width", "height", "iconName"], ["class", "miam-recipe-details__picture__sponsor", 3, "src", 4, "ngIf"], [1, "miam-recipe-details__top__container__info"], [1, "miam-recipe-details__info__metrics", "miam-recipe-details__info__metrics__total"], ["primaryColor", "var(--m-color-primary)", 3, "width", "height", "iconName"], [1, "miam-recipe-details__info__times"], ["class", "miam-recipe-details__info__metrics", 4, "ngIf"], [1, "miam-recipe-details__top__container__infos"], [1, "miam-recipe-details__top__container__infos__top"], [1, "miam-recipe-details__infos__type"], [1, "miam-recipe-details__infos__title"], [1, "miam-recipe-details__infos__difficulty"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [1, "miam-recipe-details__infos__description"], [1, "miam-recipe-details__description__action", 3, "click"], [1, "miam-recipe-details__infos__price__wrapper"], [1, "miam-recipe-details__infos__price"], [3, "recipe", "serves"], ["class", "miam-recipe-details__infos__action m-button-fab-primary", 3, "click", 4, "ngIf"], [1, "miam-recipe-details__mid__container"], [3, "recipe", "showAddon", 4, "ngIf"], ["class", "miam-recipe-details__bottom__container", 4, "ngIf", "ngIfElse"], ["mobileContainer", ""], [1, "miam-recipe-details__bottom__container__action"], [3, "src"], [1, "miam-recipe-details__picture__gradient"], [3, "videoId", "width", "height"], [1, "miam-recipe-details__picture__tag"], [1, "miam-recipe-details__actions__icon", "miam-noPadding", 3, "recipe", "width", "height"], [1, "miam-recipe-details__picture__sponsor", 3, "src"], [1, "miam-recipe-details__info__metrics"], [1, "miam-recipe-details__metrics__row"], ["primaryColor", "var(--m-color-slate)", 3, "width", "height", "iconName"], [3, "width", "height", "iconName"], [1, "miam-recipe-details__infos__action", "m-button-fab-primary", 3, "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [3, "recipe", "showAddon"], [1, "miam-recipe-details__bottom__container"], [1, "miam-recipe-details__bottom__container__ingredients"], [1, "miam-recipe-details__bottom__container__header"], [1, "miam-recipe-details__ingredients__row"], [1, "miam-recipe-details__ingredients__counter"], [3, "counter", "counterChange"], [1, "miam-recipe-details__ingredients__counter__print"], [1, "miam-recipe-details__ingredients__row__qty"], [1, "miam-recipe-details__ingredients__list"], ["class", "miam-recipe-details__ingredients__row", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__bottom__container__steps"], [1, "miam-recipe-details__steps__list"], ["class", "miam-recipe-details__steps__list__panel", 3, "active", "miam-recipe-details__panel__done", "click", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__ingredients__row", 3, "ngClass"], [1, "miam-recipe-details__steps__list__panel", 3, "click"], [1, "miam-recipe-details__panel__idx"], [1, "miam-recipe-details__panel__text"], ["class", "miam-recipe-details__panel__checkIcon", "primaryColor", "var(--m-color-secondary)", 3, "height", "width", "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-secondary)", 1, "miam-recipe-details__panel__checkIcon", 3, "height", "width", "iconName"], [1, "miam-recipe-details__mobile__container"], ["mobileContainerTop", ""], [1, "miam-recipe-details__mobile__header"], [1, "m-button-secondary", 3, "ngClass", "click"], [4, "ngIf", "ngIfElse"], ["stepsContainer", ""], [3, "recipe", "hideAddon"]], template: function RecipeDetailsComponent_Template(rf, ctx) { if (rf & 1) {
675
- i0.ɵɵtemplate(0, RecipeDetailsComponent_div_0_Template, 62, 47, "div", 0);
711
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.mainContainer = _t.first);
712
+ } }, inputs: { recipe: "recipe", forceIngredientsStepstoggle: "forceIngredientsStepstoggle", previewAllowed: "previewAllowed", ingredientsPictures: "ingredientsPictures" }, outputs: { recipeAdded: "recipeAdded", recipeChanged: "recipeChanged", recipeError: "recipeError" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 2, consts: [["class", "miam-recipe-details", 4, "ngIf", "ngIfElse"], ["addon", ""], [1, "miam-recipe-details"], ["mainContainer", ""], [1, "miam-recipe-details__top__container"], [1, "miam-recipe-details__top__left"], [1, "miam-recipe-details__top__container__img"], ["topContainerImg", ""], [3, "src", 4, "ngIf"], ["class", "miam-recipe-details__picture__gradient", 4, "ngIf"], [3, "videoId", "width", "height", 4, "ngIf"], ["class", "miam-recipe-details__picture__tag", 4, "ngIf"], [1, "miam-recipe-details__img__actions"], ["class", "miam-recipe-details__actions__icon miam-noPadding", 3, "recipe", "width", "height", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-details__actions__icon", 3, "width", "height", "iconName"], ["class", "miam-recipe-details__picture__sponsor", 3, "src", 4, "ngIf"], [1, "miam-recipe-details__top__container__info"], [1, "miam-recipe-details__info__metrics", "miam-recipe-details__info__metrics__total"], ["primaryColor", "var(--m-color-primary)", 3, "width", "height", "iconName"], [1, "miam-recipe-details__info__times"], ["class", "miam-recipe-details__info__metrics", 4, "ngIf"], [1, "miam-recipe-details__top__container__infos"], [1, "miam-recipe-details__top__container__infos__top"], [1, "miam-recipe-details__infos__type"], [1, "miam-recipe-details__infos__title"], [1, "miam-recipe-details__infos__difficulty"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [1, "miam-recipe-details__infos__description"], [1, "miam-recipe-details__description__action", 3, "click"], [1, "miam-recipe-details__infos__price__wrapper"], [1, "miam-recipe-details__infos__price"], [3, "recipe", "serves"], ["class", "miam-recipe-details__infos__action m-button-fab-primary", 3, "click", 4, "ngIf"], [1, "miam-recipe-details__mid__container"], [3, "recipe", "showAddon", 4, "ngIf"], ["class", "miam-recipe-details__bottom__container", 4, "ngIf", "ngIfElse"], ["mobileContainer", ""], [1, "miam-recipe-details__bottom__container__action"], [3, "src"], [1, "miam-recipe-details__picture__gradient"], [3, "videoId", "width", "height"], [1, "miam-recipe-details__picture__tag"], [1, "miam-recipe-details__actions__icon", "miam-noPadding", 3, "recipe", "width", "height"], [1, "miam-recipe-details__picture__sponsor", 3, "src"], [1, "miam-recipe-details__info__metrics"], [1, "miam-recipe-details__metrics__row"], ["primaryColor", "var(--m-color-slate)", 3, "width", "height", "iconName"], [3, "width", "height", "iconName"], [1, "miam-recipe-details__infos__action", "m-button-fab-primary", 3, "click"], ["primaryColor", "#fff", 3, "width", "height", "iconName"], [3, "recipe", "showAddon"], [1, "miam-recipe-details__bottom__container"], [1, "miam-recipe-details__bottom__container__ingredients"], [1, "miam-recipe-details__bottom__container__header"], [1, "miam-recipe-details__ingredients__row"], [1, "miam-recipe-details__ingredients__counter"], [3, "counter", "counterChange"], [1, "miam-recipe-details__ingredients__counter__print"], [1, "miam-recipe-details__ingredients__row__qty"], [1, "miam-recipe-details__ingredients__list"], ["class", "miam-recipe-details__ingredients__row", 3, "ngClass", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__bottom__container__steps"], [1, "miam-recipe-details__steps__list"], ["class", "miam-recipe-details__steps__list__panel", 3, "active", "miam-recipe-details__panel__done", "click", 4, "ngFor", "ngForOf"], [1, "miam-recipe-details__ingredients__row", 3, "ngClass"], [4, "ngIf"], [1, "miam-recipe-details__ingredients__row__picture", 3, "src"], [1, "miam-recipe-details__steps__list__panel", 3, "click"], [1, "miam-recipe-details__panel__idx"], [1, "miam-recipe-details__panel__text"], ["class", "miam-recipe-details__panel__checkIcon", "primaryColor", "var(--m-color-secondary)", 3, "height", "width", "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-secondary)", 1, "miam-recipe-details__panel__checkIcon", 3, "height", "width", "iconName"], [1, "miam-recipe-details__mobile__container"], ["mobileContainerTop", ""], [1, "miam-recipe-details__mobile__header"], [1, "m-button-secondary", 3, "ngClass", "click"], [4, "ngIf", "ngIfElse"], ["stepsContainer", ""], [3, "recipe", "hideAddon"]], template: function RecipeDetailsComponent_Template(rf, ctx) { if (rf & 1) {
713
+ i0.ɵɵtemplate(0, RecipeDetailsComponent_div_0_Template, 63, 47, "div", 0);
676
714
  i0.ɵɵtemplate(1, RecipeDetailsComponent_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
677
715
  } if (rf & 2) {
678
716
  const _r1 = i0.ɵɵreference(2);
679
717
  i0.ɵɵproperty("ngIf", ctx.showDetail)("ngIfElse", _r1);
680
- } }, directives: [i3.NgIf, i4.IconComponent, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i5.RecipePricingComponent, i6.YouTubePlayer, i7.LikeButtonComponent, i8.AddonLinkComponent, i9.CounterInputComponent, i3.NgForOf, i3.NgClass, i10.RecipeAddonComponent], pipes: [i3.AsyncPipe, i3.TitleCasePipe, i11.CapitalizeFirstLetterPipe, i12.ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{align-items:center;border-radius:var(--m-border-radius);display:flex;height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}@media print{.miam-recipe-details{height:unset}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
718
+ } }, directives: [i3.NgIf, i4.IconComponent, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i5.RecipePricingComponent, i6.YouTubePlayer, i7.LikeButtonComponent, i8.AddonLinkComponent, i9.CounterInputComponent, i3.NgForOf, i3.NgClass, i10.RecipeAddonComponent], pipes: [i3.AsyncPipe, i3.TitleCasePipe, i11.CapitalizeFirstLetterPipe, i12.ReadableFloatNumberPipe], styles: [".miam-recipe-details{border-radius:var(--m-border-radius);display:inline-flex;flex-direction:row;flex-wrap:wrap;height:calc(80vh - 80px);margin:40px 8px;min-width:calc(100% - 32px);padding:0 16px}.miam-recipe-details::-webkit-scrollbar-button{height:20px}.miam-recipe-details::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__top__container{display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{align-items:center;border-radius:var(--m-border-radius);display:flex;height:400px;overflow:hidden;position:relative;width:370px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{-o-object-fit:cover;-webkit-print-color-adjust:exact;display:block;height:100%;object-fit:cover;transform:translateX(-25%)}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{background:linear-gradient(180deg,transparent 57.92%,rgba(0,0,0,.75) 100%,rgba(0,0,0,.75) 0);border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);display:block;height:100%;position:absolute;top:0;width:100%}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__gradient{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{background-color:var(--m-color-primary-light);border-radius:5px;bottom:16px;color:var(--m-color-primary);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:flex;flex-direction:column;justify-content:space-evenly;position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-hight)}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-o-object-fit:contain;background-color:#fff;border-radius:var(--m-border-radius-circle);box-shadow:var(--m-shadow-small);margin:0 0 16px;object-fit:contain;padding:8px;width:-webkit-max-content;width:-moz-max-content;width:max-content}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon.miam-noPadding{padding:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__sponsor{-o-object-fit:contain;bottom:16px;height:auto;max-height:72px;max-width:96px;object-fit:contain;position:absolute;right:16px;transform:none;width:auto}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;margin-left:40px;padding:16px;position:relative}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__infos__price__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top{display:flex;flex-direction:column;position:relative}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{color:var(--m-color-black);font-size:14px;line-height:1.14;padding-bottom:16px;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{color:var(--m-color-secondary);font-size:32px;font-weight:700;line-height:1.1;text-align:left}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty{display:flex;padding:16px 0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__difficulty ng-miam-icon{margin-right:8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics{align-items:center;display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics span{color:var(--m-color-black);font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__metrics .miam-recipe-details__metrics__row{display:flex}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{color:var(--m-color-grey-text-dark);display:flex;flex:1;flex-direction:column;font-size:17px;line-height:1.62;margin-bottom:24px;overflow-y:auto;text-align:left;word-break:break-word}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{align-items:center;display:flex;margin-top:16px}@media print{.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>*{cursor:pointer}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action>:hover{color:var(--m-color-primary);text-decoration:underline}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action ng-miam-icon{margin-right:10px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:flex-end;display:flex;flex-direction:column;height:100%;justify-content:flex-start;max-height:225px;padding-left:16px;position:relative}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price{margin-bottom:4px;padding:4px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{color:var(--m-color-primary);flex-direction:row}@media (max-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:flex;flex-direction:column}}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper{display:none}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__price{font-size:20px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__price .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:14px;margin-left:12px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{border-radius:20px;color:var(--m-color-white);font-size:16px;padding:8px 20px}@media print{.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{display:none}}@media (min-width:1022px){.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action:hover{color:var(--m-color-primary)}}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action ng-miam-icon{margin-left:16px}.miam-recipe-details .miam-recipe-details__top__container__info{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;padding:16px 0;width:370px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__metrics span{color:var(--m-color-primary);font-size:19px;font-weight:700;margin-left:12px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times{align-items:center;display:flex;justify-content:space-evenly}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{flex-direction:column;margin-right:24px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{color:var(--m-color-black);font-size:13px;font-weight:400;line-height:16px;margin-left:4px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics .miam-recipe-details__metrics__row span{font-size:19px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics{align-items:center;display:flex;justify-content:center;z-index:0}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics ng-miam-icon{display:flex;justify-content:center;margin-right:4px;min-height:32px}.miam-recipe-details .miam-recipe-details__top__container__info .miam-recipe-details__info__times .miam-recipe-details__info__metrics span{font-size:15px}.miam-recipe-details .miam-recipe-details__mid__container{border-bottom:1px dashed var(--m-color-primary);display:flex;padding-bottom:16px;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container{display:flex;width:100%}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__header{border-bottom:1px solid var(--m-color-grey-text);color:var(--m-color-primary);display:block;font-size:20px;font-size:17px;font-weight:700;margin:24px 0;padding:16px 0 8px;position:relative}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter{align-items:center;display:flex}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input .miam-counter-input__icon{margin-right:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}@media print{.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter ng-miam-counter-input{display:none}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:block}}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row{color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;height:40px;justify-content:space-between;padding-bottom:16px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;padding-right:10px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__ingredients{display:flex;flex:1;flex-direction:column;padding:0 40px 0 0}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps{display:flex;flex:1;flex-direction:column}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list{flex:1 1;overflow-y:auto;padding-bottom:40px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-track{background:var(--m-color-grey)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar{cursor:-webkit-grab;height:7px;width:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list::-webkit-scrollbar-thumb{background:var(--m-color-primary);border-radius:5px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;background-color:var(--m-color-primary-text);border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 16px 8px 0;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{color:var(--m-color-secondary);flex:0 0 auto;font-size:20px;margin-right:20px}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px;word-break:break-word}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--m-color-secondary-light)}.miam-recipe-details .miam-recipe-details__bottom__container .miam-recipe-details__bottom__container__steps .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{width:100%}@media print{.miam-recipe-details{height:unset}}@media (max-width:1022px){.miam-recipe-details{height:80vh;margin:0;min-width:100vw;overflow-y:auto;padding:0 0 80px}.miam-recipe-details .miam-recipe-details__infos__price__wrapper{align-items:center;background-color:var(--m-color-white);bottom:0;flex-direction:row;height:unset;justify-content:space-between;left:0;padding:4px 16px;position:fixed;right:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper{flex-direction:column}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-pricing__wrapper .miam-recipe-pricing__wrapper__subline{font-size:10px;margin-left:0}.miam-recipe-details .miam-recipe-details__infos__price__wrapper .miam-recipe-details__infos__action{padding:8px 10px}.miam-recipe-details .miam-recipe-details__top__container{flex-wrap:wrap}.miam-recipe-details .miam-recipe-details__top__container div .miam-recipe-details__top__left{position:-webkit-sticky;position:sticky;top:0;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__info__times{position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img{height:220px;position:-webkit-sticky;position:sticky;top:-5vh;width:100vw;z-index:3}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img img{height:unset;transform:none;width:100%}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__picture__tag{bottom:unset;left:16px;top:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions{bottom:0;flex-direction:unset;left:8px;right:unset;top:unset}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__img .miam-recipe-details__img__actions .miam-recipe-details__actions__icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.65);background-color:unset;box-shadow:none;margin:0 4px 8px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos{flex:unset;margin-left:unset;padding:0 16px;width:100vw;z-index:0}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__type{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__title{font-size:24px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description{margin-bottom:16px}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__infos .miam-recipe-details__top__container__infos__top .miam-recipe-details__infos__description .miam-recipe-details__description__action{display:none}.miam-recipe-details .miam-recipe-details__top__container .miam-recipe-details__top__container__info{background-color:var(--m-color-white);width:unset;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container{display:flex;flex-direction:column;min-height:80vh;padding-bottom:50px;position:relative;width:100vw}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header{background-color:var(--m-color-white);border-radius:32px 32px 0 0;display:flex;justify-content:space-evenly;padding:16px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button{margin-right:0}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__mobile__header button.active{background-color:var(--m-color-primary);color:var(--m-color-white)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row{align-items:center;color:var(--m-color-black);display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding-bottom:16px;padding-right:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row div{width:100%}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__row .miam-recipe-details__ingredients__row__qty{color:var(--m-color-grey-text-dark);font-size:14px;font-weight:500;margin-right:16px;padding-right:10px;text-align:end}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter{display:flex;justify-content:space-between;padding:16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__counter .miam-recipe-details__ingredients__counter__print{display:none}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list{display:flex;flex-direction:column}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__ingredients__list .miam-recipe-details__ingredients__row{display:flex;font-size:16px;justify-content:space-between;padding:0 16px 16px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel{-webkit-tap-highlight-color:transparent;align-items:center;align-items:flex-start;background-color:transparent;border-radius:var(--m-border-radius);cursor:pointer;display:flex;flex-direction:row;margin:0 8px 32px;padding:0;position:relative;text-align:left;transition:var(--m-default-transition)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel:not(:last-child):before{background-color:var(--m-color-grey);content:\"\";height:50%;left:29px;position:absolute;top:60px;width:1px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel.miam-recipe-details__panel__done{background-color:var(--miam-color-primary-light)}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__idx{align-items:center;background-color:var(--m-color-primary);border-radius:40px;color:#fff;display:flex;flex:0 0 auto;font-size:17px;font-weight:700;height:40px;justify-content:center;margin-right:20px;width:40px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__text{font-size:14px}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel .miam-recipe-details__panel__checkIcon{flex:0 0 auto}.miam-recipe-details .miam-recipe-details__mobile__container .miam-recipe-details__steps__list .miam-recipe-details__steps__list__panel div{flex:1;margin:10px}.miam-recipe-details .miam-recipe-details__bottom__container__action{background:var(--m-color-white);bottom:0;left:0;padding:0 16px;position:fixed;right:0;width:100vw;z-index:4}}"], encapsulation: 2, changeDetection: 0 });
681
719
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeDetailsComponent, [{
682
720
  type: Component,
683
721
  args: [{
@@ -693,6 +731,8 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
693
731
  type: Input
694
732
  }], previewAllowed: [{
695
733
  type: Input
734
+ }], ingredientsPictures: [{
735
+ type: Input
696
736
  }], recipeAdded: [{
697
737
  type: Output
698
738
  }], recipeChanged: [{
@@ -702,8 +742,8 @@ RecipeDetailsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeDetailsCompo
702
742
  }], topContainerImg: [{
703
743
  type: ViewChild,
704
744
  args: ['topContainerImg']
705
- }], onScroll: [{
706
- type: HostListener,
707
- args: ['scroll', ['$event']]
745
+ }], mainContainer: [{
746
+ type: ViewChild,
747
+ args: ['mainContainer']
708
748
  }] }); })();
709
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUVaLFlBQVksRUFFWixTQUFTLEVBQ1QsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvSCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNoQjNDLDBCQUNBOzs7SUFEd0IsNEdBQXVDOzs7SUFDL0QsMEJBQTZFOzs7SUFDN0UscUNBS2tCOzs7SUFIaEIsK0NBQTBCLDZCQUFBLCtCQUFBOzs7SUFLNUIsK0JBQzRDO0lBQUEsMkNBQVk7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LElBQUksQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsUUFBaUI7UUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs0RkF0SFUsc0JBQXNCOzJEQUF0QixzQkFBc0I7Ozs7OzsyR0FBdEIsb0JBQWdCOztRQzdCN0IseUVBQ0U7UUFzTUYsd0hBQ0U7OztRQXhNRyxxQ0FBNkIsaUJBQUE7O2tERDZCckIsc0JBQXNCO2NBUGxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUsaUNBQWlDO2dCQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzhQQUVVLE1BQU07a0JBQWQsS0FBSztZQUNHLDJCQUEyQjtrQkFBbkMsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFFdUIsZUFBZTtrQkFBNUMsU0FBUzttQkFBQyxpQkFBaUI7WUE2QjVCLFFBQVE7a0JBRFAsWUFBWTttQkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBIb3N0TGlzdGVuZXIsXG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uLy4uL19tb2RlbHMvcmVjaXBlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsIFBvaW50T2ZTYWxlc1NlcnZpY2UsIFJlY2lwZUV2ZW50c1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RvcEV2ZW50UHJvcGFnYXRpb24gfSBmcm9tICcuLi8uLi9fdXRpbHMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1lZGlhTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlY2lwZS1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBlRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIEBJbnB1dCgpIHJlY2lwZTogUmVjaXBlO1xuICBASW5wdXQoKSBmb3JjZUluZ3JlZGllbnRzU3RlcHN0b2dnbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcHJldmlld0FsbG93ZWQgPSB0cnVlO1xuICBAT3V0cHV0KCkgcmVjaXBlQWRkZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlY2lwZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlY2lwZUVycm9yOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgndG9wQ29udGFpbmVySW1nJykgdG9wQ29udGFpbmVySW1nOiBFbGVtZW50UmVmO1xuXG4gIGlzTW9iaWxlID0gZmFsc2U7XG4gIHRhYiA9IDA7XG4gIHNob3dEZXRhaWwgPSB0cnVlO1xuICBzdGVwczogYW55W10gPSBbXTtcbiAgYWN0aXZlU3RlcCA9IDA7XG4gIGljb24gPSBJY29uO1xuICBpbmdyZWRpZW50c0NoZWNrZWQgPSB7fTtcbiAgc2hvd0luZ3JlZGllbnQgPSB0cnVlO1xuICBjbG9zZUljb25oaWRkZW4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcGxheWVyV2lkdGg7XG4gIHBsYXllckhlaWdodDtcbiAgc2hvd1ZpZGVvO1xuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwdWJsaWMgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZUV2ZW50c1NlcnZpY2U6IFJlY2lwZUV2ZW50c1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLm1lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiAxMDIzcHgpJykubWF0Y2hlcztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uU2Nyb2xsKCRldmVudCkge1xuICAgIGlmICgkZXZlbnQuc3JjRWxlbWVudC5zY3JvbGxUb3AgPiAzMDAgIT09IHRoaXMuY2xvc2VJY29uaGlkZGVuLnZhbHVlKSB7XG4gICAgICB0aGlzLmNsb3NlSWNvbmhpZGRlbi5uZXh0KCRldmVudC5zcmNFbGVtZW50LnNjcm9sbFRvcCA+IDMwMCkgO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLmZvcmNlSW5ncmVkaWVudHNTdGVwc3RvZ2dsZSA/IHRydWUgOiB0aGlzLmlzTW9iaWxlO1xuICAgIHRoaXMuc2hvd1ZpZGVvID0gdGhpcy5jb250ZXh0U2VydmljZS52aWRlb1JlY2lwZXNFbmFibGVkICYmIHRoaXMucmVjaXBlPy52aWRlb0lkO1xuICAgIGlmICh0aGlzLnJlY2lwZSkge1xuICAgICAgdGhpcy5zdGVwcyA9IHRoaXMucmVjaXBlLnN0ZXBzO1xuICAgICAgdGhpcy5hY3RpdmVTdGVwID0gMDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgdGhpcy5wbGF5ZXJXaWR0aCA9IE1hdGgubWluKDY0MCwgdGhpcy50b3BDb250YWluZXJJbWc/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldFdpZHRoKTtcbiAgICB0aGlzLnBsYXllckhlaWdodCA9IHRoaXMucGxheWVyV2lkdGggKiAzOTAgLyA2NDA7XG4gIH1cblxuICBjaGFuZ2VBY3RpdmVTdGVwKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmFjdGl2ZVN0ZXAgPSBpbmRleDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBhZGRSZWNpcGUoKTogdm9pZCB7XG4gICAgZm9ya0pvaW4oW1xuICAgICAgdGhpcy51c2VyU2VydmljZS5pc0xvZ2dlZCQuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlKDEpKSxcbiAgICAgIHRoaXMucG9zU2VydmljZS5pc1Bvc1ZhbGlkKCkucGlwZSh0YWtlKDEpKVxuICAgIF0pLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgY29uc3QgaXNIb29rT2sgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmhvb2tDYWxsYmFjayhyZXNbMF0sIHJlc1sxXSk7XG4gICAgICBpZiAoaXNIb29rT2spIHtcbiAgICAgICAgdGhpcy5hZGRSZWNpcGVBY3Rpb25PSygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGRSZWNpcGVBY3Rpb25LTygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYWRkUmVjaXBlQWN0aW9uT0soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JC52YWx1ZS5oYXNSZWNpcGUodGhpcy5yZWNpcGUuaWQpKXtcbiAgICAgIHRoaXMucmVjaXBlRXZlbnRzU2VydmljZS5zZW5kRXZlbnQodGhpcy5yZWNpcGUsIHRoaXMucmVjaXBlRXZlbnRzU2VydmljZS5BQ1RJT05fQURERUQpXG4gICAgfVxuICAgIHRoaXMuZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmFwcGVuZFJlY2lwZVRvTGlzdCh0aGlzLnJlY2lwZS5pZCwgdGhpcy5yZWNpcGUubW9kaWZpZWRHdWVzdHMpO1xuICAgIHRoaXMucmVjaXBlQWRkZWQuZW1pdCgpO1xuICB9XG5cbiAgYWRkUmVjaXBlQWN0aW9uS08oKTogdm9pZCB7XG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnX21pYW0vY2FjaGVkLXJlY2lwZScsIEpTT04uc3RyaW5naWZ5KHRoaXMucmVjaXBlKSk7XG4gICAgdGhpcy5yZWNpcGVFcnJvci5lbWl0KCk7XG4gIH1cblxuICB1cGRhdGVHdWVzdHMoZ3Vlc3RzKSB7XG4gICAgdGhpcy5yZWNpcGUubW9kaWZpZWRHdWVzdHMgPSBndWVzdHM7XG4gICAgdGhpcy5yZWNpcGVDaGFuZ2VkLmVtaXQoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcmludCgpIHtcbiAgICB3aW5kb3cucHJpbnQoKTtcbiAgfVxuXG4gIG9wZW5DYWxlbmRhcihldmVudDogRXZlbnQpIHtcbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XG4gICAgLy8gVE9ETyBpbXBsZW1lbnRcbiAgfVxuXG4gIHNoYXJlUmVjaXBlKGV2ZW50OiBFdmVudCkge1xuICAgIHN0b3BFdmVudFByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAvLyBUT0RPIGltcGxlbWVudFxuICB9XG5cbiAgdG9nZ2xlQWRkb24oKXtcbiAgICB0aGlzLnNob3dEZXRhaWwgPSAgIXRoaXMuc2hvd0RldGFpbDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB0b2dnbGVTaG93SW5ncmVkaWVudChpc1Nob3dlZDogYm9vbGVhbil7XG4gICAgdGhpcy5zaG93SW5ncmVkaWVudCA9IGlzU2hvd2VkO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInNob3dEZXRhaWwgZWxzZSBhZGRvblwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc1wiICAoc2Nyb2xsKT1cIm9uU2Nyb2xsKCRldmVudClcIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fbGVmdFwiPlxuICAgICAgPGRpdiAjdG9wQ29udGFpbmVySW1nIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2ltZ1wiPlxuICAgICAgICA8aW1nICpuZ0lmPVwiIXNob3dWaWRlb1wiIFtzcmNdPVwicmVjaXBlPy5hdHRyaWJ1dGVzWydtZWRpYS11cmwnXVwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dWaWRlb1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGljdHVyZV9fZ3JhZGllbnRcIj48L2Rpdj5cbiAgICAgICAgPHlvdXR1YmUtcGxheWVyXG4gICAgICAgICAgKm5nSWY9XCJzaG93VmlkZW8gJiYgcGxheWVyV2lkdGhcIlxuICAgICAgICAgIFt2aWRlb0lkXT1cInJlY2lwZS52aWRlb0lkXCJcbiAgICAgICAgICBbd2lkdGhdPVwicGxheWVyV2lkdGhcIlxuICAgICAgICAgIFtoZWlnaHRdPVwicGxheWVySGVpZ2h0XCJcbiAgICAgICAgPjwveW91dHViZS1wbGF5ZXI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKVwiXG4gICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlX190YWdcIj5Ew6lqw6AgYWpvdXTDqWU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2ltZ19fYWN0aW9uc1wiPlxuICAgICAgICAgIDxuZy1taWFtLWxpa2UtYnV0dG9uICpuZ0lmPVwidXNlclNlcnZpY2UuaXNMb2dnZWQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uIG1pYW0tbm9QYWRkaW5nXCIgW3JlY2lwZV09J3JlY2lwZScgW3dpZHRoXT1cIjI2XCIgW2hlaWdodF09XCIyNlwiPlxuICAgICAgICAgIDwvbmctbWlhbS1saWtlLWJ1dHRvbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYWN0aW9uc19faWNvblwiIFt3aWR0aF09XCIyNlwiIFtoZWlnaHRdPVwiMjZcIiBbaWNvbk5hbWVdPVwiaWNvbi5DYWxlbmRhclwiXG4gICAgICAgICAgICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjI2XCIgW2hlaWdodF09XCIyNlwiIFtpY29uTmFtZV09XCJpY29uLlNoYXJlXCJcbiAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSc+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aW1nICpuZ0lmPVwicmVjaXBlLmZpbGlncmFuZUxvZ29VcmxcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BpY3R1cmVfX3Nwb25zb3JcIiBzcmM9XCJ7e3JlY2lwZS5maWxpZ3JhbmVMb2dvVXJsfX1cIj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyX19pbmZvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvX19tZXRyaWNzIG1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3NfX3RvdGFsXCI+XG4gICAgICAgICAgPG5nLW1pYW0taWNvbiAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJyBbd2lkdGhdPVwiMzJcIiBbaGVpZ2h0XT1cIjMyXCIgW2ljb25OYW1lXT1cImljb24uVGltZVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgIDxzcGFuPlRlbXBzIHRvdGFsIDoge3sgcmVjaXBlPy50b3RhbFRpbWUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fdGltZXNcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwicmVjaXBlPy5wcmVwYXJhdGlvblRpbWUgIT09ICctJ1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc1wiPlxuICAgICAgICAgICAgPHNwYW4+UHLDqXBhcmF0aW9uPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21ldHJpY3NfX3Jvd1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2xhdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5QcmVwYXJhdGlvblwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyByZWNpcGU/LnByZXBhcmF0aW9uVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGU/LmNvb2tpbmdUaW1lICE9PSAnLSdcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3NcIj5cbiAgICAgICAgICAgIDxzcGFuPkN1aXNzb248L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbWV0cmljc19fcm93XCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2xhdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5Ib3RcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgcmVjaXBlPy5jb29raW5nVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGU/LnJlc3RpbmdUaW1lICE9PSAnLSdcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3NcIj5cbiAgICAgICAgICAgIDxzcGFuPlJlcG9zPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21ldHJpY3NfX3Jvd1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXNsYXRlKScgW2ljb25OYW1lXT1cImljb24uV2FpdFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyByZWNpcGU/LnJlc3RpbmdUaW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyX19pbmZvc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3RvcF9fY29udGFpbmVyX19pbmZvc19fdG9wXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX3R5cGVcIj57e3JlY2lwZT8ucmVjaXBlVHlwZT8uYXR0cmlidXRlcz8ubmFtZSB8IHRpdGxlY2FzZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fdGl0bGVcIj57e3JlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXX19PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2RpZmZpY3VsdHlcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJyZWNpcGU/LmRpZmZpY3VsdHlMYWJlbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ZhY2lsZSdcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiNTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eUxvd1wiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbW95ZW4nXCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjU2XCIgW2hlaWdodF09XCIxNlwiIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlNZWRpdW1cIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RpZmZpY2lsZSdcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiNTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eUhpZ2h0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8c3Bhbj57e3JlY2lwZT8uZGlmZmljdWx0eUxhYmVsIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIHt7IHJlY2lwZT8uYXR0cmlidXRlc1snZGVzY3JpcHRpb24nXSB9fVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19kZXNjcmlwdGlvbl9fYWN0aW9uXCIgKGNsaWNrKT1cInByaW50KClcIj5cbiAgICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjIwXCIgW2hlaWdodF09XCIyMFwiXG4gICAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KScgW2ljb25OYW1lXT1cImljb24uUHJpbnRcIj5cbiAgICAgICAgICAgIDwvbmctbWlhbS1pY29uPiA8c3Bhbj4gSW1wcmltZXIgbGEgcmVjZXR0ZSA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX3ByaWNlX193cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VcIj5cbiAgICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZVwiIFtzZXJ2ZXNdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiPjwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJwcmV2aWV3QWxsb3dlZFwiICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19hY3Rpb24gbS1idXR0b24tZmFiLXByaW1hcnlcIiAoY2xpY2spPVwiYWRkUmVjaXBlKClcIj5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7KGdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JCB8IGFzeW5jKT8uaGFzUmVjaXBlKHJlY2lwZT8uaWQpID8gJ1ZvaXIgbGUgZMOpdGFpbCcgOiAnU8OpbGVjdGlvbm5lciBjZSByZXBhcyd9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9JyNmZmYnXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiKGdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JCB8IGFzeW5jKT8uaGFzUmVjaXBlKHJlY2lwZT8uaWQpID8gaWNvbi5DaGVja0xpc3QgOiBpY29uLkNhcnRcIj5cbiAgICAgICAgICA8L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19taWRfX2NvbnRhaW5lclwiPlxuICA8L2Rpdj5cbiAgPGRpdj5cbiAgICA8bmctbWlhbS1hZGRvbi1saW5rICpuZ0lmPVwicmVjaXBlPy5zcG9uc29ycz8ubGVuZ3RoID4gMCB8fCByZWNpcGUuaW5mb3JtYXRpb25hbFNlbnRlbmNlXCJcbiAgICAgIFtyZWNpcGVdPSdyZWNpcGUnIChzaG93QWRkb24pPSd0b2dnbGVBZGRvbigpJz48L25nLW1pYW0tYWRkb24tbGluaz5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCIhaXNNb2JpbGUgZWxzZSBtb2JpbGVDb250YWluZXJcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JvdHRvbV9fY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JvdHRvbV9fY29udGFpbmVyX19pbmdyZWRpZW50c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2JvdHRvbV9fY29udGFpbmVyX19oZWFkZXJcIj5cbiAgICAgICAgSW5ncsOpZGllbnRzXG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fY291bnRlclwiPlxuICAgICAgICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXQgW2NvdW50ZXJdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0cyB8fCByZWNpcGUuZ3Vlc3RzXCIgKGNvdW50ZXJDaGFuZ2UpPVwidXBkYXRlR3Vlc3RzKCRldmVudClcIj5cbiAgICAgICAgICA8L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19jb3VudGVyX19wcmludFwiPlBvdXIge3tyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzfX1cbiAgICAgICAgICAgIHBlcnNvbm5lczwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd19fcXR5XCI+UXVhbnRpdMOpPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2xpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIiBbbmdDbGFzc109XCJ7J2NoZWNrZWQnOiBpbmdyZWRpZW50c0NoZWNrZWRbaV19XCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaW5ncmVkaWVudCBvZiByZWNpcGU/Lm1vZGlmaWVkSW5ncmVkaWVudHMsIGxldCBpID0gaW5kZXggXCI+XG4gICAgICAgICAgPGRpdj4ge3sgaW5ncmVkaWVudC5uYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd19fcXR5XCI+IHt7IGluZ3JlZGllbnQucXR5IHwgcmVhZGFibGVGbG9hdE51bWJlciA6XG4gICAgICAgICAgICBpbmdyZWRpZW50LnVuaXQgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX3N0ZXBzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2hlYWRlclwiPlxuICAgICAgICBQcsOpcGFyYXRpb25cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3N0ZXBzX19saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdGVwc19fbGlzdF9fcGFuZWxcIiAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VBY3RpdmVTdGVwKGkpXCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVTdGVwXCJcbiAgICAgICAgICBbY2xhc3MubWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2RvbmVdPVwiaSA8IGFjdGl2ZVN0ZXBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2lkeFwiPjxzdHJvbmc+e3sgaSB9fTwvc3Ryb25nPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9fdGV4dFwiPnt7c3RlcD8uYXR0cmlidXRlcz8uZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9fY2hlY2tJY29uXCIgKm5nSWY9XCJpIDw9IGFjdGl2ZVN0ZXBcIiBbaGVpZ2h0XT0nMTYnIFt3aWR0aF09JzE2J1xuICAgICAgICAgICAgW2ljb25OYW1lXT0naWNvbi5DaGVja0NpcmNsZUZpbGwnIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3Itc2Vjb25kYXJ5KVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICNtb2JpbGVDb250YWluZXIgPlxuICAgIDxkaXYgI21vYmlsZUNvbnRhaW5lclRvcCBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21vYmlsZV9fY29udGFpbmVyXCI+XG4gICAgICA8ZGl2ICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21vYmlsZV9faGVhZGVyXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtLWJ1dHRvbi1zZWNvbmRhcnlcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZScgOiBzaG93SW5ncmVkaWVudH1cIiAoY2xpY2spPVwidG9nZ2xlU2hvd0luZ3JlZGllbnQodHJ1ZSk7IG1vYmlsZUNvbnRhaW5lclRvcC5zY3JvbGxJbnRvVmlldygpXCI+SW5ncmVkaWVudHM8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm0tYnV0dG9uLXNlY29uZGFyeVwiIFtuZ0NsYXNzXT1cInsnYWN0aXZlJyA6ICFzaG93SW5ncmVkaWVudH1cIiAoY2xpY2spPVwidG9nZ2xlU2hvd0luZ3JlZGllbnQoZmFsc2UpOyBtb2JpbGVDb250YWluZXJUb3Auc2Nyb2xsSW50b1ZpZXcoKVwiPlByw6lwYXJhdGlvbjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICAqbmdJZj1cInNob3dJbmdyZWRpZW50IGVsc2Ugc3RlcHNDb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19jb3VudGVyXCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXQgW2NvdW50ZXJdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiIChjb3VudGVyQ2hhbmdlKT1cInVwZGF0ZUd1ZXN0cygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDwvbmctbWlhbS1jb3VudGVyLWlucHV0PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19jb3VudGVyX19wcmludFwiPlBvdXIge3tyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzfX1cbiAgICAgICAgICAgICAgICBwZXJzb25uZXM8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd19fcXR5XCI+UXVhbnRpdMOpPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fbGlzdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIiBbbmdDbGFzc109XCJ7J2NoZWNrZWQnOiBpbmdyZWRpZW50c0NoZWNrZWRbaV19XCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGluZ3JlZGllbnQgb2YgcmVjaXBlPy5tb2RpZmllZEluZ3JlZGllbnRzLCBsZXQgaSA9IGluZGV4IFwiPlxuICAgICAgICAgICAgICA8ZGl2PiB7eyBpbmdyZWRpZW50Lm5hbWUgfCBjYXBpdGFsaXplRmlyc3RMZXR0ZXJ9fTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd19fcXR5XCI+IHt7IGluZ3JlZGllbnQucXR5IHwgcmVhZGFibGVGbG9hdE51bWJlciA6XG4gICAgICAgICAgICAgICAgaW5ncmVkaWVudC51bml0IH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICA8bmctdGVtcGxhdGUgI3N0ZXBzQ29udGFpbmVyPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3N0ZXBzX19saXN0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdGVwc19fbGlzdF9fcGFuZWxcIiAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VBY3RpdmVTdGVwKGkpXCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVTdGVwXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MubWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2RvbmVdPVwiaSA8IGFjdGl2ZVN0ZXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2lkeFwiPjxzdHJvbmc+e3sgaSB9fTwvc3Ryb25nPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9fdGV4dFwiPnt7c3RlcD8uYXR0cmlidXRlcz8uZGVzY3JpcHRpb259fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19wYW5lbF9fY2hlY2tJY29uXCIgKm5nSWY9XCJpIDw9IGFjdGl2ZVN0ZXBcIiBbaGVpZ2h0XT0nMTYnIFt3aWR0aF09JzE2J1xuICAgICAgICAgICAgICAgICAgW2ljb25OYW1lXT0naWNvbi5DaGVja0NpcmNsZUZpbGwnIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3Itc2Vjb25kYXJ5KVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2FjdGlvblwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VfX3dyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VcIj5cbiAgICAgICAgPG5nLW1pYW0tcmVjaXBlLXByaWNpbmcgW3JlY2lwZV09XCJyZWNpcGVcIiBbc2VydmVzXT1cInJlY2lwZT8ubW9kaWZpZWRHdWVzdHNcIj48L25nLW1pYW0tcmVjaXBlLXByaWNpbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJwcmV2aWV3QWxsb3dlZFwiICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19hY3Rpb24gbS1idXR0b24tZmFiLXByaW1hcnlcIiAoY2xpY2spPVwiYWRkUmVjaXBlKClcIj5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAge3soZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyAnVm9pciBsZSBkw6l0YWlsJyA6ICdTw6lsZWN0aW9ubmVyIGNlIHJlcGFzJ319XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgcHJpbWFyeUNvbG9yPScjZmZmJ1xuICAgICAgICAgIFtpY29uTmFtZV09XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyBpY29uLkNoZWNrTGlzdCAgOmljb24uQ2FydFwiPlxuICAgICAgICA8L25nLW1pYW0taWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNhZGRvbj5cbiAgPG5nLW1pYW0tcmVjaXBlLWFkZG9uIFtyZWNpcGVdPSdyZWNpcGUnIChoaWRlQWRkb24pPVwidG9nZ2xlQWRkb24oKVwiPjwvbmctbWlhbS1yZWNpcGUtYWRkb24+XG48L25nLXRlbXBsYXRlPiJdfQ==
749
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvcmVjaXBlLWRldGFpbHMuY29tcG9uZW50LnRzIiwibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtZGV0YWlscy9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxFQUdaLFNBQVMsRUFDVCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ILE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNmM0MsMEJBQ0E7OztJQUR3Qiw0R0FBdUM7OztJQUMvRCwwQkFBNkU7OztJQUM3RSxxQ0FLa0I7OztJQUhoQiwrQ0FBMEIsNkJBQUEsK0JBQUE7OztJQUs1QiwrQkFDNEM7SUFBQSwyQ0FBWTtJQUFBLGlCQUFN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LElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUM7SUFDNUUsQ0FBQzs7NEZBbEpVLHNCQUFzQjsyREFBdEIsc0JBQXNCOzs7Ozs7OztRQzdCbkMseUVBQ0U7UUF5TUYsd0hBQ0U7OztRQTNNRyxxQ0FBNkIsaUJBQUE7O2tERDZCckIsc0JBQXNCO2NBUGxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUsaUNBQWlDO2dCQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzhQQUVVLE1BQU07a0JBQWQsS0FBSztZQUNHLDJCQUEyQjtrQkFBbkMsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFDSSxXQUFXO2tCQUFwQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFFdUIsZUFBZTtrQkFBNUMsU0FBUzttQkFBQyxpQkFBaUI7WUFDQSxhQUFhO2tCQUF4QyxTQUFTO21CQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL3JlY2lwZSc7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLCBQb2ludE9mU2FsZXNTZXJ2aWNlLCBSZWNpcGVFdmVudHNTZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0b3BFdmVudFByb3BhZ2F0aW9uIH0gZnJvbSAnLi4vLi4vX3V0aWxzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IEluZ3JlZGllbnQgfSBmcm9tICcuLi8uLi9fbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0NoZWNrZWQge1xuICBASW5wdXQoKSByZWNpcGU6IFJlY2lwZTtcbiAgQElucHV0KCkgZm9yY2VJbmdyZWRpZW50c1N0ZXBzdG9nZ2xlO1xuICBASW5wdXQoKSBwcmV2aWV3QWxsb3dlZCA9IHRydWU7XG4gIEBJbnB1dCgpIGluZ3JlZGllbnRzUGljdHVyZXMgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHJlY2lwZUFkZGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWNpcGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZWNpcGVFcnJvcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RvcENvbnRhaW5lckltZycpIHRvcENvbnRhaW5lckltZzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbWFpbkNvbnRhaW5lcicpIG1haW5Db250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgaXNNb2JpbGUgPSBmYWxzZTtcbiAgdGFiID0gMDtcbiAgc2hvd0RldGFpbCA9IHRydWU7XG4gIHN0ZXBzOiBhbnlbXSA9IFtdO1xuICBhY3RpdmVTdGVwID0gMDtcbiAgaWNvbiA9IEljb247XG4gIGluZ3JlZGllbnRzQ2hlY2tlZCA9IHt9O1xuICBzaG93SW5ncmVkaWVudCA9IHRydWU7XG4gIGNsb3NlSWNvbmhpZGRlbiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwbGF5ZXJXaWR0aDtcbiAgcGxheWVySGVpZ2h0O1xuICBzaG93VmlkZW87XG4gIHNjcm9sbExpc3RlbmVySW5pdGlhbGlzZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIsXG4gICAgcHVibGljIGdyb2Nlcmllc0xpc3RzU2VydmljZTogR3JvY2VyaWVzTGlzdHNTZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWNpcGVFdmVudHNTZXJ2aWNlOiBSZWNpcGVFdmVudHNTZXJ2aWNlLFxuICAgIHB1YmxpYyBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB0aGlzLmlzTW9iaWxlID0gdGhpcy5tZWRpYU1hdGNoZXIubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTAyM3B4KScpLm1hdGNoZXM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyBpZiBmb3JjZUluZ3JlZGllbnRzU3RlcHN0b2dnbGUsIHVzZSBpc01vYmlsZSB0byB0b2dnbGUgaW5ncmVkaWVudHMgJiBzdGVwcyBpbiBtb2JpbGUgbW9kZSwgZWxzZVxuICAgIC8vIFVzZSB0aGUgdmFsdWUgb2YgZm9yY2VJbmdyZWRpZW50c1N0ZXBzdG9nZ2xlIHRvIGZvcmNlIGl0IHRvIG1vYmlsZSAodHJ1ZSkgb3IgZGVza3RvcCAoZmFsc2UpXG4gICAgaWYgKHRoaXMuZm9yY2VJbmdyZWRpZW50c1N0ZXBzdG9nZ2xlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLmZvcmNlSW5ncmVkaWVudHNTdGVwc3RvZ2dsZTtcbiAgICB9XG4gICAgdGhpcy5zaG93VmlkZW8gPSBmYWxzZTsgLy8gZm9yY2UgcmVsb2FkIHZpZGVvIHBsYXllclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNob3dWaWRlbyA9IHRoaXMuY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiB0aGlzLnJlY2lwZT8udmlkZW9JZDtcbiAgICBpZiAodGhpcy5yZWNpcGUpIHtcbiAgICAgIHRoaXMuc3RlcHMgPSB0aGlzLnJlY2lwZS5zdGVwcztcbiAgICAgIHRoaXMuYWN0aXZlU3RlcCA9IDA7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMucGxheWVyV2lkdGggPSBNYXRoLm1pbig2NDAsIHRoaXMudG9wQ29udGFpbmVySW1nPy5uYXRpdmVFbGVtZW50Py5vZmZzZXRXaWR0aCk7XG4gICAgdGhpcy5wbGF5ZXJIZWlnaHQgPSB0aGlzLnBsYXllcldpZHRoICogMzkwIC8gNjQwO1xuICAgIGlmICghdGhpcy5zY3JvbGxMaXN0ZW5lckluaXRpYWxpc2VkKSB7XG4gICAgICB0aGlzLmluaXRTY3JvbGxMaXN0ZW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHRoZSBsaXN0ZW5lciBvbiBzY3JvbGwgc28gdGhlIG1vZGFsIGNhbiBoaWRlIHRoZSBjbG9zZSBpY29uXG4gICAqL1xuICBpbml0U2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgaWYgKHRoaXMubWFpbkNvbnRhaW5lcikge1xuICAgICAgY29uc3QgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKFtlbnRyeV0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWFpbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA+IDMwMCAhPT0gdGhpcy5jbG9zZUljb25oaWRkZW4udmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlSWNvbmhpZGRlbi5uZXh0KHRoaXMubWFpbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA+IDMwMCkgO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aHJlc2hvbGQ6IFswLCAwLjMzLCAwLjY2LCAxXSxcbiAgICAgICAgcm9vdDogdGhpcy5tYWluQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgIH0pO1xuICAgICAgaW50ZXJzZWN0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnRvcENvbnRhaW5lckltZy5uYXRpdmVFbGVtZW50KTtcbiAgICAgIHRoaXMuc2Nyb2xsTGlzdGVuZXJJbml0aWFsaXNlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlQWN0aXZlU3RlcChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5hY3RpdmVTdGVwID0gaW5kZXg7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgYWRkUmVjaXBlKCk6IHZvaWQge1xuICAgIGZvcmtKb2luKFtcbiAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNMb2dnZWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZSgxKSksXG4gICAgICB0aGlzLnBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpLnBpcGUodGFrZSgxKSlcbiAgICBdKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGNvbnN0IGlzSG9va09rID0gdGhpcy5jb250ZXh0U2VydmljZS5ob29rQ2FsbGJhY2socmVzWzBdLCByZXNbMV0pO1xuICAgICAgaWYgKGlzSG9va09rKSB7XG4gICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uT0soKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkUmVjaXBlQWN0aW9uS08oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbk9LKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQudmFsdWUuaGFzUmVjaXBlKHRoaXMucmVjaXBlLmlkKSl7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2Uuc2VuZEV2ZW50KHRoaXMucmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX0FEREVEKVxuICAgIH1cbiAgICB0aGlzLmdyb2Nlcmllc0xpc3RzU2VydmljZS5hcHBlbmRSZWNpcGVUb0xpc3QodGhpcy5yZWNpcGUuaWQsIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzKTtcbiAgICB0aGlzLnJlY2lwZUFkZGVkLmVtaXQoKTtcbiAgfVxuXG4gIGFkZFJlY2lwZUFjdGlvbktPKCk6IHZvaWQge1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ19taWFtL2NhY2hlZC1yZWNpcGUnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY2lwZSkpO1xuICAgIHRoaXMucmVjaXBlRXJyb3IuZW1pdCgpO1xuICB9XG5cbiAgdXBkYXRlR3Vlc3RzKGd1ZXN0cykge1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gZ3Vlc3RzO1xuICAgIHRoaXMucmVjaXBlQ2hhbmdlZC5lbWl0KCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpbnQoKSB7XG4gICAgd2luZG93LnByaW50KCk7XG4gIH1cblxuICBvcGVuQ2FsZW5kYXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZXZlbnQpO1xuICAgIC8vIFRPRE8gaW1wbGVtZW50XG4gIH1cblxuICBzaGFyZVJlY2lwZShldmVudDogRXZlbnQpIHtcbiAgICBzdG9wRXZlbnRQcm9wYWdhdGlvbihldmVudCk7XG4gICAgLy8gVE9ETyBpbXBsZW1lbnRcbiAgfVxuXG4gIHRvZ2dsZUFkZG9uKCl7XG4gICAgdGhpcy5zaG93RGV0YWlsID0gICF0aGlzLnNob3dEZXRhaWw7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdG9nZ2xlU2hvd0luZ3JlZGllbnQoaXNTaG93ZWQ6IGJvb2xlYW4pe1xuICAgIHRoaXMuc2hvd0luZ3JlZGllbnQgPSBpc1Nob3dlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpbmdyZWRpZW50UGljdHVyZShpbmdyZWRpZW50OiBJbmdyZWRpZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaW5ncmVkaWVudC5waWN0dXJlIHx8IHRoaXMuY29udGV4dFNlcnZpY2UuZGVmYXVsdEluZ3JlZGllbnRQaWN0dXJlO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwic2hvd0RldGFpbCBlbHNlIGFkZG9uXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzXCIgI21haW5Db250YWluZXIgPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19sZWZ0XCI+XG4gICAgICA8ZGl2ICN0b3BDb250YWluZXJJbWcgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX190b3BfX2NvbnRhaW5lcl9faW1nXCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCIhc2hvd1ZpZGVvXCIgW3NyY109XCJyZWNpcGU/LmF0dHJpYnV0ZXNbJ21lZGlhLXVybCddXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd1ZpZGVvXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19waWN0dXJlX19ncmFkaWVudFwiPjwvZGl2PlxuICAgICAgICA8eW91dHViZS1wbGF5ZXJcbiAgICAgICAgICAqbmdJZj1cInNob3dWaWRlbyAmJiBwbGF5ZXJXaWR0aFwiXG4gICAgICAgICAgW3ZpZGVvSWRdPVwicmVjaXBlLnZpZGVvSWRcIlxuICAgICAgICAgIFt3aWR0aF09XCJwbGF5ZXJXaWR0aFwiXG4gICAgICAgICAgW2hlaWdodF09XCJwbGF5ZXJIZWlnaHRcIlxuICAgICAgICA+PC95b3V0dWJlLXBsYXllcj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdyb2Nlcmllc0xpc3RzU2VydmljZS5saXN0JCB8IGFzeW5jKT8uaGFzUmVjaXBlKHJlY2lwZT8uaWQpXCJcbiAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BpY3R1cmVfX3RhZ1wiPkTDqWrDoCBham91dMOpZTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW1nX19hY3Rpb25zXCI+XG4gICAgICAgICAgPG5nLW1pYW0tbGlrZS1idXR0b24gKm5nSWY9XCJ1c2VyU2VydmljZS5pc0xvZ2dlZCQgfCBhc3luY1wiXG4gICAgICAgICAgICBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb24gbWlhbS1ub1BhZGRpbmdcIiBbcmVjaXBlXT0ncmVjaXBlJyBbd2lkdGhdPVwiMjZcIiBbaGVpZ2h0XT1cIjI2XCI+XG4gICAgICAgICAgPC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19hY3Rpb25zX19pY29uXCIgW3dpZHRoXT1cIjI2XCIgW2hlaWdodF09XCIyNlwiIFtpY29uTmFtZV09XCJpY29uLkNhbGVuZGFyXCJcbiAgICAgICAgICAgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1wcmltYXJ5KSc+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb25cIiBbd2lkdGhdPVwiMjZcIiBbaGVpZ2h0XT1cIjI2XCIgW2ljb25OYW1lXT1cImljb24uU2hhcmVcIlxuICAgICAgICAgICAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJz48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJyZWNpcGUuZmlsaWdyYW5lTG9nb1VybFwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGljdHVyZV9fc3BvbnNvclwiIHNyYz1cInt7cmVjaXBlLmZpbGlncmFuZUxvZ29Vcmx9fVwiPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2luZm9cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9fX21ldHJpY3MgbWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc19fdG90YWxcIj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknIFt3aWR0aF09XCIzMlwiIFtoZWlnaHRdPVwiMzJcIiBbaWNvbk5hbWVdPVwiaWNvbi5UaW1lXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPHNwYW4+VGVtcHMgdG90YWwgOiB7eyByZWNpcGU/LnRvdGFsVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvX190aW1lc1wiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJyZWNpcGU/LnByZXBhcmF0aW9uVGltZSAhPT0gJy0nXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvX19tZXRyaWNzXCI+XG4gICAgICAgICAgICA8c3Bhbj5QcsOpcGFyYXRpb248L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbWV0cmljc19fcm93XCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zbGF0ZSknIFtpY29uTmFtZV09XCJpY29uLlByZXBhcmF0aW9uXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHJlY2lwZT8ucHJlcGFyYXRpb25UaW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZT8uY29va2luZ1RpbWUgIT09ICctJ1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc1wiPlxuICAgICAgICAgICAgPHNwYW4+Q3Vpc3Nvbjwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tZXRyaWNzX19yb3dcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMjRcIiBbaGVpZ2h0XT1cIjI0XCIgIHByaW1hcnlDb2xvcj0ndmFyKC0tbS1jb2xvci1zbGF0ZSknIFtpY29uTmFtZV09XCJpY29uLkhvdFwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj57eyByZWNpcGU/LmNvb2tpbmdUaW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZT8ucmVzdGluZ1RpbWUgIT09ICctJ1wiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb19fbWV0cmljc1wiPlxuICAgICAgICAgICAgPHNwYW4+UmVwb3M8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fbWV0cmljc19fcm93XCI+XG4gICAgICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiICBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3Itc2xhdGUpJyBbaWNvbk5hbWVdPVwiaWNvbi5XYWl0XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IHJlY2lwZT8ucmVzdGluZ1RpbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2luZm9zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fdG9wX19jb250YWluZXJfX2luZm9zX190b3BcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fdHlwZVwiPnt7cmVjaXBlPy5yZWNpcGVUeXBlPy5hdHRyaWJ1dGVzPy5uYW1lIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX190aXRsZVwiPnt7cmVjaXBlPy5hdHRyaWJ1dGVzWyd0aXRsZSddfX08L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fZGlmZmljdWx0eVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInJlY2lwZT8uZGlmZmljdWx0eUxhYmVsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmFjaWxlJ1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCI1NlwiIFtoZWlnaHRdPVwiMTZcIiBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5TG93XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtb3llbidcIj5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiNTZcIiBbaGVpZ2h0XT1cIjE2XCIgW2ljb25OYW1lXT1cImljb24uRGlmZmljdWx0eU1lZGl1bVwiPjwvbmctbWlhbS1pY29uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGlmZmljaWxlJ1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCI1NlwiIFtoZWlnaHRdPVwiMTZcIiBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5SGlnaHRcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxzcGFuPnt7cmVjaXBlPy5kaWZmaWN1bHR5TGFiZWwgfCB0aXRsZWNhc2UgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAge3sgcmVjaXBlPy5hdHRyaWJ1dGVzWydkZXNjcmlwdGlvbiddIH19XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2Rlc2NyaXB0aW9uX19hY3Rpb25cIiAoY2xpY2spPVwicHJpbnQoKVwiPlxuICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2FjdGlvbnNfX2ljb25cIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCJcbiAgICAgICAgICAgICAgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJyBbaWNvbk5hbWVdPVwiaWNvbi5QcmludFwiPlxuICAgICAgICAgICAgPC9uZy1taWFtLWljb24+IDxzcGFuPiBJbXByaW1lciBsYSByZWNldHRlIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmZvc19fcHJpY2VfX3dyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZVwiPlxuICAgICAgICAgIDxuZy1taWFtLXJlY2lwZS1wcmljaW5nIFtyZWNpcGVdPVwicmVjaXBlXCIgW3NlcnZlc109XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzXCI+PC9uZy1taWFtLXJlY2lwZS1wcmljaW5nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInByZXZpZXdBbGxvd2VkXCIgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2FjdGlvbiBtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJhZGRSZWNpcGUoKVwiPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge3soZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyAnVm9pciBsZSBkw6l0YWlsJyA6ICdTw6lsZWN0aW9ubmVyIGNlIHJlcGFzJ319XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gW3dpZHRoXT1cIjI0XCIgW2hlaWdodF09XCIyNFwiIHByaW1hcnlDb2xvcj0nI2ZmZidcbiAgICAgICAgICAgIFtpY29uTmFtZV09XCIoZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlLmxpc3QkIHwgYXN5bmMpPy5oYXNSZWNpcGUocmVjaXBlPy5pZCkgPyBpY29uLkNoZWNrTGlzdCA6IGljb24uQ2FydFwiPlxuICAgICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX21pZF9fY29udGFpbmVyXCI+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxuZy1taWFtLWFkZG9uLWxpbmsgKm5nSWY9XCJyZWNpcGU/LnNwb25zb3JzPy5sZW5ndGggPiAwIHx8IHJlY2lwZS5pbmZvcm1hdGlvbmFsU2VudGVuY2VcIlxuICAgICAgW3JlY2lwZV09J3JlY2lwZScgKHNob3dBZGRvbik9J3RvZ2dsZUFkZG9uKCknPjwvbmctbWlhbS1hZGRvbi1saW5rPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFpc01vYmlsZSBlbHNlIG1vYmlsZUNvbnRhaW5lclwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2luZ3JlZGllbnRzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2hlYWRlclwiPlxuICAgICAgICBJbmdyw6lkaWVudHNcbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19jb3VudGVyXCI+XG4gICAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBbY291bnRlcl09XCJyZWNpcGU/Lm1vZGlmaWVkR3Vlc3RzIHx8IHJlY2lwZS5ndWVzdHNcIiAoY291bnRlckNoYW5nZSk9XCJ1cGRhdGVHdWVzdHMoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvbmctbWlhbS1jb3VudGVyLWlucHV0PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2NvdW50ZXJfX3ByaW50XCI+UG91ciB7e3JlY2lwZT8ubW9kaWZpZWRHdWVzdHN9fVxuICAgICAgICAgICAgcGVyc29ubmVzPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93X19xdHlcIj5RdWFudGl0w6k8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd1wiIFtuZ0NsYXNzXT1cInsnY2hlY2tlZCc6IGluZ3JlZGllbnRzQ2hlY2tlZFtpXX1cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpbmdyZWRpZW50IG9mIHJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50cywgbGV0IGkgPSBpbmRleCBcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5ncmVkaWVudHNQaWN0dXJlc1wiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3BpY3R1cmVcIiBbc3JjXT1cImluZ3JlZGllbnRQaWN0dXJlKGluZ3JlZGllbnQpXCI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj4ge3sgaW5ncmVkaWVudC5uYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX3Jvd19fcXR5XCI+IHt7IGluZ3JlZGllbnQucXR5IHwgcmVhZGFibGVGbG9hdE51bWJlciA6XG4gICAgICAgICAgICBpbmdyZWRpZW50LnVuaXQgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX3N0ZXBzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fYm90dG9tX19jb250YWluZXJfX2hlYWRlclwiPlxuICAgICAgICBQcsOpcGFyYXRpb25cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3N0ZXBzX19saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdGVwc19fbGlzdF9fcGFuZWxcIiAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VBY3RpdmVTdGVwKGkpXCIgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBhY3RpdmVTdGVwXCJcbiAgICAgICAgICBbY2xhc3MubWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2RvbmVdPVwiaSA8IGFjdGl2ZVN0ZXBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2lkeFwiPjxzdHJvbmc+e3sgaSArIDEgfX08L3N0cm9uZz48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX3RleHRcIj57e3N0ZXA/LmF0dHJpYnV0ZXM/LmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fcGFuZWxfX2NoZWNrSWNvblwiICpuZ0lmPVwiaSA8PSBhY3RpdmVTdGVwXCIgW2hlaWdodF09JzE2JyBbd2lkdGhdPScxNidcbiAgICAgICAgICAgIFtpY29uTmFtZV09J2ljb24uQ2hlY2tDaXJjbGVGaWxsJyBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXNlY29uZGFyeSlcIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjbW9iaWxlQ29udGFpbmVyID5cbiAgICA8ZGl2ICNtb2JpbGVDb250YWluZXJUb3AgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tb2JpbGVfX2NvbnRhaW5lclwiPlxuICAgICAgPGRpdiAgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19tb2JpbGVfX2hlYWRlclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibS1idXR0b24tc2Vjb25kYXJ5XCIgW25nQ2xhc3NdPVwieydhY3RpdmUnIDogc2hvd0luZ3JlZGllbnR9XCIgKGNsaWNrKT1cInRvZ2dsZVNob3dJbmdyZWRpZW50KHRydWUpOyBtb2JpbGVDb250YWluZXJUb3Auc2Nyb2xsSW50b1ZpZXcoKVwiPkluZ3JlZGllbnRzPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtLWJ1dHRvbi1zZWNvbmRhcnlcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZScgOiAhc2hvd0luZ3JlZGllbnR9XCIgKGNsaWNrKT1cInRvZ2dsZVNob3dJbmdyZWRpZW50KGZhbHNlKTsgbW9iaWxlQ29udGFpbmVyVG9wLnNjcm9sbEludG9WaWV3KClcIj5QcsOpcGFyYXRpb248L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAgKm5nSWY9XCJzaG93SW5ncmVkaWVudCBlbHNlIHN0ZXBzQ29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fY291bnRlclwiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1jb3VudGVyLWlucHV0IFtjb3VudGVyXT1cInJlY2lwZT8ubW9kaWZpZWRHdWVzdHNcIiAoY291bnRlckNoYW5nZSk9XCJ1cGRhdGVHdWVzdHMoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fY291bnRlcl9fcHJpbnRcIj5Qb3VyIHt7cmVjaXBlPy5tb2RpZmllZEd1ZXN0c319XG4gICAgICAgICAgICAgICAgcGVyc29ubmVzPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3F0eVwiPlF1YW50aXTDqTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5ncmVkaWVudHNfX2xpc3RcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19pbmdyZWRpZW50c19fcm93XCIgW25nQ2xhc3NdPVwieydjaGVja2VkJzogaW5ncmVkaWVudHNDaGVja2VkW2ldfVwiXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpbmdyZWRpZW50IG9mIHJlY2lwZT8ubW9kaWZpZWRJbmdyZWRpZW50cywgbGV0IGkgPSBpbmRleCBcIj5cbiAgICAgICAgICAgICAgPGRpdj4ge3sgaW5ncmVkaWVudC5uYW1lIHwgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZ3JlZGllbnRzX19yb3dfX3F0eVwiPiB7eyBpbmdyZWRpZW50LnF0eSB8IHJlYWRhYmxlRmxvYXROdW1iZXIgOlxuICAgICAgICAgICAgICAgIGluZ3JlZGllbnQudW5pdCB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGVwc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19zdGVwc19fbGlzdFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19fc3RlcHNfX2xpc3RfX3BhbmVsXCIgKm5nRm9yPVwibGV0IHN0ZXAgb2Ygc3RlcHM7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlQWN0aXZlU3RlcChpKVwiIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gYWN0aXZlU3RlcFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19kb25lXT1cImkgPCBhY3RpdmVTdGVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19pZHhcIj48c3Ryb25nPnt7IGkgKyAxIH19PC9zdHJvbmc+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX190ZXh0XCI+e3tzdGVwPy5hdHRyaWJ1dGVzPy5kZXNjcmlwdGlvbn19PC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX3BhbmVsX19jaGVja0ljb25cIiAqbmdJZj1cImkgPD0gYWN0aXZlU3RlcFwiIFtoZWlnaHRdPScxNicgW3dpZHRoXT0nMTYnXG4gICAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPSdpY29uLkNoZWNrQ2lyY2xlRmlsbCcgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1zZWNvbmRhcnkpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1kZXRhaWxzX19ib3R0b21fX2NvbnRhaW5lcl9fYWN0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZV9fd3JhcHBlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWRldGFpbHNfX2luZm9zX19wcmljZVwiPlxuICAgICAgICA8bmctbWlhbS1yZWNpcGUtcHJpY2luZyBbcmVjaXBlXT1cInJlY2lwZVwiIFtzZXJ2ZXNdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiPjwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInByZXZpZXdBbGxvd2VkXCIgIGNsYXNzPVwibWlhbS1yZWNpcGUtZGV0YWlsc19faW5mb3NfX2FjdGlvbiBtLWJ1dHRvbi1mYWItcHJpbWFyeVwiIChjbGljayk9XCJhZGRSZWNpcGUoKVwiPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7eyhncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/ICdWb2lyIGxlIGTDqXRhaWwnIDogJ1PDqWxlY3Rpb25uZXIgY2UgcmVwYXMnfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIyNFwiIFtoZWlnaHRdPVwiMjRcIiBwcmltYXJ5Q29sb3I9JyNmZmYnXG4gICAgICAgICAgW2ljb25OYW1lXT1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCQgfCBhc3luYyk/Lmhhc1JlY2lwZShyZWNpcGU/LmlkKSA/IGljb24uQ2hlY2tMaXN0ICA6aWNvbi5DYXJ0XCI+XG4gICAgICAgIDwvbmctbWlhbS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2FkZG9uPlxuICA8bmctbWlhbS1yZWNpcGUtYWRkb24gW3JlY2lwZV09J3JlY2lwZScgKGhpZGVBZGRvbik9XCJ0b2dnbGVBZGRvbigpXCI+PC9uZy1taWFtLXJlY2lwZS1hZGRvbj5cbjwvbmctdGVtcGxhdGU+Il19