@ptsecurity/mosaic 14.0.0 → 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/checkbox/checkbox.d.ts +5 -14
  2. package/core/formatters/date/formatter.pipe.d.ts +95 -0
  3. package/core/formatters/index.d.ts +3 -1
  4. package/core/pop-up/pop-up-trigger.d.ts +3 -1
  5. package/core/validation/validation.d.ts +1 -12
  6. package/datepicker/datepicker-input.directive.d.ts +4 -9
  7. package/design-tokens/legacy-2017/tokens/components/badge.json5 +46 -46
  8. package/design-tokens/legacy-2017/tokens/components/button-toggle.json5 +2 -1
  9. package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +4 -0
  10. package/design-tokens/legacy-2017/tokens/components/progress-spinner.json5 +10 -1
  11. package/design-tokens/legacy-2017/tokens/components/timezone.json5 +1 -0
  12. package/design-tokens/legacy-2017/tokens.d.ts +44 -33
  13. package/design-tokens/pt-2022/tokens/components/button-toggle.json5 +2 -1
  14. package/design-tokens/pt-2022/tokens/components/checkbox.json5 +4 -0
  15. package/design-tokens/pt-2022/tokens/components/form-field.json5 +1 -1
  16. package/design-tokens/pt-2022/tokens/components/progress-spinner.json5 +10 -1
  17. package/design-tokens/pt-2022/tokens/components/timezone.json5 +1 -0
  18. package/design-tokens/pt-2022/tokens/properties/colors.json5 +8 -8
  19. package/design-tokens/pt-2022/tokens/properties/typography.json5 +17 -17
  20. package/design-tokens/pt-2022/tokens.d.ts +63 -52
  21. package/design-tokens/style-dictionary/formats/figma.js +2 -2
  22. package/esm2020/button-toggle/button-toggle.component.mjs +2 -2
  23. package/esm2020/checkbox/checkbox.mjs +17 -32
  24. package/esm2020/core/formatters/date/formatter.pipe.mjs +187 -0
  25. package/esm2020/core/formatters/index.mjs +62 -4
  26. package/esm2020/core/pop-up/pop-up-trigger.mjs +13 -11
  27. package/esm2020/core/validation/validation.mjs +1 -114
  28. package/esm2020/datepicker/datepicker-input.directive.mjs +8 -25
  29. package/esm2020/datepicker/datepicker.component.mjs +1 -1
  30. package/esm2020/design-tokens/legacy-2017/tokens.mjs +45 -34
  31. package/esm2020/design-tokens/pt-2022/tokens.mjs +64 -53
  32. package/esm2020/form-field/form-field.module.mjs +10 -5
  33. package/esm2020/form-field/public-api.mjs +2 -1
  34. package/esm2020/form-field/validate.directive.mjs +156 -0
  35. package/esm2020/input/input-password.mjs +8 -41
  36. package/esm2020/input/input.mjs +8 -41
  37. package/esm2020/loader-overlay/loader-overlay.component.mjs +7 -3
  38. package/esm2020/modal/modal.component.mjs +2 -2
  39. package/esm2020/modal/modal.service.mjs +2 -1
  40. package/esm2020/popover/popover-confirm.component.mjs +3 -3
  41. package/esm2020/popover/popover.component.mjs +13 -4
  42. package/esm2020/progress-spinner/progress-spinner.component.mjs +21 -6
  43. package/esm2020/radio/radio.component.mjs +42 -41
  44. package/esm2020/select/select.component.mjs +17 -37
  45. package/esm2020/sidepanel/sidepanel.service.mjs +2 -1
  46. package/esm2020/tags/tag-list.component.mjs +17 -32
  47. package/esm2020/textarea/textarea.component.mjs +17 -38
  48. package/esm2020/timepicker/timepicker.directive.mjs +8 -25
  49. package/esm2020/timezone/timezone.utils.mjs +15 -7
  50. package/esm2020/toast/toast-container.component.mjs +2 -2
  51. package/esm2020/toast/toast.service.mjs +12 -3
  52. package/esm2020/toggle/toggle.component.mjs +3 -3
  53. package/esm2020/tree-select/tree-select.component.mjs +21 -41
  54. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +2 -2
  55. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  56. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +16 -31
  57. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  58. package/fesm2015/ptsecurity-mosaic-core.mjs +258 -127
  59. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  60. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +4 -21
  61. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  62. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +151 -118
  63. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  64. package/fesm2015/ptsecurity-mosaic-form-field.mjs +164 -7
  65. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  66. package/fesm2015/ptsecurity-mosaic-input.mjs +9 -75
  67. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
  68. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +6 -2
  69. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  70. package/fesm2015/ptsecurity-mosaic-modal.mjs +3 -2
  71. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  72. package/fesm2015/ptsecurity-mosaic-popover.mjs +15 -6
  73. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
  74. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +20 -5
  75. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  76. package/fesm2015/ptsecurity-mosaic-radio.mjs +42 -40
  77. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
  78. package/fesm2015/ptsecurity-mosaic-select.mjs +17 -37
  79. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  80. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +1 -0
  81. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  82. package/fesm2015/ptsecurity-mosaic-tags.mjs +15 -30
  83. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  84. package/fesm2015/ptsecurity-mosaic-textarea.mjs +17 -37
  85. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
  86. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +6 -23
  87. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  88. package/fesm2015/ptsecurity-mosaic-timezone.mjs +15 -6
  89. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
  90. package/fesm2015/ptsecurity-mosaic-toast.mjs +13 -4
  91. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
  92. package/fesm2015/ptsecurity-mosaic-toggle.mjs +2 -2
  93. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
  94. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +22 -42
  95. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  96. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +2 -2
  97. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  98. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +16 -31
  99. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  100. package/fesm2020/ptsecurity-mosaic-core.mjs +255 -127
  101. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  102. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +4 -21
  103. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  104. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +151 -118
  105. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  106. package/fesm2020/ptsecurity-mosaic-form-field.mjs +162 -7
  107. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  108. package/fesm2020/ptsecurity-mosaic-input.mjs +9 -75
  109. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
  110. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +6 -2
  111. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  112. package/fesm2020/ptsecurity-mosaic-modal.mjs +3 -2
  113. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  114. package/fesm2020/ptsecurity-mosaic-popover.mjs +15 -6
  115. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
  116. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +20 -5
  117. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  118. package/fesm2020/ptsecurity-mosaic-radio.mjs +41 -40
  119. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
  120. package/fesm2020/ptsecurity-mosaic-select.mjs +15 -36
  121. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  122. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +1 -0
  123. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  124. package/fesm2020/ptsecurity-mosaic-tags.mjs +14 -30
  125. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  126. package/fesm2020/ptsecurity-mosaic-textarea.mjs +15 -36
  127. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
  128. package/fesm2020/ptsecurity-mosaic-timepicker.mjs +6 -23
  129. package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  130. package/fesm2020/ptsecurity-mosaic-timezone.mjs +14 -6
  131. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
  132. package/fesm2020/ptsecurity-mosaic-toast.mjs +13 -4
  133. package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
  134. package/fesm2020/ptsecurity-mosaic-toggle.mjs +2 -2
  135. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
  136. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +19 -40
  137. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  138. package/form-field/form-field.module.d.ts +4 -3
  139. package/form-field/public-api.d.ts +1 -0
  140. package/form-field/validate.directive.d.ts +32 -0
  141. package/input/input-password.d.ts +6 -12
  142. package/input/input.d.ts +6 -12
  143. package/loader-overlay/loader-overlay.component.d.ts +1 -0
  144. package/package.json +4 -4
  145. package/popover/popover.component.d.ts +1 -0
  146. package/prebuilt-themes/dark-theme.css +1 -1
  147. package/prebuilt-themes/default-theme.css +1 -1
  148. package/prebuilt-visual/default-visual.css +1 -1
  149. package/progress-spinner/progress-spinner.component.d.ts +6 -1
  150. package/radio/radio.component.d.ts +6 -12
  151. package/select/select.component.d.ts +6 -10
  152. package/tags/tag-list.component.d.ts +6 -8
  153. package/textarea/textarea.component.d.ts +7 -12
  154. package/timepicker/timepicker.directive.d.ts +4 -9
  155. package/timezone/timezone.utils.d.ts +1 -1
  156. package/toast/toast.service.d.ts +1 -0
  157. package/tree-select/tree-select.component.d.ts +4 -8
@@ -10,13 +10,20 @@ export function parseOffset(offset) {
10
10
  /**
11
11
  * Grouping timezones by countries
12
12
  */
13
- export function getZonesGroupedByCountry(data, priorityCountry) {
13
+ export function getZonesGroupedByCountry(data, otherCountriesLabel = 'Other', priorityCountry) {
14
+ const systemTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
15
+ const countryCode = priorityCountry
16
+ ? priorityCountry
17
+ : data.find((item) => item.id === systemTimezone)?.countryCode;
14
18
  // collect data by countries
15
19
  const dataByCountries = data.reduce((result, zone) => {
16
- if (!Array.isArray(result[zone.countryName])) {
17
- result[zone.countryName] = [];
20
+ const countryName = zone.countryCode.toLowerCase() === countryCode?.toLowerCase()
21
+ ? zone.countryName
22
+ : otherCountriesLabel;
23
+ if (!Array.isArray(result[countryName])) {
24
+ result[countryName] = [];
18
25
  }
19
- result[zone.countryName].push(zone);
26
+ result[countryName].push({ ...zone, countryName });
20
27
  return result;
21
28
  }, {});
22
29
  // make data groups
@@ -27,7 +34,7 @@ export function getZonesGroupedByCountry(data, priorityCountry) {
27
34
  zones: zones.sort(timezonesSortComparator)
28
35
  }));
29
36
  // sort by priority country
30
- const priorityGroupIndex = groups.findIndex((group) => group.countryCode.toLowerCase() === priorityCountry?.toLowerCase());
37
+ const priorityGroupIndex = groups.findIndex((group) => group.countryCode.toLowerCase() === countryCode?.toLowerCase());
31
38
  if (priorityGroupIndex > -1) {
32
39
  const priorityGroup = groups[priorityGroupIndex];
33
40
  groups.splice(priorityGroupIndex, 1);
@@ -52,7 +59,8 @@ export function timezonesSortComparator(first, second) {
52
59
  * Filtering timezone cities by search string
53
60
  */
54
61
  export function filterCitiesBySearchString(cities, searchPattern) {
55
- if (!searchPattern) {
62
+ const onlyUTC = /^\\?(-|—|\+)?(\d{1,2}:?(\d{1,2})?)?$/.test(searchPattern ?? '');
63
+ if (!searchPattern || onlyUTC) {
56
64
  return cities;
57
65
  }
58
66
  const regex = RegExp(`(${searchPattern})`, 'gi');
@@ -61,4 +69,4 @@ export function filterCitiesBySearchString(cities, searchPattern) {
61
69
  .filter((city) => regex.test(city))
62
70
  .join(',');
63
71
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvdGltZXpvbmUvdGltZXpvbmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE1BQWM7SUFDdEMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDckMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFL0MsT0FBTyxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQXNCLEVBQUUsZUFBd0I7SUFDckYsNEJBQTRCO0lBQzVCLE1BQU0sZUFBZSxHQUF5QixJQUFJLENBQUMsTUFBTSxDQUNyRCxDQUFDLE1BQTRCLEVBQUUsSUFBb0IsRUFBRSxFQUFFO1FBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTtZQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUNqQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUMsRUFDRCxFQUFFLENBQ0wsQ0FBQztJQUVGLG1CQUFtQjtJQUNuQixNQUFNLE1BQU0sR0FBc0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7U0FDM0QsR0FBRyxDQUFrQixDQUFDLEtBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXO1FBQ2pDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVztRQUNqQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztLQUM3QyxDQUFDLENBQUMsQ0FBQztJQUVSLDJCQUEyQjtJQUMzQixNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQ3ZDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLGVBQWUsRUFBRSxXQUFXLEVBQUUsQ0FDaEYsQ0FBQztJQUVGLElBQUksa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDekIsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFakQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2pDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYTtJQUN6QyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTFDLE9BQU8sT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDakUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEtBQXFCLEVBQUUsTUFBc0I7SUFDakYsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxNQUFNO1FBQ2pDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMzQixDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxNQUFjLEVBQUUsYUFBc0I7SUFDN0UsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUFFLE9BQU8sTUFBTSxDQUFDO0tBQUU7SUFFdEMsTUFBTSxLQUFLLEdBQVcsTUFBTSxDQUFDLElBQUksYUFBYSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFekQsT0FBTyxNQUFNO1NBQ1IsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLE1BQU0sQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1jVGltZXpvbmVab25lLCBNY1RpbWV6b25lc0J5Q291bnRyeSwgTWNUaW1lem9uZUdyb3VwIH0gZnJvbSAnLi90aW1lem9uZS5tb2RlbHMnO1xuXG5cbi8qKlxuICogQ29udmVydCBzdHJpbmcgdGltZXpvbmUgb2Zmc2V0IChmb3JtYXR0ZWQgb2Zmc2V0KSB0byBudW1iZXIgKG1pbnV0ZXMpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU9mZnNldChvZmZzZXQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgY29uc3QgbWludXRlc1BlckhvdXIgPSA2MDtcbiAgICBjb25zdCBbaG91cnMsIG1pbnV0ZXNdID0gb2Zmc2V0LnNwbGl0KCc6JylcbiAgICAgICAgLm1hcCgocGFydDogc3RyaW5nKSA9PiBwYXJzZUludChwYXJ0LCAxMCkpO1xuXG4gICAgcmV0dXJuIChob3VycyAqIG1pbnV0ZXNQZXJIb3VyKSArIChob3VycyA+PSAwID8gbWludXRlcyA6IG1pbnV0ZXMgKiAtMSk7XG59XG5cbi8qKlxuICogR3JvdXBpbmcgdGltZXpvbmVzIGJ5IGNvdW50cmllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Wm9uZXNHcm91cGVkQnlDb3VudHJ5KGRhdGE6IE1jVGltZXpvbmVab25lW10sIHByaW9yaXR5Q291bnRyeT86IHN0cmluZyk6IE1jVGltZXpvbmVHcm91cFtdIHtcbiAgICAvLyBjb2xsZWN0IGRhdGEgYnkgY291bnRyaWVzXG4gICAgY29uc3QgZGF0YUJ5Q291bnRyaWVzOiBNY1RpbWV6b25lc0J5Q291bnRyeSA9IGRhdGEucmVkdWNlPE1jVGltZXpvbmVzQnlDb3VudHJ5PihcbiAgICAgICAgKHJlc3VsdDogTWNUaW1lem9uZXNCeUNvdW50cnksIHpvbmU6IE1jVGltZXpvbmVab25lKSA9PiB7XG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocmVzdWx0W3pvbmUuY291bnRyeU5hbWVdKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFt6b25lLmNvdW50cnlOYW1lXSA9IFtdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXN1bHRbem9uZS5jb3VudHJ5TmFtZV0ucHVzaCh6b25lKTtcblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgICAge31cbiAgICApO1xuXG4gICAgLy8gbWFrZSBkYXRhIGdyb3Vwc1xuICAgIGNvbnN0IGdyb3VwczogTWNUaW1lem9uZUdyb3VwW10gPSBPYmplY3QudmFsdWVzKGRhdGFCeUNvdW50cmllcylcbiAgICAgICAgLm1hcDxNY1RpbWV6b25lR3JvdXA+KCh6b25lczogTWNUaW1lem9uZVpvbmVbXSkgPT4gKHtcbiAgICAgICAgICAgIGNvdW50cnlDb2RlOiB6b25lc1swXS5jb3VudHJ5Q29kZSxcbiAgICAgICAgICAgIGNvdW50cnlOYW1lOiB6b25lc1swXS5jb3VudHJ5TmFtZSxcbiAgICAgICAgICAgIHpvbmVzOiB6b25lcy5zb3J0KHRpbWV6b25lc1NvcnRDb21wYXJhdG9yKVxuICAgICAgICB9KSk7XG5cbiAgICAvLyBzb3J0IGJ5IHByaW9yaXR5IGNvdW50cnlcbiAgICBjb25zdCBwcmlvcml0eUdyb3VwSW5kZXggPSBncm91cHMuZmluZEluZGV4KFxuICAgICAgICAoZ3JvdXApID0+IGdyb3VwLmNvdW50cnlDb2RlLnRvTG93ZXJDYXNlKCkgPT09IHByaW9yaXR5Q291bnRyeT8udG9Mb3dlckNhc2UoKVxuICAgICk7XG5cbiAgICBpZiAocHJpb3JpdHlHcm91cEluZGV4ID4gLTEpIHtcbiAgICAgICAgY29uc3QgcHJpb3JpdHlHcm91cCA9IGdyb3Vwc1twcmlvcml0eUdyb3VwSW5kZXhdO1xuXG4gICAgICAgIGdyb3Vwcy5zcGxpY2UocHJpb3JpdHlHcm91cEluZGV4LCAxKTtcbiAgICAgICAgZ3JvdXBzLnVuc2hpZnQocHJpb3JpdHlHcm91cCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3Vwcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9mZnNldEZvcm1hdHRlcih2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBbaG91cnMsIG1pbnV0ZXNdID0gdmFsdWUuc3BsaXQoJzonKTtcbiAgICBjb25zdCBvZmZzZXQgPSBbaG91cnMsIG1pbnV0ZXNdLmpvaW4oJzonKTtcblxuICAgIHJldHVybiBgVVRDICR7b2Zmc2V0LmNoYXJBdCgwKSAhPT0gJy0nID8gJysnIDogJyd9JHtvZmZzZXR9YDtcbn1cblxuLyoqXG4gKiBDb21wYXJhdG9yIGZvciB0aW1lem9uZSBzb3J0aW5nLiBTb3J0IGJ5IG9mZnNldCBhbmQgY291bnRyeSBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aW1lem9uZXNTb3J0Q29tcGFyYXRvcihmaXJzdDogTWNUaW1lem9uZVpvbmUsIHNlY29uZDogTWNUaW1lem9uZVpvbmUpOiBudW1iZXIge1xuICAgIHJldHVybiBmaXJzdC5vZmZzZXQgIT09IHNlY29uZC5vZmZzZXRcbiAgICAgICAgPyBwYXJzZU9mZnNldChmaXJzdC5vZmZzZXQpXG4gICAgICAgIDogZmlyc3QuY291bnRyeU5hbWUubG9jYWxlQ29tcGFyZShzZWNvbmQuY291bnRyeU5hbWUpO1xufVxuXG4vKipcbiAqIEZpbHRlcmluZyB0aW1lem9uZSBjaXRpZXMgYnkgc2VhcmNoIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyQ2l0aWVzQnlTZWFyY2hTdHJpbmcoY2l0aWVzOiBzdHJpbmcsIHNlYXJjaFBhdHRlcm4/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghc2VhcmNoUGF0dGVybikgeyByZXR1cm4gY2l0aWVzOyB9XG5cbiAgICBjb25zdCByZWdleDogUmVnRXhwID0gUmVnRXhwKGAoJHtzZWFyY2hQYXR0ZXJufSlgLCAnZ2knKTtcblxuICAgIHJldHVybiBjaXRpZXNcbiAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgLmZpbHRlcigoY2l0eTogc3RyaW5nKSA9PiByZWdleC50ZXN0KGNpdHkpKVxuICAgICAgICAuam9pbignLCcpO1xufVxuIl19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvdGltZXpvbmUvdGltZXpvbmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE1BQWM7SUFDdEMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDckMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFL0MsT0FBTyxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUNwQyxJQUFzQixFQUN0QixzQkFBOEIsT0FBTyxFQUNyQyxlQUF3QjtJQUV4QixNQUFNLGNBQWMsR0FBVyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ2hGLE1BQU0sV0FBVyxHQUF1QixlQUFlO1FBQ25ELENBQUMsQ0FBQyxlQUFlO1FBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxjQUFjLENBQUMsRUFBRSxXQUFXLENBQUM7SUFFbkYsNEJBQTRCO0lBQzVCLE1BQU0sZUFBZSxHQUF5QixJQUFJLENBQUMsTUFBTSxDQUNyRCxDQUFDLE1BQTRCLEVBQUUsSUFBb0IsRUFBRSxFQUFFO1FB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O0lBRXpELE9BQU8sTUFBTTtTQUNSLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixNQUFNLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNY1RpbWV6b25lWm9uZSwgTWNUaW1lem9uZXNCeUNvdW50cnksIE1jVGltZXpvbmVHcm91cCB9IGZyb20gJy4vdGltZXpvbmUubW9kZWxzJztcblxuXG4vKipcbiAqIENvbnZlcnQgc3RyaW5nIHRpbWV6b25lIG9mZnNldCAoZm9ybWF0dGVkIG9mZnNldCkgdG8gbnVtYmVyIChtaW51dGVzKVxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VPZmZzZXQob2Zmc2V0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IG1pbnV0ZXNQZXJIb3VyID0gNjA7XG4gICAgY29uc3QgW2hvdXJzLCBtaW51dGVzXSA9IG9mZnNldC5zcGxpdCgnOicpXG4gICAgICAgIC5tYXAoKHBhcnQ6IHN0cmluZykgPT4gcGFyc2VJbnQocGFydCwgMTApKTtcblxuICAgIHJldHVybiAoaG91cnMgKiBtaW51dGVzUGVySG91cikgKyAoaG91cnMgPj0gMCA/IG1pbnV0ZXMgOiBtaW51dGVzICogLTEpO1xufVxuXG4vKipcbiAqIEdyb3VwaW5nIHRpbWV6b25lcyBieSBjb3VudHJpZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFpvbmVzR3JvdXBlZEJ5Q291bnRyeShcbiAgICBkYXRhOiBNY1RpbWV6b25lWm9uZVtdLFxuICAgIG90aGVyQ291bnRyaWVzTGFiZWw6IHN0cmluZyA9ICdPdGhlcicsXG4gICAgcHJpb3JpdHlDb3VudHJ5Pzogc3RyaW5nXG4pOiBNY1RpbWV6b25lR3JvdXBbXSB7XG4gICAgY29uc3Qgc3lzdGVtVGltZXpvbmU6IHN0cmluZyA9IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTtcbiAgICBjb25zdCBjb3VudHJ5Q29kZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gcHJpb3JpdHlDb3VudHJ5XG4gICAgICAgID8gcHJpb3JpdHlDb3VudHJ5XG4gICAgICAgIDogZGF0YS5maW5kKChpdGVtOiBNY1RpbWV6b25lWm9uZSkgPT4gaXRlbS5pZCA9PT0gc3lzdGVtVGltZXpvbmUpPy5jb3VudHJ5Q29kZTtcblxuICAgIC8vIGNvbGxlY3QgZGF0YSBieSBjb3VudHJpZXNcbiAgICBjb25zdCBkYXRhQnlDb3VudHJpZXM6IE1jVGltZXpvbmVzQnlDb3VudHJ5ID0gZGF0YS5yZWR1Y2U8TWNUaW1lem9uZXNCeUNvdW50cnk+KFxuICAgICAgICAocmVzdWx0OiBNY1RpbWV6b25lc0J5Q291bnRyeSwgem9uZTogTWNUaW1lem9uZVpvbmUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50cnlOYW1lOiBzdHJpbmcgPSB6b25lLmNvdW50cnlDb2RlLnRvTG93ZXJDYXNlKCkgPT09IGNvdW50cnlDb2RlPy50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgPyB6b25lLmNvdW50cnlOYW1lXG4gICAgICAgICAgICAgICAgOiBvdGhlckNvdW50cmllc0xhYmVsO1xuXG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocmVzdWx0W2NvdW50cnlOYW1lXSkpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRbY291bnRyeU5hbWVdID0gW107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlc3VsdFtjb3VudHJ5TmFtZV0ucHVzaCh7IC4uLnpvbmUsIGNvdW50cnlOYW1lIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICB7fVxuICAgICk7XG5cbiAgICAvLyBtYWtlIGRhdGEgZ3JvdXBzXG4gICAgY29uc3QgZ3JvdXBzOiBNY1RpbWV6b25lR3JvdXBbXSA9IE9iamVjdC52YWx1ZXMoZGF0YUJ5Q291bnRyaWVzKVxuICAgICAgICAubWFwPE1jVGltZXpvbmVHcm91cD4oKHpvbmVzOiBNY1RpbWV6b25lWm9uZVtdKSA9PiAoe1xuICAgICAgICAgICAgY291bnRyeUNvZGU6IHpvbmVzWzBdLmNvdW50cnlDb2RlLFxuICAgICAgICAgICAgY291bnRyeU5hbWU6IHpvbmVzWzBdLmNvdW50cnlOYW1lLFxuICAgICAgICAgICAgem9uZXM6IHpvbmVzLnNvcnQodGltZXpvbmVzU29ydENvbXBhcmF0b3IpXG4gICAgICAgIH0pKTtcblxuICAgIC8vIHNvcnQgYnkgcHJpb3JpdHkgY291bnRyeVxuICAgIGNvbnN0IHByaW9yaXR5R3JvdXBJbmRleCA9IGdyb3Vwcy5maW5kSW5kZXgoXG4gICAgICAgIChncm91cCkgPT4gZ3JvdXAuY291bnRyeUNvZGUudG9Mb3dlckNhc2UoKSA9PT0gY291bnRyeUNvZGU/LnRvTG93ZXJDYXNlKClcbiAgICApO1xuXG4gICAgaWYgKHByaW9yaXR5R3JvdXBJbmRleCA+IC0xKSB7XG4gICAgICAgIGNvbnN0IHByaW9yaXR5R3JvdXAgPSBncm91cHNbcHJpb3JpdHlHcm91cEluZGV4XTtcblxuICAgICAgICBncm91cHMuc3BsaWNlKHByaW9yaXR5R3JvdXBJbmRleCwgMSk7XG4gICAgICAgIGdyb3Vwcy51bnNoaWZ0KHByaW9yaXR5R3JvdXApO1xuICAgIH1cblxuICAgIHJldHVybiBncm91cHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZmZzZXRGb3JtYXR0ZXIodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgW2hvdXJzLCBtaW51dGVzXSA9IHZhbHVlLnNwbGl0KCc6Jyk7XG4gICAgY29uc3Qgb2Zmc2V0ID0gW2hvdXJzLCBtaW51dGVzXS5qb2luKCc6Jyk7XG5cbiAgICByZXR1cm4gYFVUQyAke29mZnNldC5jaGFyQXQoMCkgIT09ICctJyA/ICcrJyA6ICcnfSR7b2Zmc2V0fWA7XG59XG5cbi8qKlxuICogQ29tcGFyYXRvciBmb3IgdGltZXpvbmUgc29ydGluZy4gU29ydCBieSBvZmZzZXQgYW5kIGNvdW50cnkgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdGltZXpvbmVzU29ydENvbXBhcmF0b3IoZmlyc3Q6IE1jVGltZXpvbmVab25lLCBzZWNvbmQ6IE1jVGltZXpvbmVab25lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZmlyc3Qub2Zmc2V0ICE9PSBzZWNvbmQub2Zmc2V0XG4gICAgICAgID8gcGFyc2VPZmZzZXQoZmlyc3Qub2Zmc2V0KVxuICAgICAgICA6IGZpcnN0LmNvdW50cnlOYW1lLmxvY2FsZUNvbXBhcmUoc2Vjb25kLmNvdW50cnlOYW1lKTtcbn1cblxuLyoqXG4gKiBGaWx0ZXJpbmcgdGltZXpvbmUgY2l0aWVzIGJ5IHNlYXJjaCBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckNpdGllc0J5U2VhcmNoU3RyaW5nKGNpdGllczogc3RyaW5nLCBzZWFyY2hQYXR0ZXJuPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBvbmx5VVRDOiBib29sZWFuID0gL15cXFxcPygtfOKAlHxcXCspPyhcXGR7MSwyfTo/KFxcZHsxLDJ9KT8pPyQvLnRlc3Qoc2VhcmNoUGF0dGVybiA/PyAnJyk7XG5cbiAgICBpZiAoIXNlYXJjaFBhdHRlcm4gfHwgb25seVVUQykgeyByZXR1cm4gY2l0aWVzOyB9XG5cbiAgICBjb25zdCByZWdleDogUmVnRXhwID0gUmVnRXhwKGAoJHtzZWFyY2hQYXR0ZXJufSlgLCAnZ2knKTtcblxuICAgIHJldHVybiBjaXRpZXNcbiAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgLmZpbHRlcigoY2l0eTogc3RyaW5nKSA9PiByZWdleC50ZXN0KGNpdHkpKVxuICAgICAgICAuam9pbignLCcpO1xufVxuIl19
@@ -31,12 +31,12 @@ export class McToastContainerComponent {
31
31
  }
32
32
  }
33
33
  /** @nocollapse */ McToastContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: McToastContainerComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
34
- /** @nocollapse */ McToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: McToastContainerComponent, selector: "mc-toast-container", host: { classAttribute: "mc-toast-container" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-container #container></ng-container>', isInline: true, styles: [".mc-toast-container{display:flex;flex-direction:column;gap:12px;gap:var(--mc-toast-size-gap, 12px)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
34
+ /** @nocollapse */ McToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: McToastContainerComponent, selector: "mc-toast-container", host: { classAttribute: "mc-toast-container" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-container #container></ng-container>', isInline: true, styles: [".mc-toast-container{display:flex;flex-direction:column;gap:12px;gap:var(--mc-toast-size-gap, 12px)}.cdk-overlay-container .mc-toast-overlay,.cdk-overlay-container .mc-toast-overlay~*:not(.mc-modal-overlay,.mc-sidepanel-overlay){z-index:1010}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: McToastContainerComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'mc-toast-container', template: '<ng-container #container></ng-container>', host: {
38
38
  class: 'mc-toast-container'
39
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".mc-toast-container{display:flex;flex-direction:column;gap:12px;gap:var(--mc-toast-size-gap, 12px)}\n"] }]
39
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".mc-toast-container{display:flex;flex-direction:column;gap:12px;gap:var(--mc-toast-size-gap, 12px)}.cdk-overlay-container .mc-toast-overlay,.cdk-overlay-container .mc-toast-overlay~*:not(.mc-modal-overlay,.mc-sidepanel-overlay){z-index:1010}\n"] }]
40
40
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { viewContainer: [{
41
41
  type: ViewChild,
42
42
  args: ['container', { static: true, read: ViewContainerRef }]
@@ -72,6 +72,7 @@ export class McToastService {
72
72
  }
73
73
  this.containerInstance.remove(componentRef.hostView);
74
74
  delete this.toastsDict[id];
75
+ this.detachOverlay();
75
76
  }
76
77
  hideTemplate(id) {
77
78
  const viewRef = this.templatesDict[id];
@@ -80,6 +81,13 @@ export class McToastService {
80
81
  }
81
82
  this.containerInstance.remove(viewRef);
82
83
  delete this.templatesDict[id];
84
+ this.detachOverlay();
85
+ }
86
+ detachOverlay() {
87
+ if (this.toasts.length !== 0) {
88
+ return;
89
+ }
90
+ this.overlayRef.detach();
83
91
  }
84
92
  updateTTLAfterDelete() {
85
93
  this.toasts
@@ -90,7 +98,7 @@ export class McToastService {
90
98
  setTimeout(() => this.hideTemplate(id), duration);
91
99
  }
92
100
  prepareContainer() {
93
- this.overlayRef = this.createOverlay();
101
+ this.createOverlay();
94
102
  this.portal = this.portal || new ComponentPortal(McToastContainerComponent, null, this.injector);
95
103
  if (!this.overlayRef.hasAttached()) {
96
104
  this.containerInstance = this.overlayRef.attach(this.portal).instance;
@@ -101,7 +109,8 @@ export class McToastService {
101
109
  return this.overlayRef;
102
110
  }
103
111
  const positionStrategy = this.getPositionStrategy(this.toastConfig.position);
104
- return this.overlay.create({ positionStrategy });
112
+ this.overlayRef = this.overlay.create({ positionStrategy });
113
+ this.overlayRef.hostElement.classList.add('mc-toast-overlay');
105
114
  }
106
115
  getPositionStrategy(position) {
107
116
  switch (position) {
@@ -175,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
175
184
  type: Inject,
176
185
  args: [MC_TOAST_CONFIG]
177
186
  }] }]; } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90b2FzdC90b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEIsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFFTixRQUFRLEVBR1IsY0FBYyxFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFeEUsT0FBTyxFQUFlLGVBQWUsRUFBaUIsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHNUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBa0I7SUFDN0MsUUFBUSxFQUFFLGVBQWUsQ0FBQyxTQUFTO0lBQ25DLFFBQVEsRUFBRSxJQUFJO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsS0FBSztDQUNmLENBQUM7QUFHRixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdkIsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO0FBRTNCLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQUduQixNQUFNLE9BQU8sY0FBYztJQW9CdkIsWUFDWSxPQUFnQixFQUNoQixRQUFrQixFQUNRLFlBQWlCLEVBQ04sV0FBMEI7UUFIL0QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ1EsaUJBQVksR0FBWixZQUFZLENBQUs7UUFDTixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQWRsRSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDOUMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBTS9DLGVBQVUsR0FBc0MsRUFBRSxDQUFDO1FBQ25ELGtCQUFhLEdBQXlDLEVBQUUsQ0FBQztRQXlFekQsa0JBQWEsR0FBRyxHQUFHLEVBQUU7WUFDekIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JFLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLGNBQWMsQ0FBQztnQkFFckMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFFN0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7b0JBRTVCLE1BQU07aUJBQ1Q7YUFDSjtRQUNMLENBQUMsQ0FBQTtRQTdFRyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxrQkFBa0IsQ0FBQztRQUVyRCxLQUFLLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQzthQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDbEcsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBOUJELElBQUksTUFBTTtRQUNOLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ2hDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUF5QkQsSUFBSSxDQUNBLElBQWlCLEVBQ2pCLFdBQW1CLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUM1QyxRQUFpQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7UUFHdkMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBSSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUzRixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBRXpELFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUNyQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUVyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFBWSxDQUNSLElBQWlCLEVBQ2pCLFFBQTBCLEVBQzFCLFdBQW1CLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUM1QyxRQUFpQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7UUFHdkMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBSSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWhGLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBRXpDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTFDLFVBQVUsRUFBRSxDQUFDO1FBRWIsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLENBQUMsRUFBVTtRQUNYLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUFFLE9BQU87U0FBRTtRQUU5QixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFVO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUFFLE9BQU87U0FBRTtRQUV6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBZ0JPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsTUFBTTthQUNOLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU8sY0FBYyxDQUFDLEVBQVUsRUFBRSxRQUFnQjtRQUMvQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLGVBQWUsQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWpHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ3pFO0lBQ0wsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQUU7UUFFaEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3RSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxRQUEwQjtRQUNsRCxRQUFRLFFBQVEsRUFBRTtZQUNkLEtBQUssZUFBZSxDQUFDLE1BQU07Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLEtBQUssZUFBZSxDQUFDLGFBQWE7Z0JBQzlCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2xDLEtBQUssZUFBZSxDQUFDLFdBQVc7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLEtBQUssZUFBZSxDQUFDLFlBQVk7Z0JBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ2pDLEtBQUssZUFBZSxDQUFDLFVBQVU7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQy9CLEtBQUssZUFBZSxDQUFDLFFBQVE7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdCLEtBQUssZUFBZSxDQUFDLFNBQVM7Z0JBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzlCO2dCQUNJLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7YUFDakMsR0FBRyxDQUFDLEdBQUcsV0FBVyxJQUFJLENBQUM7YUFDdkIsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sVUFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFO2FBQ2pDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsSUFBSSxDQUFDO2FBQ3ZCLElBQUksQ0FBQyxHQUFHLFdBQVcsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLFdBQVc7UUFDZixPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRTthQUNqQyxHQUFHLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQzthQUN2QixLQUFLLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxlQUFlO1FBQ25CLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFO2FBQ2pDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsSUFBSSxDQUFDO2FBQzFCLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGFBQWE7UUFDakIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7YUFDakMsTUFBTSxDQUFDLEdBQUcsV0FBVyxJQUFJLENBQUM7YUFDMUIsSUFBSSxDQUFDLEdBQUcsV0FBVyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sY0FBYztRQUNsQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRTthQUNqQyxNQUFNLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQzthQUMxQixLQUFLLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxTQUFTO1FBQ2IsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7YUFDakMsZ0JBQWdCLEVBQUU7YUFDbEIsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sd0JBQXdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs4SEF0TVEsY0FBYyxpRUF1QlgsZ0JBQWdCLGFBQ0osZUFBZTtrSUF4QjlCLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBd0JGLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2xvYmFsUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBJbmplY3RhYmxlLFxuICAgIEluamVjdG9yLFxuICAgIEluamVjdCxcbiAgICBDb21wb25lbnRSZWYsXG4gICAgT3B0aW9uYWwsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGlvblRva2VuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNY1RvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1jVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNY1RvYXN0RGF0YSwgTUNfVE9BU1RfQ09ORklHLCBNY1RvYXN0Q29uZmlnLCBNY1RvYXN0UG9zaXRpb24gfSBmcm9tICcuL3RvYXN0LnR5cGUnO1xuXG5cbmV4cG9ydCBjb25zdCBNQ19UT0FTVF9GQUNUT1JZID0gbmV3IEluamVjdGlvblRva2VuKCdNY1VzZVZhbGlkYXRpb24nKTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRUb2FzdENvbmZpZzogTWNUb2FzdENvbmZpZyA9IHtcbiAgICBwb3NpdGlvbjogTWNUb2FzdFBvc2l0aW9uLlRPUF9SSUdIVCxcbiAgICBkdXJhdGlvbjogNTAwMCxcbiAgICBkZWxheTogMjAwMCxcbiAgICBvblRvcDogZmFsc2Vcbn07XG5cblxuY29uc3QgSU5ERU5UX1NJWkUgPSAxNjtcbmNvbnN0IENIRUNLX0lOVEVSVkFMID0gNTAwO1xuXG5sZXQgdGVtcGxhdGVJZCA9IDA7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNY1RvYXN0U2VydmljZTxUIGV4dGVuZHMgTWNUb2FzdENvbXBvbmVudCA9IE1jVG9hc3RDb21wb25lbnQ+IHtcbiAgICBnZXQgdG9hc3RzKCk6IENvbXBvbmVudFJlZjxUPltdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy50b2FzdHNEaWN0KVxuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uaG9zdFZpZXcuZGVzdHJveWVkKTtcbiAgICB9XG5cbiAgICBnZXQgdGVtcGxhdGVzKCk6IEVtYmVkZGVkVmlld1JlZjxUPltdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy50ZW1wbGF0ZXNEaWN0KTtcbiAgICB9XG5cbiAgICByZWFkb25seSBob3ZlcmVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcmVhZG9ubHkgZm9jdXNlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSBjb250YWluZXJJbnN0YW5jZTogTWNUb2FzdENvbnRhaW5lckNvbXBvbmVudDtcbiAgICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gICAgcHJpdmF0ZSBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxNY1RvYXN0Q29udGFpbmVyQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgdG9hc3RzRGljdDogeyBbaWQ6IG51bWJlcl06IENvbXBvbmVudFJlZjxUPiB9ID0ge307XG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZXNEaWN0OiB7IFtpZDogbnVtYmVyXTogRW1iZWRkZWRWaWV3UmVmPFQ+IH0gPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBASW5qZWN0KE1DX1RPQVNUX0ZBQ1RPUlkpIHByaXZhdGUgdG9hc3RGYWN0b3J5OiBhbnksXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUNfVE9BU1RfQ09ORklHKSBwcml2YXRlIHRvYXN0Q29uZmlnOiBNY1RvYXN0Q29uZmlnXG4gICAgKSB7XG4gICAgICAgIHRoaXMudG9hc3RDb25maWcgPSB0b2FzdENvbmZpZyB8fCBkZWZhdWx0VG9hc3RDb25maWc7XG5cbiAgICAgICAgdGltZXIoQ0hFQ0tfSU5URVJWQUwsIENIRUNLX0lOVEVSVkFMKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMudG9hc3RzLmxlbmd0aCA+IDAgJiYgIXRoaXMuaG92ZXJlZC5nZXRWYWx1ZSgpICYmICF0aGlzLmZvY3VzZWQuZ2V0VmFsdWUoKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMucHJvY2Vzc1RvYXN0cyk7XG4gICAgfVxuXG4gICAgc2hvdyhcbiAgICAgICAgZGF0YTogTWNUb2FzdERhdGEsXG4gICAgICAgIGR1cmF0aW9uOiBudW1iZXIgPSB0aGlzLnRvYXN0Q29uZmlnLmR1cmF0aW9uLFxuICAgICAgICBvblRvcDogYm9vbGVhbiA9IHRoaXMudG9hc3RDb25maWcub25Ub3BcbiAgICApOiB7IHJlZjogQ29tcG9uZW50UmVmPFQ+OyBpZDogbnVtYmVyfSB7XG5cbiAgICAgICAgdGhpcy5wcmVwYXJlQ29udGFpbmVyKCk7XG5cbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXJJbnN0YW5jZS5jcmVhdGVUb2FzdDxUPihkYXRhLCB0aGlzLnRvYXN0RmFjdG9yeSwgb25Ub3ApO1xuXG4gICAgICAgIHRoaXMudG9hc3RzRGljdFtjb21wb25lbnRSZWYuaW5zdGFuY2UuaWRdID0gY29tcG9uZW50UmVmO1xuXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS50dGwgPSBkdXJhdGlvbjtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmRlbGF5ID0gdGhpcy50b2FzdENvbmZpZy5kZWxheTtcblxuICAgICAgICByZXR1cm4geyByZWY6IGNvbXBvbmVudFJlZiwgaWQ6IGNvbXBvbmVudFJlZi5pbnN0YW5jZS5pZCB9O1xuICAgIH1cblxuICAgIHNob3dUZW1wbGF0ZShcbiAgICAgICAgZGF0YTogTWNUb2FzdERhdGEsXG4gICAgICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBkdXJhdGlvbjogbnVtYmVyID0gdGhpcy50b2FzdENvbmZpZy5kdXJhdGlvbixcbiAgICAgICAgb25Ub3A6IGJvb2xlYW4gPSB0aGlzLnRvYXN0Q29uZmlnLm9uVG9wXG4gICAgKTogeyByZWY6IEVtYmVkZGVkVmlld1JlZjxUPjsgaWQ6IG51bWJlciB9IHtcblxuICAgICAgICB0aGlzLnByZXBhcmVDb250YWluZXIoKTtcblxuICAgICAgICBjb25zdCB2aWV3UmVmID0gdGhpcy5jb250YWluZXJJbnN0YW5jZS5jcmVhdGVUZW1wbGF0ZTxUPihkYXRhLCB0ZW1wbGF0ZSwgb25Ub3ApO1xuXG4gICAgICAgIHRoaXMudGVtcGxhdGVzRGljdFt0ZW1wbGF0ZUlkXSA9IHZpZXdSZWY7XG5cbiAgICAgICAgdGhpcy5hZGRSZW1vdmVUaW1lcih0ZW1wbGF0ZUlkLCBkdXJhdGlvbik7XG5cbiAgICAgICAgdGVtcGxhdGVJZCsrO1xuXG4gICAgICAgIHJldHVybiB7IHJlZjogdmlld1JlZiwgaWQ6IHRlbXBsYXRlSWQgfTtcbiAgICB9XG5cbiAgICBoaWRlKGlkOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50b2FzdHNEaWN0W2lkXTtcblxuICAgICAgICBpZiAoIWNvbXBvbmVudFJlZikgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLnJlbW92ZShjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgICAgIGRlbGV0ZSB0aGlzLnRvYXN0c0RpY3RbaWRdO1xuICAgIH1cblxuICAgIGhpZGVUZW1wbGF0ZShpZDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnRlbXBsYXRlc0RpY3RbaWRdO1xuXG4gICAgICAgIGlmICghdmlld1JlZikgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLnJlbW92ZSh2aWV3UmVmKTtcblxuICAgICAgICBkZWxldGUgdGhpcy50ZW1wbGF0ZXNEaWN0W2lkXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NUb2FzdHMgPSAoKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgdG9hc3Qgb2YgdGhpcy50b2FzdHMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmluc3RhbmNlLnR0bCA+IDApKSB7XG4gICAgICAgICAgICB0b2FzdC5pbnN0YW5jZS50dGwgLT0gQ0hFQ0tfSU5URVJWQUw7XG5cbiAgICAgICAgICAgIGlmICh0b2FzdC5pbnN0YW5jZS50dGwgPD0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZSh0b2FzdC5pbnN0YW5jZS5pZCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRUTEFmdGVyRGVsZXRlKCk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVFRMQWZ0ZXJEZWxldGUoKSB7XG4gICAgICAgIHRoaXMudG9hc3RzXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmluc3RhbmNlLnR0bCA+IDApXG4gICAgICAgICAgICAuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5pbnN0YW5jZS50dGwgPSB0aGlzLnRvYXN0Q29uZmlnLmRlbGF5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFJlbW92ZVRpbWVyKGlkOiBudW1iZXIsIGR1cmF0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGVUZW1wbGF0ZShpZCksIGR1cmF0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVDb250YWluZXIoKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuXG4gICAgICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWwgfHwgbmV3IENvbXBvbmVudFBvcnRhbChNY1RvYXN0Q29udGFpbmVyQ29tcG9uZW50LCBudWxsLCB0aGlzLmluamVjdG9yKTtcblxuICAgICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLnBvcnRhbCkuaW5zdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogT3ZlcmxheVJlZiB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHsgcmV0dXJuIHRoaXMub3ZlcmxheVJlZjsgfVxuXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLmdldFBvc2l0aW9uU3RyYXRlZ3kodGhpcy50b2FzdENvbmZpZy5wb3NpdGlvbik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUoeyBwb3NpdGlvblN0cmF0ZWd5IH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25TdHJhdGVneShwb3NpdGlvbj86IE1jVG9hc3RQb3NpdGlvbik6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIE1jVG9hc3RQb3NpdGlvbi5DRU5URVI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VudGVyKCk7XG4gICAgICAgICAgICBjYXNlIE1jVG9hc3RQb3NpdGlvbi5CT1RUT01fQ0VOVEVSOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEJvdHRvbUNlbnRlcigpO1xuICAgICAgICAgICAgY2FzZSBNY1RvYXN0UG9zaXRpb24uQk9UVE9NX0xFRlQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Qm90dG9tTGVmdCgpO1xuICAgICAgICAgICAgY2FzZSBNY1RvYXN0UG9zaXRpb24uQk9UVE9NX1JJR0hUOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEJvdHRvbVJpZ2h0KCk7XG4gICAgICAgICAgICBjYXNlIE1jVG9hc3RQb3NpdGlvbi5UT1BfQ0VOVEVSOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRvcENlbnRlcigpO1xuICAgICAgICAgICAgY2FzZSBNY1RvYXN0UG9zaXRpb24uVE9QX0xFRlQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9wTGVmdCgpO1xuICAgICAgICAgICAgY2FzZSBNY1RvYXN0UG9zaXRpb24uVE9QX1JJR0hUOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRvcFJpZ2h0KCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRvcENlbnRlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUb3BDZW50ZXIoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAudG9wKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRvcExlZnQoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAudG9wKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5sZWZ0KGAke0lOREVOVF9TSVpFfXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUb3BSaWdodCgpOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0R2xvYmFsT3ZlcmxheVBvc2l0aW9uKClcbiAgICAgICAgICAgIC50b3AoYCR7SU5ERU5UX1NJWkV9cHhgKVxuICAgICAgICAgICAgLnJpZ2h0KGAke0lOREVOVF9TSVpFfXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCb3R0b21DZW50ZXIoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAuYm90dG9tKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJvdHRvbUxlZnQoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAuYm90dG9tKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5sZWZ0KGAke0lOREVOVF9TSVpFfXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCb3R0b21SaWdodCgpOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0R2xvYmFsT3ZlcmxheVBvc2l0aW9uKClcbiAgICAgICAgICAgIC5ib3R0b20oYCR7SU5ERU5UX1NJWkV9cHhgKVxuICAgICAgICAgICAgLnJpZ2h0KGAke0lOREVOVF9TSVpFfXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDZW50ZXIoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAuY2VudGVyVmVydGljYWxseSgpXG4gICAgICAgICAgICAuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcbiAgICB9XG59XG4iXX0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90b2FzdC90b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEIsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFFTixRQUFRLEVBR1IsY0FBYyxFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFeEUsT0FBTyxFQUFlLGVBQWUsRUFBaUIsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHNUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBa0I7SUFDN0MsUUFBUSxFQUFFLGVBQWUsQ0FBQyxTQUFTO0lBQ25DLFFBQVEsRUFBRSxJQUFJO0lBQ2QsS0FBSyxFQUFFLElBQUk7SUFDWCxLQUFLLEVBQUUsS0FBSztDQUNmLENBQUM7QUFHRixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdkIsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO0FBRTNCLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQUduQixNQUFNLE9BQU8sY0FBYztJQW9CdkIsWUFDWSxPQUFnQixFQUNoQixRQUFrQixFQUNRLFlBQWlCLEVBQ04sV0FBMEI7UUFIL0QsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNo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QUVPLFdBQVc7UUFDZixPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRTthQUNqQyxHQUFHLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQzthQUN2QixLQUFLLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxlQUFlO1FBQ25CLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFO2FBQ2pDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsSUFBSSxDQUFDO2FBQzFCLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLGFBQWE7UUFDakIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7YUFDakMsTUFBTSxDQUFDLEdBQUcsV0FBVyxJQUFJLENBQUM7YUFDMUIsSUFBSSxDQUFDLEdBQUcsV0FBVyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sY0FBYztRQUNsQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRTthQUNqQyxNQUFNLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQzthQUMxQixLQUFLLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTyxTQUFTO1FBQ2IsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7YUFDakMsZ0JBQWdCLEVBQUU7YUFDbEIsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sd0JBQXdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs4SEFqTlEsY0FBYyxpRUF1QlgsZ0JBQWdCLGFBQ0osZUFBZTtrSUF4QjlCLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBd0JGLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDdkIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2xvYmFsUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBJbmplY3RhYmxlLFxuICAgIEluamVjdG9yLFxuICAgIEluamVjdCxcbiAgICBDb21wb25lbnRSZWYsXG4gICAgT3B0aW9uYWwsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGlvblRva2VuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNY1RvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1jVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNY1RvYXN0RGF0YSwgTUNfVE9BU1RfQ09ORklHLCBNY1RvYXN0Q29uZmlnLCBNY1RvYXN0UG9zaXRpb24gfSBmcm9tICcuL3RvYXN0LnR5cGUnO1xuXG5cbmV4cG9ydCBjb25zdCBNQ19UT0FTVF9GQUNUT1JZID0gbmV3IEluamVjdGlvblRva2VuKCdNY1VzZVZhbGlkYXRpb24nKTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRUb2FzdENvbmZpZzogTWNUb2FzdENvbmZpZyA9IHtcbiAgICBwb3NpdGlvbjogTWNUb2FzdFBvc2l0aW9uLlRPUF9SSUdIVCxcbiAgICBkdXJhdGlvbjogNTAwMCxcbiAgICBkZWxheTogMjAwMCxcbiAgICBvblRvcDogZmFsc2Vcbn07XG5cblxuY29uc3QgSU5ERU5UX1NJWkUgPSAxNjtcbmNvbnN0IENIRUNLX0lOVEVSVkFMID0gNTAwO1xuXG5sZXQgdGVtcGxhdGVJZCA9IDA7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNY1RvYXN0U2VydmljZTxUIGV4dGVuZHMgTWNUb2FzdENvbXBvbmVudCA9IE1jVG9hc3RDb21wb25lbnQ+IHtcbiAgICBnZXQgdG9hc3RzKCk6IENvbXBvbmVudFJlZjxUPltdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy50b2FzdHNEaWN0KVxuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uaG9zdFZpZXcuZGVzdHJveWVkKTtcbiAgICB9XG5cbiAgICBnZXQgdGVtcGxhdGVzKCk6IEVtYmVkZGVkVmlld1JlZjxUPltdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy50ZW1wbGF0ZXNEaWN0KTtcbiAgICB9XG5cbiAgICByZWFkb25seSBob3ZlcmVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcmVhZG9ubHkgZm9jdXNlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSBjb250YWluZXJJbnN0YW5jZTogTWNUb2FzdENvbnRhaW5lckNvbXBvbmVudDtcbiAgICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gICAgcHJpdmF0ZSBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxNY1RvYXN0Q29udGFpbmVyQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgdG9hc3RzRGljdDogeyBbaWQ6IG51bWJlcl06IENvbXBvbmVudFJlZjxUPiB9ID0ge307XG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZXNEaWN0OiB7IFtpZDogbnVtYmVyXTogRW1iZWRkZWRWaWV3UmVmPFQ+IH0gPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBASW5qZWN0KE1DX1RPQVNUX0ZBQ1RPUlkpIHByaXZhdGUgdG9hc3RGYWN0b3J5OiBhbnksXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUNfVE9BU1RfQ09ORklHKSBwcml2YXRlIHRvYXN0Q29uZmlnOiBNY1RvYXN0Q29uZmlnXG4gICAgKSB7XG4gICAgICAgIHRoaXMudG9hc3RDb25maWcgPSB0b2FzdENvbmZpZyB8fCBkZWZhdWx0VG9hc3RDb25maWc7XG5cbiAgICAgICAgdGltZXIoQ0hFQ0tfSU5URVJWQUwsIENIRUNLX0lOVEVSVkFMKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMudG9hc3RzLmxlbmd0aCA+IDAgJiYgIXRoaXMuaG92ZXJlZC5nZXRWYWx1ZSgpICYmICF0aGlzLmZvY3VzZWQuZ2V0VmFsdWUoKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMucHJvY2Vzc1RvYXN0cyk7XG4gICAgfVxuXG4gICAgc2hvdyhcbiAgICAgICAgZGF0YTogTWNUb2FzdERhdGEsXG4gICAgICAgIGR1cmF0aW9uOiBudW1iZXIgPSB0aGlzLnRvYXN0Q29uZmlnLmR1cmF0aW9uLFxuICAgICAgICBvblRvcDogYm9vbGVhbiA9IHRoaXMudG9hc3RDb25maWcub25Ub3BcbiAgICApOiB7IHJlZjogQ29tcG9uZW50UmVmPFQ+OyBpZDogbnVtYmVyfSB7XG5cbiAgICAgICAgdGhpcy5wcmVwYXJlQ29udGFpbmVyKCk7XG5cbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXJJbnN0YW5jZS5jcmVhdGVUb2FzdDxUPihkYXRhLCB0aGlzLnRvYXN0RmFjdG9yeSwgb25Ub3ApO1xuXG4gICAgICAgIHRoaXMudG9hc3RzRGljdFtjb21wb25lbnRSZWYuaW5zdGFuY2UuaWRdID0gY29tcG9uZW50UmVmO1xuXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS50dGwgPSBkdXJhdGlvbjtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmRlbGF5ID0gdGhpcy50b2FzdENvbmZpZy5kZWxheTtcblxuICAgICAgICByZXR1cm4geyByZWY6IGNvbXBvbmVudFJlZiwgaWQ6IGNvbXBvbmVudFJlZi5pbnN0YW5jZS5pZCB9O1xuICAgIH1cblxuICAgIHNob3dUZW1wbGF0ZShcbiAgICAgICAgZGF0YTogTWNUb2FzdERhdGEsXG4gICAgICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBkdXJhdGlvbjogbnVtYmVyID0gdGhpcy50b2FzdENvbmZpZy5kdXJhdGlvbixcbiAgICAgICAgb25Ub3A6IGJvb2xlYW4gPSB0aGlzLnRvYXN0Q29uZmlnLm9uVG9wXG4gICAgKTogeyByZWY6IEVtYmVkZGVkVmlld1JlZjxUPjsgaWQ6IG51bWJlciB9IHtcblxuICAgICAgICB0aGlzLnByZXBhcmVDb250YWluZXIoKTtcblxuICAgICAgICBjb25zdCB2aWV3UmVmID0gdGhpcy5jb250YWluZXJJbnN0YW5jZS5jcmVhdGVUZW1wbGF0ZTxUPihkYXRhLCB0ZW1wbGF0ZSwgb25Ub3ApO1xuXG4gICAgICAgIHRoaXMudGVtcGxhdGVzRGljdFt0ZW1wbGF0ZUlkXSA9IHZpZXdSZWY7XG5cbiAgICAgICAgdGhpcy5hZGRSZW1vdmVUaW1lcih0ZW1wbGF0ZUlkLCBkdXJhdGlvbik7XG5cbiAgICAgICAgdGVtcGxhdGVJZCsrO1xuXG4gICAgICAgIHJldHVybiB7IHJlZjogdmlld1JlZiwgaWQ6IHRlbXBsYXRlSWQgfTtcbiAgICB9XG5cbiAgICBoaWRlKGlkOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50b2FzdHNEaWN0W2lkXTtcblxuICAgICAgICBpZiAoIWNvbXBvbmVudFJlZikgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLnJlbW92ZShjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgICAgIGRlbGV0ZSB0aGlzLnRvYXN0c0RpY3RbaWRdO1xuXG4gICAgICAgIHRoaXMuZGV0YWNoT3ZlcmxheSgpO1xuICAgIH1cblxuICAgIGhpZGVUZW1wbGF0ZShpZDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnRlbXBsYXRlc0RpY3RbaWRdO1xuXG4gICAgICAgIGlmICghdmlld1JlZikgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLnJlbW92ZSh2aWV3UmVmKTtcblxuICAgICAgICBkZWxldGUgdGhpcy50ZW1wbGF0ZXNEaWN0W2lkXTtcblxuICAgICAgICB0aGlzLmRldGFjaE92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRldGFjaE92ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLnRvYXN0cy5sZW5ndGggIT09IDApIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1RvYXN0cyA9ICgpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCB0b2FzdCBvZiB0aGlzLnRvYXN0cy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaW5zdGFuY2UudHRsID4gMCkpIHtcbiAgICAgICAgICAgIHRvYXN0Lmluc3RhbmNlLnR0bCAtPSBDSEVDS19JTlRFUlZBTDtcblxuICAgICAgICAgICAgaWYgKHRvYXN0Lmluc3RhbmNlLnR0bCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlKHRvYXN0Lmluc3RhbmNlLmlkKTtcblxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVFRMQWZ0ZXJEZWxldGUoKTtcblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUVExBZnRlckRlbGV0ZSgpIHtcbiAgICAgICAgdGhpcy50b2FzdHNcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaW5zdGFuY2UudHRsID4gMClcbiAgICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLmluc3RhbmNlLnR0bCA9IHRoaXMudG9hc3RDb25maWcuZGVsYXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkUmVtb3ZlVGltZXIoaWQ6IG51bWJlciwgZHVyYXRpb246IG51bWJlcikge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGlkZVRlbXBsYXRlKGlkKSwgZHVyYXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZUNvbnRhaW5lcigpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVPdmVybGF5KCk7XG5cbiAgICAgICAgdGhpcy5wb3J0YWwgPSB0aGlzLnBvcnRhbCB8fCBuZXcgQ29tcG9uZW50UG9ydGFsKE1jVG9hc3RDb250YWluZXJDb21wb25lbnQsIG51bGwsIHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMucG9ydGFsKS5pbnN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikgeyByZXR1cm4gdGhpcy5vdmVybGF5UmVmOyB9XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSh0aGlzLnRvYXN0Q29uZmlnLnBvc2l0aW9uKTtcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHsgcG9zaXRpb25TdHJhdGVneSB9KTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21jLXRvYXN0LW92ZXJsYXknKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb24/OiBNY1RvYXN0UG9zaXRpb24pOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgc3dpdGNoIChwb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSBNY1RvYXN0UG9zaXRpb24uQ0VOVEVSOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldENlbnRlcigpO1xuICAgICAgICAgICAgY2FzZSBNY1RvYXN0UG9zaXRpb24uQk9UVE9NX0NFTlRFUjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCb3R0b21DZW50ZXIoKTtcbiAgICAgICAgICAgIGNhc2UgTWNUb2FzdFBvc2l0aW9uLkJPVFRPTV9MRUZUOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEJvdHRvbUxlZnQoKTtcbiAgICAgICAgICAgIGNhc2UgTWNUb2FzdFBvc2l0aW9uLkJPVFRPTV9SSUdIVDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCb3R0b21SaWdodCgpO1xuICAgICAgICAgICAgY2FzZSBNY1RvYXN0UG9zaXRpb24uVE9QX0NFTlRFUjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUb3BDZW50ZXIoKTtcbiAgICAgICAgICAgIGNhc2UgTWNUb2FzdFBvc2l0aW9uLlRPUF9MRUZUOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRvcExlZnQoKTtcbiAgICAgICAgICAgIGNhc2UgTWNUb2FzdFBvc2l0aW9uLlRPUF9SSUdIVDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUb3BSaWdodCgpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUb3BDZW50ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VG9wQ2VudGVyKCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLnRvcChgJHtJTkRFTlRfU0laRX1weGApXG4gICAgICAgICAgICAuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUb3BMZWZ0KCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLnRvcChgJHtJTkRFTlRfU0laRX1weGApXG4gICAgICAgICAgICAubGVmdChgJHtJTkRFTlRfU0laRX1weGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VG9wUmlnaHQoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAudG9wKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5yaWdodChgJHtJTkRFTlRfU0laRX1weGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Qm90dG9tQ2VudGVyKCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLmJvdHRvbShgJHtJTkRFTlRfU0laRX1weGApXG4gICAgICAgICAgICAuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCb3R0b21MZWZ0KCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLmJvdHRvbShgJHtJTkRFTlRfU0laRX1weGApXG4gICAgICAgICAgICAubGVmdChgJHtJTkRFTlRfU0laRX1weGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Qm90dG9tUmlnaHQoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAuYm90dG9tKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5yaWdodChgJHtJTkRFTlRfU0laRX1weGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2VudGVyKCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLmNlbnRlclZlcnRpY2FsbHkoKVxuICAgICAgICAgICAgLmNlbnRlckhvcml6b250YWxseSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0R2xvYmFsT3ZlcmxheVBvc2l0aW9uKCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCk7XG4gICAgfVxufVxuIl19
@@ -104,7 +104,7 @@ export class McToggleComponent extends McToggleMixinBase {
104
104
  /** @nocollapse */ McToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: McToggleComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
105
105
  /** @nocollapse */ McToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: McToggleComponent, selector: "mc-toggle", inputs: { color: "color", tabIndex: "tabIndex", labelPosition: "labelPosition", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], id: "id", name: "name", value: "value", disabled: "disabled", checked: "checked" }, outputs: { change: "change" }, host: { properties: { "id": "id", "attr.id": "id", "class.mc-disabled": "disabled", "class.mc-active": "checked" }, classAttribute: "mc-toggle" }, providers: [{
106
106
  provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => McToggleComponent)), multi: true
107
- }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["mcToggle"], usesInheritance: true, ngImport: i0, template: "<label [attr.for]=\"inputId\" class=\"mc-toggle-layout\">\n <div class=\"mc-toggle__container\" [class.left]=\"labelPosition === 'left'\">\n <input #input\n type=\"checkbox\"\n role=\"switch\"\n class=\"mc-toggle-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (click)=\"onInputClick($event)\"\n (change)=\"onChangeEvent($event)\"/>\n <div class=\"mc-toggle-bar-container\">\n <div class=\"mc-toggle__overlay\"></div>\n <div class=\"mc-toggle-bar\">\n <div class=\"mc-toggle__circle\" [@switch]=\"checked\"></div>\n </div>\n </div>\n <div class=\"mc-toggle__content\"\n [class.left]=\"labelPosition === 'left'\"\n [class.right]=\"labelPosition === 'right'\">\n <span class=\"mc-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n </div>\n </div>\n</label>\n", styles: [".mc-toggle{display:inline-block}.mc-toggle .mc-toggle-layout{cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mc-toggle .mc-toggle-bar{position:relative;border-width:1px;border-style:solid}.mc-toggle .mc-toggle-bar.mc-toggle-label-position-left{order:1}.mc-toggle .mc-toggle-bar-container{position:relative}.mc-toggle__container{display:flex;align-items:center;position:relative}.mc-toggle__container.left{flex-direction:row-reverse}.mc-toggle__content.left{margin-right:8px;margin-right:var(--mc-toggle-size-label-margin, 8px)}.mc-toggle__content.right{margin-left:8px;margin-left:var(--mc-toggle-size-label-margin, 8px)}.mc-toggle__circle{position:absolute;border-width:1px;border-style:solid;border-radius:100%;margin-top:-1px;margin-left:-1px;transform:translate(-1px)}.mc-toggle__overlay{position:absolute;top:0;left:0;z-index:1}.mc-toggle:not(.mc-toggle_small) .mc-toggle-bar{height:16px;height:var(--mc-toggle-size-height, 16px);width:28px;width:var(--mc-toggle-size-width, 28px);border-radius:9px;border-radius:var(--mc-toggle-size-border-radius, 9px)}.mc-toggle:not(.mc-toggle_small) .mc-toggle__overlay{border-radius:9px;border-radius:var(--mc-toggle-size-border-radius, 9px);height:16px;height:var(--mc-toggle-size-height, 16px);width:28px;width:var(--mc-toggle-size-width, 28px)}.mc-toggle:not(.mc-toggle_small) .mc-toggle__circle{height:16px;height:var(--mc-toggle-size-height, 16px);width:16px;width:var(--mc-toggle-size-height, 16px)}.mc-toggle.mc-toggle_small .mc-toggle-bar{height:14px;height:var(--mc-toggle-small-size-height, 14px);width:24px;width:var(--mc-toggle-small-size-width, 24px);border-radius:8px;border-radius:var(--mc-toggle-small-size-border-radius, 8px)}.mc-toggle.mc-toggle_small .mc-toggle__overlay{border-radius:8px;border-radius:var(--mc-toggle-small-size-border-radius, 8px);height:14px;height:var(--mc-toggle-small-size-height, 14px);width:24px;width:var(--mc-toggle-small-size-width, 24px)}.mc-toggle.mc-toggle_small .mc-toggle__circle{height:14px;height:var(--mc-toggle-small-size-height, 14px);width:14px;width:var(--mc-toggle-small-size-height, 14px)}.mc-toggle:not(.mc-disabled){cursor:pointer}\n"], animations: [
107
+ }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["mcToggle"], usesInheritance: true, ngImport: i0, template: "<label [attr.for]=\"inputId\" class=\"mc-toggle-layout\">\n <div class=\"mc-toggle__container\" [class.left]=\"labelPosition === 'left'\">\n <input #input\n type=\"checkbox\"\n role=\"switch\"\n class=\"mc-toggle-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (click)=\"onInputClick($event)\"\n (change)=\"onChangeEvent($event)\"/>\n <div class=\"mc-toggle-bar-container\">\n <div class=\"mc-toggle__overlay\"></div>\n <div class=\"mc-toggle-bar\">\n <div class=\"mc-toggle__circle\" [@switch]=\"checked\"></div>\n </div>\n </div>\n <div class=\"mc-toggle__content\"\n [class.left]=\"labelPosition === 'left'\"\n [class.right]=\"labelPosition === 'right'\">\n <span class=\"mc-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n </div>\n </div>\n</label>\n", styles: [".mc-toggle{display:inline-block}.mc-toggle .mc-toggle-layout{cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mc-toggle .mc-toggle-bar{box-sizing:border-box;position:relative;border-width:1px;border-style:solid}.mc-toggle .mc-toggle-bar.mc-toggle-label-position-left{order:1}.mc-toggle .mc-toggle-bar-container{position:relative}.mc-toggle__container{display:flex;align-items:center;position:relative}.mc-toggle__container.left{flex-direction:row-reverse}.mc-toggle__content.left{margin-right:8px;margin-right:var(--mc-toggle-size-label-margin, 8px)}.mc-toggle__content.right{margin-left:8px;margin-left:var(--mc-toggle-size-label-margin, 8px)}.mc-toggle__circle{box-sizing:border-box;position:absolute;border-width:1px;border-style:solid;border-radius:100%;margin-top:-1px;margin-left:-1px;transform:translate(-1px)}.mc-toggle__overlay{position:absolute;top:0;left:0;z-index:1}.mc-toggle:not(.mc-toggle_small) .mc-toggle-bar{height:16px;height:var(--mc-toggle-size-height, 16px);width:28px;width:var(--mc-toggle-size-width, 28px);border-radius:9px;border-radius:var(--mc-toggle-size-border-radius, 9px)}.mc-toggle:not(.mc-toggle_small) .mc-toggle__overlay{border-radius:9px;border-radius:var(--mc-toggle-size-border-radius, 9px);height:16px;height:var(--mc-toggle-size-height, 16px);width:28px;width:var(--mc-toggle-size-width, 28px)}.mc-toggle:not(.mc-toggle_small) .mc-toggle__circle{height:16px;height:var(--mc-toggle-size-height, 16px);width:16px;width:var(--mc-toggle-size-height, 16px)}.mc-toggle.mc-toggle_small .mc-toggle-bar{height:14px;height:var(--mc-toggle-small-size-height, 14px);width:24px;width:var(--mc-toggle-small-size-width, 24px);border-radius:8px;border-radius:var(--mc-toggle-small-size-border-radius, 8px)}.mc-toggle.mc-toggle_small .mc-toggle__overlay{border-radius:8px;border-radius:var(--mc-toggle-small-size-border-radius, 8px);height:14px;height:var(--mc-toggle-small-size-height, 14px);width:24px;width:var(--mc-toggle-small-size-width, 24px)}.mc-toggle.mc-toggle_small .mc-toggle__circle{height:14px;height:var(--mc-toggle-small-size-height, 14px);width:14px;width:var(--mc-toggle-small-size-height, 14px)}.mc-toggle:not(.mc-disabled){cursor:pointer}\n"], animations: [
108
108
  trigger('switch', [
109
109
  state('true', style({ left: '50%' })),
110
110
  state('false', style({ left: '1px' })),
@@ -127,7 +127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
127
127
  ])
128
128
  ], providers: [{
129
129
  provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => McToggleComponent)), multi: true
130
- }], template: "<label [attr.for]=\"inputId\" class=\"mc-toggle-layout\">\n <div class=\"mc-toggle__container\" [class.left]=\"labelPosition === 'left'\">\n <input #input\n type=\"checkbox\"\n role=\"switch\"\n class=\"mc-toggle-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (click)=\"onInputClick($event)\"\n (change)=\"onChangeEvent($event)\"/>\n <div class=\"mc-toggle-bar-container\">\n <div class=\"mc-toggle__overlay\"></div>\n <div class=\"mc-toggle-bar\">\n <div class=\"mc-toggle__circle\" [@switch]=\"checked\"></div>\n </div>\n </div>\n <div class=\"mc-toggle__content\"\n [class.left]=\"labelPosition === 'left'\"\n [class.right]=\"labelPosition === 'right'\">\n <span class=\"mc-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n </div>\n </div>\n</label>\n", styles: [".mc-toggle{display:inline-block}.mc-toggle .mc-toggle-layout{cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mc-toggle .mc-toggle-bar{position:relative;border-width:1px;border-style:solid}.mc-toggle .mc-toggle-bar.mc-toggle-label-position-left{order:1}.mc-toggle .mc-toggle-bar-container{position:relative}.mc-toggle__container{display:flex;align-items:center;position:relative}.mc-toggle__container.left{flex-direction:row-reverse}.mc-toggle__content.left{margin-right:8px;margin-right:var(--mc-toggle-size-label-margin, 8px)}.mc-toggle__content.right{margin-left:8px;margin-left:var(--mc-toggle-size-label-margin, 8px)}.mc-toggle__circle{position:absolute;border-width:1px;border-style:solid;border-radius:100%;margin-top:-1px;margin-left:-1px;transform:translate(-1px)}.mc-toggle__overlay{position:absolute;top:0;left:0;z-index:1}.mc-toggle:not(.mc-toggle_small) .mc-toggle-bar{height:16px;height:var(--mc-toggle-size-height, 16px);width:28px;width:var(--mc-toggle-size-width, 28px);border-radius:9px;border-radius:var(--mc-toggle-size-border-radius, 9px)}.mc-toggle:not(.mc-toggle_small) .mc-toggle__overlay{border-radius:9px;border-radius:var(--mc-toggle-size-border-radius, 9px);height:16px;height:var(--mc-toggle-size-height, 16px);width:28px;width:var(--mc-toggle-size-width, 28px)}.mc-toggle:not(.mc-toggle_small) .mc-toggle__circle{height:16px;height:var(--mc-toggle-size-height, 16px);width:16px;width:var(--mc-toggle-size-height, 16px)}.mc-toggle.mc-toggle_small .mc-toggle-bar{height:14px;height:var(--mc-toggle-small-size-height, 14px);width:24px;width:var(--mc-toggle-small-size-width, 24px);border-radius:8px;border-radius:var(--mc-toggle-small-size-border-radius, 8px)}.mc-toggle.mc-toggle_small .mc-toggle__overlay{border-radius:8px;border-radius:var(--mc-toggle-small-size-border-radius, 8px);height:14px;height:var(--mc-toggle-small-size-height, 14px);width:24px;width:var(--mc-toggle-small-size-width, 24px)}.mc-toggle.mc-toggle_small .mc-toggle__circle{height:14px;height:var(--mc-toggle-small-size-height, 14px);width:14px;width:var(--mc-toggle-small-size-height, 14px)}.mc-toggle:not(.mc-disabled){cursor:pointer}\n"] }]
130
+ }], template: "<label [attr.for]=\"inputId\" class=\"mc-toggle-layout\">\n <div class=\"mc-toggle__container\" [class.left]=\"labelPosition === 'left'\">\n <input #input\n type=\"checkbox\"\n role=\"switch\"\n class=\"mc-toggle-input cdk-visually-hidden\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [tabIndex]=\"tabIndex\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-checked]=\"getAriaChecked()\"\n (click)=\"onInputClick($event)\"\n (change)=\"onChangeEvent($event)\"/>\n <div class=\"mc-toggle-bar-container\">\n <div class=\"mc-toggle__overlay\"></div>\n <div class=\"mc-toggle-bar\">\n <div class=\"mc-toggle__circle\" [@switch]=\"checked\"></div>\n </div>\n </div>\n <div class=\"mc-toggle__content\"\n [class.left]=\"labelPosition === 'left'\"\n [class.right]=\"labelPosition === 'right'\">\n <span class=\"mc-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n <ng-content></ng-content>\n </span>\n </div>\n </div>\n</label>\n", styles: [".mc-toggle{display:inline-block}.mc-toggle .mc-toggle-layout{cursor:inherit;align-items:baseline;vertical-align:middle;display:inline-flex;white-space:nowrap}.mc-toggle .mc-toggle-bar{box-sizing:border-box;position:relative;border-width:1px;border-style:solid}.mc-toggle .mc-toggle-bar.mc-toggle-label-position-left{order:1}.mc-toggle .mc-toggle-bar-container{position:relative}.mc-toggle__container{display:flex;align-items:center;position:relative}.mc-toggle__container.left{flex-direction:row-reverse}.mc-toggle__content.left{margin-right:8px;margin-right:var(--mc-toggle-size-label-margin, 8px)}.mc-toggle__content.right{margin-left:8px;margin-left:var(--mc-toggle-size-label-margin, 8px)}.mc-toggle__circle{box-sizing:border-box;position:absolute;border-width:1px;border-style:solid;border-radius:100%;margin-top:-1px;margin-left:-1px;transform:translate(-1px)}.mc-toggle__overlay{position:absolute;top:0;left:0;z-index:1}.mc-toggle:not(.mc-toggle_small) .mc-toggle-bar{height:16px;height:var(--mc-toggle-size-height, 16px);width:28px;width:var(--mc-toggle-size-width, 28px);border-radius:9px;border-radius:var(--mc-toggle-size-border-radius, 9px)}.mc-toggle:not(.mc-toggle_small) .mc-toggle__overlay{border-radius:9px;border-radius:var(--mc-toggle-size-border-radius, 9px);height:16px;height:var(--mc-toggle-size-height, 16px);width:28px;width:var(--mc-toggle-size-width, 28px)}.mc-toggle:not(.mc-toggle_small) .mc-toggle__circle{height:16px;height:var(--mc-toggle-size-height, 16px);width:16px;width:var(--mc-toggle-size-height, 16px)}.mc-toggle.mc-toggle_small .mc-toggle-bar{height:14px;height:var(--mc-toggle-small-size-height, 14px);width:24px;width:var(--mc-toggle-small-size-width, 24px);border-radius:8px;border-radius:var(--mc-toggle-small-size-border-radius, 8px)}.mc-toggle.mc-toggle_small .mc-toggle__overlay{border-radius:8px;border-radius:var(--mc-toggle-small-size-border-radius, 8px);height:14px;height:var(--mc-toggle-small-size-height, 14px);width:24px;width:var(--mc-toggle-small-size-width, 24px)}.mc-toggle.mc-toggle_small .mc-toggle__circle{height:14px;height:var(--mc-toggle-small-size-height, 14px);width:14px;width:var(--mc-toggle-small-size-height, 14px)}.mc-toggle:not(.mc-disabled){cursor:pointer}\n"] }]
131
131
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inputElement: [{
132
132
  type: ViewChild,
133
133
  args: ['input', { static: false }]
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
152
152
  }], change: [{
153
153
  type: Output
154
154
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDSCxZQUFZLEVBSVosVUFBVSxFQUNWLGFBQWEsRUFDYixhQUFhLEVBQ2hCLE1BQU0seUJBQXlCLENBQUM7OztBQUdqQyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFJckIsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7Q0FDaEQ7QUFFRCw4Q0FBOEM7QUFDOUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBSUosYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFFdkcsTUFBTSxPQUFPLGNBQWM7Q0FHMUI7QUE0QkQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQW9EcEQsWUFD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YSxNQUFNO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFRoZW1lUGFsZXR0ZSxcbiAgICBDYW5Db2xvciwgQ2FuQ29sb3JDdG9yLFxuICAgIENhbkRpc2FibGUsIENhbkRpc2FibGVDdG9yLFxuICAgIEhhc1RhYkluZGV4LCBIYXNUYWJJbmRleEN0b3IsXG4gICAgbWl4aW5Db2xvcixcbiAgICBtaXhpbkRpc2FibGVkLFxuICAgIG1peGluVGFiSW5kZXhcbn0gZnJvbSAnQHB0c2VjdXJpdHkvbW9zYWljL2NvcmUnO1xuXG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG50eXBlIFRvZ2dsZUxhYmVsUG9zaXRpb25UeXBlID0gJ2xlZnQnIHwgJ3JpZ2h0JztcblxuZXhwb3J0IGNsYXNzIE1jVG9nZ2xlQmFzZSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBNY1RvZ2dsZU1peGluQmFzZTpcbiAgICBIYXNUYWJJbmRleEN0b3IgJlxuICAgIENhbkRpc2FibGVDdG9yICZcbiAgICBDYW5Db2xvckN0b3IgJlxuICAgIHR5cGVvZiBNY1RvZ2dsZUJhc2UgPSBtaXhpblRhYkluZGV4KG1peGluQ29sb3IobWl4aW5EaXNhYmxlZChNY1RvZ2dsZUJhc2UpLCBUaGVtZVBhbGV0dGUuUHJpbWFyeSkpO1xuXG5leHBvcnQgY2xhc3MgTWNUb2dnbGVDaGFuZ2Uge1xuICAgIHNvdXJjZTogTWNUb2dnbGVDb21wb25lbnQ7XG4gICAgY2hlY2tlZDogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYy10b2dnbGUnLFxuICAgIGV4cG9ydEFzOiAnbWNUb2dnbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RvZ2dsZS5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbnB1dHM6IFsnY29sb3InLCAndGFiSW5kZXgnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnbWMtdG9nZ2xlJyxcbiAgICAgICAgJ1tpZF0nOiAnaWQnLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLm1jLWFjdGl2ZV0nOiAnY2hlY2tlZCdcbiAgICB9LFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignc3dpdGNoJywgW1xuICAgICAgICAgICAgc3RhdGUoJ3RydWUnICwgc3R5bGUoeyBsZWZ0OiAnNTAlJyB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGxlZnQ6ICcxcHgnIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3RydWUgPD0+IGZhbHNlJywgYW5pbWF0ZSgnMTUwbXMnKSlcbiAgICAgICAgXSlcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1jVG9nZ2xlQ29tcG9uZW50KSwgbXVsdGk6IHRydWVcbiAgICB9XVxufSlcbmV4cG9ydCBjbGFzcyBNY1RvZ2dsZUNvbXBvbmVudCBleHRlbmRzIE1jVG9nZ2xlTWl4aW5CYXNlXG4gICAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQ2FuQ29sb3IsIENhbkRpc2FibGUsIEhhc1RhYkluZGV4IHtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIGxhYmVsUG9zaXRpb246IFRvZ2dsZUxhYmVsUG9zaXRpb25UeXBlID0gJ3JpZ2h0JztcblxuICAgIEBJbnB1dCgnYXJpYS1sYWJlbCcpIGFyaWFMYWJlbDogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuXG4gICAgZ2V0IGlucHV0SWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWQgfHwgdGhpcy51bmlxdWVJZH0taW5wdXRgO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGdldCBjaGVja2VkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hlY2tlZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fY2hlY2tlZCA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8TWNUb2dnbGVDaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxNY1RvZ2dsZUNoYW5nZT4oKTtcblxuICAgIHByaXZhdGUgdW5pcXVlSWQ6IHN0cmluZyA9IGBtYy10b2dnbGUtJHsrK25leHRVbmlxdWVJZH1gO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9mb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuXG4gICAgICAgIHRoaXMuaWQgPSAgdGhpcy51bmlxdWVJZDtcblxuICAgICAgICB0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAna2V5Ym9hcmQnKTtcbiAgICB9XG5cbiAgICBnZXRBcmlhQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tlZDtcbiAgICB9XG5cbiAgICBvbkNoYW5nZUV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsVmFsdWUoKTtcbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICB9XG5cbiAgICBvbkxhYmVsVGV4dENoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb25JbnB1dENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSAhIXZhbHVlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWVtcHR5XG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjayA9ICgpID0+IHt9O1xuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWVtcHR5XG4gICAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrID0gKF86IGFueSkgPT4ge307XG5cbiAgICBwcml2YXRlIHVwZGF0ZU1vZGVsVmFsdWUoKSB7XG4gICAgICAgIHRoaXMuX2NoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbWl0Q2hhbmdlRXZlbnQoKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1jVG9nZ2xlQ2hhbmdlKCk7XG4gICAgICAgIGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIGV2ZW50LmNoZWNrZWQgPSB0aGlzLmNoZWNrZWQ7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMuY2hlY2tlZCk7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxsYWJlbCBbYXR0ci5mb3JdPVwiaW5wdXRJZFwiIGNsYXNzPVwibWMtdG9nZ2xlLWxheW91dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtYy10b2dnbGVfX2NvbnRhaW5lclwiIFtjbGFzcy5sZWZ0XT1cImxhYmVsUG9zaXRpb24gPT09ICdsZWZ0J1wiPlxuICAgICAgICA8aW5wdXQgI2lucHV0XG4gICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgICAgICBjbGFzcz1cIm1jLXRvZ2dsZS1pbnB1dCBjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgICAgICAgICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgfHwgbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImdldEFyaWFDaGVja2VkKClcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2VFdmVudCgkZXZlbnQpXCIvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWMtdG9nZ2xlLWJhci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYy10b2dnbGVfX292ZXJsYXlcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYy10b2dnbGUtYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1jLXRvZ2dsZV9fY2lyY2xlXCIgW0Bzd2l0Y2hdPVwiY2hlY2tlZFwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWMtdG9nZ2xlX19jb250ZW50XCJcbiAgICAgICAgICAgICBbY2xhc3MubGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgICAgICAgIFtjbGFzcy5yaWdodF09XCJsYWJlbFBvc2l0aW9uID09PSAncmlnaHQnXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLXRvZ2dsZS1sYWJlbFwiIChjZGtPYnNlcnZlQ29udGVudCk9XCJvbkxhYmVsVGV4dENoYW5nZSgpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbGFiZWw+XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDSCxZQUFZLEVBSVosVUFBVSxFQUNWLGFBQWEsRUFDYixhQUFhLEVBQ2hCLE1BQU0seUJBQXlCLENBQUM7OztBQUdqQyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFJckIsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFBbUIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7Q0FDaEQ7QUFFRCw4Q0FBOEM7QUFDOUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBSUosYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFFdkcsTUFBTSxPQUFPLGNBQWM7Q0FHMUI7QUE0QkQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQW9EcEQsWUFD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YSxNQUFNO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFRoZW1lUGFsZXR0ZSxcbiAgICBDYW5Db2xvciwgQ2FuQ29sb3JDdG9yLFxuICAgIENhbkRpc2FibGUsIENhbkRpc2FibGVDdG9yLFxuICAgIEhhc1RhYkluZGV4LCBIYXNUYWJJbmRleEN0b3IsXG4gICAgbWl4aW5Db2xvcixcbiAgICBtaXhpbkRpc2FibGVkLFxuICAgIG1peGluVGFiSW5kZXhcbn0gZnJvbSAnQHB0c2VjdXJpdHkvbW9zYWljL2NvcmUnO1xuXG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG50eXBlIFRvZ2dsZUxhYmVsUG9zaXRpb25UeXBlID0gJ2xlZnQnIHwgJ3JpZ2h0JztcblxuZXhwb3J0IGNsYXNzIE1jVG9nZ2xlQmFzZSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBNY1RvZ2dsZU1peGluQmFzZTpcbiAgICBIYXNUYWJJbmRleEN0b3IgJlxuICAgIENhbkRpc2FibGVDdG9yICZcbiAgICBDYW5Db2xvckN0b3IgJlxuICAgIHR5cGVvZiBNY1RvZ2dsZUJhc2UgPSBtaXhpblRhYkluZGV4KG1peGluQ29sb3IobWl4aW5EaXNhYmxlZChNY1RvZ2dsZUJhc2UpLCBUaGVtZVBhbGV0dGUuUHJpbWFyeSkpO1xuXG5leHBvcnQgY2xhc3MgTWNUb2dnbGVDaGFuZ2Uge1xuICAgIHNvdXJjZTogTWNUb2dnbGVDb21wb25lbnQ7XG4gICAgY2hlY2tlZDogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYy10b2dnbGUnLFxuICAgIGV4cG9ydEFzOiAnbWNUb2dnbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RvZ2dsZS5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbnB1dHM6IFsnY29sb3InLCAndGFiSW5kZXgnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnbWMtdG9nZ2xlJyxcbiAgICAgICAgJ1tpZF0nOiAnaWQnLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLm1jLWFjdGl2ZV0nOiAnY2hlY2tlZCdcbiAgICB9LFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignc3dpdGNoJywgW1xuICAgICAgICAgICAgc3RhdGUoJ3RydWUnICwgc3R5bGUoeyBsZWZ0OiAnNTAlJyB9KSksXG4gICAgICAgICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGxlZnQ6ICcxcHgnIH0pKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3RydWUgPD0+IGZhbHNlJywgYW5pbWF0ZSgnMTUwbXMnKSlcbiAgICAgICAgXSlcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1jVG9nZ2xlQ29tcG9uZW50KSwgbXVsdGk6IHRydWVcbiAgICB9XVxufSlcbmV4cG9ydCBjbGFzcyBNY1RvZ2dsZUNvbXBvbmVudCBleHRlbmRzIE1jVG9nZ2xlTWl4aW5CYXNlXG4gICAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQ2FuQ29sb3IsIENhbkRpc2FibGUsIEhhc1RhYkluZGV4IHtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIGxhYmVsUG9zaXRpb246IFRvZ2dsZUxhYmVsUG9zaXRpb25UeXBlID0gJ3JpZ2h0JztcblxuICAgIEBJbnB1dCgnYXJpYS1sYWJlbCcpIGFyaWFMYWJlbDogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuXG4gICAgZ2V0IGlucHV0SWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWQgfHwgdGhpcy51bmlxdWVJZH0taW5wdXRgO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGdldCBjaGVja2VkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hlY2tlZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fY2hlY2tlZCA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8TWNUb2dnbGVDaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxNY1RvZ2dsZUNoYW5nZT4oKTtcblxuICAgIHByaXZhdGUgdW5pcXVlSWQ6IHN0cmluZyA9IGBtYy10b2dnbGUtJHsrK25leHRVbmlxdWVJZH1gO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9mb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuXG4gICAgICAgIHRoaXMuaWQgPSAgdGhpcy51bmlxdWVJZDtcblxuICAgICAgICB0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAna2V5Ym9hcmQnKTtcbiAgICB9XG5cbiAgICBnZXRBcmlhQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tlZDtcbiAgICB9XG5cbiAgICBvbkNoYW5nZUV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsVmFsdWUoKTtcbiAgICAgICAgdGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICB9XG5cbiAgICBvbkxhYmVsVGV4dENoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb25JbnB1dENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSAhIXZhbHVlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWVtcHR5XG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjayA9ICgpID0+IHt9O1xuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWVtcHR5XG4gICAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrID0gKF86IGFueSkgPT4ge307XG5cbiAgICBwcml2YXRlIHVwZGF0ZU1vZGVsVmFsdWUoKSB7XG4gICAgICAgIHRoaXMuX2NoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbWl0Q2hhbmdlRXZlbnQoKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IE1jVG9nZ2xlQ2hhbmdlKCk7XG4gICAgICAgIGV2ZW50LnNvdXJjZSA9IHRoaXM7XG4gICAgICAgIGV2ZW50LmNoZWNrZWQgPSB0aGlzLmNoZWNrZWQ7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMuY2hlY2tlZCk7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxsYWJlbCBbYXR0ci5mb3JdPVwiaW5wdXRJZFwiIGNsYXNzPVwibWMtdG9nZ2xlLWxheW91dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtYy10b2dnbGVfX2NvbnRhaW5lclwiIFtjbGFzcy5sZWZ0XT1cImxhYmVsUG9zaXRpb24gPT09ICdsZWZ0J1wiPlxuICAgICAgICA8aW5wdXQgI2lucHV0XG4gICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgICAgICBjbGFzcz1cIm1jLXRvZ2dsZS1pbnB1dCBjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgICAgICAgICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgfHwgbnVsbFwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImdldEFyaWFDaGVja2VkKClcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2VFdmVudCgkZXZlbnQpXCIvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWMtdG9nZ2xlLWJhci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYy10b2dnbGVfX292ZXJsYXlcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYy10b2dnbGUtYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1jLXRvZ2dsZV9fY2lyY2xlXCIgW0Bzd2l0Y2hdPVwiY2hlY2tlZFwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWMtdG9nZ2xlX19jb250ZW50XCJcbiAgICAgICAgICAgICBbY2xhc3MubGVmdF09XCJsYWJlbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgICAgICAgIFtjbGFzcy5yaWdodF09XCJsYWJlbFBvc2l0aW9uID09PSAncmlnaHQnXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1jLXRvZ2dsZS1sYWJlbFwiIChjZGtPYnNlcnZlQ29udGVudCk9XCJvbkxhYmVsVGV4dENoYW5nZSgpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbGFiZWw+XG4iXX0=