@seniorsistemas/data-seniorx-core 3.1.0 → 3.2.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 (191) hide show
  1. package/core/constants/accordion.const.d.ts +4 -4
  2. package/core/constants/alert.const.d.ts +1 -1
  3. package/core/constants/autocomplete.const.d.ts +2 -2
  4. package/core/constants/badge.const.d.ts +1 -1
  5. package/core/constants/card.const.d.ts +8 -8
  6. package/core/constants/chips.const.d.ts +2 -2
  7. package/core/constants/code-editor.const.d.ts +4 -4
  8. package/core/constants/collapse-link.const.d.ts +2 -2
  9. package/core/constants/color-picker.const.d.ts +2 -2
  10. package/core/constants/combobox.const.d.ts +3 -3
  11. package/core/constants/context-selector.const.d.ts +1 -1
  12. package/core/constants/editable-overlay.const.d.ts +4 -4
  13. package/core/constants/fileupload.const.d.ts +3 -3
  14. package/core/constants/gantt.const.d.ts +1 -1
  15. package/core/constants/help-popover.const.d.ts +2 -2
  16. package/core/constants/hyperlink.const.d.ts +2 -2
  17. package/core/constants/info-sign.const.d.ts +1 -1
  18. package/core/constants/inline-edit.const.d.ts +4 -4
  19. package/core/constants/kanban.const.d.ts +2 -2
  20. package/core/constants/list.const.d.ts +1 -1
  21. package/core/constants/modalc.const.d.ts +1 -1
  22. package/core/constants/navigation-button.const.d.ts +3 -3
  23. package/core/constants/object-card.const.d.ts +2 -2
  24. package/core/constants/picklist.const.d.ts +2 -2
  25. package/core/constants/pin-code-field.const.d.ts +3 -3
  26. package/core/constants/popover.const.d.ts +1 -1
  27. package/core/constants/progressbar.const.d.ts +1 -1
  28. package/core/constants/radio.const.d.ts +2 -2
  29. package/core/constants/rating-scale.const.d.ts +1 -1
  30. package/core/constants/sidebar.const.d.ts +1 -1
  31. package/core/constants/slider.const.d.ts +1 -1
  32. package/core/constants/split-button.const.d.ts +2 -2
  33. package/core/constants/spotlight.const.d.ts +8 -8
  34. package/core/constants/star-rating.const.d.ts +2 -2
  35. package/core/constants/tab.const.d.ts +3 -3
  36. package/core/constants/table.const.d.ts +1 -0
  37. package/core/constants/thumbnails.const.d.ts +4 -4
  38. package/core/constants/token-list.const.d.ts +1 -1
  39. package/core/types/table-column.type.d.ts +4 -0
  40. package/core/types/table-options.type.d.ts +3 -0
  41. package/core/types/table-shared.type.d.ts +1 -1
  42. package/core/types/tile-select.type.d.ts +17 -0
  43. package/esm2022/core/constants/accordion.const.mjs +5 -5
  44. package/esm2022/core/constants/alert.const.mjs +2 -2
  45. package/esm2022/core/constants/autocomplete.const.mjs +3 -3
  46. package/esm2022/core/constants/badge.const.mjs +2 -2
  47. package/esm2022/core/constants/card.const.mjs +9 -9
  48. package/esm2022/core/constants/chips.const.mjs +3 -3
  49. package/esm2022/core/constants/code-editor.const.mjs +5 -5
  50. package/esm2022/core/constants/collapse-link.const.mjs +3 -3
  51. package/esm2022/core/constants/color-picker.const.mjs +3 -3
  52. package/esm2022/core/constants/combobox.const.mjs +7 -4
  53. package/esm2022/core/constants/context-selector.const.mjs +2 -2
  54. package/esm2022/core/constants/editable-overlay.const.mjs +5 -5
  55. package/esm2022/core/constants/fileupload.const.mjs +4 -4
  56. package/esm2022/core/constants/gantt.const.mjs +2 -2
  57. package/esm2022/core/constants/help-popover.const.mjs +3 -3
  58. package/esm2022/core/constants/hyperlink.const.mjs +3 -3
  59. package/esm2022/core/constants/info-sign.const.mjs +2 -2
  60. package/esm2022/core/constants/inline-edit.const.mjs +5 -5
  61. package/esm2022/core/constants/kanban.const.mjs +3 -3
  62. package/esm2022/core/constants/list.const.mjs +2 -2
  63. package/esm2022/core/constants/loading-state.const.mjs +2 -2
  64. package/esm2022/core/constants/modalc.const.mjs +2 -2
  65. package/esm2022/core/constants/navigation-button.const.mjs +4 -4
  66. package/esm2022/core/constants/object-card.const.mjs +3 -3
  67. package/esm2022/core/constants/picklist.const.mjs +3 -3
  68. package/esm2022/core/constants/pin-code-field.const.mjs +4 -4
  69. package/esm2022/core/constants/popover.const.mjs +8 -2
  70. package/esm2022/core/constants/progressbar.const.mjs +2 -2
  71. package/esm2022/core/constants/radio.const.mjs +3 -3
  72. package/esm2022/core/constants/rating-scale.const.mjs +2 -2
  73. package/esm2022/core/constants/sidebar.const.mjs +2 -2
  74. package/esm2022/core/constants/slider.const.mjs +2 -2
  75. package/esm2022/core/constants/split-button.const.mjs +3 -3
  76. package/esm2022/core/constants/spotlight.const.mjs +9 -9
  77. package/esm2022/core/constants/star-rating.const.mjs +3 -3
  78. package/esm2022/core/constants/tab.const.mjs +4 -4
  79. package/esm2022/core/constants/table.const.mjs +4 -3
  80. package/esm2022/core/constants/thumbnails.const.mjs +5 -5
  81. package/esm2022/core/constants/token-list.const.mjs +2 -2
  82. package/esm2022/core/data/fontawesome-v5-solid-icons.data.mjs +2 -2
  83. package/esm2022/core/types/table-column.type.mjs +1 -1
  84. package/esm2022/core/types/table-options.type.mjs +1 -1
  85. package/esm2022/core/types/table-shared.type.mjs +1 -1
  86. package/esm2022/core/types/tile-select.type.mjs +8 -0
  87. package/esm2022/core/utils/combobox.util.mjs +6 -6
  88. package/esm2022/features/accordion/components/accordion-item/accordion-item.component.mjs +3 -3
  89. package/esm2022/features/autocomplete/autocomplete.component.mjs +3 -3
  90. package/esm2022/features/bignumber-input/bignumber-input.component.mjs +1 -1
  91. package/esm2022/features/breadcrumb/breadcrumb.component.mjs +3 -3
  92. package/esm2022/features/button/button.component.mjs +7 -3
  93. package/esm2022/features/card-list/card/card.component.mjs +2 -2
  94. package/esm2022/features/card-list/card-list.component.mjs +7 -3
  95. package/esm2022/features/chat/chat.component.mjs +4 -4
  96. package/esm2022/features/checkbox/checkbox.component.mjs +3 -3
  97. package/esm2022/features/checkbox-list/checkbox-list.component.mjs +3 -3
  98. package/esm2022/features/chips/chips.component.mjs +3 -3
  99. package/esm2022/features/code-editor/code-editor.component.mjs +23 -5
  100. package/esm2022/features/color-picker/color-picker.component.mjs +3 -3
  101. package/esm2022/features/country-phone-picker/country-phone-picker.component.mjs +3 -3
  102. package/esm2022/features/currency/currency.component.mjs +1 -1
  103. package/esm2022/features/editable-overlay/editable-overlay.component.mjs +3 -3
  104. package/esm2022/features/empty-state/empty-state.component.mjs +1 -1
  105. package/esm2022/features/fileupload/fileupload.component.mjs +4 -4
  106. package/esm2022/features/filters/filters.component.mjs +3 -3
  107. package/esm2022/features/help-popover/help-popover.component.mjs +2 -2
  108. package/esm2022/features/hyperlink/hyperlink.component.mjs +3 -3
  109. package/esm2022/features/icon-picker/icon-picker.component.mjs +1 -1
  110. package/esm2022/features/image-cropper/image-cropper.component.mjs +9 -9
  111. package/esm2022/features/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +1 -1
  112. package/esm2022/features/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +2 -2
  113. package/esm2022/features/list/list.component.mjs +7 -3
  114. package/esm2022/features/loading-state/loading-state.component.mjs +5 -5
  115. package/esm2022/features/localized-number-input/localized-number-input.component.mjs +4 -4
  116. package/esm2022/features/lookup/lookup.component.mjs +5 -5
  117. package/esm2022/features/mask/mask.component.mjs +4 -4
  118. package/esm2022/features/modal/modal.component.mjs +3 -3
  119. package/esm2022/features/modalc/modalc.component.mjs +3 -3
  120. package/esm2022/features/number-input/number-input.component.mjs +32 -5
  121. package/esm2022/features/object-card/components/object-card-field/object-card-field.component.mjs +1 -1
  122. package/esm2022/features/object-card/components/object-card-main/object-card-main.component.mjs +1 -1
  123. package/esm2022/features/object-card/object-card.component.mjs +2 -2
  124. package/esm2022/features/paginator/paginator.component.mjs +3 -3
  125. package/esm2022/features/panel/panel.component.mjs +6 -6
  126. package/esm2022/features/password-strength/password-strength.component.mjs +6 -6
  127. package/esm2022/features/picklist/picklist.component.mjs +6 -4
  128. package/esm2022/features/pin-code-field/pin-code-field.component.mjs +3 -3
  129. package/esm2022/features/profile-picture-picker/profile-picture-picker.component.mjs +11 -11
  130. package/esm2022/features/rating-scale/rating-scale.component.mjs +3 -3
  131. package/esm2022/features/row-card-list/row-card/row-card.component.mjs +100 -7
  132. package/esm2022/features/row-card-list/row-card-list.component.mjs +7 -3
  133. package/esm2022/features/scaffold/scaffold.component.mjs +3 -3
  134. package/esm2022/features/searchbox/searchbox.component.mjs +4 -4
  135. package/esm2022/features/select-button/select-button.component.mjs +5 -5
  136. package/esm2022/features/sidebar/sidebar.component.mjs +3 -3
  137. package/esm2022/features/slider/slider.component.mjs +3 -3
  138. package/esm2022/features/speech-recognition/speech-recognition.component.mjs +12 -12
  139. package/esm2022/features/spotlight/spotlight.component.mjs +2 -2
  140. package/esm2022/features/star-rating/star-rating.component.mjs +3 -3
  141. package/esm2022/features/switch/switch.component.mjs +4 -4
  142. package/esm2022/features/table/components/table-actions-menu.component.mjs +2 -2
  143. package/esm2022/features/table/components/table-cell-content.component.mjs +16 -10
  144. package/esm2022/features/table/table.component.mjs +46 -16
  145. package/esm2022/features/table/utils/table-visual.util.mjs +25 -7
  146. package/esm2022/features/textarea/textarea.component.mjs +3 -3
  147. package/esm2022/features/textbox/textbox.component.mjs +3 -3
  148. package/esm2022/features/tile-select/tile-select.component.mjs +80 -0
  149. package/esm2022/features/toast/toast.component.mjs +3 -3
  150. package/esm2022/features/tree/components/tree-node-item/tree-node-item.component.mjs +6 -6
  151. package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2 -2
  152. package/esm2022/locales/en.json +4760 -4749
  153. package/esm2022/locales/es-CO.json +4760 -4749
  154. package/esm2022/locales/pt.json +4760 -4749
  155. package/esm2022/providers/features.provider.mjs +3 -1
  156. package/esm2022/public-api.mjs +3 -1
  157. package/features/button/button.component.d.ts +2 -1
  158. package/features/card-list/card-list.component.d.ts +3 -1
  159. package/features/code-editor/code-editor.component.d.ts +2 -1
  160. package/features/help-popover/help-popover.component.d.ts +1 -1
  161. package/features/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +4 -4
  162. package/features/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +2 -2
  163. package/features/list/list.component.d.ts +3 -1
  164. package/features/navigation-button/navigation-button.component.d.ts +3 -3
  165. package/features/number-input/number-input.component.d.ts +7 -1
  166. package/features/panel/panel.component.d.ts +1 -1
  167. package/features/picklist/picklist.component.d.ts +3 -2
  168. package/features/pin-code-field/pin-code-field.component.d.ts +3 -3
  169. package/features/row-card-list/row-card/row-card.component.d.ts +15 -2
  170. package/features/row-card-list/row-card-list.component.d.ts +3 -1
  171. package/features/spotlight/spotlight.component.d.ts +8 -8
  172. package/features/table/components/table-cell-content.component.d.ts +4 -1
  173. package/features/table/table.component.d.ts +9 -2
  174. package/features/table/utils/table-visual.util.d.ts +5 -0
  175. package/features/textarea/textarea.component.d.ts +1 -1
  176. package/features/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +3 -3
  177. package/features/thumbnails/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +1 -1
  178. package/features/thumbnails/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +1 -1
  179. package/features/tile-select/tile-select.component.d.ts +21 -0
  180. package/fesm2022/seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-fK3MF8KJ.mjs +4 -0
  181. package/fesm2022/{seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-B7opbaVg.mjs.map → seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-fK3MF8KJ.mjs.map} +1 -1
  182. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +14859 -14534
  183. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  184. package/package.json +57 -22
  185. package/public-api.d.ts +3 -0
  186. package/src/locales/en.json +4760 -4749
  187. package/src/locales/es-CO.json +4760 -4749
  188. package/src/locales/pt.json +4760 -4749
  189. package/styles/sdc-global-variables.scss +2 -2
  190. package/styles.css +2 -2
  191. package/fesm2022/seniorsistemas-data-seniorx-core-fontawesome-v5-solid-icons.data-B7opbaVg.mjs +0 -4
@@ -7,19 +7,37 @@ export function resolveTableVisualConfig(input, value, row) {
7
7
  return input ?? null;
8
8
  }
9
9
  export function resolveTableTagItems(row, col, tagOptions, resolveValue) {
10
- if (!col.field) {
10
+ const normalized = normalizeTagItems(row, col, tagOptions, resolveValue);
11
+ if (!normalized) {
11
12
  return [];
12
13
  }
14
+ return normalized.items
15
+ .slice(0, normalized.maxItems)
16
+ .map((item) => resolveSingleTagItem(item, row, col, tagOptions));
17
+ }
18
+ export function resolveTableTagOverflow(row, col, tagOptions, resolveValue) {
19
+ const normalized = normalizeTagItems(row, col, tagOptions, resolveValue);
20
+ const hiddenRawItems = normalized ? normalized.items.slice(normalized.maxItems) : [];
21
+ if (hiddenRawItems.length === 0) {
22
+ return { hiddenCount: 0, hiddenLabels: [] };
23
+ }
24
+ return {
25
+ hiddenCount: hiddenRawItems.length,
26
+ hiddenLabels: hiddenRawItems.map((item) => resolveSingleTagItem(item, row, col, tagOptions).label)
27
+ };
28
+ }
29
+ function normalizeTagItems(row, col, tagOptions, resolveValue) {
30
+ if (!col.field) {
31
+ return null;
32
+ }
13
33
  const rawValue = resolveValue(row, col.field);
14
34
  const isEmpty = rawValue === null || rawValue === undefined || rawValue === '';
15
35
  const singleItem = isEmpty ? [] : [rawValue];
16
- const normalizedItems = Array.isArray(rawValue) ? rawValue : singleItem;
36
+ const items = Array.isArray(rawValue) ? rawValue : singleItem;
17
37
  const maxItems = typeof tagOptions.maxItems === 'number' && tagOptions.maxItems >= 0
18
38
  ? tagOptions.maxItems
19
- : normalizedItems.length;
20
- return normalizedItems
21
- .slice(0, maxItems)
22
- .map((item) => resolveSingleTagItem(item, row, col, tagOptions));
39
+ : items.length;
40
+ return { items, maxItems };
23
41
  }
24
42
  export function resolveTableIconPresentation(row, col, iconOptions, resolveValue) {
25
43
  return resolveIconPresentation(row, col, iconOptions, resolveValue, false);
@@ -218,4 +236,4 @@ function toOptionalText(value) {
218
236
  function toTextValue(value) {
219
237
  return typeof value === 'string' ? value : String(value ?? '');
220
238
  }
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlzdWFsLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RhYmxlL3V0aWxzL3RhYmxlLXZpc3VhbC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLGVBQWUsRUFDZixhQUFhLEVBQ2IsMEJBQTBCLEVBQzFCLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDMUIsTUFBTSxxQ0FBcUMsQ0FBQztBQVc3QyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQXVCbEMsTUFBTSxVQUFVLHdCQUF3QixDQUt0QyxLQUE2RCxFQUM3RCxLQUFhLEVBQ2IsR0FBTTtJQUVOLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLEdBQU0sRUFDTixHQUFtQixFQUNuQixVQUFxQyxFQUNyQyxZQUFzRDtJQUV0RCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxFQUFFLENBQUM7SUFDL0UsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsTUFBTSxlQUFl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LENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN0RyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsS0FBYztJQUNuQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN4RixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBYztJQUNwQyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxLQUFjO0lBQ2pDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFRBQkxFX0RJU0FCTEVEX1RBR19WQUxVRVMsXG4gIFRBQkxFX0VOQUJMRURfVEFHX1ZBTFVFUyxcbiAgVEFCTEVfSEVYX1JBRElYLFxuICBUQUJMRV9SR0JfTUFYLFxuICBUQUJMRV9UQUdfQkFDS0dST1VORF9BTFBIQSxcbiAgVEFCTEVfVEFHX0ZPUkVHUk9VTkRfREFSS0VOX0FNT1VOVCxcbiAgVEFCTEVfVklTVUFMX1RPTkVfUFJFU0VUU1xufSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbnN0YW50cy90YWJsZS5jb25zdCc7XG5pbXBvcnQgdHlwZSB7XG4gIFJvd0Jhc2UsXG4gIFRhYmxlQmFzZVZpc3VhbENvbmZpZyxcbiAgVGFibGVDZWxsQ29uZmlnLFxuICBUYWJsZUNvbHVtbixcbiAgVGFibGVJY29uQ29uZmlnLFxuICBUYWJsZVRhZ0NvbmZpZyxcbiAgVGFibGVWaXN1YWxDb25maWdJbnB1dFxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuXG5jb25zdCBIRVhfQ09MT1JfU1RSSU5HX0xFTkdUSCA9IDY7XG5cbmV4cG9ydCB0eXBlIFRhYmxlUmVzb2x2ZWRUYWdJdGVtID0ge1xuICBpY29uOiBzdHJpbmcgfCBudWxsO1xuICBpY29uVHlwZTogVGFibGVUYWdDb25maWdbJ2ljb25UeXBlJ107XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHN0eWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGw7XG4gIHRvb2x0aXA6IHN0cmluZyB8IG51bGw7XG4gIHRvbmU6ICdlbmFibGVkJyB8ICdkaXNhYmxlZCcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgVGFibGVSZXNvbHZlZEljb25QcmVzZW50YXRpb24gPSB7XG4gIGNvbG9yU3R5bGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsO1xuICBpY29uOiBzdHJpbmcgfCBudWxsO1xuICBpY29uVHlwZTogVGFibGVJY29uQ29uZmlnWydpY29uVHlwZSddO1xuICBsYWJlbDogc3RyaW5nIHwgbnVsbDtcbiAgdG9vbHRpcDogc3RyaW5nIHwgbnVsbDtcbn07XG5cbnR5cGUgVGFibGVUb25lTmFtZSA9IGtleW9mIHR5cGVvZiBUQUJMRV9WSVNVQUxfVE9ORV9QUkVTRVRTO1xuXG50eXBlIFRhYmxlVG9uZVByZXNldCA9ICh0eXBlb2YgVEFCTEVfVklTVUFMX1RPTkVfUFJFU0VUUylbVGFibGVUb25lTmFtZV07XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVGFibGVWaXN1YWxDb25maWc8XG4gIFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZSxcbiAgVFZhbHVlID0gdW5rbm93bixcbiAgVENvbmZpZyBleHRlbmRzIFRhYmxlQmFzZVZpc3VhbENvbmZpZyA9IFRhYmxlQmFzZVZpc3VhbENvbmZpZ1xuPihcbiAgaW5wdXQ6IFRhYmxlVmlzdWFsQ29uZmlnSW5wdXQ8VCwgVFZhbHVlLCBUQ29uZmlnPiB8IHVuZGVmaW5lZCxcbiAgdmFsdWU6IFRWYWx1ZSxcbiAgcm93OiBUXG4pOiBUQ29uZmlnIHwgbnVsbCB7XG4gIGlmICh0eXBlb2YgaW5wdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gaW5wdXQodmFsdWUsIHJvdykgPz8gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBpbnB1dCA/PyBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhYmxlVGFnSXRlbXM8VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPihcbiAgcm93OiBULFxuICBjb2w6IFRhYmxlQ29sdW1uPFQ+LFxuICB0YWdPcHRpb25zOiBUYWJsZUNlbGxDb25maWc8VCwgJ3RhZyc+LFxuICByZXNvbHZlVmFsdWU6IChyb3dWYWx1ZTogVCwgZmllbGQ/OiBzdHJpbmcpID0+IHVua25vd25cbik6IFRhYmxlUmVzb2x2ZWRUYWdJdGVtW10ge1xuICBpZiAoIWNvbC5maWVsZCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJhd1ZhbHVlID0gcmVzb2x2ZVZhbHVlKHJvdywgY29sLmZpZWxkKTtcbiAgY29uc3QgaXNFbXB0eSA9IHJhd1ZhbHVlID09PSBudWxsIHx8IHJhd1ZhbHVlID09PSB1bmRlZmluZWQgfHwgcmF3VmFsdWUgPT09ICcnO1xuICBjb25zdCBzaW5nbGVJdGVtID0gaXNFbXB0eSA/IFtdIDogW3Jhd1ZhbHVlXTtcbiAgY29uc3Qgbm9ybWFsaXplZEl0ZW1zID0gQXJyYXkuaXNBcnJheShyYXdWYWx1ZSkgPyByYXdWYWx1ZSA6IHNpbmdsZUl0ZW07XG4gIGNvbnN0IG1heEl0ZW1zID0gdHlwZW9mIHRhZ09wdGlvbnMubWF4SXRlbXMgPT09ICdudW1iZXInICYmIHRhZ09wdGlvbnMubWF4SXRlbXMgPj0gMFxuICAgID8gdGFnT3B0aW9ucy5tYXhJdGVtc1xuICAgIDogbm9ybWFsaXplZEl0ZW1zLmxlbmd0aDtcblxuICByZXR1cm4gbm9ybWFsaXplZEl0ZW1zXG4gICAgLnNsaWNlKDAsIG1heEl0ZW1zKVxuICAgIC5tYXAoKGl0ZW0pID0+IHJlc29sdmVTaW5nbGVUYWdJdGVtKGl0ZW0sIHJvdywgY29sLCB0YWdPcHRpb25zKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVGFibGVJY29uUHJlc2VudGF0aW9uPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIHJvdzogVCxcbiAgY29sOiBUYWJsZUNvbHVtbjxUPixcbiAgaWNvbk9wdGlvbnM6IFRhYmxlQ2VsbENvbmZpZzxULCAnaWNvbic+LFxuICByZXNvbHZlVmFsdWU6IChyb3dWYWx1ZTogVCwgZmllbGQ/OiBzdHJpbmcpID0+IHVua25vd25cbik6IFRhYmxlUmVzb2x2ZWRJY29uUHJlc2VudGF0aW9uIHtcbiAgcmV0dXJuIHJlc29sdmVJY29uUHJlc2VudGF0aW9uKHJvdywgY29sLCBpY29uT3B0aW9ucywgcmVzb2x2ZVZhbHVlLCBmYWxzZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVGFibGVUaXRsZUljb25QcmVzZW50YXRpb248VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPihcbiAgcm93OiBULFxuICBjb2w6IFRhYmxlQ29sdW1uPFQ+LFxuICBpY29uT3B0aW9uczogVGFibGVDZWxsQ29uZmlnPFQsICdpY29uLXRpdGxlJz4sXG4gIHJlc29sdmVWYWx1ZTogKHJvd1ZhbHVlOiBULCBmaWVsZD86IHN0cmluZykgPT4gdW5rbm93blxuKTogVGFibGVSZXNvbHZlZEljb25QcmVzZW50YXRpb24ge1xuICByZXR1cm4gcmVzb2x2ZUljb25QcmVzZW50YXRpb24ocm93LCBjb2wsIGljb25PcHRpb25zLCByZXNvbHZlVmFsdWUsIHRydWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhYmxlQnV0dG9uS2V5PFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIHJvdzogVCxcbiAgY29sOiBUYWJsZUNvbHVtbjxUPixcbiAgYnV0dG9uT3B0aW9uczogVGFibGVDZWxsQ29uZmlnPFQsICdidXR0b24nPixcbiAgcmVzb2x2ZVZhbHVlOiAocm93VmFsdWU6IFQsIGZpZWxkPzogc3RyaW5nKSA9PiB1bmtub3duXG4pOiBzdHJpbmcge1xuICBjb25zdCBhY3Rpb25LZXkgPSBjb2wuYWN0aW9uRmllbGQgPz8gY29sLmZpZWxkID8/ICcnO1xuICBjb25zdCBhY3Rpb25WYWx1ZSA9IGFjdGlvbktleSA/IFN0cmluZyhyZXNvbHZlVmFsdWUocm93LCBhY3Rpb25LZXkpID8/ICcnKSA6ICcnO1xuXG4gIHJldHVybiBbXG4gICAgU3RyaW5nKGJ1dHRvbk9wdGlvbnM/LmxhYmVsID8/ICcnKSxcbiAgICBTdHJpbmcoYnV0dG9uT3B0aW9ucz8uaWNvbiA/PyAnJyksXG4gICAgU3RyaW5nKGJ1dHRvbk9wdGlvbnM/LnByaW9yaXR5ID8/ICcnKSxcbiAgICBTdHJpbmcoYnV0dG9uT3B0aW9ucz8uc2l6ZSA/PyAnJyksXG4gICAgU3RyaW5nKGJ1dHRvbk9wdGlvbnM/LnRvb2x0aXAgPz8gJycpLFxuICAgIGFjdGlvblZhbHVlXG4gIF0uam9pbignfCcpO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlU2luZ2xlVGFnSXRlbTxUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+KFxuICByYXdJdGVtOiB1bmtub3duLFxuICByb3c6IFQsXG4gIGNvbDogVGFibGVDb2x1bW48VD4sXG4gIHRhZ09wdGlvbnM6IFRhYmxlQ2VsbENvbmZpZzxULCAndGFnJz5cbik6IFRhYmxlUmVzb2x2ZWRUYWdJdGVtIHtcbiAgY29uc3QgdGFnQ29uZmlnID0gcmVzb2x2ZVRhYmxlVmlzdWFsQ29uZmlnKGNvbC50YWdDb25maWcsIHJhd0l0ZW0sIHJvdyk7XG4gIGNvbnN0IGxhYmVsID0gU3RyaW5nKHRhZ0NvbmZpZz8ubGFiZWwgPz8gcmF3SXRlbSA/PyAnJyk7XG4gIGNvbnN0IHRvbmUgPSByZXNvbHZlTGVnYWN5VGFnVG9uZShyYXdJdGVtLCBsYWJlbCwgdGFnQ29uZmlnKTtcbiAgY29uc3Qgc3R5bGVzID0gdG9uZSA/IG51bGwgOiBidWlsZFRhZ1N0eWxlcyh0YWdDb25maWcsIHRhZ09wdGlvbnMpO1xuXG4gIHJldHVybiB7XG4gICAgaWNvbjogdGFnQ29uZmlnPy5pY29uID8/IHRhZ09wdGlvbnMuaWNvbiA/PyBudWxsLFxuICAgIGljb25UeXBlOiB0YWdDb25maWc/Lmljb25UeXBlID8/IHRhZ09wdGlvbnMuaWNvblR5cGUgPz8gJ2NsYXNzJyxcbiAgICB0b29sdGlwOiB0YWdDb25maWc/LnRvb2x0aXAgPz8gdGFnT3B0aW9ucy50b29sdGlwID8/IG51bGwsXG4gICAgbGFiZWwsXG4gICAgc3R5bGVzLFxuICAgIHRvbmUsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVJY29uUHJlc2VudGF0aW9uPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIHJvdzogVCxcbiAgY29sOiBUYWJsZUNvbHVtbjxUPixcbiAgaWNvbk9wdGlvbnM6IFRhYmxlSWNvbkNvbmZpZyxcbiAgcmVzb2x2ZVZhbHVlOiAocm93VmFsdWU6IFQsIGZpZWxkPzogc3RyaW5nKSA9PiB1bmtub3duLFxuICB1c2VDb2x1bW5WYWx1ZUFzTGFiZWw6IGJvb2xlYW5cbik6IFRhYmxlUmVzb2x2ZWRJY29uUHJlc2VudGF0aW9uIHtcbiAgY29uc3QgcmF3Q29sdW1uVmFsdWUgPSByZXNvbHZlVmFsdWUocm93LCBjb2wuZmllbGQpO1xuICBjb25zdCByZXNvbHZlZENvbmZpZyA9IHJlc29sdmVUYWJsZVZpc3VhbENvbmZpZyhcbiAgICB1c2VDb2x1bW5WYWx1ZUFzTGFiZWwgPyBjb2wudGl0bGVJY29uQ29uZmlnIDogY29sLmljb25Db25maWcsXG4gICAgcmF3Q29sdW1uVmFsdWUsXG4gICAgcm93XG4gICk7XG4gIGNvbnN0IGljb25GaWVsZCA9IHJlc29sdmVkQ29uZmlnPy5pY29uRmllbGQgPz8gaWNvbk9wdGlvbnMuaWNvbkZpZWxkO1xuICBjb25zdCByYXdJY29uVmFsdWUgPSBpY29uRmllbGQgPyByZXNvbHZlVmFsdWUocm93LCBpY29uRmllbGQpIDogcmF3Q29sdW1uVmFsdWU7XG4gIGNvbnN0IHJlc29sdmVkSWNvbiA9IHJlc29sdmVkQ29uZmlnPy5pY29uID8/IHJhd0ljb25WYWx1ZTtcblxuICByZXR1cm4ge1xuICAgIGNvbG9yU3R5bGU6IHJlc29sdmVDb2xvclN0eWxlKHJlc29sdmVkQ29uZmlnPy5jb2xvciA/PyBpY29uT3B0aW9ucy5jb2xvciksXG4gICAgaWNvbjogdG9PcHRpb25hbFRleHQocmVzb2x2ZWRJY29uKSxcbiAgICBpY29uVHlwZTogcmVzb2x2ZWRDb25maWc/Lmljb25UeXBlID8/IGljb25PcHRpb25zLmljb25UeXBlID8/IGluZmVySWNvblR5cGUocmVzb2x2ZWRJY29uKSxcbiAgICB0b29sdGlwOiByZXNvbHZlZENvbmZpZz8udG9vbHRpcCA/PyBpY29uT3B0aW9ucy50b29sdGlwID8/IG51bGwsXG4gICAgbGFiZWw6IHJlc29sdmVJY29uQ29uZmlnTGFiZWwocmF3Q29sdW1uVmFsdWUsIHJlc29sdmVkQ29uZmlnPy5sYWJlbCwgaWNvbk9wdGlvbnMubGFiZWwsIHVzZUNvbHVtblZhbHVlQXNMYWJlbCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVJY29uQ29uZmlnTGFiZWwoXG4gIHJhd0NvbHVtblZhbHVlOiB1bmtub3duLFxuICBjb25maWdMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmYWxsYmFja0xhYmVsOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICB1c2VDb2x1bW5WYWx1ZUFzTGFiZWw6IGJvb2xlYW5cbik6IHN0cmluZyB8IG51bGwge1xuICBpZiAoY29uZmlnTGFiZWwgIT0gbnVsbCkge1xuICAgIHJldHVybiBjb25maWdMYWJlbDtcbiAgfVxuXG4gIHJldHVybiB1c2VDb2x1bW5WYWx1ZUFzTGFiZWwgPyB0b1RleHRWYWx1ZShyYXdDb2x1bW5WYWx1ZSkgOiBmYWxsYmFja0xhYmVsID8/IG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVMZWdhY3lUYWdUb25lKHJhd1ZhbHVlOiB1bmtub3duLCBsYWJlbDogc3RyaW5nLCB0YWdDb25maWc6IFRhYmxlVGFnQ29uZmlnIHwgbnVsbCk6ICdlbmFibGVkJyB8ICdkaXNhYmxlZCcgfCBudWxsIHtcbiAgaWYgKHRhZ0NvbmZpZz8uY29sb3IgfHwgdGFnQ29uZmlnPy5iYWNrZ3JvdW5kQ29sb3IpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZXMgPSBbU3RyaW5nKHJhd1ZhbHVlID8/ICcnKSwgbGFiZWxdXG4gICAgLm1hcCgodmFsdWUpID0+IHZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpKVxuICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgaWYgKG5vcm1hbGl6ZWRWYWx1ZXMuc29tZSgodmFsdWUpID0+IFRBQkxFX0VOQUJMRURfVEFHX1ZBTFVFUy5oYXModmFsdWUpKSkge1xuICAgIHJldHVybiAnZW5hYmxlZCc7XG4gIH1cblxuICBpZiAobm9ybWFsaXplZFZhbHVlcy5zb21lKCh2YWx1ZSkgPT4gVEFCTEVfRElTQUJMRURfVEFHX1ZBTFVFUy5oYXModmFsdWUpKSkge1xuICAgIHJldHVybiAnZGlzYWJsZWQnO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkVGFnU3R5bGVzKFxuICByZXNvbHZlZENvbmZpZzogVGFibGVUYWdDb25maWcgfCBudWxsLFxuICBmYWxsYmFja09wdGlvbnM6IFRhYmxlVGFnQ29uZmlnXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCB7XG4gIGNvbnN0IGNvbG9yID0gcmVzb2x2ZWRDb25maWc/LmNvbG9yID8/IGZhbGxiYWNrT3B0aW9ucy5jb2xvcjtcbiAgY29uc3QgYmFja2dyb3VuZENvbG9yID0gcmVzb2x2ZWRDb25maWc/LmJhY2tncm91bmRDb2xvciA/PyBmYWxsYmFja09wdGlvbnMuYmFja2dyb3VuZENvbG9yO1xuICBjb25zdCB0b25lID0gcmVzb2x2ZVRvbmVQcmVzZXQoY29sb3IpID8/IHJlc29sdmVUb25lUHJlc2V0KGJhY2tncm91bmRDb2xvcik7XG5cbiAgaWYgKHRvbmUpIHtcbiAgICByZXR1cm4gYnVpbGRUYWdUb25lU3R5bGVzKGNvbG9yLCBiYWNrZ3JvdW5kQ29sb3IsIHRvbmUpO1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkVGFnSGV4U3R5bGVzKGNvbG9yLCBiYWNrZ3JvdW5kQ29sb3IpO1xufVxuXG5mdW5jdGlvbiBidWlsZFRhZ1RvbmVTdHlsZXMoXG4gIGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICB0b25lOiBUYWJsZVRvbmVQcmVzZXRcbik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCBmZyA9IHJlc29sdmVSYXdDb2xvcihjb2xvcikgPz8gdG9uZS5mb3JlZ3JvdW5kO1xuICBjb25zdCBiZyA9IHJlc29sdmVSYXdDb2xvcihiYWNrZ3JvdW5kQ29sb3IpID8/IHRvbmUuYmFja2dyb3VuZDtcblxuICByZXR1cm4ge1xuICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogYmcsXG4gICAgJ2JvcmRlci1jb2xvcic6IGZnLFxuICAgIGNvbG9yOiBmZyxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYnVpbGRUYWdIZXhTdHlsZXMoXG4gIGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRGb3JlZ3JvdW5kSGV4ID0gbm9ybWFsaXplSGV4Q29sb3IoY29sb3IpO1xuICBjb25zdCBub3JtYWxpemVkQmFja2dyb3VuZEhleCA9IG5vcm1hbGl6ZUhleENvbG9yKGJhY2tncm91bmRDb2xvcik7XG4gIGNvbnN0IGRlcml2ZWRGb3JlZ3JvdW5kID0gZGVyaXZlRm9yZWdyb3VuZEhleChub3JtYWxpemVkRm9yZWdyb3VuZEhleCwgbm9ybWFsaXplZEJhY2tncm91bmRIZXgpO1xuICBjb25zdCBkZXJpdmVkQmFja2dyb3VuZCA9IGRlcml2ZUJhY2tncm91bmRIZXgobm9ybWFsaXplZEJhY2tncm91bmRIZXgsIG5vcm1hbGl6ZWRGb3JlZ3JvdW5kSGV4KTtcbiAgY29uc3QgcmF3Rm9yZWdyb3VuZCA9IHJlc29sdmVSYXdDb2xvcihjb2xvcik7XG4gIGNvbnN0IHJhd0JhY2tncm91bmQgPSByZXNvbHZlUmF3Q29sb3IoYmFja2dyb3VuZENvbG9yKTtcbiAgY29uc3Qgc3R5bGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gIGNvbnN0IGJnVmFsdWUgPSByYXdCYWNrZ3JvdW5kID8/IGRlcml2ZWRCYWNrZ3JvdW5kO1xuICBjb25zdCBmZ1ZhbHVlID0gcmF3Rm9yZWdyb3VuZCA/PyBkZXJpdmVkRm9yZWdyb3VuZDtcblxuICBpZiAoYmdWYWx1ZSkge1xuICAgIHN0eWxlc1snYmFja2dyb3VuZC1jb2xvciddID0gYmdWYWx1ZTtcbiAgfVxuXG4gIGlmIChmZ1ZhbHVlKSB7XG4gICAgc3R5bGVzWydib3JkZXItY29sb3InXSA9IGZnVmFsdWU7XG4gICAgc3R5bGVzWydjb2xvciddID0gZmdWYWx1ZTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyhzdHlsZXMpLmxlbmd0aCA+IDAgPyBzdHlsZXMgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBkZXJpdmVGb3JlZ3JvdW5kSGV4KGZvcmVncm91bmRIZXg6IHN0cmluZyB8IG51bGwsIGJhY2tncm91bmRIZXg6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGZvcmVncm91bmRIZXgpIHtcbiAgICByZXR1cm4gZm9yZWdyb3VuZEhleDtcbiAgfVxuXG4gIHJldHVybiBiYWNrZ3JvdW5kSGV4ID8gZGFya2VuSGV4Q29sb3IoYmFja2dyb3VuZEhleCwgVEFCTEVfVEFHX0ZPUkVHUk9VTkRfREFSS0VOX0FNT1VOVCkgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBkZXJpdmVCYWNrZ3JvdW5kSGV4KGJhY2tncm91bmRIZXg6IHN0cmluZyB8IG51bGwsIGZvcmVncm91bmRIZXg6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGJhY2tncm91bmRIZXgpIHtcbiAgICByZXR1cm4gYmFja2dyb3VuZEhleDtcbiAgfVxuXG4gIHJldHVybiBmb3JlZ3JvdW5kSGV4ID8gdG9SZ2JhKGZvcmVncm91bmRIZXgsIFRBQkxFX1RBR19CQUNLR1JPVU5EX0FMUEhBKSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVDb2xvclN0eWxlKGNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCB7XG4gIGNvbnN0IHRvbmUgPSByZXNvbHZlVG9uZVByZXNldChjb2xvcik7XG4gIGNvbnN0IHJlc29sdmVkQ29sb3IgPSByZXNvbHZlUmF3Q29sb3IoY29sb3IpID8/IHRvbmU/LmZvcmVncm91bmQgPz8gbnVsbDtcblxuICByZXR1cm4gcmVzb2x2ZWRDb2xvciA/IHsgY29sb3I6IHJlc29sdmVkQ29sb3IgfSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVUb25lUHJlc2V0KGNvbG9yOiB1bmtub3duKTogVGFibGVUb25lUHJlc2V0IHwgbnVsbCB7XG4gIGlmICh0eXBlb2YgY29sb3IgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkQ29sb3IgPSBjb2xvci50cmltKCkudG9Mb3dlckNhc2UoKSBhcyBUYWJsZVRvbmVOYW1lO1xuICByZXR1cm4gVEFCTEVfVklTVUFMX1RPTkVfUFJFU0VUU1tub3JtYWxpemVkQ29sb3JdID8/IG51bGw7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVSYXdDb2xvcihjb2xvcjogdW5rbm93bik6IHN0cmluZyB8IG51bGwge1xuICBpZiAodHlwZW9mIGNvbG9yICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgdHJpbW1lZCA9IGNvbG9yLnRyaW0oKTtcblxuICBpZiAoIXRyaW1tZWQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiByZXNvbHZlVG9uZVByZXNldCh0cmltbWVkKT8uZm9yZWdyb3VuZCA/PyB0cmltbWVkO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVIZXhDb2xvcih2YWx1ZTogdW5rbm93bik6IHN0cmluZyB8IG51bGwge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgcmF3ID0gdmFsdWUudHJpbSgpLnJlcGxhY2UoJyMnLCAnJyk7XG5cbiAgaWYgKC9eWzAtOWEtZkEtRl17M30kLy50ZXN0KHJhdykpIHtcbiAgICByZXR1cm4gYCMke3Jhd1xuICAgICAgLnNwbGl0KCcnKVxuICAgICAgLm1hcCgoY2hhcmFjdGVyKSA9PiBgJHtjaGFyYWN0ZXJ9JHtjaGFyYWN0ZXJ9YClcbiAgICAgIC5qb2luKCcnKVxuICAgICAgLnRvTG93ZXJDYXNlKCl9YDtcbiAgfVxuXG4gIGlmICgvXlswLTlhLWZBLUZdezZ9JC8udGVzdChyYXcpKSB7XG4gICAgcmV0dXJuIGAjJHtyYXcudG9Mb3dlckNhc2UoKX1gO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGhleFRvUmdiKGhleDogc3RyaW5nKTogeyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyIH0gfCBudWxsIHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZUhleENvbG9yKGhleCk7XG5cbiAgaWYgKCFub3JtYWxpemVkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjbGVhbiA9IG5vcm1hbGl6ZWQuc2xpY2UoMSk7XG5cbiAgcmV0dXJuIHtcbiAgICByOiBOdW1iZXIucGFyc2VJbnQoY2xlYW4uc2xpY2UoMCwgMiksIFRBQkxFX0hFWF9SQURJWCksXG4gICAgZzogTnVtYmVyLnBhcnNlSW50KGNsZWFuLnNsaWNlKDIsIDQpLCBUQUJMRV9IRVhfUkFESVgpLFxuICAgIGI6IE51bWJlci5wYXJzZUludChjbGVhbi5zbGljZSg0LCBIRVhfQ09MT1JfU1RSSU5HX0xFTkdUSCksIFRBQkxFX0hFWF9SQURJWClcbiAgfTtcbn1cblxuZnVuY3Rpb24gdG9SZ2JhKGhleDogc3RyaW5nLCBhbHBoYTogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHJnYiA9IGhleFRvUmdiKGhleCk7XG5cbiAgaWYgKCFyZ2IpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBgcmdiYSgke3JnYi5yfSwgJHtyZ2IuZ30sICR7cmdiLmJ9LCAke2FscGhhfSlgO1xufVxuXG5mdW5jdGlvbiBkYXJrZW5IZXhDb2xvcihoZXg6IHN0cmluZywgYW1vdW50OiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgcmdiID0gaGV4VG9SZ2IoaGV4KTtcblxuICBpZiAoIXJnYikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZmFjdG9yID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgMSAtIGFtb3VudCkpO1xuICBjb25zdCByID0gTWF0aC5yb3VuZChyZ2IuciAqIGZhY3Rvcik7XG4gIGNvbnN0IGcgPSBNYXRoLnJvdW5kKHJnYi5nICogZmFjdG9yKTtcbiAgY29uc3QgYiA9IE1hdGgucm91bmQocmdiLmIgKiBmYWN0b3IpO1xuXG4gIHJldHVybiBgIyR7W3IsIGcsIGJdXG4gICAgLm1hcCgodmFsdWUpID0+IE1hdGgubWF4KDAsIE1hdGgubWluKFRBQkxFX1JHQl9NQVgsIHZhbHVlKSkudG9TdHJpbmcoVEFCTEVfSEVYX1JBRElYKS5wYWRTdGFydCgyLCAnMCcpKVxuICAgIC5qb2luKCcnKX1gO1xufVxuXG5mdW5jdGlvbiBpbmZlckljb25UeXBlKHZhbHVlOiB1bmtub3duKTogVGFibGVJY29uQ29uZmlnWydpY29uVHlwZSddIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpLnN0YXJ0c1dpdGgoJzxzdmcnKSA/ICdzdmcnIDogJ2NsYXNzJztcbn1cblxuZnVuY3Rpb24gdG9PcHRpb25hbFRleHQodmFsdWU6IHVua25vd24pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgdGV4dCA9IHRvVGV4dFZhbHVlKHZhbHVlKTtcbiAgcmV0dXJuIHRleHQgfHwgbnVsbDtcbn1cblxuZnVuY3Rpb24gdG9UZXh0VmFsdWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogU3RyaW5nKHZhbHVlID8/ICcnKTtcbn1cbiJdfQ==
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlzdWFsLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RhYmxlL3V0aWxzL3RhYmxlLXZpc3VhbC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLGVBQWUsRUFDZixhQUFhLEVBQ2IsMEJBQTBCLEVBQzFCLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDMUIsTUFBTSxxQ0FBcUMsQ0FBQztBQVc3QyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQTRCbEMsTUFBTSxVQUFVLHdCQUF3QixDQUt0QyxLQUE2RCxFQUM3RCxLQUFhLEVBQ2IsR0FBTTtJQUVOLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLEdBQU0sRUFDTixHQUFtQixFQUNuQixVQUFxQyxFQUNyQyxZQUFzRDtJQUV0RCxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUV6RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUMsS0FBSztTQUNwQixLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDN0IsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFD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QUFHLENBQUMsQ0FBQztTQUN0RyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsS0FBYztJQUNuQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN4RixDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBYztJQUNwQyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsT0FBTyxJQUFJLElBQUksSUFBSSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxLQUFjO0lBQ2pDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFRBQkxFX0RJU0FCTEVEX1RBR19WQUxVRVMsXG4gIFRBQkxFX0VOQUJMRURfVEFHX1ZBTFVFUyxcbiAgVEFCTEVfSEVYX1JBRElYLFxuICBUQUJMRV9SR0JfTUFYLFxuICBUQUJMRV9UQUdfQkFDS0dST1VORF9BTFBIQSxcbiAgVEFCTEVfVEFHX0ZPUkVHUk9VTkRfREFSS0VOX0FNT1VOVCxcbiAgVEFCTEVfVklTVUFMX1RPTkVfUFJFU0VUU1xufSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbnN0YW50cy90YWJsZS5jb25zdCc7XG5pbXBvcnQgdHlwZSB7XG4gIFJvd0Jhc2UsXG4gIFRhYmxlQmFzZVZpc3VhbENvbmZpZyxcbiAgVGFibGVDZWxsQ29uZmlnLFxuICBUYWJsZUNvbHVtbixcbiAgVGFibGVJY29uQ29uZmlnLFxuICBUYWJsZVRhZ0NvbmZpZyxcbiAgVGFibGVWaXN1YWxDb25maWdJbnB1dFxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuXG5jb25zdCBIRVhfQ09MT1JfU1RSSU5HX0xFTkdUSCA9IDY7XG5cbmV4cG9ydCB0eXBlIFRhYmxlUmVzb2x2ZWRUYWdJdGVtID0ge1xuICBpY29uOiBzdHJpbmcgfCBudWxsO1xuICBpY29uVHlwZTogVGFibGVUYWdDb25maWdbJ2ljb25UeXBlJ107XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHN0eWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGw7XG4gIHRvb2x0aXA6IHN0cmluZyB8IG51bGw7XG4gIHRvbmU6ICdlbmFibGVkJyB8ICdkaXNhYmxlZCcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgVGFibGVUYWdPdmVyZmxvdyA9IHtcbiAgaGlkZGVuQ291bnQ6IG51bWJlcjtcbiAgaGlkZGVuTGFiZWxzOiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRhYmxlUmVzb2x2ZWRJY29uUHJlc2VudGF0aW9uID0ge1xuICBjb2xvclN0eWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbDtcbiAgaWNvbjogc3RyaW5nIHwgbnVsbDtcbiAgaWNvblR5cGU6IFRhYmxlSWNvbkNvbmZpZ1snaWNvblR5cGUnXTtcbiAgbGFiZWw6IHN0cmluZyB8IG51bGw7XG4gIHRvb2x0aXA6IHN0cmluZyB8IG51bGw7XG59O1xuXG50eXBlIFRhYmxlVG9uZU5hbWUgPSBrZXlvZiB0eXBlb2YgVEFCTEVfVklTVUFMX1RPTkVfUFJFU0VUUztcblxudHlwZSBUYWJsZVRvbmVQcmVzZXQgPSAodHlwZW9mIFRBQkxFX1ZJU1VBTF9UT05FX1BSRVNFVFMpW1RhYmxlVG9uZU5hbWVdO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhYmxlVmlzdWFsQ29uZmlnPFxuICBUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2UsXG4gIFRWYWx1ZSA9IHVua25vd24sXG4gIFRDb25maWcgZXh0ZW5kcyBUYWJsZUJhc2VWaXN1YWxDb25maWcgPSBUYWJsZUJhc2VWaXN1YWxDb25maWdcbj4oXG4gIGlucHV0OiBUYWJsZVZpc3VhbENvbmZpZ0lucHV0PFQsIFRWYWx1ZSwgVENvbmZpZz4gfCB1bmRlZmluZWQsXG4gIHZhbHVlOiBUVmFsdWUsXG4gIHJvdzogVFxuKTogVENvbmZpZyB8IG51bGwge1xuICBpZiAodHlwZW9mIGlucHV0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIGlucHV0KHZhbHVlLCByb3cpID8/IG51bGw7XG4gIH1cblxuICByZXR1cm4gaW5wdXQgPz8gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVUYWJsZVRhZ0l0ZW1zPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIHJvdzogVCxcbiAgY29sOiBUYWJsZUNvbHVtbjxUPixcbiAgdGFnT3B0aW9uczogVGFibGVDZWxsQ29uZmlnPFQsICd0YWcnPixcbiAgcmVzb2x2ZVZhbHVlOiAocm93VmFsdWU6IFQsIGZpZWxkPzogc3RyaW5nKSA9PiB1bmtub3duXG4pOiBUYWJsZVJlc29sdmVkVGFnSXRlbVtdIHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVRhZ0l0ZW1zKHJvdywgY29sLCB0YWdPcHRpb25zLCByZXNvbHZlVmFsdWUpO1xuXG4gIGlmICghbm9ybWFsaXplZCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBub3JtYWxpemVkLml0ZW1zXG4gICAgLnNsaWNlKDAsIG5vcm1hbGl6ZWQubWF4SXRlbXMpXG4gICAgLm1hcCgoaXRlbSkgPT4gcmVzb2x2ZVNpbmdsZVRhZ0l0ZW0oaXRlbSwgcm93LCBjb2wsIHRhZ09wdGlvbnMpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVUYWJsZVRhZ092ZXJmbG93PFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIHJvdzogVCxcbiAgY29sOiBUYWJsZUNvbHVtbjxUPixcbiAgdGFnT3B0aW9uczogVGFibGVDZWxsQ29uZmlnPFQsICd0YWcnPixcbiAgcmVzb2x2ZVZhbHVlOiAocm93VmFsdWU6IFQsIGZpZWxkPzogc3RyaW5nKSA9PiB1bmtub3duXG4pOiBUYWJsZVRhZ092ZXJmbG93IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVRhZ0l0ZW1zKHJvdywgY29sLCB0YWdPcHRpb25zLCByZXNvbHZlVmFsdWUpO1xuICBjb25zdCBoaWRkZW5SYXdJdGVtcyA9IG5vcm1hbGl6ZWQgPyBub3JtYWxpemVkLml0ZW1zLnNsaWNlKG5vcm1hbGl6ZWQubWF4SXRlbXMpIDogW107XG5cbiAgaWYgKGhpZGRlblJhd0l0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB7IGhpZGRlbkNvdW50OiAwLCBoaWRkZW5MYWJlbHM6IFtdIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhpZGRlbkNvdW50OiBoaWRkZW5SYXdJdGVtcy5sZW5ndGgsXG4gICAgaGlkZGVuTGFiZWxzOiBoaWRkZW5SYXdJdGVtcy5tYXAoKGl0ZW0pID0+IHJlc29sdmVTaW5nbGVUYWdJdGVtKGl0ZW0sIHJvdywgY29sLCB0YWdPcHRpb25zKS5sYWJlbClcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplVGFnSXRlbXM8VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPihcbiAgcm93OiBULFxuICBjb2w6IFRhYmxlQ29sdW1uPFQ+LFxuICB0YWdPcHRpb25zOiBUYWJsZUNlbGxDb25maWc8VCwgJ3RhZyc+LFxuICByZXNvbHZlVmFsdWU6IChyb3dWYWx1ZTogVCwgZmllbGQ/OiBzdHJpbmcpID0+IHVua25vd25cbik6IHsgaXRlbXM6IHVua25vd25bXTsgbWF4SXRlbXM6IG51bWJlciB9IHwgbnVsbCB7XG4gIGlmICghY29sLmZpZWxkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCByYXdWYWx1ZSA9IHJlc29sdmVWYWx1ZShyb3csIGNvbC5maWVsZCk7XG4gIGNvbnN0IGlzRW1wdHkgPSByYXdWYWx1ZSA9PT0gbnVsbCB8fCByYXdWYWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHJhd1ZhbHVlID09PSAnJztcbiAgY29uc3Qgc2luZ2xlSXRlbSA9IGlzRW1wdHkgPyBbXSA6IFtyYXdWYWx1ZV07XG4gIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShyYXdWYWx1ZSkgPyByYXdWYWx1ZSA6IHNpbmdsZUl0ZW07XG4gIGNvbnN0IG1heEl0ZW1zID0gdHlwZW9mIHRhZ09wdGlvbnMubWF4SXRlbXMgPT09ICdudW1iZXInICYmIHRhZ09wdGlvbnMubWF4SXRlbXMgPj0gMFxuICAgID8gdGFnT3B0aW9ucy5tYXhJdGVtc1xuICAgIDogaXRlbXMubGVuZ3RoO1xuXG4gIHJldHVybiB7IGl0ZW1zLCBtYXhJdGVtcyB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhYmxlSWNvblByZXNlbnRhdGlvbjxUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+KFxuICByb3c6IFQsXG4gIGNvbDogVGFibGVDb2x1bW48VD4sXG4gIGljb25PcHRpb25zOiBUYWJsZUNlbGxDb25maWc8VCwgJ2ljb24nPixcbiAgcmVzb2x2ZVZhbHVlOiAocm93VmFsdWU6IFQsIGZpZWxkPzogc3RyaW5nKSA9PiB1bmtub3duXG4pOiBUYWJsZVJlc29sdmVkSWNvblByZXNlbnRhdGlvbiB7XG4gIHJldHVybiByZXNvbHZlSWNvblByZXNlbnRhdGlvbihyb3csIGNvbCwgaWNvbk9wdGlvbnMsIHJlc29sdmVWYWx1ZSwgZmFsc2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRhYmxlVGl0bGVJY29uUHJlc2VudGF0aW9uPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4oXG4gIHJvdzogVCxcbiAgY29sOiBUYWJsZUNvbHVtbjxUPixcbiAgaWNvbk9wdGlvbnM6IFRhYmxlQ2VsbENvbmZpZzxULCAnaWNvbi10aXRsZSc+LFxuICByZXNvbHZlVmFsdWU6IChyb3dWYWx1ZTogVCwgZmllbGQ/OiBzdHJpbmcpID0+IHVua25vd25cbik6IFRhYmxlUmVzb2x2ZWRJY29uUHJlc2VudGF0aW9uIHtcbiAgcmV0dXJuIHJlc29sdmVJY29uUHJlc2VudGF0aW9uKHJvdywgY29sLCBpY29uT3B0aW9ucywgcmVzb2x2ZVZhbHVlLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVUYWJsZUJ1dHRvbktleTxUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+KFxuICByb3c6IFQsXG4gIGNvbDogVGFibGVDb2x1bW48VD4sXG4gIGJ1dHRvbk9wdGlvbnM6IFRhYmxlQ2VsbENvbmZpZzxULCAnYnV0dG9uJz4sXG4gIHJlc29sdmVWYWx1ZTogKHJvd1ZhbHVlOiBULCBmaWVsZD86IHN0cmluZykgPT4gdW5rbm93blxuKTogc3RyaW5nIHtcbiAgY29uc3QgYWN0aW9uS2V5ID0gY29sLmFjdGlvbkZpZWxkID8/IGNvbC5maWVsZCA/PyAnJztcbiAgY29uc3QgYWN0aW9uVmFsdWUgPSBhY3Rpb25LZXkgPyBTdHJpbmcocmVzb2x2ZVZhbHVlKHJvdywgYWN0aW9uS2V5KSA/PyAnJykgOiAnJztcblxuICByZXR1cm4gW1xuICAgIFN0cmluZyhidXR0b25PcHRpb25zPy5sYWJlbCA/PyAnJyksXG4gICAgU3RyaW5nKGJ1dHRvbk9wdGlvbnM/Lmljb24gPz8gJycpLFxuICAgIFN0cmluZyhidXR0b25PcHRpb25zPy5wcmlvcml0eSA/PyAnJyksXG4gICAgU3RyaW5nKGJ1dHRvbk9wdGlvbnM/LnNpemUgPz8gJycpLFxuICAgIFN0cmluZyhidXR0b25PcHRpb25zPy50b29sdGlwID8/ICcnKSxcbiAgICBhY3Rpb25WYWx1ZVxuICBdLmpvaW4oJ3wnKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVNpbmdsZVRhZ0l0ZW08VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPihcbiAgcmF3SXRlbTogdW5rbm93bixcbiAgcm93OiBULFxuICBjb2w6IFRhYmxlQ29sdW1uPFQ+LFxuICB0YWdPcHRpb25zOiBUYWJsZUNlbGxDb25maWc8VCwgJ3RhZyc+XG4pOiBUYWJsZVJlc29sdmVkVGFnSXRlbSB7XG4gIGNvbnN0IHRhZ0NvbmZpZyA9IHJlc29sdmVUYWJsZVZpc3VhbENvbmZpZyhjb2wudGFnQ29uZmlnLCByYXdJdGVtLCByb3cpO1xuICBjb25zdCBsYWJlbCA9IFN0cmluZyh0YWdDb25maWc/LmxhYmVsID8/IHJhd0l0ZW0gPz8gJycpO1xuICBjb25zdCB0b25lID0gcmVzb2x2ZUxlZ2FjeVRhZ1RvbmUocmF3SXRlbSwgbGFiZWwsIHRhZ0NvbmZpZyk7XG4gIGNvbnN0IHN0eWxlcyA9IHRvbmUgPyBudWxsIDogYnVpbGRUYWdTdHlsZXModGFnQ29uZmlnLCB0YWdPcHRpb25zKTtcblxuICByZXR1cm4ge1xuICAgIGljb246IHRhZ0NvbmZpZz8uaWNvbiA/PyB0YWdPcHRpb25zLmljb24gPz8gbnVsbCxcbiAgICBpY29uVHlwZTogdGFnQ29uZmlnPy5pY29uVHlwZSA/PyB0YWdPcHRpb25zLmljb25UeXBlID8/ICdjbGFzcycsXG4gICAgdG9vbHRpcDogdGFnQ29uZmlnPy50b29sdGlwID8/IHRhZ09wdGlvbnMudG9vbHRpcCA/PyBudWxsLFxuICAgIGxhYmVsLFxuICAgIHN0eWxlcyxcbiAgICB0b25lLFxuICB9O1xufVxuXG5mdW5jdGlvbiByZXNvbHZlSWNvblByZXNlbnRhdGlvbjxUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+KFxuICByb3c6IFQsXG4gIGNvbDogVGFibGVDb2x1bW48VD4sXG4gIGljb25PcHRpb25zOiBUYWJsZUljb25Db25maWcsXG4gIHJlc29sdmVWYWx1ZTogKHJvd1ZhbHVlOiBULCBmaWVsZD86IHN0cmluZykgPT4gdW5rbm93bixcbiAgdXNlQ29sdW1uVmFsdWVBc0xhYmVsOiBib29sZWFuXG4pOiBUYWJsZVJlc29sdmVkSWNvblByZXNlbnRhdGlvbiB7XG4gIGNvbnN0IHJhd0NvbHVtblZhbHVlID0gcmVzb2x2ZVZhbHVlKHJvdywgY29sLmZpZWxkKTtcbiAgY29uc3QgcmVzb2x2ZWRDb25maWcgPSByZXNvbHZlVGFibGVWaXN1YWxDb25maWcoXG4gICAgdXNlQ29sdW1uVmFsdWVBc0xhYmVsID8gY29sLnRpdGxlSWNvbkNvbmZpZyA6IGNvbC5pY29uQ29uZmlnLFxuICAgIHJhd0NvbHVtblZhbHVlLFxuICAgIHJvd1xuICApO1xuICBjb25zdCBpY29uRmllbGQgPSByZXNvbHZlZENvbmZpZz8uaWNvbkZpZWxkID8/IGljb25PcHRpb25zLmljb25GaWVsZDtcbiAgY29uc3QgcmF3SWNvblZhbHVlID0gaWNvbkZpZWxkID8gcmVzb2x2ZVZhbHVlKHJvdywgaWNvbkZpZWxkKSA6IHJhd0NvbHVtblZhbHVlO1xuICBjb25zdCByZXNvbHZlZEljb24gPSByZXNvbHZlZENvbmZpZz8uaWNvbiA/PyByYXdJY29uVmFsdWU7XG5cbiAgcmV0dXJuIHtcbiAgICBjb2xvclN0eWxlOiByZXNvbHZlQ29sb3JTdHlsZShyZXNvbHZlZENvbmZpZz8uY29sb3IgPz8gaWNvbk9wdGlvbnMuY29sb3IpLFxuICAgIGljb246IHRvT3B0aW9uYWxUZXh0KHJlc29sdmVkSWNvbiksXG4gICAgaWNvblR5cGU6IHJlc29sdmVkQ29uZmlnPy5pY29uVHlwZSA/PyBpY29uT3B0aW9ucy5pY29uVHlwZSA/PyBpbmZlckljb25UeXBlKHJlc29sdmVkSWNvbiksXG4gICAgdG9vbHRpcDogcmVzb2x2ZWRDb25maWc/LnRvb2x0aXAgPz8gaWNvbk9wdGlvbnMudG9vbHRpcCA/PyBudWxsLFxuICAgIGxhYmVsOiByZXNvbHZlSWNvbkNvbmZpZ0xhYmVsKHJhd0NvbHVtblZhbHVlLCByZXNvbHZlZENvbmZpZz8ubGFiZWwsIGljb25PcHRpb25zLmxhYmVsLCB1c2VDb2x1bW5WYWx1ZUFzTGFiZWwpLFxuICB9O1xufVxuXG5mdW5jdGlvbiByZXNvbHZlSWNvbkNvbmZpZ0xhYmVsKFxuICByYXdDb2x1bW5WYWx1ZTogdW5rbm93bixcbiAgY29uZmlnTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZmFsbGJhY2tMYWJlbDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgdXNlQ29sdW1uVmFsdWVBc0xhYmVsOiBib29sZWFuXG4pOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGNvbmZpZ0xhYmVsICE9IG51bGwpIHtcbiAgICByZXR1cm4gY29uZmlnTGFiZWw7XG4gIH1cblxuICByZXR1cm4gdXNlQ29sdW1uVmFsdWVBc0xhYmVsID8gdG9UZXh0VmFsdWUocmF3Q29sdW1uVmFsdWUpIDogZmFsbGJhY2tMYWJlbCA/PyBudWxsO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlTGVnYWN5VGFnVG9uZShyYXdWYWx1ZTogdW5rbm93biwgbGFiZWw6IHN0cmluZywgdGFnQ29uZmlnOiBUYWJsZVRhZ0NvbmZpZyB8IG51bGwpOiAnZW5hYmxlZCcgfCAnZGlzYWJsZWQnIHwgbnVsbCB7XG4gIGlmICh0YWdDb25maWc/LmNvbG9yIHx8IHRhZ0NvbmZpZz8uYmFja2dyb3VuZENvbG9yKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBub3JtYWxpemVkVmFsdWVzID0gW1N0cmluZyhyYXdWYWx1ZSA/PyAnJyksIGxhYmVsXVxuICAgIC5tYXAoKHZhbHVlKSA9PiB2YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKSlcbiAgICAuZmlsdGVyKEJvb2xlYW4pO1xuXG4gIGlmIChub3JtYWxpemVkVmFsdWVzLnNvbWUoKHZhbHVlKSA9PiBUQUJMRV9FTkFCTEVEX1RBR19WQUxVRVMuaGFzKHZhbHVlKSkpIHtcbiAgICByZXR1cm4gJ2VuYWJsZWQnO1xuICB9XG5cbiAgaWYgKG5vcm1hbGl6ZWRWYWx1ZXMuc29tZSgodmFsdWUpID0+IFRBQkxFX0RJU0FCTEVEX1RBR19WQUxVRVMuaGFzKHZhbHVlKSkpIHtcbiAgICByZXR1cm4gJ2Rpc2FibGVkJztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBidWlsZFRhZ1N0eWxlcyhcbiAgcmVzb2x2ZWRDb25maWc6IFRhYmxlVGFnQ29uZmlnIHwgbnVsbCxcbiAgZmFsbGJhY2tPcHRpb25zOiBUYWJsZVRhZ0NvbmZpZ1xuKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGwge1xuICBjb25zdCBjb2xvciA9IHJlc29sdmVkQ29uZmlnPy5jb2xvciA/PyBmYWxsYmFja09wdGlvbnMuY29sb3I7XG4gIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IHJlc29sdmVkQ29uZmlnPy5iYWNrZ3JvdW5kQ29sb3IgPz8gZmFsbGJhY2tPcHRpb25zLmJhY2tncm91bmRDb2xvcjtcbiAgY29uc3QgdG9uZSA9IHJlc29sdmVUb25lUHJlc2V0KGNvbG9yKSA/PyByZXNvbHZlVG9uZVByZXNldChiYWNrZ3JvdW5kQ29sb3IpO1xuXG4gIGlmICh0b25lKSB7XG4gICAgcmV0dXJuIGJ1aWxkVGFnVG9uZVN0eWxlcyhjb2xvciwgYmFja2dyb3VuZENvbG9yLCB0b25lKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZFRhZ0hleFN0eWxlcyhjb2xvciwgYmFja2dyb3VuZENvbG9yKTtcbn1cblxuZnVuY3Rpb24gYnVpbGRUYWdUb25lU3R5bGVzKFxuICBjb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgdG9uZTogVGFibGVUb25lUHJlc2V0XG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgZmcgPSByZXNvbHZlUmF3Q29sb3IoY29sb3IpID8/IHRvbmUuZm9yZWdyb3VuZDtcbiAgY29uc3QgYmcgPSByZXNvbHZlUmF3Q29sb3IoYmFja2dyb3VuZENvbG9yKSA/PyB0b25lLmJhY2tncm91bmQ7XG5cbiAgcmV0dXJuIHtcbiAgICAnYmFja2dyb3VuZC1jb2xvcic6IGJnLFxuICAgICdib3JkZXItY29sb3InOiBmZyxcbiAgICBjb2xvcjogZmcsXG4gIH07XG59XG5cbmZ1bmN0aW9uIGJ1aWxkVGFnSGV4U3R5bGVzKFxuICBjb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGwge1xuICBjb25zdCBub3JtYWxpemVkRm9yZWdyb3VuZEhleCA9IG5vcm1hbGl6ZUhleENvbG9yKGNvbG9yKTtcbiAgY29uc3Qgbm9ybWFsaXplZEJhY2tncm91bmRIZXggPSBub3JtYWxpemVIZXhDb2xvcihiYWNrZ3JvdW5kQ29sb3IpO1xuICBjb25zdCBkZXJpdmVkRm9yZWdyb3VuZCA9IGRlcml2ZUZvcmVncm91bmRIZXgobm9ybWFsaXplZEZvcmVncm91bmRIZXgsIG5vcm1hbGl6ZWRCYWNrZ3JvdW5kSGV4KTtcbiAgY29uc3QgZGVyaXZlZEJhY2tncm91bmQgPSBkZXJpdmVCYWNrZ3JvdW5kSGV4KG5vcm1hbGl6ZWRCYWNrZ3JvdW5kSGV4LCBub3JtYWxpemVkRm9yZWdyb3VuZEhleCk7XG4gIGNvbnN0IHJhd0ZvcmVncm91bmQgPSByZXNvbHZlUmF3Q29sb3IoY29sb3IpO1xuICBjb25zdCByYXdCYWNrZ3JvdW5kID0gcmVzb2x2ZVJhd0NvbG9yKGJhY2tncm91bmRDb2xvcik7XG4gIGNvbnN0IHN0eWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBjb25zdCBiZ1ZhbHVlID0gcmF3QmFja2dyb3VuZCA/PyBkZXJpdmVkQmFja2dyb3VuZDtcbiAgY29uc3QgZmdWYWx1ZSA9IHJhd0ZvcmVncm91bmQgPz8gZGVyaXZlZEZvcmVncm91bmQ7XG5cbiAgaWYgKGJnVmFsdWUpIHtcbiAgICBzdHlsZXNbJ2JhY2tncm91bmQtY29sb3InXSA9IGJnVmFsdWU7XG4gIH1cblxuICBpZiAoZmdWYWx1ZSkge1xuICAgIHN0eWxlc1snYm9yZGVyLWNvbG9yJ10gPSBmZ1ZhbHVlO1xuICAgIHN0eWxlc1snY29sb3InXSA9IGZnVmFsdWU7XG4gIH1cblxuICByZXR1cm4gT2JqZWN0LmtleXMoc3R5bGVzKS5sZW5ndGggPiAwID8gc3R5bGVzIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gZGVyaXZlRm9yZWdyb3VuZEhleChmb3JlZ3JvdW5kSGV4OiBzdHJpbmcgfCBudWxsLCBiYWNrZ3JvdW5kSGV4OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmIChmb3JlZ3JvdW5kSGV4KSB7XG4gICAgcmV0dXJuIGZvcmVncm91bmRIZXg7XG4gIH1cblxuICByZXR1cm4gYmFja2dyb3VuZEhleCA/IGRhcmtlbkhleENvbG9yKGJhY2tncm91bmRIZXgsIFRBQkxFX1RBR19GT1JFR1JPVU5EX0RBUktFTl9BTU9VTlQpIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gZGVyaXZlQmFja2dyb3VuZEhleChiYWNrZ3JvdW5kSGV4OiBzdHJpbmcgfCBudWxsLCBmb3JlZ3JvdW5kSGV4OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmIChiYWNrZ3JvdW5kSGV4KSB7XG4gICAgcmV0dXJuIGJhY2tncm91bmRIZXg7XG4gIH1cblxuICByZXR1cm4gZm9yZWdyb3VuZEhleCA/IHRvUmdiYShmb3JlZ3JvdW5kSGV4LCBUQUJMRV9UQUdfQkFDS0dST1VORF9BTFBIQSkgOiBudWxsO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlQ29sb3JTdHlsZShjb2xvcjogc3RyaW5nIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGwge1xuICBjb25zdCB0b25lID0gcmVzb2x2ZVRvbmVQcmVzZXQoY29sb3IpO1xuICBjb25zdCByZXNvbHZlZENvbG9yID0gcmVzb2x2ZVJhd0NvbG9yKGNvbG9yKSA/PyB0b25lPy5mb3JlZ3JvdW5kID8/IG51bGw7XG5cbiAgcmV0dXJuIHJlc29sdmVkQ29sb3IgPyB7IGNvbG9yOiByZXNvbHZlZENvbG9yIH0gOiBudWxsO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlVG9uZVByZXNldChjb2xvcjogdW5rbm93bik6IFRhYmxlVG9uZVByZXNldCB8IG51bGwge1xuICBpZiAodHlwZW9mIGNvbG9yICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgbm9ybWFsaXplZENvbG9yID0gY29sb3IudHJpbSgpLnRvTG93ZXJDYXNlKCkgYXMgVGFibGVUb25lTmFtZTtcbiAgcmV0dXJuIFRBQkxFX1ZJU1VBTF9UT05FX1BSRVNFVFNbbm9ybWFsaXplZENvbG9yXSA/PyBudWxsO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlUmF3Q29sb3IoY29sb3I6IHVua25vd24pOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHR5cGVvZiBjb2xvciAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHRyaW1tZWQgPSBjb2xvci50cmltKCk7XG5cbiAgaWYgKCF0cmltbWVkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZVRvbmVQcmVzZXQodHJpbW1lZCk/LmZvcmVncm91bmQgPz8gdHJpbW1lZDtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplSGV4Q29sb3IodmFsdWU6IHVua25vd24pOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHJhdyA9IHZhbHVlLnRyaW0oKS5yZXBsYWNlKCcjJywgJycpO1xuXG4gIGlmICgvXlswLTlhLWZBLUZdezN9JC8udGVzdChyYXcpKSB7XG4gICAgcmV0dXJuIGAjJHtyYXdcbiAgICAgIC5zcGxpdCgnJylcbiAgICAgIC5tYXAoKGNoYXJhY3RlcikgPT4gYCR7Y2hhcmFjdGVyfSR7Y2hhcmFjdGVyfWApXG4gICAgICAuam9pbignJylcbiAgICAgIC50b0xvd2VyQ2FzZSgpfWA7XG4gIH1cblxuICBpZiAoL15bMC05YS1mQS1GXXs2fSQvLnRlc3QocmF3KSkge1xuICAgIHJldHVybiBgIyR7cmF3LnRvTG93ZXJDYXNlKCl9YDtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBoZXhUb1JnYihoZXg6IHN0cmluZyk6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlciB9IHwgbnVsbCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVIZXhDb2xvcihoZXgpO1xuXG4gIGlmICghbm9ybWFsaXplZCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgY2xlYW4gPSBub3JtYWxpemVkLnNsaWNlKDEpO1xuXG4gIHJldHVybiB7XG4gICAgcjogTnVtYmVyLnBhcnNlSW50KGNsZWFuLnNsaWNlKDAsIDIpLCBUQUJMRV9IRVhfUkFESVgpLFxuICAgIGc6IE51bWJlci5wYXJzZUludChjbGVhbi5zbGljZSgyLCA0KSwgVEFCTEVfSEVYX1JBRElYKSxcbiAgICBiOiBOdW1iZXIucGFyc2VJbnQoY2xlYW4uc2xpY2UoNCwgSEVYX0NPTE9SX1NUUklOR19MRU5HVEgpLCBUQUJMRV9IRVhfUkFESVgpXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRvUmdiYShoZXg6IHN0cmluZywgYWxwaGE6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCByZ2IgPSBoZXhUb1JnYihoZXgpO1xuXG4gIGlmICghcmdiKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gYHJnYmEoJHtyZ2Iucn0sICR7cmdiLmd9LCAke3JnYi5ifSwgJHthbHBoYX0pYDtcbn1cblxuZnVuY3Rpb24gZGFya2VuSGV4Q29sb3IoaGV4OiBzdHJpbmcsIGFtb3VudDogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHJnYiA9IGhleFRvUmdiKGhleCk7XG5cbiAgaWYgKCFyZ2IpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGZhY3RvciA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIDEgLSBhbW91bnQpKTtcbiAgY29uc3QgciA9IE1hdGgucm91bmQocmdiLnIgKiBmYWN0b3IpO1xuICBjb25zdCBnID0gTWF0aC5yb3VuZChyZ2IuZyAqIGZhY3Rvcik7XG4gIGNvbnN0IGIgPSBNYXRoLnJvdW5kKHJnYi5iICogZmFjdG9yKTtcblxuICByZXR1cm4gYCMke1tyLCBnLCBiXVxuICAgIC5tYXAoKHZhbHVlKSA9PiBNYXRoLm1heCgwLCBNYXRoLm1pbihUQUJMRV9SR0JfTUFYLCB2YWx1ZSkpLnRvU3RyaW5nKFRBQkxFX0hFWF9SQURJWCkucGFkU3RhcnQoMiwgJzAnKSlcbiAgICAuam9pbignJyl9YDtcbn1cblxuZnVuY3Rpb24gaW5mZXJJY29uVHlwZSh2YWx1ZTogdW5rbm93bik6IFRhYmxlSWNvbkNvbmZpZ1snaWNvblR5cGUnXSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKS5zdGFydHNXaXRoKCc8c3ZnJykgPyAnc3ZnJyA6ICdjbGFzcyc7XG59XG5cbmZ1bmN0aW9uIHRvT3B0aW9uYWxUZXh0KHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHRleHQgPSB0b1RleHRWYWx1ZSh2YWx1ZSk7XG4gIHJldHVybiB0ZXh0IHx8IG51bGw7XG59XG5cbmZ1bmN0aW9uIHRvVGV4dFZhbHVlKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZSA6IFN0cmluZyh2YWx1ZSA/PyAnJyk7XG59XG4iXX0=
@@ -66,7 +66,7 @@ export class TextareaComponent extends InputsComponent {
66
66
  useExisting: forwardRef(() => TextareaComponent),
67
67
  multi: true
68
68
  }
69
- ], viewQueries: [{ propertyName: "textareaEl", first: true, predicate: ["textareaEl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textarea\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textarea__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textarea__label\">\n <span class=\"sdc-textarea__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sdc-textarea__sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textarea__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textarea__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <textarea\n #textareaEl\n (beforeinput)=\"onBeforeInput($event)\"\n (input)=\"onTextareaInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n [attr.maxlength]=\"maxlength\"\n [rows]=\"rows\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility.text_area' | translate)\n \"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n ></textarea>\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-textarea .sdc-textarea__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textarea .sdc-textarea__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textarea .sdc-textarea__label-text{display:inline-flex;align-items:center}.sdc-textarea .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-textarea .sdc-textarea__sr-only{border:var(--sdc-sr-only-border);clip:var(--sdc-sr-only-clip);height:var(--sdc-sr-only-h);margin:var(--sdc-sr-only-m);overflow:var(--sdc-sr-only-overflow);padding:var(--sdc-sr-only-p);position:var(--sdc-sr-only-pos);width:var(--sdc-sr-only-w)}.sdc-textarea .sdc-textarea__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textarea .sdc-textarea__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textarea textarea{width:100%;border:var(--sdc-formfield-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;resize:vertical;padding:var(--sdc-form-textarea-padding-y) var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--sdc-text-default)!important;font:inherit!important;box-sizing:border-box!important}.sdc-textarea textarea:focus{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow)!important}.sdc-textarea textarea:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow-visible)!important}.sdc-textarea textarea:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
69
+ ], viewQueries: [{ propertyName: "textareaEl", first: true, predicate: ["textareaEl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textarea\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textarea__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textarea__label\">\n <span class=\"sdc-textarea__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sdc-textarea__sr-only\">\n {{ 'platform.datacore.accessibility_required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textarea__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textarea__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <div class=\"sdc-textarea__field\">\n <textarea\n #textareaEl\n (beforeinput)=\"onBeforeInput($event)\"\n (input)=\"onTextareaInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n [attr.maxlength]=\"maxlength\"\n [rows]=\"rows\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility_text_area' | translate)\n \"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n ></textarea>\n\n <div class=\"sdc-textarea__actions\">\n <ng-content select=\"[sdcTextareaActions]\"></ng-content>\n </div>\n </div>\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-textarea .sdc-textarea__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textarea .sdc-textarea__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textarea .sdc-textarea__label-text{display:inline-flex;align-items:center}.sdc-textarea .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-textarea .sdc-textarea__sr-only{border:var(--sdc-sr-only-border);clip:var(--sdc-sr-only-clip);height:var(--sdc-sr-only-h);margin:var(--sdc-sr-only-m);overflow:var(--sdc-sr-only-overflow);padding:var(--sdc-sr-only-p);position:var(--sdc-sr-only-pos);width:var(--sdc-sr-only-w)}.sdc-textarea .sdc-textarea__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textarea .sdc-textarea__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textarea .sdc-textarea__field{position:relative}.sdc-textarea .sdc-textarea__actions{position:absolute;right:var(--sdc-textarea-actions-right, .625rem);bottom:var(--sdc-textarea-actions-bottom, .625rem);display:flex;align-items:center;gap:var(--sdc-textarea-actions-gap, .5rem)}.sdc-textarea .sdc-textarea__actions:empty{display:none}.sdc-textarea textarea{width:100%;border:var(--sdc-formfield-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;resize:vertical;padding:var(--sdc-form-textarea-padding-y) var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--sdc-text-default)!important;font:inherit!important;box-sizing:border-box!important}.sdc-textarea textarea:focus{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow)!important}.sdc-textarea textarea:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow-visible)!important}.sdc-textarea textarea:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-textarea .sdc-textarea__field:has(.sdc-textarea__actions:not(:empty)) textarea{padding-bottom:var(--sdc-textarea-actions-reserved-space, 2.75rem)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextareaComponent, decorators: [{
72
72
  type: Component,
@@ -76,7 +76,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
76
76
  useExisting: forwardRef(() => TextareaComponent),
77
77
  multi: true
78
78
  }
79
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-textarea\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textarea__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textarea__label\">\n <span class=\"sdc-textarea__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sdc-textarea__sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textarea__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textarea__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <textarea\n #textareaEl\n (beforeinput)=\"onBeforeInput($event)\"\n (input)=\"onTextareaInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n [attr.maxlength]=\"maxlength\"\n [rows]=\"rows\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility.text_area' | translate)\n \"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n ></textarea>\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-textarea .sdc-textarea__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textarea .sdc-textarea__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textarea .sdc-textarea__label-text{display:inline-flex;align-items:center}.sdc-textarea .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-textarea .sdc-textarea__sr-only{border:var(--sdc-sr-only-border);clip:var(--sdc-sr-only-clip);height:var(--sdc-sr-only-h);margin:var(--sdc-sr-only-m);overflow:var(--sdc-sr-only-overflow);padding:var(--sdc-sr-only-p);position:var(--sdc-sr-only-pos);width:var(--sdc-sr-only-w)}.sdc-textarea .sdc-textarea__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textarea .sdc-textarea__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textarea textarea{width:100%;border:var(--sdc-formfield-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;resize:vertical;padding:var(--sdc-form-textarea-padding-y) var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--sdc-text-default)!important;font:inherit!important;box-sizing:border-box!important}.sdc-textarea textarea:focus{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow)!important}.sdc-textarea textarea:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow-visible)!important}.sdc-textarea textarea:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}\n"] }]
79
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-textarea\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textarea__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textarea__label\">\n <span class=\"sdc-textarea__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sdc-textarea__sr-only\">\n {{ 'platform.datacore.accessibility_required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textarea__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textarea__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <div class=\"sdc-textarea__field\">\n <textarea\n #textareaEl\n (beforeinput)=\"onBeforeInput($event)\"\n (input)=\"onTextareaInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n [attr.maxlength]=\"maxlength\"\n [rows]=\"rows\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility_text_area' | translate)\n \"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n ></textarea>\n\n <div class=\"sdc-textarea__actions\">\n <ng-content select=\"[sdcTextareaActions]\"></ng-content>\n </div>\n </div>\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n</div>\n", styles: [".sdc-textarea .sdc-textarea__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textarea .sdc-textarea__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textarea .sdc-textarea__label-text{display:inline-flex;align-items:center}.sdc-textarea .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-textarea .sdc-textarea__sr-only{border:var(--sdc-sr-only-border);clip:var(--sdc-sr-only-clip);height:var(--sdc-sr-only-h);margin:var(--sdc-sr-only-m);overflow:var(--sdc-sr-only-overflow);padding:var(--sdc-sr-only-p);position:var(--sdc-sr-only-pos);width:var(--sdc-sr-only-w)}.sdc-textarea .sdc-textarea__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textarea .sdc-textarea__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textarea .sdc-textarea__field{position:relative}.sdc-textarea .sdc-textarea__actions{position:absolute;right:var(--sdc-textarea-actions-right, .625rem);bottom:var(--sdc-textarea-actions-bottom, .625rem);display:flex;align-items:center;gap:var(--sdc-textarea-actions-gap, .5rem)}.sdc-textarea .sdc-textarea__actions:empty{display:none}.sdc-textarea textarea{width:100%;border:var(--sdc-formfield-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;resize:vertical;padding:var(--sdc-form-textarea-padding-y) var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--sdc-text-default)!important;font:inherit!important;box-sizing:border-box!important}.sdc-textarea textarea:focus{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow)!important}.sdc-textarea textarea:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color)!important;box-shadow:var(--sdc-formfield-focus-shadow-visible)!important}.sdc-textarea textarea:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-textarea .sdc-textarea__field:has(.sdc-textarea__actions:not(:empty)) textarea{padding-bottom:var(--sdc-textarea-actions-reserved-space, 2.75rem)!important}\n"] }]
80
80
  }], propDecorators: { infoTooltip: [{
81
81
  type: Input
82
82
  }], infoTooltipPosition: [{
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
91
91
  type: ViewChild,
92
92
  args: ['textareaEl']
93
93
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFrQmhFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUF1QjtJQUNuRCxXQUFXLEdBQWtCLElBQUksQ0FBQztJQUNsQyxtQkFBbUIsR0FBb0IsT0FBTyxDQUFDO0lBQy9DLGdCQUFnQixHQUFpQixNQUFNLENBQUM7SUFFeEMsSUFBSSxHQUFHLHFCQUFxQixDQUFDO0lBQzdCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFYyxVQUFVLENBQW1DO0lBRXZGLGVBQWU7UUFDYixJQUFJLENBQUMsZUFB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QyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxRQUFROzhCQUdoQyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRW9DLFVBQVU7c0JBQW5ELFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBURVhUQVJFQV9ERUZBVUxUX1JPV1MgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy90ZXh0YXJlYS5jb25zdCc7XG5pbXBvcnQgeyBJbnB1dHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvaW5wdXRzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSB7IFRvb2x0aXBFdmVudCwgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy90b29sdGlwLnR5cGUnO1xuaW1wb3J0IHsgZmlsdGVyVGV4dFdpdGhSZWdFeHAsIGdldEtleUZpbHRlclJlZ0V4cCwgaXNUZXh0QWxsb3dlZEJ5UmVnRXhwIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9rZXktZmlsdGVyLnV0aWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGV4dGFyZWEnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBUb29sdGlwQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0YXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIFRleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRzQ29tcG9uZW50PHN0cmluZz4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAncmlnaHQnO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG5cbiAgQElucHV0KCkgcm93cyA9IFRFWFRBUkVBX0RFRkFVTFRfUk9XUztcbiAgQElucHV0KCkgYXV0b1Jlc2l6ZSA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3RleHRhcmVhRWwnKSBwcml2YXRlIHJlYWRvbmx5IHRleHRhcmVhRWw/OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5QXV0b1Jlc2l6ZSgpO1xuICB9XG5cbiAgb25CZWZvcmVJbnB1dChldmVudDogSW5wdXRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlID0gZ2V0S2V5RmlsdGVyUmVnRXhwKHRoaXMua2V5RmlsdGVyKTtcbiAgICBpZiAoIXJlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBkYXRhLCBpbnB1dFR5cGUgfSA9IGV2ZW50O1xuXG4gICAgY29uc3QgaXNJbnNlcnQgPVxuICAgICAgdHlwZW9mIGlucHV0VHlwZSA9PT0gJ3N0cmluZycgJiYgKGlucHV0VHlwZS5zdGFydHNXaXRoKCdpbnNlcnQnKSB8fCBpbnB1dFR5cGUgPT09ICdpbnNlcnRUZXh0Jyk7XG5cbiAgICBpZiAoIWlzSW5zZXJ0IHx8IHR5cGVvZiBkYXRhICE9PSAnc3RyaW5nJyB8fCBkYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghaXNUZXh0QWxsb3dlZEJ5UmVnRXhwKGRhdGEsIHJlKSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBvblRleHRhcmVhSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgeyB0YXJnZXQgfSA9IGV2ZW50O1xuICAgIGlmICghKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxUZXh0QXJlYUVsZW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmUgPSBnZXRLZXlGaWx0ZXJSZWdFeHAodGhpcy5rZXlGaWx0ZXIpO1xuICAgIGlmIChyZSkge1xuICAgICAgY29uc3QgZmlsdGVyZWQgPSBmaWx0ZXJUZXh0V2l0aFJlZ0V4cCh0YXJnZXQudmFsdWUsIHJlKTtcbiAgICAgIGlmIChmaWx0ZXJlZCAhPT0gdGFyZ2V0LnZhbHVlKSB7XG4gICAgICAgIHRhcmdldC52YWx1ZSA9IGZpbHRlcmVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN1cGVyLm9uSW5wdXQoZXZlbnQpO1xuICAgIHRoaXMuYXBwbHlBdXRvUmVzaXplKHRhcmdldCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QXV0b1Jlc2l6ZShlbD86IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXV0b1Jlc2l6ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IGVsID8/IHRoaXMudGV4dGFyZWFFbD8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRhcmdldC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgdGFyZ2V0LnN0eWxlLmhlaWdodCA9IGAke3RhcmdldC5zY3JvbGxIZWlnaHR9cHhgO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLXRleHRhcmVhXCI+XG4gIEBpZiAobGFiZWxLZXkoKSB8fCBpbmZvVG9vbHRpcCkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMtdGV4dGFyZWFfX2xhYmVsLXJvd1wiPlxuICAgICAgQGlmIChsYWJlbEtleSgpKSB7XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImlkZW50aXR5LmlkXCIgY2xhc3M9XCJzZGMtdGV4dGFyZWFfX2xhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtdGV4dGFyZWFfX2xhYmVsLXRleHRcIj5cbiAgICAgICAgICAgIHt7IGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC1maWVsZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPio8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXRleHRhcmVhX19zci1vbmx5XCI+XG4gICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkucmVxdWlyZWRfZmllbGQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICB9XG4gICAgICBAaWYgKGluZm9Ub29sdGlwKSB7XG4gICAgICAgIDxzZGMtdG9vbHRpcFxuICAgICAgICAgIGNsYXNzPVwic2RjLXRleHRhcmVhX19pbmZvLXRvb2x0aXAtd3JhcFwiXG4gICAgICAgICAgW3BUb29sdGlwXT1cImluZm9Ub29sdGlwXCJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cImluZm9Ub29sdGlwUG9zaXRpb25cIlxuICAgICAgICAgIFt0b29sdGlwRXZlbnRdPVwiaW5mb1Rvb2x0aXBFdmVudFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIHNkYy10ZXh0YXJlYV9faW5mby10b29sdGlwLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgIDwvc2RjLXRvb2x0aXA+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICA8dGV4dGFyZWFcbiAgICAjdGV4dGFyZWFFbFxuICAgIChiZWZvcmVpbnB1dCk9XCJvbkJlZm9yZUlucHV0KCRldmVudClcIlxuICAgIChpbnB1dCk9XCJvblRleHRhcmVhSW5wdXQoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbaWRdPVwiaWRlbnRpdHkuaWRcIlxuICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgIFtuZ0NsYXNzXT1cImdldEludmFsaWRDbGFzcygpXCJcbiAgICBbbmdTdHlsZV09XCJnZXRJbnB1dFN0eWxlKClcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciA/IChwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSkgOiAnJ1wiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgIFtyb3dzXT1cInJvd3NcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICBsYWJlbEtleSgpXG4gICAgICAgID8gKGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUpXG4gICAgICAgIDogcGxhY2Vob2xkZXJcbiAgICAgICAgICA/IChwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICA6ICgncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS50ZXh0X2FyZWEnIHwgdHJhbnNsYXRlKVxuICAgIFwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibWVzc2FnZUtleSgpID8gaWRlbnRpdHkuaWQgKyAnLWVycm9yJyA6IG51bGxcIlxuICA+PC90ZXh0YXJlYT5cblxuICBAaWYgKG1lc3NhZ2VLZXkoKSkge1xuICAgIDxzbWFsbFxuICAgICAgW2lkXT1cImlkZW50aXR5LmlkICsgJy1lcnJvcidcIlxuICAgICAgW25nQ2xhc3NdPVwiZ2V0SW52YWxpZE1lc3NhZ2VDbGFzcygpXCJcbiAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgPlxuICAgICAge3sgbWVzc2FnZUtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zbWFsbD5cbiAgfVxuPC9kaXY+XG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFrQmhFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUF1QjtJQUNuRCxXQUFXLEdBQWtCLElBQUksQ0FBQztJQUNsQyxtQkFBbUIsR0FBb0IsT0FBTyxDQUFDO0lBQy9DLGdCQUFnQixHQUFpQixNQUFNLENBQUM7SUFFeEMsSUFBSSxHQUFHLHFCQUFxQixDQUFDO0lBQzdCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFYyxVQUFVLENBQW1DO0lBRXZGLGVBQWU7UUFDYixJQUFJLENBQUMsZUFB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QyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxRQUFROzhCQUdoQyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRW9DLFVBQVU7c0JBQW5ELFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBURVhUQVJFQV9ERUZBVUxUX1JPV1MgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy90ZXh0YXJlYS5jb25zdCc7XG5pbXBvcnQgeyBJbnB1dHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvaW5wdXRzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSB7IFRvb2x0aXBFdmVudCwgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy90b29sdGlwLnR5cGUnO1xuaW1wb3J0IHsgZmlsdGVyVGV4dFdpdGhSZWdFeHAsIGdldEtleUZpbHRlclJlZ0V4cCwgaXNUZXh0QWxsb3dlZEJ5UmVnRXhwIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9rZXktZmlsdGVyLnV0aWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGV4dGFyZWEnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBUb29sdGlwQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RleHRhcmVhLmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0YXJlYUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIFRleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRzQ29tcG9uZW50PHN0cmluZz4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAncmlnaHQnO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG5cbiAgQElucHV0KCkgcm93cyA9IFRFWFRBUkVBX0RFRkFVTFRfUk9XUztcbiAgQElucHV0KCkgYXV0b1Jlc2l6ZSA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3RleHRhcmVhRWwnKSBwcml2YXRlIHJlYWRvbmx5IHRleHRhcmVhRWw/OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5QXV0b1Jlc2l6ZSgpO1xuICB9XG5cbiAgb25CZWZvcmVJbnB1dChldmVudDogSW5wdXRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlID0gZ2V0S2V5RmlsdGVyUmVnRXhwKHRoaXMua2V5RmlsdGVyKTtcbiAgICBpZiAoIXJlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBkYXRhLCBpbnB1dFR5cGUgfSA9IGV2ZW50O1xuXG4gICAgY29uc3QgaXNJbnNlcnQgPVxuICAgICAgdHlwZW9mIGlucHV0VHlwZSA9PT0gJ3N0cmluZycgJiYgKGlucHV0VHlwZS5zdGFydHNXaXRoKCdpbnNlcnQnKSB8fCBpbnB1dFR5cGUgPT09ICdpbnNlcnRUZXh0Jyk7XG5cbiAgICBpZiAoIWlzSW5zZXJ0IHx8IHR5cGVvZiBkYXRhICE9PSAnc3RyaW5nJyB8fCBkYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghaXNUZXh0QWxsb3dlZEJ5UmVnRXhwKGRhdGEsIHJlKSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBvblRleHRhcmVhSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgeyB0YXJnZXQgfSA9IGV2ZW50O1xuICAgIGlmICghKHRhcmdldCBpbnN0YW5jZW9mIEhUTUxUZXh0QXJlYUVsZW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmUgPSBnZXRLZXlGaWx0ZXJSZWdFeHAodGhpcy5rZXlGaWx0ZXIpO1xuICAgIGlmIChyZSkge1xuICAgICAgY29uc3QgZmlsdGVyZWQgPSBmaWx0ZXJUZXh0V2l0aFJlZ0V4cCh0YXJnZXQudmFsdWUsIHJlKTtcbiAgICAgIGlmIChmaWx0ZXJlZCAhPT0gdGFyZ2V0LnZhbHVlKSB7XG4gICAgICAgIHRhcmdldC52YWx1ZSA9IGZpbHRlcmVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN1cGVyLm9uSW5wdXQoZXZlbnQpO1xuICAgIHRoaXMuYXBwbHlBdXRvUmVzaXplKHRhcmdldCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QXV0b1Jlc2l6ZShlbD86IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXV0b1Jlc2l6ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldCA9IGVsID8/IHRoaXMudGV4dGFyZWFFbD8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRhcmdldC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgdGFyZ2V0LnN0eWxlLmhlaWdodCA9IGAke3RhcmdldC5zY3JvbGxIZWlnaHR9cHhgO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2RjLXRleHRhcmVhXCI+XG4gIEBpZiAobGFiZWxLZXkoKSB8fCBpbmZvVG9vbHRpcCkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMtdGV4dGFyZWFfX2xhYmVsLXJvd1wiPlxuICAgICAgQGlmIChsYWJlbEtleSgpKSB7XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImlkZW50aXR5LmlkXCIgY2xhc3M9XCJzZGMtdGV4dGFyZWFfX2xhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtdGV4dGFyZWFfX2xhYmVsLXRleHRcIj5cbiAgICAgICAgICAgIHt7IGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC1maWVsZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPio8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXRleHRhcmVhX19zci1vbmx5XCI+XG4gICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcmVxdWlyZWRfZmllbGQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICB9XG4gICAgICBAaWYgKGluZm9Ub29sdGlwKSB7XG4gICAgICAgIDxzZGMtdG9vbHRpcFxuICAgICAgICAgIGNsYXNzPVwic2RjLXRleHRhcmVhX19pbmZvLXRvb2x0aXAtd3JhcFwiXG4gICAgICAgICAgW3BUb29sdGlwXT1cImluZm9Ub29sdGlwXCJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cImluZm9Ub29sdGlwUG9zaXRpb25cIlxuICAgICAgICAgIFt0b29sdGlwRXZlbnRdPVwiaW5mb1Rvb2x0aXBFdmVudFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlIHNkYy10ZXh0YXJlYV9faW5mby10b29sdGlwLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgIDwvc2RjLXRvb2x0aXA+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICA8ZGl2IGNsYXNzPVwic2RjLXRleHRhcmVhX19maWVsZFwiPlxuICAgIDx0ZXh0YXJlYVxuICAgICAgI3RleHRhcmVhRWxcbiAgICAgIChiZWZvcmVpbnB1dCk9XCJvbkJlZm9yZUlucHV0KCRldmVudClcIlxuICAgICAgKGlucHV0KT1cIm9uVGV4dGFyZWFJbnB1dCgkZXZlbnQpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbaWRdPVwiaWRlbnRpdHkuaWRcIlxuICAgICAgW25hbWVdPVwiaWRlbnRpdHkubmFtZVwiXG4gICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkQ2xhc3MoKVwiXG4gICAgICBbbmdTdHlsZV09XCJnZXRJbnB1dFN0eWxlKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyID8gKHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlKSA6ICcnXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgIGxhYmVsS2V5KClcbiAgICAgICAgICA/IChsYWJlbEtleSgpIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIDogcGxhY2Vob2xkZXJcbiAgICAgICAgICAgID8gKHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfdGV4dF9hcmVhJyB8IHRyYW5zbGF0ZSlcbiAgICAgIFwiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibWVzc2FnZUtleSgpID8gaWRlbnRpdHkuaWQgKyAnLWVycm9yJyA6IG51bGxcIlxuICAgID48L3RleHRhcmVhPlxuXG4gICAgPGRpdiBjbGFzcz1cInNkYy10ZXh0YXJlYV9fYWN0aW9uc1wiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NkY1RleHRhcmVhQWN0aW9uc11cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIEBpZiAobWVzc2FnZUtleSgpKSB7XG4gICAgPHNtYWxsXG4gICAgICBbaWRdPVwiaWRlbnRpdHkuaWQgKyAnLWVycm9yJ1wiXG4gICAgICBbbmdDbGFzc109XCJnZXRJbnZhbGlkTWVzc2FnZUNsYXNzKClcIlxuICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICA+XG4gICAgICB7eyBtZXNzYWdlS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NtYWxsPlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -37,7 +37,7 @@ export class TextboxComponent extends InputsComponent {
37
37
  useExisting: forwardRef(() => TextboxComponent),
38
38
  multi: true
39
39
  }
40
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textbox\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textbox__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textbox__label\">\n <span class=\"sdc-textbox__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textbox__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textbox__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <input\n class=\"sdc-textbox__input\"\n (input)=\"onNativeInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [class.sdc-textbox__input--invalid]=\"invalid\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility.text_input' | translate)\n \"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n />\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n </div>\n", styles: [".sdc-textbox .sdc-textbox__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textbox .sdc-textbox__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textbox .sdc-textbox__label-text{display:inline-flex;align-items:center}.sdc-textbox .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color, var(--sdc-error-color, #d98888));font-weight:400}.sdc-textbox .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-textbox .sdc-textbox__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textbox .sdc-textbox__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textbox .sdc-textbox__input{width:100%;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;padding:0 var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--p-text-color, #111827)!important;font:inherit!important;box-sizing:border-box!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-textbox .sdc-textbox__input:focus{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-textbox .sdc-textbox__input:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow-visible, 0 0 0 2px rgba(0, 123, 255, .2))!important}.sdc-textbox .sdc-textbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid,.sdc-textbox .sdc-textbox__input[aria-invalid=true],.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:none!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus,.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus-visible,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus-visible{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"sdc-textbox\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textbox__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textbox__label\">\n <span class=\"sdc-textbox__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility_required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textbox__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textbox__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <input\n class=\"sdc-textbox__input\"\n (input)=\"onNativeInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [class.sdc-textbox__input--invalid]=\"invalid\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility_text_input' | translate)\n \"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n />\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n </div>\n", styles: [".sdc-textbox .sdc-textbox__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textbox .sdc-textbox__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textbox .sdc-textbox__label-text{display:inline-flex;align-items:center}.sdc-textbox .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color, var(--sdc-error-color, #d98888));font-weight:400}.sdc-textbox .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-textbox .sdc-textbox__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textbox .sdc-textbox__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textbox .sdc-textbox__input{width:100%;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;padding:0 var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--p-text-color, #111827)!important;font:inherit!important;box-sizing:border-box!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-textbox .sdc-textbox__input:focus{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-textbox .sdc-textbox__input:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow-visible, 0 0 0 2px rgba(0, 123, 255, .2))!important}.sdc-textbox .sdc-textbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid,.sdc-textbox .sdc-textbox__input[aria-invalid=true],.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:none!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus,.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus-visible,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus-visible{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
41
  }
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextboxComponent, decorators: [{
43
43
  type: Component,
@@ -47,7 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
47
47
  useExisting: forwardRef(() => TextboxComponent),
48
48
  multi: true
49
49
  }
50
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-textbox\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textbox__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textbox__label\">\n <span class=\"sdc-textbox__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility.required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textbox__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textbox__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <input\n class=\"sdc-textbox__input\"\n (input)=\"onNativeInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [class.sdc-textbox__input--invalid]=\"invalid\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility.text_input' | translate)\n \"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n />\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n </div>\n", styles: [".sdc-textbox .sdc-textbox__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textbox .sdc-textbox__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textbox .sdc-textbox__label-text{display:inline-flex;align-items:center}.sdc-textbox .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color, var(--sdc-error-color, #d98888));font-weight:400}.sdc-textbox .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-textbox .sdc-textbox__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textbox .sdc-textbox__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textbox .sdc-textbox__input{width:100%;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;padding:0 var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--p-text-color, #111827)!important;font:inherit!important;box-sizing:border-box!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-textbox .sdc-textbox__input:focus{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-textbox .sdc-textbox__input:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow-visible, 0 0 0 2px rgba(0, 123, 255, .2))!important}.sdc-textbox .sdc-textbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid,.sdc-textbox .sdc-textbox__input[aria-invalid=true],.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:none!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus,.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus-visible,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus-visible{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))!important}\n"] }]
50
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-textbox\">\n @if (labelKey() || infoTooltip) {\n <div class=\"sdc-textbox__label-row\">\n @if (labelKey()) {\n <label [for]=\"identity.id\" class=\"sdc-textbox__label\">\n <span class=\"sdc-textbox__label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n }\n @if (required) {\n <span class=\"sr-only\">\n {{ 'platform.datacore.accessibility_required_field' | translate }}\n </span>\n }\n </span>\n </label>\n }\n @if (infoTooltip) {\n <sdc-tooltip\n class=\"sdc-textbox__info-tooltip-wrap\"\n [pTooltip]=\"infoTooltip\"\n [tooltipPosition]=\"infoTooltipPosition\"\n [tooltipEvent]=\"infoTooltipEvent\"\n (click)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle sdc-textbox__info-tooltip-icon\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n </div>\n }\n\n <input\n class=\"sdc-textbox__input\"\n (input)=\"onNativeInput($event)\"\n [disabled]=\"disabled\"\n [id]=\"identity.id\"\n [name]=\"identity.name\"\n [ngClass]=\"getInvalidClass()\"\n [class.sdc-textbox__input--invalid]=\"invalid\"\n [ngStyle]=\"getInputStyle()\"\n [placeholder]=\"placeholder ? (placeholder | translate) : ''\"\n [required]=\"required\"\n [value]=\"value\"\n type=\"text\"\n [attr.maxlength]=\"maxlength\"\n [attr.aria-label]=\"\n labelKey()\n ? (labelKey() | translate)\n : placeholder\n ? (placeholder | translate)\n : ('platform.datacore.accessibility_text_input' | translate)\n \"\n [attr.aria-required]=\"required ? 'true' : null\"\n [attr.aria-invalid]=\"invalid ? 'true' : null\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n />\n\n @if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n [ngClass]=\"getInvalidMessageClass()\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n }\n </div>\n", styles: [".sdc-textbox .sdc-textbox__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-textbox .sdc-textbox__label{display:inline-flex;align-items:center;margin-bottom:0;line-height:1;padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py);min-width:0}.sdc-textbox .sdc-textbox__label-text{display:inline-flex;align-items:center}.sdc-textbox .required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color, var(--sdc-error-color, #d98888));font-weight:400}.sdc-textbox .sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sdc-textbox .sdc-textbox__info-tooltip-wrap{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;margin:0}.sdc-textbox .sdc-textbox__info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sdc-form-tooltip-size);height:var(--sdc-form-tooltip-size);line-height:1;cursor:pointer;color:var(--sdc-form-tooltip-color)}.sdc-textbox .sdc-textbox__input{width:100%;border:1px solid var(--sdc-formfield-default-border)!important;border-radius:var(--sdc-formfield-border-radius)!important;min-height:var(--sdc-formfield-default-height)!important;height:var(--sdc-formfield-default-height)!important;max-height:var(--sdc-formfield-default-height)!important;line-height:var(--sdc-formfield-default-line-height)!important;padding:0 var(--sdc-form-input-padding-x)!important;background-color:var(--sdc-formfield-default-bg)!important;color:var(--p-text-color, #111827)!important;font:inherit!important;box-sizing:border-box!important;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sdc-textbox .sdc-textbox__input:focus{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow, 0 0 0 2px rgba(0, 123, 255, .14))!important}.sdc-textbox .sdc-textbox__input:focus-visible{outline:none;border-color:var(--sdc-formfield-focus-color, var(--sdc-tab-primary, #007bff))!important;box-shadow:var(--sdc-formfield-focus-shadow-visible, 0 0 0 2px rgba(0, 123, 255, .2))!important}.sdc-textbox .sdc-textbox__input:disabled{background-color:var(--sdc-formfield-disabled-bg)!important;cursor:not-allowed!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid,.sdc-textbox .sdc-textbox__input[aria-invalid=true],.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:none!important}.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus,.sdc-textbox .sdc-textbox__input.sdc-textbox__input--invalid:focus-visible,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus,.sdc-textbox .sdc-textbox__input[aria-invalid=true]:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-dirty:focus-visible,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus,.sdc-textbox .sdc-textbox__input.ng-invalid.ng-touched:focus-visible{border-color:var(--sdc-formfield-invalid-border, var(--sdc-error-color, #d98888))!important;box-shadow:var(--sdc-formfield-invalid-focus-shadow, 0 0 0 2px rgba(217, 136, 136, .16))!important}\n"] }]
51
51
  }], propDecorators: { infoTooltip: [{
52
52
  type: Input
53
53
  }], infoTooltipPosition: [{
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
55
55
  }], infoTooltipEvent: [{
56
56
  type: Input
57
57
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBa0JoRSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBdUI7SUFDbEQsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsbUJBQW1CLEdBQW9CLE9BQU8sQ0FBQztJQUMvQyxnQkFBZ0IsR0FBaUIsTUFBTSxDQUFDO0lBRWpELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFpQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxTQUFTLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQzNCLENBQUM7UUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxjQUFjLENBQUMsS0FBYTtRQUNsQyxNQUFNLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQzt3R0ExQlUsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isb0xBVmhCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDL0MsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ3RCSCx3dEVBcUVBLDY1R0R4RFksWUFBWSxpTkFBRSxXQUFXLDhCQUFFLG1CQUFtQiw4QkFBRSxlQUFlLDRGQUFFLGdCQUFnQjs7NEZBYWhGLGdCQUFnQjtrQkFoQjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGFBR2pGO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IElucHV0c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9pbnB1dHMuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHsgVG9vbHRpcEV2ZW50LCBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3Rvb2x0aXAudHlwZSc7XG5pbXBvcnQgeyBmaWx0ZXJUZXh0V2l0aFJlZ0V4cCwgZ2V0S2V5RmlsdGVyUmVnRXhwIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9rZXktZmlsdGVyLnV0aWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGV4dGJveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIFRvb2x0aXBDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi90ZXh0Ym94LmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0Ym94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgVGV4dGJveENvbXBvbmVudCBleHRlbmRzIElucHV0c0NvbXBvbmVudDxzdHJpbmc+IHtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAncmlnaHQnO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG5cbiAgb25OYXRpdmVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCB8IG51bGw7XG4gICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0VmFsdWUgPSB0aGlzLmFwcGx5S2V5RmlsdGVyKHRhcmdldC52YWx1ZSk7XG4gICAgaWYgKG5leHRWYWx1ZSAhPT0gdGFyZ2V0LnZhbHVlKSB7XG4gICAgICB0YXJnZXQudmFsdWUgPSBuZXh0VmFsdWU7XG4gICAgfVxuXG4gICAgc3VwZXIub25JbnB1dChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5S2V5RmlsdGVyKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlID0gZ2V0S2V5RmlsdGVyUmVnRXhwKHRoaXMua2V5RmlsdGVyKTtcbiAgICBpZiAoIXJlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbHRlclRleHRXaXRoUmVnRXhwKHZhbHVlLCByZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtdGV4dGJveFwiPlxuICBAaWYgKGxhYmVsS2V5KCkgfHwgaW5mb1Rvb2x0aXApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLXRleHRib3hfX2xhYmVsLXJvd1wiPlxuICAgICAgQGlmIChsYWJlbEtleSgpKSB7XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImlkZW50aXR5LmlkXCIgY2xhc3M9XCJzZGMtdGV4dGJveF9fbGFiZWxcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy10ZXh0Ym94X19sYWJlbC10ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5yZXF1aXJlZF9maWVsZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIH1cbiAgICAgIEBpZiAoaW5mb1Rvb2x0aXApIHtcbiAgICAgICAgPHNkYy10b29sdGlwXG4gICAgICAgICAgY2xhc3M9XCJzZGMtdGV4dGJveF9faW5mby10b29sdGlwLXdyYXBcIlxuICAgICAgICAgIFtwVG9vbHRpcF09XCJpbmZvVG9vbHRpcFwiXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJpbmZvVG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICAgICBbdG9vbHRpcEV2ZW50XT1cImluZm9Ub29sdGlwRXZlbnRcIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZSBzZGMtdGV4dGJveF9faW5mby10b29sdGlwLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgIDwvc2RjLXRvb2x0aXA+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICA8aW5wdXRcbiAgICBjbGFzcz1cInNkYy10ZXh0Ym94X19pbnB1dFwiXG4gICAgKGlucHV0KT1cIm9uTmF0aXZlSW5wdXQoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbaWRdPVwiaWRlbnRpdHkuaWRcIlxuICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgIFtuZ0NsYXNzXT1cImdldEludmFsaWRDbGFzcygpXCJcbiAgICBbY2xhc3Muc2RjLXRleHRib3hfX2lucHV0LS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFtuZ1N0eWxlXT1cImdldElucHV0U3R5bGUoKVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyID8gKHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlKSA6ICcnXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICBsYWJlbEtleSgpXG4gICAgICAgID8gKGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUpXG4gICAgICAgIDogcGxhY2Vob2xkZXJcbiAgICAgICAgICA/IChwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICA6ICgncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS50ZXh0X2lucHV0JyB8IHRyYW5zbGF0ZSlcbiAgICBcIlxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibWVzc2FnZUtleSgpID8gaWRlbnRpdHkuaWQgKyAnLWVycm9yJyA6IG51bGxcIlxuICAgIC8+XG5cbiAgICBAaWYgKG1lc3NhZ2VLZXkoKSkge1xuICAgICAgPHNtYWxsXG4gICAgICAgIFtpZF09XCJpZGVudGl0eS5pZCArICctZXJyb3InXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0SW52YWxpZE1lc3NhZ2VDbGFzcygpXCJcbiAgICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgPlxuICAgICAgICB7eyBtZXNzYWdlS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvc21hbGw+XG4gICAgfVxuICA8L2Rpdj5cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBa0JoRSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBdUI7SUFDbEQsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsbUJBQW1CLEdBQW9CLE9BQU8sQ0FBQztJQUMvQyxnQkFBZ0IsR0FBaUIsTUFBTSxDQUFDO0lBRWpELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFpQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxTQUFTLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQzNCLENBQUM7UUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxjQUFjLENBQUMsS0FBYTtRQUNsQyxNQUFNLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQzt3R0ExQlUsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isb0xBVmhCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDL0MsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ3RCSCx3dEVBcUVBLDY1R0R4RFksWUFBWSxpTkFBRSxXQUFXLDhCQUFFLG1CQUFtQiw4QkFBRSxlQUFlLDRGQUFFLGdCQUFnQjs7NEZBYWhGLGdCQUFnQjtrQkFoQjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDLGFBR2pGO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IElucHV0c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvZGlyZWN0aXZlcy9pbnB1dHMuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHsgVG9vbHRpcEV2ZW50LCBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3Rvb2x0aXAudHlwZSc7XG5pbXBvcnQgeyBmaWx0ZXJUZXh0V2l0aFJlZ0V4cCwgZ2V0S2V5RmlsdGVyUmVnRXhwIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9rZXktZmlsdGVyLnV0aWwnO1xuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGV4dGJveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIFRvb2x0aXBDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi90ZXh0Ym94LmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0Ym94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgVGV4dGJveENvbXBvbmVudCBleHRlbmRzIElucHV0c0NvbXBvbmVudDxzdHJpbmc+IHtcbiAgQElucHV0KCkgaW5mb1Rvb2x0aXA6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAncmlnaHQnO1xuICBASW5wdXQoKSBpbmZvVG9vbHRpcEV2ZW50OiBUb29sdGlwRXZlbnQgPSAnYm90aCc7XG5cbiAgb25OYXRpdmVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCB8IG51bGw7XG4gICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0VmFsdWUgPSB0aGlzLmFwcGx5S2V5RmlsdGVyKHRhcmdldC52YWx1ZSk7XG4gICAgaWYgKG5leHRWYWx1ZSAhPT0gdGFyZ2V0LnZhbHVlKSB7XG4gICAgICB0YXJnZXQudmFsdWUgPSBuZXh0VmFsdWU7XG4gICAgfVxuXG4gICAgc3VwZXIub25JbnB1dChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5S2V5RmlsdGVyKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlID0gZ2V0S2V5RmlsdGVyUmVnRXhwKHRoaXMua2V5RmlsdGVyKTtcbiAgICBpZiAoIXJlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbHRlclRleHRXaXRoUmVnRXhwKHZhbHVlLCByZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtdGV4dGJveFwiPlxuICBAaWYgKGxhYmVsS2V5KCkgfHwgaW5mb1Rvb2x0aXApIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLXRleHRib3hfX2xhYmVsLXJvd1wiPlxuICAgICAgQGlmIChsYWJlbEtleSgpKSB7XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImlkZW50aXR5LmlkXCIgY2xhc3M9XCJzZGMtdGV4dGJveF9fbGFiZWxcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy10ZXh0Ym94X19sYWJlbC10ZXh0XCI+XG4gICAgICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtZmllbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChyZXF1aXJlZCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5cbiAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9yZXF1aXJlZF9maWVsZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIH1cbiAgICAgIEBpZiAoaW5mb1Rvb2x0aXApIHtcbiAgICAgICAgPHNkYy10b29sdGlwXG4gICAgICAgICAgY2xhc3M9XCJzZGMtdGV4dGJveF9faW5mby10b29sdGlwLXdyYXBcIlxuICAgICAgICAgIFtwVG9vbHRpcF09XCJpbmZvVG9vbHRpcFwiXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJpbmZvVG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICAgICBbdG9vbHRpcEV2ZW50XT1cImluZm9Ub29sdGlwRXZlbnRcIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZSBzZGMtdGV4dGJveF9faW5mby10b29sdGlwLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgIDwvc2RjLXRvb2x0aXA+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICA8aW5wdXRcbiAgICBjbGFzcz1cInNkYy10ZXh0Ym94X19pbnB1dFwiXG4gICAgKGlucHV0KT1cIm9uTmF0aXZlSW5wdXQoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbaWRdPVwiaWRlbnRpdHkuaWRcIlxuICAgIFtuYW1lXT1cImlkZW50aXR5Lm5hbWVcIlxuICAgIFtuZ0NsYXNzXT1cImdldEludmFsaWRDbGFzcygpXCJcbiAgICBbY2xhc3Muc2RjLXRleHRib3hfX2lucHV0LS1pbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFtuZ1N0eWxlXT1cImdldElucHV0U3R5bGUoKVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyID8gKHBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlKSA6ICcnXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICBsYWJlbEtleSgpXG4gICAgICAgID8gKGxhYmVsS2V5KCkgfCB0cmFuc2xhdGUpXG4gICAgICAgIDogcGxhY2Vob2xkZXJcbiAgICAgICAgICA/IChwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICA6ICgncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV90ZXh0X2lucHV0JyB8IHRyYW5zbGF0ZSlcbiAgICBcIlxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaW52YWxpZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibWVzc2FnZUtleSgpID8gaWRlbnRpdHkuaWQgKyAnLWVycm9yJyA6IG51bGxcIlxuICAgIC8+XG5cbiAgICBAaWYgKG1lc3NhZ2VLZXkoKSkge1xuICAgICAgPHNtYWxsXG4gICAgICAgIFtpZF09XCJpZGVudGl0eS5pZCArICctZXJyb3InXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0SW52YWxpZE1lc3NhZ2VDbGFzcygpXCJcbiAgICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgPlxuICAgICAgICB7eyBtZXNzYWdlS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvc21hbGw+XG4gICAgfVxuICA8L2Rpdj5cbiJdfQ==
@@ -0,0 +1,80 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation, forwardRef, inject } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { IconRendererComponent } from '../../core/components/icon-renderer/icon-renderer.component';
6
+ import { InputsComponent } from '../../core/directives/inputs.directive';
7
+ import { TILE_SELECT_COLUMNS } from '../../core/types/tile-select.type';
8
+ import { nextSequentialId } from '../../core/utils/id.util';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "@ngx-translate/core";
12
+ export class TileSelectComponent extends InputsComponent {
13
+ items = [];
14
+ columns = TILE_SELECT_COLUMNS.FOUR;
15
+ compareWith = (a, b) => Object.is(a, b);
16
+ itemSelected = new EventEmitter();
17
+ groupLabelId = nextSequentialId('sdc-tile-select-label');
18
+ cdr = inject(ChangeDetectorRef);
19
+ writeValue(value) {
20
+ super.writeValue(value);
21
+ this.cdr.markForCheck();
22
+ }
23
+ setDisabledState(isDisabled) {
24
+ super.setDisabledState?.(isDisabled);
25
+ this.cdr.markForCheck();
26
+ }
27
+ isItemSelected(item) {
28
+ return this.value !== null && this.value !== undefined && this.compareWith(this.value, item.value);
29
+ }
30
+ isItemDisabled(item) {
31
+ return this.disabled || !!item.disabled;
32
+ }
33
+ getItemStateAriaLabelKey(item) {
34
+ return this.isItemSelected(item)
35
+ ? 'platform.datacore.accessibility_tile_select_item_selected'
36
+ : 'platform.datacore.accessibility_tile_select_item_not_selected';
37
+ }
38
+ onItemSelect(item) {
39
+ if (this.isItemDisabled(item)) {
40
+ return;
41
+ }
42
+ this.commitValue(item.value);
43
+ this.onTouched();
44
+ this.itemSelected.emit(item);
45
+ }
46
+ onKeyboardActivate(event, item) {
47
+ if (event.key !== 'Enter' && event.key !== ' ') {
48
+ return;
49
+ }
50
+ event.preventDefault();
51
+ this.onItemSelect(item);
52
+ }
53
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
54
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TileSelectComponent, isStandalone: true, selector: "sdc-tile-select", inputs: { items: "items", columns: "columns", compareWith: "compareWith" }, outputs: { itemSelected: "itemSelected" }, providers: [
55
+ {
56
+ provide: NG_VALUE_ACCESSOR,
57
+ useExisting: forwardRef(() => TileSelectComponent),
58
+ multi: true
59
+ }
60
+ ], usesInheritance: true, ngImport: i0, template: "@if (labelKey()) {\n <div class=\"sdc-tile-select__label-row\">\n <div class=\"sdc-tile-select__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-tile-select__group-label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n <span class=\"sdc-tile-select__sr-only\">\n {{ 'platform.datacore.accessibility_required_field' | translate }}\n </span>\n }\n </span>\n </div>\n </div>\n}\n\n<div\n class=\"sdc-tile-select\"\n [class.sdc-tile-select--disabled]=\"disabled\"\n [style.--sdc-tile-select-columns]=\"columns\"\n role=\"radiogroup\"\n [attr.aria-label]=\"labelKey() ? null : ('platform.datacore.accessibility_tile_select_group' | translate)\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n>\n @for (item of items; track item.value) {\n <button\n type=\"button\"\n class=\"sdc-tile-select__item\"\n [ngClass]=\"{\n 'sdc-tile-select__item--selected': isItemSelected(item),\n 'sdc-tile-select__item--disabled': isItemDisabled(item)\n }\"\n [attr.aria-pressed]=\"isItemSelected(item)\"\n [attr.aria-label]=\"((item.ariaLabel || item.label || '') | translate) + ', ' + (getItemStateAriaLabelKey(item) | translate)\"\n [disabled]=\"isItemDisabled(item)\"\n (click)=\"onItemSelect(item)\"\n (keydown)=\"onKeyboardActivate($event, item)\"\n >\n @if (item.icon) {\n <span class=\"sdc-tile-select__icon\" aria-hidden=\"true\">\n <sdc-icon-renderer [icon]=\"item.icon\" [iconType]=\"item.iconType\" [size]=\"24\"></sdc-icon-renderer>\n </span>\n }\n <span class=\"sdc-tile-select__label\" aria-hidden=\"true\">{{ (item.label || '') | translate }}</span>\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n class=\"sdc-tile-select__message\"\n [class.invalid]=\"invalid\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:block}.sdc-tile-select__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-tile-select__group-label{display:inline-flex;align-items:center;font-size:var(--sdc-form-label-font-size);font-weight:var(--sdc-form-label-font-weight);color:var(--sdc-form-label-color);line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-tile-select__group-label-text{display:inline-flex;align-items:center}.required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-tile-select__sr-only{border:var(--sdc-sr-only-border);clip:var(--sdc-sr-only-clip);height:var(--sdc-sr-only-h);margin:var(--sdc-sr-only-m);overflow:var(--sdc-sr-only-overflow);padding:var(--sdc-sr-only-p);position:var(--sdc-sr-only-pos);width:var(--sdc-sr-only-w)}.sdc-tile-select{display:grid;gap:var(--sdc-tile-select-gap, .75rem);grid-template-columns:repeat(var(--sdc-tile-select-columns, 4),minmax(0,1fr))}.sdc-tile-select--disabled{pointer-events:none;opacity:.6}.sdc-tile-select__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:var(--sdc-tile-select-item-min-height, 5.5rem);padding:.875rem .5rem;background:var(--sdc-formfield-default-bg, #ffffff);border:1px solid var(--sdc-border-strong, #dedce5);border-radius:var(--sdc-tile-select-item-radius, .5rem);color:var(--sdc-text-default, #374151);cursor:pointer;font:inherit;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.sdc-tile-select__item--selected{background:#428bca14;border-color:var(--sdc-formfield-focus-color, #428bca);color:var(--sdc-formfield-focus-color, #428bca)}.sdc-tile-select__item--disabled{cursor:not-allowed;opacity:.5}.sdc-tile-select__icon{display:inline-flex;align-items:center;justify-content:center;color:inherit}.sdc-tile-select__label{font-size:.8125rem;font-weight:500;text-align:center;line-height:1.3}.sdc-tile-select__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-tile-select__message.invalid{color:var(--sdc-form-required-color)}.sdc-tile-select__item:focus-visible{outline:2px solid var(--sdc-formfield-focus-color, #428bca);outline-offset:2px}.sdc-tile-select__item:hover:not(:disabled):not(.sdc-tile-select__item--selected){background:var(--sdc-picklist-hover-bg, #f7f7f7);border-color:var(--sdc-formfield-focus-color, #428bca)}@media (max-width: 1024px){.sdc-tile-select{grid-template-columns:repeat(min(3,var(--sdc-tile-select-columns, 4)),minmax(0,1fr))}}@media (max-width: 640px){.sdc-tile-select{grid-template-columns:repeat(2,minmax(0,1fr))}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: IconRendererComponent, selector: "sdc-icon-renderer", inputs: ["icon", "iconType", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TileSelectComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'sdc-tile-select', standalone: true, imports: [CommonModule, TranslateModule, IconRendererComponent], providers: [
65
+ {
66
+ provide: NG_VALUE_ACCESSOR,
67
+ useExisting: forwardRef(() => TileSelectComponent),
68
+ multi: true
69
+ }
70
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "@if (labelKey()) {\n <div class=\"sdc-tile-select__label-row\">\n <div class=\"sdc-tile-select__group-label\" [id]=\"groupLabelId\">\n <span class=\"sdc-tile-select__group-label-text\">\n {{ labelKey() | translate }}\n @if (required) {\n <span class=\"required-field\" aria-hidden=\"true\">*</span>\n <span class=\"sdc-tile-select__sr-only\">\n {{ 'platform.datacore.accessibility_required_field' | translate }}\n </span>\n }\n </span>\n </div>\n </div>\n}\n\n<div\n class=\"sdc-tile-select\"\n [class.sdc-tile-select--disabled]=\"disabled\"\n [style.--sdc-tile-select-columns]=\"columns\"\n role=\"radiogroup\"\n [attr.aria-label]=\"labelKey() ? null : ('platform.datacore.accessibility_tile_select_group' | translate)\"\n [attr.aria-labelledby]=\"labelKey() ? groupLabelId : null\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-describedby]=\"messageKey() ? identity.id + '-error' : null\"\n>\n @for (item of items; track item.value) {\n <button\n type=\"button\"\n class=\"sdc-tile-select__item\"\n [ngClass]=\"{\n 'sdc-tile-select__item--selected': isItemSelected(item),\n 'sdc-tile-select__item--disabled': isItemDisabled(item)\n }\"\n [attr.aria-pressed]=\"isItemSelected(item)\"\n [attr.aria-label]=\"((item.ariaLabel || item.label || '') | translate) + ', ' + (getItemStateAriaLabelKey(item) | translate)\"\n [disabled]=\"isItemDisabled(item)\"\n (click)=\"onItemSelect(item)\"\n (keydown)=\"onKeyboardActivate($event, item)\"\n >\n @if (item.icon) {\n <span class=\"sdc-tile-select__icon\" aria-hidden=\"true\">\n <sdc-icon-renderer [icon]=\"item.icon\" [iconType]=\"item.iconType\" [size]=\"24\"></sdc-icon-renderer>\n </span>\n }\n <span class=\"sdc-tile-select__label\" aria-hidden=\"true\">{{ (item.label || '') | translate }}</span>\n </button>\n }\n</div>\n\n@if (messageKey()) {\n <small\n [id]=\"identity.id + '-error'\"\n class=\"sdc-tile-select__message\"\n [class.invalid]=\"invalid\"\n role=\"alert\"\n aria-live=\"polite\"\n >\n {{ messageKey() | translate }}\n </small>\n}\n", styles: [":host{display:block}.sdc-tile-select__label-row{display:flex;align-items:center;gap:var(--sdc-form-label-row-gap);margin-bottom:var(--sdc-form-label-row-mb)}.sdc-tile-select__group-label{display:inline-flex;align-items:center;font-size:var(--sdc-form-label-font-size);font-weight:var(--sdc-form-label-font-weight);color:var(--sdc-form-label-color);line-height:var(--sdc-form-label-lh);padding-top:var(--sdc-form-label-py);padding-bottom:var(--sdc-form-label-py)}.sdc-tile-select__group-label-text{display:inline-flex;align-items:center}.required-field{margin-left:var(--sdc-form-required-ml);color:var(--sdc-form-required-color);font-weight:var(--sdc-form-required-weight)}.sdc-tile-select__sr-only{border:var(--sdc-sr-only-border);clip:var(--sdc-sr-only-clip);height:var(--sdc-sr-only-h);margin:var(--sdc-sr-only-m);overflow:var(--sdc-sr-only-overflow);padding:var(--sdc-sr-only-p);position:var(--sdc-sr-only-pos);width:var(--sdc-sr-only-w)}.sdc-tile-select{display:grid;gap:var(--sdc-tile-select-gap, .75rem);grid-template-columns:repeat(var(--sdc-tile-select-columns, 4),minmax(0,1fr))}.sdc-tile-select--disabled{pointer-events:none;opacity:.6}.sdc-tile-select__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:var(--sdc-tile-select-item-min-height, 5.5rem);padding:.875rem .5rem;background:var(--sdc-formfield-default-bg, #ffffff);border:1px solid var(--sdc-border-strong, #dedce5);border-radius:var(--sdc-tile-select-item-radius, .5rem);color:var(--sdc-text-default, #374151);cursor:pointer;font:inherit;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.sdc-tile-select__item--selected{background:#428bca14;border-color:var(--sdc-formfield-focus-color, #428bca);color:var(--sdc-formfield-focus-color, #428bca)}.sdc-tile-select__item--disabled{cursor:not-allowed;opacity:.5}.sdc-tile-select__icon{display:inline-flex;align-items:center;justify-content:center;color:inherit}.sdc-tile-select__label{font-size:.8125rem;font-weight:500;text-align:center;line-height:1.3}.sdc-tile-select__message{display:block;margin-top:var(--sdc-form-label-row-mb);font-size:.8125rem;color:var(--sdc-text-subtle, #667085)}.sdc-tile-select__message.invalid{color:var(--sdc-form-required-color)}.sdc-tile-select__item:focus-visible{outline:2px solid var(--sdc-formfield-focus-color, #428bca);outline-offset:2px}.sdc-tile-select__item:hover:not(:disabled):not(.sdc-tile-select__item--selected){background:var(--sdc-picklist-hover-bg, #f7f7f7);border-color:var(--sdc-formfield-focus-color, #428bca)}@media (max-width: 1024px){.sdc-tile-select{grid-template-columns:repeat(min(3,var(--sdc-tile-select-columns, 4)),minmax(0,1fr))}}@media (max-width: 640px){.sdc-tile-select{grid-template-columns:repeat(2,minmax(0,1fr))}}\n"] }]
71
+ }], propDecorators: { items: [{
72
+ type: Input
73
+ }], columns: [{
74
+ type: Input
75
+ }], compareWith: [{
76
+ type: Input
77
+ }], itemSelected: [{
78
+ type: Output
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy90aWxlLXNlbGVjdC90aWxlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3RpbGUtc2VsZWN0L3RpbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQStDLE1BQU0sbUNBQW1DLENBQUM7QUFDckgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFrQjVELE1BQU0sT0FBTyxtQkFBc0MsU0FBUSxlQUF1QjtJQUN2RSxLQUFLLEdBQTZCLEVBQUUsQ0FBQztJQUNyQyxPQUFPLEdBQXNCLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUN0RCxXQUFXLEdBQXNDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUUsWUFBWSxHQUFHLElB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bmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2NvbXBvbmVudHMvaWNvbi1yZW5kZXJlci9pY29uLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2RpcmVjdGl2ZXMvaW5wdXRzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUSUxFX1NFTEVDVF9DT0xVTU5TLCB0eXBlIFRpbGVTZWxlY3RDb2x1bW5zLCB0eXBlIFRpbGVTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy90aWxlLXNlbGVjdC50eXBlJztcbmltcG9ydCB7IG5leHRTZXF1ZW50aWFsSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2lkLnV0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGlsZS1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIEljb25SZW5kZXJlckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi90aWxlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi90aWxlLXNlbGVjdC5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGlsZVNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVTZWxlY3RDb21wb25lbnQ8VFZhbHVlID0gdW5rbm93bj4gZXh0ZW5kcyBJbnB1dHNDb21wb25lbnQ8VFZhbHVlPiB7XG4gIEBJbnB1dCgpIGl0ZW1zOiBUaWxlU2VsZWN0SXRlbTxUVmFsdWU+W10gPSBbXTtcbiAgQElucHV0KCkgY29sdW1uczogVGlsZVNlbGVjdENvbHVtbnMgPSBUSUxFX1NFTEVDVF9DT0xVTU5TLkZPVVI7XG4gIEBJbnB1dCgpIGNvbXBhcmVXaXRoOiAoYTogVFZhbHVlLCBiOiBUVmFsdWUpID0+IGJvb2xlYW4gPSAoYSwgYikgPT4gT2JqZWN0LmlzKGEsIGIpO1xuXG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRpbGVTZWxlY3RJdGVtPFRWYWx1ZT4+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwTGFiZWxJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy10aWxlLXNlbGVjdC1sYWJlbCcpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBUVmFsdWUgfCBudWxsKTogdm9pZCB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSBhcyBUVmFsdWUpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZT8uKGlzRGlzYWJsZWQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzSXRlbVNlbGVjdGVkKGl0ZW06IFRpbGVTZWxlY3RJdGVtPFRWYWx1ZT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5jb21wYXJlV2l0aCh0aGlzLnZhbHVlLCBpdGVtLnZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0l0ZW1EaXNhYmxlZChpdGVtOiBUaWxlU2VsZWN0SXRlbTxUVmFsdWU+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgISFpdGVtLmRpc2FibGVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEl0ZW1TdGF0ZUFyaWFMYWJlbEtleShpdGVtOiBUaWxlU2VsZWN0SXRlbTxUVmFsdWU+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0l0ZW1TZWxlY3RlZChpdGVtKVxuICAgICAgPyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV90aWxlX3NlbGVjdF9pdGVtX3NlbGVjdGVkJ1xuICAgICAgOiAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV90aWxlX3NlbGVjdF9pdGVtX25vdF9zZWxlY3RlZCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JdGVtU2VsZWN0KGl0ZW06IFRpbGVTZWxlY3RJdGVtPFRWYWx1ZT4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0l0ZW1EaXNhYmxlZChpdGVtKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29tbWl0VmFsdWUoaXRlbS52YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uS2V5Ym9hcmRBY3RpdmF0ZShldmVudDogS2V5Ym9hcmRFdmVudCwgaXRlbTogVGlsZVNlbGVjdEl0ZW08VFZhbHVlPik6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgIT09ICdFbnRlcicgJiYgZXZlbnQua2V5ICE9PSAnICcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMub25JdGVtU2VsZWN0KGl0ZW0pO1xuICB9XG59XG4iLCJAaWYgKGxhYmVsS2V5KCkpIHtcbiAgPGRpdiBjbGFzcz1cInNkYy10aWxlLXNlbGVjdF9fbGFiZWwtcm93XCI+XG4gICAgPGRpdiBjbGFzcz1cInNkYy10aWxlLXNlbGVjdF9fZ3JvdXAtbGFiZWxcIiBbaWRdPVwiZ3JvdXBMYWJlbElkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNkYy10aWxlLXNlbGVjdF9fZ3JvdXAtbGFiZWwtdGV4dFwiPlxuICAgICAgICB7eyBsYWJlbEtleSgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIEBpZiAocmVxdWlyZWQpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLWZpZWxkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy10aWxlLXNlbGVjdF9fc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcmVxdWlyZWRfZmllbGQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxufVxuXG48ZGl2XG4gIGNsYXNzPVwic2RjLXRpbGUtc2VsZWN0XCJcbiAgW2NsYXNzLnNkYy10aWxlLXNlbGVjdC0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbc3R5bGUuLS1zZGMtdGlsZS1zZWxlY3QtY29sdW1uc109XCJjb2x1bW5zXCJcbiAgcm9sZT1cInJhZGlvZ3JvdXBcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsS2V5KCkgPyBudWxsIDogKCdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5X3RpbGVfc2VsZWN0X2dyb3VwJyB8IHRyYW5zbGF0ZSlcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWxLZXkoKSA/IGdyb3VwTGFiZWxJZCA6IG51bGxcIlxuICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFthdHRyLmFyaWEtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJtZXNzYWdlS2V5KCkgPyBpZGVudGl0eS5pZCArICctZXJyb3InIDogbnVsbFwiXG4+XG4gIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrIGl0ZW0udmFsdWUpIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2RjLXRpbGUtc2VsZWN0X19pdGVtXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NkYy10aWxlLXNlbGVjdF9faXRlbS0tc2VsZWN0ZWQnOiBpc0l0ZW1TZWxlY3RlZChpdGVtKSxcbiAgICAgICAgJ3NkYy10aWxlLXNlbGVjdF9faXRlbS0tZGlzYWJsZWQnOiBpc0l0ZW1EaXNhYmxlZChpdGVtKVxuICAgICAgfVwiXG4gICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiaXNJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIoKGl0ZW0uYXJpYUxhYmVsIHx8IGl0ZW0ubGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlKSArICcsICcgKyAoZ2V0SXRlbVN0YXRlQXJpYUxhYmVsS2V5KGl0ZW0pIHwgdHJhbnNsYXRlKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXNJdGVtRGlzYWJsZWQoaXRlbSlcIlxuICAgICAgKGNsaWNrKT1cIm9uSXRlbVNlbGVjdChpdGVtKVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWJvYXJkQWN0aXZhdGUoJGV2ZW50LCBpdGVtKVwiXG4gICAgPlxuICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtdGlsZS1zZWxlY3RfX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICA8c2RjLWljb24tcmVuZGVyZXIgW2ljb25dPVwiaXRlbS5pY29uXCIgW2ljb25UeXBlXT1cIml0ZW0uaWNvblR5cGVcIiBbc2l6ZV09XCIyNFwiPjwvc2RjLWljb24tcmVuZGVyZXI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxzcGFuIGNsYXNzPVwic2RjLXRpbGUtc2VsZWN0X19sYWJlbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgfVxuPC9kaXY+XG5cbkBpZiAobWVzc2FnZUtleSgpKSB7XG4gIDxzbWFsbFxuICAgIFtpZF09XCJpZGVudGl0eS5pZCArICctZXJyb3InXCJcbiAgICBjbGFzcz1cInNkYy10aWxlLXNlbGVjdF9fbWVzc2FnZVwiXG4gICAgW2NsYXNzLmludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgcm9sZT1cImFsZXJ0XCJcbiAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgID5cbiAgICB7eyBtZXNzYWdlS2V5KCkgfCB0cmFuc2xhdGUgfX1cbiAgPC9zbWFsbD5cbn1cbiJdfQ==