ng-miam 6.4.13 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/bundles/ng-miam.umd.js +8539 -10855
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +2 -2
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/abstracts/event-tracer.component.js +3 -2
  6. package/esm2015/lib/_components/accordion/accordion.component.js +75 -0
  7. package/esm2015/lib/_components/components.module.js +27 -21
  8. package/esm2015/lib/_components/counter-input/counter-input.component.js +86 -76
  9. package/esm2015/lib/_components/icon/icon.component.js +1 -1
  10. package/esm2015/lib/_components/index.js +5 -5
  11. package/esm2015/lib/_components/like-button/like-button.component.js +1 -1
  12. package/esm2015/lib/_components/list-input/list-input.component.js +5 -5
  13. package/esm2015/lib/_components/loader/loader.component.js +1 -1
  14. package/esm2015/lib/_components/meals-planner-link/meals-planner-link.component.js +3 -3
  15. package/esm2015/lib/_components/modal/modal.component.js +155 -137
  16. package/esm2015/lib/_components/product-card/product-card.component.js +333 -0
  17. package/esm2015/lib/_components/products-picker/products-picker.component.js +155 -0
  18. package/esm2015/lib/_components/progress-tracker/progress-tracker.component.js +1 -1
  19. package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +166 -217
  20. package/esm2015/lib/_components/recipe-pricing/recipe-pricing.component.js +55 -35
  21. package/esm2015/lib/_components/slider-tabs/slider-tabs.component.js +84 -0
  22. package/esm2015/lib/_components/sponsor-blocks/sponsor-image-and-text-block/sponsor-image-and-text-block.component.js +1 -1
  23. package/esm2015/lib/_components/sponsor-blocks/sponsor-text-and-image-block/sponsor-text-and-image-block.component.js +1 -1
  24. package/esm2015/lib/_components/tabs/tabs.component.js +48 -88
  25. package/esm2015/lib/_components/toaster/toaster.component.js +48 -84
  26. package/esm2015/lib/_components/tooltipable-content/tooltipable-content.component.js +1 -1
  27. package/esm2015/lib/_models/basket-entry.js +33 -49
  28. package/esm2015/lib/_models/basket-preview-line.js +5 -5
  29. package/esm2015/lib/_models/basket.js +15 -12
  30. package/esm2015/lib/_models/item.js +2 -2
  31. package/esm2015/lib/_models/recipe.js +2 -15
  32. package/esm2015/lib/_models/user.js +1 -1
  33. package/esm2015/lib/_services/analytics.service.js +24 -5
  34. package/esm2015/lib/_services/baskets-synchronizing/baskets-comparator.service.js +1 -10
  35. package/esm2015/lib/_services/baskets-synchronizing/baskets-synchronizer.service.js +15 -15
  36. package/esm2015/lib/_services/baskets.service.js +478 -60
  37. package/esm2015/lib/_services/context.service.js +22 -35
  38. package/esm2015/lib/_services/index.js +3 -5
  39. package/esm2015/lib/_services/interceptor.service.js +2 -2
  40. package/esm2015/lib/_services/items.service.js +27 -4
  41. package/esm2015/lib/_services/recipe-details.service.js +198 -0
  42. package/esm2015/lib/_services/recipe-likes.service.js +1 -1
  43. package/esm2015/lib/_services/recipes.service.js +24 -53
  44. package/esm2015/lib/_services/scrolling.service.js +17 -0
  45. package/esm2015/lib/_services/toaster.service.js +4 -5
  46. package/esm2015/lib/_services/user.service.js +2 -2
  47. package/esm2015/lib/_types/basket-action-type.enum.js +11 -0
  48. package/esm2015/lib/_types/basket-action.js +2 -0
  49. package/esm2015/lib/_types/basket-stats.js +2 -0
  50. package/esm2015/lib/_types/builded/miam-interface.js +1 -1
  51. package/esm2015/lib/_types/event-trace.js +5 -0
  52. package/esm2015/lib/_types/items-comparator.js +1 -10
  53. package/esm2015/lib/_types/recipe-filters.js +1 -1
  54. package/esm2015/lib/_types/toaster.js +1 -1
  55. package/esm2015/lib/_utils/directives/index.js +2 -1
  56. package/esm2015/lib/_utils/directives/reach-top.directive.js +33 -0
  57. package/esm2015/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.js +8 -2
  58. package/esm2015/lib/_utils/utils.module.js +12 -8
  59. package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +140 -118
  60. package/esm2015/lib/_web-components/basket-preview/basket-preview-disabled/basket-preview-disabled.component.js +2 -2
  61. package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +125 -444
  62. package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +211 -108
  63. package/esm2015/lib/_web-components/index.js +1 -4
  64. package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +11 -14
  65. package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +13 -13
  66. package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +6 -6
  67. package/esm2015/lib/_web-components/list-scan/list-scan.component.js +10 -10
  68. package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +23 -11
  69. package/esm2015/lib/_web-components/meals-planner/meals-planner-basket-confirmation/meals-planner-basket-confirmation.component.js +1 -1
  70. package/esm2015/lib/_web-components/meals-planner/meals-planner-catalog/meals-planner-catalog.component.js +1 -1
  71. package/esm2015/lib/_web-components/meals-planner/meals-planner-form/meals-planner-form.component.js +7 -7
  72. package/esm2015/lib/_web-components/meals-planner/meals-planner-result/meals-planner-result.component.js +5 -5
  73. package/esm2015/lib/_web-components/meals-planner/meals-planner.component.js +16 -20
  74. package/esm2015/lib/_web-components/planner-side-menu/planner-side-menu.component.js +4 -53
  75. package/esm2015/lib/_web-components/recipe-cards/add-recipe-card/add-recipe-card.component.js +1 -1
  76. package/esm2015/lib/_web-components/recipe-cards/index.js +1 -3
  77. package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +326 -404
  78. package/esm2015/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.js +50 -146
  79. package/esm2015/lib/_web-components/recipe-cards/recipe-cards.module.js +3 -15
  80. package/esm2015/lib/_web-components/recipe-catalog/catalog-article-card/catalog-article-card.component.js +1 -1
  81. package/esm2015/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.js +35 -29
  82. package/esm2015/lib/_web-components/recipe-catalog/catalog-header/catalog-header.component.js +1 -1
  83. package/esm2015/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.js +27 -31
  84. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +98 -100
  85. package/esm2015/lib/_web-components/recipe-creation/recipe-form/recipe-form.component.js +2 -2
  86. package/esm2015/lib/_web-components/recipe-creation/recipe-stepper/recipe-stepper.component.js +7 -7
  87. package/esm2015/lib/_web-components/recipe-creation/tags-creator/tags-creator.component.js +4 -4
  88. package/esm2015/lib/_web-components/recipe-creation/tags-selector/tags-selector.component.js +8 -8
  89. package/esm2015/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.js +7 -3
  90. package/esm2015/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.js +57 -358
  91. package/esm2015/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.js +59 -122
  92. package/esm2015/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.js +51 -72
  93. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +313 -363
  94. package/esm2015/lib/_web-components/recipe-details/recipe-details.module.js +8 -4
  95. package/esm2015/lib/_web-components/recipe-details/sponsor-storytelling/sponsor-storytelling.component.js +1 -1
  96. package/esm2015/lib/_web-components/recipe-helper/recipe-helper.component.js +89 -113
  97. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +78 -69
  98. package/esm2015/lib/_web-components/recipe-tags/recipe-tags.component.js +5 -5
  99. package/esm2015/lib/_web-components/toaster-stack/toaster-stack.component.js +8 -4
  100. package/esm2015/lib/_web-components/web-components.module.js +3 -19
  101. package/esm2015/lib/ng-miam.module.js +5 -7
  102. package/fesm2015/ng-miam.js +5165 -6973
  103. package/fesm2015/ng-miam.js.map +1 -1
  104. package/lib/_components/abstracts/event-tracer.component.d.ts +2 -1
  105. package/lib/_components/accordion/accordion.component.d.ts +23 -0
  106. package/lib/_components/components.module.d.ts +38 -36
  107. package/lib/_components/counter-input/counter-input.component.d.ts +12 -14
  108. package/lib/_components/index.d.ts +4 -4
  109. package/lib/_components/modal/modal.component.d.ts +18 -18
  110. package/lib/_components/product-card/product-card.component.d.ts +40 -0
  111. package/lib/_components/products-picker/products-picker.component.d.ts +17 -0
  112. package/lib/_components/recipe-pricing/recipe-pricing.component.d.ts +12 -8
  113. package/lib/_components/slider-tabs/slider-tabs.component.d.ts +16 -0
  114. package/lib/_components/tabs/tabs.component.d.ts +11 -11
  115. package/lib/_components/toaster/toaster.component.d.ts +4 -2
  116. package/lib/_models/basket-entry.d.ts +16 -20
  117. package/lib/_models/basket-preview-line.d.ts +1 -0
  118. package/lib/_models/basket.d.ts +12 -5
  119. package/lib/_models/item.d.ts +1 -1
  120. package/lib/_models/recipe.d.ts +0 -5
  121. package/lib/_models/user.d.ts +0 -1
  122. package/lib/_services/analytics.service.d.ts +8 -22
  123. package/lib/_services/baskets-synchronizing/baskets-comparator.service.d.ts +0 -5
  124. package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts +3 -6
  125. package/lib/_services/baskets.service.d.ts +137 -18
  126. package/lib/_services/context.service.d.ts +2 -4
  127. package/lib/_services/index.d.ts +2 -4
  128. package/lib/_services/items.service.d.ts +9 -2
  129. package/lib/_services/recipe-details.service.d.ts +84 -0
  130. package/lib/_services/recipe-likes.service.d.ts +2 -1
  131. package/lib/_services/recipes.service.d.ts +10 -14
  132. package/lib/_services/scrolling.service.d.ts +8 -0
  133. package/lib/_services/toaster.service.d.ts +1 -1
  134. package/lib/_types/basket-action-type.enum.d.ts +9 -0
  135. package/lib/_types/basket-action.d.ts +14 -0
  136. package/lib/_types/basket-stats.d.ts +5 -0
  137. package/lib/_types/builded/miam-interface.d.ts +16 -25
  138. package/lib/_types/event-trace.d.ts +22 -0
  139. package/lib/_types/items-comparator.d.ts +0 -5
  140. package/lib/_types/recipe-filters.d.ts +0 -2
  141. package/lib/_types/toaster.d.ts +1 -1
  142. package/lib/_utils/directives/index.d.ts +1 -0
  143. package/lib/_utils/directives/reach-top.directive.d.ts +13 -0
  144. package/lib/_utils/pipes/readable-float-number/readable-float-number.pipe.d.ts +1 -1
  145. package/lib/_utils/utils.module.d.ts +2 -2
  146. package/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.d.ts +9 -8
  147. package/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.d.ts +11 -9
  148. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +27 -20
  149. package/lib/_web-components/index.d.ts +0 -3
  150. package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +1 -2
  151. package/lib/_web-components/list-scan/files-inputs/files-inputs.component.d.ts +6 -5
  152. package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +3 -3
  153. package/lib/_web-components/list-scan/list-scan.component.d.ts +3 -3
  154. package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +8 -6
  155. package/lib/_web-components/meals-planner/meals-planner.component.d.ts +2 -3
  156. package/lib/_web-components/recipe-cards/index.d.ts +0 -2
  157. package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +58 -17
  158. package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts +5 -12
  159. package/lib/_web-components/recipe-cards/recipe-cards.module.d.ts +7 -9
  160. package/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.d.ts +8 -6
  161. package/lib/_web-components/recipe-catalog/catalog-list/catalog-list.component.d.ts +7 -4
  162. package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +2 -3
  163. package/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.d.ts +5 -2
  164. package/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.d.ts +6 -18
  165. package/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.d.ts +6 -13
  166. package/lib/_web-components/recipe-details/recipe-details-steps/recipe-details-steps.component.d.ts +2 -10
  167. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +29 -36
  168. package/lib/_web-components/recipe-details/recipe-details.module.d.ts +2 -1
  169. package/lib/_web-components/recipe-helper/recipe-helper.component.d.ts +2 -6
  170. package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts +11 -9
  171. package/lib/_web-components/toaster-stack/toaster-stack.component.d.ts +5 -2
  172. package/lib/_web-components/web-components.module.d.ts +23 -29
  173. package/miam-style.css +1 -1
  174. package/package.json +1 -1
  175. package/esm2015/lib/_components/abstracts/abstract-recipe-card.component.js +0 -130
  176. package/esm2015/lib/_components/skeleton/skeleton.component.js +0 -70
  177. package/esm2015/lib/_components/tabs/tab-body.component.js +0 -30
  178. package/esm2015/lib/_components/tabs/tab-item.component.js +0 -36
  179. package/esm2015/lib/_components/tabs/tab-label.component.js +0 -30
  180. package/esm2015/lib/_models/groceries-entry.js +0 -42
  181. package/esm2015/lib/_models/groceries-list.js +0 -36
  182. package/esm2015/lib/_services/counter.service.js +0 -20
  183. package/esm2015/lib/_services/groceries-entries.service.js +0 -21
  184. package/esm2015/lib/_services/groceries-lists.service.js +0 -240
  185. package/esm2015/lib/_services/recipe-events.service.js +0 -63
  186. package/esm2015/lib/_types/skeleton.enum.js +0 -7
  187. package/esm2015/lib/_web-components/drawer/drawer.component.js +0 -273
  188. package/esm2015/lib/_web-components/pos-card/pos-card.component.js +0 -207
  189. package/esm2015/lib/_web-components/pos-selection/pos-selection.component.js +0 -283
  190. package/esm2015/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.js +0 -632
  191. package/esm2015/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.js +0 -144
  192. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +0 -49
  193. package/lib/_components/skeleton/skeleton.component.d.ts +0 -11
  194. package/lib/_components/tabs/tab-body.component.d.ts +0 -8
  195. package/lib/_components/tabs/tab-item.component.d.ts +0 -11
  196. package/lib/_components/tabs/tab-label.component.d.ts +0 -8
  197. package/lib/_models/groceries-entry.d.ts +0 -20
  198. package/lib/_models/groceries-list.d.ts +0 -30
  199. package/lib/_services/counter.service.d.ts +0 -10
  200. package/lib/_services/groceries-entries.service.d.ts +0 -10
  201. package/lib/_services/groceries-lists.service.d.ts +0 -68
  202. package/lib/_services/recipe-events.service.d.ts +0 -23
  203. package/lib/_types/skeleton.enum.d.ts +0 -5
  204. package/lib/_web-components/drawer/drawer.component.d.ts +0 -37
  205. package/lib/_web-components/pos-card/pos-card.component.d.ts +0 -24
  206. package/lib/_web-components/pos-selection/pos-selection.component.d.ts +0 -38
  207. package/lib/_web-components/recipe-cards/catalog-recipe-card/catalog-recipe-card.component.d.ts +0 -49
  208. package/lib/_web-components/recipe-cards/suggestion-card/suggestion-card.component.d.ts +0 -42
@@ -1,632 +0,0 @@
1
- import { Component, ViewEncapsulation, ChangeDetectorRef, ChangeDetectionStrategy, ElementRef, ViewChild, Output, EventEmitter, Input } from '@angular/core';
2
- import { skipWhile } from 'rxjs/operators';
3
- import { RecipesService, GroceriesListsService, ContextService, RecipeEventsService, UserService } from '../../../_services';
4
- import { AnalyticsService } from '../../../_services/analytics.service';
5
- import { RecipeCardComponent } from '../recipe-card/recipe-card.component';
6
- import { v4 as uuidv4 } from 'uuid';
7
- import { RecipeCardCtaComponent } from '../recipe-card-cta/recipe-card-cta.component';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../../_services";
10
- import * as i2 from "../../../_services/analytics.service";
11
- import * as i3 from "@angular/common";
12
- import * as i4 from "../../../_components/icon/icon.component";
13
- import * as i5 from "../../../_components/skeleton/skeleton.component";
14
- import * as i6 from "../../../_components/like-button/like-button.component";
15
- import * as i7 from "../recipe-card-cta/recipe-card-cta.component";
16
- import * as i8 from "../../../_components/recipe-pricing/recipe-pricing.component";
17
- import * as i9 from "../../../_components/actions-popin/actions-popin.component";
18
- import * as i10 from "../../../_components/cors-overlay/cors-overlay.component";
19
- const _c0 = ["miamMoreActions"];
20
- const _c1 = ["cardCta"];
21
- function CatalogRecipeCardComponent_div_4_div_3_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementStart(0, "div", 30);
23
- i0.ɵɵelement(1, "img", 31);
24
- i0.ɵɵelementEnd();
25
- } if (rf & 2) {
26
- const ctx_r15 = i0.ɵɵnextContext(2);
27
- i0.ɵɵadvance(1);
28
- i0.ɵɵproperty("src", ctx_r15.recipe.sponsorLogoUrl, i0.ɵɵsanitizeUrl);
29
- } }
30
- function CatalogRecipeCardComponent_div_4_div_4_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵelementStart(0, "div", 32);
32
- i0.ɵɵelement(1, "img", 31);
33
- i0.ɵɵelementEnd();
34
- } if (rf & 2) {
35
- const ctx_r16 = i0.ɵɵnextContext(2);
36
- i0.ɵɵadvance(1);
37
- i0.ɵɵproperty("src", ctx_r16.recipe.filigraneLogoUrl, i0.ɵɵsanitizeUrl);
38
- } }
39
- function CatalogRecipeCardComponent_div_4_div_5_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementStart(0, "div", 33);
41
- i0.ɵɵelement(1, "ng-miam-icon", 34);
42
- i0.ɵɵelementEnd();
43
- } if (rf & 2) {
44
- const ctx_r17 = i0.ɵɵnextContext(2);
45
- i0.ɵɵadvance(1);
46
- i0.ɵɵproperty("iconName", ctx_r17.icon.Video)("width", 80)("height", 80);
47
- } }
48
- function CatalogRecipeCardComponent_div_4_ng_container_6_div_1_Template(rf, ctx) { if (rf & 1) {
49
- i0.ɵɵelementStart(0, "div", 36);
50
- i0.ɵɵi18n(1, 37);
51
- i0.ɵɵelementEnd();
52
- } }
53
- function CatalogRecipeCardComponent_div_4_ng_container_6_Template(rf, ctx) { if (rf & 1) {
54
- i0.ɵɵelementContainerStart(0);
55
- i0.ɵɵtemplate(1, CatalogRecipeCardComponent_div_4_ng_container_6_div_1_Template, 2, 0, "div", 35);
56
- i0.ɵɵpipe(2, "async");
57
- i0.ɵɵelementContainerEnd();
58
- } if (rf & 2) {
59
- const ctx_r18 = i0.ɵɵnextContext(2);
60
- i0.ɵɵadvance(1);
61
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 1, ctx_r18.groceriesListsService.recipeIsInList(ctx_r18.recipe == null ? null : ctx_r18.recipe.id)));
62
- } }
63
- function CatalogRecipeCardComponent_div_4_ng_container_7_Template(rf, ctx) { if (rf & 1) {
64
- const _r27 = i0.ɵɵgetCurrentView();
65
- i0.ɵɵelementContainerStart(0);
66
- i0.ɵɵelementStart(1, "div", 38);
67
- i0.ɵɵlistener("click", function CatalogRecipeCardComponent_div_4_ng_container_7_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(2); return ctx_r26.openRecipe(); });
68
- i0.ɵɵtext(2);
69
- i0.ɵɵelementEnd();
70
- i0.ɵɵelementContainerEnd();
71
- } if (rf & 2) {
72
- const ctx_r19 = i0.ɵɵnextContext(2);
73
- i0.ɵɵadvance(2);
74
- i0.ɵɵtextInterpolate1(" ", ctx_r19.recipe == null ? null : ctx_r19.recipe.attributes["title"], " ");
75
- } }
76
- function CatalogRecipeCardComponent_div_4_ng_template_8_Template(rf, ctx) { if (rf & 1) {
77
- i0.ɵɵelement(0, "ng-miam-skeleton", 39);
78
- } if (rf & 2) {
79
- const ctx_r21 = i0.ɵɵnextContext(2);
80
- i0.ɵɵproperty("type", ctx_r21.skeleton.Text);
81
- } }
82
- function CatalogRecipeCardComponent_div_4_div_11_Template(rf, ctx) { if (rf & 1) {
83
- const _r30 = i0.ɵɵgetCurrentView();
84
- i0.ɵɵelementStart(0, "div", 40, 41);
85
- i0.ɵɵlistener("click", function CatalogRecipeCardComponent_div_4_div_11_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); return ctx_r29.toggleMoreActions($event); });
86
- i0.ɵɵelement(2, "ng-miam-icon", 42);
87
- i0.ɵɵelementEnd();
88
- } if (rf & 2) {
89
- const ctx_r22 = i0.ɵɵnextContext(2);
90
- i0.ɵɵadvance(2);
91
- i0.ɵɵproperty("iconName", ctx_r22.actionsOpened ? ctx_r22.icon.Clear : ctx_r22.icon.HorizontalDots);
92
- } }
93
- function CatalogRecipeCardComponent_div_4_ng_template_12_ng_miam_like_button_0_Template(rf, ctx) { if (rf & 1) {
94
- i0.ɵɵelement(0, "ng-miam-like-button", 44);
95
- } if (rf & 2) {
96
- const ctx_r31 = i0.ɵɵnextContext(3);
97
- i0.ɵɵproperty("recipe", ctx_r31.recipe)("originTrace", ctx_r31.eventTrace());
98
- } }
99
- function CatalogRecipeCardComponent_div_4_ng_template_12_Template(rf, ctx) { if (rf & 1) {
100
- i0.ɵɵtemplate(0, CatalogRecipeCardComponent_div_4_ng_template_12_ng_miam_like_button_0_Template, 1, 2, "ng-miam-like-button", 43);
101
- i0.ɵɵpipe(1, "async");
102
- } if (rf & 2) {
103
- const ctx_r24 = i0.ɵɵnextContext(2);
104
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx_r24.userService.isLogged$));
105
- } }
106
- function CatalogRecipeCardComponent_div_4_Template(rf, ctx) { if (rf & 1) {
107
- const _r33 = i0.ɵɵgetCurrentView();
108
- i0.ɵɵelementStart(0, "div", 18);
109
- i0.ɵɵlistener("click", function CatalogRecipeCardComponent_div_4_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(); return ctx_r32.openRecipe(); });
110
- i0.ɵɵelementStart(1, "div", 19);
111
- i0.ɵɵelement(2, "img", 20);
112
- i0.ɵɵtemplate(3, CatalogRecipeCardComponent_div_4_div_3_Template, 2, 1, "div", 21);
113
- i0.ɵɵtemplate(4, CatalogRecipeCardComponent_div_4_div_4_Template, 2, 1, "div", 22);
114
- i0.ɵɵelementEnd();
115
- i0.ɵɵtemplate(5, CatalogRecipeCardComponent_div_4_div_5_Template, 2, 3, "div", 23);
116
- i0.ɵɵtemplate(6, CatalogRecipeCardComponent_div_4_ng_container_6_Template, 3, 3, "ng-container", 24);
117
- i0.ɵɵtemplate(7, CatalogRecipeCardComponent_div_4_ng_container_7_Template, 3, 1, "ng-container", 25);
118
- i0.ɵɵtemplate(8, CatalogRecipeCardComponent_div_4_ng_template_8_Template, 1, 1, "ng-template", null, 26, i0.ɵɵtemplateRefExtractor);
119
- i0.ɵɵelementStart(10, "div", 27);
120
- i0.ɵɵtemplate(11, CatalogRecipeCardComponent_div_4_div_11_Template, 3, 1, "div", 28);
121
- i0.ɵɵtemplate(12, CatalogRecipeCardComponent_div_4_ng_template_12_Template, 2, 3, "ng-template", null, 29, i0.ɵɵtemplateRefExtractor);
122
- i0.ɵɵelementEnd();
123
- i0.ɵɵelementEnd();
124
- } if (rf & 2) {
125
- const _r20 = i0.ɵɵreference(9);
126
- const _r23 = i0.ɵɵreference(13);
127
- const ctx_r0 = i0.ɵɵnextContext();
128
- i0.ɵɵadvance(2);
129
- i0.ɵɵproperty("src", ctx_r0.recipe.attributes["media-url"], i0.ɵɵsanitizeUrl);
130
- i0.ɵɵadvance(1);
131
- i0.ɵɵproperty("ngIf", ctx_r0.recipe.sponsorLogoUrl);
132
- i0.ɵɵadvance(1);
133
- i0.ɵɵproperty("ngIf", ctx_r0.recipe.filigraneLogoUrl);
134
- i0.ɵɵadvance(1);
135
- i0.ɵɵproperty("ngIf", ctx_r0.contextService.videoRecipesEnabled && (ctx_r0.recipe == null ? null : ctx_r0.recipe.videoId));
136
- i0.ɵɵadvance(1);
137
- i0.ɵɵproperty("ngIf", ctx_r0.recipe && ctx_r0.displayAddedOnPicture);
138
- i0.ɵɵadvance(1);
139
- i0.ɵɵproperty("ngIf", ctx_r0.recipe)("ngIfElse", _r20);
140
- i0.ɵɵadvance(4);
141
- i0.ɵɵproperty("ngIf", (ctx_r0.recipe.relationships["recipe-provider"] == null ? null : ctx_r0.recipe.relationships["recipe-provider"].data.id) === "personal")("ngIfElse", _r23);
142
- } }
143
- function CatalogRecipeCardComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
144
- i0.ɵɵelement(0, "ng-miam-skeleton", 39);
145
- } if (rf & 2) {
146
- const ctx_r2 = i0.ɵɵnextContext();
147
- i0.ɵɵproperty("type", ctx_r2.skeleton.Picture);
148
- } }
149
- function CatalogRecipeCardComponent_div_9_div_5_Template(rf, ctx) { if (rf & 1) {
150
- i0.ɵɵelementStart(0, "div", 48);
151
- i0.ɵɵtext(1);
152
- i0.ɵɵelementEnd();
153
- } if (rf & 2) {
154
- const ctx_r34 = i0.ɵɵnextContext(2);
155
- i0.ɵɵadvance(1);
156
- i0.ɵɵtextInterpolate1(" + ", ctx_r34.recipe.modifiedIngredients.length - 2, " ");
157
- } }
158
- function CatalogRecipeCardComponent_div_9_Template(rf, ctx) { if (rf & 1) {
159
- i0.ɵɵelementStart(0, "div", 45);
160
- i0.ɵɵelementStart(1, "div", 46);
161
- i0.ɵɵelement(2, "img", 31);
162
- i0.ɵɵelementEnd();
163
- i0.ɵɵelementStart(3, "div", 46);
164
- i0.ɵɵelement(4, "img", 31);
165
- i0.ɵɵelementEnd();
166
- i0.ɵɵtemplate(5, CatalogRecipeCardComponent_div_9_div_5_Template, 2, 1, "div", 47);
167
- i0.ɵɵelementEnd();
168
- } if (rf & 2) {
169
- const ctx_r3 = i0.ɵɵnextContext();
170
- i0.ɵɵadvance(2);
171
- i0.ɵɵproperty("src", ctx_r3.ingredientPicture(ctx_r3.recipe.modifiedIngredients[0]), i0.ɵɵsanitizeUrl);
172
- i0.ɵɵadvance(2);
173
- i0.ɵɵproperty("src", ctx_r3.ingredientPicture(ctx_r3.recipe.modifiedIngredients[1]), i0.ɵɵsanitizeUrl);
174
- i0.ɵɵadvance(1);
175
- i0.ɵɵproperty("ngIf", ctx_r3.recipe.modifiedIngredients.length > 2);
176
- } }
177
- function CatalogRecipeCardComponent_ng_miam_recipe_card_cta_10_Template(rf, ctx) { if (rf & 1) {
178
- const _r37 = i0.ɵɵgetCurrentView();
179
- i0.ɵɵelementStart(0, "ng-miam-recipe-card-cta", 49, 50);
180
- i0.ɵɵlistener("displayed", function CatalogRecipeCardComponent_ng_miam_recipe_card_cta_10_Template_ng_miam_recipe_card_cta_displayed_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(); return ctx_r36.displayed.emit(); })("clicked", function CatalogRecipeCardComponent_ng_miam_recipe_card_cta_10_Template_ng_miam_recipe_card_cta_clicked_0_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r38 = i0.ɵɵnextContext(); return ctx_r38.primaryButtonClicked$.emit($event); });
181
- i0.ɵɵelementEnd();
182
- } if (rf & 2) {
183
- const ctx_r4 = i0.ɵɵnextContext();
184
- i0.ɵɵproperty("recipe", ctx_r4.recipe)("cardType", ctx_r4.cardType)("previewAllowed", ctx_r4.previewAllowed)("helpButtonAllowed", ctx_r4.helpButtonAllowed)("displayGuests", ctx_r4.displayGuests)("originTrace", ctx_r4.eventTrace());
185
- } }
186
- function CatalogRecipeCardComponent_div_11_Template(rf, ctx) { if (rf & 1) {
187
- const _r40 = i0.ɵɵgetCurrentView();
188
- i0.ɵɵelementStart(0, "div", 51);
189
- i0.ɵɵelementStart(1, "div", 52);
190
- i0.ɵɵlistener("click", function CatalogRecipeCardComponent_div_11_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return ctx_r39.openCatalog.emit(); });
191
- i0.ɵɵelementStart(2, "span");
192
- i0.ɵɵi18n(3, 53);
193
- i0.ɵɵelementEnd();
194
- i0.ɵɵelementEnd();
195
- i0.ɵɵelementStart(4, "div", 54);
196
- i0.ɵɵlistener("click", function CatalogRecipeCardComponent_div_11_Template_div_click_4_listener() { i0.ɵɵrestoreView(_r40); const ctx_r41 = i0.ɵɵnextContext(); return ctx_r41.removeFromMealsPlanner.emit(); });
197
- i0.ɵɵelement(5, "ng-miam-icon", 42);
198
- i0.ɵɵelementEnd();
199
- i0.ɵɵelementEnd();
200
- } if (rf & 2) {
201
- const ctx_r5 = i0.ɵɵnextContext();
202
- i0.ɵɵadvance(5);
203
- i0.ɵɵproperty("iconName", ctx_r5.icon.Trash);
204
- } }
205
- function CatalogRecipeCardComponent_button_12_Template(rf, ctx) { if (rf & 1) {
206
- const _r43 = i0.ɵɵgetCurrentView();
207
- i0.ɵɵelementStart(0, "button", 55);
208
- i0.ɵɵlistener("click", function CatalogRecipeCardComponent_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r43); const ctx_r42 = i0.ɵɵnextContext(); return ctx_r42.addToMealsPlanner.emit(ctx_r42.recipe); });
209
- i0.ɵɵelementStart(1, "span");
210
- i0.ɵɵi18n(2, 56);
211
- i0.ɵɵelementEnd();
212
- i0.ɵɵelementEnd();
213
- } }
214
- function CatalogRecipeCardComponent_div_15_Template(rf, ctx) { if (rf & 1) {
215
- i0.ɵɵelementStart(0, "div", 57);
216
- i0.ɵɵelement(1, "ng-miam-icon", 58);
217
- i0.ɵɵelementStart(2, "span", 59);
218
- i0.ɵɵtext(3);
219
- i0.ɵɵelementEnd();
220
- i0.ɵɵelementEnd();
221
- } if (rf & 2) {
222
- const ctx_r7 = i0.ɵɵnextContext();
223
- i0.ɵɵadvance(1);
224
- i0.ɵɵproperty("iconName", ctx_r7.icon.Time);
225
- i0.ɵɵadvance(2);
226
- i0.ɵɵtextInterpolate(ctx_r7.recipe == null ? null : ctx_r7.recipe.totalTime);
227
- } }
228
- function CatalogRecipeCardComponent_div_16_ng_container_2_Template(rf, ctx) { if (rf & 1) {
229
- i0.ɵɵelementContainerStart(0);
230
- i0.ɵɵelement(1, "ng-miam-icon", 64);
231
- i0.ɵɵelementContainerEnd();
232
- } if (rf & 2) {
233
- const ctx_r44 = i0.ɵɵnextContext(2);
234
- i0.ɵɵadvance(1);
235
- i0.ɵɵproperty("width", 39)("height", 18)("iconName", ctx_r44.icon.DifficultyMedium);
236
- } }
237
- function CatalogRecipeCardComponent_div_16_ng_container_3_Template(rf, ctx) { if (rf & 1) {
238
- i0.ɵɵelementContainerStart(0);
239
- i0.ɵɵelement(1, "ng-miam-icon", 64);
240
- i0.ɵɵelementContainerEnd();
241
- } if (rf & 2) {
242
- const ctx_r45 = i0.ɵɵnextContext(2);
243
- i0.ɵɵadvance(1);
244
- i0.ɵɵproperty("width", 60)("height", 18)("iconName", ctx_r45.icon.DifficultyHigh);
245
- } }
246
- function CatalogRecipeCardComponent_div_16_ng_container_4_Template(rf, ctx) { if (rf & 1) {
247
- i0.ɵɵelementContainerStart(0);
248
- i0.ɵɵelement(1, "ng-miam-icon", 64);
249
- i0.ɵɵelementContainerEnd();
250
- } if (rf & 2) {
251
- const ctx_r46 = i0.ɵɵnextContext(2);
252
- i0.ɵɵadvance(1);
253
- i0.ɵɵproperty("width", 18)("height", 18)("iconName", ctx_r46.icon.DifficultyLow);
254
- } }
255
- function CatalogRecipeCardComponent_div_16_ng_container_6_span_1_Template(rf, ctx) { if (rf & 1) {
256
- i0.ɵɵelementStart(0, "span", 67);
257
- i0.ɵɵtext(1);
258
- i0.ɵɵelementEnd();
259
- } if (rf & 2) {
260
- const ctx_r51 = i0.ɵɵnextContext(3);
261
- i0.ɵɵadvance(1);
262
- i0.ɵɵtextInterpolate1(" ", ctx_r51.recipeService.difficultyLevels[0].label, " ");
263
- } }
264
- function CatalogRecipeCardComponent_div_16_ng_container_6_ng_template_2_Template(rf, ctx) { if (rf & 1) {
265
- i0.ɵɵelementStart(0, "span", 67);
266
- i0.ɵɵi18n(1, 68);
267
- i0.ɵɵelementEnd();
268
- } }
269
- function CatalogRecipeCardComponent_div_16_ng_container_6_Template(rf, ctx) { if (rf & 1) {
270
- i0.ɵɵelementContainerStart(0);
271
- i0.ɵɵtemplate(1, CatalogRecipeCardComponent_div_16_ng_container_6_span_1_Template, 2, 1, "span", 65);
272
- i0.ɵɵtemplate(2, CatalogRecipeCardComponent_div_16_ng_container_6_ng_template_2_Template, 2, 0, "ng-template", null, 66, i0.ɵɵtemplateRefExtractor);
273
- i0.ɵɵelementContainerEnd();
274
- } if (rf & 2) {
275
- const _r52 = i0.ɵɵreference(3);
276
- const ctx_r47 = i0.ɵɵnextContext(2);
277
- i0.ɵɵadvance(1);
278
- i0.ɵɵproperty("ngIf", (ctx_r47.recipeService.difficultyLevels[0] == null ? null : ctx_r47.recipeService.difficultyLevels[0].label) !== "Chef d\u00E9butant")("ngIfElse", _r52);
279
- } }
280
- function CatalogRecipeCardComponent_div_16_ng_container_7_span_1_Template(rf, ctx) { if (rf & 1) {
281
- i0.ɵɵelementStart(0, "span", 71);
282
- i0.ɵɵtext(1);
283
- i0.ɵɵelementEnd();
284
- } if (rf & 2) {
285
- const ctx_r54 = i0.ɵɵnextContext(3);
286
- i0.ɵɵadvance(1);
287
- i0.ɵɵtextInterpolate1(" ", ctx_r54.recipeService.difficultyLevels[1].label, " ");
288
- } }
289
- function CatalogRecipeCardComponent_div_16_ng_container_7_ng_template_2_Template(rf, ctx) { if (rf & 1) {
290
- i0.ɵɵelementStart(0, "span", 71);
291
- i0.ɵɵi18n(1, 72);
292
- i0.ɵɵelementEnd();
293
- } }
294
- function CatalogRecipeCardComponent_div_16_ng_container_7_Template(rf, ctx) { if (rf & 1) {
295
- i0.ɵɵelementContainerStart(0);
296
- i0.ɵɵtemplate(1, CatalogRecipeCardComponent_div_16_ng_container_7_span_1_Template, 2, 1, "span", 69);
297
- i0.ɵɵtemplate(2, CatalogRecipeCardComponent_div_16_ng_container_7_ng_template_2_Template, 2, 0, "ng-template", null, 70, i0.ɵɵtemplateRefExtractor);
298
- i0.ɵɵelementContainerEnd();
299
- } if (rf & 2) {
300
- const _r55 = i0.ɵɵreference(3);
301
- const ctx_r48 = i0.ɵɵnextContext(2);
302
- i0.ɵɵadvance(1);
303
- i0.ɵɵproperty("ngIf", (ctx_r48.recipeService.difficultyLevels[1] == null ? null : ctx_r48.recipeService.difficultyLevels[1].label) !== "Chef interm\u00E9diaire")("ngIfElse", _r55);
304
- } }
305
- function CatalogRecipeCardComponent_div_16_ng_container_8_span_1_Template(rf, ctx) { if (rf & 1) {
306
- i0.ɵɵelementStart(0, "span", 75);
307
- i0.ɵɵtext(1);
308
- i0.ɵɵelementEnd();
309
- } if (rf & 2) {
310
- const ctx_r57 = i0.ɵɵnextContext(3);
311
- i0.ɵɵadvance(1);
312
- i0.ɵɵtextInterpolate1(" ", ctx_r57.recipeService.difficultyLevels[2].label, " ");
313
- } }
314
- function CatalogRecipeCardComponent_div_16_ng_container_8_ng_template_2_Template(rf, ctx) { if (rf & 1) {
315
- i0.ɵɵelementStart(0, "span", 75);
316
- i0.ɵɵi18n(1, 76);
317
- i0.ɵɵelementEnd();
318
- } }
319
- function CatalogRecipeCardComponent_div_16_ng_container_8_Template(rf, ctx) { if (rf & 1) {
320
- i0.ɵɵelementContainerStart(0);
321
- i0.ɵɵtemplate(1, CatalogRecipeCardComponent_div_16_ng_container_8_span_1_Template, 2, 1, "span", 73);
322
- i0.ɵɵtemplate(2, CatalogRecipeCardComponent_div_16_ng_container_8_ng_template_2_Template, 2, 0, "ng-template", null, 74, i0.ɵɵtemplateRefExtractor);
323
- i0.ɵɵelementContainerEnd();
324
- } if (rf & 2) {
325
- const _r58 = i0.ɵɵreference(3);
326
- const ctx_r49 = i0.ɵɵnextContext(2);
327
- i0.ɵɵadvance(1);
328
- i0.ɵɵproperty("ngIf", (ctx_r49.recipeService.difficultyLevels[2] == null ? null : ctx_r49.recipeService.difficultyLevels[2].label) !== "Top chef")("ngIfElse", _r58);
329
- } }
330
- function CatalogRecipeCardComponent_div_16_ng_container_9_span_1_Template(rf, ctx) { if (rf & 1) {
331
- i0.ɵɵelementStart(0, "span", 67);
332
- i0.ɵɵtext(1);
333
- i0.ɵɵelementEnd();
334
- } if (rf & 2) {
335
- const ctx_r60 = i0.ɵɵnextContext(3);
336
- i0.ɵɵadvance(1);
337
- i0.ɵɵtextInterpolate1(" ", ctx_r60.recipeService.difficultyLevels[0].label, " ");
338
- } }
339
- function CatalogRecipeCardComponent_div_16_ng_container_9_ng_template_2_Template(rf, ctx) { if (rf & 1) {
340
- i0.ɵɵelementStart(0, "span", 67);
341
- i0.ɵɵi18n(1, 78);
342
- i0.ɵɵelementEnd();
343
- } }
344
- function CatalogRecipeCardComponent_div_16_ng_container_9_Template(rf, ctx) { if (rf & 1) {
345
- i0.ɵɵelementContainerStart(0);
346
- i0.ɵɵtemplate(1, CatalogRecipeCardComponent_div_16_ng_container_9_span_1_Template, 2, 1, "span", 65);
347
- i0.ɵɵtemplate(2, CatalogRecipeCardComponent_div_16_ng_container_9_ng_template_2_Template, 2, 0, "ng-template", null, 77, i0.ɵɵtemplateRefExtractor);
348
- i0.ɵɵelementContainerEnd();
349
- } if (rf & 2) {
350
- const _r61 = i0.ɵɵreference(3);
351
- const ctx_r50 = i0.ɵɵnextContext(2);
352
- i0.ɵɵadvance(1);
353
- i0.ɵɵproperty("ngIf", (ctx_r50.recipeService.difficultyLevels[0] == null ? null : ctx_r50.recipeService.difficultyLevels[0].label) !== "Chef d\u00E9butant")("ngIfElse", _r61);
354
- } }
355
- const _c16 = function (a0, a1, a2) { return { "easy": a0, "medium": a1, "hard": a2 }; };
356
- function CatalogRecipeCardComponent_div_16_Template(rf, ctx) { if (rf & 1) {
357
- i0.ɵɵelementStart(0, "div", 60);
358
- i0.ɵɵelementContainerStart(1, 61);
359
- i0.ɵɵtemplate(2, CatalogRecipeCardComponent_div_16_ng_container_2_Template, 2, 3, "ng-container", 62);
360
- i0.ɵɵtemplate(3, CatalogRecipeCardComponent_div_16_ng_container_3_Template, 2, 3, "ng-container", 62);
361
- i0.ɵɵtemplate(4, CatalogRecipeCardComponent_div_16_ng_container_4_Template, 2, 3, "ng-container", 63);
362
- i0.ɵɵelementContainerEnd();
363
- i0.ɵɵelementContainerStart(5, 61);
364
- i0.ɵɵtemplate(6, CatalogRecipeCardComponent_div_16_ng_container_6_Template, 4, 2, "ng-container", 62);
365
- i0.ɵɵtemplate(7, CatalogRecipeCardComponent_div_16_ng_container_7_Template, 4, 2, "ng-container", 62);
366
- i0.ɵɵtemplate(8, CatalogRecipeCardComponent_div_16_ng_container_8_Template, 4, 2, "ng-container", 62);
367
- i0.ɵɵtemplate(9, CatalogRecipeCardComponent_div_16_ng_container_9_Template, 4, 2, "ng-container", 63);
368
- i0.ɵɵelementContainerEnd();
369
- i0.ɵɵelementEnd();
370
- } if (rf & 2) {
371
- const ctx_r8 = i0.ɵɵnextContext();
372
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(8, _c16, (ctx_r8.recipe == null ? null : ctx_r8.recipe.difficulty) === 1, (ctx_r8.recipe == null ? null : ctx_r8.recipe.difficulty) === 2, (ctx_r8.recipe == null ? null : ctx_r8.recipe.difficulty) === 3));
373
- i0.ɵɵadvance(1);
374
- i0.ɵɵproperty("ngSwitch", ctx_r8.recipe == null ? null : ctx_r8.recipe.difficulty);
375
- i0.ɵɵadvance(1);
376
- i0.ɵɵproperty("ngSwitchCase", 2);
377
- i0.ɵɵadvance(1);
378
- i0.ɵɵproperty("ngSwitchCase", 3);
379
- i0.ɵɵadvance(2);
380
- i0.ɵɵproperty("ngSwitch", ctx_r8.recipe == null ? null : ctx_r8.recipe.difficulty);
381
- i0.ɵɵadvance(1);
382
- i0.ɵɵproperty("ngSwitchCase", 1);
383
- i0.ɵɵadvance(1);
384
- i0.ɵɵproperty("ngSwitchCase", 2);
385
- i0.ɵɵadvance(1);
386
- i0.ɵɵproperty("ngSwitchCase", 3);
387
- } }
388
- function CatalogRecipeCardComponent_div_17_ng_miam_recipe_pricing_1_Template(rf, ctx) { if (rf & 1) {
389
- i0.ɵɵelement(0, "ng-miam-recipe-pricing", 81);
390
- } if (rf & 2) {
391
- const ctx_r63 = i0.ɵɵnextContext(2);
392
- i0.ɵɵproperty("recipe", ctx_r63.recipe)("serves", ctx_r63.recipe == null ? null : ctx_r63.recipe.modifiedGuests);
393
- } }
394
- function CatalogRecipeCardComponent_div_17_Template(rf, ctx) { if (rf & 1) {
395
- i0.ɵɵelementStart(0, "div", 79);
396
- i0.ɵɵtemplate(1, CatalogRecipeCardComponent_div_17_ng_miam_recipe_pricing_1_Template, 1, 2, "ng-miam-recipe-pricing", 80);
397
- i0.ɵɵelementEnd();
398
- } if (rf & 2) {
399
- const ctx_r9 = i0.ɵɵnextContext();
400
- i0.ɵɵadvance(1);
401
- i0.ɵɵproperty("ngIf", ctx_r9.isPriceDisplayed);
402
- } }
403
- function CatalogRecipeCardComponent_ng_template_18_Template(rf, ctx) { if (rf & 1) {
404
- i0.ɵɵelement(0, "ng-miam-skeleton", 39);
405
- } if (rf & 2) {
406
- const ctx_r11 = i0.ɵɵnextContext();
407
- i0.ɵɵproperty("type", ctx_r11.skeleton == null ? null : ctx_r11.skeleton.IconWithInfo);
408
- } }
409
- function CatalogRecipeCardComponent_ng_miam_actions_popin_20_Template(rf, ctx) { if (rf & 1) {
410
- const _r65 = i0.ɵɵgetCurrentView();
411
- i0.ɵɵelementStart(0, "ng-miam-actions-popin", 82);
412
- i0.ɵɵlistener("close", function CatalogRecipeCardComponent_ng_miam_actions_popin_20_Template_ng_miam_actions_popin_close_0_listener() { i0.ɵɵrestoreView(_r65); const ctx_r64 = i0.ɵɵnextContext(); return ctx_r64.closeMoreActions(); })("actionTriggered", function CatalogRecipeCardComponent_ng_miam_actions_popin_20_Template_ng_miam_actions_popin_actionTriggered_0_listener($event) { i0.ɵɵrestoreView(_r65); const ctx_r66 = i0.ɵɵnextContext(); return ctx_r66.actionTriggered.emit($event); });
413
- i0.ɵɵelementEnd();
414
- } }
415
- function CatalogRecipeCardComponent_ng_template_21_Template(rf, ctx) { if (rf & 1) {
416
- i0.ɵɵelement(0, "ng-miam-cors-overlay");
417
- } }
418
- /**
419
- * This is an angular component design to be a web component
420
- * that's why we use onPushStrategie with the changeDetetectorRef
421
- * to avoid common issue
422
- * guide -> https://netbasal.com/a-comprehensive-guide-to-angular-onpush-change-detection-strategy-5bac493074a4
423
- * and alsow we use ShadowDom to protect style of our component
424
- * and alsow style of the parent aplication that will use it
425
- * doc -> https://angular.io/api/core/ViewEncapsulation
426
- */
427
- export class CatalogRecipeCardComponent extends RecipeCardComponent {
428
- constructor(cdr, recipeService, recipeEventsService, groceriesListsService, userService, contextService, analyticsService, element) {
429
- super(cdr, recipeService, recipeEventsService, groceriesListsService, userService, contextService, analyticsService, element);
430
- this.cdr = cdr;
431
- this.recipeService = recipeService;
432
- this.recipeEventsService = recipeEventsService;
433
- this.groceriesListsService = groceriesListsService;
434
- this.userService = userService;
435
- this.contextService = contextService;
436
- this.analyticsService = analyticsService;
437
- this.element = element;
438
- this.eventsGroupId = uuidv4();
439
- this.displayPricing = false;
440
- this.displayAddedOnPicture = false;
441
- this.addRecipeMode = false;
442
- this.replaceMode = false;
443
- this.actionTriggered = new EventEmitter();
444
- this.removeFromMealsPlanner = new EventEmitter();
445
- this.addToMealsPlanner = new EventEmitter();
446
- this.openCatalog = new EventEmitter();
447
- this.cardType = 'catalog-card';
448
- this.actionsOpened = false;
449
- this.isPriceDisplayed = false;
450
- }
451
- ngOnInit() {
452
- // Refresh view each time groceriesList changes
453
- this.subscriptions.push(this.groceriesListsService.list$
454
- .pipe(skipWhile(l => !l))
455
- .subscribe(() => this.cdr.detectChanges()));
456
- if (this.recipe) {
457
- this.recipe = this.recipe.shallowCopyWithEvents(this.recipeEventsService.ORIGIN_CATALOG, this.eventsGroupId);
458
- this.recipeEventsService.enqueueEvent(this.recipe, this.recipeEventsService.ACTION_PROPOSED);
459
- }
460
- }
461
- ngAfterViewInit() {
462
- if (this.isInViewport()) {
463
- this.isPriceDisplayed = true;
464
- this.cdr.detectChanges();
465
- }
466
- this.initIntersectionObserver();
467
- super.ngAfterViewInit();
468
- }
469
- initIntersectionObserver() {
470
- this.observer = new IntersectionObserver((entries) => {
471
- if (entries[0].isIntersecting === true) {
472
- this.isPriceDisplayed = true;
473
- this.cdr.detectChanges();
474
- }
475
- }, {
476
- threshold: 0.5,
477
- });
478
- this.observer.observe(this.element.nativeElement);
479
- }
480
- updateGuests(count) {
481
- this.recipe.modifiedGuests = count;
482
- this._updateBasket();
483
- }
484
- toggleMoreActions(event) {
485
- var _a;
486
- event.preventDefault();
487
- event.stopPropagation();
488
- if (((_a = this.recipe.relationships['recipe-provider']) === null || _a === void 0 ? void 0 : _a.data.id) === 'personal') {
489
- this.actionsOpened = !this.actionsOpened;
490
- this.cdr.detectChanges();
491
- }
492
- }
493
- closeMoreActions() {
494
- this.actionsOpened = false;
495
- this.cdr.detectChanges();
496
- }
497
- }
498
- CatalogRecipeCardComponent.ɵfac = function CatalogRecipeCardComponent_Factory(t) { return new (t || CatalogRecipeCardComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.RecipesService), i0.ɵɵdirectiveInject(i1.RecipeEventsService), i0.ɵɵdirectiveInject(i1.GroceriesListsService), i0.ɵɵdirectiveInject(i1.UserService), i0.ɵɵdirectiveInject(i1.ContextService), i0.ɵɵdirectiveInject(i2.AnalyticsService), i0.ɵɵdirectiveInject(i0.ElementRef)); };
499
- CatalogRecipeCardComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CatalogRecipeCardComponent, selectors: [["ng-miam-catalog-recipe-card"]], viewQuery: function CatalogRecipeCardComponent_Query(rf, ctx) { if (rf & 1) {
500
- i0.ɵɵviewQuery(_c0, true);
501
- i0.ɵɵviewQuery(_c1, true);
502
- } if (rf & 2) {
503
- var _t;
504
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.moreActions = _t.first);
505
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.cta = _t.first);
506
- } }, inputs: { displayPricing: "displayPricing", displayAddedOnPicture: "displayAddedOnPicture", addRecipeMode: "addRecipeMode", replaceMode: "replaceMode" }, outputs: { actionTriggered: "actionTriggered", removeFromMealsPlanner: "removeFromMealsPlanner", addToMealsPlanner: "addToMealsPlanner", openCatalog: "openCatalog" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 23, vars: 12, consts: function () { var i18n_2; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
507
- const MSG_EXTERNAL_3076397314674090145$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____3 = goog.getMsg(" D\u00E9j\u00E0 ajout\u00E9e ");
508
- i18n_2 = MSG_EXTERNAL_3076397314674090145$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____3;
509
- }
510
- else {
511
- i18n_2 = $localize `:␟a0d3005c25313fff41182341708419907740410e␟3076397314674090145: Déjà ajoutée `;
512
- } var i18n_4; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
513
- const MSG_EXTERNAL_4705093661060921903$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS__5 = goog.getMsg("Remplacer");
514
- i18n_4 = MSG_EXTERNAL_4705093661060921903$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS__5;
515
- }
516
- else {
517
- i18n_4 = $localize `:␟8e4fa20cb8b77c41c980ba077b80bc8ea128239a␟4705093661060921903:Remplacer`;
518
- } var i18n_6; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
519
- const MSG_EXTERNAL_70397346439942337$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS__7 = goog.getMsg("Ajouter");
520
- i18n_6 = MSG_EXTERNAL_70397346439942337$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS__7;
521
- }
522
- else {
523
- i18n_6 = $localize `:␟8aa969e69241c7c5838b40348f913519d6349371␟70397346439942337:Ajouter`;
524
- } var i18n_8; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
525
- const MSG_EXTERNAL_3684169623116339825$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____9 = goog.getMsg("Chef d\u00E9butant");
526
- i18n_8 = MSG_EXTERNAL_3684169623116339825$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____9;
527
- }
528
- else {
529
- i18n_8 = $localize `:␟96cca7cb17582a9b01053a242ca907b721fad7fe␟3684169623116339825:Chef débutant`;
530
- } var i18n_10; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
531
- const MSG_EXTERNAL_7733455880752157102$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____11 = goog.getMsg("Chef interm\u00E9diaire");
532
- i18n_10 = MSG_EXTERNAL_7733455880752157102$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____11;
533
- }
534
- else {
535
- i18n_10 = $localize `:␟ccfd103e2bbd9a80c6d3a226332a77c93c88d871␟7733455880752157102:Chef intermédiaire`;
536
- } var i18n_12; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
537
- const MSG_EXTERNAL_8735393154824887316$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____13 = goog.getMsg("Top chef");
538
- i18n_12 = MSG_EXTERNAL_8735393154824887316$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____13;
539
- }
540
- else {
541
- i18n_12 = $localize `:␟fb603a6dffb1bfa95a9b7eda7e134156ab67f0b3␟8735393154824887316:Top chef`;
542
- } var i18n_14; if (typeof ngI18nClosureMode !== "undefined" && ngI18nClosureMode) {
543
- const MSG_EXTERNAL_3684169623116339825$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____15 = goog.getMsg("Chef d\u00E9butant");
544
- i18n_14 = MSG_EXTERNAL_3684169623116339825$$LIB__WEB_COMPONENTS_RECIPE_CARDS_CATALOG_RECIPE_CARD_CATALOG_RECIPE_CARD_COMPONENT_TS____15;
545
- }
546
- else {
547
- i18n_14 = $localize `:␟96cca7cb17582a9b01053a242ca907b721fad7fe␟3684169623116339825:Chef débutant`;
548
- } return [[1, "miam-catalog-recipe-card"], [1, "miam-catalog-recipe-card__header"], ["class", "miam-catalog-card__picture", 3, "click", 4, "ngIf", "ngIfElse"], ["pictSkeleton", ""], [1, "miam-catalog-card__attributes"], [1, "miam-catalog-recipe-card__attributes__control"], ["class", "miam-catalog-recipe-card__ingredients__pictures", 4, "ngIf"], [3, "recipe", "cardType", "previewAllowed", "helpButtonAllowed", "displayGuests", "originTrace", "displayed", "clicked", 4, "ngIf"], ["class", "miam-catalog-recipe-card__actions", 4, "ngIf"], ["class", "m-button-primary reverse", 3, "click", 4, "ngIf"], [1, "miam-catalog-card__attributes__infos"], [1, "miam-catalog-card__attributes__infos", "recipe__time-and-difficulty"], ["class", "miam-catalog-card__attributes__info recipe__total__time", 4, "ngIf", "ngIfElse"], ["class", "miam-catalog-card__attributes__info recipe__difficulty", 3, "ngClass", 4, "ngIf"], ["class", "miam-catalog-card__attributes__info recipe__price", 4, "ngIf"], ["skeletonInfo", ""], [3, "close", "actionTriggered", 4, "ngIf"], ["cors", ""], [1, "miam-catalog-card__picture", 3, "click"], [1, "miam-catalog-card__picture__gradient"], ["loading", "lazy", 1, "miam-catalog-card__picture__img", 3, "src"], ["class", "miam-catalog-card__picture__sponsor", 4, "ngIf"], ["class", "miam-catalog-card__picture__filigrane", 4, "ngIf"], ["class", "miam-catalog-recipe-card__picture__video", 4, "ngIf"], [4, "ngIf"], [4, "ngIf", "ngIfElse"], ["textSkeleton", ""], [1, "miam-catalog-recipe-card__picture__actions"], ["class", "miam-catalog-recipe-card__actions__icon m-button-primary reverse", 3, "click", 4, "ngIf", "ngIfElse"], ["like", ""], [1, "miam-catalog-card__picture__sponsor"], [3, "src"], [1, "miam-catalog-card__picture__filigrane"], [1, "miam-catalog-recipe-card__picture__video"], ["primaryColor", "black", 3, "iconName", "width", "height"], ["class", "miam-catalog-recipe-card__picture__tag", 4, "ngIf"], [1, "miam-catalog-recipe-card__picture__tag"], i18n_2, [1, "miam-catalog-recipe-card__attributes__title", 3, "click"], [3, "type"], [1, "miam-catalog-recipe-card__actions__icon", "m-button-primary", "reverse", 3, "click"], ["miamMoreActions", ""], ["primaryColor", "var(--m-color-primary)", 3, "iconName"], ["width", "17", "height", "17", "class", "miam-catalog-recipe-card__actions__icon", 3, "recipe", "originTrace", 4, "ngIf"], ["width", "17", "height", "17", 1, "miam-catalog-recipe-card__actions__icon", 3, "recipe", "originTrace"], [1, "miam-catalog-recipe-card__ingredients__pictures"], [1, "miam-catalog-recipe-card__ingredients__picture"], ["class", "miam-catalog-recipe-card__ingredients__more", 4, "ngIf"], [1, "miam-catalog-recipe-card__ingredients__more"], [3, "recipe", "cardType", "previewAllowed", "helpButtonAllowed", "displayGuests", "originTrace", "displayed", "clicked"], ["cardCta", ""], [1, "miam-catalog-recipe-card__actions"], [1, "miam-catalog-recipe-card__actions__link", "replace", 3, "click"], i18n_4, [1, "miam-catalog-recipe-card__actions__link", "delete", 3, "click"], [1, "m-button-primary", "reverse", 3, "click"], i18n_6, [1, "miam-catalog-card__attributes__info", "recipe__total__time"], ["width", "18", "height", "18", "primaryColor", "var(--m-catalog-card-details-color)", 3, "iconName"], [1, "miam-catalog-card__info__label"], [1, "miam-catalog-card__attributes__info", "recipe__difficulty", 3, "ngClass"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], ["primaryColor", "var(--m-catalog-card-details-color)", 3, "width", "height", "iconName"], ["class", "miam-catalog-card__info__label easy", 4, "ngIf", "ngIfElse"], ["difficultyEasyDefault", ""], [1, "miam-catalog-card__info__label", "easy"], i18n_8, ["class", "miam-catalog-card__info__label medium", 4, "ngIf", "ngIfElse"], ["difficultyMediumDefault", ""], [1, "miam-catalog-card__info__label", "medium"], i18n_10, ["class", "miam-catalog-card__info__label hard", 4, "ngIf", "ngIfElse"], ["difficultyHardDefault", ""], [1, "miam-catalog-card__info__label", "hard"], i18n_12, ["difficultyDefault", ""], i18n_14, [1, "miam-catalog-card__attributes__info", "recipe__price"], [3, "recipe", "serves", 4, "ngIf"], [3, "recipe", "serves"], [3, "close", "actionTriggered"]]; }, template: function CatalogRecipeCardComponent_Template(rf, ctx) { if (rf & 1) {
549
- i0.ɵɵelementStart(0, "div", 0);
550
- i0.ɵɵelementStart(1, "div", 1);
551
- i0.ɵɵelementStart(2, "span");
552
- i0.ɵɵtext(3);
553
- i0.ɵɵelementEnd();
554
- i0.ɵɵelementEnd();
555
- i0.ɵɵtemplate(4, CatalogRecipeCardComponent_div_4_Template, 14, 9, "div", 2);
556
- i0.ɵɵtemplate(5, CatalogRecipeCardComponent_ng_template_5_Template, 1, 1, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
557
- i0.ɵɵelementStart(7, "div", 4);
558
- i0.ɵɵelementStart(8, "div", 5);
559
- i0.ɵɵtemplate(9, CatalogRecipeCardComponent_div_9_Template, 6, 3, "div", 6);
560
- i0.ɵɵtemplate(10, CatalogRecipeCardComponent_ng_miam_recipe_card_cta_10_Template, 2, 6, "ng-miam-recipe-card-cta", 7);
561
- i0.ɵɵtemplate(11, CatalogRecipeCardComponent_div_11_Template, 6, 1, "div", 8);
562
- i0.ɵɵtemplate(12, CatalogRecipeCardComponent_button_12_Template, 3, 0, "button", 9);
563
- i0.ɵɵelementEnd();
564
- i0.ɵɵelementStart(13, "div", 10);
565
- i0.ɵɵelementStart(14, "div", 11);
566
- i0.ɵɵtemplate(15, CatalogRecipeCardComponent_div_15_Template, 4, 2, "div", 12);
567
- i0.ɵɵtemplate(16, CatalogRecipeCardComponent_div_16_Template, 10, 12, "div", 13);
568
- i0.ɵɵelementEnd();
569
- i0.ɵɵtemplate(17, CatalogRecipeCardComponent_div_17_Template, 2, 1, "div", 14);
570
- i0.ɵɵtemplate(18, CatalogRecipeCardComponent_ng_template_18_Template, 1, 1, "ng-template", null, 15, i0.ɵɵtemplateRefExtractor);
571
- i0.ɵɵelementEnd();
572
- i0.ɵɵelementEnd();
573
- i0.ɵɵtemplate(20, CatalogRecipeCardComponent_ng_miam_actions_popin_20_Template, 1, 0, "ng-miam-actions-popin", 16);
574
- i0.ɵɵelementEnd();
575
- i0.ɵɵtemplate(21, CatalogRecipeCardComponent_ng_template_21_Template, 1, 0, "ng-template", null, 17, i0.ɵɵtemplateRefExtractor);
576
- } if (rf & 2) {
577
- const _r1 = i0.ɵɵreference(6);
578
- const _r10 = i0.ɵɵreference(19);
579
- i0.ɵɵadvance(3);
580
- i0.ɵɵtextInterpolate1(" ", ctx.headerText, "");
581
- i0.ɵɵadvance(1);
582
- i0.ɵɵproperty("ngIf", ctx.recipe)("ngIfElse", _r1);
583
- i0.ɵɵadvance(5);
584
- i0.ɵɵproperty("ngIf", ctx.contextService.displayIngredientPicturesOnRecipeCards && (ctx.recipe == null ? null : ctx.recipe.modifiedIngredients == null ? null : ctx.recipe.modifiedIngredients.length) > 1);
585
- i0.ɵɵadvance(1);
586
- i0.ɵɵproperty("ngIf", ctx.previewAllowed && !ctx.addRecipeMode && !ctx.replaceMode);
587
- i0.ɵɵadvance(1);
588
- i0.ɵɵproperty("ngIf", ctx.replaceMode);
589
- i0.ɵɵadvance(1);
590
- i0.ɵɵproperty("ngIf", ctx.addRecipeMode);
591
- i0.ɵɵadvance(3);
592
- i0.ɵɵproperty("ngIf", ctx.recipe)("ngIfElse", _r10);
593
- i0.ɵɵadvance(1);
594
- i0.ɵɵproperty("ngIf", ctx.recipe);
595
- i0.ɵɵadvance(1);
596
- i0.ɵɵproperty("ngIf", ctx.recipe && ctx.displayPricing);
597
- i0.ɵɵadvance(3);
598
- i0.ɵɵproperty("ngIf", ctx.actionsOpened);
599
- } }, directives: [i3.NgIf, i4.IconComponent, i5.SkeletonComponent, i6.LikeButtonComponent, i7.RecipeCardCtaComponent, i3.NgClass, i3.NgSwitch, i3.NgSwitchCase, i3.NgSwitchDefault, i8.RecipePricingComponent, i9.ActionsPopinComponent, i10.CORSOverlayComponent], pipes: [i3.AsyncPipe], styles: [".cal-month-view .cal-header{font-weight:bolder;text-align:center}.cal-month-view .cal-header .cal-cell{display:block;overflow:hidden;padding:5px 0;text-overflow:ellipsis;white-space:nowrap}.cal-month-view .cal-days{border:1px solid;border-bottom:0}.cal-month-view .cal-cell-top{flex:1;min-height:78px}.cal-month-view .cal-cell-row{display:flex}.cal-month-view .cal-cell{align-items:stretch;display:flex;flex:1;flex-direction:column;float:left}.cal-month-view .cal-cell .cal-event{pointer-events:all!important}.cal-month-view .cal-day-cell{min-height:100px}@media (-ms-high-contrast:none){.cal-month-view .cal-day-cell{display:block}}.cal-month-view .cal-day-cell:not(:last-child){border-right:1px solid}.cal-month-view .cal-days .cal-cell-row{border-bottom:1px solid}.cal-month-view .cal-day-badge{border-radius:10px;display:inline-block;font-size:12px;font-weight:700;line-height:1;margin-left:10px;margin-top:18px;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.cal-month-view .cal-day-number{float:right;font-size:1.2em;font-weight:400;margin-bottom:10px;margin-right:15px;margin-top:15px;opacity:.5}.cal-month-view .cal-events{align-items:flex-end;display:flex;flex:1;flex-wrap:wrap;line-height:10px;margin:3px}.cal-month-view .cal-event{border-radius:50%;display:inline-block;height:10px;margin:2px;width:10px}.cal-month-view .cal-day-cell.cal-in-month.cal-has-events{cursor:pointer}.cal-month-view .cal-day-cell.cal-out-month .cal-day-number{cursor:default;opacity:.1}.cal-month-view .cal-day-cell.cal-today .cal-day-number{font-size:1.9em}.cal-month-view .cal-open-day-events{padding:15px}.cal-month-view .cal-open-day-events .cal-event{position:relative;top:2px}.cal-month-view .cal-out-month .cal-day-badge,.cal-month-view .cal-out-month .cal-event{opacity:.3}.cal-month-view .cal-draggable{cursor:move}.cal-month-view .cal-drag-active *{pointer-events:none}.cal-month-view .cal-event-title{cursor:pointer}.cal-month-view .cal-event-title:hover{text-decoration:underline}.cal-month-view{background-color:#fff}.cal-month-view .cal-cell-row:hover{background-color:#fafafa}.cal-month-view .cal-cell-row .cal-cell:hover,.cal-month-view .cal-cell.cal-has-events.cal-open{background-color:#ededed}.cal-month-view .cal-days{border-color:#e1e1e1}.cal-month-view .cal-day-cell:not(:last-child){border-right-color:#e1e1e1}.cal-month-view .cal-days .cal-cell-row{border-bottom-color:#e1e1e1}.cal-month-view .cal-day-badge{background-color:#b94a48;color:#fff}.cal-month-view .cal-event{background-color:#1e90ff;border-color:#d1e8ff;color:#fff}.cal-month-view .cal-day-cell.cal-weekend .cal-day-number{color:#8b0000}.cal-month-view .cal-day-cell.cal-today{background-color:#e8fde7}.cal-month-view .cal-day-cell.cal-drag-over{background-color:#e0e0e0!important}.cal-month-view .cal-open-day-events{background-color:#555;box-shadow:inset 0 0 15px 0 rgba(0,0,0,.5);color:#fff}.cal-week-view *{box-sizing:border-box}.cal-week-view .cal-day-headers{border:1px solid;display:flex;padding-left:70px}.cal-week-view .cal-day-headers .cal-header{flex:1;padding:5px;text-align:center}.cal-week-view .cal-day-headers .cal-header:not(:last-child){border-right:1px solid}.cal-week-view .cal-day-headers .cal-header:first-child{border-left:1px solid}.cal-week-view .cal-day-headers span{font-weight:400;opacity:.5}.cal-week-view .cal-day-column{border-left:1px solid;flex-grow:1}.cal-week-view .cal-event{border:1px solid;font-size:12px}.cal-week-view .cal-time-label-column{height:100%;width:70px}.cal-week-view .cal-current-time-marker{height:2px;position:absolute;width:100%;z-index:2}.cal-week-view .cal-all-day-events{border-bottom:3px solid;border-left:1px solid;border-right:1px solid;border-top:0;padding-top:3px;position:relative}.cal-week-view .cal-all-day-events .cal-day-columns{display:flex;height:100%;position:absolute;top:0;width:100%;z-index:0}.cal-week-view .cal-all-day-events .cal-events-row{height:31px;margin-left:70px;position:relative}.cal-week-view .cal-all-day-events .cal-event-container{display:inline-block;position:absolute}.cal-week-view .cal-all-day-events .cal-event-container.resize-active{pointer-events:none;z-index:1}.cal-week-view .cal-all-day-events .cal-event{height:28px;line-height:28px;margin-left:2px;margin-right:2px;padding:0 5px}.cal-week-view .cal-all-day-events .cal-starts-within-week .cal-event{border-bottom-left-radius:5px;border-top-left-radius:5px}.cal-week-view .cal-all-day-events .cal-ends-within-week .cal-event{border-bottom-right-radius:5px;border-top-right-radius:5px}.cal-week-view .cal-all-day-events .cal-time-label-column{align-items:center;display:flex;font-size:14px;justify-content:center}.cal-week-view .cal-all-day-events .cal-resize-handle{cursor:col-resize;height:100%;position:absolute;top:0;width:6px}.cal-week-view .cal-all-day-events .cal-resize-handle.cal-resize-handle-after-end{right:0}.cal-week-view .cal-event,.cal-week-view .cal-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-week-view .cal-drag-active{pointer-events:none;z-index:1}.cal-week-view .cal-drag-active *{pointer-events:none}.cal-week-view .cal-time-events{border:1px solid;border-top:0;display:flex;position:relative}.cal-week-view .cal-time-events .cal-day-columns{display:flex;flex-grow:1}.cal-week-view .cal-time-events .cal-day-column,.cal-week-view .cal-time-events .cal-events-container{position:relative}.cal-week-view .cal-time-events .cal-event-container{position:absolute;z-index:1}.cal-week-view .cal-time-events .cal-event{height:calc(100% - 2px);line-height:25px;margin:1px;padding:0 5px;width:calc(100% - 2px)}.cal-week-view .cal-time-events .cal-resize-handle{cursor:row-resize;height:4px;position:absolute;width:100%}.cal-week-view .cal-time-events .cal-resize-handle.cal-resize-handle-after-end{bottom:0}.cal-week-view .cal-hour-segment{position:relative}.cal-week-view .cal-hour-segment:after{content:\"\\00a0\"}.cal-week-view .cal-event-container:not(.cal-draggable){cursor:pointer}.cal-week-view .cal-draggable{cursor:move}.cal-week-view .cal-hour-segment,.cal-week-view mwl-calendar-week-view-hour-segment{display:block}.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment{border-bottom:thin dashed}.cal-week-view .cal-time{font-weight:700;padding-top:5px;text-align:center;width:70px}.cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time{display:none}.cal-week-view .cal-starts-within-day .cal-event{border-top-left-radius:5px;border-top-right-radius:5px}.cal-week-view .cal-ends-within-day .cal-event{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.cal-week-view{background-color:#fff;border-top:1px solid #e1e1e1}.cal-week-view .cal-day-headers{border-color:#e1e1e1;border-top:0}.cal-week-view .cal-day-headers .cal-header:not(:last-child){border-right-color:#e1e1e1}.cal-week-view .cal-day-headers .cal-header:first-child{border-left-color:#e1e1e1}.cal-week-view .cal-day-headers .cal-drag-over,.cal-week-view .cal-day-headers .cal-header:hover{background-color:#ededed}.cal-week-view .cal-day-column{border-left-color:#e1e1e1}.cal-week-view .cal-event{background-color:#d1e8ff;border-color:#1e90ff;color:#1e90ff}.cal-week-view .cal-all-day-events{border-color:#e1e1e1}.cal-week-view .cal-header.cal-today{background-color:#e8fde7}.cal-week-view .cal-header.cal-weekend span{color:#8b0000}.cal-week-view .cal-time-events{border-color:#e1e1e1}.cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover{background-color:#ededed}.cal-week-view .cal-hour-odd{background-color:#fafafa}.cal-week-view .cal-drag-over .cal-hour-segment{background-color:#ededed}.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment,.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment{border-bottom-color:#e1e1e1}.cal-week-view .cal-current-time-marker{background-color:#ea4334}.cal-day-view mwl-calendar-week-view-header{display:none}.cal-day-view .cal-events-container{margin-left:70px}.cal-day-view .cal-day-column{border-left:0}.cal-day-view .cal-current-time-marker{margin-left:70px;width:calc(100% - 70px)}.cal-tooltip{display:block;font-size:11px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;opacity:.9;position:absolute;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:break-word;z-index:1070}.cal-tooltip.cal-tooltip-top{margin-top:-3px;padding:5px 0}.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow{border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.cal-tooltip.cal-tooltip-right{margin-left:3px;padding:0 5px}.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow{border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.cal-tooltip.cal-tooltip-bottom{margin-top:3px;padding:5px 0}.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow{border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.cal-tooltip.cal-tooltip-left{margin-left:-3px;padding:0 5px}.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow{border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.cal-tooltip-inner{border-radius:.25rem;max-width:200px;padding:3px 8px;text-align:center}.cal-tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow{border-top-color:#000}.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow{border-right-color:#000}.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow{border-bottom-color:#000}.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow{border-left-color:#000}.cal-tooltip-inner{background-color:#000;color:#fff}.m-button,.m-button-grey,.m-button-grey.reverse,.m-button-primary,.m-button-primary.reverse,.m-button-secondary,.m-button-secondary.reverse{-moz-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;align-items:center;border-radius:var(--m-button-radius);cursor:pointer;display:flex;font-size:var(--m-button-text-size);font-weight:var(--m-button-text-weight);justify-content:center;line-height:var(--m-button-text-height);outline:0;padding:var(--m-button-padding);user-select:none}.m-button-grey.reverse ng-miam-icon,.m-button-grey ng-miam-icon,.m-button-primary.reverse ng-miam-icon,.m-button-primary ng-miam-icon,.m-button-secondary.reverse ng-miam-icon,.m-button-secondary ng-miam-icon,.m-button ng-miam-icon{padding:0}.m-button-grey ng-miam-icon:last-child,.m-button-primary ng-miam-icon:last-child,.m-button-secondary ng-miam-icon:last-child,.m-button ng-miam-icon:last-child{margin-left:var(--m-button-gap)}.m-button-grey ng-miam-icon:first-child,.m-button-primary ng-miam-icon:first-child,.m-button-secondary ng-miam-icon:first-child,.m-button ng-miam-icon:first-child{margin-right:var(--m-button-gap)}.m-button-grey ng-miam-icon:last-child:first-child,.m-button-primary ng-miam-icon:last-child:first-child,.m-button-secondary ng-miam-icon:last-child:first-child,.m-button ng-miam-icon:last-child:first-child{margin:0}.m-button-primary{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-primary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary:hover ng-miam-icon svg path{fill:var(--m-color-primary)}}.m-button-primary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-primary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-primary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-primary);color:var(--m-color-primary)}@media (min-width:1023px){.m-button-primary.reverse:hover{background-color:var(--m-color-primary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-primary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-primary.reverse ng-miam-icon svg path{fill:var(--m-color-primary)}.m-button-primary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-primary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-secondary:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary:hover ng-miam-icon svg path{fill:var(--m-color-secondary)}}.m-button-secondary ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-secondary:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-secondary.reverse{background-color:var(--m-color-white);border:1px solid var(--m-color-secondary);color:var(--m-color-secondary)}@media (min-width:1023px){.m-button-secondary.reverse:hover{background-color:var(--m-color-secondary);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-secondary.reverse:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-secondary.reverse ng-miam-icon svg path{fill:var(--m-color-secondary)}.m-button-secondary.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-secondary.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03)}@media (min-width:1023px){.m-button-grey:hover{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey:hover ng-miam-icon svg path{fill:var(--m-color-white)}}.m-button-grey ng-miam-icon svg path{fill:var(--m-color-grey03)}.m-button-grey:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-button-grey.reverse{background-color:var(--m-color-grey03);border:1px solid var(--m-color-white);color:var(--m-color-white)}@media (min-width:1023px){.m-button-grey.reverse:hover{background-color:var(--m-color-white);border:1px solid var(--m-color-grey03);color:var(--m-color-grey03);transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out,fill .3s ease-in-out}.m-button-grey.reverse:hover ng-miam-icon svg path{fill:var(--m-color-grey03)}}.m-button-grey.reverse ng-miam-icon svg path{fill:var(--m-color-white)}.m-button-grey.reverse:disabled{background-color:var(--m-color-grey);color:var(--m-color-grey-text)}.m-button-grey.reverse:disabled ng-miam-icon svg path{fill:var(--m-color-grey-text)}.m-input{align-items:center;border:1px solid var(--m-color-grey06);border-radius:5px;display:flex;justify-content:space-between;margin-top:16px;max-width:320px;min-width:200px;outline:none;padding:8px 16px}.m-input:focus-within{border:1px solid var(--m-color-primary)}@media (max-width:1023px){.m-input{padding:8px}}.m-title-text-input .miam-text-input{max-width:565px}.miam-catalog-recipe-card .miam-catalog-card__attributes,.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-recipe-card__picture__actions,.miam-flex-column{display:flex;flex-direction:column;justify-content:space-around}.miam-flex-row{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin:auto}.m-default-card{background-color:var(--m-color-unpure-white);border-radius:8px;box-shadow:var(--m-shadow-small);padding:16px}@media (max-width:1023px){.m-default-card{margin-bottom:8px;padding:8px}}#toast-container>div{opacity:.95!important}@media (min-width:1023px){#toast-container>div:hover{opacity:1!important}}@-webkit-keyframes jiggle{0%{transform:none}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}to{transform:none}}@keyframes jiggle{0%{transform:none}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}to{transform:none}}:root{--m-border-radius:var(--miam-border-radius,8px);--m-border-radius-circle:50%;--m-border-radius-pill:25px;--m-button-gap:var(--miam-button-gap,10px);--m-button-padding:var(--miam-button-padding,9px 20px);--m-button-radius:var(--miam-button-padding,var(--m-border-radius-pill));--m-button-text-height:var(--miam-button-text-height,calc(var(--m-button-text-size)*1.5));--m-button-text-size:var(--miam-button-text-size,14px);--m-button-text-weight:var(--miam-button-text-weight,normal);--m-catalog-alt-button-color:var(--miam-catalog-alt-button-color,rgba(0,0,0,0.3));--m-catalog-alt-button-text-color:var(--miam-catalog-alt-button-text-color,var(--m-color-white));--m-catalog-alt-button-text-color-reverse:var(--miam-catalog-alt-button-text-color-reverse,var(--m-color-black));--m-catalog-card-bg-color:var(--miam-catalog-card-bg-color,var(--m-color-white));--m-catalog-card-details-color:var(--miam-catalog-card-details-color,#575756);--m-catalog-card-details-line-height:var(--miam-catalog-card-details-color,15px);--m-catalog-card-details-size:var(--miam-catalog-card-details-color,11px);--m-catalog-card-height:var(--miam-catalog-card-height,400px);--m-catalog-card-minwidth:var(--miam-catalog-card-minwidth,250px);--m-catalog-card-picture-height:var(--miam-catalog-card-picture-height,240px);--m-catalog-card-title-line-height:var(--miam-catalog-card-title-line-height 16px);--m-catalog-card-title-size:var(--miam-catalog-card-title-size,13px);--m-catalog-cards-spacing:var(--miam-catalog-cards-spacing,16px);--m-catalog-header-reduced-bg-color:var(--miam-catalog-header-reduced-bg-color,var(--m-color-primary));--m-catalog-header-reduced-text-color:var(--miam-catalog-header-reduced-text-color,var(--m-color-white));--m-catalog-header-text-color:var(--miam-catalog-header-text-color,var(--m-color-white));--m-catalog-redpoint-color:var(--miam-catalog-redpoint-color,#dd1219);--m-catalog-redpoint-text-color:var(--miam-catalog-redpoint-color,var(--m-color-white));--m-color-black:var(--miam-color-black,#0e0e2c);--m-color-card-shadow:var(--miam-color-card-shadow,#eaf2fb);--m-color-danger:var(--miam-color-danger,#fbc2aa);--m-color-danger-text:var(--miam-color-danger-text,#9f1628);--m-color-grey:var(--miam-color-grey,#f5f5f5);--m-color-grey-text:var(--miam-color-grey-text,#acb0b9);--m-color-grey-text-dark:var(--miam-color-grey-text-dark,#757575);--m-color-grey01:var(--miam-color-grey01,#505062);--m-color-grey02:var(--miam-color-grey02,#67677e);--m-color-grey03:var(--miam-color-grey03,#818198);--m-color-grey04:var(--miam-color-grey04,#9d9daf);--m-color-grey05:var(--miam-color-grey05,#b9b9c6);--m-color-grey06:var(--miam-color-grey06,#d5d5dd);--m-color-grey07:var(--miam-color-grey07,#e3e3e8);--m-color-hairlines:var(--miam-color-hairlines,#ecf1f4);--m-color-info:var(--miam-color-info,#8cd4eb);--m-color-info-text:var(--miam-color-info-text,#125368);--m-color-light-slate:var(--miam-color-light-slate,#8c8ca1);--m-color-onyx:var(--miam-color-onyx,#0e0e2c);--m-color-primary:var(--miam-color-primary,#006574);--m-color-primary-dark:var(--miam-color-primary-dark,darken(#006574,10%));--m-color-primary-light:var(--miam-color-primary-light,lighten(#006574,10%));--m-color-primary-text:var(--miam-color-primary-text,#fff);--m-color-secondary:var(--miam-color-secondary,#ef760f);--m-color-secondary-dark:var(--miam-color-secondary-dark,#ef7711);--m-color-secondary-light:var(--miam-color-secondary-light,#faebd7);--m-color-secondary-text:var(--miam-color-secondary-text,#fff);--m-color-slate:var(--miam-color-slate,#4a4a68);--m-color-success:var(--miam-color-success,#44d6b3);--m-color-success-text:var(--miam-color-success-text,#135344);--m-color-tag-diet:var(--miam-color-tag-diet,#d3f8dd);--m-color-tag-equipment:var(--miam-color-tag-equipment,#e6e5e5);--m-color-tag-ingredient-category:var(--miam-color-tag-ingredient-category,#d3f5f8);--m-color-tag-meal-type:var(--miam-color-meal-type,#fbe8d0);--m-color-ternary:var(--miam-color-ternary,#1accf8);--m-color-ternary-dark:var(--miam-color-ternary-dark,#057894);--m-color-ternary-light:var(--miam-color-ternary-light,#cef4fd);--m-color-ternary-text:var(--miam-color-ternary-text,#fff);--m-color-unpure-white:var(--miam-color-unpure-white,#fefefe);--m-color-warning:var(--miam-color-warning,#ffdaa3);--m-color-warning-text:var(--miam-color-warning-text,#f90);--m-color-white:var(--miam-color-white,#fafcfe);--m-default-transition:var(--miam-default-transition,all 0.3s ease-in-out);--m-font-size-Xlarge:var(--miam-font-size-Xlarge,24px);--m-font-size-large:var(--miam-font-size-large,20px);--m-font-size-medium:var(--miam-font-size-medium,16px);--m-font-size-small:var(--miam-font-size-small,14px);--m-loader-size:var(--miam-loader-sizes,40px);--m-loader-thickness:var(--miam-loader-thickness,5px);--m-progress-tracker-background-color:var(--miam-progress-tracker-background-color,var(--m-color-grey));--m-progress-tracker-color:var(--miam-progress-tracker-color,var(--m-color-primary));--m-progress-tracker-danger-color:var(--miam-progress-tracker-danger-color,var(--m-color-danger));--m-shadow-small:var(--miam-shadow-small,0px 3px 4px var(--m-color-card-shadow));--m-z-index-drawer-container:var(--miam-z-index-drawer-container,5000002);--m-z-index-drawer-overlay:var(--miam-z-index-drawer-overlay,5000001);--m-z-index-loader:var(--miam-z-index-loader,2);--m-z-index-modal:var(--miam-z-index-modal,6001);--m-z-index-modal-overlay:var(--miam-z-index-modal-overlay,6000);--m-z-index-position-absolute-high:var(--miam-z-index-position-absolute-high,1);--m-z-index-position-absolute-low:var(--miam-z-index-position-absolute-low,0);--m-z-index-toaster:var(--miam-z-index-toaster,6002)}.m-title-text-input:focus-within :root .miam-text-input__label,.m-title-text-input :root input,.m-title-text-input :root label:not(.miam-text-input__label__top),:root .m-body-typo,:root .m-h1-typo,:root .m-input,:root .m-input>*,:root .m-small-typo,:root .m-title-text-input:focus-within .miam-text-input__label,:root .m-title-text-input input,:root .m-title-text-input label:not(.miam-text-input__label__top){color:var(--m-color-slate);font-family:Work Sans;font-size:var(--m-font-size-medium);font-style:normal;font-weight:500;line-height:24px}.m-title-text-input :root input,.m-title-text-input :root label:not(.miam-text-input__label__top),:root .m-h1-typo,:root .m-title-text-input input,:root .m-title-text-input label:not(.miam-text-input__label__top){font-size:40px;font-weight:700;line-height:48px}:root .m-small-typo{font-size:var(--m-font-size-small);line-height:16px}@media print{:root *{-webkit-animation:none!important;-webkit-transition:none!important;animation:none!important;transition:none!important}:root .miam-not-printable{display:none}:root:last-child{page-break-after:auto}}:root .miam-print-only{display:none}@media print{:root .miam-print-only{display:block}}ng-miam-catalog-recipe-card{flex-grow:1;margin:calc(var(--m-catalog-cards-spacing)/2);max-width:calc(var(--m-catalog-card-minwidth)*1.1)}.miam-catalog-recipe-card{background-color:var(--m-catalog-card-bg-color);border:1px solid #ddd;border-radius:var(--m-border-radius);box-shadow:var(--m-shadow-small);display:flex;flex-direction:column;height:var(--m-catalog-card-height);min-width:var(--m-catalog-card-minwidth);position:relative;width:100%}@media (min-width:1023px){.miam-catalog-recipe-card:hover .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__img{transform:scale(1.05)}}.miam-catalog-recipe-card .miam-catalog-card__picture{-webkit-tap-highlight-color:transparent;cursor:pointer;height:var(--m-catalog-card-picture-height);position:relative}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient{border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:calc(var(--m-catalog-card-picture-height) + 1px);left:-1px;overflow:hidden;position:absolute;top:-1px;width:calc(100% + 2px)}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__img{-o-object-fit:cover;border-top-left-radius:var(--m-border-radius);border-top-right-radius:var(--m-border-radius);height:100%;height:var(--m-catalog-card-picture-height);object-fit:cover;position:relative;transition:var(--m-default-transition);width:100%;z-index:var(--m-z-index-position-absolute-low)}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__sponsor{align-items:flex-start;display:flex;height:48px;justify-content:flex-start;left:16px;order:2;position:absolute;top:16px;width:64px}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__sponsor img{-o-object-fit:contain;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__filigrane{align-items:flex-end;bottom:16px;display:flex;height:48px;justify-content:flex-end;order:2;position:absolute;right:16px;width:72px}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-card__picture__gradient .miam-catalog-card__picture__filigrane img{-o-object-fit:contain;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.miam-catalog-recipe-card .miam-catalog-card__attributes{align-items:center;flex:1 1;flex-direction:column-reverse;justify-content:flex-start;padding:12px 16px}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos{display:flex;flex-direction:row;justify-content:space-around;width:100%}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info{align-items:center;display:flex;flex-direction:column;padding:0 16px;width:100%}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info:first-child{border-right:1px solid #ddd}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info .miam-catalog-card__info__label{color:var(--m-catalog-card-details-color);font-size:var(--m-catalog-card-details-size);line-height:var(--m-catalog-card-details-line-height);margin:2px 0 0;text-align:center;width:100%}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-card__attributes__infos .miam-catalog-card__attributes__info .miam-catalog-card__info__label:first-letter{text-transform:capitalize}.miam-catalog-recipe-card .miam-catalog-recipe-card__header{display:none}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-recipe-card__picture__video{left:calc(50% - 40px);position:absolute;top:calc(50% - 50px)}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-recipe-card__picture__tag{background-color:rgba(0,0,0,.6);border-radius:5px;color:var(--m-color-white);font-weight:500;left:16px;padding:8px;position:absolute;text-transform:uppercase;top:16px}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-recipe-card__attributes__title{-webkit-box-orient:vertical;-webkit-line-clamp:2;-webkit-tap-highlight-color:transparent;color:var(--m-color-black);cursor:pointer;display:-webkit-box;font-size:var(--m-catalog-card-title-size);font-weight:700;left:0;letter-spacing:normal;line-height:var(--m-catalog-card-line-height);margin:12px 0;overflow:hidden;padding:0 16px;position:absolute;text-align:center;text-overflow:ellipsis;top:var(--m-catalog-card-picture-height);transition:var(--m-default-transition);width:100%}@media (min-width:1022px){.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-recipe-card__attributes__title:hover{text-decoration:underline}}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-recipe-card__picture__actions{position:absolute;right:16px;top:16px;z-index:var(--m-z-index-position-absolute-high)}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-recipe-card__picture__actions div.miam-catalog-recipe-card__actions__icon{border:none;padding:8px}@media (min-width:1023px){.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-recipe-card__picture__actions div.miam-catalog-recipe-card__actions__icon:hover{background-color:#ececec}.miam-catalog-recipe-card .miam-catalog-card__picture .miam-catalog-recipe-card__picture__actions div.miam-catalog-recipe-card__actions__icon:hover .icon-container svg path{fill:var(--m-color-primary)}}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-recipe-card__attributes__control{align-items:center;display:flex;justify-content:center;margin-top:12px;width:100%}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-recipe-card__attributes__control .miam-recipe-card__ingredients__pictures{display:none}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-recipe-card__attributes__control .miam-catalog-recipe-card__actions{align-items:center;display:flex;flex-direction:row;gap:16px;justify-content:space-between;width:100%}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-recipe-card__attributes__control .miam-catalog-recipe-card__actions .miam-catalog-recipe-card__actions__link{color:var(--m-color-primary);cursor:pointer;font-size:14px;line-height:22px}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-recipe-card__attributes__control .miam-catalog-recipe-card__actions .miam-catalog-recipe-card__actions__link:hover{text-decoration:underline}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-recipe-card__attributes__control .miam-recipe-card-cta button.m-button-primary .icon-container,.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-recipe-card__attributes__control .miam-recipe-card-cta button.m-button-primary .icon-container img{height:16px!important;width:16px!important}.miam-catalog-recipe-card .miam-catalog-card__attributes .miam-catalog-recipe-card__attributes__control .miam-recipe-card-cta button.m-button-primary .miam-loader{border:var(--m-loader-thickness) solid transparent;border-top:var(--m-loader-thickness) solid var(--m-color-white);height:16px;margin-left:8px;width:16px}"], encapsulation: 2, changeDetection: 0 });
600
- /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(CatalogRecipeCardComponent, [{
601
- type: Component,
602
- args: [{
603
- selector: 'ng-miam-catalog-recipe-card',
604
- templateUrl: './catalog-recipe-card.component.html',
605
- styleUrls: ['./catalog-recipe-card.component.scss'],
606
- encapsulation: ViewEncapsulation.None,
607
- changeDetection: ChangeDetectionStrategy.OnPush
608
- }]
609
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.RecipesService }, { type: i1.RecipeEventsService }, { type: i1.GroceriesListsService }, { type: i1.UserService }, { type: i1.ContextService }, { type: i2.AnalyticsService }, { type: i0.ElementRef }]; }, { displayPricing: [{
610
- type: Input
611
- }], displayAddedOnPicture: [{
612
- type: Input
613
- }], addRecipeMode: [{
614
- type: Input
615
- }], replaceMode: [{
616
- type: Input
617
- }], actionTriggered: [{
618
- type: Output
619
- }], removeFromMealsPlanner: [{
620
- type: Output
621
- }], addToMealsPlanner: [{
622
- type: Output
623
- }], openCatalog: [{
624
- type: Output
625
- }], moreActions: [{
626
- type: ViewChild,
627
- args: ['miamMoreActions']
628
- }], cta: [{
629
- type: ViewChild,
630
- args: ['cardCta']
631
- }] }); })();
632
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1yZWNpcGUtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL193ZWItY29tcG9uZW50cy9yZWNpcGUtY2FyZHMvY2F0YWxvZy1yZWNpcGUtY2FyZC9jYXRhbG9nLXJlY2lwZS1jYXJkLmNvbXBvbmVudC50cyIsImxpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWNhcmRzL2NhdGFsb2ctcmVjaXBlLWNhcmQvY2F0YWxvZy1yZWNpcGUtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFVLFVBQVUsRUFBRSxTQUFTLEVBQzlHLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ0VoRiwrQkFDRTtJQUFBLDBCQUNGO0lBQUEsaUJBQU07OztJQURDLGVBQTZCO0lBQTdCLHFFQUE2Qjs7O0lBR3BDLCtCQUNFO0lBQUEsMEJBQ0Y7SUFBQSxpQkFBTTs7O0lBREMsZUFBK0I7SUFB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UUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsV0FBVyxFQUFFLHNDQUFzQztnQkFDbkQsU0FBUyxFQUFFLENBQUMsc0NBQXNDLENBQUM7Z0JBQ25ELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtzUkFLVSxjQUFjO2tCQUF0QixLQUFLO1lBQ0cscUJBQXFCO2tCQUE3QixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDSSxlQUFlO2tCQUF4QixNQUFNO1lBQ0csc0JBQXNCO2tCQUEvQixNQUFNO1lBQ0csaUJBQWlCO2tCQUExQixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUd1QixXQUFXO2tCQUF4QyxTQUFTO21CQUFDLGlCQUFpQjtZQUNOLEdBQUc7a0JBQXhCLFNBQVM7bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25Jbml0LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsXG4gIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2tpcFdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUmVjaXBlc1NlcnZpY2UsIEdyb2Nlcmllc0xpc3RzU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFJlY2lwZUV2ZW50c1NlcnZpY2UsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVjaXBlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL3JlY2lwZS1jYXJkL3JlY2lwZS1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgUmVjaXBlQ2FyZEN0YUNvbXBvbmVudCB9IGZyb20gJy4uL3JlY2lwZS1jYXJkLWN0YS9yZWNpcGUtY2FyZC1jdGEuY29tcG9uZW50JztcblxuLyoqXG4gKiBUaGlzIGlzIGFuIGFuZ3VsYXIgY29tcG9uZW50IGRlc2lnbiB0byBiZSBhIHdlYiBjb21wb25lbnRcbiAqIHRoYXQncyB3aHkgd2UgdXNlIG9uUHVzaFN0cmF0ZWdpZSB3aXRoIHRoZSBjaGFuZ2VEZXRldGVjdG9yUmVmXG4gKiB0byBhdm9pZCBjb21tb24gaXNzdWVcbiAqIGd1aWRlIC0+IGh0dHBzOi8vbmV0YmFzYWwuY29tL2EtY29tcHJlaGVuc2l2ZS1ndWlkZS10by1hbmd1bGFyLW9ucHVzaC1jaGFuZ2UtZGV0ZWN0aW9uLXN0cmF0ZWd5LTViYWM0OTMwNzRhNFxuICogYW5kIGFsc293IHdlIHVzZSBTaGFkb3dEb20gdG8gcHJvdGVjdCBzdHlsZSBvZiBvdXIgY29tcG9uZW50XG4gKiBhbmQgYWxzb3cgc3R5bGUgb2YgdGhlIHBhcmVudCBhcGxpY2F0aW9uIHRoYXQgd2lsbCB1c2UgaXRcbiAqIGRvYyAtPiBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvcmUvVmlld0VuY2Fwc3VsYXRpb25cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1jYXRhbG9nLXJlY2lwZS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctcmVjaXBlLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXRhbG9nLXJlY2lwZS1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ1JlY2lwZUNhcmRDb21wb25lbnQgZXh0ZW5kcyBSZWNpcGVDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSBldmVudHNHcm91cElkID0gdXVpZHY0KCk7XG4gIHByaXZhdGUgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyO1xuICBASW5wdXQoKSBkaXNwbGF5UHJpY2luZyA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNwbGF5QWRkZWRPblBpY3R1cmUgPSBmYWxzZTtcbiAgQElucHV0KCkgYWRkUmVjaXBlTW9kZSA9IGZhbHNlO1xuICBASW5wdXQoKSByZXBsYWNlTW9kZSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgYWN0aW9uVHJpZ2dlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSByZW1vdmVGcm9tTWVhbHNQbGFubmVyID0gbmV3IEV2ZW50RW1pdHRlcjxudWxsPigpO1xuICBAT3V0cHV0KCkgYWRkVG9NZWFsc1BsYW5uZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwZT4oKTtcbiAgQE91dHB1dCgpIG9wZW5DYXRhbG9nID0gbmV3IEV2ZW50RW1pdHRlcjxudWxsPigpO1xuICBjYXJkVHlwZSA9ICdjYXRhbG9nLWNhcmQnO1xuXG4gIEBWaWV3Q2hpbGQoJ21pYW1Nb3JlQWN0aW9ucycpIG1vcmVBY3Rpb25zOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY2FyZEN0YScpIGN0YTogUmVjaXBlQ2FyZEN0YUNvbXBvbmVudDtcbiAgYWN0aW9uc09wZW5lZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyByZWNpcGVTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwdWJsaWMgcmVjaXBlRXZlbnRzU2VydmljZTogUmVjaXBlRXZlbnRzU2VydmljZSxcbiAgICBwdWJsaWMgZ3JvY2VyaWVzTGlzdHNTZXJ2aWNlOiBHcm9jZXJpZXNMaXN0c1NlcnZpY2UsXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHB1YmxpYyBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICAgICkge1xuICAgICAgc3VwZXIoY2RyLCByZWNpcGVTZXJ2aWNlLCByZWNpcGVFdmVudHNTZXJ2aWNlLCBncm9jZXJpZXNMaXN0c1NlcnZpY2UsIHVzZXJTZXJ2aWNlLCBjb250ZXh0U2VydmljZSxcbiAgICAgICAgYW5hbHl0aWNzU2VydmljZSwgZWxlbWVudCk7XG4gICAgICB0aGlzLmlzUHJpY2VEaXNwbGF5ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIFJlZnJlc2ggdmlldyBlYWNoIHRpbWUgZ3JvY2VyaWVzTGlzdCBjaGFuZ2VzXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5ncm9jZXJpZXNMaXN0c1NlcnZpY2UubGlzdCRcbiAgICAgIC5waXBlKHNraXBXaGlsZShsID0+ICFsKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpKSk7XG4gICAgaWYgKHRoaXMucmVjaXBlKSB7XG4gICAgICB0aGlzLnJlY2lwZSA9IHRoaXMucmVjaXBlLnNoYWxsb3dDb3B5V2l0aEV2ZW50cyh0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuT1JJR0lOX0NBVEFMT0csIHRoaXMuZXZlbnRzR3JvdXBJZCk7XG4gICAgICB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuZW5xdWV1ZUV2ZW50KHRoaXMucmVjaXBlLCB0aGlzLnJlY2lwZUV2ZW50c1NlcnZpY2UuQUNUSU9OX1BST1BPU0VEKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNJblZpZXdwb3J0KCkpIHtcbiAgICAgIHRoaXMuaXNQcmljZURpc3BsYXllZCA9IHRydWU7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0SW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKTtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKVxuICB9XG5cbiAgaW5pdEludGVyc2VjdGlvbk9ic2VydmVyKCkge1xuICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAoZW50cmllcykgPT4ge1xuICAgICAgICBpZiAoZW50cmllc1swXS5pc0ludGVyc2VjdGluZyA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMuaXNQcmljZURpc3BsYXllZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aHJlc2hvbGQ6IDAuNSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgfVxuXG4gIHVwZGF0ZUd1ZXN0cyhjb3VudCkge1xuICAgIHRoaXMucmVjaXBlLm1vZGlmaWVkR3Vlc3RzID0gY291bnQ7XG4gICAgdGhpcy5fdXBkYXRlQmFza2V0KCk7XG4gIH1cblxuICB0b2dnbGVNb3JlQWN0aW9ucyhldmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMucmVjaXBlLnJlbGF0aW9uc2hpcHNbJ3JlY2lwZS1wcm92aWRlciddPy5kYXRhLmlkID09PSAncGVyc29uYWwnKSB7XG4gICAgICB0aGlzLmFjdGlvbnNPcGVuZWQgPSAhdGhpcy5hY3Rpb25zT3BlbmVkO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlTW9yZUFjdGlvbnMoKSB7XG4gICAgdGhpcy5hY3Rpb25zT3BlbmVkID0gZmFsc2U7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLXJlY2lwZS1jYXJkXCI+XG4gIDwhLS0gSGVhZGVyIC0tPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLXJlY2lwZS1jYXJkX19oZWFkZXJcIj5cbiAgICA8c3Bhbj4ge3toZWFkZXJUZXh0fX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwicmVjaXBlIGVsc2UgcGljdFNrZWxldG9uXCIgY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9fcGljdHVyZVwiIChjbGljayk9XCJvcGVuUmVjaXBlKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWNhcmRfX3BpY3R1cmVfX2dyYWRpZW50XCI+XG4gICAgICA8IS0tIFBpY3R1cmUgLS0+XG4gICAgICA8aW1nIGNsYXNzPVwibWlhbS1jYXRhbG9nLWNhcmRfX3BpY3R1cmVfX2ltZ1wiIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJyZWNpcGUuYXR0cmlidXRlc1snbWVkaWEtdXJsJ11cIj5cbiAgICAgIDwhLS0gU3BvbnNvciBsb2dvIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZS5zcG9uc29yTG9nb1VybFwiIGNsYXNzPVwibWlhbS1jYXRhbG9nLWNhcmRfX3BpY3R1cmVfX3Nwb25zb3JcIj5cbiAgICAgICAgPGltZyBbc3JjXT1cInJlY2lwZS5zcG9uc29yTG9nb1VybFwiPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIEZpbGlncmFuZSBsb2dvIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInJlY2lwZS5maWxpZ3JhbmVMb2dvVXJsXCIgY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9fcGljdHVyZV9fZmlsaWdyYW5lXCI+XG4gICAgICAgIDxpbWcgW3NyY109XCJyZWNpcGUuZmlsaWdyYW5lTG9nb1VybFwiPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBWaWRlbyAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udGV4dFNlcnZpY2UudmlkZW9SZWNpcGVzRW5hYmxlZCAmJiByZWNpcGU/LnZpZGVvSWRcIiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1yZWNpcGUtY2FyZF9fcGljdHVyZV9fdmlkZW9cIj5cbiAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT1cImljb24uVmlkZW9cIiBbd2lkdGhdPVwiODBcIiBbaGVpZ2h0XT1cIjgwXCIgcHJpbWFyeUNvbG9yPSdibGFjayc+PC9uZy1taWFtLWljb24+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBEw6lqw6AgYWpvdXTDqWUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlY2lwZSAmJiBkaXNwbGF5QWRkZWRPblBpY3R1cmVcIj5cbiAgICAgIDxkaXYgaTE4biAqbmdJZj1cIihncm9jZXJpZXNMaXN0c1NlcnZpY2UucmVjaXBlSXNJbkxpc3QocmVjaXBlPy5pZCkgfCBhc3luYylcIiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1yZWNpcGUtY2FyZF9fcGljdHVyZV9fdGFnXCI+XG4gICAgICAgIETDqWrDoCBham91dMOpZVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlY2lwZSBlbHNlIHRleHRTa2VsZXRvblwiPlxuICAgICAgPCEtLSBUaXRsZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWNhdGFsb2ctcmVjaXBlLWNhcmRfX2F0dHJpYnV0ZXNfX3RpdGxlXCIgKGNsaWNrKT1cIm9wZW5SZWNpcGUoKVwiPlxuICAgICAgICB7e3JlY2lwZT8uYXR0cmlidXRlc1sndGl0bGUnXX19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3RleHRTa2VsZXRvbj5cbiAgICAgIDxuZy1taWFtLXNrZWxldG9uIFt0eXBlXT0nc2tlbGV0b24uVGV4dCc+PC9uZy1taWFtLXNrZWxldG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPCEtLSBMaWtlICYgZWRpdC9kZWxldGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1yZWNpcGUtY2FyZF9fcGljdHVyZV9fYWN0aW9uc1wiPlxuICAgICAgPGRpdlxuICAgICAgICAjbWlhbU1vcmVBY3Rpb25zXG4gICAgICAgIGNsYXNzPVwibWlhbS1jYXRhbG9nLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uIG0tYnV0dG9uLXByaW1hcnkgcmV2ZXJzZVwiXG4gICAgICAgICpuZ0lmPVwicmVjaXBlLnJlbGF0aW9uc2hpcHNbJ3JlY2lwZS1wcm92aWRlciddPy5kYXRhLmlkID09PSAncGVyc29uYWwnIGVsc2UgbGlrZVwiXG4gICAgICAgIChjbGljayk9J3RvZ2dsZU1vcmVBY3Rpb25zKCRldmVudCknPlxuICAgICAgICA8bmctbWlhbS1pY29uIFtpY29uTmFtZV09XCJhY3Rpb25zT3BlbmVkID8gaWNvbi5DbGVhciA6IGljb24uSG9yaXpvbnRhbERvdHNcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY29sb3ItcHJpbWFyeSknPjwvbmctbWlhbS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI2xpa2U+XG4gICAgICAgIDxuZy1taWFtLWxpa2UtYnV0dG9uXG4gICAgICAgICAgd2lkdGg9XCIxN1wiXG4gICAgICAgICAgaGVpZ2h0PVwiMTdcIlxuICAgICAgICAgICpuZ0lmPVwidXNlclNlcnZpY2UuaXNMb2dnZWQkIHwgYXN5bmNcIlxuICAgICAgICAgIGNsYXNzPVwibWlhbS1jYXRhbG9nLXJlY2lwZS1jYXJkX19hY3Rpb25zX19pY29uXCJcbiAgICAgICAgICBbcmVjaXBlXT0ncmVjaXBlJ1xuICAgICAgICAgIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlKClcIlxuICAgICAgICA+PC9uZy1taWFtLWxpa2UtYnV0dG9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSAjcGljdFNrZWxldG9uPlxuICAgIDxuZy1taWFtLXNrZWxldG9uIFt0eXBlXT0nc2tlbGV0b24uUGljdHVyZSc+PC9uZy1taWFtLXNrZWxldG9uPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWNhcmRfX2F0dHJpYnV0ZXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLXJlY2lwZS1jYXJkX19hdHRyaWJ1dGVzX19jb250cm9sXCI+XG4gICAgICA8IS0tIEluZ3JlZGllbnQgcGljdHVyZXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY29udGV4dFNlcnZpY2UuZGlzcGxheUluZ3JlZGllbnRQaWN0dXJlc09uUmVjaXBlQ2FyZHMgJiYgcmVjaXBlPy5tb2RpZmllZEluZ3JlZGllbnRzPy5sZW5ndGggPiAxXCJcbiAgICAgICAgY2xhc3M9XCJtaWFtLWNhdGFsb2ctcmVjaXBlLWNhcmRfX2luZ3JlZGllbnRzX19waWN0dXJlc1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWNhdGFsb2ctcmVjaXBlLWNhcmRfX2luZ3JlZGllbnRzX19waWN0dXJlXCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cImluZ3JlZGllbnRQaWN0dXJlKHJlY2lwZS5tb2RpZmllZEluZ3JlZGllbnRzWzBdKVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1yZWNpcGUtY2FyZF9faW5ncmVkaWVudHNfX3BpY3R1cmVcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiaW5ncmVkaWVudFBpY3R1cmUocmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHNbMV0pXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLXJlY2lwZS1jYXJkX19pbmdyZWRpZW50c19fbW9yZVwiICpuZ0lmPVwicmVjaXBlLm1vZGlmaWVkSW5ncmVkaWVudHMubGVuZ3RoID4gMlwiPlxuICAgICAgICAgICsge3tyZWNpcGUubW9kaWZpZWRJbmdyZWRpZW50cy5sZW5ndGggLSAyfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gQWRkIHRvIGNhcnQgLyBTaG93IGRldGFpbC0tPlxuICAgICAgPG5nLW1pYW0tcmVjaXBlLWNhcmQtY3RhXG4gICAgICAgICNjYXJkQ3RhXG4gICAgICAgICpuZ0lmPVwicHJldmlld0FsbG93ZWQgJiYgIWFkZFJlY2lwZU1vZGUgJiYgIXJlcGxhY2VNb2RlXCJcbiAgICAgICAgW3JlY2lwZV09XCJyZWNpcGVcIlxuICAgICAgICBbY2FyZFR5cGVdPVwiY2FyZFR5cGVcIlxuICAgICAgICBbcHJldmlld0FsbG93ZWRdPVwicHJldmlld0FsbG93ZWRcIlxuICAgICAgICBbaGVscEJ1dHRvbkFsbG93ZWRdPVwiaGVscEJ1dHRvbkFsbG93ZWRcIlxuICAgICAgICBbZGlzcGxheUd1ZXN0c109XCJkaXNwbGF5R3Vlc3RzXCJcbiAgICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2UoKVwiXG4gICAgICAgIChkaXNwbGF5ZWQpPVwiZGlzcGxheWVkLmVtaXQoKVwiXG4gICAgICAgIChjbGlja2VkKT1cInByaW1hcnlCdXR0b25DbGlja2VkJC5lbWl0KCRldmVudClcIj5cbiAgICAgIDwvbmctbWlhbS1yZWNpcGUtY2FyZC1jdGE+XG4gICAgICA8ZGl2ICpuZ0lmPVwicmVwbGFjZU1vZGVcIiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1yZWNpcGUtY2FyZF9fYWN0aW9uc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLXJlY2lwZS1jYXJkX19hY3Rpb25zX19saW5rIHJlcGxhY2VcIiAoY2xpY2spPVwib3BlbkNhdGFsb2cuZW1pdCgpXCI+XG4gICAgICAgICAgPHNwYW4gaTE4bj5SZW1wbGFjZXI8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLXJlY2lwZS1jYXJkX19hY3Rpb25zX19saW5rIGRlbGV0ZVwiIChjbGljayk9XCJyZW1vdmVGcm9tTWVhbHNQbGFubmVyLmVtaXQoKVwiPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT1cImljb24uVHJhc2hcIiBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXByaW1hcnkpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwiYWRkUmVjaXBlTW9kZVwiIGNsYXNzPVwibS1idXR0b24tcHJpbWFyeSByZXZlcnNlXCIgKGNsaWNrKT1cImFkZFRvTWVhbHNQbGFubmVyLmVtaXQocmVjaXBlKVwiPlxuICAgICAgICA8c3BhbiBpMThuPkFqb3V0ZXI8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWNhcmRfX2F0dHJpYnV0ZXNfX2luZm9zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1jYXRhbG9nLWNhcmRfX2F0dHJpYnV0ZXNfX2luZm9zIHJlY2lwZV9fdGltZS1hbmQtZGlmZmljdWx0eVwiPlxuICAgICAgICA8IS0tIFRvdGFsIHRpbWUgLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9J3JlY2lwZSBlbHNlIHNrZWxldG9uSW5mbycgY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9fYXR0cmlidXRlc19faW5mbyAgcmVjaXBlX190b3RhbF9fdGltZVwiPlxuICAgICAgICAgIDxuZy1taWFtLWljb24gW2ljb25OYW1lXT1cImljb24uVGltZVwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY2F0YWxvZy1jYXJkLWRldGFpbHMtY29sb3IpXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9faW5mb19fbGFiZWxcIj57eyByZWNpcGU/LnRvdGFsVGltZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gRGlmZmljdWx0eSAtLT5cbiAgICAgICAgPGRpdiAqbmdJZj0ncmVjaXBlJyBjbGFzcz1cIm1pYW0tY2F0YWxvZy1jYXJkX19hdHRyaWJ1dGVzX19pbmZvIHJlY2lwZV9fZGlmZmljdWx0eVwiIFtuZ0NsYXNzXT1cInsgJ2Vhc3knOiByZWNpcGU/LmRpZmZpY3VsdHkgPT09IDEsXG4gICAgICAgICAgJ21lZGl1bSc6IHJlY2lwZT8uZGlmZmljdWx0eSA9PT0gMiwgJ2hhcmQnOiByZWNpcGU/LmRpZmZpY3VsdHkgPT09IDMgfVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInJlY2lwZT8uZGlmZmljdWx0eVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiMlwiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCIzOVwiIFtoZWlnaHRdPVwiMThcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY2F0YWxvZy1jYXJkLWRldGFpbHMtY29sb3IpJ1xuICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlNZWRpdW1cIj48L25nLW1pYW0taWNvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiM1wiPlxuICAgICAgICAgICAgICA8bmctbWlhbS1pY29uIFt3aWR0aF09XCI2MFwiIFtoZWlnaHRdPVwiMThcIiBwcmltYXJ5Q29sb3I9J3ZhcigtLW0tY2F0YWxvZy1jYXJkLWRldGFpbHMtY29sb3IpJ1xuICAgICAgICAgICAgICAgIFtpY29uTmFtZV09XCJpY29uLkRpZmZpY3VsdHlIaWdoXCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgICAgPG5nLW1pYW0taWNvbiBbd2lkdGhdPVwiMThcIiBbaGVpZ2h0XT1cIjE4XCIgcHJpbWFyeUNvbG9yPSd2YXIoLS1tLWNhdGFsb2ctY2FyZC1kZXRhaWxzLWNvbG9yKSdcbiAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5EaWZmaWN1bHR5TG93XCI+PC9uZy1taWFtLWljb24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJyZWNpcGU/LmRpZmZpY3VsdHlcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIjFcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9faW5mb19fbGFiZWwgZWFzeVwiICpuZ0lmPVwicmVjaXBlU2VydmljZS5kaWZmaWN1bHR5TGV2ZWxzWzBdPy5sYWJlbCAhPT0gJ0NoZWYgZMOpYnV0YW50JyBlbHNlIGRpZmZpY3VsdHlFYXN5RGVmYXVsdFwiPlxuICAgICAgICAgICAgICAgIHt7cmVjaXBlU2VydmljZS5kaWZmaWN1bHR5TGV2ZWxzWzBdLmxhYmVsfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RpZmZpY3VsdHlFYXN5RGVmYXVsdD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1jYXJkX19pbmZvX19sYWJlbCBlYXN5XCIgaTE4bj5DaGVmIGTDqWJ1dGFudDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiMlwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tY2F0YWxvZy1jYXJkX19pbmZvX19sYWJlbCBtZWRpdW1cIiAqbmdJZj1cInJlY2lwZVNlcnZpY2UuZGlmZmljdWx0eUxldmVsc1sxXT8ubGFiZWwgIT09ICdDaGVmIGludGVybcOpZGlhaXJlJyBlbHNlIGRpZmZpY3VsdHlNZWRpdW1EZWZhdWx0XCI+XG4gICAgICAgICAgICAgICAge3tyZWNpcGVTZXJ2aWNlLmRpZmZpY3VsdHlMZXZlbHNbMV0ubGFiZWx9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlmZmljdWx0eU1lZGl1bURlZmF1bHQ+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9faW5mb19fbGFiZWwgbWVkaXVtXCIgaTE4bj5DaGVmIGludGVybcOpZGlhaXJlPC9zcGFuPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIzXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1jYXRhbG9nLWNhcmRfX2luZm9fX2xhYmVsIGhhcmRcIiAqbmdJZj1cInJlY2lwZVNlcnZpY2UuZGlmZmljdWx0eUxldmVsc1syXT8ubGFiZWwgIT09ICdUb3AgY2hlZicgZWxzZSBkaWZmaWN1bHR5SGFyZERlZmF1bHRcIj5cbiAgICAgICAgICAgICAgICB7e3JlY2lwZVNlcnZpY2UuZGlmZmljdWx0eUxldmVsc1syXS5sYWJlbH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkaWZmaWN1bHR5SGFyZERlZmF1bHQ+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9faW5mb19fbGFiZWwgaGFyZFwiIGkxOG4+VG9wIGNoZWY8L3NwYW4+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9faW5mb19fbGFiZWwgZWFzeVwiICpuZ0lmPVwicmVjaXBlU2VydmljZS5kaWZmaWN1bHR5TGV2ZWxzWzBdPy5sYWJlbCAhPT0gJ0NoZWYgZMOpYnV0YW50JyBlbHNlIGRpZmZpY3VsdHlEZWZhdWx0XCI+XG4gICAgICAgICAgICAgICAge3tyZWNpcGVTZXJ2aWNlLmRpZmZpY3VsdHlMZXZlbHNbMF0ubGFiZWx9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGlmZmljdWx0eURlZmF1bHQ+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9faW5mb19fbGFiZWwgZWFzeVwiIGkxOG4+Q2hlZiBkw6lidXRhbnQ8L3NwYW4+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gUHJpY2UgLS0+XG4gICAgICA8ZGl2ICpuZ0lmPVwicmVjaXBlICYmIGRpc3BsYXlQcmljaW5nXCIgY2xhc3M9XCJtaWFtLWNhdGFsb2ctY2FyZF9fYXR0cmlidXRlc19faW5mbyByZWNpcGVfX3ByaWNlXCI+XG4gICAgICAgIDxuZy1taWFtLXJlY2lwZS1wcmljaW5nICpuZ0lmPSdpc1ByaWNlRGlzcGxheWVkJyBbcmVjaXBlXT1cInJlY2lwZVwiIFtzZXJ2ZXNdPVwicmVjaXBlPy5tb2RpZmllZEd1ZXN0c1wiPjwvbmctbWlhbS1yZWNpcGUtcHJpY2luZz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlICNza2VsZXRvbkluZm8+XG4gICAgICAgIDxuZy1taWFtLXNrZWxldG9uIFt0eXBlXT0nc2tlbGV0b24/Lkljb25XaXRoSW5mbyc+PC9uZy1taWFtLXNrZWxldG9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0gTW9yZSBhY3Rpb25zIHBvcGluIC0tPlxuICA8bmctbWlhbS1hY3Rpb25zLXBvcGluIFxuICAgICpuZ0lmPVwiYWN0aW9uc09wZW5lZFwiIChjbG9zZSk9XCJjbG9zZU1vcmVBY3Rpb25zKClcIiAoYWN0aW9uVHJpZ2dlcmVkKT1cImFjdGlvblRyaWdnZXJlZC5lbWl0KCRldmVudClcIj5cbiAgPC9uZy1taWFtLWFjdGlvbnMtcG9waW4+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjY29ycz5cbiAgPG5nLW1pYW0tY29ycy1vdmVybGF5PjwvbmctbWlhbS1jb3JzLW92ZXJsYXk+XG48L25nLXRlbXBsYXRlPlxuIl19