@fundamental-ngx/platform 0.49.0-rc.9 → 0.49.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 (429) hide show
  1. package/approval-flow/approval-flow.component.d.ts +7 -1
  2. package/button/button.component.d.ts +1 -4
  3. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +4 -4
  4. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +4 -4
  5. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +3 -3
  6. package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +3 -3
  7. package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +3 -3
  8. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +4 -4
  9. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
  10. package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +3 -3
  11. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +3 -3
  12. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
  13. package/esm2022/approval-flow/approval-flow.component.mjs +27 -5
  14. package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
  15. package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
  16. package/esm2022/button/button.component.mjs +4 -6
  17. package/esm2022/button/button.module.mjs +4 -4
  18. package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
  19. package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
  20. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +3 -3
  21. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
  22. package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  23. package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
  24. package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
  25. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
  26. package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
  27. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
  28. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
  29. package/esm2022/dynamic-page/dynamic-page.component.mjs +6 -6
  30. package/esm2022/dynamic-page/dynamic-page.config.mjs +3 -3
  31. package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
  32. package/esm2022/feed-input/feed-input.component.mjs +5 -5
  33. package/esm2022/feed-input/feed-input.module.mjs +4 -4
  34. package/esm2022/form/auto-complete/auto-complete.directive.mjs +3 -3
  35. package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
  36. package/esm2022/form/checkbox/checkbox.component.mjs +3 -3
  37. package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
  38. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +3 -3
  39. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
  40. package/esm2022/form/combobox/combobox/combobox.component.mjs +5 -5
  41. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +4 -4
  42. package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  43. package/esm2022/form/combobox/combobox.config.mjs +11 -11
  44. package/esm2022/form/combobox/combobox.module.mjs +4 -4
  45. package/esm2022/form/combobox/commons/base-combobox.mjs +5 -8
  46. package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
  47. package/esm2022/form/date-picker/date-picker.component.mjs +3 -3
  48. package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
  49. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +3 -3
  50. package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
  51. package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
  52. package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +3 -3
  53. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +3 -3
  54. package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +4 -4
  55. package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +3 -3
  56. package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +3 -3
  57. package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +3 -3
  58. package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +3 -3
  59. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +3 -3
  60. package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +3 -3
  61. package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +3 -3
  62. package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +3 -3
  63. package/esm2022/form/form-generator/dynamic-form-control.mjs +1 -1
  64. package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
  65. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +3 -3
  66. package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
  67. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +3 -3
  68. package/esm2022/form/form-generator/form-generator.service.mjs +3 -3
  69. package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +3 -3
  70. package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
  71. package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
  72. package/esm2022/form/form-group/form-field/form-field.component.mjs +5 -5
  73. package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +3 -3
  74. package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +3 -3
  75. package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +3 -3
  76. package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
  77. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +4 -4
  78. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +3 -3
  79. package/esm2022/form/form-group/form-group.component.mjs +5 -5
  80. package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
  81. package/esm2022/form/form-group/services/form-field-layout.service.mjs +3 -3
  82. package/esm2022/form/input/fdp-input.module.mjs +4 -4
  83. package/esm2022/form/input/input.component.mjs +4 -4
  84. package/esm2022/form/input-group/addon-body.component.mjs +3 -3
  85. package/esm2022/form/input-group/addon.component.mjs +3 -3
  86. package/esm2022/form/input-group/input-group.component.mjs +3 -3
  87. package/esm2022/form/input-group/input-group.config.mjs +3 -3
  88. package/esm2022/form/input-group/input-group.module.mjs +4 -4
  89. package/esm2022/form/input-group/input.component.mjs +3 -3
  90. package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +4 -4
  91. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +3 -3
  92. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +6 -6
  93. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +4 -4
  94. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
  95. package/esm2022/form/multi-combobox/multi-combobox.config.mjs +3 -3
  96. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
  97. package/esm2022/form/multi-input/base-multi-input.mjs +11 -5
  98. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +3 -3
  99. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
  100. package/esm2022/form/multi-input/multi-input.component.mjs +5 -5
  101. package/esm2022/form/multi-input/multi-input.config.mjs +3 -3
  102. package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
  103. package/esm2022/form/radio-group/radio/radio.component.mjs +3 -3
  104. package/esm2022/form/radio-group/radio-group.component.mjs +3 -3
  105. package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
  106. package/esm2022/form/select/commons/base-select.mjs +4 -4
  107. package/esm2022/form/select/select/select.component.mjs +5 -5
  108. package/esm2022/form/select/select.config.mjs +3 -3
  109. package/esm2022/form/select/select.module.mjs +4 -4
  110. package/esm2022/form/step-input/base.step-input.mjs +3 -3
  111. package/esm2022/form/step-input/number/number-step-input.component.mjs +6 -6
  112. package/esm2022/form/step-input/step-input-action-button.mjs +3 -3
  113. package/esm2022/form/step-input/step-input-control.directive.mjs +3 -3
  114. package/esm2022/form/step-input/step-input-decrement.directive.mjs +3 -3
  115. package/esm2022/form/step-input/step-input-increment.directive.mjs +3 -3
  116. package/esm2022/form/step-input/step-input.config.mjs +3 -3
  117. package/esm2022/form/step-input/step-input.module.mjs +4 -4
  118. package/esm2022/form/switch/switch/switch.component.mjs +4 -4
  119. package/esm2022/form/switch/switch/switch.config.mjs +3 -3
  120. package/esm2022/form/switch/switch.module.mjs +4 -4
  121. package/esm2022/form/text-area/text-area.component.mjs +4 -6
  122. package/esm2022/form/text-area/text-area.config.mjs +3 -3
  123. package/esm2022/form/text-area/text-area.module.mjs +4 -4
  124. package/esm2022/form/time-picker/time-picker.component.mjs +4 -4
  125. package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
  126. package/esm2022/fundamental-ngx-platform.mjs +1 -1
  127. package/esm2022/fundamental-ngx.module.mjs +5 -5
  128. package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +3 -3
  129. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +6 -7
  130. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +3 -3
  131. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +3 -3
  132. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +3 -3
  133. package/esm2022/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.mjs +6 -6
  134. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +3 -3
  135. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +4 -4
  136. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +3 -3
  137. package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +4 -4
  138. package/esm2022/icon-tab-bar/components/text-type-tab-item/icon-tab-bar-text-type-tab-item.component.mjs +3 -3
  139. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +3 -3
  140. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +3 -3
  141. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +3 -3
  142. package/esm2022/icon-tab-bar/directives/icon-tab-bar-free-content.directive.mjs +3 -3
  143. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +6 -6
  144. package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +4 -4
  145. package/esm2022/index.mjs +1 -1
  146. package/esm2022/info-label/info-label.component.mjs +3 -3
  147. package/esm2022/info-label/info-label.module.mjs +4 -4
  148. package/esm2022/link/link.component.mjs +7 -7
  149. package/esm2022/link/link.module.mjs +4 -4
  150. package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
  151. package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
  152. package/esm2022/list/base-list-item.mjs +6 -6
  153. package/esm2022/list/display-list-item/display-list-item.component.mjs +4 -4
  154. package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
  155. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +3 -3
  156. package/esm2022/list/list-group-footer.component.mjs +3 -3
  157. package/esm2022/list/list-group-header.component.mjs +3 -3
  158. package/esm2022/list/list.component.mjs +6 -6
  159. package/esm2022/list/list.config.mjs +3 -3
  160. package/esm2022/list/list.module.mjs +4 -4
  161. package/esm2022/list/load-more-content.directive.mjs +3 -3
  162. package/esm2022/list/object-list-item/object-list-item-row.component.mjs +6 -6
  163. package/esm2022/list/object-list-item/object-list-item.component.mjs +5 -5
  164. package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
  165. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +4 -4
  166. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
  167. package/esm2022/menu/menu-item.component.mjs +5 -5
  168. package/esm2022/menu/menu-trigger.directive.mjs +3 -3
  169. package/esm2022/menu/menu.component.mjs +4 -4
  170. package/esm2022/menu/menu.module.mjs +4 -4
  171. package/esm2022/menu-button/menu-button.component.mjs +3 -3
  172. package/esm2022/menu-button/menu-button.module.mjs +4 -4
  173. package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +3 -3
  174. package/esm2022/message-popover/components/message-view/message-view.component.mjs +3 -3
  175. package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +3 -3
  176. package/esm2022/message-popover/message-popover.component.mjs +5 -5
  177. package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
  178. package/esm2022/object-marker/object-marker.component.mjs +3 -3
  179. package/esm2022/object-marker/object-marker.module.mjs +4 -4
  180. package/esm2022/object-status/object-status.component.mjs +6 -6
  181. package/esm2022/object-status/object-status.module.mjs +4 -4
  182. package/esm2022/page-footer/page-footer.component.mjs +5 -5
  183. package/esm2022/page-footer/page-footer.module.mjs +4 -4
  184. package/esm2022/panel/panel-actions.component.mjs +3 -3
  185. package/esm2022/panel/panel-content/panel-content.component.mjs +3 -3
  186. package/esm2022/panel/panel.component.mjs +4 -4
  187. package/esm2022/panel/panel.config.mjs +3 -3
  188. package/esm2022/panel/panel.module.mjs +4 -4
  189. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +4 -4
  190. package/esm2022/search-field/search-field.component.mjs +33 -94
  191. package/esm2022/search-field/search-field.module.mjs +4 -4
  192. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +6 -6
  193. package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
  194. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +3 -3
  195. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +3 -3
  196. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +4 -4
  197. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +3 -3
  198. package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
  199. package/esm2022/settings-generator/settings-generator.component.mjs +3 -3
  200. package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
  201. package/esm2022/settings-generator/settings-generator.service.mjs +3 -3
  202. package/esm2022/shared/base.mjs +3 -3
  203. package/esm2022/shared/form/base.input.mjs +4 -4
  204. package/esm2022/shared/form/collection-base.input.mjs +3 -3
  205. package/esm2022/shared/form/form-field.mjs +1 -1
  206. package/esm2022/shared/form/inline-layout-collection-base.input.mjs +9 -9
  207. package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
  208. package/esm2022/shared/pipes/pipe.module.mjs +4 -4
  209. package/esm2022/shared/platform.config.mjs +3 -3
  210. package/esm2022/slider/slider.component.mjs +3 -3
  211. package/esm2022/slider/slider.module.mjs +4 -4
  212. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +3 -3
  213. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +3 -3
  214. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +4 -4
  215. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +4 -4
  216. package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +3 -3
  217. package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +3 -3
  218. package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +3 -3
  219. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
  220. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +14 -10
  221. package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
  222. package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +3 -3
  223. package/esm2022/split-menu-button/split-menu-button.component.mjs +4 -4
  224. package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
  225. package/esm2022/table/components/growing-button/table-growing-button.component.mjs +31 -0
  226. package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
  227. package/esm2022/table/components/reset-button/reset-button.component.mjs +3 -3
  228. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +4 -4
  229. package/esm2022/table/components/table-column/table-column.component.mjs +3 -3
  230. package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +3 -3
  231. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +3 -3
  232. package/esm2022/table/components/table-group-row/table-group-row.component.mjs +3 -3
  233. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +3 -3
  234. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +6 -6
  235. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +8 -7
  236. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +3 -3
  237. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +11 -7
  238. package/esm2022/table/components/table-p13-dialog/filtering/filtering.model.mjs +1 -1
  239. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +5 -5
  240. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +8 -8
  241. package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
  242. package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +9 -6
  243. package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +8 -7
  244. package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
  245. package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
  246. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +3 -3
  247. package/esm2022/table/components/table-row/table-row.component.mjs +10 -9
  248. package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
  249. package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
  250. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +10 -11
  251. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +3 -3
  252. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +3 -3
  253. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +3 -3
  254. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +4 -4
  255. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +4 -4
  256. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +4 -4
  257. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +4 -4
  258. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +4 -4
  259. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +3 -3
  260. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
  261. package/esm2022/table/index.mjs +2 -1
  262. package/esm2022/table/table.component.mjs +38 -12
  263. package/esm2022/table/table.module.mjs +14 -9
  264. package/esm2022/table-helpers/directives/index.mjs +1 -2
  265. package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
  266. package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +3 -3
  267. package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +3 -3
  268. package/esm2022/table-helpers/directives/table-cell.directive.mjs +12 -12
  269. package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -3
  270. package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
  271. package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
  272. package/esm2022/table-helpers/directives/table-header.directive.mjs +6 -6
  273. package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +3 -3
  274. package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +3 -3
  275. package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +3 -3
  276. package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
  277. package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
  278. package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
  279. package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
  280. package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
  281. package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
  282. package/esm2022/table-helpers/services/table-column-resize.service.mjs +3 -3
  283. package/esm2022/table-helpers/services/table-responsive.service.mjs +3 -3
  284. package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
  285. package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
  286. package/esm2022/table-helpers/services/table.service.mjs +28 -5
  287. package/esm2022/table-helpers/table-helpers.module.mjs +6 -9
  288. package/esm2022/table-helpers/table.mjs +1 -1
  289. package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +3 -3
  290. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +7 -6
  291. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +4 -4
  292. package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +3 -3
  293. package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +3 -3
  294. package/esm2022/value-help-dialog/directives/value-help-column-def.directive.mjs +3 -3
  295. package/esm2022/value-help-dialog/directives/value-help-filter-def.directive.mjs +6 -6
  296. package/esm2022/value-help-dialog/models/vhd-filter.model.mjs +1 -1
  297. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +6 -6
  298. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
  299. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +4 -4
  300. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +4 -4
  301. package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
  302. package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +3 -3
  303. package/esm2022/variant-management/variant-management.component.mjs +6 -6
  304. package/esm2022/variant-management/variant-management.module.mjs +4 -4
  305. package/esm2022/wizard-generator/base-wizard-generator.mjs +3 -3
  306. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +4 -4
  307. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +3 -3
  308. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +3 -3
  309. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +4 -4
  310. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +4 -4
  311. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +3 -3
  312. package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
  313. package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
  314. package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
  315. package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
  316. package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +3 -3
  317. package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
  318. package/esm2022/wizard-generator/wizard-generator.service.mjs +3 -3
  319. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +63 -41
  320. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  321. package/fesm2022/fundamental-ngx-platform-button.mjs +7 -9
  322. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  323. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +45 -45
  324. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  325. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +8 -8
  326. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  327. package/fesm2022/fundamental-ngx-platform-form.mjs +331 -330
  328. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  329. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +60 -60
  330. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  331. package/fesm2022/fundamental-ngx-platform-info-label.mjs +7 -7
  332. package/fesm2022/fundamental-ngx-platform-link.mjs +10 -10
  333. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  334. package/fesm2022/fundamental-ngx-platform-list.mjs +64 -64
  335. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  336. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +7 -7
  337. package/fesm2022/fundamental-ngx-platform-menu.mjs +15 -15
  338. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  339. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +17 -17
  340. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  341. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +7 -7
  342. package/fesm2022/fundamental-ngx-platform-object-status.mjs +10 -10
  343. package/fesm2022/fundamental-ngx-platform-page-footer.mjs +8 -8
  344. package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
  345. package/fesm2022/fundamental-ngx-platform-panel.mjs +16 -16
  346. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  347. package/fesm2022/fundamental-ngx-platform-search-field.mjs +40 -100
  348. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  349. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +34 -34
  350. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  351. package/fesm2022/fundamental-ngx-platform-shared.mjs +28 -28
  352. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  353. package/fesm2022/fundamental-ngx-platform-slider.mjs +7 -7
  354. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +42 -37
  355. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  356. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +8 -8
  357. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +110 -122
  358. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  359. package/fesm2022/fundamental-ngx-platform-table.mjs +213 -150
  360. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  361. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +34 -33
  362. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  363. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +21 -21
  364. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  365. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +43 -43
  366. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  367. package/fesm2022/fundamental-ngx-platform.mjs +4 -4
  368. package/fesm2022/fundamental-ngx-platform.mjs.map +1 -1
  369. package/form/combobox/combobox.config.d.ts +2 -2
  370. package/form/combobox/commons/base-combobox.d.ts +2 -4
  371. package/form/multi-input/base-multi-input.d.ts +4 -1
  372. package/form/text-area/text-area.component.d.ts +1 -5
  373. package/form/time-picker/time-picker.component.d.ts +1 -1
  374. package/link/link.component.d.ts +2 -2
  375. package/package.json +4 -4
  376. package/panel/panel.component.d.ts +4 -4
  377. package/schematics/ng-add/index.js +1 -1
  378. package/schematics/utils/package-utils.d.ts +9 -1
  379. package/schematics/utils/package-utils.js +15 -17
  380. package/schematics/utils/package-utils.js.map +1 -1
  381. package/search-field/search-field.component.d.ts +5 -16
  382. package/shared/form/base.input.d.ts +0 -2
  383. package/shared/form/form-field.d.ts +1 -11
  384. package/smart-filter-bar/smart-filter-bar.component.d.ts +6 -3
  385. package/table/components/growing-button/table-growing-button.component.d.ts +16 -0
  386. package/table/components/table-p13-dialog/filtering/filtering.model.d.ts +1 -0
  387. package/table/components/table-p13-dialog/table-p13-dialog.component.d.ts +2 -2
  388. package/table/components/table-p13-dialog/table-p13-filter.component.d.ts +6 -2
  389. package/table/components/table-row/table-row.component.d.ts +1 -1
  390. package/table/components/table-toolbar/table-toolbar.component.d.ts +2 -3
  391. package/table/index.d.ts +1 -0
  392. package/table/table.component.d.ts +15 -2
  393. package/table/table.module.d.ts +3 -2
  394. package/table-helpers/directives/index.d.ts +0 -1
  395. package/table-helpers/services/table.service.d.ts +3 -1
  396. package/table-helpers/table-helpers.module.d.ts +10 -11
  397. package/table-helpers/table.d.ts +2 -1
  398. package/value-help-dialog/directives/value-help-filter-def.directive.d.ts +3 -7
  399. package/value-help-dialog/models/vhd-filter.model.d.ts +8 -2
  400. package/approval-flow/README.md +0 -25
  401. package/button/README.md +0 -25
  402. package/dynamic-page/README.md +0 -25
  403. package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +0 -36
  404. package/feed-input/README.md +0 -25
  405. package/form/README.md +0 -25
  406. package/fundamental-ngx-platform-v0.49.0-rc.9.tgz +0 -0
  407. package/icon-tab-bar/README.md +0 -25
  408. package/info-label/README.md +0 -25
  409. package/link/README.md +0 -25
  410. package/list/README.md +0 -25
  411. package/menu/README.md +0 -25
  412. package/menu-button/README.md +0 -25
  413. package/message-popover/README.md +0 -7
  414. package/object-marker/README.md +0 -25
  415. package/object-status/README.md +0 -25
  416. package/page-footer/README.md +0 -25
  417. package/panel/README.md +0 -25
  418. package/search-field/README.md +0 -25
  419. package/settings-generator/README.md +0 -7
  420. package/shared/README.md +0 -25
  421. package/slider/README.md +0 -25
  422. package/smart-filter-bar/README.md +0 -29
  423. package/split-menu-button/README.md +0 -25
  424. package/table/README.md +0 -25
  425. package/table-helpers/README.md +0 -3
  426. package/table-helpers/directives/table-cell-selectable.directive.d.ts +0 -9
  427. package/value-help-dialog/README.md +0 -25
  428. package/variant-management/README.md +0 -7
  429. package/wizard-generator/README.md +0 -25
@@ -93,10 +93,10 @@ export class ClosableIconTabBar extends IconTabBarBase {
93
93
  }
94
94
  return result;
95
95
  }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClosableIconTabBar, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
97
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: ClosableIconTabBar, outputs: { closeTab: "closeTab" }, usesInheritance: true, ngImport: i0 }); }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ClosableIconTabBar, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
97
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: ClosableIconTabBar, outputs: { closeTab: "closeTab" }, usesInheritance: true, ngImport: i0 }); }
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClosableIconTabBar, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ClosableIconTabBar, decorators: [{
100
100
  type: Directive
101
101
  }], propDecorators: { closeTab: [{
102
102
  type: Output
@@ -4,7 +4,6 @@ import { DOWN_ARROW, ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE, UP_ARROW } from '@an
4
4
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
5
  import { KeyUtil, OverflowListDirective } from '@fundamental-ngx/cdk/utils';
6
6
  import { FD_DYNAMIC_PAGE } from '@fundamental-ngx/core/dynamic-page';
7
- import { cloneDeep } from 'lodash-es';
8
7
  import { ICON_TAB_HIDDEN_CLASS_NAME } from '../constants';
9
8
  import * as i0 from "@angular/core";
10
9
  export class IconTabBarBase {
@@ -146,7 +145,7 @@ export class IconTabBarBase {
146
145
  const extraTabs = [...this._extraTabs$()];
147
146
  deletedItem.index = selectedItem.index;
148
147
  deletedItem.uId = `${deletedItem.index}`;
149
- const itemToPopover = cloneDeep(deletedItem);
148
+ const itemToPopover = { ...deletedItem };
150
149
  deletedItem.hidden = true;
151
150
  deletedItem.cssClasses.push(ICON_TAB_HIDDEN_CLASS_NAME);
152
151
  let indexInExtraItems;
@@ -184,7 +183,7 @@ export class IconTabBarBase {
184
183
  });
185
184
  for (let i = this._lastVisibleTabIndex + 1; i < tabs.length; i++) {
186
185
  const tab = tabs[i];
187
- extraTabs.push(cloneDeep(tab));
186
+ extraTabs.push({ ...tab });
188
187
  tab.hidden = true;
189
188
  tab.cssClasses.push(ICON_TAB_HIDDEN_CLASS_NAME);
190
189
  }
@@ -248,10 +247,10 @@ export class IconTabBarBase {
248
247
  }
249
248
  return activeTab;
250
249
  }
251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
252
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: IconTabBarBase, inputs: { tabs: "tabs", isRtl: "isRtl", colorAssociations: "colorAssociations", densityMode: "densityMode", selectedUid: "selectedUid" }, outputs: { selected: "selected", selectedUidChange: "selectedUidChange" }, viewQueries: [{ propertyName: "overflowDirective", first: true, predicate: OverflowListDirective, descendants: true }, { propertyName: "headerElement", first: true, predicate: ["tablist"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0 }); }
250
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
251
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: IconTabBarBase, inputs: { tabs: "tabs", isRtl: "isRtl", colorAssociations: "colorAssociations", densityMode: "densityMode", selectedUid: "selectedUid" }, outputs: { selected: "selected", selectedUidChange: "selectedUidChange" }, viewQueries: [{ propertyName: "overflowDirective", first: true, predicate: OverflowListDirective, descendants: true }, { propertyName: "headerElement", first: true, predicate: ["tablist"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0 }); }
253
252
  }
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarBase, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarBase, decorators: [{
255
254
  type: Directive
256
255
  }], propDecorators: { tabs: [{
257
256
  type: Input
@@ -274,4 +273,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
274
273
  type: ViewChild,
275
274
  args: ['tablist', { read: ElementRef }]
276
275
  }] } });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLWJhc2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFJTixNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBWSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFRMUQsTUFBTSxPQUFnQixjQUFjO0lBRHBDO1FBVUk7O1dBRUc7UUFFSCxTQUFJLEdBQXFCLEVBQUUsQ0FBQztRQStCNUI7O1dBRUc7UUFFSCxhQUFRLEdBQWlDLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRTVFLGlEQUFpRDtRQUVqRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQVkzRCxjQUFjO1FBQ2QsZ0JBQVcsR0FBRyxNQUFN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O1FBQ2pELElBQUksWUFBWSxFQUFFO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBc0I7UUFDM0MsSUFBSSxTQUFxQyxDQUFDO1FBQzFDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ3BCLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTtnQkFDWixTQUFTLEdBQUcsR0FBRyxDQUFDO2dCQUNoQixNQUFNO2FBQ1Q7aUJBQU0sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO2dCQUNyQixTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDaEQsSUFBSSxTQUFTLEVBQUU7b0JBQ1gsTUFBTTtpQkFDVDthQUNKO1NBQ0o7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOzhHQTNUaUIsY0FBYztrR0FBZCxjQUFjLGtTQXlEckIscUJBQXFCLHNIQUlGLFVBQVU7OzJGQTdEdEIsY0FBYztrQkFEbkMsU0FBUzs4QkFjTixJQUFJO3NCQURILEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQVFOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFPRixXQUFXO3NCQURkLEtBQUs7Z0JBV04sV0FBVztzQkFEVixLQUFLO2dCQU9OLFFBQVE7c0JBRFAsTUFBTTtnQkFLUCxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBT1AsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLHFCQUFxQjtnQkFLaEMsYUFBYTtzQkFEWixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIGlzRGV2TW9kZSxcbiAgICBOZ1pvbmUsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBzaWduYWwsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBET1dOX0FSUk9XLCBFTlRFUiwgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIFNQQUNFLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBLZXlVdGlsLCBOdWxsYWJsZSwgT3ZlcmZsb3dMaXN0RGlyZWN0aXZlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRkRfRFlOQU1JQ19QQUdFIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2R5bmFtaWMtcGFnZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgSUNPTl9UQUJfSElEREVOX0NMQVNTX05BTUUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSWNvblRhYkJhckl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ljb24tdGFiLWJhci1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJDb2xvckFzc29jaWF0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFiLWNvbG9yLWFzc29jaWF0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGFiRGVzdGlueU1vZGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBJY29uVGFiQmFyUG9wb3ZlckJhc2UgfSBmcm9tICcuL3BvcG92ZXJzL2ljb24tdGFiLWJhci1wb3BvdmVyLWJhc2UuY2xhc3MnO1xuaW1wb3J0IHsgVGV4dFR5cGVQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVycy90ZXh0LXR5cGUtcG9wb3Zlci90ZXh0LXR5cGUtcG9wb3Zlci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJY29uVGFiQmFyQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0IG9mIHRhYiBlbGVtZW50cywgdGhhdCBjYW4gcmVjZWl2ZSBmb2N1cy5cbiAgICAgKiBUaGVyZSdzIGEgc2VwYXJhdGUgbWFwcGluZyBmdW5jdGlvbiB0byBnZXQgYWN0dWFsIGh0bWwgZWxlbWVudDogYF9nZXRUYWJVSUVsZW1lbnRGb2N1c2FibGVgXG4gICAgICovXG4gICAgYWJzdHJhY3QgX3RhYlVJRWxlbWVudHM6IFF1ZXJ5TGlzdDx1bmtub3duPjtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFic3RyYWN0IF90YWJCYXJQb3BvdmVyOiBJY29uVGFiQmFyUG9wb3ZlckJhc2U7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEEgdGFiIGJhciBjb25maWd1cmF0aW9uIHRoYXQgc3RvcmVzIHRoZSBzdGF0ZSBvZiBlYWNoIHRhYi4gQmFzZWQgb24gdGhpcyBjb25maWd1cmF0aW9uLCBhIHRhYiBiYXIgaXMgcmVwcmVzZW50aW5nLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFiczogSWNvblRhYkJhckl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEZsYWcgcmVwcmVzZW50aW5nIHJ0bCBtb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc1J0bDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBc3NvY2lhdGlvbnMgZm9yIGNvbG9ycyBvZiB0aGUgdGFicy5cbiAgICAgKiBJZiBhbnkgb2YgdGhlIGNvbG9yIGFzc29jaWF0aW9ucyBwcm92aWRlZCwgdGhleSdsbCBiZSByZWFkIGJ5IHNjcmVlbnJlYWRlciBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgY29sb3JcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbG9yQXNzb2NpYXRpb25zOiBUYWJDb2xvckFzc29jaWF0aW9ucztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBkZW5zaXR5TW9kZSBzZXR0ZXIgdHJpZ2dlcnMgdGFicyB0byByZS1jYWxjdWxhdGlvbiBvdmVyZmxvd2VkIHRhYnNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBkZW5zaXR5TW9kZSh2YWx1ZTogVGFiRGVzdGlueU1vZGUpIHtcbiAgICAgICAgLy8gU2tpcCBmaXJzdCB2YWx1ZSAmJiB2YWx1ZSBkb2Vzbid0IGVxdWFsIHRvIHByZXZpb3VzIG9uZVxuICAgICAgICBpZiAodGhpcy5fZGVuc2l0eU1vZGUgJiYgdmFsdWUgIT09IHRoaXMuX2RlbnNpdHlNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2RlbnNpdHlNb2RlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEN1cnJlbnRseSBzZWxlY3RlZCB0YWIgVW5pcXVlIElELiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0ZWRVaWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0cyB3aGVuIHNvbWUgdGFiIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8SWNvblRhYkJhckl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxJY29uVGFiQmFySXRlbT4oKTtcblxuICAgIC8qKiBFbWl0cyB3aGVuIHNlbGVjdGVkIHRhYiBVbmlxdWUgSUQgY2hhbmdlcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWxlY3RlZFVpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jZSB0byBPdmVyZmxvd0xpc3REaXJlY3RpdmVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKE92ZXJmbG93TGlzdERpcmVjdGl2ZSlcbiAgICBvdmVyZmxvd0RpcmVjdGl2ZTogT3ZlcmZsb3dMaXN0RGlyZWN0aXZlO1xuXG4gICAgLyoqIEhlYWRlciBlbGVtZW50IHJlZmVyZW5jZS4gKi9cbiAgICBAVmlld0NoaWxkKCd0YWJsaXN0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgaGVhZGVyRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9leHRyYVRhYnMkID0gc2lnbmFsPEljb25UYWJCYXJJdGVtW10+KFtdKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2xhc3RWaXNpYmxlVGFiSW5kZXg6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2V4dHJhSXRlbXMkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2luRHluYW1pY1BhZ2UgPSAhIWluamVjdChGRF9EWU5BTUlDX1BBR0UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgLyoqIEBIaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX25nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZW5zaXR5TW9kZTogVGFiRGVzdGlueU1vZGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3llZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRhYnMgJiYgIWNoYW5nZXMudGFicy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5faW5pdFRhYnMoKTtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJSZWNhbGN1bGF0aW9uVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuaXNSdGwgJiYgIWNoYW5nZXMuaXNSdGwuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJSZWNhbGN1bGF0aW9uVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZFVpZCAmJiAhY2hhbmdlcy5zZWxlY3RlZFVpZC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgaXNFeHRyYVRhYiA9IHRoaXMuX2V4dHJhVGFicyQoKS5maW5kKCh0YWIpID0+IHRhYi51SWQgPT09IHRoaXMuc2VsZWN0ZWRVaWQpO1xuICAgICAgICAgICAgaWYgKGlzRXh0cmFUYWIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RFeHRyYUl0ZW0oaXNFeHRyYVRhYik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0VGFicygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3llZCA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1cbiAgICAgKiBAcGFyYW0gZXZlbnRcbiAgICAgKi9cbiAgICBfc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW06IEljb25UYWJCYXJJdGVtLCBldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVpZCA9IHNlbGVjdGVkSXRlbS51SWQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVaWRDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkVWlkKTtcbiAgICAgICAgc2VsZWN0ZWRJdGVtLmJhZGdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChzZWxlY3RlZEl0ZW0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2tleURvd25IYW5kbGVyKFxuICAgICAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICAgICAgdGFiOiBJY29uVGFiQmFySXRlbSB8IHVuZGVmaW5lZCxcbiAgICAgICAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gICAgICAgIHBvcG92ZXI/OiBUZXh0VHlwZVBvcG92ZXJDb21wb25lbnRcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKHRhYiAmJiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1NQQUNFLCBFTlRFUl0pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0SXRlbSh0YWIpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbUklHSFRfQVJST1csIERPV05fQVJST1ddKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRE9XTl9BUlJPVykgJiYgdGFiPy5zdWJJdGVtcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcG9wb3Zlcj8uX29wZW5Qb3BvdmVyKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pc1J0bCA/IHRoaXMuX2ZvY3VzUHJldmlvdXNJdGVtKGN1cnJlbnRJbmRleCkgOiB0aGlzLl9mb2N1c05leHRJdGVtKGN1cnJlbnRJbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtMRUZUX0FSUk9XLCBVUF9BUlJPV10pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5pc1J0bCA/IHRoaXMuX2ZvY3VzTmV4dEl0ZW0oY3VycmVudEluZGV4KSA6IHRoaXMuX2ZvY3VzUHJldmlvdXNJdGVtKGN1cnJlbnRJbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBmb2N1c2VzIG5leHQgdGFiICovXG4gICAgX2ZvY3VzTmV4dEl0ZW0oY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV4dEluZGV4ID0gY3VycmVudEluZGV4ID09PSB0aGlzLnRhYnMubGVuZ3RoIC0gMSA/IDAgOiBjdXJyZW50SW5kZXggKyAxO1xuICAgICAgICB0aGlzLl9mb2N1c0l0ZW0obmV4dEluZGV4KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBmb2N1c2VzIHByZXZpb3VzIHRhYiAqL1xuICAgIF9mb2N1c1ByZXZpb3VzSXRlbShjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAvLyBpZiBjdXJyZW50IGZvY3VzZWQgZWxlbWVudCBpcyBmaXJzdCwgZm9jdXMgdGhlIGxhc3Qgb25lLiBJZiB0YWJzIGFyZSBvdmVyZmxvd2VkLCBmb2N1cyB0aGUgbGFzdCB0YWIgaW4gdGhlIHBvcG92ZXJcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzSXRlbSh0aGlzLnRhYnMubGVuZ3RoIC0gMSwgdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c0l0ZW0oY3VycmVudEluZGV4IC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIHRhYkluZGV4IGluZGV4IG9mIHRoZSB0YWIgdG8gYXBwbHkgZm9jdXNcbiAgICAgKiBAcGFyYW0gZm9jdXNMYXN0IHdoZXRoZXIgdG8gZm9jdXMgZmlyc3Qgb3IgbGFzdCBpdGVtIGluIHRoZSBwb3BvdmVyXG4gICAgICovXG4gICAgX2ZvY3VzSXRlbSh0YWJJbmRleDogbnVtYmVyLCBmb2N1c0xhc3QgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGFiSW5kZXggPiB0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLl90YWJCYXJQb3BvdmVyLl9vcGVuUG9wb3Zlcihmb2N1c0xhc3QpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaXRlbVRvRm9jdXMgPSB0aGlzLl9nZXRUYWJVSUVsZW1lbnRGb2N1c2FibGUodGhpcy5fdGFiVUlFbGVtZW50cy5nZXQodGFiSW5kZXgpKTtcbiAgICAgICAgICAgIGl0ZW1Ub0ZvY3VzPy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1cbiAgICAgKiBAZGVzY3JpcHRpb24gc2VsZWN0IGV4dHJhIGl0ZW0gaW5zaWRlIHBvcG92ZXJcbiAgICAgKi9cbiAgICBfc2VsZWN0RXh0cmFJdGVtKHNlbGVjdGVkSXRlbTogSWNvblRhYkJhckl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFicyA9IFsuLi50aGlzLnRhYnNdO1xuICAgICAgICBjb25zdCBkZWxldGVkSXRlbSA9IHRhYnMuc3BsaWNlKHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXgsIDEsIHNlbGVjdGVkSXRlbSlbMF0gYXMgSWNvblRhYkJhckl0ZW07XG4gICAgICAgIHRhYnMuc3BsaWNlKHNlbGVjdGVkSXRlbS5pbmRleCwgMSwgZGVsZXRlZEl0ZW0pO1xuICAgICAgICB0aGlzLnRhYnMgPSB0YWJzO1xuICAgICAgICBjb25zdCBleHRyYVRhYnMgPSBbLi4udGhpcy5fZXh0cmFUYWJzJCgpXTtcblxuICAgICAgICBkZWxldGVkSXRlbS5pbmRleCA9IHNlbGVjdGVkSXRlbS5pbmRleDtcbiAgICAgICAgZGVsZXRlZEl0ZW0udUlkID0gYCR7ZGVsZXRlZEl0ZW0uaW5kZXh9YDtcbiAgICAgICAgY29uc3QgaXRlbVRvUG9wb3ZlciA9IGNsb25lRGVlcChkZWxldGVkSXRlbSk7XG4gICAgICAgIGRlbGV0ZWRJdGVtLmhpZGRlbiA9IHRydWU7XG4gICAgICAgIGRlbGV0ZWRJdGVtLmNzc0NsYXNzZXMucHVzaChJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG5cbiAgICAgICAgbGV0IGluZGV4SW5FeHRyYUl0ZW1zO1xuICAgICAgICB0aGlzLl9leHRyYVRhYnMkKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmluZGV4ID09PSBzZWxlY3RlZEl0ZW0uaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBpbmRleEluRXh0cmFJdGVtcyA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBzZWxlY3RlZEl0ZW0uaW5kZXggPSB0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4O1xuICAgICAgICBzZWxlY3RlZEl0ZW0udUlkID0gYCR7c2VsZWN0ZWRJdGVtLmluZGV4fWA7XG4gICAgICAgIHNlbGVjdGVkSXRlbS5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbS5jb2xvcikge1xuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtLmNzc0NsYXNzZXMgPSBbYGZkLWljb24tdGFiLWJhcl9faXRlbS0tJHtzZWxlY3RlZEl0ZW0uY29sb3J9YF07XG4gICAgICAgIH1cbiAgICAgICAgZXh0cmFUYWJzLnNwbGljZShpbmRleEluRXh0cmFJdGVtcywgMSwgaXRlbVRvUG9wb3Zlcik7XG4gICAgICAgIHRoaXMuX2V4dHJhVGFicyQuc2V0KGV4dHJhVGFicyk7XG5cbiAgICAgICAgdGhpcy5fc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW0pO1xuICAgICAgICB0aGlzLl90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpO1xuICAgICAgICB0aGlzLl9mb2N1c0l0ZW0odGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBleHRyYUl0ZW1zXG4gICAgICogQGRlc2NyaXB0aW9uIHJlY2FsY3VsYXRlIF9uZXh0U3RlcHMgYW5kIF9wcmV2U3RlcHMgYXJyYXkgaWYgd2UgaGF2ZSBleHRyYSBpdGVtc1xuICAgICAqL1xuICAgIF9yZWNhbGN1bGF0ZVZpc2libGVJdGVtcyhleHRyYUl0ZW1zOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXh0cmFJdGVtcyQuc2V0KGV4dHJhSXRlbXMgPiAwKTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBjb25zdCB0YWJzID0gWy4uLnRoaXMudGFic107XG4gICAgICAgIGNvbnN0IGV4dHJhVGFiczogSWNvblRhYkJhckl0ZW1bXSA9IFtdO1xuICAgICAgICB0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4ID0gdGFicy5sZW5ndGggLSAxIC0gZXh0cmFJdGVtcztcbiAgICAgICAgdGFicy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgaXRlbS5jc3NDbGFzc2VzID0gaXRlbS5jc3NDbGFzc2VzLmZpbHRlcigoY3NzQ2xhc3MpID0+IGNzc0NsYXNzICE9PSBJQ09OX1RBQl9ISURERU5fQ0xBU1NfTkFNRSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSB0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4ICsgMTsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHRhYiA9IHRhYnNbaV07XG4gICAgICAgICAgICBleHRyYVRhYnMucHVzaChjbG9uZURlZXAodGFiKSk7XG4gICAgICAgICAgICB0YWIuaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRhYi5jc3NDbGFzc2VzLnB1c2goSUNPTl9UQUJfSElEREVOX0NMQVNTX05BTUUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2V4dHJhVGFicyQuc2V0KGV4dHJhVGFicyk7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTWFwcGluZyBmdW5jdGlvbiB0byByZXNvbHZlIFVJIHRhYiBlbGVtZW50IHRvIGl0J3MgZm9jdXNhYmxlIHBhcnQvZGVzY2VuZGFudFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfZ2V0VGFiVUlFbGVtZW50Rm9jdXNhYmxlKHRhYlVJRWxlbWVudDogdW5rbm93bik6IE51bGxhYmxlPEhUTUxFbGVtZW50PiB7XG4gICAgICAgIGlmICh0YWJVSUVsZW1lbnQgJiYgdHlwZW9mIHRhYlVJRWxlbWVudCA9PT0gJ29iamVjdCcgJiYgJ25hdGl2ZUVsZW1lbnQnIGluIHRhYlVJRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKCg8RWxlbWVudFJlZj50YWJVSUVsZW1lbnQpLm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PnRhYlVJRWxlbWVudCkubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignRmFpbGVkIHRvIGdldCBmb2N1c2FibGUgdGFiIGVsZW1lbnQnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGRlc2NyaXB0aW9uIHRyaWdnZXIgcmVjYWxjdWxhdGlvbiBpdGVtcywgbmVlZCB0byBkbyBpdCBhc3luY2hyb25vdXNseSBhZnRlciBkb20gd2FzIHJlcmVuZGVyZWRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3RyaWdnZXJSZWNhbGN1bGF0aW9uVmlzaWJsZUl0ZW1zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9uZ1pvbmUub25NaWNyb3Rhc2tFbXB0eS5waXBlKHRha2UoMSksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm92ZXJmbG93RGlyZWN0aXZlICYmICF0aGlzLl9kZXN0cm95ZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRyYSA9IHRoaXMub3ZlcmZsb3dEaXJlY3RpdmUuZ2V0QW1vdW50T2ZFeHRyYUl0ZW1zKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVjYWxjdWxhdGVWaXNpYmxlSXRlbXMoZXh0cmEpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBkZXNjcmlwdGlvbiBpbml0aWFsaXplIHN0YXRlIG9mIHRhYnNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2luaXRUYWJzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLl9maW5kQWN0aXZlVGFiSWQodGhpcy50YWJzKSB8fCB0aGlzLnRhYnNbMF07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBzZWxlY3RlZEl0ZW0/LnVJZDtcbiAgICAgICAgdGhpcy5fbGFzdFZpc2libGVUYWJJbmRleCA9IHRoaXMudGFicy5sZW5ndGggLSAxO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVWlkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFVpZCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkLmVtaXQoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2ZpbmRBY3RpdmVUYWJJZCh0YWJzOiBJY29uVGFiQmFySXRlbVtdKTogSWNvblRhYkJhckl0ZW0gfCB1bmRlZmluZWQge1xuICAgICAgICBsZXQgYWN0aXZlVGFiOiBJY29uVGFiQmFySXRlbSB8IHVuZGVmaW5lZDtcbiAgICAgICAgZm9yIChjb25zdCB0YWIgb2YgdGFicykge1xuICAgICAgICAgICAgaWYgKHRhYi5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVUYWIgPSB0YWI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRhYi5zdWJJdGVtcykge1xuICAgICAgICAgICAgICAgIGFjdGl2ZVRhYiA9IHRoaXMuX2ZpbmRBY3RpdmVUYWJJZCh0YWIuc3ViSXRlbXMpO1xuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVUYWIpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjdGl2ZVRhYjtcbiAgICB9XG59XG4iXX0=
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLWJhc2UuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL2ljb24tdGFiLWJhci1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFJTixNQUFNLEVBRU4sTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBWSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBUTFELE1BQU0sT0FBZ0IsY0FBYztJQURwQztRQVVJOztXQUVHO1FBRUgsU0FBSSxHQUFxQixFQUFFLENBQUM7UUErQjVCOztXQUVHO1FBRUgsYUFBUSxHQUFpQyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUU1RSxpREFBaUQ7UUFFakQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFZM0QsY0FBYztRQUNkLGdCQUFXLEdBQUcsTUFBTSxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUszQyxjQUFjO1FBQ2QsaUJB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aUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQXNCO1FBQzNDLElBQUksU0FBcUMsQ0FBQztRQUMxQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtZQUNwQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ1osU0FBUyxHQUFHLEdBQUcsQ0FBQztnQkFDaEIsTUFBTTthQUNUO2lCQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRTtnQkFDckIsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hELElBQUksU0FBUyxFQUFFO29CQUNYLE1BQU07aUJBQ1Q7YUFDSjtTQUNKO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQzs4R0EzVGlCLGNBQWM7a0dBQWQsY0FBYyxrU0F5RHJCLHFCQUFxQixzSEFJRixVQUFVOzsyRkE3RHRCLGNBQWM7a0JBRG5DLFNBQVM7OEJBY04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLEtBQUs7c0JBREosS0FBSztnQkFRTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBT0YsV0FBVztzQkFEZCxLQUFLO2dCQVdOLFdBQVc7c0JBRFYsS0FBSztnQkFPTixRQUFRO3NCQURQLE1BQU07Z0JBS1AsaUJBQWlCO3NCQURoQixNQUFNO2dCQU9QLGlCQUFpQjtzQkFEaEIsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBS2hDLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBpc0Rldk1vZGUsXG4gICAgTmdab25lLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgc2lnbmFsLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgS2V5VXRpbCwgTnVsbGFibGUsIE92ZXJmbG93TGlzdERpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEZEX0RZTkFNSUNfUEFHRSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9keW5hbWljLXBhZ2UnO1xuaW1wb3J0IHsgSUNPTl9UQUJfSElEREVOX0NMQVNTX05BTUUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSWNvblRhYkJhckl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ljb24tdGFiLWJhci1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJDb2xvckFzc29jaWF0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvdGFiLWNvbG9yLWFzc29jaWF0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGFiRGVzdGlueU1vZGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBJY29uVGFiQmFyUG9wb3ZlckJhc2UgfSBmcm9tICcuL3BvcG92ZXJzL2ljb24tdGFiLWJhci1wb3BvdmVyLWJhc2UuY2xhc3MnO1xuaW1wb3J0IHsgVGV4dFR5cGVQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVycy90ZXh0LXR5cGUtcG9wb3Zlci90ZXh0LXR5cGUtcG9wb3Zlci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJY29uVGFiQmFyQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBMaXN0IG9mIHRhYiBlbGVtZW50cywgdGhhdCBjYW4gcmVjZWl2ZSBmb2N1cy5cbiAgICAgKiBUaGVyZSdzIGEgc2VwYXJhdGUgbWFwcGluZyBmdW5jdGlvbiB0byBnZXQgYWN0dWFsIGh0bWwgZWxlbWVudDogYF9nZXRUYWJVSUVsZW1lbnRGb2N1c2FibGVgXG4gICAgICovXG4gICAgYWJzdHJhY3QgX3RhYlVJRWxlbWVudHM6IFF1ZXJ5TGlzdDx1bmtub3duPjtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGFic3RyYWN0IF90YWJCYXJQb3BvdmVyOiBJY29uVGFiQmFyUG9wb3ZlckJhc2U7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEEgdGFiIGJhciBjb25maWd1cmF0aW9uIHRoYXQgc3RvcmVzIHRoZSBzdGF0ZSBvZiBlYWNoIHRhYi4gQmFzZWQgb24gdGhpcyBjb25maWd1cmF0aW9uLCBhIHRhYiBiYXIgaXMgcmVwcmVzZW50aW5nLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFiczogSWNvblRhYkJhckl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEZsYWcgcmVwcmVzZW50aW5nIHJ0bCBtb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc1J0bDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBc3NvY2lhdGlvbnMgZm9yIGNvbG9ycyBvZiB0aGUgdGFicy5cbiAgICAgKiBJZiBhbnkgb2YgdGhlIGNvbG9yIGFzc29jaWF0aW9ucyBwcm92aWRlZCwgdGhleSdsbCBiZSByZWFkIGJ5IHNjcmVlbnJlYWRlciBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgY29sb3JcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbG9yQXNzb2NpYXRpb25zOiBUYWJDb2xvckFzc29jaWF0aW9ucztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBkZW5zaXR5TW9kZSBzZXR0ZXIgdHJpZ2dlcnMgdGFicyB0byByZS1jYWxjdWxhdGlvbiBvdmVyZmxvd2VkIHRhYnNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBkZW5zaXR5TW9kZSh2YWx1ZTogVGFiRGVzdGlueU1vZGUpIHtcbiAgICAgICAgLy8gU2tpcCBmaXJzdCB2YWx1ZSAmJiB2YWx1ZSBkb2Vzbid0IGVxdWFsIHRvIHByZXZpb3VzIG9uZVxuICAgICAgICBpZiAodGhpcy5fZGVuc2l0eU1vZGUgJiYgdmFsdWUgIT09IHRoaXMuX2RlbnNpdHlNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2RlbnNpdHlNb2RlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEN1cnJlbnRseSBzZWxlY3RlZCB0YWIgVW5pcXVlIElELiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0ZWRVaWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0cyB3aGVuIHNvbWUgdGFiIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8SWNvblRhYkJhckl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxJY29uVGFiQmFySXRlbT4oKTtcblxuICAgIC8qKiBFbWl0cyB3aGVuIHNlbGVjdGVkIHRhYiBVbmlxdWUgSUQgY2hhbmdlcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWxlY3RlZFVpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jZSB0byBPdmVyZmxvd0xpc3REaXJlY3RpdmVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKE92ZXJmbG93TGlzdERpcmVjdGl2ZSlcbiAgICBvdmVyZmxvd0RpcmVjdGl2ZTogT3ZlcmZsb3dMaXN0RGlyZWN0aXZlO1xuXG4gICAgLyoqIEhlYWRlciBlbGVtZW50IHJlZmVyZW5jZS4gKi9cbiAgICBAVmlld0NoaWxkKCd0YWJsaXN0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICAgaGVhZGVyRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9leHRyYVRhYnMkID0gc2lnbmFsPEljb25UYWJCYXJJdGVtW10+KFtdKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2xhc3RWaXNpYmxlVGFiSW5kZXg6IG51bWJlcjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2V4dHJhSXRlbXMkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX2luRHluYW1pY1BhZ2UgPSAhIWluamVjdChGRF9EWU5BTUlDX1BBR0UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgLyoqIEBIaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX25nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZW5zaXR5TW9kZTogVGFiRGVzdGlueU1vZGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3llZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnRhYnMgJiYgIWNoYW5nZXMudGFicy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5faW5pdFRhYnMoKTtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJSZWNhbGN1bGF0aW9uVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuaXNSdGwgJiYgIWNoYW5nZXMuaXNSdGwuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJSZWNhbGN1bGF0aW9uVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZFVpZCAmJiAhY2hhbmdlcy5zZWxlY3RlZFVpZC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgY29uc3QgaXNFeHRyYVRhYiA9IHRoaXMuX2V4dHJhVGFicyQoKS5maW5kKCh0YWIpID0+IHRhYi51SWQgPT09IHRoaXMuc2VsZWN0ZWRVaWQpO1xuICAgICAgICAgICAgaWYgKGlzRXh0cmFUYWIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RFeHRyYUl0ZW0oaXNFeHRyYVRhYik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0VGFicygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3llZCA9IHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1cbiAgICAgKiBAcGFyYW0gZXZlbnRcbiAgICAgKi9cbiAgICBfc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW06IEljb25UYWJCYXJJdGVtLCBldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVpZCA9IHNlbGVjdGVkSXRlbS51SWQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRVaWRDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkVWlkKTtcbiAgICAgICAgc2VsZWN0ZWRJdGVtLmJhZGdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChzZWxlY3RlZEl0ZW0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2tleURvd25IYW5kbGVyKFxuICAgICAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICAgICAgdGFiOiBJY29uVGFiQmFySXRlbSB8IHVuZGVmaW5lZCxcbiAgICAgICAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gICAgICAgIHBvcG92ZXI/OiBUZXh0VHlwZVBvcG92ZXJDb21wb25lbnRcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKHRhYiAmJiBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1NQQUNFLCBFTlRFUl0pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0SXRlbSh0YWIpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbUklHSFRfQVJST1csIERPV05fQVJST1ddKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgRE9XTl9BUlJPVykgJiYgdGFiPy5zdWJJdGVtcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcG9wb3Zlcj8uX29wZW5Qb3BvdmVyKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pc1J0bCA/IHRoaXMuX2ZvY3VzUHJldmlvdXNJdGVtKGN1cnJlbnRJbmRleCkgOiB0aGlzLl9mb2N1c05leHRJdGVtKGN1cnJlbnRJbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtMRUZUX0FSUk9XLCBVUF9BUlJPV10pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5pc1J0bCA/IHRoaXMuX2ZvY3VzTmV4dEl0ZW0oY3VycmVudEluZGV4KSA6IHRoaXMuX2ZvY3VzUHJldmlvdXNJdGVtKGN1cnJlbnRJbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBmb2N1c2VzIG5leHQgdGFiICovXG4gICAgX2ZvY3VzTmV4dEl0ZW0oY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV4dEluZGV4ID0gY3VycmVudEluZGV4ID09PSB0aGlzLnRhYnMubGVuZ3RoIC0gMSA/IDAgOiBjdXJyZW50SW5kZXggKyAxO1xuICAgICAgICB0aGlzLl9mb2N1c0l0ZW0obmV4dEluZGV4KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBmb2N1c2VzIHByZXZpb3VzIHRhYiAqL1xuICAgIF9mb2N1c1ByZXZpb3VzSXRlbShjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAvLyBpZiBjdXJyZW50IGZvY3VzZWQgZWxlbWVudCBpcyBmaXJzdCwgZm9jdXMgdGhlIGxhc3Qgb25lLiBJZiB0YWJzIGFyZSBvdmVyZmxvd2VkLCBmb2N1cyB0aGUgbGFzdCB0YWIgaW4gdGhlIHBvcG92ZXJcbiAgICAgICAgICAgIHRoaXMuX2ZvY3VzSXRlbSh0aGlzLnRhYnMubGVuZ3RoIC0gMSwgdHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c0l0ZW0oY3VycmVudEluZGV4IC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIHRhYkluZGV4IGluZGV4IG9mIHRoZSB0YWIgdG8gYXBwbHkgZm9jdXNcbiAgICAgKiBAcGFyYW0gZm9jdXNMYXN0IHdoZXRoZXIgdG8gZm9jdXMgZmlyc3Qgb3IgbGFzdCBpdGVtIGluIHRoZSBwb3BvdmVyXG4gICAgICovXG4gICAgX2ZvY3VzSXRlbSh0YWJJbmRleDogbnVtYmVyLCBmb2N1c0xhc3QgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGFiSW5kZXggPiB0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLl90YWJCYXJQb3BvdmVyLl9vcGVuUG9wb3Zlcihmb2N1c0xhc3QpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaXRlbVRvRm9jdXMgPSB0aGlzLl9nZXRUYWJVSUVsZW1lbnRGb2N1c2FibGUodGhpcy5fdGFiVUlFbGVtZW50cy5nZXQodGFiSW5kZXgpKTtcbiAgICAgICAgICAgIGl0ZW1Ub0ZvY3VzPy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1cbiAgICAgKiBAZGVzY3JpcHRpb24gc2VsZWN0IGV4dHJhIGl0ZW0gaW5zaWRlIHBvcG92ZXJcbiAgICAgKi9cbiAgICBfc2VsZWN0RXh0cmFJdGVtKHNlbGVjdGVkSXRlbTogSWNvblRhYkJhckl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFicyA9IFsuLi50aGlzLnRhYnNdO1xuICAgICAgICBjb25zdCBkZWxldGVkSXRlbSA9IHRhYnMuc3BsaWNlKHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXgsIDEsIHNlbGVjdGVkSXRlbSlbMF0gYXMgSWNvblRhYkJhckl0ZW07XG4gICAgICAgIHRhYnMuc3BsaWNlKHNlbGVjdGVkSXRlbS5pbmRleCwgMSwgZGVsZXRlZEl0ZW0pO1xuICAgICAgICB0aGlzLnRhYnMgPSB0YWJzO1xuICAgICAgICBjb25zdCBleHRyYVRhYnMgPSBbLi4udGhpcy5fZXh0cmFUYWJzJCgpXTtcblxuICAgICAgICBkZWxldGVkSXRlbS5pbmRleCA9IHNlbGVjdGVkSXRlbS5pbmRleDtcbiAgICAgICAgZGVsZXRlZEl0ZW0udUlkID0gYCR7ZGVsZXRlZEl0ZW0uaW5kZXh9YDtcbiAgICAgICAgY29uc3QgaXRlbVRvUG9wb3ZlciA9IHsgLi4uZGVsZXRlZEl0ZW0gfTtcbiAgICAgICAgZGVsZXRlZEl0ZW0uaGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgZGVsZXRlZEl0ZW0uY3NzQ2xhc3Nlcy5wdXNoKElDT05fVEFCX0hJRERFTl9DTEFTU19OQU1FKTtcblxuICAgICAgICBsZXQgaW5kZXhJbkV4dHJhSXRlbXM7XG4gICAgICAgIHRoaXMuX2V4dHJhVGFicyQoKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uaW5kZXggPT09IHNlbGVjdGVkSXRlbS5pbmRleCkge1xuICAgICAgICAgICAgICAgIGluZGV4SW5FeHRyYUl0ZW1zID0gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNlbGVjdGVkSXRlbS5pbmRleCA9IHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXg7XG4gICAgICAgIHNlbGVjdGVkSXRlbS51SWQgPSBgJHtzZWxlY3RlZEl0ZW0uaW5kZXh9YDtcbiAgICAgICAgc2VsZWN0ZWRJdGVtLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtLmNvbG9yKSB7XG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW0uY3NzQ2xhc3NlcyA9IFtgZmQtaWNvbi10YWItYmFyX19pdGVtLS0ke3NlbGVjdGVkSXRlbS5jb2xvcn1gXTtcbiAgICAgICAgfVxuICAgICAgICBleHRyYVRhYnMuc3BsaWNlKGluZGV4SW5FeHRyYUl0ZW1zLCAxLCBpdGVtVG9Qb3BvdmVyKTtcbiAgICAgICAgdGhpcy5fZXh0cmFUYWJzJC5zZXQoZXh0cmFUYWJzKTtcblxuICAgICAgICB0aGlzLl9zZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXJSZWNhbGN1bGF0aW9uVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgIHRoaXMuX2ZvY3VzSXRlbSh0aGlzLl9sYXN0VmlzaWJsZVRhYkluZGV4KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGV4dHJhSXRlbXNcbiAgICAgKiBAZGVzY3JpcHRpb24gcmVjYWxjdWxhdGUgX25leHRTdGVwcyBhbmQgX3ByZXZTdGVwcyBhcnJheSBpZiB3ZSBoYXZlIGV4dHJhIGl0ZW1zXG4gICAgICovXG4gICAgX3JlY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKGV4dHJhSXRlbXM6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9leHRyYUl0ZW1zJC5zZXQoZXh0cmFJdGVtcyA+IDApO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIGNvbnN0IHRhYnMgPSBbLi4udGhpcy50YWJzXTtcbiAgICAgICAgY29uc3QgZXh0cmFUYWJzOiBJY29uVGFiQmFySXRlbVtdID0gW107XG4gICAgICAgIHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXggPSB0YWJzLmxlbmd0aCAtIDEgLSBleHRyYUl0ZW1zO1xuICAgICAgICB0YWJzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtLmNzc0NsYXNzZXMgPSBpdGVtLmNzc0NsYXNzZXMuZmlsdGVyKChjc3NDbGFzcykgPT4gY3NzQ2xhc3MgIT09IElDT05fVEFCX0hJRERFTl9DTEFTU19OQU1FKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXggKyAxOyBpIDwgdGFicy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdGFiID0gdGFic1tpXTtcbiAgICAgICAgICAgIGV4dHJhVGFicy5wdXNoKHsgLi4udGFiIH0pO1xuICAgICAgICAgICAgdGFiLmhpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB0YWIuY3NzQ2xhc3Nlcy5wdXNoKElDT05fVEFCX0hJRERFTl9DTEFTU19OQU1FKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9leHRyYVRhYnMkLnNldChleHRyYVRhYnMpO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1hcHBpbmcgZnVuY3Rpb24gdG8gcmVzb2x2ZSBVSSB0YWIgZWxlbWVudCB0byBpdCdzIGZvY3VzYWJsZSBwYXJ0L2Rlc2NlbmRhbnRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2dldFRhYlVJRWxlbWVudEZvY3VzYWJsZSh0YWJVSUVsZW1lbnQ6IHVua25vd24pOiBOdWxsYWJsZTxIVE1MRWxlbWVudD4ge1xuICAgICAgICBpZiAodGFiVUlFbGVtZW50ICYmIHR5cGVvZiB0YWJVSUVsZW1lbnQgPT09ICdvYmplY3QnICYmICduYXRpdmVFbGVtZW50JyBpbiB0YWJVSUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmICgoPEVsZW1lbnRSZWY+dGFiVUlFbGVtZW50KS5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj50YWJVSUVsZW1lbnQpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBnZXQgZm9jdXNhYmxlIHRhYiBlbGVtZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBkZXNjcmlwdGlvbiB0cmlnZ2VyIHJlY2FsY3VsYXRpb24gaXRlbXMsIG5lZWQgdG8gZG8gaXQgYXN5bmNocm9ub3VzbHkgYWZ0ZXIgZG9tIHdhcyByZXJlbmRlcmVkXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90cmlnZ2VyUmVjYWxjdWxhdGlvblZpc2libGVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmdab25lLm9uTWljcm90YXNrRW1wdHkucGlwZSh0YWtlKDEpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5vdmVyZmxvd0RpcmVjdGl2ZSAmJiAhdGhpcy5fZGVzdHJveWVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXh0cmEgPSB0aGlzLm92ZXJmbG93RGlyZWN0aXZlLmdldEFtb3VudE9mRXh0cmFJdGVtcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKGV4dHJhKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAZGVzY3JpcHRpb24gaW5pdGlhbGl6ZSBzdGF0ZSBvZiB0YWJzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9pbml0VGFicygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5fZmluZEFjdGl2ZVRhYklkKHRoaXMudGFicykgfHwgdGhpcy50YWJzWzBdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVWlkID0gc2VsZWN0ZWRJdGVtPy51SWQ7XG4gICAgICAgIHRoaXMuX2xhc3RWaXNpYmxlVGFiSW5kZXggPSB0aGlzLnRhYnMubGVuZ3RoIC0gMTtcbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFVpZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRVaWQpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9maW5kQWN0aXZlVGFiSWQodGFiczogSWNvblRhYkJhckl0ZW1bXSk6IEljb25UYWJCYXJJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgbGV0IGFjdGl2ZVRhYjogSWNvblRhYkJhckl0ZW0gfCB1bmRlZmluZWQ7XG4gICAgICAgIGZvciAoY29uc3QgdGFiIG9mIHRhYnMpIHtcbiAgICAgICAgICAgIGlmICh0YWIuYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlVGFiID0gdGFiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0YWIuc3ViSXRlbXMpIHtcbiAgICAgICAgICAgICAgICBhY3RpdmVUYWIgPSB0aGlzLl9maW5kQWN0aXZlVGFiSWQodGFiLnN1Ykl0ZW1zKTtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlVGFiKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY3RpdmVUYWI7XG4gICAgfVxufVxuIl19
@@ -23,15 +23,15 @@ export class IconTabBarFilterTypeComponent extends ClosableIconTabBar {
23
23
  super._initTabs();
24
24
  this._totalTab = this.showTotalTab ? this.tabs[0] : undefined;
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarFilterTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: IconTabBarFilterTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-filter-type", inputs: { showTotalTab: "showTotalTab" }, providers: [
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarFilterTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: IconTabBarFilterTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-filter-type", inputs: { showTotalTab: "showTotalTab" }, providers: [
28
28
  {
29
29
  provide: IconTabBarBase,
30
30
  useExisting: IconTabBarFilterTypeComponent
31
31
  }
32
32
  ], viewQueries: [{ propertyName: "_tabBarPopover", first: true, predicate: IconTabBarPopoverComponent, descendants: true }, { propertyName: "_tabUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul\n class=\"fd-icon-tab-bar__header\"\n [class.fd-dynamic-page__tabs]=\"_inDynamicPage\"\n role=\"tablist\"\n fdkOverflowList\n [isRtl]=\"isRtl\"\n #tablist\n [overflowOffset]=\"100\"\n (overflowChanged)=\"_recalculateVisibleItems($event)\"\n>\n @if (showTotalTab) {\n <li class=\"fd-icon-tab-bar__item\" role=\"presentation\" fdkOverflowListItem>\n <a\n (click)=\"_totalTab && _selectItem(_totalTab)\"\n (keydown)=\"_keyDownHandler($event, _totalTab, 0)\"\n [attr.aria-selected]=\"_totalTab?.uId === selectedUid\"\n class=\"fd-icon-tab-bar__tab\"\n tabindex=\"0\"\n #tabItem\n role=\"tab\"\n >\n <div class=\"fd-icon-tab-bar__container fd-icon-tab-bar__container--filter\">\n @if (_totalTab?.counter) {\n <span class=\"fd-icon-tab-bar__filter-counter\">{{ _totalTab?.counter }}</span>\n }\n <span class=\"fd-icon-tab-bar__filter-label\">{{ _totalTab?.label | fdkAsyncOrSync }}</span>\n </div>\n </a>\n </li>\n }\n @for (item of tabs | slice: 1; track item.uId; let idx = $index) {\n <li\n [class]=\"item.cssClasses\"\n class=\"fd-icon-tab-bar__item\"\n role=\"presentation\"\n fdkOverflowListItem\n [attr.aria-hidden]=\"item.hidden\"\n >\n <a\n (click)=\"_selectItem(item)\"\n [attr.aria-selected]=\"item.uId === selectedUid\"\n class=\"fd-icon-tab-bar__tab\"\n #tabItem\n [attr.tabindex]=\"showTotalTab ? -1 : idx > 0 ? -1 : 0\"\n (keydown)=\"_keyDownHandler($event, item, idx + (showTotalTab ? 1 : 0))\"\n role=\"tab\"\n >\n <div class=\"fd-icon-tab-bar__container\">\n <span class=\"fd-icon-tab-bar__icon\">\n <fd-icon [glyph]=\"item.icon\"></fd-icon>\n </span>\n @if (item.counter) {\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n }\n </div>\n <div class=\"fd-icon-tab-bar__label\">{{ item.label | fdkAsyncOrSync }}</div>\n @if (item.color | fdkAsyncOrSync; as itemColor) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[itemColor]) || itemColor }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n tabindex=\"-1\"\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"_closeTab(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n }\n @if (_extraItems$()) {\n <li role=\"presentation\" class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow\">\n <fdp-icon-tab-bar-popover\n [isRtl]=\"isRtl\"\n [extraTabs]=\"_extraTabs$()\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n (focusFirstVisibleItem)=\"_focusItem(0)\"\n (focusLastVisibleItem)=\"_focusItem(_lastVisibleTabIndex)\"\n (closeTab)=\"_closeTab($event, true)\"\n ></fdp-icon-tab-bar-popover>\n </li>\n }\n</ul>\n", dependencies: [{ kind: "directive", type: OverflowListDirective, selector: "[fdkOverflowList]", inputs: ["overflowOffset", "isRtl", "itemCssBlockValue"], outputs: ["overflowChanged"] }, { kind: "directive", type: OverflowListItemDirective, selector: "[fdkOverflowListItem]" }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: IconTabBarPopoverComponent, selector: "fdp-icon-tab-bar-popover", inputs: ["leftSide", "label", "showItemLabel"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: AsyncOrSyncPipe, name: "fdkAsyncOrSync" }] }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarFilterTypeComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarFilterTypeComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'fdp-icon-tab-bar-filter-type', standalone: true, providers: [
37
37
  {
@@ -13,15 +13,15 @@ export class IconTabBarIconTypeComponent extends ClosableIconTabBar {
13
13
  /** @hidden */
14
14
  this._defaultFontFamily = FD_DEFAULT_ICON_FONT_FAMILY;
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarIconTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: IconTabBarIconTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-icon-type", inputs: { showLabel: "showLabel" }, providers: [
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarIconTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: IconTabBarIconTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-icon-type", inputs: { showLabel: "showLabel" }, providers: [
18
18
  {
19
19
  provide: IconTabBarBase,
20
20
  useExisting: IconTabBarIconTypeComponent
21
21
  }
22
22
  ], viewQueries: [{ propertyName: "_tabBarPopover", first: true, predicate: IconTabBarPopoverComponent, descendants: true }, { propertyName: "_tabUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul\n class=\"fd-icon-tab-bar__header\"\n [class.fd-dynamic-page__tabs]=\"_inDynamicPage\"\n role=\"tablist\"\n fdkOverflowList\n [isRtl]=\"isRtl\"\n #tablist\n [overflowOffset]=\"100\"\n (overflowChanged)=\"_recalculateVisibleItems($event)\"\n>\n @for (item of tabs; track item.uId; let idx = $index) {\n <li\n [ngClass]=\"item.cssClasses\"\n [class.fd-icon-tab-bar__item--closable]=\"item.closable\"\n fdkOverflowListItem\n [attr.aria-hidden]=\"item.hidden\"\n class=\"fd-icon-tab-bar__item\"\n role=\"presentation\"\n >\n <a\n class=\"fd-icon-tab-bar__tab\"\n #tabItem\n role=\"tab\"\n [attr.tabindex]=\"idx === 0 ? 0 : -1\"\n [attr.aria-selected]=\"item.uId === selectedUid\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n >\n <div class=\"fd-icon-tab-bar__container\">\n <span class=\"fd-icon-tab-bar__icon\">\n <fd-icon [glyph]=\"item.icon\" [font]=\"item.iconFont || _defaultFontFamily\"></fd-icon>\n </span>\n @if (item.counter && (!item.label || !showLabel)) {\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n }\n </div>\n @if (showLabel && item.label) {\n <div class=\"fd-icon-tab-bar__details\">\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n <span class=\"fd-icon-tab-bar__label\">{{ item.label }}</span>\n </div>\n }\n @if (item.color | fdkAsyncOrSync; as itemColor) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[itemColor]) || itemColor }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n tabindex=\"-1\"\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"_closeTab(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n }\n @if (_extraItems$()) {\n <li role=\"presentation\" class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow\">\n <fdp-icon-tab-bar-popover\n [showItemLabel]=\"showLabel\"\n [isRtl]=\"isRtl\"\n [extraTabs]=\"_extraTabs$()\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n (focusFirstVisibleItem)=\"_focusItem(0)\"\n (focusLastVisibleItem)=\"_focusItem(_lastVisibleTabIndex)\"\n (closeTab)=\"_closeTab($event, true)\"\n ></fdp-icon-tab-bar-popover>\n </li>\n }\n</ul>\n", dependencies: [{ kind: "directive", type: OverflowListDirective, selector: "[fdkOverflowList]", inputs: ["overflowOffset", "isRtl", "itemCssBlockValue"], outputs: ["overflowChanged"] }, { kind: "directive", type: OverflowListItemDirective, selector: "[fdkOverflowListItem]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: IconTabBarPopoverComponent, selector: "fdp-icon-tab-bar-popover", inputs: ["leftSide", "label", "showItemLabel"] }, { kind: "pipe", type: AsyncOrSyncPipe, name: "fdkAsyncOrSync" }] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarIconTypeComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarIconTypeComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'fdp-icon-tab-bar-icon-type', standalone: true, providers: [
27
27
  {
@@ -179,15 +179,15 @@ export class IconTabBarProcessTypeComponent extends ClosableIconTabBar {
179
179
  this._offsetOverflowDirective = this._nextSteps.length ? 70 : 0;
180
180
  this._cd.detectChanges();
181
181
  }
182
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarProcessTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
183
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: IconTabBarProcessTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-process-type", providers: [
182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarProcessTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
183
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: IconTabBarProcessTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-process-type", providers: [
184
184
  {
185
185
  provide: IconTabBarBase,
186
186
  useExisting: IconTabBarProcessTypeComponent
187
187
  }
188
188
  ], viewQueries: [{ propertyName: "_tabBarPopover", first: true, predicate: IconTabBarPopoverComponent, descendants: true }, { propertyName: "_tabUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul\n class=\"fd-icon-tab-bar__header\"\n [class.fd-dynamic-page__tabs]=\"_inDynamicPage\"\n role=\"tablist\"\n #tablist\n [class.fd-icon-tab-bar__header--left-offset]=\"_showLeftBtn\"\n fdkOverflowList\n [isRtl]=\"isRtl\"\n [overflowOffset]=\"_offsetOverflowDirective\"\n (overflowChanged)=\"_recalculateVisibleItems($event)\"\n>\n @if (_showLeftBtn) {\n <li\n role=\"presentation\"\n class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow fd-icon-tab-bar__item--overflow-left\"\n >\n <fdp-icon-tab-bar-popover\n [extraTabs]=\"_prevSteps\"\n [label]=\"_prevSteps.length.toString()\"\n [isSeparators]=\"true\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n ></fdp-icon-tab-bar-popover>\n </li>\n }\n @for (item of tabs; track item.uId; let idx = $index) {\n <li\n [class]=\"item.cssClasses\"\n class=\"fd-icon-tab-bar__item\"\n role=\"presentation\"\n fdkOverflowListItem\n [attr.aria-hidden]=\"item.hidden\"\n >\n <a\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n [attr.aria-selected]=\"item.uId === selectedUid\"\n class=\"fd-icon-tab-bar__tab\"\n #tabItem\n [attr.tabindex]=\"idx === 0 ? 0 : -1\"\n role=\"tab\"\n >\n @if (item.icon) {\n <div class=\"fd-icon-tab-bar__container\">\n <span class=\"fd-icon-tab-bar__icon\">\n <fd-icon [glyph]=\"item.icon\"></fd-icon>\n </span>\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n </div>\n <div class=\"fd-icon-tab-bar__details\">\n <span class=\"fd-icon-tab-bar__counter\">{{ item.counter }}</span>\n <span class=\"fd-icon-tab-bar__label\">{{ item.label | fdkAsyncOrSync }}</span>\n </div>\n } @else {\n <span class=\"fd-icon-tab-bar__tag\">{{ item.label | fdkAsyncOrSync }}</span>\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n }\n @if (item.color | fdkAsyncOrSync; as itemColor) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[itemColor]) || itemColor }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n tabindex=\"-1\"\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"_closeTab(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n @if (_lastVisibleTabIndex !== idx) {\n <span class=\"fd-icon-tab-bar__separator\">\n <fd-icon glyph=\"process\"></fd-icon>\n </span>\n }\n </li>\n }\n @if (_showRightBtn) {\n <li role=\"presentation\" class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow\">\n <fdp-icon-tab-bar-popover\n [isRtl]=\"isRtl\"\n [extraTabs]=\"_nextSteps\"\n [isSeparators]=\"true\"\n [label]=\"_nextSteps.length.toString()\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n (focusFirstVisibleItem)=\"_focusItem(0)\"\n (focusLastVisibleItem)=\"_focusItem(_lastVisibleTabIndex)\"\n (closeTab)=\"_closeTab($event, true)\"\n >\n </fdp-icon-tab-bar-popover>\n </li>\n }\n</ul>\n", dependencies: [{ kind: "directive", type: OverflowListDirective, selector: "[fdkOverflowList]", inputs: ["overflowOffset", "isRtl", "itemCssBlockValue"], outputs: ["overflowChanged"] }, { kind: "component", type: IconTabBarPopoverComponent, selector: "fdp-icon-tab-bar-popover", inputs: ["leftSide", "label", "showItemLabel"] }, { kind: "directive", type: OverflowListItemDirective, selector: "[fdkOverflowListItem]" }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: AsyncOrSyncPipe, name: "fdkAsyncOrSync" }] }); }
189
189
  }
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarProcessTypeComponent, decorators: [{
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarProcessTypeComponent, decorators: [{
191
191
  type: Component,
192
192
  args: [{ selector: 'fdp-icon-tab-bar-process-type', standalone: true, providers: [
193
193
  {
@@ -8,10 +8,10 @@ export class IconTabBarTabContentDirective {
8
8
  /** Element reference. */
9
9
  this.elementRef = inject(ElementRef);
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTabContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: IconTabBarTabContentDirective, isStandalone: true, selector: "fdp-icon-tab-bar-tab-content", inputs: { id: "id", uId: "uId" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0 }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarTabContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: IconTabBarTabContentDirective, isStandalone: true, selector: "fdp-icon-tab-bar-tab-content", inputs: { id: "id", uId: "uId" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0 }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTabContentDirective, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarTabContentDirective, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
17
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -39,10 +39,10 @@ export class IconTabBarTabComponent {
39
39
  /** Tab ID. */
40
40
  this.id = `fdp-icon-tab-bar-tab-${defaultIdIndex++}`;
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: IconTabBarTabComponent, isStandalone: true, selector: "fdp-icon-tab-bar-tab", inputs: { label: "label", color: "color", icon: "icon", iconFont: "iconFont", counter: "counter", active: ["active", "active", booleanAttribute], badge: ["badge", "badge", booleanAttribute], closable: ["closable", "closable", booleanAttribute], id: "id" }, queries: [{ propertyName: "children", predicate: IconTabBarTabComponent }], viewQueries: [{ propertyName: "renderer", first: true, predicate: ["renderer"], descendants: true }], ngImport: i0, template: "<ng-template #renderer>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.0", type: IconTabBarTabComponent, isStandalone: true, selector: "fdp-icon-tab-bar-tab", inputs: { label: "label", color: "color", icon: "icon", iconFont: "iconFont", counter: "counter", active: ["active", "active", booleanAttribute], badge: ["badge", "badge", booleanAttribute], closable: ["closable", "closable", booleanAttribute], id: "id" }, queries: [{ propertyName: "children", predicate: IconTabBarTabComponent }], viewQueries: [{ propertyName: "renderer", first: true, predicate: ["renderer"], descendants: true }], ngImport: i0, template: "<ng-template #renderer>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTabComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarTabComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'fdp-icon-tab-bar-tab', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #renderer>\n <ng-content></ng-content>\n</ng-template>\n" }]
48
48
  }], propDecorators: { label: [{
@@ -129,15 +129,15 @@ export class IconTabBarTextTypeComponent extends ClosableIconTabBar {
129
129
  this.tabs = this._updateTabs(this.tabs);
130
130
  this._triggerRecalculationVisibleItems();
131
131
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTextTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: IconTabBarTextTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-text-type", inputs: { enableTabReordering: "enableTabReordering", layoutMode: "layoutMode", multiClick: "multiClick" }, outputs: { reordered: "reordered" }, providers: [
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarTextTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: IconTabBarTextTypeComponent, isStandalone: true, selector: "fdp-icon-tab-bar-text-type", inputs: { enableTabReordering: "enableTabReordering", layoutMode: "layoutMode", multiClick: "multiClick" }, outputs: { reordered: "reordered" }, providers: [
134
134
  {
135
135
  provide: IconTabBarBase,
136
136
  useExisting: IconTabBarTextTypeComponent
137
137
  }
138
138
  ], viewQueries: [{ propertyName: "_tabBarPopover", first: true, predicate: ["extraItemsPopover"], descendants: true }, { propertyName: "_tabUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container fdpIconBarDndContainer [draggable]=\"enableTabReordering\" (dropped)=\"_onDropped($event)\">\n <ul\n class=\"fd-icon-tab-bar__header\"\n [class.fd-dynamic-page__tabs]=\"_inDynamicPage\"\n role=\"tablist\"\n #tablist\n fdkOverflowList\n [isRtl]=\"isRtl\"\n [overflowOffset]=\"100\"\n fdpIconBarDndList\n dndOrientation=\"horizontal\"\n (overflowChanged)=\"_recalculateVisibleItems($event)\"\n >\n @for (item of tabs; track item.uId; let idx = $index) {\n <li\n [ngClass]=\"item.cssClasses\"\n [class.fd-icon-tab-bar__item--multi-click]=\"multiClick && item.subItems?.length\"\n fdkOverflowListItem\n fdpIconBarDndItem\n [dndSeparatorClass]=\"['fd-icon-tab-bar__item--dnd-separator']\"\n [dndItemData]=\"item\"\n class=\"fd-icon-tab-bar__item\"\n [class.fd-icon-tab-bar__item--closable]=\"item.closable\"\n [attr.aria-hidden]=\"item.hidden\"\n role=\"presentation\"\n >\n @if (!item.subItems?.length && !multiClick) {\n <a\n #tabItem\n fdp-icon-tab-bar-text-type-tab-item\n [item]=\"item\"\n [layoutMode]=\"layoutMode\"\n [colorAssociations]=\"colorAssociations\"\n [attr.tabindex]=\"idx === 0 ? 0 : -1\"\n [attr.aria-selected]=\"item.uId === selectedUid\"\n (click)=\"_selectItem(item, $event)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n >\n </a>\n }\n @if (item.subItems?.length || multiClick) {\n <fdp-text-type-popover\n #tabItem\n #itemPopover\n [tabindex]=\"idx === 0 ? 0 : -1\"\n [parentTab]=\"item\"\n [layoutMode]=\"layoutMode\"\n [multiClick]=\"multiClick\"\n [selectedSubItemUid]=\"selectedUid\"\n [colorAssociations]=\"colorAssociations\"\n (selectedSubItem)=\"_selectItem($event)\"\n (keydown)=\"_keyDownHandler($event, item, idx, itemPopover)\"\n (closeTab)=\"_closeTab($event)\"\n (selectedItem)=\"_selectItem(item)\"\n >\n </fdp-text-type-popover>\n }\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n tabindex=\"-1\"\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"_closeTab(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n }\n @if (_extraItems$()) {\n <li role=\"presentation\" class=\"fd-icon-tab-bar__item fd-icon-tab-bar__item--overflow\">\n <fdp-text-type-popover\n #extraItemsPopover\n [isRtl]=\"isRtl\"\n [extraTabs]=\"_extraTabs$()\"\n [isExtraItemsMode]=\"true\"\n [colorAssociations]=\"colorAssociations\"\n (selectedExtraItem)=\"_selectExtraItem($event)\"\n (focusFirstVisibleItem)=\"_focusItem(0)\"\n (focusLastVisibleItem)=\"_focusItem(_lastVisibleTabIndex)\"\n (closeTab)=\"_closeTab($event, true)\"\n >\n </fdp-text-type-popover>\n </li>\n }\n </ul>\n</ng-container>\n", dependencies: [{ kind: "directive", type: IconBarDndContainerDirective, selector: "[fdpIconBarDndContainer], [fdp-icon-bar-dnd-container]", inputs: ["draggable"], outputs: ["dropped"] }, { kind: "directive", type: OverflowListDirective, selector: "[fdkOverflowList]", inputs: ["overflowOffset", "isRtl", "itemCssBlockValue"], outputs: ["overflowChanged"] }, { kind: "directive", type: IconBarDndListDirective, selector: "[fdpIconBarDndList], [fdp-icon-bar-dnd-list]", inputs: ["dndOrientation", "dndAutoScroll"] }, { kind: "directive", type: OverflowListItemDirective, selector: "[fdkOverflowListItem]" }, { kind: "directive", type: IconBarDndItemDirective, selector: "[fdpIconBarDndItem], [fdp-icon-bar-dnd-item]", inputs: ["dndItemData", "previewClass", "dndHoveredClass", "dndSeparatorClass"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TextTypePopoverComponent, selector: "fdp-text-type-popover", inputs: ["multiClick", "layoutMode", "isExtraItemsMode", "parentTab", "selectedSubItemUid", "tabindex"], outputs: ["selectedSubItem", "selectedItem"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: IconTabBarTextTypeTabItemComponent, selector: "[fdp-icon-tab-bar-text-type-tab-item]", inputs: ["item", "layoutMode", "colorAssociations"] }] }); }
139
139
  }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarTextTypeComponent, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarTextTypeComponent, decorators: [{
141
141
  type: Component,
142
142
  args: [{ selector: 'fdp-icon-tab-bar-text-type', standalone: true, providers: [
143
143
  {
@@ -18,10 +18,10 @@ export class IconTabBarPopoverComponent extends IconTabBarPopoverBase {
18
18
  */
19
19
  this.label = 'more';
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: IconTabBarPopoverComponent, isStandalone: true, selector: "fdp-icon-tab-bar-popover", inputs: { leftSide: "leftSide", label: "label", showItemLabel: "showItemLabel" }, viewQueries: [{ propertyName: "_tabExtraUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-popover placement=\"bottom-end\" [focusAutoCapture]=\"true\" [focusTrapped]=\"true\" #popover>\n <fd-popover-control>\n <button class=\"fd-icon-tab-bar__overflow\" tabindex=\"-1\">\n <span class=\"fd-icon-tab-bar__overflow-text\">{{ label }}</span>\n <fd-icon glyph=\"slim-arrow-down\" role=\"presentation\"></fd-icon>\n </button>\n </fd-popover-control>\n <fd-popover-body class=\"fd-icon-tab-bar\">\n <ul class=\"fd-list fd-list--navigation fd-list--no-border fd-icon-tab-bar__list\" role=\"list\">\n @for (item of extraTabs; track item.uId; let idx = $index) {\n @if (isSeparators) {\n <li tabindex=\"-1\" class=\"fd-icon-tab-bar__icon-separator\">\n <fd-icon glyph=\"process\"></fd-icon>\n </li>\n }\n <li\n class=\"fd-list__item fd-list__item--link fd-icon-tab-bar__list-item\"\n role=\"listitem\"\n [class.fd-icon-tab-bar__list-item--closable]=\"item.closable\"\n [ngClass]=\"item.cssClasses\"\n tabindex=\"-1\"\n >\n <a\n class=\"fd-list__link fd-icon-tab-bar__list-link\"\n #tabItem\n [attr.data-flatIndex]=\"item.flatIndex\"\n tabindex=\"0\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n >\n <span class=\"fd-icon-tab-bar__list-item-icon-container\">\n <span class=\"fd-list__icon fd-icon-tab-bar__list-item-icon\">\n <fd-icon [glyph]=\"item.icon | fdkAsyncOrSync\"></fd-icon>\n </span>\n </span>\n @if (showItemLabel && (item.label | fdkAsyncOrSync)) {\n <span class=\"fd-list__title fd-icon-tab-bar__list-item-title\">{{\n item.label | fdkAsyncOrSync\n }}</span>\n }\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n @if (item.counter | fdkAsyncOrSync; as itemCounter) {\n <span class=\"fd-list__counter fd-icon-tab-bar__list-item-counter\"\n >({{ itemCounter }})\n </span>\n }\n @if (item.color | fdkAsyncOrSync; as itemColor) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[itemColor]) || itemColor }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n tabindex=\"-1\"\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"closeTab.emit(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n }\n </ul>\n </fd-popover-body>\n</fd-popover>\n", dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: AsyncOrSyncPipe, name: "fdkAsyncOrSync" }] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: IconTabBarPopoverComponent, isStandalone: true, selector: "fdp-icon-tab-bar-popover", inputs: { leftSide: "leftSide", label: "label", showItemLabel: "showItemLabel" }, viewQueries: [{ propertyName: "_tabExtraUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-popover placement=\"bottom-end\" [focusAutoCapture]=\"true\" [focusTrapped]=\"true\" #popover>\n <fd-popover-control>\n <button class=\"fd-icon-tab-bar__overflow\" tabindex=\"-1\">\n <span class=\"fd-icon-tab-bar__overflow-text\">{{ label }}</span>\n <fd-icon glyph=\"slim-arrow-down\" role=\"presentation\"></fd-icon>\n </button>\n </fd-popover-control>\n <fd-popover-body class=\"fd-icon-tab-bar\">\n <ul class=\"fd-list fd-list--navigation fd-list--no-border fd-icon-tab-bar__list\" role=\"list\">\n @for (item of extraTabs; track item.uId; let idx = $index) {\n @if (isSeparators) {\n <li tabindex=\"-1\" class=\"fd-icon-tab-bar__icon-separator\">\n <fd-icon glyph=\"process\"></fd-icon>\n </li>\n }\n <li\n class=\"fd-list__item fd-list__item--link fd-icon-tab-bar__list-item\"\n role=\"listitem\"\n [class.fd-icon-tab-bar__list-item--closable]=\"item.closable\"\n [ngClass]=\"item.cssClasses\"\n tabindex=\"-1\"\n >\n <a\n class=\"fd-list__link fd-icon-tab-bar__list-link\"\n #tabItem\n [attr.data-flatIndex]=\"item.flatIndex\"\n tabindex=\"0\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n >\n <span class=\"fd-icon-tab-bar__list-item-icon-container\">\n <span class=\"fd-list__icon fd-icon-tab-bar__list-item-icon\">\n <fd-icon [glyph]=\"item.icon | fdkAsyncOrSync\"></fd-icon>\n </span>\n </span>\n @if (showItemLabel && (item.label | fdkAsyncOrSync)) {\n <span class=\"fd-list__title fd-icon-tab-bar__list-item-title\">{{\n item.label | fdkAsyncOrSync\n }}</span>\n }\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n @if (item.counter | fdkAsyncOrSync; as itemCounter) {\n <span class=\"fd-list__counter fd-icon-tab-bar__list-item-counter\"\n >({{ itemCounter }})\n </span>\n }\n @if (item.color | fdkAsyncOrSync; as itemColor) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[itemColor]) || itemColor }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n tabindex=\"-1\"\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"closeTab.emit(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n }\n </ul>\n </fd-popover-body>\n</fd-popover>\n", dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "pipe", type: AsyncOrSyncPipe, name: "fdkAsyncOrSync" }] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarPopoverComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarPopoverComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'fdp-icon-tab-bar-popover', standalone: true, imports: [
27
27
  PopoverComponent,
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
42
42
  }], showItemLabel: [{
43
43
  type: Input
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9pY29uLXRhYi1iYXIvY29tcG9uZW50cy9wb3BvdmVycy9pY29uLXRhYi1iYXItcG9wb3Zlci9pY29uLXRhYi1iYXItcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL3BvcG92ZXJzL2ljb24tdGFiLWJhci1wb3BvdmVyL2ljb24tdGFiLWJhci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWdCM0UsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHFCQUFxQjtJQWRyRTs7UUFrQkk7O1dBRUc7UUFFSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCOztXQUVHO1FBRUgsVUFBSyxHQUFHLE1BQU0sQ0FBQztLQUtsQjs4R0FuQlksMEJBQTBCO2tHQUExQiwwQkFBMEIsZ1NDdEJ2Qyw0cEhBd0VBLDRDRDNEUSxnQkFBZ0Isc0lBQ2hCLHVCQUF1QixtRkFDdkIsb0JBQW9CLHdIQUNwQixhQUFhLDBJQUNiLE9BQU8sb0ZBQ1AsZUFBZSxtSEFDZixlQUFlOzsyRkFHViwwQkFBMEI7a0JBZHRDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBRXhCLElBQUksV0FDUDt3QkFDTCxnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixlQUFlO3FCQUNsQjs4QkFJd0IsbUJBQW1CO3NCQUEzQyxZQUFZO3VCQUFDLFNBQVM7Z0JBTXZCLFFBQVE7c0JBRFAsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNPclN5bmNQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgSWNvblRhYkJhclBvcG92ZXJCYXNlIH0gZnJvbSAnLi4vaWNvbi10YWItYmFyLXBvcG92ZXItYmFzZS5jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWljb24tdGFiLWJhci1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaWNvbi10YWItYmFyLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQ29udHJvbENvbXBvbmVudCxcbiAgICAgICAgUG9wb3ZlckJvZHlDb21wb25lbnQsXG4gICAgICAgIEljb25Db21wb25lbnQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgQXN5bmNPclN5bmNQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJY29uVGFiQmFyUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIEljb25UYWJCYXJQb3BvdmVyQmFzZSB7XG4gICAgLyoqIEBoaWRkZW4gbGlzdCBvZiB0YWIgaHRtbCBlbGVtZW50cywgdGhhdCBjYW4gcmVjZWl2ZSBmb2N1cyAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYkl0ZW0nKSBfdGFiRXh0cmFVSUVsZW1lbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEZsYWcgcmVwcmVzZW50aW5nIHBvc2l0aW9uIGluc2lkZSBjb250YWluZXIgbGVmdC9yaWdodFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGVmdFNpZGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBMYWJlbCBmb3IgYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbCA9ICdtb3JlJztcblxuICAgIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgbGFiZWxzIGZvciB0YWIgaXRlbXMgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dJdGVtTGFiZWw6IGJvb2xlYW47XG59XG4iLCI8ZmQtcG9wb3ZlciBwbGFjZW1lbnQ9XCJib3R0b20tZW5kXCIgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiICNwb3BvdmVyPlxuICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX292ZXJmbG93XCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX292ZXJmbG93LXRleHRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjwvZmQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgPGZkLXBvcG92ZXItYm9keSBjbGFzcz1cImZkLWljb24tdGFiLWJhclwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJmZC1saXN0IGZkLWxpc3QtLW5hdmlnYXRpb24gZmQtbGlzdC0tbm8tYm9yZGVyIGZkLWljb24tdGFiLWJhcl9fbGlzdFwiIHJvbGU9XCJsaXN0XCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGV4dHJhVGFiczsgdHJhY2sgaXRlbS51SWQ7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBAaWYgKGlzU2VwYXJhdG9ycykge1xuICAgICAgICAgICAgICAgICAgICA8bGkgdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19pY29uLXNlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJwcm9jZXNzXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1saXN0X19pdGVtIGZkLWxpc3RfX2l0ZW0tLWxpbmsgZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwibGlzdGl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0tLWNsb3NhYmxlXT1cIml0ZW0uY2xvc2FibGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNzc0NsYXNzZXNcIlxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWxpc3RfX2xpbmsgZmQtaWNvbi10YWItYmFyX19saXN0LWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3RhYkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtZmxhdEluZGV4XT1cIml0ZW0uZmxhdEluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3NlbGVjdEl0ZW0oaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwiX2tleURvd25IYW5kbGVyKCRldmVudCwgaXRlbSwgaWR4KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0taWNvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWxpc3RfX2ljb24gZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwiaXRlbS5pY29uIHwgZmRrQXN5bmNPclN5bmNcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93SXRlbUxhYmVsICYmIChpdGVtLmxhYmVsIHwgZmRrQXN5bmNPclN5bmMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1saXN0X190aXRsZSBmZC1pY29uLXRhYi1iYXJfX2xpc3QtaXRlbS10aXRsZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ubGFiZWwgfCBmZGtBc3luY09yU3luY1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2JhZGdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvdW50ZXIgfCBmZGtBc3luY09yU3luYzsgYXMgaXRlbUNvdW50ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWxpc3RfX2NvdW50ZXIgZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0tY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4oe3sgaXRlbUNvdW50ZXIgfX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbG9yIHwgZmRrQXN5bmNPclN5bmM7IGFzIGl0ZW1Db2xvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JlZW5yZWFkZXItb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAoY29sb3JBc3NvY2lhdGlvbnMgJiYgY29sb3JBc3NvY2lhdGlvbnNbaXRlbUNvbG9yXSkgfHwgaXRlbUNvbG9yIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmNsb3NhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19idXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRhYi5lbWl0KGl0ZW0udUlkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImRlY2xpbmVcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgPC9mZC1wb3BvdmVyLWJvZHk+XG48L2ZkLXBvcG92ZXI+XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9pY29uLXRhYi1iYXIvY29tcG9uZW50cy9wb3BvdmVycy9pY29uLXRhYi1iYXItcG9wb3Zlci9pY29uLXRhYi1iYXItcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2ljb24tdGFiLWJhci9jb21wb25lbnRzL3BvcG92ZXJzL2ljb24tdGFiLWJhci1wb3BvdmVyL2ljb24tdGFiLWJhci1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWdCM0UsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHFCQUFxQjtJQWRyRTs7UUFrQkk7O1dBRUc7UUFFSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCOztXQUVHO1FBRUgsVUFBSyxHQUFHLE1BQU0sQ0FBQztLQUtsQjs4R0FuQlksMEJBQTBCO2tHQUExQiwwQkFBMEIsZ1NDdEJ2Qyw0cEhBd0VBLDRDRDNEUSxnQkFBZ0IsK0pBQ2hCLHVCQUF1QixtRkFDdkIsb0JBQW9CLHdIQUNwQixhQUFhLDBJQUNiLE9BQU8sb0ZBQ1AsZUFBZSxtSEFDZixlQUFlOzsyRkFHViwwQkFBMEI7a0JBZHRDLFNBQVM7K0JBQ0ksMEJBQTBCLGNBRXhCLElBQUksV0FDUDt3QkFDTCxnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixlQUFlO3FCQUNsQjs4QkFJd0IsbUJBQW1CO3NCQUEzQyxZQUFZO3VCQUFDLFNBQVM7Z0JBTXZCLFFBQVE7c0JBRFAsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNPclN5bmNQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgSWNvblRhYkJhclBvcG92ZXJCYXNlIH0gZnJvbSAnLi4vaWNvbi10YWItYmFyLXBvcG92ZXItYmFzZS5jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWljb24tdGFiLWJhci1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaWNvbi10YWItYmFyLXBvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQ29udHJvbENvbXBvbmVudCxcbiAgICAgICAgUG9wb3ZlckJvZHlDb21wb25lbnQsXG4gICAgICAgIEljb25Db21wb25lbnQsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgQXN5bmNPclN5bmNQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBJY29uVGFiQmFyUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIEljb25UYWJCYXJQb3BvdmVyQmFzZSB7XG4gICAgLyoqIEBoaWRkZW4gbGlzdCBvZiB0YWIgaHRtbCBlbGVtZW50cywgdGhhdCBjYW4gcmVjZWl2ZSBmb2N1cyAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYkl0ZW0nKSBfdGFiRXh0cmFVSUVsZW1lbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEZsYWcgcmVwcmVzZW50aW5nIHBvc2l0aW9uIGluc2lkZSBjb250YWluZXIgbGVmdC9yaWdodFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGVmdFNpZGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBMYWJlbCBmb3IgYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBsYWJlbCA9ICdtb3JlJztcblxuICAgIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgbGFiZWxzIGZvciB0YWIgaXRlbXMgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dJdGVtTGFiZWw6IGJvb2xlYW47XG59XG4iLCI8ZmQtcG9wb3ZlciBwbGFjZW1lbnQ9XCJib3R0b20tZW5kXCIgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiICNwb3BvdmVyPlxuICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX292ZXJmbG93XCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX292ZXJmbG93LXRleHRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjwvZmQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgPGZkLXBvcG92ZXItYm9keSBjbGFzcz1cImZkLWljb24tdGFiLWJhclwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJmZC1saXN0IGZkLWxpc3QtLW5hdmlnYXRpb24gZmQtbGlzdC0tbm8tYm9yZGVyIGZkLWljb24tdGFiLWJhcl9fbGlzdFwiIHJvbGU9XCJsaXN0XCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGV4dHJhVGFiczsgdHJhY2sgaXRlbS51SWQ7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBAaWYgKGlzU2VwYXJhdG9ycykge1xuICAgICAgICAgICAgICAgICAgICA8bGkgdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19pY29uLXNlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJwcm9jZXNzXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1saXN0X19pdGVtIGZkLWxpc3RfX2l0ZW0tLWxpbmsgZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICByb2xlPVwibGlzdGl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0tLWNsb3NhYmxlXT1cIml0ZW0uY2xvc2FibGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNzc0NsYXNzZXNcIlxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWxpc3RfX2xpbmsgZmQtaWNvbi10YWItYmFyX19saXN0LWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3RhYkl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtZmxhdEluZGV4XT1cIml0ZW0uZmxhdEluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX3NlbGVjdEl0ZW0oaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwiX2tleURvd25IYW5kbGVyKCRldmVudCwgaXRlbSwgaWR4KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0taWNvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWxpc3RfX2ljb24gZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwiaXRlbS5pY29uIHwgZmRrQXN5bmNPclN5bmNcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93SXRlbUxhYmVsICYmIChpdGVtLmxhYmVsIHwgZmRrQXN5bmNPclN5bmMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1saXN0X190aXRsZSBmZC1pY29uLXRhYi1iYXJfX2xpc3QtaXRlbS10aXRsZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ubGFiZWwgfCBmZGtBc3luY09yU3luY1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2JhZGdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvdW50ZXIgfCBmZGtBc3luY09yU3luYzsgYXMgaXRlbUNvdW50ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWxpc3RfX2NvdW50ZXIgZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0tY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4oe3sgaXRlbUNvdW50ZXIgfX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbG9yIHwgZmRrQXN5bmNPclN5bmM7IGFzIGl0ZW1Db2xvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JlZW5yZWFkZXItb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAoY29sb3JBc3NvY2lhdGlvbnMgJiYgY29sb3JBc3NvY2lhdGlvbnNbaXRlbUNvbG9yXSkgfHwgaXRlbUNvbG9yIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmNsb3NhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19idXR0b24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRhYi5lbWl0KGl0ZW0udUlkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImRlY2xpbmVcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgPC9mZC1wb3BvdmVyLWJvZHk+XG48L2ZkLXBvcG92ZXI+XG4iXX0=
@@ -123,10 +123,10 @@ export class IconTabBarPopoverBase {
123
123
  .sort(({ flatIndex: aFlatIndex }, { flatIndex: bFlatIndex }) => aFlatIndex - bFlatIndex)
124
124
  .map(({ nativeElement }) => nativeElement);
125
125
  }
126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarPopoverBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
127
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: IconTabBarPopoverBase, inputs: { isRtl: "isRtl", extraTabs: "extraTabs", isSeparators: "isSeparators", colorAssociations: "colorAssociations" }, outputs: { selectedExtraItem: "selectedExtraItem", focusFirstVisibleItem: "focusFirstVisibleItem", focusLastVisibleItem: "focusLastVisibleItem", closeTab: "closeTab" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0 }); }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarPopoverBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
127
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: IconTabBarPopoverBase, inputs: { isRtl: "isRtl", extraTabs: "extraTabs", isSeparators: "isSeparators", colorAssociations: "colorAssociations" }, outputs: { selectedExtraItem: "selectedExtraItem", focusFirstVisibleItem: "focusFirstVisibleItem", focusLastVisibleItem: "focusLastVisibleItem", closeTab: "closeTab" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0 }); }
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: IconTabBarPopoverBase, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: IconTabBarPopoverBase, decorators: [{
130
130
  type: Directive
131
131
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { isRtl: [{
132
132
  type: Input