@mozaic-ds/angular 0.24.0-beta.12 → 0.24.0-beta.13

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 (204) hide show
  1. package/adeo/assets/fonts/LeroyMerlinSans-Web-Italic.woff +0 -0
  2. package/adeo/assets/fonts/LeroyMerlinSans-Web-Italic.woff2 +0 -0
  3. package/adeo/assets/fonts/LeroyMerlinSans-Web-Light.woff +0 -0
  4. package/adeo/assets/fonts/LeroyMerlinSans-Web-Light.woff2 +0 -0
  5. package/adeo/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff +0 -0
  6. package/adeo/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff2 +0 -0
  7. package/adeo/assets/fonts/LeroyMerlinSans-Web-Regular.woff +0 -0
  8. package/adeo/assets/fonts/LeroyMerlinSans-Web-Regular.woff2 +0 -0
  9. package/adeo/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff +0 -0
  10. package/adeo/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff2 +0 -0
  11. package/adeo/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff +0 -0
  12. package/adeo/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff2 +0 -0
  13. package/adeo/assets/tokens/bricoman/js/tokens.js +1 -1
  14. package/adeo/assets/tokens/bricoman/js/tokensObject.js +15 -15
  15. package/adeo/assets/tokens/bricoman/scss/_tokens.scss +3 -3
  16. package/adeo/components/card/card.component.d.ts +11 -0
  17. package/adeo/components/card/card.module.d.ts +8 -0
  18. package/adeo/components/card/index.d.ts +3 -0
  19. package/adeo/components/card/model/card.d.ts +1 -0
  20. package/adeo/components/card/public-api.d.ts +1 -0
  21. package/adeo/components/dropdown/dropdown.component.d.ts +5 -8
  22. package/adeo/components/header/header.component.d.ts +6 -4
  23. package/adeo/components/listbox/listbox.component.d.ts +6 -6
  24. package/adeo/components/notification/notification-container.component.d.ts +14 -4
  25. package/adeo/components/notification/notification.d.ts +3 -0
  26. package/adeo/components/notification/notification.service.d.ts +1 -0
  27. package/adeo/components/phone-number/phone-number.component.d.ts +4 -12
  28. package/adeo/components/public-api.d.ts +1 -0
  29. package/adeo/components/tabs/tab.component.d.ts +4 -2
  30. package/adeo/components/tabs/tabs.component.d.ts +1 -1
  31. package/adeo/esm2020/components/action-bar/action-bar.component.mjs +3 -3
  32. package/adeo/esm2020/components/card/card.component.mjs +27 -0
  33. package/adeo/esm2020/components/card/card.module.mjs +18 -0
  34. package/adeo/esm2020/components/card/index.mjs +4 -0
  35. package/adeo/esm2020/components/card/model/card.mjs +2 -0
  36. package/adeo/esm2020/components/card/public-api.mjs +2 -0
  37. package/adeo/esm2020/components/dropdown/dropdown.component.mjs +16 -46
  38. package/adeo/esm2020/components/header/header.component.mjs +12 -12
  39. package/adeo/esm2020/components/listbox/listbox.component.mjs +22 -28
  40. package/adeo/esm2020/components/notification/notification-animation.mjs +7 -4
  41. package/adeo/esm2020/components/notification/notification-container.component.mjs +63 -13
  42. package/adeo/esm2020/components/notification/notification.mjs +1 -1
  43. package/adeo/esm2020/components/notification/notification.service.mjs +6 -3
  44. package/adeo/esm2020/components/phone-number/phone-number.component.mjs +15 -68
  45. package/adeo/esm2020/components/public-api.mjs +2 -1
  46. package/adeo/esm2020/components/tabs/tab.component.mjs +7 -6
  47. package/adeo/esm2020/components/tabs/tabs.component.mjs +8 -4
  48. package/adeo/fesm2015/mozaic-ds-angular.mjs +188 -176
  49. package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  50. package/adeo/fesm2020/mozaic-ds-angular.mjs +180 -171
  51. package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  52. package/adeo/package.json +1 -1
  53. package/assets/fonts/LeroyMerlinSans-Web-Italic.woff +0 -0
  54. package/assets/fonts/LeroyMerlinSans-Web-Italic.woff2 +0 -0
  55. package/assets/fonts/LeroyMerlinSans-Web-Light.woff +0 -0
  56. package/assets/fonts/LeroyMerlinSans-Web-Light.woff2 +0 -0
  57. package/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff +0 -0
  58. package/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff2 +0 -0
  59. package/assets/fonts/LeroyMerlinSans-Web-Regular.woff +0 -0
  60. package/assets/fonts/LeroyMerlinSans-Web-Regular.woff2 +0 -0
  61. package/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff +0 -0
  62. package/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff2 +0 -0
  63. package/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff +0 -0
  64. package/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff2 +0 -0
  65. package/assets/tokens/bricoman/js/tokens.js +1 -1
  66. package/assets/tokens/bricoman/js/tokensObject.js +15 -15
  67. package/assets/tokens/bricoman/scss/_tokens.scss +3 -3
  68. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Italic.woff +0 -0
  69. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Italic.woff2 +0 -0
  70. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Light.woff +0 -0
  71. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Light.woff2 +0 -0
  72. package/bricoman/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff +0 -0
  73. package/bricoman/assets/fonts/LeroyMerlinSans-Web-LightItalic.woff2 +0 -0
  74. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Regular.woff +0 -0
  75. package/bricoman/assets/fonts/LeroyMerlinSans-Web-Regular.woff2 +0 -0
  76. package/bricoman/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff +0 -0
  77. package/bricoman/assets/fonts/LeroyMerlinSans-Web-SemiBold.woff2 +0 -0
  78. package/bricoman/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff +0 -0
  79. package/bricoman/assets/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff2 +0 -0
  80. package/bricoman/assets/tokens/bricoman/js/tokens.js +1 -1
  81. package/bricoman/assets/tokens/bricoman/js/tokensObject.js +15 -15
  82. package/bricoman/assets/tokens/bricoman/scss/_tokens.scss +3 -3
  83. package/bricoman/components/card/card.component.d.ts +11 -0
  84. package/bricoman/components/card/card.module.d.ts +8 -0
  85. package/bricoman/components/card/index.d.ts +3 -0
  86. package/bricoman/components/card/model/card.d.ts +1 -0
  87. package/bricoman/components/card/public-api.d.ts +1 -0
  88. package/bricoman/components/dropdown/dropdown.component.d.ts +5 -8
  89. package/bricoman/components/header/header.component.d.ts +6 -4
  90. package/bricoman/components/listbox/listbox.component.d.ts +6 -6
  91. package/bricoman/components/notification/notification-container.component.d.ts +14 -4
  92. package/bricoman/components/notification/notification.d.ts +3 -0
  93. package/bricoman/components/notification/notification.service.d.ts +1 -0
  94. package/bricoman/components/phone-number/phone-number.component.d.ts +4 -12
  95. package/bricoman/components/public-api.d.ts +1 -0
  96. package/bricoman/components/tabs/tab.component.d.ts +4 -2
  97. package/bricoman/components/tabs/tabs.component.d.ts +1 -1
  98. package/bricoman/esm2020/components/action-bar/action-bar.component.mjs +3 -3
  99. package/bricoman/esm2020/components/card/card.component.mjs +27 -0
  100. package/bricoman/esm2020/components/card/card.module.mjs +18 -0
  101. package/bricoman/esm2020/components/card/index.mjs +4 -0
  102. package/bricoman/esm2020/components/card/model/card.mjs +2 -0
  103. package/bricoman/esm2020/components/card/public-api.mjs +2 -0
  104. package/bricoman/esm2020/components/dropdown/dropdown.component.mjs +16 -46
  105. package/bricoman/esm2020/components/header/header.component.mjs +12 -12
  106. package/bricoman/esm2020/components/listbox/listbox.component.mjs +22 -28
  107. package/bricoman/esm2020/components/notification/notification-animation.mjs +7 -4
  108. package/bricoman/esm2020/components/notification/notification-container.component.mjs +63 -13
  109. package/bricoman/esm2020/components/notification/notification.mjs +1 -1
  110. package/bricoman/esm2020/components/notification/notification.service.mjs +6 -3
  111. package/bricoman/esm2020/components/phone-number/phone-number.component.mjs +15 -68
  112. package/bricoman/esm2020/components/public-api.mjs +2 -1
  113. package/bricoman/esm2020/components/tabs/tab.component.mjs +7 -6
  114. package/bricoman/esm2020/components/tabs/tabs.component.mjs +8 -4
  115. package/bricoman/fesm2015/mozaic-ds-angular.mjs +188 -176
  116. package/bricoman/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  117. package/bricoman/fesm2020/mozaic-ds-angular.mjs +180 -171
  118. package/bricoman/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  119. package/bricoman/package.json +1 -1
  120. package/components/card/card.component.d.ts +11 -0
  121. package/components/card/card.module.d.ts +8 -0
  122. package/components/card/index.d.ts +3 -0
  123. package/components/card/model/card.d.ts +1 -0
  124. package/components/card/public-api.d.ts +1 -0
  125. package/components/dropdown/dropdown.component.d.ts +5 -8
  126. package/components/header/header.component.d.ts +6 -4
  127. package/components/listbox/listbox.component.d.ts +6 -6
  128. package/components/notification/notification-container.component.d.ts +14 -4
  129. package/components/notification/notification.d.ts +3 -0
  130. package/components/notification/notification.service.d.ts +1 -0
  131. package/components/phone-number/phone-number.component.d.ts +4 -12
  132. package/components/public-api.d.ts +1 -0
  133. package/components/tabs/tab.component.d.ts +4 -2
  134. package/components/tabs/tabs.component.d.ts +1 -1
  135. package/esm2020/components/action-bar/action-bar.component.mjs +3 -3
  136. package/esm2020/components/card/card.component.mjs +27 -0
  137. package/esm2020/components/card/card.module.mjs +18 -0
  138. package/esm2020/components/card/index.mjs +4 -0
  139. package/esm2020/components/card/model/card.mjs +2 -0
  140. package/esm2020/components/card/public-api.mjs +2 -0
  141. package/esm2020/components/dropdown/dropdown.component.mjs +16 -46
  142. package/esm2020/components/header/header.component.mjs +12 -12
  143. package/esm2020/components/listbox/listbox.component.mjs +22 -28
  144. package/esm2020/components/notification/notification-animation.mjs +7 -4
  145. package/esm2020/components/notification/notification-container.component.mjs +63 -13
  146. package/esm2020/components/notification/notification.mjs +1 -1
  147. package/esm2020/components/notification/notification.service.mjs +6 -3
  148. package/esm2020/components/phone-number/phone-number.component.mjs +15 -68
  149. package/esm2020/components/public-api.mjs +2 -1
  150. package/esm2020/components/tabs/tab.component.mjs +7 -6
  151. package/esm2020/components/tabs/tabs.component.mjs +8 -4
  152. package/fesm2015/mozaic-ds-angular.mjs +188 -176
  153. package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  154. package/fesm2020/mozaic-ds-angular.mjs +180 -171
  155. package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  156. package/package.json +1 -1
  157. package/adeo/assets/tokens/adeo/android/colors.xml +0 -494
  158. package/adeo/assets/tokens/adeo/android/font_dimens.xml +0 -18
  159. package/adeo/assets/tokens/adeo/ios/StyleDictionaryColor.h +0 -502
  160. package/adeo/assets/tokens/adeo/ios/StyleDictionaryColor.m +0 -514
  161. package/adeo/assets/tokens/adeo/ios/StyleDictionaryColor.swift +0 -497
  162. package/adeo/assets/tokens/adeo/ios/StyleDictionarySize.h +0 -69
  163. package/adeo/assets/tokens/adeo/ios/StyleDictionarySize.m +0 -70
  164. package/adeo/assets/tokens/adeo/ios/StyleDictionarySize.swift +0 -71
  165. package/adeo/assets/tokens/bricoman/android/colors.xml +0 -486
  166. package/adeo/assets/tokens/bricoman/android/font_dimens.xml +0 -18
  167. package/adeo/assets/tokens/bricoman/ios/StyleDictionaryColor.h +0 -494
  168. package/adeo/assets/tokens/bricoman/ios/StyleDictionaryColor.m +0 -506
  169. package/adeo/assets/tokens/bricoman/ios/StyleDictionaryColor.swift +0 -489
  170. package/adeo/assets/tokens/bricoman/ios/StyleDictionarySize.h +0 -69
  171. package/adeo/assets/tokens/bricoman/ios/StyleDictionarySize.m +0 -70
  172. package/adeo/assets/tokens/bricoman/ios/StyleDictionarySize.swift +0 -71
  173. package/assets/tokens/adeo/android/colors.xml +0 -494
  174. package/assets/tokens/adeo/android/font_dimens.xml +0 -18
  175. package/assets/tokens/adeo/ios/StyleDictionaryColor.h +0 -502
  176. package/assets/tokens/adeo/ios/StyleDictionaryColor.m +0 -514
  177. package/assets/tokens/adeo/ios/StyleDictionaryColor.swift +0 -497
  178. package/assets/tokens/adeo/ios/StyleDictionarySize.h +0 -69
  179. package/assets/tokens/adeo/ios/StyleDictionarySize.m +0 -70
  180. package/assets/tokens/adeo/ios/StyleDictionarySize.swift +0 -71
  181. package/assets/tokens/bricoman/android/colors.xml +0 -486
  182. package/assets/tokens/bricoman/android/font_dimens.xml +0 -18
  183. package/assets/tokens/bricoman/ios/StyleDictionaryColor.h +0 -494
  184. package/assets/tokens/bricoman/ios/StyleDictionaryColor.m +0 -506
  185. package/assets/tokens/bricoman/ios/StyleDictionaryColor.swift +0 -489
  186. package/assets/tokens/bricoman/ios/StyleDictionarySize.h +0 -69
  187. package/assets/tokens/bricoman/ios/StyleDictionarySize.m +0 -70
  188. package/assets/tokens/bricoman/ios/StyleDictionarySize.swift +0 -71
  189. package/bricoman/assets/tokens/adeo/android/colors.xml +0 -494
  190. package/bricoman/assets/tokens/adeo/android/font_dimens.xml +0 -18
  191. package/bricoman/assets/tokens/adeo/ios/StyleDictionaryColor.h +0 -502
  192. package/bricoman/assets/tokens/adeo/ios/StyleDictionaryColor.m +0 -514
  193. package/bricoman/assets/tokens/adeo/ios/StyleDictionaryColor.swift +0 -497
  194. package/bricoman/assets/tokens/adeo/ios/StyleDictionarySize.h +0 -69
  195. package/bricoman/assets/tokens/adeo/ios/StyleDictionarySize.m +0 -70
  196. package/bricoman/assets/tokens/adeo/ios/StyleDictionarySize.swift +0 -71
  197. package/bricoman/assets/tokens/bricoman/android/colors.xml +0 -486
  198. package/bricoman/assets/tokens/bricoman/android/font_dimens.xml +0 -18
  199. package/bricoman/assets/tokens/bricoman/ios/StyleDictionaryColor.h +0 -494
  200. package/bricoman/assets/tokens/bricoman/ios/StyleDictionaryColor.m +0 -506
  201. package/bricoman/assets/tokens/bricoman/ios/StyleDictionaryColor.swift +0 -489
  202. package/bricoman/assets/tokens/bricoman/ios/StyleDictionarySize.h +0 -69
  203. package/bricoman/assets/tokens/bricoman/ios/StyleDictionarySize.m +0 -70
  204. package/bricoman/assets/tokens/bricoman/ios/StyleDictionarySize.swift +0 -71
@@ -0,0 +1,2 @@
1
+ export * from './index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2NhcmQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,5 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Injector, Input, Output, ViewChild, forwardRef, } from '@angular/core';
2
- import { FormControlName, FormGroupDirective, NG_VALUE_ACCESSOR, NgControl, } from '@angular/forms';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, forwardRef, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "../listbox/listbox.component";
@@ -8,8 +8,7 @@ import * as i4 from "../icon/icon.component";
8
8
  import * as i5 from "../tag/tag.component";
9
9
  import * as i6 from "../taglist/taglist.component";
10
10
  export class DropdownComponent {
11
- constructor(injector, cd) {
12
- this.injector = injector;
11
+ constructor(cd) {
13
12
  this.cd = cd;
14
13
  this.listboxItems = [];
15
14
  this.multiple = false;
@@ -28,24 +27,19 @@ export class DropdownComponent {
28
27
  this.openState = false;
29
28
  this.labelClearButton = 'Clear';
30
29
  this.scrollEnd = new EventEmitter();
31
- this.onDropdownChange = () => { };
32
- this.onDropdownTouch = () => { };
33
- }
34
- ngOnInit() {
35
- const ngControl = this.injector.get(NgControl);
36
- if (ngControl instanceof FormControlName) {
37
- this.control = this.injector.get(FormGroupDirective).getControl(ngControl);
38
- }
30
+ this.onChange = () => { };
31
+ this.onTouch = () => { };
39
32
  }
40
33
  writeValue(value) {
41
34
  this.selectedItems = value;
42
- this.onDropdownChange(value);
35
+ this.onChange(value);
36
+ this.onTouch();
43
37
  }
44
38
  registerOnChange(fn) {
45
- this.onDropdownChange = fn;
39
+ this.onChange = fn;
46
40
  }
47
41
  registerOnTouched(fn) {
48
- this.onDropdownTouch = fn;
42
+ this.onTouch = fn;
49
43
  }
50
44
  openListbox() {
51
45
  if (this.openState) {
@@ -59,27 +53,13 @@ export class DropdownComponent {
59
53
  if (!this.multiple) {
60
54
  this.openState = false;
61
55
  }
62
- if (this.control) {
63
- this.control.setValue(listboxItemSelected);
64
- this.control.markAsDirty();
65
- this.control.markAsTouched();
66
- }
67
- else {
68
- this.writeValue(listboxItemSelected);
69
- }
56
+ this.writeValue(listboxItemSelected);
70
57
  }
71
58
  clearFieldEvent() {
72
59
  if (!this.disabled) {
73
60
  this.selectedItems = undefined;
74
61
  this.openState = false;
75
- if (this.control) {
76
- this.control.setValue(this.selectedItems);
77
- this.control.markAsDirty();
78
- this.control.markAsTouched();
79
- }
80
- else {
81
- this.writeValue(this.selectedItems);
82
- }
62
+ this.writeValue(this.selectedItems);
83
63
  }
84
64
  }
85
65
  getMultiSelectedLabel() {
@@ -108,7 +88,7 @@ export class DropdownComponent {
108
88
  : this.placeholder;
109
89
  }
110
90
  getLabelFromMonoSelection() {
111
- return this.getSelectedListboxItem()?.label || this.placeholder;
91
+ return this.getSelectedListboxItem()?.label ?? this.placeholder;
112
92
  }
113
93
  canClearField() {
114
94
  if (this.multiple) {
@@ -126,14 +106,7 @@ export class DropdownComponent {
126
106
  }
127
107
  removeTagEvent($event) {
128
108
  const selectedItems = this.selectedItems.filter((selectedItem) => selectedItem.value !== $event.id);
129
- if (this.control) {
130
- this.control.setValue(selectedItems);
131
- this.control.markAsDirty();
132
- this.control.markAsTouched();
133
- }
134
- else {
135
- this.writeValue(selectedItems);
136
- }
109
+ this.writeValue(selectedItems);
137
110
  this.taglistComponent.updateTaglistLayerConfig(this.getTagItemsFromSelectedItems());
138
111
  if (this.getTagItemsFromSelectedItems().length === 0) {
139
112
  this.taglistComponent.closeTaglistLayer();
@@ -144,7 +117,7 @@ export class DropdownComponent {
144
117
  this.scrollEnd.emit($event);
145
118
  }
146
119
  }
147
- DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownComponent, deps: [{ token: Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
120
+ DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
148
121
  DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DropdownComponent, selector: "moz-dropdown", inputs: { listboxItems: "listboxItems", multiple: "multiple", placeholder: "placeholder", disabled: "disabled", loading: "loading", clearfield: "clearfield", valid: "valid", invalid: "invalid", showSelectedTag: "showSelectedTag", showTagList: "showTagList", maxShowingSelectedTags: "maxShowingSelectedTags", size: "size", layerTagsTitle: "layerTagsTitle", layerTagsIcon: "layerTagsIcon", openState: "openState", labelClearButton: "labelClearButton" }, outputs: { scrollEnd: "scrollEnd" }, providers: [
149
122
  {
150
123
  provide: NG_VALUE_ACCESSOR,
@@ -161,10 +134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
161
134
  multi: true,
162
135
  },
163
136
  ], template: "<div\n class=\"mc-dropdown mc-dropdown--clearable\"\n [ngClass]=\"{ 'mc-dropdown--multi': multiple }\"\n [ngStyle]=\"{\n '--dropdown-tag-width':\n showSelectedTag && multiple && getSelectedListboxItems().length > 0 ? '3.5rem' : '',\n '--dropdown-width': '100%'\n }\"\n>\n <moz-listbox\n [listboxItems]=\"listboxItems\"\n [(isOpen)]=\"openState\"\n [multiple]=\"multiple\"\n [selectedItems]=\"selectedItems\"\n (itemsSelected)=\"itemsSelectedListboxEvent($event)\"\n (scrollEnd)=\"scrollEndEvent($event)\"\n >\n <div class=\"mc-dropdown__main\" reference>\n <moz-tag\n *ngIf=\"showSelectedTag && multiple && getSelectedListboxItems().length > 0\"\n class=\"mc-dropdown__tag mc-tag-removable mc-tag-removable--s mc-autocomplete__tag\"\n type=\"removable\"\n [size]=\"'s'\"\n (clickOnRemove)=\"clearFieldEvent()\"\n >\n {{ getSelectedListboxItems().length }}</moz-tag\n >\n\n <button\n type=\"button\"\n id=\"trigger\"\n class=\"mc-select mc-dropdown__trigger mc-button--{{ size }}\"\n [ngClass]=\"{\n 'is-open': openState,\n 'is-invalid': invalid,\n 'is-valid': valid,\n }\"\n aria-haspopup=\"listbox\"\n title=\"Dropdown menu options\"\n [disabled]=\"disabled\"\n aria-expanded=\"false\"\n (click)=\"openListbox()\"\n >\n <ng-container *ngIf=\"multiple; else monoSelection\">{{\n getLabelFromMultipleSelection()\n }}</ng-container>\n <ng-template #monoSelection>{{ getLabelFromMonoSelection() }}</ng-template>\n </button>\n\n <div class=\"mc-dropdown__tools\">\n <div class=\"mc-dropdown__loader mc-loader mc-loader--s\" *ngIf=\"loading\">\n <span class=\"mc-loader__spinner\">\n <moz-loader class=\"mc-loader__icon\" size=\"s\"></moz-loader>\n </span>\n </div>\n <button\n class=\"mc-dropdown__clear\"\n type=\"button\"\n *ngIf=\"canClearField()\"\n (click)=\"clearFieldEvent()\"\n >\n <moz-icon\n class=\"mc-dropdown__clear-icon\"\n [iconName]=\"'Navigation_Control_Tag--Cross_24px'\"\n ></moz-icon>\n <span class=\"mc-dropdown__clear-text\">{{ labelClearButton }}</span>\n </button>\n </div>\n </div>\n </moz-listbox>\n</div>\n<div class=\"mc-dropdow__taglist\" *ngIf=\"showTagList && multiple && !openState\">\n <moz-taglist\n #taglist\n (removeTag)=\"removeTagEvent($event)\"\n [tagItems]=\"getTagItemsFromSelectedItems()\"\n [max]=\"maxShowingSelectedTags\"\n [layerTagsTitle]=\"layerTagsTitle\"\n [layerTagsIcon]=\"layerTagsIcon\"\n ></moz-taglist>\n</div>\n", styles: [".mc-select{font-family:Roboto,sans-serif;font-weight:400;box-sizing:border-box;outline:none;appearance:none;padding:0;margin:0;box-shadow:none;border:none;font-size:1rem;line-height:1.125;background-position:right 1rem center,right 2.5rem center;padding:calc(.9375rem - 1px) 3rem calc(.9375rem - 1px) calc(.75rem - 1px);background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1rem' width='1rem' fill='%23191919' viewBox='0 0 16 16'%3E%3Cpath d='M8 11.5a1 1 0 01-.71-.29l-5-5a1 1 0 011.42-1.42L8 9.09l4.29-4.3a1 1 0 111.42 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E\");background-color:#fff;background-repeat:no-repeat;background-size:1rem 1rem,1.5rem 1.5rem;border:1px solid #666666;border-radius:4px;color:#191919;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.mc-select[type=number]::-webkit-inner-spin-button,.mc-select[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mc-select[type=number]{-moz-appearance:textfield}.mc-select[type=search]::-webkit-search-decoration:hover,.mc-select[type=search]::-webkit-search-cancel-button:hover{cursor:pointer}.mc-select::-ms-expand{display:none}.mc-select:hover{border-color:#191919}.mc-select:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #758992}.mc-select:disabled{background-color:#e6e6e6;border-color:#e6e6e6;color:#666;cursor:not-allowed;opacity:1}.mc-select.is-invalid{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1rem' width='1rem' fill='%23191919' viewBox='0 0 16 16'%3E%3Cpath d='M8 11.5a1 1 0 01-.71-.29l-5-5a1 1 0 011.42-1.42L8 9.09l4.29-4.3a1 1 0 111.42 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E\"),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMS41cmVtIiB3aWR0aD0iMS41cmVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNjNjExMTIiPjxwYXRoIGQ9Ik0xMiAyYTEwIDEwIDAgMTAxMCAxMEExMCAxMCAwIDAwMTIgMnptMCAxOGE4IDggMCAxMTgtOCA4IDggMCAwMS04IDh6Ii8+PHBhdGggZD0iTTEyIDdhMSAxIDAgMDAtMSAxdjQuMzhhMSAxIDAgMDAyIDBWOGExIDEgMCAwMC0xLTF6Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNiIgcj0iMSIvPjwvc3ZnPg==);border-color:#c61112}.mc-select.is-valid{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1rem' width='1rem' fill='%23191919' viewBox='0 0 16 16'%3E%3Cpath d='M8 11.5a1 1 0 01-.71-.29l-5-5a1 1 0 011.42-1.42L8 9.09l4.29-4.3a1 1 0 111.42 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E\"),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMS41cmVtIiB3aWR0aD0iMS41cmVtIiBmaWxsPSIjNDZhNjEwIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMiA0YTggOCAwIDExLTggOCA4IDggMCAwMTgtOG0wLTJhMTAgMTAgMCAxMDEwIDEwQTEwIDEwIDAgMDAxMiAyeiIvPjxwYXRoIGQ9Ik0xMC43MyAxNS43NWExIDEgMCAwMS0uNjgtLjI2bC0zLTIuNzRhMSAxIDAgMDExLjM2LTEuNDdsMi4yNSAyLjA4IDQuMzYtNC40MmExIDEgMCAxMTEuNDIgMS40MWwtNSA1LjFhMSAxIDAgMDEtLjcxLjN6Ii8+PC9zdmc+);border-color:#46a610}.mc-select--s{font-size:.875rem;line-height:1.1428571429;background-position:right .5rem center,right 2rem center;padding:calc(.5rem - 1px) 2rem calc(.5rem - 1px) calc(.5rem - 1px)}@media screen and (min-width: 680px){.mc-select--s\\@from-m{font-size:.875rem;line-height:1.1428571429;background-position:right .5rem center,right 2rem center;padding:calc(.5rem - 1px) 2rem calc(.5rem - 1px) calc(.5rem - 1px)}}@media screen and (min-width: 1024px){.mc-select--s\\@from-l{font-size:.875rem;line-height:1.1428571429;background-position:right .5rem center,right 2rem center;padding:calc(.5rem - 1px) 2rem calc(.5rem - 1px) calc(.5rem - 1px)}}@media screen and (min-width: 1280px){.mc-select--s\\@from-xl{font-size:.875rem;line-height:1.1428571429;background-position:right .5rem center,right 2rem center;padding:calc(.5rem - 1px) 2rem calc(.5rem - 1px) calc(.5rem - 1px)}}@media screen and (min-width: 1920px){.mc-select--s\\@from-xxl{font-size:.875rem;line-height:1.1428571429;background-position:right .5rem center,right 2rem center;padding:calc(.5rem - 1px) 2rem calc(.5rem - 1px) calc(.5rem - 1px)}}.mc-select--m{font-size:1rem;line-height:1.125;background-position:right 1rem center,right 2.5rem center;padding:calc(.9375rem - 1px) 3rem calc(.9375rem - 1px) calc(.75rem - 1px)}@media screen and (min-width: 680px){.mc-select--m\\@from-m{font-size:1rem;line-height:1.125;background-position:right 1rem center,right 2.5rem center;padding:calc(.9375rem - 1px) 3rem calc(.9375rem - 1px) calc(.75rem - 1px)}}@media screen and (min-width: 1024px){.mc-select--m\\@from-l{font-size:1rem;line-height:1.125;background-position:right 1rem center,right 2.5rem center;padding:calc(.9375rem - 1px) 3rem calc(.9375rem - 1px) calc(.75rem - 1px)}}@media screen and (min-width: 1280px){.mc-select--m\\@from-xl{font-size:1rem;line-height:1.125;background-position:right 1rem center,right 2.5rem center;padding:calc(.9375rem - 1px) 3rem calc(.9375rem - 1px) calc(.75rem - 1px)}}@media screen and (min-width: 1920px){.mc-select--m\\@from-xxl{font-size:1rem;line-height:1.125;background-position:right 1rem center,right 2.5rem center;padding:calc(.9375rem - 1px) 3rem calc(.9375rem - 1px) calc(.75rem - 1px)}}.mc-listbox{background-color:#fff;border:1px solid #666666;border-radius:3px;overflow-y:auto;max-height:var(--listbox-height, 13.8125rem);max-width:var(--listbox-maxwidth, none);min-width:var(--listbox-minwidth, 18rem);width:var(--listbox-width, auto)}.mc-listbox::-webkit-scrollbar{background-color:#e6e6e6;width:.25rem}.mc-listbox::-webkit-scrollbar-thumb{background:#666666}.mc-listbox__list{list-style:none;margin:0;padding-left:0}.mc-listbox__tile{align-items:center;display:flex;gap:.5rem;height:3rem;justify-content:flex-start;padding-left:.75rem;padding-right:.75rem;position:relative}.mc-listbox__tile:not(.mc-listbox__tile--empty):not(.is-disabled):hover{background-color:#e6e6e6;box-shadow:inset 9px 0 0 -7px #191919}.mc-listbox__tile--danger{color:#c61112}.mc-listbox__tile--empty{color:#666;justify-content:center}.mc-listbox__tile--empty .mc-listbox__label{cursor:default}.mc-listbox__tile.is-disabled{box-shadow:none;background-color:#ccc;color:#666;pointer-events:none}.mc-listbox__flag,.mc-listbox__icon,.mc-listbox__logo{height:2rem;width:2rem}.mc-listbox__flag{font-size:1.4375rem;line-height:1.3913043478;text-align:center}.mc-listbox__icon{fill:#666}.mc-listbox__label{color:currentColor;cursor:pointer;white-space:nowrap}button.mc-listbox__label{background:none;border:none;padding:0;font-size:inherit;font-family:inherit}.mc-listbox__label:after{content:\"\";position:absolute;inset:0;z-index:2}.mc-listbox__input{margin-left:auto;order:1}.mc-listbox--left{right:0}.mc-listbox:not(.mc-listbox--multi) .mc-listbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-listbox--options .mc-listbox__tile:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--options .mc-listbox__tile.is-selected .mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__tile.is-selected.is-disabled .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__input:checked+.mc-listbox__label:before{visibility:visible}.mc-listbox--options .mc-listbox__input:checked:disabled+.mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666666' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\")}.mc-listbox--options .mc-listbox__label:before{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23191919' height='1.5rem' width='1.5rem'%3E%3Cpath d='M10 18.68a1 1 0 01-.7-.29l-5-5A1 1 0 015.73 12L10 16.27 18.31 8a1 1 0 011.42 1.42l-9 9a1 1 0 01-.73.26z'/%3E%3C/svg%3E\");background-position:center;background-repeat:no-repeat;background-size:1.5rem;content:\"\";height:1.5rem;position:absolute;right:.75rem;top:0;transform:translateY(50%);width:1.5rem;visibility:hidden}.mc-listbox--actions{--listbox-height: auto;--listbox-minwidth: px-to-rem(278)}.mc-listbox--actions .mc-listbox__list:not(:last-child){border-bottom:1px solid #b3b3b3}.mc-listbox--actions .mc-listbox__list:first-child{padding-top:.4375rem;padding-bottom:.5rem}.mc-listbox--actions .mc-listbox__list:last-child{padding-top:.5rem;padding-bottom:.4375rem}.mc-listbox--actions .mc-listbox__list:not(:first-child):not(:last-child){padding-top:.5rem;padding-bottom:.5rem}.mc-listbox--overlay{position:absolute;z-index:10}.mc-loader{color:#007f8c;align-items:center;display:inline-flex;flex-direction:column}.mc-loader .mc-loader__spinner{height:2rem;width:2rem}.mc-loader .mc-loader__path{stroke-width:4}.mc-loader .mc-loader__path{stroke:currentColor}.mc-loader__spinner:not(:only-child){margin-bottom:1rem}.mc-loader__icon{animation:rotate-loader 2s linear infinite;transform-origin:center}.mc-loader__path{fill:none;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:animate-dash-loader 2s ease-in-out infinite}.mc-loader__text{font-size:1rem;line-height:1.375;color:currentColor}.mc-loader--s .mc-loader__spinner{height:1.5rem;width:1.5rem}.mc-loader--s .mc-loader__path{stroke-width:4}.mc-loader--l .mc-loader__spinner{height:4rem;width:4rem}.mc-loader--l .mc-loader__path{stroke-width:8}.mc-loader--dark{color:#191919}.mc-loader--dark .mc-loader__path{stroke:currentColor}.mc-loader--light{color:#fff}.mc-loader--light .mc-loader__path{stroke:currentColor}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(270deg)}}@keyframes animate-dash-loader{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.mc-dropdown{align-self:start;position:relative;min-width:18rem;max-width:var(--dropdown-width, auto);width:100%}.mc-dropdown__tag,.mc-dropdown__tools{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.mc-dropdown__tag{left:.75rem}.mc-dropdown__trigger{display:block;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.mc-dropdown__trigger.is-open{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1rem' width='1rem' fill='%23000000' viewBox='0 0 16 16'%3E%3Cpath d='M2 10.5a1 1 0 01.29-.71l5-5a1 1 0 011.42 0l5 5a1 1 0 01-1.42 1.42L8 6.91l-4.29 4.3a1 1 0 01-1.42 0A1 1 0 012 10.5z'/%3E%3C/svg%3E\")}.mc-dropdown__tools{align-items:center;background-color:#fff;display:flex;gap:.5rem;justify-content:flex-end;right:2.5rem}.is-valid+.mc-dropdown__tools,.is-invalid+.mc-dropdown__tools{right:4.5rem}.mc-dropdown__clear{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s ease;background:none;border-radius:50%}.mc-dropdown__clear:focus{box-shadow:0 0 0 2px #758992}.mc-dropdown__clear,.mc-dropdown__clear-icon{height:1.5rem;width:1.5rem}.mc-dropdown__clear-icon{fill:#666}.mc-dropdown__clear-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-dropdown--multi .mc-dropdown__trigger{padding-left:calc(.75rem + var(--dropdown-tag-width, 0px))}.mc-button{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;padding:0;color:#fff;background-color:#007f8c;font-family:Roboto,sans-serif;font-weight:700;font-size:1rem;line-height:1.375;padding:.6875rem 1.5rem;min-height:3rem;min-width:3rem;cursor:pointer;border-radius:4px;text-align:center;border:2px solid transparent;transition:all ease .2s;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;align-items:stretch;box-sizing:border-box;fill:currentColor}.mc-button:hover{background-color:#006974;color:#fff}.mc-button:active{background-color:#006974}.mc-button:disabled,.mc-button.is-disabled{background-color:#ccc;border-color:transparent;color:#666;cursor:not-allowed}.mc-button .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button .mc-button__icon:first-child,.mc-button .mc-button__icon:last-child{margin-bottom:-1px;margin-top:-1px}.mc-button .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}.mc-button:focus{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #758992}.mc-button--s{font-size:.875rem;line-height:1.2857142857;padding:.3125rem 1rem;min-height:2rem;min-width:2rem}.mc-button--s .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--s .mc-button__icon:first-child,.mc-button--s .mc-button__icon:last-child{margin-bottom:-.1875rem;margin-top:-.1875rem}.mc-button--s .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:1.5rem;height:1.5rem}@media screen and (min-width: 680px){.mc-button--s\\@from-m{font-size:.875rem;line-height:1.2857142857;padding:.3125rem 1rem;min-height:2rem;min-width:2rem}.mc-button--s\\@from-m .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--s\\@from-m .mc-button__icon:first-child,.mc-button--s\\@from-m .mc-button__icon:last-child{margin-bottom:-.1875rem;margin-top:-.1875rem}.mc-button--s\\@from-m .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:1.5rem;height:1.5rem}}@media screen and (min-width: 1024px){.mc-button--s\\@from-l{font-size:.875rem;line-height:1.2857142857;padding:.3125rem 1rem;min-height:2rem;min-width:2rem}.mc-button--s\\@from-l .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--s\\@from-l .mc-button__icon:first-child,.mc-button--s\\@from-l .mc-button__icon:last-child{margin-bottom:-.1875rem;margin-top:-.1875rem}.mc-button--s\\@from-l .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:1.5rem;height:1.5rem}}@media screen and (min-width: 1280px){.mc-button--s\\@from-xl{font-size:.875rem;line-height:1.2857142857;padding:.3125rem 1rem;min-height:2rem;min-width:2rem}.mc-button--s\\@from-xl .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--s\\@from-xl .mc-button__icon:first-child,.mc-button--s\\@from-xl .mc-button__icon:last-child{margin-bottom:-.1875rem;margin-top:-.1875rem}.mc-button--s\\@from-xl .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:1.5rem;height:1.5rem}}@media screen and (min-width: 1920px){.mc-button--s\\@from-xxl{font-size:.875rem;line-height:1.2857142857;padding:.3125rem 1rem;min-height:2rem;min-width:2rem}.mc-button--s\\@from-xxl .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--s\\@from-xxl .mc-button__icon:first-child,.mc-button--s\\@from-xxl .mc-button__icon:last-child{margin-bottom:-.1875rem;margin-top:-.1875rem}.mc-button--s\\@from-xxl .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:1.5rem;height:1.5rem}}.mc-button--m{font-size:1rem;line-height:1.375;padding:.6875rem 1.5rem;min-height:3rem;min-width:3rem}.mc-button--m .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--m .mc-button__icon:first-child,.mc-button--m .mc-button__icon:last-child{margin-bottom:-1px;margin-top:-1px}.mc-button--m .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}@media screen and (min-width: 680px){.mc-button--m\\@from-m{font-size:1rem;line-height:1.375;padding:.6875rem 1.5rem;min-height:3rem;min-width:3rem}.mc-button--m\\@from-m .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--m\\@from-m .mc-button__icon:first-child,.mc-button--m\\@from-m .mc-button__icon:last-child{margin-bottom:-1px;margin-top:-1px}.mc-button--m\\@from-m .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}}@media screen and (min-width: 1024px){.mc-button--m\\@from-l{font-size:1rem;line-height:1.375;padding:.6875rem 1.5rem;min-height:3rem;min-width:3rem}.mc-button--m\\@from-l .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--m\\@from-l .mc-button__icon:first-child,.mc-button--m\\@from-l .mc-button__icon:last-child{margin-bottom:-1px;margin-top:-1px}.mc-button--m\\@from-l .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}}@media screen and (min-width: 1280px){.mc-button--m\\@from-xl{font-size:1rem;line-height:1.375;padding:.6875rem 1.5rem;min-height:3rem;min-width:3rem}.mc-button--m\\@from-xl .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--m\\@from-xl .mc-button__icon:first-child,.mc-button--m\\@from-xl .mc-button__icon:last-child{margin-bottom:-1px;margin-top:-1px}.mc-button--m\\@from-xl .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}}@media screen and (min-width: 1920px){.mc-button--m\\@from-xxl{font-size:1rem;line-height:1.375;padding:.6875rem 1.5rem;min-height:3rem;min-width:3rem}.mc-button--m\\@from-xxl .mc-button__icon{width:1.5rem;height:1.5rem}.mc-button--m\\@from-xxl .mc-button__icon:first-child,.mc-button--m\\@from-xxl .mc-button__icon:last-child{margin-bottom:-1px;margin-top:-1px}.mc-button--m\\@from-xxl .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}}.mc-button--l{font-size:1.125rem;line-height:1.3333333333;padding:.875rem 1.5rem;min-height:3.5rem;min-width:3.5rem}.mc-button--l .mc-button__icon{width:2rem;height:2rem}.mc-button--l .mc-button__icon:first-child,.mc-button--l .mc-button__icon:last-child{margin-bottom:-.25rem;margin-top:-.25rem}.mc-button--l .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}@media screen and (min-width: 680px){.mc-button--l\\@from-m{font-size:1.125rem;line-height:1.3333333333;padding:.875rem 1.5rem;min-height:3.5rem;min-width:3.5rem}.mc-button--l\\@from-m .mc-button__icon{width:2rem;height:2rem}.mc-button--l\\@from-m .mc-button__icon:first-child,.mc-button--l\\@from-m .mc-button__icon:last-child{margin-bottom:-.25rem;margin-top:-.25rem}.mc-button--l\\@from-m .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}}@media screen and (min-width: 1024px){.mc-button--l\\@from-l{font-size:1.125rem;line-height:1.3333333333;padding:.875rem 1.5rem;min-height:3.5rem;min-width:3.5rem}.mc-button--l\\@from-l .mc-button__icon{width:2rem;height:2rem}.mc-button--l\\@from-l .mc-button__icon:first-child,.mc-button--l\\@from-l .mc-button__icon:last-child{margin-bottom:-.25rem;margin-top:-.25rem}.mc-button--l\\@from-l .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}}@media screen and (min-width: 1280px){.mc-button--l\\@from-xl{font-size:1.125rem;line-height:1.3333333333;padding:.875rem 1.5rem;min-height:3.5rem;min-width:3.5rem}.mc-button--l\\@from-xl .mc-button__icon{width:2rem;height:2rem}.mc-button--l\\@from-xl .mc-button__icon:first-child,.mc-button--l\\@from-xl .mc-button__icon:last-child{margin-bottom:-.25rem;margin-top:-.25rem}.mc-button--l\\@from-xl .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}}@media screen and (min-width: 1920px){.mc-button--l\\@from-xxl{font-size:1.125rem;line-height:1.3333333333;padding:.875rem 1.5rem;min-height:3.5rem;min-width:3.5rem}.mc-button--l\\@from-xxl .mc-button__icon{width:2rem;height:2rem}.mc-button--l\\@from-xxl .mc-button__icon:first-child,.mc-button--l\\@from-xxl .mc-button__icon:last-child{margin-bottom:-.25rem;margin-top:-.25rem}.mc-button--l\\@from-xxl .mc-button__icon:only-child{margin-bottom:0;margin-top:0;width:2rem;height:2rem}}.mc-button--fit{display:inline-flex;width:auto}@media screen and (min-width: 680px){.mc-button--fit\\@from-m{display:inline-flex;width:auto}}@media screen and (min-width: 1024px){.mc-button--fit\\@from-l{display:inline-flex;width:auto}}@media screen and (min-width: 1280px){.mc-button--fit\\@from-xl{display:inline-flex;width:auto}}@media screen and (min-width: 1920px){.mc-button--fit\\@from-xxl{display:inline-flex;width:auto}}.mc-button--full{display:flex;width:100%}@supports ((width: -webkit-fill-available) or (width: -moz-available) or (width: stretch)){.mc-button--full{width:-webkit-fill-available;width:-moz-available;width:stretch}}@media screen and (min-width: 680px){.mc-button--full\\@from-m{display:flex;width:100%}@supports ((width: -webkit-fill-available) or (width: -moz-available) or (width: stretch)){.mc-button--full\\@from-m{width:-webkit-fill-available;width:-moz-available;width:stretch}}}@media screen and (min-width: 1024px){.mc-button--full\\@from-l{display:flex;width:100%}@supports ((width: -webkit-fill-available) or (width: -moz-available) or (width: stretch)){.mc-button--full\\@from-l{width:-webkit-fill-available;width:-moz-available;width:stretch}}}@media screen and (min-width: 1280px){.mc-button--full\\@from-xl{display:flex;width:100%}@supports ((width: -webkit-fill-available) or (width: -moz-available) or (width: stretch)){.mc-button--full\\@from-xl{width:-webkit-fill-available;width:-moz-available;width:stretch}}}@media screen and (min-width: 1920px){.mc-button--full\\@from-xxl{display:flex;width:100%}@supports ((width: -webkit-fill-available) or (width: -moz-available) or (width: stretch)){.mc-button--full\\@from-xxl{width:-webkit-fill-available;width:-moz-available;width:stretch}}}.mc-button--square{align-items:center;height:0;padding:0}@media screen and (min-width: 1024px){.mc-button--square{padding:0}}.mc-button__icon{flex-shrink:0}.mc-button__icon:last-child{margin-left:.5rem;margin-right:-.25rem}.mc-button__icon:first-child{margin-right:.5rem;margin-left:-.25rem}.mc-button__icon:only-child{margin:0}.mc-button__label{align-items:center;display:flex;pointer-events:none}a.mc-button:disabled,a.mc-button.is-disabled{pointer-events:none}.mc-button--solid-primary-02{background-color:#6a7081}.mc-button--solid-primary-02:hover{background-color:#242938}.mc-button--solid-primary-02:active{background-color:#171b26}.mc-button--solid-primary-02:disabled,.mc-button--solid-primary-02.is-disabled{background-color:#ccc;border-color:transparent;color:#666;cursor:not-allowed}.mc-button--solid-neutral{background-color:#333}.mc-button--solid-neutral:hover{background-color:#191919}.mc-button--solid-neutral:active{background-color:#333}.mc-button--solid-neutral:disabled,.mc-button--solid-neutral.is-disabled{background-color:#ccc;border-color:transparent;color:#666;cursor:not-allowed}.mc-button--solid-danger{background-color:#c61112}.mc-button--solid-danger:hover,.mc-button--solid-danger:active{background-color:#8c0003}.mc-button--solid-danger:disabled,.mc-button--solid-danger.is-disabled{background-color:#ccc;border-color:transparent;color:#666;cursor:not-allowed}.mc-button--bordered{color:#007f8c;border-color:#007f8c;background-color:#fff}.mc-button--bordered:hover{background-color:#d9f0f3;color:#006974}.mc-button--bordered:active{background-color:#91d5db;color:#004e57}.mc-button--bordered:disabled,.mc-button--bordered.is-disabled{background-color:#ccc;border-color:transparent;color:#666;cursor:not-allowed}.mc-button--bordered-primary-02{color:#6a7081;border-color:#6a7081;background-color:#fff}.mc-button--bordered-primary-02:hover{background-color:#eeeff1;color:#6a7081}.mc-button--bordered-primary-02:active{background-color:#cfd2d8}.mc-button--bordered-primary-02:disabled,.mc-button--bordered-primary-02.is-disabled{background-color:#ccc;border-color:transparent;color:#666;cursor:not-allowed}.mc-button--bordered-neutral{color:#333;border-color:#333;background-color:#fff}.mc-button--bordered-neutral:hover{background-color:#e6e6e6;color:#333}.mc-button--bordered-neutral:active{background-color:#ccc}.mc-button--bordered-neutral:disabled,.mc-button--bordered-neutral.is-disabled{background-color:#ccc;border-color:transparent;color:#666;cursor:not-allowed}.mc-button--bordered-danger{color:#c61112;border-color:#c61112;background-color:#fff}.mc-button--bordered-danger:hover{background-color:#fdeaea;color:#8c0003}.mc-button--bordered-danger:active{background-color:#f8bcbb;color:#530000}.mc-button--bordered-danger:disabled,.mc-button--bordered-danger.is-disabled{background-color:#ccc;border-color:transparent;color:#666;cursor:not-allowed}.mc-dropdow__taglist{margin-top:1rem}\n"] }]
164
- }], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
165
- type: Inject,
166
- args: [Injector]
167
- }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { listboxItems: [{
137
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { listboxItems: [{
168
138
  type: Input
169
139
  }], multiple: [{
170
140
  type: Input
@@ -202,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
202
172
  type: ViewChild,
203
173
  args: ['taglist', { static: false }]
204
174
  }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFHTCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFrQnhCLE1BQU0sT0FBTyxpQkFBaUI7SUE0QjVCLFlBQXNDLFFBQWtCLEVBQVUsRUFBcUI7UUFBakQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBM0J2RSxpQkFBWSxHQUFrQixFQUFFLENBQUM7UUFDakMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFXLGFBQWEsQ0FBQztRQUNwQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsMkJBQXNCLEdBQVcsQ0FBQyxDQUFDO1FBQ25DLFNBQUksR0FBZ0IsR0FBRyxDQUFDO1FBQ3hCLG1CQUFjLEdBQVcs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cENILGt1RkFpRkE7NEZEM0NhLGlCQUFpQjtrQkFiN0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkE4QlksTUFBTTsyQkFBQyxRQUFROzRFQTNCWixZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLHNCQUFzQjtzQkFBckMsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFFVyxTQUFTO3NCQUF6QixNQUFNO2dCQUVrQyxnQkFBZ0I7c0JBQXhELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0Ym94SXRlbSB9IGZyb20gJy4uL2xpc3Rib3gvbW9kZWwvbGlzdGJveC1pdGVtJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUNvbnRyb2xOYW1lLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBOZ0NvbnRyb2wsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRhZ0l0ZW0gfSBmcm9tICcuLi90YWcvdGFnLXR5cGUnO1xuaW1wb3J0IHsgVGFnbGlzdENvbXBvbmVudCB9IGZyb20gJy4uL3RhZ2xpc3QvdGFnbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uU2l6ZXMgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW96LWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHJvcGRvd25Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0Ym94SXRlbXM6IExpc3Rib3hJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1BsYWNlaG9sZGVyJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjbGVhcmZpZWxkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyB2YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1NlbGVjdGVkVGFnOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93VGFnTGlzdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbWF4U2hvd2luZ1NlbGVjdGVkVGFnczogbnVtYmVyID0gNTtcbiAgQElucHV0KCkgcHVibGljIHNpemU6IEJ1dHRvblNpemVzID0gJ20nO1xuICBASW5wdXQoKSBwdWJsaWMgbGF5ZXJUYWdzVGl0bGU6IHN0cmluZyA9ICdEcm9wZG93biB0YWdzJztcbiAgQElucHV0KCkgcHVibGljIGxheWVyVGFnc0ljb246IHN0cmluZyA9ICdOYXZpZ2F0aW9uX0Rpc3BsYXlfU2V0dGluZ18yNHB4JztcbiAgQElucHV0KCkgcHVibGljIG9wZW5TdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWxDbGVhckJ1dHRvbjogc3RyaW5nID0gJ0NsZWFyJztcblxuICBAT3V0cHV0KCkgcHVibGljIHNjcm9sbEVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAVmlld0NoaWxkKCd0YWdsaXN0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHRhZ2xpc3RDb21wb25lbnQhOiBUYWdsaXN0Q29tcG9uZW50O1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyBjb250cm9sITogRm9ybUNvbnRyb2w7XG5cbiAgcHVibGljIG9uRHJvcGRvd25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBwdWJsaWMgb25Ecm9wZG93blRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgbmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sKTtcbiAgICBpZiAobmdDb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChGb3JtR3JvdXBEaXJlY3RpdmUpLmdldENvbnRyb2wobmdDb250cm9sKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBMaXN0Ym94SXRlbVtdIHwgTGlzdGJveEl0ZW0gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB2YWx1ZTtcbiAgICB0aGlzLm9uRHJvcGRvd25DaGFuZ2UodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25Ecm9wZG93bkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uRHJvcGRvd25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgcHVibGljIG9wZW5MaXN0Ym94KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wZW5TdGF0ZSkge1xuICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuU3RhdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpdGVtc1NlbGVjdGVkTGlzdGJveEV2ZW50KGxpc3Rib3hJdGVtU2VsZWN0ZWQ6IExpc3Rib3hJdGVtW10gfCBMaXN0Ym94SXRlbSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGxpc3Rib3hJdGVtU2VsZWN0ZWQpO1xuICAgICAgdGhpcy5jb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUobGlzdGJveEl0ZW1TZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyRmllbGRFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMub3BlblN0YXRlID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICAgICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRNdWx0aVNlbGVjdGVkTGFiZWwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkSXRlbXMgYXMgTGlzdGJveEl0ZW1bXSlcbiAgICAgICAgLm1hcCgoc2VsZWN0ZWRJdGVtKSA9PiBzZWxlY3RlZEl0ZW0ubGFiZWwpXG4gICAgICAgIC5qb2luKCcsICcpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKTogTGlzdGJveEl0ZW1bXSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW107XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZExpc3Rib3hJdGVtKCk6IExpc3Rib3hJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldExhYmVsRnJvbU11bHRpcGxlU2VsZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKS5sZW5ndGggPiAwXG4gICAgICA/IHRoaXMuZ2V0TXVsdGlTZWxlY3RlZExhYmVsKClcbiAgICAgIDogdGhpcy5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYWJlbEZyb21Nb25vU2VsZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbSgpPy5sYWJlbCB8fCB0aGlzLnBsYWNlaG9sZGVyO1xuICB9XG5cbiAgcHVibGljIGNhbkNsZWFyRmllbGQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyZmllbGQgJiYgdGhpcy5nZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCA+IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmNsZWFyZmllbGQgJiYgdGhpcy5nZXRTZWxlY3RlZExpc3Rib3hJdGVtKCkgIT0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VGFnSXRlbXNGcm9tU2VsZWN0ZWRJdGVtcygpOiBUYWdJdGVtW10ge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW10pLm1hcChcbiAgICAgIChzZWxlY3RlZEl0ZW0pID0+ICh7IGlkOiBzZWxlY3RlZEl0ZW0udmFsdWUsIGxhYmVsOiBzZWxlY3RlZEl0ZW0ubGFiZWwgfSBhcyBUYWdJdGVtKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVGFnRXZlbnQoJGV2ZW50OiBUYWdJdGVtKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9ICh0aGlzLnNlbGVjdGVkSXRlbXMgYXMgTGlzdGJveEl0ZW1bXSkuZmlsdGVyKFxuICAgICAgKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLnZhbHVlICE9PSAkZXZlbnQuaWRcbiAgICApO1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZEl0ZW1zKTtcbiAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHNlbGVjdGVkSXRlbXMpO1xuICAgIH1cbiAgICB0aGlzLnRhZ2xpc3RDb21wb25lbnQudXBkYXRlVGFnbGlzdExheWVyQ29uZmlnKHRoaXMuZ2V0VGFnSXRlbXNGcm9tU2VsZWN0ZWRJdGVtcygpKTtcbiAgICBpZiAodGhpcy5nZXRUYWdJdGVtc0Zyb21TZWxlY3RlZEl0ZW1zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnRhZ2xpc3RDb21wb25lbnQuY2xvc2VUYWdsaXN0TGF5ZXIoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxFbmRFdmVudCgkZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbEVuZC5lbWl0KCRldmVudCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJtYy1kcm9wZG93biBtYy1kcm9wZG93bi0tY2xlYXJhYmxlXCJcbiAgW25nQ2xhc3NdPVwieyAnbWMtZHJvcGRvd24tLW11bHRpJzogbXVsdGlwbGUgfVwiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICAnLS1kcm9wZG93bi10YWctd2lkdGgnOlxuICAgICAgc2hvd1NlbGVjdGVkVGFnICYmIG11bHRpcGxlICYmIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMCA/ICczLjVyZW0nIDogJycsXG4gICAgJy0tZHJvcGRvd24td2lkdGgnOiAnMTAwJSdcbiAgfVwiXG4+XG4gIDxtb3otbGlzdGJveFxuICAgIFtsaXN0Ym94SXRlbXNdPVwibGlzdGJveEl0ZW1zXCJcbiAgICBbKGlzT3BlbildPVwib3BlblN0YXRlXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgIFtzZWxlY3RlZEl0ZW1zXT1cInNlbGVjdGVkSXRlbXNcIlxuICAgIChpdGVtc1NlbGVjdGVkKT1cIml0ZW1zU2VsZWN0ZWRMaXN0Ym94RXZlbnQoJGV2ZW50KVwiXG4gICAgKHNjcm9sbEVuZCk9XCJzY3JvbGxFbmRFdmVudCgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJtYy1kcm9wZG93bl9fbWFpblwiIHJlZmVyZW5jZT5cbiAgICAgIDxtb3otdGFnXG4gICAgICAgICpuZ0lmPVwic2hvd1NlbGVjdGVkVGFnICYmIG11bHRpcGxlICYmIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMFwiXG4gICAgICAgIGNsYXNzPVwibWMtZHJvcGRvd25fX3RhZyBtYy10YWctcmVtb3ZhYmxlIG1jLXRhZy1yZW1vdmFibGUtLXMgbWMtYXV0b2NvbXBsZXRlX190YWdcIlxuICAgICAgICB0eXBlPVwicmVtb3ZhYmxlXCJcbiAgICAgICAgW3NpemVdPVwiJ3MnXCJcbiAgICAgICAgKGNsaWNrT25SZW1vdmUpPVwiY2xlYXJGaWVsZEV2ZW50KClcIlxuICAgICAgPlxuICAgICAgICB7eyBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCB9fTwvbW96LXRhZ1xuICAgICAgPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpZD1cInRyaWdnZXJcIlxuICAgICAgICBjbGFzcz1cIm1jLXNlbGVjdCBtYy1kcm9wZG93bl9fdHJpZ2dlciBtYy1idXR0b24tLXt7IHNpemUgfX1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2lzLW9wZW4nOiBvcGVuU3RhdGUsXG4gICAgICAgICAgJ2lzLWludmFsaWQnOiBpbnZhbGlkLFxuICAgICAgICAgICdpcy12YWxpZCc6IHZhbGlkLFxuICAgICAgICB9XCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICAgICAgICB0aXRsZT1cIkRyb3Bkb3duIG1lbnUgb3B0aW9uc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuTGlzdGJveCgpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlOyBlbHNlIG1vbm9TZWxlY3Rpb25cIj57e1xuICAgICAgICAgIGdldExhYmVsRnJvbU11bHRpcGxlU2VsZWN0aW9uKClcbiAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNtb25vU2VsZWN0aW9uPnt7IGdldExhYmVsRnJvbU1vbm9TZWxlY3Rpb24oKSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWRyb3Bkb3duX190b29sc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWMtZHJvcGRvd25fX2xvYWRlciBtYy1sb2FkZXIgbWMtbG9hZGVyLS1zXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1sb2FkZXJfX3NwaW5uZXJcIj5cbiAgICAgICAgICAgIDxtb3otbG9hZGVyIGNsYXNzPVwibWMtbG9hZGVyX19pY29uXCIgc2l6ZT1cInNcIj48L21vei1sb2FkZXI+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwibWMtZHJvcGRvd25fX2NsZWFyXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAqbmdJZj1cImNhbkNsZWFyRmllbGQoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmllbGRFdmVudCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtb3otaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYy1kcm9wZG93bl9fY2xlYXItaWNvblwiXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiJ05hdmlnYXRpb25fQ29udHJvbF9UYWctLUNyb3NzXzI0cHgnXCJcbiAgICAgICAgICA+PC9tb3otaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWRyb3Bkb3duX19jbGVhci10ZXh0XCI+e3sgbGFiZWxDbGVhckJ1dHRvbiB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9tb3otbGlzdGJveD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm1jLWRyb3Bkb3dfX3RhZ2xpc3RcIiAqbmdJZj1cInNob3dUYWdMaXN0ICYmIG11bHRpcGxlICYmICFvcGVuU3RhdGVcIj5cbiAgPG1vei10YWdsaXN0XG4gICAgI3RhZ2xpc3RcbiAgICAocmVtb3ZlVGFnKT1cInJlbW92ZVRhZ0V2ZW50KCRldmVudClcIlxuICAgIFt0YWdJdGVtc109XCJnZXRUYWdJdGVtc0Zyb21TZWxlY3RlZEl0ZW1zKClcIlxuICAgIFttYXhdPVwibWF4U2hvd2luZ1NlbGVjdGVkVGFnc1wiXG4gICAgW2xheWVyVGFnc1RpdGxlXT1cImxheWVyVGFnc1RpdGxlXCJcbiAgICBbbGF5ZXJUYWdzSWNvbl09XCJsYXllclRhZ3NJY29uXCJcbiAgPjwvbW96LXRhZ2xpc3Q+XG48L2Rpdj5cbiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBa0J6RSxNQUFNLE9BQU8saUJBQWlCO0lBMkI1QixZQUFvQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQTFCekIsaUJBQVksR0FBa0IsRUFBRSxDQUFDO1FBQ2pDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxhQUFhLENBQUM7UUFDcEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLDJCQUFzQixHQUFXLENBQUMsQ0FBQztRQUNuQyxTQUFJLEdBQWdCLEdBQUcsQ0FBQztRQUN4QixtQkFBYyxHQUFXLGVBQWUsQ0FBQztRQUN6QyxrQkFBYSxHQUFXLGlDQUFpQyxDQUFDO1FBQzFELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IscUJBQWdCLEdBQVcsT0FBTyxD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QyxpQkFBaUIsQ0FBQztZQUNoRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsdUlDM0JILGt1RkFpRkE7NEZEcERhLGlCQUFpQjtrQkFiN0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQUdlLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1Usc0JBQXNCO3NCQUFyQyxLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUVXLFNBQVM7c0JBQXpCLE1BQU07Z0JBRWtDLGdCQUFnQjtzQkFBeEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3Rib3hJdGVtIH0gZnJvbSAnLi4vbGlzdGJveC9tb2RlbC9saXN0Ym94LWl0ZW0nO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGFnSXRlbSB9IGZyb20gJy4uL3RhZy90YWctdHlwZSc7XG5pbXBvcnQgeyBUYWdsaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vdGFnbGlzdC90YWdsaXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25TaXplcyB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb3otZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEcm9wZG93bkNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgcHVibGljIGxpc3Rib3hJdGVtczogTGlzdGJveEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnUGxhY2Vob2xkZXInO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNsZWFyZmllbGQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U2VsZWN0ZWRUYWc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dUYWdMaXN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhTaG93aW5nU2VsZWN0ZWRUYWdzOiBudW1iZXIgPSA1O1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogQnV0dG9uU2l6ZXMgPSAnbSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYXllclRhZ3NUaXRsZTogc3RyaW5nID0gJ0Ryb3Bkb3duIHRhZ3MnO1xuICBASW5wdXQoKSBwdWJsaWMgbGF5ZXJUYWdzSWNvbjogc3RyaW5nID0gJ05hdmlnYXRpb25fRGlzcGxheV9TZXR0aW5nXzI0cHgnO1xuICBASW5wdXQoKSBwdWJsaWMgb3BlblN0YXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbENsZWFyQnV0dG9uOiBzdHJpbmcgPSAnQ2xlYXInO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2Nyb2xsRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhZ2xpc3QnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFnbGlzdENvbXBvbmVudCE6IFRhZ2xpc3RDb21wb25lbnQ7XG5cbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IExpc3Rib3hJdGVtW10gfCBMaXN0Ym94SXRlbSB8IHVuZGVmaW5lZDtcblxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IExpc3Rib3hJdGVtW10gfCBMaXN0Ym94SXRlbSB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgcHVibGljIG9wZW5MaXN0Ym94KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wZW5TdGF0ZSkge1xuICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuU3RhdGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpdGVtc1NlbGVjdGVkTGlzdGJveEV2ZW50KGxpc3Rib3hJdGVtU2VsZWN0ZWQ6IExpc3Rib3hJdGVtW10gfCBMaXN0Ym94SXRlbSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5vcGVuU3RhdGUgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy53cml0ZVZhbHVlKGxpc3Rib3hJdGVtU2VsZWN0ZWQpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyRmllbGRFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMub3BlblN0YXRlID0gZmFsc2U7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TXVsdGlTZWxlY3RlZExhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiAodGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW10pXG4gICAgICAgIC5tYXAoKHNlbGVjdGVkSXRlbSkgPT4gc2VsZWN0ZWRJdGVtLmxhYmVsKVxuICAgICAgICAuam9pbignLCAnKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCk6IExpc3Rib3hJdGVtW10ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbVtdO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbSgpOiBMaXN0Ym94SXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMYWJlbEZyb21NdWx0aXBsZVNlbGVjdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMFxuICAgICAgPyB0aGlzLmdldE11bHRpU2VsZWN0ZWRMYWJlbCgpXG4gICAgICA6IHRoaXMucGxhY2Vob2xkZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFiZWxGcm9tTW9ub1NlbGVjdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGVkTGlzdGJveEl0ZW0oKT8ubGFiZWwgPz8gdGhpcy5wbGFjZWhvbGRlcjtcbiAgfVxuXG4gIHB1YmxpYyBjYW5DbGVhckZpZWxkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5jbGVhcmZpZWxkICYmIHRoaXMuZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbXMoKS5sZW5ndGggPiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5jbGVhcmZpZWxkICYmIHRoaXMuZ2V0U2VsZWN0ZWRMaXN0Ym94SXRlbSgpICE9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRhZ0l0ZW1zRnJvbVNlbGVjdGVkSXRlbXMoKTogVGFnSXRlbVtdIHtcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRJdGVtcykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gKHRoaXMuc2VsZWN0ZWRJdGVtcyBhcyBMaXN0Ym94SXRlbVtdKS5tYXAoXG4gICAgICAoc2VsZWN0ZWRJdGVtKSA9PiAoeyBpZDogc2VsZWN0ZWRJdGVtLnZhbHVlLCBsYWJlbDogc2VsZWN0ZWRJdGVtLmxhYmVsIH0gYXMgVGFnSXRlbSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVRhZ0V2ZW50KCRldmVudDogVGFnSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSAodGhpcy5zZWxlY3RlZEl0ZW1zIGFzIExpc3Rib3hJdGVtW10pLmZpbHRlcihcbiAgICAgIChzZWxlY3RlZEl0ZW0pID0+IHNlbGVjdGVkSXRlbS52YWx1ZSAhPT0gJGV2ZW50LmlkXG4gICAgKTtcblxuICAgIHRoaXMud3JpdGVWYWx1ZShzZWxlY3RlZEl0ZW1zKTtcbiAgICB0aGlzLnRhZ2xpc3RDb21wb25lbnQudXBkYXRlVGFnbGlzdExheWVyQ29uZmlnKHRoaXMuZ2V0VGFnSXRlbXNGcm9tU2VsZWN0ZWRJdGVtcygpKTtcbiAgICBpZiAodGhpcy5nZXRUYWdJdGVtc0Zyb21TZWxlY3RlZEl0ZW1zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnRhZ2xpc3RDb21wb25lbnQuY2xvc2VUYWdsaXN0TGF5ZXIoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxFbmRFdmVudCgkZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbEVuZC5lbWl0KCRldmVudCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJtYy1kcm9wZG93biBtYy1kcm9wZG93bi0tY2xlYXJhYmxlXCJcbiAgW25nQ2xhc3NdPVwieyAnbWMtZHJvcGRvd24tLW11bHRpJzogbXVsdGlwbGUgfVwiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICAnLS1kcm9wZG93bi10YWctd2lkdGgnOlxuICAgICAgc2hvd1NlbGVjdGVkVGFnICYmIG11bHRpcGxlICYmIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMCA/ICczLjVyZW0nIDogJycsXG4gICAgJy0tZHJvcGRvd24td2lkdGgnOiAnMTAwJSdcbiAgfVwiXG4+XG4gIDxtb3otbGlzdGJveFxuICAgIFtsaXN0Ym94SXRlbXNdPVwibGlzdGJveEl0ZW1zXCJcbiAgICBbKGlzT3BlbildPVwib3BlblN0YXRlXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgIFtzZWxlY3RlZEl0ZW1zXT1cInNlbGVjdGVkSXRlbXNcIlxuICAgIChpdGVtc1NlbGVjdGVkKT1cIml0ZW1zU2VsZWN0ZWRMaXN0Ym94RXZlbnQoJGV2ZW50KVwiXG4gICAgKHNjcm9sbEVuZCk9XCJzY3JvbGxFbmRFdmVudCgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJtYy1kcm9wZG93bl9fbWFpblwiIHJlZmVyZW5jZT5cbiAgICAgIDxtb3otdGFnXG4gICAgICAgICpuZ0lmPVwic2hvd1NlbGVjdGVkVGFnICYmIG11bHRpcGxlICYmIGdldFNlbGVjdGVkTGlzdGJveEl0ZW1zKCkubGVuZ3RoID4gMFwiXG4gICAgICAgIGNsYXNzPVwibWMtZHJvcGRvd25fX3RhZyBtYy10YWctcmVtb3ZhYmxlIG1jLXRhZy1yZW1vdmFibGUtLXMgbWMtYXV0b2NvbXBsZXRlX190YWdcIlxuICAgICAgICB0eXBlPVwicmVtb3ZhYmxlXCJcbiAgICAgICAgW3NpemVdPVwiJ3MnXCJcbiAgICAgICAgKGNsaWNrT25SZW1vdmUpPVwiY2xlYXJGaWVsZEV2ZW50KClcIlxuICAgICAgPlxuICAgICAgICB7eyBnZXRTZWxlY3RlZExpc3Rib3hJdGVtcygpLmxlbmd0aCB9fTwvbW96LXRhZ1xuICAgICAgPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpZD1cInRyaWdnZXJcIlxuICAgICAgICBjbGFzcz1cIm1jLXNlbGVjdCBtYy1kcm9wZG93bl9fdHJpZ2dlciBtYy1idXR0b24tLXt7IHNpemUgfX1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2lzLW9wZW4nOiBvcGVuU3RhdGUsXG4gICAgICAgICAgJ2lzLWludmFsaWQnOiBpbnZhbGlkLFxuICAgICAgICAgICdpcy12YWxpZCc6IHZhbGlkLFxuICAgICAgICB9XCJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICAgICAgICB0aXRsZT1cIkRyb3Bkb3duIG1lbnUgb3B0aW9uc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuTGlzdGJveCgpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlOyBlbHNlIG1vbm9TZWxlY3Rpb25cIj57e1xuICAgICAgICAgIGdldExhYmVsRnJvbU11bHRpcGxlU2VsZWN0aW9uKClcbiAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNtb25vU2VsZWN0aW9uPnt7IGdldExhYmVsRnJvbU1vbm9TZWxlY3Rpb24oKSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWRyb3Bkb3duX190b29sc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWMtZHJvcGRvd25fX2xvYWRlciBtYy1sb2FkZXIgbWMtbG9hZGVyLS1zXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1sb2FkZXJfX3NwaW5uZXJcIj5cbiAgICAgICAgICAgIDxtb3otbG9hZGVyIGNsYXNzPVwibWMtbG9hZGVyX19pY29uXCIgc2l6ZT1cInNcIj48L21vei1sb2FkZXI+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwibWMtZHJvcGRvd25fX2NsZWFyXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAqbmdJZj1cImNhbkNsZWFyRmllbGQoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyRmllbGRFdmVudCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtb3otaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYy1kcm9wZG93bl9fY2xlYXItaWNvblwiXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiJ05hdmlnYXRpb25fQ29udHJvbF9UYWctLUNyb3NzXzI0cHgnXCJcbiAgICAgICAgICA+PC9tb3otaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWRyb3Bkb3duX19jbGVhci10ZXh0XCI+e3sgbGFiZWxDbGVhckJ1dHRvbiB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9tb3otbGlzdGJveD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm1jLWRyb3Bkb3dfX3RhZ2xpc3RcIiAqbmdJZj1cInNob3dUYWdMaXN0ICYmIG11bHRpcGxlICYmICFvcGVuU3RhdGVcIj5cbiAgPG1vei10YWdsaXN0XG4gICAgI3RhZ2xpc3RcbiAgICAocmVtb3ZlVGFnKT1cInJlbW92ZVRhZ0V2ZW50KCRldmVudClcIlxuICAgIFt0YWdJdGVtc109XCJnZXRUYWdJdGVtc0Zyb21TZWxlY3RlZEl0ZW1zKClcIlxuICAgIFttYXhdPVwibWF4U2hvd2luZ1NlbGVjdGVkVGFnc1wiXG4gICAgW2xheWVyVGFnc1RpdGxlXT1cImxheWVyVGFnc1RpdGxlXCJcbiAgICBbbGF5ZXJUYWdzSWNvbl09XCJsYXllclRhZ3NJY29uXCJcbiAgPjwvbW96LXRhZ2xpc3Q+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +1,7 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
2
  import { Direction } from './model/header';
3
3
  import { fromEvent, map, pairwise, startWith } from 'rxjs';
4
+ import { BreadcrumbComponent } from '../breadcrumb';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "../badge/badge.component";
@@ -41,11 +42,6 @@ export class HeaderComponent {
41
42
  (this.tabsRef?.nativeElement.children && this.tabsRef?.nativeElement.children.length === 0)) {
42
43
  this.showTabs = false;
43
44
  }
44
- if (this.breadcrumbRef == null ||
45
- (this.breadcrumbRef?.nativeElement.children &&
46
- this.breadcrumbRef?.nativeElement.children.length === 0)) {
47
- this.showBreadcrumb = false;
48
- }
49
45
  if (this.activateAnimation && this.sticky) {
50
46
  this.animate = true;
51
47
  this.scrollWithAnimationAndSticky();
@@ -55,6 +51,10 @@ export class HeaderComponent {
55
51
  }
56
52
  this.cdRef.detectChanges();
57
53
  }
54
+ ngAfterContentInit() {
55
+ this.showBreadcrumb = !!this.breadcrumb;
56
+ this.cdRef.detectChanges();
57
+ }
58
58
  onParentScrollWithOnlyAnimation(parentElement) {
59
59
  let previousState = 'unfixed';
60
60
  const headerHeight = this.header.nativeElement.offsetHeight;
@@ -224,10 +224,10 @@ export class HeaderComponent {
224
224
  }
225
225
  }
226
226
  HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
227
- HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "moz-header", inputs: { title: "title", subtitle: "subtitle", badgeType: "badgeType", badgeContent: "badgeContent", size: "size", showShadow: "showShadow", sticky: "sticky", activateAnimation: "activateAnimation", showBack: "showBack", backButtonLabel: "backButtonLabel" }, outputs: { backEvent: "backEvent", directionChangeEvent: "directionChangeEvent", headerStateEvent: "headerStateEvent" }, queries: [{ propertyName: "contentChildren", predicate: ["*"] }], viewQueries: [{ propertyName: "tabsRef", first: true, predicate: ["tabsRef"], descendants: true }, { propertyName: "breadcrumbRef", first: true, predicate: ["breadcrumbRef"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "icons", first: true, predicate: ["iconsWrapper"], descendants: true }, { propertyName: "selector", first: true, predicate: ["selectorWrapper"], descendants: true }], ngImport: i0, template: "<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n <ng-container ngProjectAs=\"'moz-breadcrumb'\" #breadcrumbRef *ngIf=\"showBreadcrumb && !showBack\">\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n </ng-container>\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:Roboto,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:700;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.4375rem;line-height:1.3913043478}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}.mc-header--unfixed{top:0;left:0;right:0;z-index:1;position:relative;transform:translateY(0)}.mc-header--unpinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(-100%)}.mc-header--pinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(0)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BadgeComponent, selector: "[moz-badge]", inputs: ["type"] }, { kind: "component", type: i3.IconComponent, selector: "moz-icon", inputs: ["iconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
227
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "moz-header", inputs: { title: "title", subtitle: "subtitle", badgeType: "badgeType", badgeContent: "badgeContent", size: "size", showShadow: "showShadow", sticky: "sticky", activateAnimation: "activateAnimation", showBack: "showBack", backButtonLabel: "backButtonLabel" }, outputs: { backEvent: "backEvent", directionChangeEvent: "directionChangeEvent", headerStateEvent: "headerStateEvent" }, queries: [{ propertyName: "breadcrumb", first: true, predicate: BreadcrumbComponent, descendants: true }, { propertyName: "contentChildren", predicate: ["*"] }], viewQueries: [{ propertyName: "tabsRef", first: true, predicate: ["tabsRef"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "icons", first: true, predicate: ["iconsWrapper"], descendants: true }, { propertyName: "selector", first: true, predicate: ["selectorWrapper"], descendants: true }], ngImport: i0, template: "<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:Roboto,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:700;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.4375rem;line-height:1.3913043478}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}.mc-header--unfixed{top:0;left:0;right:0;z-index:1;position:relative;transform:translateY(0)}.mc-header--unpinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(-100%)}.mc-header--pinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(0)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.BadgeComponent, selector: "[moz-badge]", inputs: ["type"] }, { kind: "component", type: i3.IconComponent, selector: "moz-icon", inputs: ["iconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
228
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
229
229
  type: Component,
230
- args: [{ selector: 'moz-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n <ng-container ngProjectAs=\"'moz-breadcrumb'\" #breadcrumbRef *ngIf=\"showBreadcrumb && !showBack\">\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n </ng-container>\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:Roboto,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:700;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.4375rem;line-height:1.3913043478}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}.mc-header--unfixed{top:0;left:0;right:0;z-index:1;position:relative;transform:translateY(0)}.mc-header--unpinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(-100%)}.mc-header--pinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(0)}\n"] }]
230
+ args: [{ selector: 'moz-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #header class=\"mc-header\" [ngClass]=\"headerClasses\">\n <div class=\"mc-header__container\">\n\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n\n <div class=\"mc-header__actions\" *ngIf=\"showActions\">\n <div class=\"mc-header__icons\">\n <div #iconsWrapper>\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__selector\">\n <div #selectorWrapper>\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:Roboto,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:700;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.4375rem;line-height:1.3913043478}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}.mc-header--unfixed{top:0;left:0;right:0;z-index:1;position:relative;transform:translateY(0)}.mc-header--unpinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(-100%)}.mc-header--pinned{top:0;left:0;right:0;z-index:1;position:sticky;transform:translateY(0)}\n"] }]
231
231
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { title: [{
232
232
  type: Input
233
233
  }], subtitle: [{
@@ -257,9 +257,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
257
257
  }], tabsRef: [{
258
258
  type: ViewChild,
259
259
  args: ['tabsRef']
260
- }], breadcrumbRef: [{
261
- type: ViewChild,
262
- args: ['breadcrumbRef']
263
260
  }], header: [{
264
261
  type: ViewChild,
265
262
  args: ['header']
@@ -269,8 +266,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
269
266
  }], selector: [{
270
267
  type: ViewChild,
271
268
  args: ['selectorWrapper']
269
+ }], breadcrumb: [{
270
+ type: ContentChild,
271
+ args: [BreadcrumbComponent]
272
272
  }], contentChildren: [{
273
273
  type: ContentChildren,
274
274
  args: ['*']
275
275
  }] } });
276
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQVEzRCxNQUFNLE9BQU8sZUFBZTtJQWtDMUIsWUFBb0IsS0FBd0IsRUFBVSxVQUFzQjtRQUF4RCxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFqQzVELFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixjQUFTLEdBQWMsYUFBYSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLFNBQUksR0FBZSxHQUFHLENBQUM7UUFDdkIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLG9CQUFlLEdBQVcsTUFBTSxDQUFDO1FBRWhDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7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Q1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUVXLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1Usb0JBQW9CO3NCQUFwQyxNQUFNO2dCQUNVLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFFZSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ1EsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQUNMLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDUSxLQUFLO3NCQUEvQixTQUFTO3VCQUFDLGNBQWM7Z0JBQ0ssUUFBUTtzQkFBckMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBRU4sZUFBZTtzQkFBcEMsZUFBZTt1QkFBQyxHQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYWRnZVR5cGUgfSBmcm9tICcuLi9iYWRnZS9iYWRnZSc7XG5pbXBvcnQgeyBEaXJlY3Rpb24sIHRpdGxlU2l6ZXMgfSBmcm9tICcuL21vZGVsL2hlYWRlcic7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1hcCwgcGFpcndpc2UsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb3otaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJ0aXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBiYWRnZVR5cGU6IEJhZGdlVHlwZSA9ICdpbmZvcm1hdGlvbic7XG4gIEBJbnB1dCgpIHB1YmxpYyBiYWRnZUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogdGl0bGVTaXplcyA9ICdtJztcbiAgQElucHV0KCkgcHVibGljIHNob3dTaGFkb3c6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc3RpY2t5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBhY3RpdmF0ZUFuaW1hdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0JhY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGJhY2tCdXR0b25MYWJlbDogc3RyaW5nID0gJ0JhY2snO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgYmFja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGRpcmVjdGlvbkNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxEaXJlY3Rpb24+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaGVhZGVyU3RhdGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYnNSZWYnKSB0YWJzUmVmPzogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnYnJlYWRjcnVtYlJlZicpIGJyZWFkY3J1bWJSZWY/OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdoZWFkZXInKSBoZWFkZXIhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdpY29uc1dyYXBwZXInKSBpY29ucyE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdG9yV3JhcHBlcicpIHNlbGVjdG9yITogRWxlbWVudFJlZjtcblxuICBAQ29udGVudENoaWxkcmVuKCcqJykgY29udGVudENoaWxkcmVuITogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIHB1YmxpYyBoZWFkZXJIZWlnaHQgPSAwO1xuICBwdWJsaWMgcGlubmVkID0gZmFsc2U7XG4gIHB1YmxpYyB1bmZpeGVkID0gZmFsc2U7XG4gIHB1YmxpYyB1bnBpbm5lZCA9IGZhbHNlO1xuICBwdWJsaWMgZGlyZWN0aW9uPzogRGlyZWN0aW9uID0gRGlyZWN0aW9uLlVwO1xuICBwdWJsaWMgc2hvd0FjdGlvbnM6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc2hvd0JyZWFkY3J1bWI6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc2hvd1RhYnM6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIGFuaW1hdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhlYWRlckhlaWdodCA9IHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgdGhpcy5zaG93QWN0aW9ucyA9XG4gICAgICAodGhpcy5pY29ucyAmJiB0aGlzLmljb25zLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCkgfHxcbiAgICAgICh0aGlzLnNlbGVjdG9yICYmIHRoaXMuc2VsZWN0b3IubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKTtcbiAgICBpZiAoXG4gICAgICB0aGlzLnRhYnNSZWYgPT0gbnVsbCB8fFxuICAgICAgKHRoaXMudGFic1JlZj8ubmF0aXZlRWxlbWVudC5jaGlsZHJlbiAmJiB0aGlzLnRhYnNSZWY/Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09PSAwKVxuICAgICkge1xuICAgICAgdGhpcy5zaG93VGFicyA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLmJyZWFkY3J1bWJSZWYgPT0gbnVsbCB8fFxuICAgICAgKHRoaXMuYnJlYWRjcnVtYlJlZj8ubmF0aXZlRWxlbWVudC5jaGlsZHJlbiAmJlxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJSZWY/Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09PSAwKVxuICAgICkge1xuICAgICAgdGhpcy5zaG93QnJlYWRjcnVtYiA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGl2YXRlQW5pbWF0aW9uICYmIHRoaXMuc3RpY2t5KSB7XG4gICAgICB0aGlzLmFuaW1hdGUgPSB0cnVlO1xuICAgICAgdGhpcy5zY3JvbGxXaXRoQW5pbWF0aW9uQW5kU3RpY2t5KCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2YXRlQW5pbWF0aW9uICYmICF0aGlzLnN0aWNreSkge1xuICAgICAgdGhpcy5zY3JvbGxXaXRoT25seUFuaW1hdGlvbigpO1xuICAgIH1cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBhcmVudFNjcm9sbFdpdGhPbmx5QW5pbWF0aW9uKHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgbGV0IHByZXZpb3VzU3RhdGUgPSAndW5maXhlZCc7XG4gICAgY29uc3QgaGVhZGVySGVpZ2h0ID0gdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICBsZXQgbGFzdFNjcm9sbFRvcCA9IHBhcmVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IDA7XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsVG9wID0gcGFyZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgMDtcblxuICAgICAgaWYgKGN1cnJlbnRTY3JvbGxUb3AgPT09IDApIHtcbiAgICAgICAgdGhpcy51bmZpeGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51bnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhlYWRlclN0YXRlRXZlbnQuZW1pdCgndW5maXhlZCcpO1xuICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3VuZml4ZWQnO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50U2Nyb2xsVG9wIDwgbGFzdFNjcm9sbFRvcCAmJiBjdXJyZW50U2Nyb2xsVG9wID4gaGVhZGVySGVpZ2h0KSB7XG4gICAgICAgIHRoaXMucGlubmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy51bnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnVuZml4ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3Bpbm5lZCcpO1xuICAgICAgICBpZiAocHJldmlvdXNTdGF0ZSAhPT0gJ3VuZml4ZWQnKSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbmltYXRlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcHJldmlvdXNTdGF0ZSA9ICdwaW5uZWQnO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50U2Nyb2xsVG9wID4gbGFzdFNjcm9sbFRvcCAmJiBjdXJyZW50U2Nyb2xsVG9wID4gaGVhZGVySGVpZ2h0KSB7XG4gICAgICAgIHRoaXMudW5waW5uZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnVuZml4ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3VucGlubmVkJyk7XG4gICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9PSAndW5maXhlZCcpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJBbmltYXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFuaW1hdGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3VucGlubmVkJztcbiAgICAgIH1cbiAgICAgIHRoaXMuZGlyZWN0aW9uID0gY3VycmVudFNjcm9sbFRvcCA+IGxhc3RTY3JvbGxUb3AgPyBEaXJlY3Rpb24uRG93biA6IERpcmVjdGlvbi5VcDtcbiAgICAgIHRoaXMuZGlyZWN0aW9uQ2hhbmdlRXZlbnQuZW1pdCh0aGlzLmRpcmVjdGlvbik7XG4gICAgICBsYXN0U2Nyb2xsVG9wID0gY3VycmVudFNjcm9sbFRvcDtcblxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfTtcblxuICAgIHBhcmVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxXaXRoT25seUFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY3RpdmF0ZUFuaW1hdGlvbiAmJiAhdGhpcy5zdGlja3kpIHtcbiAgICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLmZpbmRQYXJlbnRXaXRoU2Nyb2xsKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgaWYgKHBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5vblBhcmVudFNjcm9sbFdpdGhPbmx5QW5pbWF0aW9uKHBhcmVudEVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHByZXZpb3VzU3RhdGUgPSAndW5maXhlZCc7XG4gICAgICAgIGNvbnN0IGhlYWRlckhlaWdodCA9IHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuICAgICAgICBmcm9tRXZlbnQod2luZG93LCAnc2Nyb2xsJylcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiB3aW5kb3cuc2Nyb2xsWSksXG4gICAgICAgICAgICBzdGFydFdpdGgoMCksXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgbWFwKChbeTEsIHkyXSk6IERpcmVjdGlvbiA9PiB7XG4gICAgICAgICAgICAgIGlmICh5MiA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMudW5maXhlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVucGlubmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5hbmltYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3VuZml4ZWQnKTtcbiAgICAgICAgICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3VuZml4ZWQnO1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHkyIDwgeTEgJiYgeTIgPiBoZWFkZXJIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBpbm5lZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy51bnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMudW5maXhlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHByZXZpb3VzU3RhdGUgPSAncGlubmVkJztcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclN0YXRlRXZlbnQuZW1pdCgncGlubmVkJyk7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzU3RhdGUgIT09ICd1bmZpeGVkJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmICh5MiA+IHkxICYmIHkyID4gaGVhZGVySGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy51bnBpbm5lZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVuZml4ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclN0YXRlRXZlbnQuZW1pdCgndW5waW5uZWQnKTtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNTdGF0ZSAhPT0gJ3VuZml4ZWQnKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXJBbmltYXRpb24oKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbmltYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHByZXZpb3VzU3RhdGUgPSAndW5waW5uZWQnO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiB5MiA8IHkxID8gRGlyZWN0aW9uLlVwIDogRGlyZWN0aW9uLkRvd247XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKChkaXJlY3Rpb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb25DaGFuZ2VFdmVudC5lbWl0KHRoaXMuZGlyZWN0aW9uKTtcbiAgICAgICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblBhcmVudFNjcm9sbFdpdGhBbmltYXRpb25BbmRTdGlja3kocGFyZW50RWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBsZXQgbGFzdFNjcm9sbFRvcCA9IHBhcmVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IDA7XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Nyb2xsVG9wID0gcGFyZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgMDtcbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsVG9wID4gbGFzdFNjcm9sbFRvcCkge1xuICAgICAgICB0aGlzLmRpcmVjdGlvbiA9IERpcmVjdGlvbi5Eb3duO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSBEaXJlY3Rpb24uVXA7XG4gICAgICB9XG4gICAgICB0aGlzLmRpcmVjdGlvbkNoYW5nZUV2ZW50LmVtaXQodGhpcy5kaXJlY3Rpb24pO1xuICAgICAgbGFzdFNjcm9sbFRvcCA9IGN1cnJlbnRTY3JvbGxUb3A7XG5cbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG5cbiAgICBwYXJlbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsV2l0aEFuaW1hdGlvbkFuZFN0aWNreSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hbmltYXRlICYmIHRoaXMuc3RpY2t5KSB7XG4gICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5maW5kUGFyZW50V2l0aFNjcm9sbCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIGlmIChwYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMub25QYXJlbnRTY3JvbGxXaXRoQW5pbWF0aW9uQW5kU3RpY2t5KHBhcmVudEVsZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Njcm9sbCcpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gd2luZG93LnNjcm9sbFkpLFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIG1hcCgoW3kxLCB5Ml0pOiBEaXJlY3Rpb24gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4geTIgPCB5MSA/IERpcmVjdGlvbi5VcCA6IERpcmVjdGlvbi5Eb3duO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoZGlyZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aW9uQ2hhbmdlRXZlbnQuZW1pdCh0aGlzLmRpcmVjdGlvbik7XG4gICAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluZFBhcmVudFdpdGhTY3JvbGwoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGlmIChlbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgIGNvbnN0IGhhc092ZXJmbG93ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocGFyZW50KS5vdmVyZmxvdztcbiAgICAgIGlmIChoYXNPdmVyZmxvdyA9PT0gJ2F1dG8nIHx8IGhhc092ZXJmbG93ID09PSAnc2Nyb2xsJykge1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFBhcmVudFdpdGhTY3JvbGwocGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhlYWRlckNsYXNzZXMoKTogT2JqZWN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ21jLWhlYWRlci0tc2hhZG93JzogdGhpcy5zaG93U2hhZG93LFxuICAgICAgJ21jLWhlYWRlci0tc3RpY2t5JzogdGhpcy5zdGlja3ksXG4gICAgICAnbWMtaGVhZGVyLS1hbmltYXRlJzogdGhpcy5hbmltYXRlLFxuICAgICAgJ21jLWhlYWRlci0tdXAnOiB0aGlzLmFuaW1hdGUgJiYgdGhpcy5zdGlja3kgJiYgdGhpcy5kaXJlY3Rpb24gPT09ICdVcCcsXG4gICAgICAnbWMtaGVhZGVyLS1kb3duJzogdGhpcy5hbmltYXRlICYmIHRoaXMuc3RpY2t5ICYmIHRoaXMuZGlyZWN0aW9uICE9PSAnVXAnLFxuICAgICAgJ21jLWhlYWRlci0tdW5maXhlZCc6IHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5ICYmIHRoaXMudW5maXhlZCxcbiAgICAgICdtYy1oZWFkZXItLXVucGlubmVkJzogdGhpcy5hY3RpdmF0ZUFuaW1hdGlvbiAmJiAhdGhpcy5zdGlja3kgJiYgdGhpcy51bnBpbm5lZCxcbiAgICAgICdtYy1oZWFkZXItLXBpbm5lZCc6IHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5ICYmIHRoaXMucGlubmVkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tFdmVudC5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHRyaWdnZXJBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRlID0gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdiAjaGVhZGVyIGNsYXNzPVwibWMtaGVhZGVyXCIgW25nQ2xhc3NdPVwiaGVhZGVyQ2xhc3Nlc1wiPlxuICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19jb250YWluZXJcIj5cbiAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwiJ21vei1icmVhZGNydW1iJ1wiICNicmVhZGNydW1iUmVmICpuZ0lmPVwic2hvd0JyZWFkY3J1bWIgJiYgIXNob3dCYWNrXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtb3otYnJlYWRjcnVtYlwiPjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19hY3Rpb25zXCIgKm5nSWY9XCJzaG93QWN0aW9uc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9faWNvbnNcIj5cbiAgICAgICAgPGRpdiAjaWNvbnNXcmFwcGVyPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uc11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19zZWxlY3RvclwiPlxuICAgICAgICA8ZGl2ICNzZWxlY3RvcldyYXBwZXI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NlbGVjdG9yXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX19jb250ZW50LW1haW5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwibWMtaGVhZGVyX19iYWNrXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAqbmdJZj1cInNob3dCYWNrICYmICFzaG93QnJlYWRjcnVtYlwiXG4gICAgICAgICAgKGNsaWNrKT1cImJhY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bW96LWljb24gaWNvbk5hbWU9XCJOYXZpZ2F0aW9uX0Fycm93X0JhY2tfMjRweFwiPjwvbW96LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1oZWFkZXJfX2JhY2stbGFiZWxcIj57eyBiYWNrQnV0dG9uTGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8aDEgY2xhc3M9XCJtYy1oZWFkZXJfX3RpdGxlIG1jLWhlYWRlcl9fdGl0bGUtLXt7IHNpemUgfX1cIj57eyB0aXRsZSB9fTwvaDE+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtYy1oZWFkZXJfX2NvbnRlbnQtYXNpZGVcIlxuICAgICAgICBbbmdDbGFzc109XCJbc2hvd0JhY2sgJiYgIXNob3dCcmVhZGNydW1iID8gJ2Nhbi1uYXZpZ2F0ZScgOiAnJ11cIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLWhlYWRlcl9fc3VidGl0bGVcIiAqbmdJZj1cInN1YnRpdGxlXCI+e3sgc3VidGl0bGUgfX08L3NwYW4+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJiYWRnZUNvbnRlbnRcIiBtb3otYmFkZ2UgW3R5cGVdPVwiYmFkZ2VUeXBlIHx8ICdpbmZvcm1hdGlvbidcIj5cbiAgICAgICAgICB7eyBiYWRnZUNvbnRlbnQgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtYy1oZWFkZXJfX3RhYnMgbWMtZGl2aWRlci10b3AgbWMtZGl2aWRlci10b3AtLWxpZ2h0XCIgI3RhYnNSZWYgKm5nSWY9XCJzaG93VGFic1wiPlxuICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCInbW96LXRhYnMnXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtb3otdGFic1wiPjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUXBELE1BQU0sT0FBTyxlQUFlO0lBa0MxQixZQUFvQixLQUF3QixFQUFVLFVBQXNCO1FBQXhELFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWpDNUQsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGNBQVMsR0FBYyxhQUFhLENBQUM7UUFDckMsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsU0FBSSxHQUFlLEdBQUcsQ0FBQztRQUN2QixlQUFVLEdBQVksSUFBSSxDQUFDO1FBQzNCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsb0JBQWUsR0FBVyxNQUFNLENBQUM7UUFFaEMsY0FBUyxHQUFHLElBQUks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QkFBdkIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUVXLFNBQVM7c0JBQXpCLE1BQU07Z0JBQ1Usb0JBQW9CO3NCQUFwQyxNQUFNO2dCQUNVLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFFZSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0MsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNRLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsY0FBYztnQkFDSyxRQUFRO3NCQUFyQyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDTyxVQUFVO3NCQUE1QyxZQUFZO3VCQUFDLG1CQUFtQjtnQkFFWCxlQUFlO3NCQUFwQyxlQUFlO3VCQUFDLEdBQUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFkZ2VUeXBlIH0gZnJvbSAnLi4vYmFkZ2UvYmFkZ2UnO1xuaW1wb3J0IHsgRGlyZWN0aW9uLCB0aXRsZVNpemVzIH0gZnJvbSAnLi9tb2RlbC9oZWFkZXInO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBtYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuLi9icmVhZGNydW1iJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW96LWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc3VidGl0bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYmFkZ2VUeXBlOiBCYWRnZVR5cGUgPSAnaW5mb3JtYXRpb24nO1xuICBASW5wdXQoKSBwdWJsaWMgYmFkZ2VDb250ZW50OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNpemU6IHRpdGxlU2l6ZXMgPSAnbSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93U2hhZG93OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHN0aWNreTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYWN0aXZhdGVBbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dCYWNrOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBiYWNrQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdCYWNrJztcblxuICBAT3V0cHV0KCkgcHVibGljIGJhY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBkaXJlY3Rpb25DaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RGlyZWN0aW9uPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGhlYWRlclN0YXRlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAVmlld0NoaWxkKCd0YWJzUmVmJykgdGFic1JlZj86IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpIGhlYWRlciE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2ljb25zV3JhcHBlcicpIGljb25zITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0b3JXcmFwcGVyJykgc2VsZWN0b3IhOiBFbGVtZW50UmVmO1xuICBAQ29udGVudENoaWxkKEJyZWFkY3J1bWJDb21wb25lbnQpIGJyZWFkY3J1bWI/OiBCcmVhZGNydW1iQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oJyonKSBjb250ZW50Q2hpbGRyZW4hOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgcHVibGljIGhlYWRlckhlaWdodCA9IDA7XG4gIHB1YmxpYyBwaW5uZWQgPSBmYWxzZTtcbiAgcHVibGljIHVuZml4ZWQgPSBmYWxzZTtcbiAgcHVibGljIHVucGlubmVkID0gZmFsc2U7XG4gIHB1YmxpYyBkaXJlY3Rpb24/OiBEaXJlY3Rpb24gPSBEaXJlY3Rpb24uVXA7XG4gIHB1YmxpYyBzaG93QWN0aW9uczogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93QnJlYWRjcnVtYjogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBzaG93VGFiczogYm9vbGVhbiA9IHRydWU7XG4gIHByaXZhdGUgYW5pbWF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICB0aGlzLnNob3dBY3Rpb25zID1cbiAgICAgICh0aGlzLmljb25zICYmIHRoaXMuaWNvbnMubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKSB8fFxuICAgICAgKHRoaXMuc2VsZWN0b3IgJiYgdGhpcy5zZWxlY3Rvci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApO1xuICAgIGlmIChcbiAgICAgIHRoaXMudGFic1JlZiA9PSBudWxsIHx8XG4gICAgICAodGhpcy50YWJzUmVmPy5uYXRpdmVFbGVtZW50LmNoaWxkcmVuICYmIHRoaXMudGFic1JlZj8ubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPT09IDApXG4gICAgKSB7XG4gICAgICB0aGlzLnNob3dUYWJzID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgdGhpcy5zdGlja3kpIHtcbiAgICAgIHRoaXMuYW5pbWF0ZSA9IHRydWU7XG4gICAgICB0aGlzLnNjcm9sbFdpdGhBbmltYXRpb25BbmRTdGlja3koKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5KSB7XG4gICAgICB0aGlzLnNjcm9sbFdpdGhPbmx5QW5pbWF0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dCcmVhZGNydW1iID0gISF0aGlzLmJyZWFkY3J1bWI7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgb25QYXJlbnRTY3JvbGxXaXRoT25seUFuaW1hdGlvbihwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGxldCBwcmV2aW91c1N0YXRlID0gJ3VuZml4ZWQnO1xuICAgIGNvbnN0IGhlYWRlckhlaWdodCA9IHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgbGV0IGxhc3RTY3JvbGxUb3AgPSBwYXJlbnRFbGVtZW50LnNjcm9sbFRvcCB8fCAwO1xuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFRvcCA9IHBhcmVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IDA7XG5cbiAgICAgIGlmIChjdXJyZW50U2Nyb2xsVG9wID09PSAwKSB7XG4gICAgICAgIHRoaXMudW5maXhlZCA9IHRydWU7XG4gICAgICAgIHRoaXMucGlubmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudW5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3VuZml4ZWQnKTtcbiAgICAgICAgcHJldmlvdXNTdGF0ZSA9ICd1bmZpeGVkJztcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudFNjcm9sbFRvcCA8IGxhc3RTY3JvbGxUb3AgJiYgY3VycmVudFNjcm9sbFRvcCA+IGhlYWRlckhlaWdodCkge1xuICAgICAgICB0aGlzLnBpbm5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMudW5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51bmZpeGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGVhZGVyU3RhdGVFdmVudC5lbWl0KCdwaW5uZWQnKTtcbiAgICAgICAgaWYgKHByZXZpb3VzU3RhdGUgIT09ICd1bmZpeGVkJykge1xuICAgICAgICAgIHRoaXMudHJpZ2dlckFuaW1hdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYW5pbWF0ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHByZXZpb3VzU3RhdGUgPSAncGlubmVkJztcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudFNjcm9sbFRvcCA+IGxhc3RTY3JvbGxUb3AgJiYgY3VycmVudFNjcm9sbFRvcCA+IGhlYWRlckhlaWdodCkge1xuICAgICAgICB0aGlzLnVucGlubmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51bmZpeGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGVhZGVyU3RhdGVFdmVudC5lbWl0KCd1bnBpbm5lZCcpO1xuICAgICAgICBpZiAocHJldmlvdXNTdGF0ZSAhPT0gJ3VuZml4ZWQnKSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbmltYXRlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcHJldmlvdXNTdGF0ZSA9ICd1bnBpbm5lZCc7XG4gICAgICB9XG4gICAgICB0aGlzLmRpcmVjdGlvbiA9IGN1cnJlbnRTY3JvbGxUb3AgPiBsYXN0U2Nyb2xsVG9wID8gRGlyZWN0aW9uLkRvd24gOiBEaXJlY3Rpb24uVXA7XG4gICAgICB0aGlzLmRpcmVjdGlvbkNoYW5nZUV2ZW50LmVtaXQodGhpcy5kaXJlY3Rpb24pO1xuICAgICAgbGFzdFNjcm9sbFRvcCA9IGN1cnJlbnRTY3JvbGxUb3A7XG5cbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG5cbiAgICBwYXJlbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsV2l0aE9ubHlBbmltYXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5KSB7XG4gICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5maW5kUGFyZW50V2l0aFNjcm9sbCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIGlmIChwYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMub25QYXJlbnRTY3JvbGxXaXRoT25seUFuaW1hdGlvbihwYXJlbnRFbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBwcmV2aW91c1N0YXRlID0gJ3VuZml4ZWQnO1xuICAgICAgICBjb25zdCBoZWFkZXJIZWlnaHQgPSB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Njcm9sbCcpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gd2luZG93LnNjcm9sbFkpLFxuICAgICAgICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIG1hcCgoW3kxLCB5Ml0pOiBEaXJlY3Rpb24gPT4ge1xuICAgICAgICAgICAgICBpZiAoeTIgPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVuZml4ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMucGlubmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy51bnBpbm5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyU3RhdGVFdmVudC5lbWl0KCd1bmZpeGVkJyk7XG4gICAgICAgICAgICAgICAgcHJldmlvdXNTdGF0ZSA9ICd1bmZpeGVkJztcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICh5MiA8IHkxICYmIHkyID4gaGVhZGVySGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5waW5uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMudW5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVuZml4ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3Bpbm5lZCc7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3Bpbm5lZCcpO1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9PSAndW5maXhlZCcpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlckFuaW1hdGlvbigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmFuaW1hdGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoeTIgPiB5MSAmJiB5MiA+IGhlYWRlckhlaWdodCkge1xuICAgICAgICAgICAgICAgIHRoaXMudW5waW5uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMucGlubmVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy51bmZpeGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJTdGF0ZUV2ZW50LmVtaXQoJ3VucGlubmVkJyk7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzU3RhdGUgIT09ICd1bmZpeGVkJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyQW5pbWF0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwcmV2aW91c1N0YXRlID0gJ3VucGlubmVkJztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4geTIgPCB5MSA/IERpcmVjdGlvbi5VcCA6IERpcmVjdGlvbi5Eb3duO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgoZGlyZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aW9uQ2hhbmdlRXZlbnQuZW1pdCh0aGlzLmRpcmVjdGlvbik7XG4gICAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25QYXJlbnRTY3JvbGxXaXRoQW5pbWF0aW9uQW5kU3RpY2t5KHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgbGV0IGxhc3RTY3JvbGxUb3AgPSBwYXJlbnRFbGVtZW50LnNjcm9sbFRvcCB8fCAwO1xuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgY29uc3QgY3VycmVudFNjcm9sbFRvcCA9IHBhcmVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICBpZiAoY3VycmVudFNjcm9sbFRvcCA+IGxhc3RTY3JvbGxUb3ApIHtcbiAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSBEaXJlY3Rpb24uRG93bjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlyZWN0aW9uID0gRGlyZWN0aW9uLlVwO1xuICAgICAgfVxuICAgICAgdGhpcy5kaXJlY3Rpb25DaGFuZ2VFdmVudC5lbWl0KHRoaXMuZGlyZWN0aW9uKTtcbiAgICAgIGxhc3RTY3JvbGxUb3AgPSBjdXJyZW50U2Nyb2xsVG9wO1xuXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9O1xuXG4gICAgcGFyZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFdpdGhBbmltYXRpb25BbmRTdGlja3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYW5pbWF0ZSAmJiB0aGlzLnN0aWNreSkge1xuICAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuZmluZFBhcmVudFdpdGhTY3JvbGwodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICBpZiAocGFyZW50RWxlbWVudCkge1xuICAgICAgICB0aGlzLm9uUGFyZW50U2Nyb2xsV2l0aEFuaW1hdGlvbkFuZFN0aWNreShwYXJlbnRFbGVtZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZyb21FdmVudCh3aW5kb3csICdzY3JvbGwnKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IHdpbmRvdy5zY3JvbGxZKSxcbiAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICBtYXAoKFt5MSwgeTJdKTogRGlyZWN0aW9uID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHkyIDwgeTEgPyBEaXJlY3Rpb24uVXAgOiBEaXJlY3Rpb24uRG93bjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKGRpcmVjdGlvbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgICAgICAgICB0aGlzLmRpcmVjdGlvbkNoYW5nZUV2ZW50LmVtaXQodGhpcy5kaXJlY3Rpb24pO1xuICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbmRQYXJlbnRXaXRoU2Nyb2xsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICBjb25zdCBoYXNPdmVyZmxvdyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHBhcmVudCkub3ZlcmZsb3c7XG4gICAgICBpZiAoaGFzT3ZlcmZsb3cgPT09ICdhdXRvJyB8fCBoYXNPdmVyZmxvdyA9PT0gJ3Njcm9sbCcpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmRQYXJlbnRXaXRoU2Nyb2xsKHBhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBoZWFkZXJDbGFzc2VzKCk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdtYy1oZWFkZXItLXNoYWRvdyc6IHRoaXMuc2hvd1NoYWRvdyxcbiAgICAgICdtYy1oZWFkZXItLXN0aWNreSc6IHRoaXMuc3RpY2t5LFxuICAgICAgJ21jLWhlYWRlci0tYW5pbWF0ZSc6IHRoaXMuYW5pbWF0ZSxcbiAgICAgICdtYy1oZWFkZXItLXVwJzogdGhpcy5hbmltYXRlICYmIHRoaXMuc3RpY2t5ICYmIHRoaXMuZGlyZWN0aW9uID09PSAnVXAnLFxuICAgICAgJ21jLWhlYWRlci0tZG93bic6IHRoaXMuYW5pbWF0ZSAmJiB0aGlzLnN0aWNreSAmJiB0aGlzLmRpcmVjdGlvbiAhPT0gJ1VwJyxcbiAgICAgICdtYy1oZWFkZXItLXVuZml4ZWQnOiB0aGlzLmFjdGl2YXRlQW5pbWF0aW9uICYmICF0aGlzLnN0aWNreSAmJiB0aGlzLnVuZml4ZWQsXG4gICAgICAnbWMtaGVhZGVyLS11bnBpbm5lZCc6IHRoaXMuYWN0aXZhdGVBbmltYXRpb24gJiYgIXRoaXMuc3RpY2t5ICYmIHRoaXMudW5waW5uZWQsXG4gICAgICAnbWMtaGVhZGVyLS1waW5uZWQnOiB0aGlzLmFjdGl2YXRlQW5pbWF0aW9uICYmICF0aGlzLnN0aWNreSAmJiB0aGlzLnBpbm5lZCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuYW5pbWF0ZSA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgI2hlYWRlciBjbGFzcz1cIm1jLWhlYWRlclwiIFtuZ0NsYXNzXT1cImhlYWRlckNsYXNzZXNcIj5cbiAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fY29udGFpbmVyXCI+XG5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1vei1icmVhZGNydW1iXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fYWN0aW9uc1wiICpuZ0lmPVwic2hvd0FjdGlvbnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYy1oZWFkZXJfX2ljb25zXCI+XG4gICAgICAgIDxkaXYgI2ljb25zV3JhcHBlcj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWNvbnNdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fc2VsZWN0b3JcIj5cbiAgICAgICAgPGRpdiAjc2VsZWN0b3JXcmFwcGVyPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzZWxlY3Rvcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1jLWhlYWRlcl9fY29udGVudC1tYWluXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cIm1jLWhlYWRlcl9fYmFja1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKm5nSWY9XCJzaG93QmFjayAmJiAhc2hvd0JyZWFkY3J1bWJcIlxuICAgICAgICAgIChjbGljayk9XCJiYWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1vei1pY29uIGljb25OYW1lPVwiTmF2aWdhdGlvbl9BcnJvd19CYWNrXzI0cHhcIj48L21vei1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWMtaGVhZGVyX19iYWNrLWxhYmVsXCI+e3sgYmFja0J1dHRvbkxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGgxIGNsYXNzPVwibWMtaGVhZGVyX190aXRsZSBtYy1oZWFkZXJfX3RpdGxlLS17eyBzaXplIH19XCI+e3sgdGl0bGUgfX08L2gxPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWMtaGVhZGVyX19jb250ZW50LWFzaWRlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiW3Nob3dCYWNrICYmICFzaG93QnJlYWRjcnVtYiA/ICdjYW4tbmF2aWdhdGUnIDogJyddXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYy1oZWFkZXJfX3N1YnRpdGxlXCIgKm5nSWY9XCJzdWJ0aXRsZVwiPnt7IHN1YnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFkZ2VDb250ZW50XCIgbW96LWJhZGdlIFt0eXBlXT1cImJhZGdlVHlwZSB8fCAnaW5mb3JtYXRpb24nXCI+XG4gICAgICAgICAge3sgYmFkZ2VDb250ZW50IH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibWMtaGVhZGVyX190YWJzIG1jLWRpdmlkZXItdG9wIG1jLWRpdmlkZXItdG9wLS1saWdodFwiICN0YWJzUmVmICpuZ0lmPVwic2hvd1RhYnNcIj5cbiAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwiJ21vei10YWJzJ1wiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibW96LXRhYnNcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=