ng-miam 3.2.2 → 3.4.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 (120) hide show
  1. package/bundles/ng-miam.umd.js +7452 -5975
  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/abstract-recipe-card.component.js +1 -1
  6. package/esm2015/lib/_components/icon/icon.component.js +65 -6
  7. package/esm2015/lib/_components/recipe-filters/recipe-filters.component.js +94 -40
  8. package/esm2015/lib/_components/recipe-type-chooser/recipe-type-chooser.component.js +23 -30
  9. package/esm2015/lib/_components/text-input/text-input.component.js +6 -4
  10. package/esm2015/lib/_models/article.js +43 -0
  11. package/esm2015/lib/_models/basket.js +2 -2
  12. package/esm2015/lib/_models/groceries-entry.js +23 -2
  13. package/esm2015/lib/_models/groceries-list.js +5 -2
  14. package/esm2015/lib/_models/index.js +4 -1
  15. package/esm2015/lib/_models/package.js +14 -3
  16. package/esm2015/lib/_models/recipe.js +4 -1
  17. package/esm2015/lib/_models/user.js +10 -1
  18. package/esm2015/lib/_services/analytics.service.js +7 -1
  19. package/esm2015/lib/_services/articles.service.js +21 -0
  20. package/esm2015/lib/_services/baskets.service.js +7 -3
  21. package/esm2015/lib/_services/context.service.js +15 -1
  22. package/esm2015/lib/_services/groceries-lists.service.js +23 -6
  23. package/esm2015/lib/_services/index.js +3 -1
  24. package/esm2015/lib/_services/ingredients.service.js +2 -2
  25. package/esm2015/lib/_services/interceptor.service.js +2 -3
  26. package/esm2015/lib/_services/package.service.js +32 -9
  27. package/esm2015/lib/_services/recipe-events.service.js +2 -2
  28. package/esm2015/lib/_services/recipe-likes.service.js +6 -2
  29. package/esm2015/lib/_services/recipe-share.service.js +2 -2
  30. package/esm2015/lib/_services/recipes.service.js +2 -2
  31. package/esm2015/lib/_services/suppliers.service.js +2 -2
  32. package/esm2015/lib/_services/toastr.service.js +52 -0
  33. package/esm2015/lib/_services/user.service.js +64 -21
  34. package/esm2015/lib/_types/icon.enum.js +22 -18
  35. package/esm2015/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.js +15 -15
  36. package/esm2015/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.js +3 -3
  37. package/esm2015/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.js +22 -19
  38. package/esm2015/lib/_web-components/basket-preview/basket-preview.module.js +78 -0
  39. package/esm2015/lib/_web-components/basket-preview/index.js +7 -0
  40. package/esm2015/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.js +8 -8
  41. package/esm2015/lib/_web-components/catalog-article-card/catalog-article-card.component.js +71 -0
  42. package/esm2015/lib/_web-components/catalog-category/catalog-category.component.js +134 -92
  43. package/esm2015/lib/_web-components/catalog-header/catalog-header.component.js +51 -34
  44. package/esm2015/lib/_web-components/catalog-list/catalog-list.component.js +106 -61
  45. package/esm2015/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.js +65 -52
  46. package/esm2015/lib/_web-components/drawer/drawer.component.js +1 -1
  47. package/esm2015/lib/_web-components/favorite-page/favorite-page.component.js +8 -6
  48. package/esm2015/lib/_web-components/index.js +5 -6
  49. package/esm2015/lib/_web-components/list-scan/basket-preview/basket-preview.component.js +145 -0
  50. package/esm2015/lib/_web-components/list-scan/index.js +3 -0
  51. package/esm2015/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.js +150 -0
  52. package/esm2015/lib/_web-components/list-scan/list-scan.component.js +87 -0
  53. package/esm2015/lib/_web-components/list-scan/list-scan.module.js +60 -0
  54. package/esm2015/lib/_web-components/list-scan/overlay-button/overlay-button.component.js +104 -0
  55. package/esm2015/lib/_web-components/loader/index.js +3 -0
  56. package/esm2015/lib/_web-components/loader/loader.module.js +39 -0
  57. package/esm2015/lib/_web-components/personal-recipes/personal-recipes.component.js +7 -5
  58. package/esm2015/lib/_web-components/recipe-card/recipe-card.component.js +73 -58
  59. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +152 -92
  60. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +307 -270
  61. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +1 -1
  62. package/esm2015/lib/_web-components/recipe-stepper/recipe-stepper.component.js +1 -1
  63. package/esm2015/lib/_web-components/recipes-history/recipes-history.component.js +1 -1
  64. package/esm2015/lib/_web-components/suggestion-card/suggestion-card.component.js +3 -6
  65. package/esm2015/lib/_web-components/web-components.module.js +35 -65
  66. package/esm2015/lib/environments/environment.js +6 -0
  67. package/esm2015/lib/ng-miam.module.js +4 -4
  68. package/fesm2015/ng-miam.js +6540 -5287
  69. package/fesm2015/ng-miam.js.map +1 -1
  70. package/lib/_components/abstracts/abstract-recipe-card.component.d.ts +1 -1
  71. package/lib/_components/recipe-filters/recipe-filters.component.d.ts +14 -4
  72. package/lib/_components/recipe-type-chooser/recipe-type-chooser.component.d.ts +2 -2
  73. package/lib/_components/text-input/text-input.component.d.ts +2 -1
  74. package/lib/_models/article.d.ts +23 -0
  75. package/lib/_models/basket.d.ts +1 -2
  76. package/lib/_models/groceries-entry.d.ts +8 -1
  77. package/lib/_models/groceries-list.d.ts +4 -3
  78. package/lib/_models/index.d.ts +3 -0
  79. package/lib/_models/package.d.ts +10 -3
  80. package/lib/_models/recipe.d.ts +1 -0
  81. package/lib/_models/user.d.ts +16 -1
  82. package/lib/_services/articles.service.d.ts +10 -0
  83. package/lib/_services/context.service.d.ts +12 -6
  84. package/lib/_services/groceries-lists.service.d.ts +4 -1
  85. package/lib/_services/index.d.ts +2 -0
  86. package/lib/_services/package.service.d.ts +6 -1
  87. package/lib/_services/toastr.service.d.ts +10 -0
  88. package/lib/_services/user.service.d.ts +12 -6
  89. package/lib/_types/icon.enum.d.ts +21 -17
  90. package/lib/_web-components/{basket-preview-block → basket-preview/basket-preview-block}/basket-preview-block.component.d.ts +6 -6
  91. package/lib/_web-components/{basket-preview-disabled → basket-preview/basket-preview-disabled}/basket-preview-disabled.component.d.ts +2 -2
  92. package/lib/_web-components/{basket-preview-line → basket-preview/basket-preview-line}/basket-preview-line.component.d.ts +7 -7
  93. package/lib/_web-components/basket-preview/basket-preview.module.d.ts +16 -0
  94. package/lib/_web-components/basket-preview/index.d.ts +5 -0
  95. package/lib/_web-components/{replace-item → basket-preview/replace-item}/replace-item.component.d.ts +5 -5
  96. package/lib/_web-components/catalog-article-card/catalog-article-card.component.d.ts +8 -0
  97. package/lib/_web-components/catalog-category/catalog-category.component.d.ts +12 -7
  98. package/lib/_web-components/catalog-header/catalog-header.component.d.ts +5 -2
  99. package/lib/_web-components/catalog-list/catalog-list.component.d.ts +13 -6
  100. package/lib/_web-components/catalog-recipe-card/catalog-recipe-card.component.d.ts +1 -0
  101. package/lib/_web-components/favorite-page/favorite-page.component.d.ts +0 -1
  102. package/lib/_web-components/index.d.ts +4 -5
  103. package/lib/_web-components/list-scan/basket-preview/basket-preview.component.d.ts +25 -0
  104. package/lib/_web-components/list-scan/index.d.ts +2 -0
  105. package/lib/_web-components/list-scan/ingredients-list/ingredients-list.component.d.ts +22 -0
  106. package/lib/_web-components/list-scan/list-scan.component.d.ts +17 -0
  107. package/lib/_web-components/list-scan/list-scan.module.d.ts +16 -0
  108. package/lib/_web-components/list-scan/overlay-button/overlay-button.component.d.ts +19 -0
  109. package/lib/_web-components/loader/index.d.ts +2 -0
  110. package/lib/_web-components/loader/loader.module.d.ts +10 -0
  111. package/lib/_web-components/personal-recipes/personal-recipes.component.d.ts +0 -1
  112. package/lib/_web-components/recipe-card/recipe-card.component.d.ts +1 -0
  113. package/lib/_web-components/recipe-catalog/recipe-catalog.component.d.ts +13 -4
  114. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +8 -3
  115. package/lib/_web-components/suggestion-card/suggestion-card.component.d.ts +0 -1
  116. package/lib/_web-components/web-components.module.d.ts +38 -65
  117. package/lib/{environment.d.ts → environments/environment.d.ts} +1 -1
  118. package/miam-style.css +1 -1
  119. package/package.json +1 -1
  120. package/esm2015/lib/environment.js +0 -8
@@ -1,42 +1,44 @@
1
1
  import { MediaMatcher } from '@angular/cdk/layout';
2
2
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, Output, EventEmitter, Input } from '@angular/core';
3
+ import { UserService } from '../../_services';
3
4
  import { Icon } from '../../_types/icon.enum';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/cdk/layout";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../icon/icon.component";
8
- import * as i4 from "@angular/forms";
7
+ import * as i2 from "../../_services";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "../icon/icon.component";
10
+ import * as i5 from "@angular/forms";
9
11
  function RecipeFiltersComponent_span_2_Template(rf, ctx) { if (rf & 1) {
10
12
  i0.ɵɵelementStart(0, "span");
11
13
  i0.ɵɵtext(1, "Filtrer");
12
14
  i0.ɵɵelementEnd();
13
15
  } }
14
16
  function RecipeFiltersComponent_div_5_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
15
- const _r10 = i0.ɵɵgetCurrentView();
17
+ const _r11 = i0.ɵɵgetCurrentView();
16
18
  i0.ɵɵelementStart(0, "div", 14);
17
19
  i0.ɵɵelementStart(1, "span");
18
20
  i0.ɵɵtext(2);
19
21
  i0.ɵɵelementEnd();
20
22
  i0.ɵɵelementStart(3, "ng-miam-icon", 15);
21
- i0.ɵɵlistener("click", function RecipeFiltersComponent_div_5_ng_container_1_div_1_Template_ng_miam_icon_click_3_listener() { i0.ɵɵrestoreView(_r10); const filter_r8 = ctx.$implicit; const ctx_r9 = i0.ɵɵnextContext(3); return ctx_r9.removeFilter(filter_r8); });
23
+ i0.ɵɵlistener("click", function RecipeFiltersComponent_div_5_ng_container_1_div_1_Template_ng_miam_icon_click_3_listener() { i0.ɵɵrestoreView(_r11); const filter_r9 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(3); return ctx_r10.removeFilter(filter_r9); });
22
24
  i0.ɵɵelementEnd();
23
25
  i0.ɵɵelementEnd();
24
26
  } if (rf & 2) {
25
- const filter_r8 = ctx.$implicit;
26
- const ctx_r7 = i0.ɵɵnextContext(3);
27
+ const filter_r9 = ctx.$implicit;
28
+ const ctx_r8 = i0.ɵɵnextContext(3);
27
29
  i0.ɵɵadvance(2);
28
- i0.ɵɵtextInterpolate(filter_r8);
30
+ i0.ɵɵtextInterpolate(filter_r9);
29
31
  i0.ɵɵadvance(1);
30
- i0.ɵɵproperty("iconName", ctx_r7.icon.Clear);
32
+ i0.ɵɵproperty("iconName", ctx_r8.icon.Clear);
31
33
  } }
32
34
  function RecipeFiltersComponent_div_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
33
35
  i0.ɵɵelementContainerStart(0);
34
36
  i0.ɵɵtemplate(1, RecipeFiltersComponent_div_5_ng_container_1_div_1_Template, 4, 2, "div", 13);
35
37
  i0.ɵɵelementContainerEnd();
36
38
  } if (rf & 2) {
37
- const ctx_r6 = i0.ɵɵnextContext(2);
39
+ const ctx_r7 = i0.ɵɵnextContext(2);
38
40
  i0.ɵɵadvance(1);
39
- i0.ɵɵproperty("ngForOf", ctx_r6.filtersToDisplay);
41
+ i0.ɵɵproperty("ngForOf", ctx_r7.filtersToDisplay);
40
42
  } }
41
43
  function RecipeFiltersComponent_div_5_Template(rf, ctx) { if (rf & 1) {
42
44
  i0.ɵɵelementStart(0, "div", 12);
@@ -48,75 +50,106 @@ function RecipeFiltersComponent_div_5_Template(rf, ctx) { if (rf & 1) {
48
50
  i0.ɵɵproperty("ngIf", ctx_r1.filtersToDisplay && ctx_r1.filtersToDisplay.length > 0);
49
51
  } }
50
52
  function RecipeFiltersComponent_div_9_Template(rf, ctx) { if (rf & 1) {
51
- const _r13 = i0.ɵɵgetCurrentView();
53
+ const _r14 = i0.ɵɵgetCurrentView();
52
54
  i0.ɵɵelementStart(0, "div", 16);
53
55
  i0.ɵɵelementStart(1, "input", 17);
54
- i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_9_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r13); const difficulty_r11 = ctx.$implicit; return difficulty_r11.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_9_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r13); const ctx_r14 = i0.ɵɵnextContext(); return ctx_r14.filtersChanged(); });
56
+ i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_9_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r14); const difficulty_r12 = ctx.$implicit; return difficulty_r12.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_9_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r14); const ctx_r15 = i0.ɵɵnextContext(); return ctx_r15.filtersChanged(); });
55
57
  i0.ɵɵelementEnd();
56
58
  i0.ɵɵtext(2);
57
59
  i0.ɵɵelementEnd();
58
60
  } if (rf & 2) {
59
- const difficulty_r11 = ctx.$implicit;
61
+ const difficulty_r12 = ctx.$implicit;
60
62
  i0.ɵɵadvance(1);
61
- i0.ɵɵproperty("ngModel", difficulty_r11.value);
63
+ i0.ɵɵproperty("ngModel", difficulty_r12.value);
62
64
  i0.ɵɵadvance(1);
63
- i0.ɵɵtextInterpolate1(" ", difficulty_r11.text, " ");
65
+ i0.ɵɵtextInterpolate1(" ", difficulty_r12.text, " ");
64
66
  } }
65
67
  function RecipeFiltersComponent_div_14_Template(rf, ctx) { if (rf & 1) {
66
- const _r17 = i0.ɵɵgetCurrentView();
68
+ const _r18 = i0.ɵɵgetCurrentView();
67
69
  i0.ɵɵelementStart(0, "div", 16);
68
70
  i0.ɵɵelementStart(1, "input", 17);
69
- i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return ctx_r16.uncheckFiltersOnChange("cost"); })("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r17); const cost_r15 = ctx.$implicit; return cost_r15.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r17); const ctx_r19 = i0.ɵɵnextContext(); return ctx_r19.filtersChanged(); });
71
+ i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(); return ctx_r17.uncheckFiltersOnChange("cost"); })("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r18); const cost_r16 = ctx.$implicit; return cost_r16.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_14_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r18); const ctx_r20 = i0.ɵɵnextContext(); return ctx_r20.filtersChanged(); });
70
72
  i0.ɵɵelementEnd();
71
73
  i0.ɵɵtext(2);
72
74
  i0.ɵɵelementEnd();
73
75
  } if (rf & 2) {
74
- const cost_r15 = ctx.$implicit;
76
+ const cost_r16 = ctx.$implicit;
75
77
  i0.ɵɵadvance(1);
76
- i0.ɵɵproperty("ngModel", cost_r15.value);
78
+ i0.ɵɵproperty("ngModel", cost_r16.value);
77
79
  i0.ɵɵadvance(1);
78
- i0.ɵɵtextInterpolate1(" ", cost_r15.text, " ");
80
+ i0.ɵɵtextInterpolate1(" ", cost_r16.text, " ");
79
81
  } }
80
82
  function RecipeFiltersComponent_div_19_Template(rf, ctx) { if (rf & 1) {
81
- const _r22 = i0.ɵɵgetCurrentView();
83
+ const _r23 = i0.ɵɵgetCurrentView();
82
84
  i0.ɵɵelementStart(0, "div", 16);
83
85
  i0.ɵɵelementStart(1, "input", 17);
84
- i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(); return ctx_r21.uncheckFiltersOnChange("time"); })("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r22); const time_r20 = ctx.$implicit; return time_r20.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r22); const ctx_r24 = i0.ɵɵnextContext(); return ctx_r24.filtersChanged(); });
86
+ i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(); return ctx_r22.uncheckFiltersOnChange("time"); })("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r23); const time_r21 = ctx.$implicit; return time_r21.value = $event; })("ngModelChange", function RecipeFiltersComponent_div_19_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r23); const ctx_r25 = i0.ɵɵnextContext(); return ctx_r25.filtersChanged(); });
85
87
  i0.ɵɵelementEnd();
86
88
  i0.ɵɵtext(2);
87
89
  i0.ɵɵelementEnd();
88
90
  } if (rf & 2) {
89
- const time_r20 = ctx.$implicit;
91
+ const time_r21 = ctx.$implicit;
90
92
  i0.ɵɵadvance(1);
91
- i0.ɵɵproperty("ngModel", time_r20.value);
93
+ i0.ɵɵproperty("ngModel", time_r21.value);
92
94
  i0.ɵɵadvance(1);
93
- i0.ɵɵtextInterpolate1(" < ", time_r20.text, " ");
95
+ i0.ɵɵtextInterpolate1(" < ", time_r21.text, " ");
94
96
  } }
95
97
  function RecipeFiltersComponent_div_23_Template(rf, ctx) { if (rf & 1) {
96
- const _r26 = i0.ɵɵgetCurrentView();
97
- i0.ɵɵelementStart(0, "div", 18);
98
- i0.ɵɵlistener("click", function RecipeFiltersComponent_div_23_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(); return ctx_r25.toggleFilter(); });
98
+ const _r27 = i0.ɵɵgetCurrentView();
99
+ i0.ɵɵelementStart(0, "div");
100
+ i0.ɵɵelement(1, "div", 8);
101
+ i0.ɵɵelementStart(2, "div", 18);
102
+ i0.ɵɵelementStart(3, "div", 6);
103
+ i0.ɵɵtext(4, "Pr\u00E9f\u00E9rences");
104
+ i0.ɵɵelementEnd();
105
+ i0.ɵɵelementStart(5, "div", 16);
106
+ i0.ɵɵelementStart(6, "input", 17);
107
+ i0.ɵɵlistener("ngModelChange", function RecipeFiltersComponent_div_23_Template_input_ngModelChange_6_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(); return ctx_r26.updateUserPreference("has_children", $event); });
108
+ i0.ɵɵelementEnd();
109
+ i0.ɵɵtext(7);
110
+ i0.ɵɵelementEnd();
111
+ i0.ɵɵelementEnd();
112
+ i0.ɵɵelementEnd();
113
+ } if (rf & 2) {
114
+ const ctx_r5 = i0.ɵɵnextContext();
115
+ i0.ɵɵadvance(6);
116
+ i0.ɵɵproperty("ngModel", ctx_r5.hasChildren);
117
+ i0.ɵɵadvance(1);
118
+ i0.ɵɵtextInterpolate1(" ", ctx_r5.hasChildren ? "J'ai des enfants" : "Je n'ai pas d'enfant", " ");
119
+ } }
120
+ function RecipeFiltersComponent_div_24_Template(rf, ctx) { if (rf & 1) {
121
+ const _r29 = i0.ɵɵgetCurrentView();
122
+ i0.ɵɵelementStart(0, "div", 19);
123
+ i0.ɵɵlistener("click", function RecipeFiltersComponent_div_24_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(); return ctx_r28.toggleFilter(); });
99
124
  i0.ɵɵtext(1, " Fermer ");
100
125
  i0.ɵɵelementEnd();
101
126
  } }
102
127
  const _c0 = function (a0) { return { "filter-collapsed": a0 }; };
103
128
  const _c1 = function (a0, a1) { return { "filter-collapsed": a0, "mobile-fixed": a1 }; };
104
129
  export class RecipeFiltersComponent {
105
- constructor(cdr, mediaMatcher) {
130
+ constructor(cdr, mediaMatcher, usersService) {
106
131
  this.cdr = cdr;
107
132
  this.mediaMatcher = mediaMatcher;
133
+ this.usersService = usersService;
108
134
  this.mobileFixed = false;
109
135
  this.filterChanged = new EventEmitter();
110
136
  this.filterReset = new EventEmitter();
111
137
  this.filterCollapsed = new EventEmitter();
138
+ this.preferencesChanged = new EventEmitter();
112
139
  this.isFilterCollapsed = false;
113
140
  this.icon = Icon;
114
141
  this.filtersToDisplay = [];
115
142
  this.isMobile = false;
116
143
  this.willDoubleBuild = false; // If filters were changed in recipe-filters, it will trigger the build function 2 times
144
+ this.isLogged = false;
145
+ this.hasChildren = false;
146
+ this.subscriptions = [];
117
147
  this.isMobile = mediaMatcher.matchMedia('(max-width: 1022px)').matches;
118
148
  this.isFilterCollapsed = this.isMobile;
119
149
  }
150
+ ngOnInit() {
151
+ this.setUserObservables();
152
+ }
120
153
  ngOnChanges() {
121
154
  if (this.filterToRemove) {
122
155
  this.removeFilter(this.filterToRemove);
@@ -131,6 +164,9 @@ export class RecipeFiltersComponent {
131
164
  }
132
165
  this.cdr.detectChanges();
133
166
  }
167
+ ngOnDestroy() {
168
+ this.subscriptions.forEach(s => s.unsubscribe());
169
+ }
134
170
  filtersChanged() {
135
171
  if (this.isMobile) {
136
172
  this.filtersToDisplay = this.buildFiltersArray();
@@ -183,9 +219,22 @@ export class RecipeFiltersComponent {
183
219
  this.cdr.detectChanges();
184
220
  this.filterCollapsed.emit();
185
221
  }
222
+ updateUserPreference(preference, state) {
223
+ this.subscriptions.push(this.usersService.setPreference(preference, state).subscribe(() => this.preferencesChanged.emit()));
224
+ }
225
+ setUserObservables() {
226
+ this.subscriptions.push(this.usersService.isLogged$.subscribe(logged => {
227
+ this.isLogged = logged;
228
+ this.cdr.detectChanges();
229
+ }));
230
+ this.subscriptions.push(this.usersService.hasPreference('has_children').subscribe(hasChildren => {
231
+ this.hasChildren = hasChildren;
232
+ this.cdr.detectChanges();
233
+ }));
234
+ }
186
235
  }
187
- RecipeFiltersComponent.ɵfac = function RecipeFiltersComponent_Factory(t) { return new (t || RecipeFiltersComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MediaMatcher)); };
188
- RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersComponent, selectors: [["ng-miam-recipe-filters"]], inputs: { filters: "filters", mobileFixed: "mobileFixed", filterToRemove: "filterToRemove" }, outputs: { filterChanged: "filterChanged", filterReset: "filterReset", filterCollapsed: "filterCollapsed" }, features: [i0.ɵɵNgOnChangesFeature], decls: 24, vars: 22, consts: [[1, "miam-recipe-filters", 3, "ngClass"], [1, "miam-recipe-filters__toggle", 3, "ngClass", "click"], [4, "ngIf"], ["primaryColor", "var(--m-color-white)", 3, "iconName", "height", "width", "ngClass"], [1, "miam-recipe-filters__container", 3, "ngClass"], ["class", "miam-recipe-filter__details", 4, "ngIf"], [1, "miam-recipe-filters__title"], ["class", "miam-recipe-filters__choice", 4, "ngFor", "ngForOf"], [1, "miam-recipe-filters__separator"], [1, "miam-recipe-filters__remove"], [3, "click"], ["class", "miam-recipe-filters__toggle mobile-fixed", 3, "click", 4, "ngIf"], [1, "miam-recipe-filter__details"], ["class", "miam-recipe-filter__detail", 4, "ngFor", "ngForOf"], [1, "miam-recipe-filter__detail"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-filter__detail__icon", 3, "iconName", "click"], [1, "miam-recipe-filters__choice"], ["type", "checkbox", 3, "ngModel", "ngModelChange"], [1, "miam-recipe-filters__toggle", "mobile-fixed", 3, "click"]], template: function RecipeFiltersComponent_Template(rf, ctx) { if (rf & 1) {
236
+ RecipeFiltersComponent.ɵfac = function RecipeFiltersComponent_Factory(t) { return new (t || RecipeFiltersComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MediaMatcher), i0.ɵɵdirectiveInject(i2.UserService)); };
237
+ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersComponent, selectors: [["ng-miam-recipe-filters"]], inputs: { filters: "filters", mobileFixed: "mobileFixed", filterToRemove: "filterToRemove" }, outputs: { filterChanged: "filterChanged", filterReset: "filterReset", filterCollapsed: "filterCollapsed", preferencesChanged: "preferencesChanged" }, features: [i0.ɵɵNgOnChangesFeature], decls: 25, vars: 23, consts: [[1, "miam-recipe-filters", 3, "ngClass"], [1, "miam-recipe-filters__toggle", 3, "ngClass", "click"], [4, "ngIf"], ["primaryColor", "var(--m-color-white)", 3, "iconName", "height", "width", "ngClass"], [1, "miam-recipe-filters__container", 3, "ngClass"], ["class", "miam-recipe-filter__details", 4, "ngIf"], [1, "miam-recipe-filters__title"], ["class", "miam-recipe-filters__choice", 4, "ngFor", "ngForOf"], [1, "miam-recipe-filters__separator"], [1, "miam-recipe-filters__remove"], [3, "click"], ["class", "miam-recipe-filters__toggle mobile-fixed", 3, "click", 4, "ngIf"], [1, "miam-recipe-filter__details"], ["class", "miam-recipe-filter__detail", 4, "ngFor", "ngForOf"], [1, "miam-recipe-filter__detail"], ["primaryColor", "var(--m-color-primary)", 1, "miam-recipe-filter__detail__icon", 3, "iconName", "click"], [1, "miam-recipe-filters__choice"], ["type", "checkbox", 3, "ngModel", "ngModelChange"], [1, "miam-recipe-filters__preferences"], [1, "miam-recipe-filters__toggle", "mobile-fixed", 3, "click"]], template: function RecipeFiltersComponent_Template(rf, ctx) { if (rf & 1) {
189
238
  i0.ɵɵelementStart(0, "div", 0);
190
239
  i0.ɵɵelementStart(1, "div", 1);
191
240
  i0.ɵɵlistener("click", function RecipeFiltersComponent_Template_div_click_1_listener() { return ctx.toggleFilter(); });
@@ -220,19 +269,20 @@ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersCompo
220
269
  i0.ɵɵtext(22, "Retirer tous les filtres");
221
270
  i0.ɵɵelementEnd();
222
271
  i0.ɵɵelementEnd();
223
- i0.ɵɵtemplate(23, RecipeFiltersComponent_div_23_Template, 2, 0, "div", 11);
272
+ i0.ɵɵtemplate(23, RecipeFiltersComponent_div_23_Template, 8, 2, "div", 2);
273
+ i0.ɵɵtemplate(24, RecipeFiltersComponent_div_24_Template, 2, 0, "div", 11);
224
274
  i0.ɵɵelementEnd();
225
275
  i0.ɵɵelementEnd();
226
276
  } if (rf & 2) {
227
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c0, ctx.isFilterCollapsed));
277
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c0, ctx.isFilterCollapsed));
228
278
  i0.ɵɵadvance(1);
229
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(15, _c1, ctx.isFilterCollapsed, ctx.mobileFixed));
279
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(16, _c1, ctx.isFilterCollapsed, ctx.mobileFixed));
230
280
  i0.ɵɵadvance(1);
231
281
  i0.ɵɵproperty("ngIf", ctx.isFilterCollapsed);
232
282
  i0.ɵɵadvance(1);
233
- i0.ɵɵproperty("iconName", ctx.icon.ChevronDown)("height", 32)("width", 32)("ngClass", i0.ɵɵpureFunction1(18, _c0, ctx.isFilterCollapsed));
283
+ i0.ɵɵproperty("iconName", ctx.icon.ChevronDown)("height", 32)("width", 32)("ngClass", i0.ɵɵpureFunction1(19, _c0, ctx.isFilterCollapsed));
234
284
  i0.ɵɵadvance(1);
235
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(20, _c0, ctx.isFilterCollapsed));
285
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c0, ctx.isFilterCollapsed));
236
286
  i0.ɵɵadvance(1);
237
287
  i0.ɵɵproperty("ngIf", ctx.isMobile);
238
288
  i0.ɵɵadvance(4);
@@ -242,8 +292,10 @@ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersCompo
242
292
  i0.ɵɵadvance(5);
243
293
  i0.ɵɵproperty("ngForOf", ctx.filters.time);
244
294
  i0.ɵɵadvance(4);
295
+ i0.ɵɵproperty("ngIf", ctx.isLogged);
296
+ i0.ɵɵadvance(1);
245
297
  i0.ɵɵproperty("ngIf", ctx.isMobile);
246
- } }, directives: [i2.NgClass, i2.NgIf, i3.IconComponent, i2.NgForOf, i4.CheckboxControlValueAccessor, i4.NgControlStatus, i4.NgModel], styles: [".miam-recipe-filters{border-right:1px solid #e9e9e9;height:900px;left:0;padding:16px;position:relative;top:0;transition:none;width:216px}.miam-recipe-filters.filter-collapsed{padding:0;width:0}.miam-recipe-filters .miam-recipe-filters__toggle{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--m-color-primary);border-radius:0 100px 100px 0;color:var(--m-color-white);cursor:pointer;display:flex;font-size:17px;font-weight:700;left:100%;padding:16px 24px;position:absolute;top:350px;transition:width .25s cubic-bezier(0,0,.2,1);z-index:1}.miam-recipe-filters .miam-recipe-filters__toggle ng-miam-icon{transform:rotate(90deg)}.miam-recipe-filters .miam-recipe-filters__toggle.filter-collapsed{min-width:132px}.miam-recipe-filters .miam-recipe-filters__toggle.filter-collapsed ng-miam-icon{transform:rotate(-90deg)}.miam-recipe-filters .miam-recipe-filters__container{opacity:1;transition:opacity .25s cubic-bezier(0,0,.2,1)}.miam-recipe-filters .miam-recipe-filters__container.filter-collapsed{opacity:0;transition:none}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details{align-items:center;background-color:var(--m-color-grey);display:flex;flex-flow:row wrap;margin-bottom:24px;min-height:10vh;padding-top:8px;position:-webkit-sticky;position:sticky;top:0;width:100%}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail__title{margin-top:-16px;padding:0 24px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail{align-items:center;border:1px solid var(--m-color-primary);border-radius:4px;display:flex;margin:0 0 16px 8px;padding:8px 16px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail .miam-recipe-filter__detail__icon .icon-container{margin:0 0 0 16px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__title{font-size:17px;font-weight:700;line-height:20px;margin:8px 0}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice{display:flex;height:20px;margin:8px 0}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice:first-letter{text-transform:capitalize}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice input{cursor:pointer;height:20px;margin:0 12px 0 0;width:20px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__remove{margin:16px 0;text-align:center}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__separator{background-color:#e9e9e9;height:1px;margin:16px 0;width:174px}@media (max-width:1022px){.miam-recipe-filters{padding:0}.miam-recipe-filters .miam-recipe-filters__toggle{border-radius:24px;font-size:16px;justify-content:center;left:50vw;max-width:90vw;padding:8px;top:336px;transform:translateX(-50%);transition:unset;width:328px}.miam-recipe-filters .miam-recipe-filters__toggle ng-miam-icon{display:none}.miam-recipe-filters .miam-recipe-filters__toggle span{align-items:center;display:flex;height:24px;padding-top:4px}.miam-recipe-filters .miam-recipe-filters__toggle span:before{content:url(https://storage.googleapis.com/assets.miam.tech/generic/catalog/Equalizer.svg);height:24px;margin:-6px 8px 0 0;width:24px}.miam-recipe-filters .miam-recipe-filters__toggle.mobile-fixed{bottom:24px;left:50%;min-width:unset;position:fixed;top:unset;transform:translateX(-90px);width:180px}.miam-recipe-filters .miam-recipe-filters__container{background-color:var(--m-color-white);height:100vh;left:0;overflow-y:scroll;padding:8px 8px 70px;position:fixed;top:0;width:100vw;z-index:1}.miam-recipe-filters .miam-recipe-filters__container.filter-collapsed{display:none}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice,.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__title{margin:8px}}"], encapsulation: 2, changeDetection: 0 });
298
+ } }, directives: [i3.NgClass, i3.NgIf, i4.IconComponent, i3.NgForOf, i5.CheckboxControlValueAccessor, i5.NgControlStatus, i5.NgModel], styles: [".miam-recipe-filters{border-right:1px solid #e9e9e9;height:900px;left:0;padding:16px;position:relative;top:0;transition:none;width:216px}.miam-recipe-filters.filter-collapsed{padding:0;width:0}.miam-recipe-filters .miam-recipe-filters__toggle{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--m-color-primary);border-radius:0 100px 100px 0;color:var(--m-color-white);cursor:pointer;display:flex;font-size:17px;font-weight:700;left:calc(100% + 1px);padding:16px 24px;position:absolute;top:253px;transition:width .25s cubic-bezier(0,0,.2,1);z-index:1}.miam-recipe-filters .miam-recipe-filters__toggle ng-miam-icon{transform:rotate(90deg)}.miam-recipe-filters .miam-recipe-filters__toggle.filter-collapsed{min-width:132px}.miam-recipe-filters .miam-recipe-filters__toggle.filter-collapsed ng-miam-icon{transform:rotate(-90deg)}.miam-recipe-filters .miam-recipe-filters__container{opacity:1;transition:opacity .25s cubic-bezier(0,0,.2,1)}.miam-recipe-filters .miam-recipe-filters__container.filter-collapsed{opacity:0;transition:none}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details{align-items:center;background-color:var(--m-color-grey);display:flex;flex-flow:row wrap;margin-bottom:24px;min-height:10vh;padding-top:8px;position:-webkit-sticky;position:sticky;top:0;width:100%}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail__title{margin-top:-16px;padding:0 24px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail{align-items:center;border:1px solid var(--m-color-primary);border-radius:4px;display:flex;margin:0 0 16px 8px;padding:8px 16px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filter__details .miam-recipe-filter__detail .miam-recipe-filter__detail__icon .icon-container{margin:0 0 0 16px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__title{font-size:17px;font-weight:700;line-height:20px;margin:8px 0}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice{display:flex;height:20px;margin:8px 0}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice:first-letter{text-transform:capitalize}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice input{cursor:pointer;height:20px;margin:0 12px 0 0;width:20px}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__remove{margin:16px 0;text-align:center}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__separator{background-color:#e9e9e9;height:1px;margin:16px 0;width:174px}@media (max-width:1022px){.miam-recipe-filters{padding:0}.miam-recipe-filters .miam-recipe-filters__toggle{border-radius:24px;font-size:16px;justify-content:center;left:50vw;max-width:90vw;padding:8px;top:320px;transform:translateX(-50%);transition:unset;width:328px}.miam-recipe-filters .miam-recipe-filters__toggle ng-miam-icon{display:none}.miam-recipe-filters .miam-recipe-filters__toggle span{align-items:center;display:flex;height:24px;padding-top:4px}.miam-recipe-filters .miam-recipe-filters__toggle span:before{content:url(https://storage.googleapis.com/assets.miam.tech/generic/catalog/Equalizer.svg);height:24px;margin:-6px 8px 0 0;width:24px}.miam-recipe-filters .miam-recipe-filters__toggle.mobile-fixed{bottom:24px;left:50%;min-width:unset;position:fixed;top:unset;transform:translateX(-90px);width:180px}.miam-recipe-filters .miam-recipe-filters__container{background-color:var(--m-color-white);height:100vh;left:0;overflow-y:scroll;padding:8px 8px 70px;position:fixed;top:0;width:100vw;z-index:1}.miam-recipe-filters .miam-recipe-filters__container.filter-collapsed{display:none}.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__choice,.miam-recipe-filters .miam-recipe-filters__container .miam-recipe-filters__title{margin:8px}}"], encapsulation: 2, changeDetection: 0 });
247
299
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeFiltersComponent, [{
248
300
  type: Component,
249
301
  args: [{
@@ -253,7 +305,7 @@ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersCompo
253
305
  encapsulation: ViewEncapsulation.None,
254
306
  changeDetection: ChangeDetectionStrategy.OnPush
255
307
  }]
256
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MediaMatcher }]; }, { filters: [{
308
+ }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MediaMatcher }, { type: i2.UserService }]; }, { filters: [{
257
309
  type: Input
258
310
  }], mobileFixed: [{
259
311
  type: Input
@@ -265,5 +317,7 @@ RecipeFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeFiltersCompo
265
317
  type: Output
266
318
  }], filterCollapsed: [{
267
319
  type: Output
320
+ }], preferencesChanged: [{
321
+ type: Output
268
322
  }] }); })();
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fY29tcG9uZW50cy9yZWNpcGUtZmlsdGVycy9yZWNpcGUtZmlsdGVycy5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvcmVjaXBlLWZpbHRlcnMvcmVjaXBlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDakosT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0lDQzFDLDRCQUFnQztJQUFBLHVCQUFPO0lBQUEsaUJBQU87Ozs7SUFhMUMsK0JBQ0U7SUFBQSw0QkFBTTtJQUFBLFlBQVU7SUFBQSxpQkFBTztJQUN2Qix3Q0FLZTtJQUhiLG1RQUE4QjtJQUdoQyxpQkFBZTtJQUNqQixpQkFBTTs7OztJQVBFLGVBQVU7SUFBViwrQkFBVTtJQUlkLGVBQXVCO0lBQXZCLDRDQUF1Qjs7O0lBTjdCLDZCQUNFO0lBQUEsNkZBQ0U7SUFRSiwwQkFBZTs7O0lBVFIsZUFBdUM7SUFBdkMsaURBQXVDOzs7SUFGaEQsK0JBQ0U7SUFBQSwrRkFDRTtJQVVKLGlCQUFNOzs7SUFYVSxlQUF1RDtJQUF2RCxvRkFBdUQ7Ozs7SUFzQnJFLCtCQUNFO0lBQUEsaUNBQTBGO0lBQW5FLDZOQUE4QixtTUFBQTtJQUFyRCxpQkFBMEY7SUFBQSxZQUM1RjtJQUFBLGlCQUFNOzs7SUFEbUIsZUFBOEI7SUFBOUIsOENBQThCO0lBQXFDLGVBQzVGO0lBRDRGLG9E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QjtRQUU3QixlQUE2QjtRQUE3QiwrQ0FBNkIsY0FBQSxhQUFBLCtEQUFBO1FBUVcsZUFBbUQ7UUFBbkQsNEVBQW1EO1FBQ3hGLGVBQWdCO1FBQWhCLG1DQUFnQjtRQXVCZCxlQUE2QztRQUE3QyxnREFBNkM7UUFPN0MsZUFBaUM7UUFBakMsMENBQWlDO1FBWWpDLGVBQWlDO1FBQWpDLDBDQUFpQztRQVluQyxlQUFnQjtRQUFoQixtQ0FBZ0I7O2tERHZEWixzQkFBc0I7Y0FQbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFdBQVcsRUFBRSxpQ0FBaUM7Z0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2dCQUM5QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7K0ZBRVUsT0FBTztrQkFBZixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLGNBQWM7a0JBQXRCLEtBQUs7WUFDSSxhQUFhO2tCQUF0QixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLGVBQWU7a0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZWRpYU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IFJlY2lwZUZpbHRlcnMgfSBmcm9tICcuLi8uLi9fdHlwZXMvcmVjaXBlLWZpbHRlcnMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjaXBlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtZmlsdGVycy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZmlsdGVyczogUmVjaXBlRmlsdGVycztcbiAgQElucHV0KCkgbW9iaWxlRml4ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsdGVyVG9SZW1vdmU6IHN0cmluZztcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwZUZpbHRlcnM+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJSZXNldCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckNvbGxhcHNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBpc0ZpbHRlckNvbGxhcHNlZCA9IGZhbHNlO1xuICBpY29uID0gSWNvbjtcbiAgZmlsdGVyc1RvRGlzcGxheSA9IFtdO1xuICBpc01vYmlsZSA9IGZhbHNlO1xuICB3aWxsRG91YmxlQnVpbGQgPSBmYWxzZTsgLy8gSWYgZmlsdGVycyB3ZXJlIGNoYW5nZWQgaW4gcmVjaXBlLWZpbHRlcnMsIGl0IHdpbGwgdHJpZ2dlciB0aGUgYnVpbGQgZnVuY3Rpb24gMiB0aW1lc1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgbWVkaWFNYXRjaGVyOiBNZWRpYU1hdGNoZXIpIHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSBtZWRpYU1hdGNoZXIubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogMTAyMnB4KScpLm1hdGNoZXM7XG4gICAgICB0aGlzLmlzRmlsdGVyQ29sbGFwc2VkID0gdGhpcy5pc01vYmlsZTtcbiAgICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyVG9SZW1vdmUpIHtcbiAgICAgIHRoaXMucmVtb3ZlRmlsdGVyKHRoaXMuZmlsdGVyVG9SZW1vdmUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgaWYgKHRoaXMud2lsbERvdWJsZUJ1aWxkKSB7XG4gICAgICAgIHRoaXMud2lsbERvdWJsZUJ1aWxkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzVG9EaXNwbGF5ID0gdGhpcy5idWlsZEZpbHRlcnNBcnJheSgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBmaWx0ZXJzQ2hhbmdlZCgpIHtcbiAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgdGhpcy5maWx0ZXJzVG9EaXNwbGF5ID0gdGhpcy5idWlsZEZpbHRlcnNBcnJheSgpO1xuICAgIH1cbiAgICB0aGlzLndpbGxEb3VibGVCdWlsZCA9IHRydWU7XG4gICAgdGhpcy5maWx0ZXJDaGFuZ2VkLmVtaXQodGhpcy5maWx0ZXJzKTtcbiAgfVxuXG4gIC8vIFRPRE86IE1heWJlIG1ha2UgYSBzZXJ2aWNlIGZvciB0aGUgZmlsdGVycyB0IG9saW1pdCB0aGUgbnVtYmVyIG9mIGZ1bmN0aW9ucyBhY3Jvc3MgY29tcG9uZW50c1xuICBidWlsZEZpbHRlcnNBcnJheSgpOiBzdHJpbmdbXSB7XG4gICAgbGV0IGZpbHRlck5hbWVzID0gW107XG4gICAgZmlsdGVyTmFtZXMgPSBbLi4uZmlsdGVyTmFtZXMsIC4uLnRoaXMuZ2V0U2VsZWN0ZWRGaWx0ZXJzKHRoaXMuZmlsdGVycy5jb3N0KSwgLi4udGhpcy5nZXRTZWxlY3RlZEZpbHRlcnModGhpcy5maWx0ZXJzLmRpZmZpY3VsdHkpLFxuICAgICAgLi4udGhpcy5nZXRTZWxlY3RlZEZpbHRlcnModGhpcy5maWx0ZXJzLnRpbWUpXTtcbiAgICBpZiAodGhpcy5maWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzICYmIHRoaXMuZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycy50aXRsZSAhPT0gJycpIHtcbiAgICAgIGZpbHRlck5hbWVzID0gW3RoaXMuZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycy50aXRsZV0uY29uY2F0KGZpbHRlck5hbWVzKTtcbiAgICB9XG4gICAgcmV0dXJuIGZpbHRlck5hbWVzO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRGaWx0ZXJzKGZpbHRlcnNBcnJheSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZmlsdGVyc0FycmF5LmZpbHRlcihlbCA9PiBlbC52YWx1ZSkubWFwKGVsID0+IGVsLnRleHQpO1xuICB9XG5cbiAgcmVtb3ZlRmlsdGVyKGZpbHRlclRleHQ6IHN0cmluZykge1xuICAgIGlmIChmaWx0ZXJUZXh0ID09PSB0aGlzLmZpbHRlcnMuYWRkaXRpb25hbEZpbHRlcnM/LnRpdGxlKSB7XG4gICAgICB0aGlzLmZpbHRlcnMuYWRkaXRpb25hbEZpbHRlcnMgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgZm9yICggY29uc3QgZmlsdGVyVHlwZSBpbiB0aGlzLmZpbHRlcnMpIHtcbiAgICAgICAgLy8gYWRkaXRpb25hbEZpbHRlcnMgaXNuJ3QgYW4gYXJyYXksIHRodXMgaXNuJ3QgaXRlcmFibGVcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVycy5oYXNPd25Qcm9wZXJ0eShmaWx0ZXJUeXBlKSAmJiBmaWx0ZXJUeXBlICE9PSAnYWRkaXRpb25hbEZpbHRlcnMnKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBmaWx0ZXJGaWVsZCBvZiB0aGlzLmZpbHRlcnNbZmlsdGVyVHlwZV0pIHtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJGaWVsZC50ZXh0ID09PSBmaWx0ZXJUZXh0KSB7IGZpbHRlckZpZWxkLnZhbHVlID0gZmFsc2U7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlZCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8vIFdoZW4gZmlsdGVycyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlcywgb24gY2xpY2sgb24gb25lIHdlIHVuY2hlY2sgYWxsIGJlZm9yZSBtb2RlbCBjaGFuZ2VcbiAgdW5jaGVja0ZpbHRlcnNPbkNoYW5nZShmaWVsZDogc3RyaW5nKSB7XG4gICAgdGhpcy5maWx0ZXJzW2ZpZWxkXS5mb3JFYWNoKGYgPT4gZi52YWx1ZSA9IGZhbHNlKTtcbiAgfVxuXG4gIHRvZ2dsZUZpbHRlcigpe1xuICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gdGhpcy5pc0ZpbHRlckNvbGxhcHNlZCA/ICdoaWRkZW4nIDogJ2F1dG8nO1xuICAgIH1cbiAgICB0aGlzLmlzRmlsdGVyQ29sbGFwc2VkID0gIXRoaXMuaXNGaWx0ZXJDb2xsYXBzZWQ7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMuZmlsdGVyQ29sbGFwc2VkLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNcIiBbbmdDbGFzc109XCJ7J2ZpbHRlci1jb2xsYXBzZWQnOiBpc0ZpbHRlckNvbGxhcHNlZH1cIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RvZ2dsZVwiIChjbGljayk9J3RvZ2dsZUZpbHRlcigpJ1xuICAgIFtuZ0NsYXNzXT1cInsnZmlsdGVyLWNvbGxhcHNlZCc6IGlzRmlsdGVyQ29sbGFwc2VkLCAnbW9iaWxlLWZpeGVkJzptb2JpbGVGaXhlZH1cIj5cbiAgICA8c3BhbiAqbmdJZj1cImlzRmlsdGVyQ29sbGFwc2VkXCI+RmlsdHJlcjwvc3Bhbj5cbiAgICA8bmctbWlhbS1pY29uIFxuICAgICAgW2ljb25OYW1lXT1cImljb24uQ2hldnJvbkRvd25cIlxuICAgICAgW2hlaWdodF09JzMyJ1xuICAgICAgW3dpZHRoXT0nMzInXG4gICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXdoaXRlKVwiXG4gICAgICBbbmdDbGFzc109XCJ7J2ZpbHRlci1jb2xsYXBzZWQnOiBpc0ZpbHRlckNvbGxhcHNlZH1cIj5cbiAgICA8L25nLW1pYW0taWNvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX2NvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnZmlsdGVyLWNvbGxhcHNlZCc6IGlzRmlsdGVyQ29sbGFwc2VkfVwiPlxuICAgIDxkaXYgKm5nSWY9XCJpc01vYmlsZVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyX19kZXRhaWxzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyc1RvRGlzcGxheSAmJiBmaWx0ZXJzVG9EaXNwbGF5Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnNUb0Rpc3BsYXlcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcl9fZGV0YWlsXCI+XG4gICAgICAgICAgPHNwYW4+e3tmaWx0ZXJ9fTwvc3Bhbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIFxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJfX2RldGFpbF9faWNvblwiIFxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbHRlcihmaWx0ZXIpXCIgXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5DbGVhclwiXG4gICAgICAgICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXByaW1hcnkpXCI+XG4gICAgICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+ICBcbiAgICBcbiAgICA8IS0tIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIiA+VHlwZSBkZSBwbGF0PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0eXBlIG9mIGZpbHRlcnMudHlwZVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fY2hvaWNlXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInR5cGUudmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgpXCI+IHt7dHlwZS50ZXh0fX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj4gLS0+XG4gICAgPGRpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX190aXRsZVwiPkRpZmZpY3VsdMOpPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkaWZmaWN1bHR5IG9mIGZpbHRlcnMuZGlmZmljdWx0eVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fY2hvaWNlXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImRpZmZpY3VsdHkudmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgpXCI+IHt7ZGlmZmljdWx0eS50ZXh0fX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RpdGxlXCI+Q2/Du3Q8L2Rpdj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvc3Qgb2YgZmlsdGVycy5jb3N0XCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgPGlucHV0IFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidW5jaGVja0ZpbHRlcnNPbkNoYW5nZSgnY29zdCcpXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvc3QudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlcnNDaGFuZ2VkKClcIj5cbiAgICAgICAge3tjb3N0LnRleHR9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIj5UZW1wcyBkZSBwcsOpcGFyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHRpbWUgb2YgZmlsdGVycy50aW1lXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgPGlucHV0IFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidW5jaGVja0ZpbHRlcnNPbkNoYW5nZSgndGltZScpXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInRpbWUudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlcnNDaGFuZ2VkKClcIj5cbiAgICAgICAgJiM2MDsge3t0aW1lLnRleHR9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3JlbW92ZVwiPlxuICAgICAgPGEgKGNsaWNrKT1cImZpbHRlclJlc2V0LmVtaXQoKVwiPlJldGlyZXIgdG91cyBsZXMgZmlsdHJlczwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNNb2JpbGVcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RvZ2dsZSBtb2JpbGUtZml4ZWRcIlxuICAgIChjbGljayk9J3RvZ2dsZUZpbHRlcigpJz5cbiAgICAgIEZlcm1lclxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
323
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii9idWlsZHMvbWlhbS9uZy1taWFtLXNkay9wcm9qZWN0cy9uZy1taWFtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fY29tcG9uZW50cy9yZWNpcGUtZmlsdGVycy9yZWNpcGUtZmlsdGVycy5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvcmVjaXBlLWZpbHRlcnMvcmVjaXBlLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7SUNaMUMsNEJBQWdDO0lBQUEsdUJBQU87SUFBQSxpQkFBTzs7OztJQWExQywrQkFDRTtJQUFBLDRCQUFNO0lBQUEsWUFBVTtJQUFBLGlCQUFPO0lBQ3ZCLHdDQUtlO0lBSGIscVFBQThCO0lBR2hDLGlCQUFlO0lBQ2pCLGlCQUFNOzs7O0lBUEUsZUFBVTtJQUFWLCtCQUFVO0lBSWQsZUFBdUI7SUFBdkIsNENBQXVCOzs7SUFON0IsNkJBQ0U7SUFBQSw2RkFDRTtJQVFKLDBCQUFlOzs7SUFUUixlQUF1QztJQUF2QyxpREFBdUM7OztJQUZoRCwrQkFDRTtJQUFBLCtGQUNFO0lBVUosaUJBQU07OztJQVhVLGVBQXVEO0lBQXZELG9GQUF1RDs7OztJQXNCckUsK0JBQ0U7SUFBQSxpQ0FBMEY7SUFBbkUsNk5BQThCLG1NQUFBO0lBQXJELGlCQUEwRjtJQUFBLFlBQzVGO0lBQUEsaUJBQU07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bnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4uLy4uL190eXBlcy9pY29uLmVudW0nO1xuaW1wb3J0IHsgUmVjaXBlRmlsdGVycyB9IGZyb20gJy4uLy4uL190eXBlcy9yZWNpcGUtZmlsdGVycyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlY2lwZS1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZUZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZmlsdGVyczogUmVjaXBlRmlsdGVycztcbiAgQElucHV0KCkgbW9iaWxlRml4ZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZmlsdGVyVG9SZW1vdmU6IHN0cmluZztcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwZUZpbHRlcnM+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJSZXNldCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckNvbGxhcHNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHByZWZlcmVuY2VzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBpc0ZpbHRlckNvbGxhcHNlZCA9IGZhbHNlO1xuICBpY29uID0gSWNvbjtcbiAgZmlsdGVyc1RvRGlzcGxheSA9IFtdO1xuICBpc01vYmlsZSA9IGZhbHNlO1xuICB3aWxsRG91YmxlQnVpbGQgPSBmYWxzZTsgLy8gSWYgZmlsdGVycyB3ZXJlIGNoYW5nZWQgaW4gcmVjaXBlLWZpbHRlcnMsIGl0IHdpbGwgdHJpZ2dlciB0aGUgYnVpbGQgZnVuY3Rpb24gMiB0aW1lc1xuICBpc0xvZ2dlZCA9IGZhbHNlO1xuICBoYXNDaGlsZHJlbiA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlcixcbiAgICBwcml2YXRlIHVzZXJzU2VydmljZTogVXNlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pc01vYmlsZSA9IG1lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiAxMDIycHgpJykubWF0Y2hlcztcbiAgICB0aGlzLmlzRmlsdGVyQ29sbGFwc2VkID0gdGhpcy5pc01vYmlsZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0VXNlck9ic2VydmFibGVzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJUb1JlbW92ZSkge1xuICAgICAgdGhpcy5yZW1vdmVGaWx0ZXIodGhpcy5maWx0ZXJUb1JlbW92ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICBpZiAodGhpcy53aWxsRG91YmxlQnVpbGQpIHtcbiAgICAgICAgdGhpcy53aWxsRG91YmxlQnVpbGQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmZpbHRlcnNUb0Rpc3BsYXkgPSB0aGlzLmJ1aWxkRmlsdGVyc0FycmF5KCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGZpbHRlcnNDaGFuZ2VkKCkge1xuICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICB0aGlzLmZpbHRlcnNUb0Rpc3BsYXkgPSB0aGlzLmJ1aWxkRmlsdGVyc0FycmF5KCk7XG4gICAgfVxuICAgIHRoaXMud2lsbERvdWJsZUJ1aWxkID0gdHJ1ZTtcbiAgICB0aGlzLmZpbHRlckNoYW5nZWQuZW1pdCh0aGlzLmZpbHRlcnMpO1xuICB9XG5cbiAgLy8gVE9ETzogTWF5YmUgbWFrZSBhIHNlcnZpY2UgZm9yIHRoZSBmaWx0ZXJzIHQgb2xpbWl0IHRoZSBudW1iZXIgb2YgZnVuY3Rpb25zIGFjcm9zcyBjb21wb25lbnRzXG4gIGJ1aWxkRmlsdGVyc0FycmF5KCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgZmlsdGVyTmFtZXMgPSBbXTtcbiAgICBmaWx0ZXJOYW1lcyA9IFsuLi5maWx0ZXJOYW1lcywgLi4udGhpcy5nZXRTZWxlY3RlZEZpbHRlcnModGhpcy5maWx0ZXJzLmNvc3QpLCAuLi50aGlzLmdldFNlbGVjdGVkRmlsdGVycyh0aGlzLmZpbHRlcnMuZGlmZmljdWx0eSksXG4gICAgICAuLi50aGlzLmdldFNlbGVjdGVkRmlsdGVycyh0aGlzLmZpbHRlcnMudGltZSldO1xuICAgIGlmICh0aGlzLmZpbHRlcnMuYWRkaXRpb25hbEZpbHRlcnMgJiYgdGhpcy5maWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzLnRpdGxlICE9PSAnJykge1xuICAgICAgZmlsdGVyTmFtZXMgPSBbdGhpcy5maWx0ZXJzLmFkZGl0aW9uYWxGaWx0ZXJzLnRpdGxlXS5jb25jYXQoZmlsdGVyTmFtZXMpO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyTmFtZXM7XG4gIH1cblxuICBnZXRTZWxlY3RlZEZpbHRlcnMoZmlsdGVyc0FycmF5KTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmaWx0ZXJzQXJyYXkuZmlsdGVyKGVsID0+IGVsLnZhbHVlKS5tYXAoZWwgPT4gZWwudGV4dCk7XG4gIH1cblxuICByZW1vdmVGaWx0ZXIoZmlsdGVyVGV4dDogc3RyaW5nKSB7XG4gICAgaWYgKGZpbHRlclRleHQgPT09IHRoaXMuZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycz8udGl0bGUpIHtcbiAgICAgIHRoaXMuZmlsdGVycy5hZGRpdGlvbmFsRmlsdGVycyA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBmb3IgKCBjb25zdCBmaWx0ZXJUeXBlIGluIHRoaXMuZmlsdGVycykge1xuICAgICAgICAvLyBhZGRpdGlvbmFsRmlsdGVycyBpc24ndCBhbiBhcnJheSwgdGh1cyBpc24ndCBpdGVyYWJsZVxuICAgICAgICBpZiAodGhpcy5maWx0ZXJzLmhhc093blByb3BlcnR5KGZpbHRlclR5cGUpICYmIGZpbHRlclR5cGUgIT09ICdhZGRpdGlvbmFsRmlsdGVycycpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGZpbHRlckZpZWxkIG9mIHRoaXMuZmlsdGVyc1tmaWx0ZXJUeXBlXSkge1xuICAgICAgICAgICAgaWYgKGZpbHRlckZpZWxkLnRleHQgPT09IGZpbHRlclRleHQpIHsgZmlsdGVyRmllbGQudmFsdWUgPSBmYWxzZTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZpbHRlcnNDaGFuZ2VkKCk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLy8gV2hlbiBmaWx0ZXJzIGFyZSBtdXR1YWxseSBleGNsdXNpdmVzLCBvbiBjbGljayBvbiBvbmUgd2UgdW5jaGVjayBhbGwgYmVmb3JlIG1vZGVsIGNoYW5nZVxuICB1bmNoZWNrRmlsdGVyc09uQ2hhbmdlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbHRlcnNbZmllbGRdLmZvckVhY2goZiA9PiBmLnZhbHVlID0gZmFsc2UpO1xuICB9XG5cbiAgdG9nZ2xlRmlsdGVyKCl7XG4gICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSB0aGlzLmlzRmlsdGVyQ29sbGFwc2VkID8gJ2hpZGRlbicgOiAnYXV0byc7XG4gICAgfVxuICAgIHRoaXMuaXNGaWx0ZXJDb2xsYXBzZWQgPSAhdGhpcy5pc0ZpbHRlckNvbGxhcHNlZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5maWx0ZXJDb2xsYXBzZWQuZW1pdCgpO1xuICB9XG5cbiAgdXBkYXRlVXNlclByZWZlcmVuY2UocHJlZmVyZW5jZSwgc3RhdGUpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudXNlcnNTZXJ2aWNlLnNldFByZWZlcmVuY2UocHJlZmVyZW5jZSwgc3RhdGUpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnByZWZlcmVuY2VzQ2hhbmdlZC5lbWl0KCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VXNlck9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy51c2Vyc1NlcnZpY2UuaXNMb2dnZWQkLnN1YnNjcmliZShsb2dnZWQgPT4ge1xuICAgICAgICB0aGlzLmlzTG9nZ2VkID0gbG9nZ2VkO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnVzZXJzU2VydmljZS5oYXNQcmVmZXJlbmNlKCdoYXNfY2hpbGRyZW4nKS5zdWJzY3JpYmUoaGFzQ2hpbGRyZW4gPT4ge1xuICAgICAgICB0aGlzLmhhc0NoaWxkcmVuID0gaGFzQ2hpbGRyZW47XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNcIiBbbmdDbGFzc109XCJ7J2ZpbHRlci1jb2xsYXBzZWQnOiBpc0ZpbHRlckNvbGxhcHNlZH1cIj5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RvZ2dsZVwiIChjbGljayk9J3RvZ2dsZUZpbHRlcigpJ1xuICAgIFtuZ0NsYXNzXT1cInsnZmlsdGVyLWNvbGxhcHNlZCc6IGlzRmlsdGVyQ29sbGFwc2VkLCAnbW9iaWxlLWZpeGVkJzptb2JpbGVGaXhlZH1cIj5cbiAgICA8c3BhbiAqbmdJZj1cImlzRmlsdGVyQ29sbGFwc2VkXCI+RmlsdHJlcjwvc3Bhbj5cbiAgICA8bmctbWlhbS1pY29uIFxuICAgICAgW2ljb25OYW1lXT1cImljb24uQ2hldnJvbkRvd25cIlxuICAgICAgW2hlaWdodF09JzMyJ1xuICAgICAgW3dpZHRoXT0nMzInXG4gICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXdoaXRlKVwiXG4gICAgICBbbmdDbGFzc109XCJ7J2ZpbHRlci1jb2xsYXBzZWQnOiBpc0ZpbHRlckNvbGxhcHNlZH1cIj5cbiAgICA8L25nLW1pYW0taWNvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX2NvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnZmlsdGVyLWNvbGxhcHNlZCc6IGlzRmlsdGVyQ29sbGFwc2VkfVwiPlxuICAgIDxkaXYgKm5nSWY9XCJpc01vYmlsZVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyX19kZXRhaWxzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyc1RvRGlzcGxheSAmJiBmaWx0ZXJzVG9EaXNwbGF5Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnNUb0Rpc3BsYXlcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcl9fZGV0YWlsXCI+XG4gICAgICAgICAgPHNwYW4+e3tmaWx0ZXJ9fTwvc3Bhbj5cbiAgICAgICAgICA8bmctbWlhbS1pY29uIFxuICAgICAgICAgICAgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJfX2RldGFpbF9faWNvblwiIFxuICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUZpbHRlcihmaWx0ZXIpXCIgXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbi5DbGVhclwiXG4gICAgICAgICAgICBwcmltYXJ5Q29sb3I9XCJ2YXIoLS1tLWNvbG9yLXByaW1hcnkpXCI+XG4gICAgICAgICAgPC9uZy1taWFtLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+ICBcbiAgICBcbiAgICA8IS0tIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIiA+VHlwZSBkZSBwbGF0PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0eXBlIG9mIGZpbHRlcnMudHlwZVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fY2hvaWNlXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cInR5cGUudmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgpXCI+IHt7dHlwZS50ZXh0fX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj4gLS0+XG4gICAgPGRpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX190aXRsZVwiPkRpZmZpY3VsdMOpPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkaWZmaWN1bHR5IG9mIGZpbHRlcnMuZGlmZmljdWx0eVwiIGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fY2hvaWNlXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cImRpZmZpY3VsdHkudmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgpXCI+IHt7ZGlmZmljdWx0eS50ZXh0fX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RpdGxlXCI+Q2/Du3Q8L2Rpdj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvc3Qgb2YgZmlsdGVycy5jb3N0XCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgPGlucHV0IFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidW5jaGVja0ZpbHRlcnNPbkNoYW5nZSgnY29zdCcpXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvc3QudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlcnNDaGFuZ2VkKClcIj5cbiAgICAgICAge3tjb3N0LnRleHR9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIj5UZW1wcyBkZSBwcsOpcGFyYXRpb248L2Rpdj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHRpbWUgb2YgZmlsdGVycy50aW1lXCIgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgPGlucHV0IFxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidW5jaGVja0ZpbHRlcnNPbkNoYW5nZSgndGltZScpXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInRpbWUudmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImZpbHRlcnNDaGFuZ2VkKClcIj5cbiAgICAgICAgJiM2MDsge3t0aW1lLnRleHR9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3JlbW92ZVwiPlxuICAgICAgPGEgKGNsaWNrKT1cImZpbHRlclJlc2V0LmVtaXQoKVwiPlJldGlyZXIgdG91cyBsZXMgZmlsdHJlczwvYT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNMb2dnZWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19wcmVmZXJlbmNlc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1yZWNpcGUtZmlsdGVyc19fdGl0bGVcIj5QcsOpZsOpcmVuY2VzPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXJlY2lwZS1maWx0ZXJzX19jaG9pY2VcIj5cbiAgICAgICAgICA8aW5wdXQgXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlVXNlclByZWZlcmVuY2UoJ2hhc19jaGlsZHJlbicsICRldmVudClcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwiaGFzQ2hpbGRyZW5cIlxuICAgICAgICAgID5cbiAgICAgICAgICB7eyAoaGFzQ2hpbGRyZW4pID8gXCJKJ2FpIGRlcyBlbmZhbnRzXCIgOiBcIkplIG4nYWkgcGFzIGQnZW5mYW50XCIgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNNb2JpbGVcIiBjbGFzcz1cIm1pYW0tcmVjaXBlLWZpbHRlcnNfX3RvZ2dsZSBtb2JpbGUtZml4ZWRcIlxuICAgIChjbGljayk9J3RvZ2dsZUZpbHRlcigpJz5cbiAgICAgIEZlcm1lclxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -6,10 +6,9 @@ import { Icon } from '../../_types/icon.enum';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../_services/recipe-type.service";
8
8
  import * as i2 from "@angular/cdk/layout";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "../icon/icon.component";
11
- const _c0 = function (a0) { return { "chosen": a0 }; };
12
- const _c1 = function (a0) { return { "font-weight": a0 }; };
9
+ import * as i3 from "../icon/icon.component";
10
+ import * as i4 from "@angular/common";
11
+ const _c0 = function (a0) { return { "font-weight": a0 }; };
13
12
  export class RecipeTypeChooserComponent {
14
13
  constructor(cdr, recipeTypeService, mediaMatcher) {
15
14
  this.cdr = cdr;
@@ -17,7 +16,7 @@ export class RecipeTypeChooserComponent {
17
16
  this.mediaMatcher = mediaMatcher;
18
17
  this.icon = Icon;
19
18
  this.isMobile = false;
20
- this.chosenType = '';
19
+ this.choosedType = '';
21
20
  }
22
21
  ngOnChanges(changes) {
23
22
  if (Object.keys(changes).includes('formControl')) {
@@ -28,27 +27,27 @@ export class RecipeTypeChooserComponent {
28
27
  initTypeChooser() {
29
28
  this.isMobile = this.mediaMatcher.matchMedia('(min-width: 1023px)').matches;
30
29
  if (this.formControl.value) {
31
- this.chosenType = this.formControl.value.attributes.name;
30
+ this.choosedType = this.formControl.value.attributes.name;
32
31
  }
33
- else if (this.chosenType) {
34
- this.formControl.patchValue(this.recipeTypeService.getTypeByName(this.chosenType));
32
+ else if (this.choosedType) {
33
+ this.formControl.patchValue(this.recipeTypeService.getTypeByName(this.choosedType));
35
34
  this.formControl.markAsDirty();
36
35
  }
37
36
  }
38
- chosen(type) {
37
+ choosed(type) {
39
38
  var _a, _b;
40
39
  (_a = this.formControl) === null || _a === void 0 ? void 0 : _a.markAsDirty();
41
40
  (_b = this.formControl) === null || _b === void 0 ? void 0 : _b.patchValue(this.recipeTypeService.getTypeByName(type));
42
- this.chosenType = type;
41
+ this.choosedType = type;
43
42
  this.cdr.detectChanges();
44
43
  }
45
44
  }
46
45
  RecipeTypeChooserComponent.ɵfac = function RecipeTypeChooserComponent_Factory(t) { return new (t || RecipeTypeChooserComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.RecipeTypeService), i0.ɵɵdirectiveInject(i2.MediaMatcher)); };
47
- RecipeTypeChooserComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeTypeChooserComponent, selectors: [["ng-miam-recipe-type-chooser"]], inputs: { formControl: "formControl" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 33, consts: [[1, "recipe-type-chooser"], [1, "recipe-type-chooser__item", 3, "ngClass"], [3, "height", "width", "iconName", "primaryColor", "secondaryColor", "click"], ["title", "Une entr\u00E9e", 3, "ngStyle"], [3, "height", "width", "primaryColor", "secondaryColor", "iconName", "click"], ["title", "Un plat principal", 3, "ngStyle"], ["title", "Un dessert", 3, "ngStyle"]], template: function RecipeTypeChooserComponent_Template(rf, ctx) { if (rf & 1) {
46
+ RecipeTypeChooserComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeTypeChooserComponent, selectors: [["ng-miam-recipe-type-chooser"]], inputs: { formControl: "formControl" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 24, consts: [[1, "recipe-type-chooser"], [1, "recipe-type-chooser__item"], [3, "height", "width", "iconName", "primaryColor", "secondaryColor", "click"], ["title", "Une entr\u00E9e", 3, "ngStyle"], [3, "height", "width", "primaryColor", "secondaryColor", "iconName", "click"], ["title", "Un plat principal", 3, "ngStyle"], ["title", "Un dessert", 3, "ngStyle"]], template: function RecipeTypeChooserComponent_Template(rf, ctx) { if (rf & 1) {
48
47
  i0.ɵɵelementStart(0, "div", 0);
49
48
  i0.ɵɵelementStart(1, "div", 1);
50
49
  i0.ɵɵelementStart(2, "ng-miam-icon", 2);
51
- i0.ɵɵlistener("click", function RecipeTypeChooserComponent_Template_ng_miam_icon_click_2_listener() { return ctx.chosen("entr\u00E9e"); });
50
+ i0.ɵɵlistener("click", function RecipeTypeChooserComponent_Template_ng_miam_icon_click_2_listener() { return ctx.choosed("entr\u00E9e"); });
52
51
  i0.ɵɵelementEnd();
53
52
  i0.ɵɵelementStart(3, "span", 3);
54
53
  i0.ɵɵtext(4, "Une entr\u00E9e");
@@ -56,7 +55,7 @@ RecipeTypeChooserComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeTypeChoo
56
55
  i0.ɵɵelementEnd();
57
56
  i0.ɵɵelementStart(5, "div", 1);
58
57
  i0.ɵɵelementStart(6, "ng-miam-icon", 4);
59
- i0.ɵɵlistener("click", function RecipeTypeChooserComponent_Template_ng_miam_icon_click_6_listener() { return ctx.chosen("plat principal"); });
58
+ i0.ɵɵlistener("click", function RecipeTypeChooserComponent_Template_ng_miam_icon_click_6_listener() { return ctx.choosed("plat principal"); });
60
59
  i0.ɵɵelementEnd();
61
60
  i0.ɵɵelementStart(7, "span", 5);
62
61
  i0.ɵɵtext(8, "Un plat principal");
@@ -64,7 +63,7 @@ RecipeTypeChooserComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeTypeChoo
64
63
  i0.ɵɵelementEnd();
65
64
  i0.ɵɵelementStart(9, "div", 1);
66
65
  i0.ɵɵelementStart(10, "ng-miam-icon", 2);
67
- i0.ɵɵlistener("click", function RecipeTypeChooserComponent_Template_ng_miam_icon_click_10_listener() { return ctx.chosen("dessert"); });
66
+ i0.ɵɵlistener("click", function RecipeTypeChooserComponent_Template_ng_miam_icon_click_10_listener() { return ctx.choosed("dessert"); });
68
67
  i0.ɵɵelementEnd();
69
68
  i0.ɵɵelementStart(11, "span", 6);
70
69
  i0.ɵɵtext(12, "Un dessert");
@@ -72,25 +71,19 @@ RecipeTypeChooserComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeTypeChoo
72
71
  i0.ɵɵelementEnd();
73
72
  i0.ɵɵelementEnd();
74
73
  } if (rf & 2) {
75
- i0.ɵɵadvance(1);
76
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c0, ctx.chosenType === "entr\u00E9e"));
77
- i0.ɵɵadvance(1);
78
- i0.ɵɵproperty("height", ctx.isMobile ? 128 : 64)("width", ctx.isMobile ? 128 : 64)("iconName", ctx.icon.Starter)("primaryColor", ctx.chosenType === "entr\u00E9e" ? "white" : "var(--m-color-primary)")("secondaryColor", ctx.chosenType === "entr\u00E9e" ? "var(--m-color-primary)" : "transparent");
79
- i0.ɵɵadvance(1);
80
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(23, _c1, ctx.chosenType === "entr\u00E9e" ? "bold" : "normal"));
81
74
  i0.ɵɵadvance(2);
82
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(25, _c0, ctx.chosenType === "plat principal"));
75
+ i0.ɵɵproperty("height", ctx.isMobile ? 128 : 64)("width", ctx.isMobile ? 128 : 64)("iconName", ctx.icon.Starter)("primaryColor", ctx.choosedType === "entr\u00E9e" ? "white" : "var(--m-color-primary)")("secondaryColor", ctx.choosedType === "entr\u00E9e" ? "var(--m-color-primary)" : "transparent");
83
76
  i0.ɵɵadvance(1);
84
- i0.ɵɵproperty("height", ctx.isMobile ? 128 : 64)("width", ctx.isMobile ? 128 : 64)("primaryColor", ctx.chosenType === "plat principal" ? "white" : "var(--m-color-primary)")("secondaryColor", ctx.chosenType === "plat principal" ? "var(--m-color-primary)" : "transparent")("iconName", ctx.icon.MainDish);
85
- i0.ɵɵadvance(1);
86
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(27, _c1, ctx.chosenType === "plat principal" ? "bold" : "normal"));
87
- i0.ɵɵadvance(2);
88
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(29, _c0, ctx.chosenType === "dessert"));
77
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(18, _c0, ctx.choosedType === "entr\u00E9e" ? "bold" : "normal"));
78
+ i0.ɵɵadvance(3);
79
+ i0.ɵɵproperty("height", ctx.isMobile ? 128 : 64)("width", ctx.isMobile ? 128 : 64)("primaryColor", ctx.choosedType === "plat principal" ? "white" : "var(--m-color-primary)")("secondaryColor", ctx.choosedType === "plat principal" ? "var(--m-color-primary)" : "transparent")("iconName", ctx.icon.MainDish);
89
80
  i0.ɵɵadvance(1);
90
- i0.ɵɵproperty("height", ctx.isMobile ? 128 : 64)("width", ctx.isMobile ? 128 : 64)("iconName", ctx.icon.Dessert)("primaryColor", ctx.chosenType === "dessert" ? "white" : "var(--m-color-primary)")("secondaryColor", ctx.chosenType === "dessert" ? "var(--m-color-primary)" : "transparent");
81
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(20, _c0, ctx.choosedType === "plat principal" ? "bold" : "normal"));
82
+ i0.ɵɵadvance(3);
83
+ i0.ɵɵproperty("height", ctx.isMobile ? 128 : 64)("width", ctx.isMobile ? 128 : 64)("iconName", ctx.icon.Dessert)("primaryColor", ctx.choosedType === "dessert" ? "white" : "var(--m-color-primary)")("secondaryColor", ctx.choosedType === "dessert" ? "var(--m-color-primary)" : "transparent");
91
84
  i0.ɵɵadvance(1);
92
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(31, _c1, ctx.chosenType === "dessert" ? "bold" : "normal"));
93
- } }, directives: [i3.NgClass, i4.IconComponent, i3.NgStyle], styles: [".recipe-type-chooser{align-items:center;display:flex;gap:128px;justify-content:center}@media (max-width:1023px){.recipe-type-chooser{gap:0;justify-content:space-evenly;width:90vw}}.recipe-type-chooser .recipe-type-chooser__item{-webkit-tap-highlight-color:transparent;align-items:center;color:var(--m-color-primary);cursor:pointer;display:flex;flex-direction:column;font-size:24px;gap:16px;justify-content:center;line-height:32px;text-align:center}@media (max-width:1023px){.recipe-type-chooser .recipe-type-chooser__item{font-size:16px}}.recipe-type-chooser .recipe-type-chooser__item span:before{content:attr(title);display:block;font-size:24px;font-weight:700;height:0;overflow:hidden;visibility:hidden}@media (max-width:1023px){.recipe-type-chooser .recipe-type-chooser__item span:before{font-size:16px}}"], encapsulation: 2, changeDetection: 0 });
85
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(22, _c0, ctx.choosedType === "dessert" ? "bold" : "normal"));
86
+ } }, directives: [i3.IconComponent, i4.NgStyle], styles: [".recipe-type-chooser{align-items:center;display:flex;gap:128px;justify-content:center}@media (max-width:1023px){.recipe-type-chooser{gap:0;justify-content:space-evenly;width:90vw}}.recipe-type-chooser .recipe-type-chooser__item{-webkit-tap-highlight-color:transparent;align-items:center;color:var(--m-color-primary);cursor:pointer;display:flex;flex-direction:column;font-size:24px;gap:16px;justify-content:center;line-height:32px;text-align:center}@media (max-width:1023px){.recipe-type-chooser .recipe-type-chooser__item{font-size:16px}}.recipe-type-chooser .recipe-type-chooser__item span:before{content:attr(title);display:block;font-size:24px;font-weight:700;height:0;overflow:hidden;visibility:hidden}@media (max-width:1023px){.recipe-type-chooser .recipe-type-chooser__item span:before{font-size:16px}}"], encapsulation: 2, changeDetection: 0 });
94
87
  /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RecipeTypeChooserComponent, [{
95
88
  type: Component,
96
89
  args: [{
@@ -103,4 +96,4 @@ RecipeTypeChooserComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeTypeChoo
103
96
  }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.RecipeTypeService }, { type: i2.MediaMatcher }]; }, { formControl: [{
104
97
  type: Input
105
98
  }] }); })();
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLXR5cGUtY2hvb3Nlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL3JlY2lwZS10eXBlLWNob29zZXIvcmVjaXBlLXR5cGUtY2hvb3Nlci5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvcmVjaXBlLXR5cGUtY2hvb3Nlci9yZWNpcGUtdHlwZS1jaG9vc2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7QUFTOUMsTUFBTSxPQUFPLDBCQUEwQjtJQVFyQyxZQUFvQixHQUFzQixFQUFVLGlCQUFvQyxFQUFXLFlBQTBCO1FBQXpHLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFXLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBSnRILFNBQUksR0FBRyxJQUFJLENBQUM7UUFFWixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBQztZQUMvQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUM1RSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztTQUMxRDthQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBQztZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ25GLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7O1FBQ2pCLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsV0FBVyxHQUFHO1FBQ2hDLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDekUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztvR0FsQ1UsMEJBQTBCOytEQUExQiwwQkFBMEI7UUNidkMsOEJBQ0U7UUFBQSw4QkFDRTtRQUFBLHVDQUdlO1FBRHdFLDZHQUFTLFdBQU8sYUFBUSxDQUFDLElBQUM7UUFDakgsaUJBQWU7UUFDZiwrQkFBa0c7UUFBQSwrQkFBVTtRQUFBLGlCQUFPO1FBQ3JILGlCQUFNO1FBQ04sOEJBQ0U7UUFBQSx1Q0FHK0U7UUFBbEQsNkdBQVMsV0FBTyxnQkFBZ0IsQ0FBQyxJQUFDO1FBQUMsaUJBQWU7UUFDL0UsK0JBQWlIO1FBQUEsaUNBQWlCO1FBQUEsaUJBQU87UUFDM0ksaUJBQU07UUFDTiw4QkFDRTtRQUFBLHdDQUc2QztRQUEzQyw4R0FBUyxXQUFPLFNBQVMsQ0FBQyxJQUFDO1FBQUMsaUJBQWU7UUFDN0MsZ0NBQW9HO1FBQUEsMkJBQVU7UUFBQSxpQkFBTztRQUN2SCxpQkFBTTtRQUNSLGlCQUFNOztRQXJCbUMsZUFBK0M7UUFBL0MsdUZBQStDO1FBQ3RFLGVBQThCO1FBQTlCLGdEQUE4QixrQ0FBQSw4QkFBQSx1RkFBQSwrRkFBQTtRQUluQixlQUF3RTtRQUF4RSwyR0FBd0U7UUFFNUQsZUFBdUQ7UUFBdkQsMEZBQXVEO1FBQzlFLGVBQThCO1FBQTlCLGdEQUE4QixrQ0FBQSwwRkFBQSxrR0FBQSwrQkFBQTtRQUlaLGVBQWdGO1FBQWhGLDhHQUFnRjtRQUUzRSxlQUFnRDtRQUFoRCxtRkFBZ0Q7UUFDdkUsZUFBOEI7UUFBOUIsZ0RBQThCLGtDQUFBLDhCQUFBLG1GQUFBLDJGQUFBO1FBSWxCLGVBQXlFO1FBQXpFLHVHQUF5RTs7a0REUDFGLDBCQUEwQjtjQVB0QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsV0FBVyxFQUFFLHNDQUFzQztnQkFDbkQsU0FBUyxFQUFFLENBQUMsc0NBQXNDLENBQUM7Z0JBQ25ELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDsrSEFHVSxXQUFXO2tCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9sYXlvdXRcIjtcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgUmVjaXBlVHlwZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vX3NlcnZpY2VzL3JlY2lwZS10eXBlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtdHlwZS1jaG9vc2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY2lwZS10eXBlLWNob29zZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtdHlwZS1jaG9vc2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZVR5cGVDaG9vc2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgcHVibGljIGljb24gPSBJY29uO1xuICBwdWJsaWMgY2hvc2VuVHlwZTogc3RyaW5nO1xuICBwdWJsaWMgaXNNb2JpbGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVjaXBlVHlwZVNlcnZpY2U6IFJlY2lwZVR5cGVTZXJ2aWNlLCBwcml2YXRlICBtZWRpYU1hdGNoZXI6IE1lZGlhTWF0Y2hlciApe1xuICAgIHRoaXMuY2hvc2VuVHlwZSA9ICcnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChPYmplY3Qua2V5cyhjaGFuZ2VzKS5pbmNsdWRlcygnZm9ybUNvbnRyb2wnKSl7XG4gICAgICB0aGlzLmluaXRUeXBlQ2hvb3NlcigpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRUeXBlQ2hvb3Nlcigpe1xuICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLm1lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKCcobWluLXdpZHRoOiAxMDIzcHgpJykubWF0Y2hlcztcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbC52YWx1ZSl7XG4gICAgICB0aGlzLmNob3NlblR5cGUgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlLmF0dHJpYnV0ZXMubmFtZTtcbiAgICB9ZWxzZSBpZiAodGhpcy5jaG9zZW5UeXBlKXtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnJlY2lwZVR5cGVTZXJ2aWNlLmdldFR5cGVCeU5hbWUodGhpcy5jaG9zZW5UeXBlKSk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuICB9XG5cbiAgY2hvc2VuKHR5cGU6IHN0cmluZyl7XG4gICAgdGhpcy5mb3JtQ29udHJvbD8ubWFya0FzRGlydHkoKTtcbiAgICB0aGlzLmZvcm1Db250cm9sPy5wYXRjaFZhbHVlKHRoaXMucmVjaXBlVHlwZVNlcnZpY2UuZ2V0VHlwZUJ5TmFtZSh0eXBlKSk7XG4gICAgdGhpcy5jaG9zZW5UeXBlID0gdHlwZTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWNpcGUtdHlwZS1jaG9vc2VyXCI+XG4gIDxkaXYgY2xhc3M9XCJyZWNpcGUtdHlwZS1jaG9vc2VyX19pdGVtXCIgW25nQ2xhc3NdPVwieydjaG9zZW4nOiBjaG9zZW5UeXBlID09PSAnZW50csOpZSd9XCI+XG4gICAgPG5nLW1pYW0taWNvbiBbaGVpZ2h0XT0naXNNb2JpbGUgPyAxMjggOiA2NCcgW3dpZHRoXT0naXNNb2JpbGUgPyAxMjggOiA2NCcgW2ljb25OYW1lXT0naWNvbi5TdGFydGVyJ1xuICAgICAgW3ByaW1hcnlDb2xvcl09XCJjaG9zZW5UeXBlID09PSAnZW50csOpZScgPyAnd2hpdGUnIDogJ3ZhcigtLW0tY29sb3ItcHJpbWFyeSknXCJcbiAgICAgIFtzZWNvbmRhcnlDb2xvcl09XCJjaG9zZW5UeXBlID09PSAnZW50csOpZScgPyAndmFyKC0tbS1jb2xvci1wcmltYXJ5KScgOid0cmFuc3BhcmVudCdcIiAoY2xpY2spPVwiY2hvc2VuKCdlbnRyw6llJylcIj5cbiAgICA8L25nLW1pYW0taWNvbj5cbiAgICA8c3BhbiB0aXRsZT1cIlVuZSBlbnRyw6llXCIgW25nU3R5bGVdPVwieydmb250LXdlaWdodCc6IGNob3NlblR5cGUgPT09ICdlbnRyw6llJyA/ICdib2xkJyA6ICdub3JtYWwnfVwiPlVuZSBlbnRyw6llPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJlY2lwZS10eXBlLWNob29zZXJfX2l0ZW1cIiBbbmdDbGFzc109XCJ7J2Nob3Nlbic6IGNob3NlblR5cGUgPT09ICdwbGF0IHByaW5jaXBhbCd9XCI+XG4gICAgPG5nLW1pYW0taWNvbiBbaGVpZ2h0XT0naXNNb2JpbGUgPyAxMjggOiA2NCcgW3dpZHRoXT0naXNNb2JpbGUgPyAxMjggOiA2NCdcbiAgICAgIFtwcmltYXJ5Q29sb3JdPVwiY2hvc2VuVHlwZSA9PT0gJ3BsYXQgcHJpbmNpcGFsJyA/ICAnd2hpdGUnIDogJ3ZhcigtLW0tY29sb3ItcHJpbWFyeSknXCJcbiAgICAgIFtzZWNvbmRhcnlDb2xvcl09XCJjaG9zZW5UeXBlID09PSAncGxhdCBwcmluY2lwYWwnID8gICd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJyA6J3RyYW5zcGFyZW50J1wiXG4gICAgICBbaWNvbk5hbWVdPSdpY29uLk1haW5EaXNoJyAoY2xpY2spPVwiY2hvc2VuKCdwbGF0IHByaW5jaXBhbCcpXCI+PC9uZy1taWFtLWljb24+XG4gICAgPHNwYW4gdGl0bGU9XCJVbiBwbGF0IHByaW5jaXBhbFwiIFtuZ1N0eWxlXT1cInsnZm9udC13ZWlnaHQnOiBjaG9zZW5UeXBlID09PSAncGxhdCBwcmluY2lwYWwnID8gJ2JvbGQnIDogJ25vcm1hbCd9XCI+VW4gcGxhdCBwcmluY2lwYWw8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicmVjaXBlLXR5cGUtY2hvb3Nlcl9faXRlbVwiIFtuZ0NsYXNzXT1cInsnY2hvc2VuJzogY2hvc2VuVHlwZSA9PT0gJ2Rlc3NlcnQnfVwiPlxuICAgIDxuZy1taWFtLWljb24gW2hlaWdodF09J2lzTW9iaWxlID8gMTI4IDogNjQnIFt3aWR0aF09J2lzTW9iaWxlID8gMTI4IDogNjQnIFtpY29uTmFtZV09J2ljb24uRGVzc2VydCdcbiAgICAgIFtwcmltYXJ5Q29sb3JdPVwiY2hvc2VuVHlwZSA9PT0gJ2Rlc3NlcnQnID8gICd3aGl0ZScgOiAndmFyKC0tbS1jb2xvci1wcmltYXJ5KSdcIlxuICAgICAgW3NlY29uZGFyeUNvbG9yXT1cImNob3NlblR5cGUgPT09ICdkZXNzZXJ0JyA/ICd2YXIoLS1tLWNvbG9yLXByaW1hcnkpJyA6J3RyYW5zcGFyZW50J1wiXG4gICAgICAoY2xpY2spPVwiY2hvc2VuKCdkZXNzZXJ0JylcIj48L25nLW1pYW0taWNvbj5cbiAgICA8c3BhbiB0aXRsZT1cIlVuIGRlc3NlcnRcIiAgW25nU3R5bGVdPVwieydmb250LXdlaWdodCc6IGNob3NlblR5cGUgPT09ICdkZXNzZXJ0JyA/ICdib2xkJyA6ICdub3JtYWwnfVwiPlVuIGRlc3NlcnQ8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+Il19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLXR5cGUtY2hvb3Nlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL3JlY2lwZS10eXBlLWNob29zZXIvcmVjaXBlLXR5cGUtY2hvb3Nlci5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvcmVjaXBlLXR5cGUtY2hvb3Nlci9yZWNpcGUtdHlwZS1jaG9vc2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQVM5QyxNQUFNLE9BQU8sMEJBQTBCO0lBUXJDLFlBQW9CLEdBQXNCLEVBQVUsaUJBQW9DLEVBQVcsWUFBMEI7UUFBekcsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQVcsaUJBQVksR0FBWixZQUFZLENBQWM7UUFKdEgsU0FBSSxHQUFHLElBQUksQ0FBQztRQUVaLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFDO1lBQy9DLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzVFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQzNEO2FBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWTs7UUFDbEIsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxXQUFXLEdBQUc7UUFDaEMsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN6RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O29HQWxDVSwwQkFBMEI7K0RBQTFCLDBCQUEwQjtRQ2J2Qyw4QkFDRTtRQUFBLDhCQUNFO1FBQUEsdUNBR2U7UUFEeUUsNkdBQVMsWUFBUSxhQUFRLENBQUMsSUFBQztRQUNuSCxpQkFBZTtRQUNmLCtCQUFtRztRQUFBLCtCQUFVO1FBQUEsaUJBQU87UUFDdEgsaUJBQU07UUFDTiw4QkFDRTtRQUFBLHVDQUdnRjtRQUFuRCw2R0FBUyxZQUFRLGdCQUFnQixDQUFDLElBQUM7UUFBQyxpQkFBZTtRQUNoRiwrQkFBa0g7UUFBQSxpQ0FBaUI7UUFBQSxpQkFBTztRQUM1SSxpQkFBTTtRQUNOLDhCQUNFO1FBQUEsd0NBRzhDO1FBQTVDLDhHQUFTLFlBQVEsU0FBUyxDQUFDLElBQUM7UUFBQyxpQkFBZTtRQUM5QyxnQ0FBcUc7UUFBQSwyQkFBVTtRQUFBLGlCQUFPO1FBQ3hILGlCQUFNO1FBQ1IsaUJBQU07O1FBcEJZLGVBQThCO1FBQTlCLGdEQUE4QixrQ0FBQSw4QkFBQSx3RkFBQSxnR0FBQTtRQUluQixlQUF5RTtRQUF6RSw0R0FBeUU7UUFHcEYsZUFBOEI7UUFBOUIsZ0RBQThCLGtDQUFBLDJGQUFBLG1HQUFBLCtCQUFBO1FBSVosZUFBaUY7UUFBakYsK0dBQWlGO1FBR25HLGVBQThCO1FBQTlCLGdEQUE4QixrQ0FBQSw4QkFBQSxvRkFBQSw0RkFBQTtRQUlsQixlQUEwRTtRQUExRSx3R0FBMEU7O2tERFAzRiwwQkFBMEI7Y0FQdEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLFdBQVcsRUFBRSxzQ0FBc0M7Z0JBQ25ELFNBQVMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDO2dCQUNuRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7K0hBR1UsV0FBVztrQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lZGlhTWF0Y2hlciB9IGZyb20gXCJAYW5ndWxhci9jZGsvbGF5b3V0XCI7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFJlY2lwZVR5cGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL19zZXJ2aWNlcy9yZWNpcGUtdHlwZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vX3R5cGVzL2ljb24uZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tcmVjaXBlLXR5cGUtY2hvb3NlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtdHlwZS1jaG9vc2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLXR5cGUtY2hvb3Nlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZWNpcGVUeXBlQ2hvb3NlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gIHB1YmxpYyBpY29uID0gSWNvbjtcbiAgcHVibGljIGNob29zZWRUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyBpc01vYmlsZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWNpcGVUeXBlU2VydmljZTogUmVjaXBlVHlwZVNlcnZpY2UsIHByaXZhdGUgIG1lZGlhTWF0Y2hlcjogTWVkaWFNYXRjaGVyICl7XG4gICAgdGhpcy5jaG9vc2VkVHlwZSA9ICcnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChPYmplY3Qua2V5cyhjaGFuZ2VzKS5pbmNsdWRlcygnZm9ybUNvbnRyb2wnKSl7XG4gICAgICB0aGlzLmluaXRUeXBlQ2hvb3NlcigpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRUeXBlQ2hvb3Nlcigpe1xuICAgIHRoaXMuaXNNb2JpbGUgPSB0aGlzLm1lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKCcobWluLXdpZHRoOiAxMDIzcHgpJykubWF0Y2hlcztcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbC52YWx1ZSl7XG4gICAgICB0aGlzLmNob29zZWRUeXBlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZS5hdHRyaWJ1dGVzLm5hbWU7XG4gICAgfWVsc2UgaWYgKHRoaXMuY2hvb3NlZFR5cGUpe1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHRoaXMucmVjaXBlVHlwZVNlcnZpY2UuZ2V0VHlwZUJ5TmFtZSh0aGlzLmNob29zZWRUeXBlKSk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuICB9XG5cbiAgY2hvb3NlZCh0eXBlOiBzdHJpbmcpe1xuICAgIHRoaXMuZm9ybUNvbnRyb2w/Lm1hcmtBc0RpcnR5KCk7XG4gICAgdGhpcy5mb3JtQ29udHJvbD8ucGF0Y2hWYWx1ZSh0aGlzLnJlY2lwZVR5cGVTZXJ2aWNlLmdldFR5cGVCeU5hbWUodHlwZSkpO1xuICAgIHRoaXMuY2hvb3NlZFR5cGUgPSB0eXBlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJlY2lwZS10eXBlLWNob29zZXJcIj5cbiAgPGRpdiBjbGFzcz1cInJlY2lwZS10eXBlLWNob29zZXJfX2l0ZW1cIj5cbiAgICA8bmctbWlhbS1pY29uIFtoZWlnaHRdPSdpc01vYmlsZSA/IDEyOCA6IDY0JyBbd2lkdGhdPSdpc01vYmlsZSA/IDEyOCA6IDY0JyBbaWNvbk5hbWVdPSdpY29uLlN0YXJ0ZXInXG4gICAgICBbcHJpbWFyeUNvbG9yXT1cImNob29zZWRUeXBlID09PSAnZW50csOpZScgPyAnd2hpdGUnIDogJ3ZhcigtLW0tY29sb3ItcHJpbWFyeSknXCJcbiAgICAgIFtzZWNvbmRhcnlDb2xvcl09XCJjaG9vc2VkVHlwZSA9PT0gJ2VudHLDqWUnID8gJ3ZhcigtLW0tY29sb3ItcHJpbWFyeSknIDondHJhbnNwYXJlbnQnXCIgKGNsaWNrKT1cImNob29zZWQoJ2VudHLDqWUnKVwiPlxuICAgIDwvbmctbWlhbS1pY29uPlxuICAgIDxzcGFuIHRpdGxlPVwiVW5lIGVudHLDqWVcIiBbbmdTdHlsZV09XCJ7J2ZvbnQtd2VpZ2h0JzogY2hvb3NlZFR5cGUgPT09ICdlbnRyw6llJyA/ICdib2xkJyA6ICdub3JtYWwnfVwiPlVuZSBlbnRyw6llPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJlY2lwZS10eXBlLWNob29zZXJfX2l0ZW1cIj5cbiAgICA8bmctbWlhbS1pY29uIFtoZWlnaHRdPSdpc01vYmlsZSA/IDEyOCA6IDY0JyBbd2lkdGhdPSdpc01vYmlsZSA/IDEyOCA6IDY0J1xuICAgICAgW3ByaW1hcnlDb2xvcl09XCJjaG9vc2VkVHlwZSA9PT0gJ3BsYXQgcHJpbmNpcGFsJyA/ICAnd2hpdGUnIDogJ3ZhcigtLW0tY29sb3ItcHJpbWFyeSknXCJcbiAgICAgIFtzZWNvbmRhcnlDb2xvcl09XCJjaG9vc2VkVHlwZSA9PT0gJ3BsYXQgcHJpbmNpcGFsJyA/ICAndmFyKC0tbS1jb2xvci1wcmltYXJ5KScgOid0cmFuc3BhcmVudCdcIlxuICAgICAgW2ljb25OYW1lXT0naWNvbi5NYWluRGlzaCcgKGNsaWNrKT1cImNob29zZWQoJ3BsYXQgcHJpbmNpcGFsJylcIj48L25nLW1pYW0taWNvbj5cbiAgICA8c3BhbiB0aXRsZT1cIlVuIHBsYXQgcHJpbmNpcGFsXCIgW25nU3R5bGVdPVwieydmb250LXdlaWdodCc6IGNob29zZWRUeXBlID09PSAncGxhdCBwcmluY2lwYWwnID8gJ2JvbGQnIDogJ25vcm1hbCd9XCI+VW4gcGxhdCBwcmluY2lwYWw8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicmVjaXBlLXR5cGUtY2hvb3Nlcl9faXRlbVwiPlxuICAgIDxuZy1taWFtLWljb24gW2hlaWdodF09J2lzTW9iaWxlID8gMTI4IDogNjQnIFt3aWR0aF09J2lzTW9iaWxlID8gMTI4IDogNjQnIFtpY29uTmFtZV09J2ljb24uRGVzc2VydCdcbiAgICAgIFtwcmltYXJ5Q29sb3JdPVwiY2hvb3NlZFR5cGUgPT09ICdkZXNzZXJ0JyA/ICAnd2hpdGUnIDogJ3ZhcigtLW0tY29sb3ItcHJpbWFyeSknXCJcbiAgICAgIFtzZWNvbmRhcnlDb2xvcl09XCJjaG9vc2VkVHlwZSA9PT0gJ2Rlc3NlcnQnID8gJ3ZhcigtLW0tY29sb3ItcHJpbWFyeSknIDondHJhbnNwYXJlbnQnXCJcbiAgICAgIChjbGljayk9XCJjaG9vc2VkKCdkZXNzZXJ0JylcIj48L25nLW1pYW0taWNvbj5cbiAgICA8c3BhbiB0aXRsZT1cIlVuIGRlc3NlcnRcIiAgW25nU3R5bGVdPVwieydmb250LXdlaWdodCc6IGNob29zZWRUeXBlID09PSAnZGVzc2VydCcgPyAnYm9sZCcgOiAnbm9ybWFsJ31cIj5VbiBkZXNzZXJ0PC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -19,7 +19,7 @@ export class TextInputComponent {
19
19
  }
20
20
  }
21
21
  TextInputComponent.ɵfac = function TextInputComponent_Factory(t) { return new (t || TextInputComponent)(); };
22
- TextInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TextInputComponent, selectors: [["ng-miam-text-input"]], inputs: { icon: "icon", placeholder: "placeholder", formControl: "formControl" }, decls: 5, vars: 8, consts: [[1, "miam-text-input", "m-input"], ["type", "text", 1, "miam-text-input__input", 3, "id", "ngModel"], [1, "miam-text-input__label", 3, "for", "ngClass"], ["class", "miam-text-input__icon", "primaryColor", "var(--m-color-primary)", 3, "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-text-input__icon", 3, "iconName"]], template: function TextInputComponent_Template(rf, ctx) { if (rf & 1) {
22
+ TextInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TextInputComponent, selectors: [["ng-miam-text-input"]], inputs: { icon: "icon", placeholder: "placeholder", formControl: "formControl", disable: "disable" }, decls: 5, vars: 9, consts: [[1, "miam-text-input", "m-input"], ["type", "text", 1, "miam-text-input__input", 3, "id", "ngModel", "disabled"], [1, "miam-text-input__label", 3, "for", "ngClass"], ["class", "miam-text-input__icon", "primaryColor", "var(--m-color-primary)", 3, "iconName", 4, "ngIf"], ["primaryColor", "var(--m-color-primary)", 1, "miam-text-input__icon", 3, "iconName"]], template: function TextInputComponent_Template(rf, ctx) { if (rf & 1) {
23
23
  i0.ɵɵelementStart(0, "div", 0);
24
24
  i0.ɵɵelement(1, "input", 1);
25
25
  i0.ɵɵelementStart(2, "label", 2);
@@ -29,9 +29,9 @@ TextInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TextInputComponent, se
29
29
  i0.ɵɵelementEnd();
30
30
  } if (rf & 2) {
31
31
  i0.ɵɵadvance(1);
32
- i0.ɵɵproperty("id", ctx.uniqueId)("ngModel", ctx.formControl == null ? null : ctx.formControl.value);
32
+ i0.ɵɵproperty("id", ctx.uniqueId)("ngModel", ctx.formControl == null ? null : ctx.formControl.value)("disabled", ctx.disable);
33
33
  i0.ɵɵadvance(1);
34
- i0.ɵɵproperty("for", ctx.uniqueId)("ngClass", i0.ɵɵpureFunction1(6, _c0, ctx.formControl == null ? null : ctx.formControl.value));
34
+ i0.ɵɵproperty("for", ctx.uniqueId)("ngClass", i0.ɵɵpureFunction1(7, _c0, ctx.formControl == null ? null : ctx.formControl.value));
35
35
  i0.ɵɵadvance(1);
36
36
  i0.ɵɵtextInterpolate(ctx.placeholder);
37
37
  i0.ɵɵadvance(1);
@@ -52,5 +52,7 @@ TextInputComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TextInputComponent, se
52
52
  type: Input
53
53
  }], formControl: [{
54
54
  type: Input
55
+ }], disable: [{
56
+ type: Input
55
57
  }] }); })();
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztJQ0FsQyxrQ0FBZ0k7OztJQUF2RSxzQ0FBaUI7OztBRFM1RSxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDOztvRkFWVSxrQkFBa0I7dURBQWxCLGtCQUFrQjtRQ1ovQiw4QkFDRTtRQUFBLDJCQUNBO1FBQUEsZ0NBQXdIO1FBQUEsWUFBZTtRQUFBLGlCQUFRO1FBQy9JLHFGQUFpSDtRQUNuSCxpQkFBTTs7UUFIa0MsZUFBZTtRQUFmLGlDQUFlLG1FQUFBO1FBQ2YsZUFBZ0I7UUFBaEIsa0NBQWdCLCtGQUFBO1FBQWtFLGVBQWU7UUFBZixxQ0FBZTtRQUN6SCxlQUFZO1FBQVosK0JBQVk7O2tERFNmLGtCQUFrQjtjQVA5QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7Z0JBQzFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtzQ0FHVSxJQUFJO2tCQUFaLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXRleHQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGV4dElucHV0Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBpY29uOiBJY29uO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgdW5pcXVlSWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy51bmlxdWVJZCA9IHV1aWR2NCgpO1xuICB9XG59IiwiPGRpdiBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dCBtLWlucHV0XCI+XG4gIDxpbnB1dCBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dF9faW5wdXRcIiBbaWRdPVwidW5pcXVlSWRcIiBbbmdNb2RlbF09XCJmb3JtQ29udHJvbD8udmFsdWVcIiB0eXBlPVwidGV4dFwiIC8+XG4gIDxsYWJlbCBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dF9fbGFiZWxcIiBbZm9yXT1cInVuaXF1ZUlkXCIgW25nQ2xhc3NdPVwieydtaWFtLXRleHQtaW5wdXRfX2xhYmVsX190b3AnOiBmb3JtQ29udHJvbD8udmFsdWV9XCIgPnt7cGxhY2Vob2xkZXJ9fTwvbGFiZWw+XG4gIDxuZy1taWFtLWljb24gKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJtaWFtLXRleHQtaW5wdXRfX2ljb25cIiBbaWNvbk5hbWVdPVwiaWNvblwiIHByaW1hcnlDb2xvcj1cInZhcigtLW0tY29sb3ItcHJpbWFyeSlcIj48L25nLW1pYW0taWNvbj5cbjwvZGl2PiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9taWFtL25nLW1pYW0tc2RrL3Byb2plY3RzL25nLW1pYW0vc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21wb25lbnRzL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQudHMiLCJsaWIvX2NvbXBvbmVudHMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztJQ0FsQyxrQ0FBZ0k7OztJQUF2RSxzQ0FBaUI7OztBRFM1RSxNQUFNLE9BQU8sa0JBQWtCO0lBUzdCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDOztvRkFYVSxrQkFBa0I7dURBQWxCLGtCQUFrQjtRQ1ovQiw4QkFDRTtRQUFBLDJCQUNBO1FBQUEsZ0NBQXdIO1FBQUEsWUFBZTtRQUFBLGlCQUFRO1FBQy9JLHFGQUFpSDtRQUNuSCxpQkFBTTs7UUFIa0MsZUFBZTtRQUFmLGlDQUFlLG1FQUFBLHlCQUFBO1FBQ2YsZUFBZ0I7UUFBaEIsa0NBQWdCLCtGQUFBO1FBQWtFLGVBQWU7UUFBZixxQ0FBZTtRQUN6SCxlQUFZO1FBQVosK0JBQVk7O2tERFNmLGtCQUFrQjtjQVA5QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7Z0JBQzFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtzQ0FHVSxJQUFJO2tCQUFaLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEljb24gfSBmcm9tICcuLi8uLi9fdHlwZXMvaWNvbi5lbnVtJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXRleHQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGV4dElucHV0Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBpY29uOiBJY29uO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGRpc2FibGU6IGJvb2xlYW47XG5cbiAgdW5pcXVlSWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy51bmlxdWVJZCA9IHV1aWR2NCgpO1xuICB9XG59IiwiPGRpdiBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dCBtLWlucHV0XCI+XG4gIDxpbnB1dCBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dF9faW5wdXRcIiBbaWRdPVwidW5pcXVlSWRcIiBbbmdNb2RlbF09XCJmb3JtQ29udHJvbD8udmFsdWVcIiB0eXBlPVwidGV4dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlXCIgLz5cbiAgPGxhYmVsIGNsYXNzPVwibWlhbS10ZXh0LWlucHV0X19sYWJlbFwiIFtmb3JdPVwidW5pcXVlSWRcIiBbbmdDbGFzc109XCJ7J21pYW0tdGV4dC1pbnB1dF9fbGFiZWxfX3RvcCc6IGZvcm1Db250cm9sPy52YWx1ZX1cIiA+e3twbGFjZWhvbGRlcn19PC9sYWJlbD5cbiAgPG5nLW1pYW0taWNvbiAqbmdJZj1cImljb25cIiBjbGFzcz1cIm1pYW0tdGV4dC1pbnB1dF9faWNvblwiIFtpY29uTmFtZV09XCJpY29uXCIgcHJpbWFyeUNvbG9yPVwidmFyKC0tbS1jb2xvci1wcmltYXJ5KVwiPjwvbmctbWlhbS1pY29uPlxuPC9kaXY+Il19