@fundamental-ngx/platform 0.49.0-rc.8 → 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.8.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
@@ -1,4 +1,4 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, computed, ContentChildren, DestroyRef, EventEmitter, forwardRef, Injector, Input, Output, QueryList, signal, ViewChild, ViewEncapsulation } from '@angular/core';
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, computed, ContentChildren, DestroyRef, EventEmitter, forwardRef, inject, Injector, Input, Output, QueryList, signal, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import { Validators } from '@angular/forms';
3
3
  import { BehaviorSubject, debounceTime, filter, firstValueFrom, Subject, Subscription } from 'rxjs';
4
4
  import { map, startWith, take, takeUntil } from 'rxjs/operators';
@@ -22,8 +22,7 @@ import { SmartFilterBar } from './smart-filter-bar.class';
22
22
  import { SmartFilterBarService } from './smart-filter-bar.service';
23
23
  import * as i0 from "@angular/core";
24
24
  import * as i1 from "@fundamental-ngx/core/dialog";
25
- import * as i2 from "./smart-filter-bar.service";
26
- import * as i3 from "@fundamental-ngx/platform/form";
25
+ import * as i2 from "@fundamental-ngx/platform/form";
27
26
  const defaultColumnsLayout = 'XL4-L3-M2-S1';
28
27
  function getColumnsNumber(layout) {
29
28
  return Math.max(...layout.split('-').map((part) => {
@@ -60,10 +59,9 @@ export class SmartFilterBarComponent extends SmartFilterBar {
60
59
  return this._subject?.getDataSource() ? this._subject.getDataSource().isDataLoading : true;
61
60
  }
62
61
  /** @hidden */
63
- constructor(_dialogService, _smartFilterBarService, _fgService, _injector, _destroyRef) {
62
+ constructor(_dialogService, _fgService, _injector, _destroyRef) {
64
63
  super();
65
64
  this._dialogService = _dialogService;
66
- this._smartFilterBarService = _smartFilterBarService;
67
65
  this._fgService = _fgService;
68
66
  this._injector = _injector;
69
67
  this._destroyRef = _destroyRef;
@@ -119,6 +117,12 @@ export class SmartFilterBarComponent extends SmartFilterBar {
119
117
  this._ignorePresetChange = false;
120
118
  /** @hidden */
121
119
  this._refresh$ = new Subject();
120
+ /**
121
+ * @hidden
122
+ * Smart filter bar service may be provided by parent component that adds custom configuration, so we need to check if it's provided.
123
+ */
124
+ this._smartFilterBarService = inject(SmartFilterBarService, { optional: true, skipSelf: true }) ??
125
+ inject(SmartFilterBarService, { self: true });
122
126
  this._fgService.addComponent(SmartFilterBarConditionFieldComponent, [SMART_FILTER_BAR_RENDERER_COMPONENT]);
123
127
  }
124
128
  /** @hidden */
@@ -483,8 +487,8 @@ export class SmartFilterBarComponent extends SmartFilterBar {
483
487
  this.selectedFilters$.set(filters.filter((f, i) => filters.indexOf(f) === i));
484
488
  this._formGenerator.refreshStepsVisibility();
485
489
  }
486
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SmartFilterBarComponent, deps: [{ token: i1.DialogService }, { token: i2.SmartFilterBarService }, { token: i3.FormGeneratorService }, { token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: SmartFilterBarComponent, isStandalone: true, selector: "fdp-smart-filter-bar", inputs: { subject: "subject", transparent: ["transparent", "transparent", booleanAttribute], filtersColumnLayout: "filtersColumnLayout", liveUpdate: ["liveUpdate", "liveUpdate", booleanAttribute], hideToolbar: ["hideToolbar", "hideToolbar", booleanAttribute] }, outputs: { smartFiltersChanged: "smartFiltersChanged", smartFiltersApplied: "smartFiltersApplied", searchInputChanged: "searchInputChanged" }, host: { properties: { "class.fdp-smart-filter-bar--transparent": "transparent" }, classAttribute: "fdp-smart-filter-bar" }, providers: [
490
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SmartFilterBarComponent, deps: [{ token: i1.DialogService }, { token: i2.FormGeneratorService }, { token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
491
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: SmartFilterBarComponent, isStandalone: true, selector: "fdp-smart-filter-bar", inputs: { subject: "subject", transparent: ["transparent", "transparent", booleanAttribute], filtersColumnLayout: "filtersColumnLayout", liveUpdate: ["liveUpdate", "liveUpdate", booleanAttribute], hideToolbar: ["hideToolbar", "hideToolbar", booleanAttribute] }, outputs: { smartFiltersChanged: "smartFiltersChanged", smartFiltersApplied: "smartFiltersApplied", searchInputChanged: "searchInputChanged" }, host: { properties: { "class.fdp-smart-filter-bar--transparent": "transparent" }, classAttribute: "fdp-smart-filter-bar" }, providers: [
488
492
  smartFilterBarProvider,
489
493
  SmartFilterBarService,
490
494
  FormGeneratorService,
@@ -494,7 +498,7 @@ export class SmartFilterBarComponent extends SmartFilterBar {
494
498
  }
495
499
  ], queries: [{ propertyName: "_toolbarItemRefs", predicate: SmartFilterBarToolbarItemDirective }], viewQueries: [{ propertyName: "_formGenerator", first: true, predicate: FormGeneratorComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (!hideToolbar) {\n <fd-toolbar fdType=\"transparent\">\n @if (_toolbarItems) {\n @for (template of _toolbarItems; track template) {\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n <fd-toolbar-separator></fd-toolbar-separator>\n }\n }\n <fdp-search-field\n (inputChange)=\"onSearchInputChange($event)\"\n (searchSubmit)=\"submitForm()\"\n (cancelSearch)=\"cancelSearch()\"\n [disabled]=\"loading\"\n [disableRefresh]=\"true\"\n [placeholder]=\"'platformSmartFilterBar.searchPlaceholder' | fdTranslate\"\n ></fdp-search-field>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (!liveUpdate) {\n <button\n fd-button\n (click)=\"submitForm()\"\n fdType=\"emphasized\"\n fd-toolbar-item\n [disabled]=\"loading\"\n [label]=\"'platformSmartFilterBar.submitButtonLabel' | fdTranslate\"\n ></button>\n }\n <button\n fd-button\n (click)=\"submitForm()\"\n fd-toolbar-item\n glyph=\"synchronize\"\n [disabled]=\"loading\"\n [ariaLabel]=\"'platformSmartFilterBar.refreshButtonAriaLabel' | fdTranslate\"\n ></button>\n <button\n fd-button\n (click)=\"showFilteringSettings()\"\n [label]=\"\n 'platformSmartFilterBar.filtersButtonLabel' | fdTranslate: { filtersCount: selectedFiltersCount$() }\n \"\n fd-toolbar-item\n [disabled]=\"loading\"\n ></button>\n <button\n fd-button\n (click)=\"toggleFilterBar()\"\n [label]=\"\n (showFilterBar$()\n ? 'platformSmartFilterBar.hideFiltersButtonLabel'\n : 'platformSmartFilterBar.showFiltersButtonLabel'\n ) | fdTranslate\n \"\n fdType=\"transparent\"\n fd-toolbar-item\n [disabled]=\"loading\"\n ></button>\n </fd-toolbar>\n}\n@if (_formItems(); as formItems) {\n <div class=\"fdp-smart-filter-bar__filters\" [hidden]=\"!showFilterBar$()\">\n <fdp-form-generator\n (formCreated)=\"_onFormCreated()\"\n (formSubmitted)=\"_onFormSubmitted($event)\"\n [noAdditionalContent]=\"true\"\n [formItems]=\"formItems\"\n [columnLayout]=\"filtersColumnLayout\"\n ></fdp-form-generator>\n </div>\n}\n", styles: [".fdp-smart-filter-bar{display:block;box-shadow:var(--sapContent_HeaderShadow);background-color:var(--sapObjectHeader_Background)}.fdp-smart-filter-bar--transparent{background-color:var(--sapToolbar_Background);box-shadow:none}.fdp-smart-filter-bar .fd-toolbar--title{height:3rem;min-height:3rem;border-bottom:none;padding:.5rem}@media (min-width: 600px){.fdp-smart-filter-bar .fd-toolbar--title{padding-left:2rem;padding-right:2rem}}.fdp-smart-filter-bar .fd-toolbar fdp-search-field{min-width:15.5rem}.fdp-smart-filter-bar .fdp-smart-filter-bar__filters{padding-left:.5rem;padding-right:.5rem}@media (min-width: 600px){.fdp-smart-filter-bar .fdp-smart-filter-bar__filters{padding-left:2rem;padding-right:2rem}}.fdp-smart-filter-bar .fd-container.fd-form-layout-grid-container{padding:0}.fdp-smart-filter-bar .fd-container.fd-form-layout-grid-container .fd-row .fd-form-group{padding-left:.25rem!important;padding-right:.25rem!important}.fdp-smart-filter-bar__conditions-dialog .fdp-smart-filter-bar__actions-column{min-width:auto;flex:0 0 auto}.fdp-smart-filter-bar__conditions-dialog .fd-popover-custom{display:block}.fdp-smart-filter-bar__conditions-dialog .fd-dialog__body{padding:0 .5rem;background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-smart-filter-bar__conditions-dialog .fd-container.fd-form-layout-grid-container,.fdp-smart-filter-bar__conditions-dialog .fd-container.fd-form-layout-grid-container .fd-row .fd-form-group{padding-top:0!important;padding-bottom:0!important}.fdp-smart-filter-bar .fd-toolbar{--fdToolbar_Border: none}\n"], dependencies: [{ kind: "component", type: ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ToolbarSeparatorComponent, selector: "fd-toolbar-separator" }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "directive", type: ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: FormGeneratorComponent, selector: "fdp-form-generator", inputs: ["formName", "formItems", "mainTitle", "hideMainTItle", "hint", "columnLayout", "labelColumnLayout", "fieldColumnLayout", "gapColumnLayout", "unifiedLayout", "inlineColumnLayout", "noAdditionalContent"], outputs: ["formCreated", "formSubmitted", "formSubmittedStatus"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
496
500
  }
497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SmartFilterBarComponent, decorators: [{
501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SmartFilterBarComponent, decorators: [{
498
502
  type: Component,
499
503
  args: [{ selector: 'fdp-smart-filter-bar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
500
504
  smartFilterBarProvider,
@@ -518,7 +522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
518
522
  FormGeneratorComponent,
519
523
  FdTranslatePipe
520
524
  ], template: "@if (!hideToolbar) {\n <fd-toolbar fdType=\"transparent\">\n @if (_toolbarItems) {\n @for (template of _toolbarItems; track template) {\n <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n <fd-toolbar-separator></fd-toolbar-separator>\n }\n }\n <fdp-search-field\n (inputChange)=\"onSearchInputChange($event)\"\n (searchSubmit)=\"submitForm()\"\n (cancelSearch)=\"cancelSearch()\"\n [disabled]=\"loading\"\n [disableRefresh]=\"true\"\n [placeholder]=\"'platformSmartFilterBar.searchPlaceholder' | fdTranslate\"\n ></fdp-search-field>\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (!liveUpdate) {\n <button\n fd-button\n (click)=\"submitForm()\"\n fdType=\"emphasized\"\n fd-toolbar-item\n [disabled]=\"loading\"\n [label]=\"'platformSmartFilterBar.submitButtonLabel' | fdTranslate\"\n ></button>\n }\n <button\n fd-button\n (click)=\"submitForm()\"\n fd-toolbar-item\n glyph=\"synchronize\"\n [disabled]=\"loading\"\n [ariaLabel]=\"'platformSmartFilterBar.refreshButtonAriaLabel' | fdTranslate\"\n ></button>\n <button\n fd-button\n (click)=\"showFilteringSettings()\"\n [label]=\"\n 'platformSmartFilterBar.filtersButtonLabel' | fdTranslate: { filtersCount: selectedFiltersCount$() }\n \"\n fd-toolbar-item\n [disabled]=\"loading\"\n ></button>\n <button\n fd-button\n (click)=\"toggleFilterBar()\"\n [label]=\"\n (showFilterBar$()\n ? 'platformSmartFilterBar.hideFiltersButtonLabel'\n : 'platformSmartFilterBar.showFiltersButtonLabel'\n ) | fdTranslate\n \"\n fdType=\"transparent\"\n fd-toolbar-item\n [disabled]=\"loading\"\n ></button>\n </fd-toolbar>\n}\n@if (_formItems(); as formItems) {\n <div class=\"fdp-smart-filter-bar__filters\" [hidden]=\"!showFilterBar$()\">\n <fdp-form-generator\n (formCreated)=\"_onFormCreated()\"\n (formSubmitted)=\"_onFormSubmitted($event)\"\n [noAdditionalContent]=\"true\"\n [formItems]=\"formItems\"\n [columnLayout]=\"filtersColumnLayout\"\n ></fdp-form-generator>\n </div>\n}\n", styles: [".fdp-smart-filter-bar{display:block;box-shadow:var(--sapContent_HeaderShadow);background-color:var(--sapObjectHeader_Background)}.fdp-smart-filter-bar--transparent{background-color:var(--sapToolbar_Background);box-shadow:none}.fdp-smart-filter-bar .fd-toolbar--title{height:3rem;min-height:3rem;border-bottom:none;padding:.5rem}@media (min-width: 600px){.fdp-smart-filter-bar .fd-toolbar--title{padding-left:2rem;padding-right:2rem}}.fdp-smart-filter-bar .fd-toolbar fdp-search-field{min-width:15.5rem}.fdp-smart-filter-bar .fdp-smart-filter-bar__filters{padding-left:.5rem;padding-right:.5rem}@media (min-width: 600px){.fdp-smart-filter-bar .fdp-smart-filter-bar__filters{padding-left:2rem;padding-right:2rem}}.fdp-smart-filter-bar .fd-container.fd-form-layout-grid-container{padding:0}.fdp-smart-filter-bar .fd-container.fd-form-layout-grid-container .fd-row .fd-form-group{padding-left:.25rem!important;padding-right:.25rem!important}.fdp-smart-filter-bar__conditions-dialog .fdp-smart-filter-bar__actions-column{min-width:auto;flex:0 0 auto}.fdp-smart-filter-bar__conditions-dialog .fd-popover-custom{display:block}.fdp-smart-filter-bar__conditions-dialog .fd-dialog__body{padding:0 .5rem;background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-smart-filter-bar__conditions-dialog .fd-container.fd-form-layout-grid-container,.fdp-smart-filter-bar__conditions-dialog .fd-container.fd-form-layout-grid-container .fd-row .fd-form-group{padding-top:0!important;padding-bottom:0!important}.fdp-smart-filter-bar .fd-toolbar{--fdToolbar_Border: none}\n"] }]
521
- }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.SmartFilterBarService }, { type: i3.FormGeneratorService }, { type: i0.Injector }, { type: i0.DestroyRef }], propDecorators: { _formGenerator: [{
525
+ }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.FormGeneratorService }, { type: i0.Injector }, { type: i0.DestroyRef }], propDecorators: { _formGenerator: [{
522
526
  type: ViewChild,
523
527
  args: [FormGeneratorComponent]
524
528
  }], subject: [{
@@ -544,4 +548,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
544
548
  type: ContentChildren,
545
549
  args: [SmartFilterBarToolbarItemDirective]
546
550
  }] } });
547
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NtYXJ0LWZpbHRlci1iYXIvc21hcnQtZmlsdGVyLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NtYXJ0LWZpbHRlci1iYXIvc21hcnQtZmlsdGVyLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoSCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBR0gsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUV2QixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sRUFBRSw0QkFBNEIsRUFBYyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVGLE9BQU8sRUFBeUIsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlC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TCxnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsZUFBZTtxQkFDbEI7eU1BT2tDLGNBQWM7c0JBQWhELFNBQVM7dUJBQUMsc0JBQXNCO2dCQU03QixPQUFPO3NCQURWLEtBQUs7Z0JBWU4sV0FBVztzQkFEVixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU90QyxtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBT04sVUFBVTtzQkFEVCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU90QyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBT3RDLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFPUCxtQkFBbUI7c0JBRGxCLE1BQU07Z0JBT1Asa0JBQWtCO3NCQURqQixNQUFNO2dCQUlVLGdCQUFnQjtzQkFEaEMsZUFBZTt1QkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBQcm92aWRlcixcbiAgICBRdWVyeUxpc3QsXG4gICAgc2lnbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRGlhbG9nQ29uZmlnLCBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5pbXBvcnQge1xuICAgIER5bmFtaWNGb3JtRmllbGRJdGVtLFxuICAgIER5bmFtaWNGb3JtSXRlbSxcbiAgICBGb3JtR2VuZXJhdG9yQ29tcG9uZW50LFxuICAgIEZvcm1HZW5lcmF0b3JTZXJ2aWNlLFxuICAgIFByZXBhcmVkRHluYW1pY0Zvcm1GaWVsZEl0ZW1cbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9mb3JtJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zZWFyY2gtZmllbGQnO1xuaW1wb3J0IHsgRkRQX1BSRVNFVF9NQU5BR0VEX0NPTVBPTkVOVCwgU2VsZWN0SXRlbSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IENvbGxlY3Rpb25GaWx0ZXJHcm91cCwgRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlLCBGaWx0ZXJUeXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS90YWJsZSc7XG5cbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQge1xuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgVG9vbGJhckl0ZW1EaXJlY3RpdmUsXG4gICAgVG9vbGJhclNlcGFyYXRvckNvbXBvbmVudCxcbiAgICBUb29sYmFyU3BhY2VyRGlyZWN0aXZlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90b29sYmFyJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBTZWFyY2hGaWVsZENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2VhcmNoLWZpZWxkJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb24tZmllbGQvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb24tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyU2V0dGluZ3NEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc21hcnQtZmlsdGVyLWJhci1zZXR0aW5ncy1kaWFsb2cvc21hcnQtZmlsdGVyLWJhci1zZXR0aW5ncy1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFNNQVJUX0ZJTFRFUl9CQVJfUkVOREVSRVJfQ09NUE9ORU5UIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTdWJqZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NtYXJ0LWZpbHRlci1iYXItc3ViamVjdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJUb29sYmFySXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zbWFydC1maWx0ZXItYmFyLXRvb2xiYXItaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0SXRlbVZhbHVlIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyTWFuYWdlZFByZXNldCwgU21hcnRGaWx0ZXJDaGFuZ2VPYmplY3QgfSBmcm9tICcuL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1jaGFuZ2UnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJDb25kaXRpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1jb25kaXRpb24nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJGaWVsZERlZmluaXRpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1maWVsZC1kZWZpbml0aW9uJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyU2V0dGluZ3NEaWFsb2dDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWJhci1zZXR0aW5ncy1kaWFsb2ctY29uZmlnJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyRHluYW1pY0Zvcm1GaWVsZEl0ZW0gfSBmcm9tICcuL2ludGVyZmFjZXMvc21hcnQtZmlsdGVyLWR5bmFtaWMtZm9ybS1pdGVtJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyIH0gZnJvbSAnLi9zbWFydC1maWx0ZXItYmFyLmNsYXNzJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyU2VydmljZSB9IGZyb20gJy4vc21hcnQtZmlsdGVyLWJhci5zZXJ2aWNlJztcblxuY29uc3QgZGVmYXVsdENvbHVtbnNMYXlvdXQgPSAnWEw0LUwzLU0yLVMxJztcblxuZnVuY3Rpb24gZ2V0Q29sdW1uc051bWJlcihsYXlvdXQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWF4KFxuICAgICAgICAuLi5sYXlvdXQuc3BsaXQoJy0nKS5tYXAoKHBhcnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoQXJyYXkgPSBwYXJ0Lm1hdGNoKC9cXGQrLyk7XG5cbiAgICAgICAgICAgIHJldHVybiBtYXRjaEFycmF5ID8gcGFyc2VJbnQobWF0Y2hBcnJheVswXSwgMTApIDogMTtcbiAgICAgICAgfSlcbiAgICApO1xufVxuXG4vKipcbiAqIERlZmF1bHQgZGlhbG9nIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmNvbnN0IGRpYWxvZ0NvbmZpZzogRGlhbG9nQ29uZmlnID0ge1xuICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlLFxuICAgIHZlcnRpY2FsUGFkZGluZzogdHJ1ZSxcbiAgICBtaW5XaWR0aDogJzMwcmVtJyxcbiAgICAvKiogODhweCBpdCdzIHRoZSBoZWFkZXIgKyBmb290ZXIgaGVpZ2h0ICovXG4gICAgYm9keU1pbkhlaWdodDogJ2NhbGMoNTB2aCAtIDUuNXJlbSknXG59O1xuXG5jb25zdCBzbWFydEZpbHRlckJhclByb3ZpZGVyOiBQcm92aWRlciA9IHtcbiAgICBwcm92aWRlOiBTbWFydEZpbHRlckJhcixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbWFydEZpbHRlckJhckNvbXBvbmVudClcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXNtYXJ0LWZpbHRlci1iYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1maWx0ZXItYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc21hcnQtZmlsdGVyLWJhci5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgc21hcnRGaWx0ZXJCYXJQcm92aWRlcixcbiAgICAgICAgU21hcnRGaWx0ZXJCYXJTZXJ2aWNlLFxuICAgICAgICBGb3JtR2VuZXJhdG9yU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRQX1BSRVNFVF9NQU5BR0VEX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTbWFydEZpbHRlckJhckNvbXBvbmVudFxuICAgICAgICB9XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmRwLXNtYXJ0LWZpbHRlci1iYXInLFxuICAgICAgICAnW2NsYXNzLmZkcC1zbWFydC1maWx0ZXItYmFyLS10cmFuc3BhcmVudF0nOiAndHJhbnNwYXJlbnQnXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVG9vbGJhclNlcGFyYXRvckNvbXBvbmVudCxcbiAgICAgICAgU2VhcmNoRmllbGRDb21wb25lbnQsXG4gICAgICAgIFRvb2xiYXJTcGFjZXJEaXJlY3RpdmUsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgVG9vbGJhckl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIEZvcm1HZW5lcmF0b3JDb21wb25lbnQsXG4gICAgICAgIEZkVHJhbnNsYXRlUGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJCYXJDb21wb25lbnQgZXh0ZW5kcyBTbWFydEZpbHRlckJhciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEZvcm0gZ2VuZXJhdG9yIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKEZvcm1HZW5lcmF0b3JDb21wb25lbnQpIF9mb3JtR2VuZXJhdG9yITogRm9ybUdlbmVyYXRvckNvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIFN1YmplY3Qgd2hpY2ggd2lsbCBwcm92aWRlIGNvbmZpZ3VyYXRpb24gZGF0YTogZGF0YSBzb3VyY2UsIGNvbHVtbnMgZGVmaW5pdGlvbnMsIGV0Yy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzdWJqZWN0KHZhbHVlOiBTbWFydEZpbHRlckJhclN1YmplY3REaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5fc2V0U3ViamVjdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHN1YmplY3QoKTogU21hcnRGaWx0ZXJCYXJTdWJqZWN0RGlyZWN0aXZlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1YmplY3Q7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgc21hcnQgZmlsdGVyIGJhciBiYWNrZ3JvdW5kIHNob3VsZCBiZSB0cmFuc3BhcmVudC5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICB0cmFuc3BhcmVudCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQ29sdW1ucyBsYXlvdXQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmaWx0ZXJzQ29sdW1uTGF5b3V0OiBOdWxsYWJsZTxzdHJpbmc+ID0gZGVmYXVsdENvbHVtbnNMYXlvdXQ7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHVwZGF0ZSBmaWx0ZXJzIHdoZW4gdGhleSBhcmUgc2VsZWN0ZWQuIE90aGVyd2lzZSwgZmlsdGVycyB3aWxsIGJlIGFwcGxpZWQgb25seSBieSBwcmVzc2luZyBcIkdvXCIgYnV0dG9uLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGxpdmVVcGRhdGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gaGlkZSBUb29sYmFyLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGhpZGVUb29sYmFyID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGVkIGZpbHRlcnMgaGF2ZSBiZWVuIGNoYW5nZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgc21hcnRGaWx0ZXJzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFNtYXJ0RmlsdGVyQ2hhbmdlT2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8U21hcnRGaWx0ZXJDaGFuZ2VPYmplY3Q+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gc2VsZWN0ZWQgZmlsdGVycyBoYXMgYmVlbiBhcHBsaWVkIChVc2VyIGNsaWNrZWQgb24gR28gYnV0dG9uKS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzbWFydEZpbHRlcnNBcHBsaWVkOiBFdmVudEVtaXR0ZXI8U21hcnRGaWx0ZXJDaGFuZ2VPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxTbWFydEZpbHRlckNoYW5nZU9iamVjdD4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBzZWFyY2ggaW5wdXQgZmllbGQgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWFyY2hJbnB1dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTZWFyY2hJbnB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaElucHV0PigpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihTbWFydEZpbHRlckJhclRvb2xiYXJJdGVtRGlyZWN0aXZlKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Rvb2xiYXJJdGVtUmVmczogUXVlcnlMaXN0PFNtYXJ0RmlsdGVyQmFyVG9vbGJhckl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlZCBhcnJheSBvZiBmaWx0ZXJzIHRvIGFwcGx5IGZvciB0aGUgc3ViamVjdCdzIGRhdGEgc291cmNlLlxuICAgICAqL1xuICAgIGZpbHRlckJ5OiBDb2xsZWN0aW9uRmlsdGVyR3JvdXBbXSA9IFtdO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGZpbHRlcnMgc2VjdGlvbiBzaG91bGQgYmUgc2hvd24uICovXG4gICAgc2hvd0ZpbHRlckJhciQgPSBzaWduYWwodHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBTZWFyY2ggZmllbGQgdmFsdWUgdG8gYXBwbHkgZm9yIHRoZSBzdWJqZWN0J3MgZGF0YSBzb3VyY2UuXG4gICAgICovXG4gICAgc2VhcmNoOiBTZWFyY2hJbnB1dCB8IHVuZGVmaW5lZDtcbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIF90b29sYmFySXRlbXM6IFRlbXBsYXRlUmVmPGFueT5bXSA9IFtdO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Zvcm1JdGVtcyA9IHNpZ25hbDxEeW5hbWljRm9ybUl0ZW1bXSB8IG51bGw+KG51bGwpO1xuICAgIC8qKiBTZWxlY3RlZCBmaWx0ZXJzLiAqL1xuICAgIHNlbGVjdGVkRmlsdGVycyQgPSBzaWduYWw8c3RyaW5nW10+KFtdKTtcblxuICAgIC8qKiBTZWxlY3RlZCBmaWx0ZXJzIGNvdW50LiAqL1xuICAgIHNlbGVjdGVkRmlsdGVyc0NvdW50JCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2VsZWN0ZWRGaWx0ZXJzJCgpLmxlbmd0aCk7XG5cbiAgICAvKiogTG9hZGluZyBzdGF0ZS4gKi9cbiAgICBnZXQgbG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1YmplY3Q/LmdldERhdGFTb3VyY2UoKSA/IHRoaXMuX3N1YmplY3QuZ2V0RGF0YVNvdXJjZSgpLmlzRGF0YUxvYWRpbmcgOiB0cnVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3ViamVjdFN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1HZW5lcmF0b3JSZWFkeSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pZ25vcmVQcmVzZXRDaGFuZ2UgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3ViamVjdCE6IFNtYXJ0RmlsdGVyQmFyU3ViamVjdERpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfc21hcnRGaWx0ZXJCYXJTZXJ2aWNlOiBTbWFydEZpbHRlckJhclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2ZnU2VydmljZTogRm9ybUdlbmVyYXRvclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZjogRGVzdHJveVJlZlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9mZ1NlcnZpY2UuYWRkQ29tcG9uZW50KFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uRmllbGRDb21wb25lbnQsIFtTTUFSVF9GSUxURVJfQkFSX1JFTkRFUkVSX0NPTVBPTkVOVF0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX3Rvb2xiYXJJdGVtUmVmcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKG51bGwpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Rvb2xiYXJJdGVtcyA9IHRoaXMuX3Rvb2xiYXJJdGVtUmVmcy50b0FycmF5KCkubWFwKChyZWYpID0+IHJlZi50ZW1wbGF0ZVJlZik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVGcm9tU3ViamVjdCgpO1xuICAgICAgICB0aGlzLl9yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyBjb25kaXRpb24gdmFsdWUgaW50byBodW1hbi1yZWFkYWJsZSB0ZXh0LlxuICAgICAqIEBwYXJhbSBjb25kaXRpb24gU21hcnQgZmlsdGVyIGJhciBjb25kaXRpb24uXG4gICAgICogQHBhcmFtIGZpbHRlclR5cGUgQ29uZGl0aW9uIGZpbHRlciB0eXBlLlxuICAgICAqL1xuICAgIGFzeW5jIGdldERpc3BsYXlWYWx1ZShjb25kaXRpb246IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uLCBmaWx0ZXJUeXBlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc21hcnRGaWx0ZXJCYXJTZXJ2aWNlLmdldERpc3BsYXlWYWx1ZShjb25kaXRpb24sIGZpbHRlclR5cGUpO1xuICAgIH1cblxuICAgIC8qKiBPcGVuIEZpbHRlcmluZyBTZXR0aW5ncyBEaWFsb2cgKi9cbiAgICBzaG93RmlsdGVyaW5nU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLl9nZXRTdWJqZWN0RGVmaW5pdGlvbnMoKTtcbiAgICAgICAgY29uc3QgZGlhbG9nRGF0YTogU21hcnRGaWx0ZXJTZXR0aW5nc0RpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgIGZpZWxkczogY29sdW1ucyxcbiAgICAgICAgICAgIGZpbHRlckJ5OiB0aGlzLmZpbHRlckJ5LFxuICAgICAgICAgICAgc2VsZWN0ZWRGaWx0ZXJzOiB0aGlzLnNlbGVjdGVkRmlsdGVycyQoKVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgICAgICAgIFNtYXJ0RmlsdGVyQmFyU2V0dGluZ3NEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgICAgIGRpc2FibGVQYWRkaW5nczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB3aWR0aDogJzUwcmVtJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5faW5qZWN0b3JcbiAgICAgICAgKTtcblxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHNlbGVjdGVkRmlsdGVyczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRTZWxlY3RlZEZpbHRlcnMoc2VsZWN0ZWRGaWx0ZXJzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge31cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIENhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gc2VhcmNoIHF1ZXJ5IGNoYW5nZWQuICovXG4gICAgb25TZWFyY2hJbnB1dENoYW5nZShldmVudDogU2VhcmNoSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2ggPSBldmVudDtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dENoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIENsZWFyIHNlYXJjaCBxdWVyeS4gKi9cbiAgICBjYW5jZWxTZWFyY2goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICh0aGlzLmxpdmVVcGRhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3VibWl0Rm9ybSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3VibWl0cyBmaWx0ZXJzIGFuZCBzZWFyY2ggZm9ybS5cbiAgICAgKi9cbiAgICBzdWJtaXRGb3JtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtR2VuZXJhdG9yLnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgZm9yIHNldHRpbmcgcHJlZGVmaW5lZCBjb25maWd1cmF0aW9uLiAqL1xuICAgIGFzeW5jIHNldFByZXNldChkYXRhOiBTbWFydEZpbHRlckJhck1hbmFnZWRQcmVzZXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5faWdub3JlUHJlc2V0Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgZGF0YS5maWx0ZXJCeSA9IGRhdGEuZmlsdGVyQnkgfHwgW107XG4gICAgICAgIHRoaXMuZmlsdGVyQnkgPSBkYXRhLmZpbHRlckJ5O1xuICAgICAgICB0aGlzLnNlYXJjaCA9IGRhdGEuc2VhcmNoO1xuXG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgICAgIHRoaXMuX2Zvcm1HZW5lcmF0b3JSZWFkeVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9yZWZyZXNoJClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFJlc2V0IGZvcm1cbiAgICAgICAgICAgICAgICB0aGlzLl9mZ1NlcnZpY2UucmVzZXRGb3JtKHRoaXMuX2Zvcm1HZW5lcmF0b3IuZm9ybSk7XG5cbiAgICAgICAgICAgICAgICAvLyBTZXQgbmV3IGRhdGFcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGZpbHRlckJ5IG9mIHRoaXMuZmlsdGVyQnkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuX2ZnU2VydmljZS5nZXRGb3JtQ29udHJvbCh0aGlzLl9mb3JtR2VuZXJhdG9yLmZvcm0sIGZpbHRlckJ5LmZpZWxkKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybUl0ZW0gPSBjb250cm9sLmZvcm1JdGVtIGFzIFByZXBhcmVkRHluYW1pY0Zvcm1GaWVsZEl0ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29uZGl0aW9uID0gdGhpcy5fc21hcnRGaWx0ZXJCYXJTZXJ2aWNlLnRyYW5zZm9ybUNvbGxlY3Rpb25GaWx0ZXIoZmlsdGVyQnkpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQ29uZGl0aW9ucyA9IGF3YWl0IHRoaXMuX3NtYXJ0RmlsdGVyQmFyU2VydmljZS5nZXRDb25kaXRpb25GaWVsZFNlbGVjdGVkVmFyaWFudHMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sPy5zZXRWYWx1ZShzZWxlY3RlZENvbmRpdGlvbnMpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuX3NldFNlbGVjdGVkRmlsdGVycyh0aGlzLmZpbHRlckJ5Lm1hcCgoZmlsdGVyQnkpID0+IGZpbHRlckJ5LmZpZWxkKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSB0aGlzLnN1YmplY3QuZ2V0RGF0YVNvdXJjZSgpO1xuICAgICAgICAgICAgICAgIHNvdXJjZS5kYXRhUHJvdmlkZXIuc2V0RmlsdGVycyh0aGlzLmZpbHRlckJ5LCB0aGlzLnNlYXJjaCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJqZWN0LmdldFN1YmplY3QoKS5mZXRjaCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgY3VycmVudCBwcmVzZXQgY29uZmlndXJhdGlvbi4gKi9cbiAgICBnZXRDdXJyZW50UHJlc2V0KCk6IFNtYXJ0RmlsdGVyQmFyTWFuYWdlZFByZXNldCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoLFxuICAgICAgICAgICAgZmlsdGVyQnk6IHRoaXMuZmlsdGVyQnlcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBmb3JtIGdlbmVyYXRvciBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgYW5kIHN1Ym1pdHRlZC5cbiAgICAgKi9cbiAgICBfb25Gb3JtU3VibWl0dGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29uZGl0aW9ucyA9IHRoaXMuX2dlbmVyYXRlQ29sbGVjdGlvbkZpbHRlckdyb3VwcyhldmVudCk7XG4gICAgICAgIHRoaXMuX2FwcGx5RmlsdGVyaW5nKGNvbmRpdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBDYWxsYmFjayBtZXRob2Qgd2hlbiBmb3JtIGhhcyBiZWVuIGNyZWF0ZWQuXG4gICAgICogUG9wdWxhdGVzIHNlbGVjdGVkIGZpbHRlcnMgYXJyYXkgd2l0aCB1c2VyLWRlZmluZWQgZGVmYXVsdCBmaWx0ZXJzLlxuICAgICAqL1xuICAgIF9vbkZvcm1DcmVhdGVkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJqZWN0KSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRTZWxlY3RlZEZpbHRlcnMoWy4uLnRoaXMuc3ViamVjdC5nZXREZWZhdWx0RmllbGRzKCksIC4uLnRoaXMuc2VsZWN0ZWRGaWx0ZXJzJCgpXSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9mb3JtR2VuZXJhdG9yLmZvcm0udmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTApLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb25kaXRpb25zID0gYXdhaXQgdGhpcy5nZXRGb3JtYXR0ZWRDb25kaXRpb25zKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zbWFydEZpbHRlcnNDaGFuZ2VkLmVtaXQoeyBmaWx0ZXJCeTogY29uZGl0aW9ucywgc2VhcmNoOiB0aGlzLnNlYXJjaCwgc3ViamVjdDogdGhpcy5zdWJqZWN0IH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmxpdmVVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9hcHBseUZpbHRlcmluZyhjb25kaXRpb25zKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2Zvcm1HZW5lcmF0b3JSZWFkeS5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgU21hcnQgRmlsdGVyIEJhciBmaWx0ZXJzIHNlY3Rpb24uXG4gICAgICovXG4gICAgdG9nZ2xlRmlsdGVyQmFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dGaWx0ZXJCYXIkLnVwZGF0ZSgoc2hvdykgPT4gIXNob3cpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm1hdHMgcmF3IGZpbHRlcnMgb2JqZWN0IGludG8gYXJyYXkgb2YgZ3JvdXBlZCBmaWx0ZXJzLlxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGdyb3VwZWQgZmlsdGVycy5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRGb3JtYXR0ZWRDb25kaXRpb25zKCk6IFByb21pc2U8Q29sbGVjdGlvbkZpbHRlckdyb3VwW10+IHtcbiAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gYXdhaXQgdGhpcy5fZmdTZXJ2aWNlLmdldEZvcm1WYWx1ZSh0aGlzLl9mb3JtR2VuZXJhdG9yLmZvcm0pO1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJhdGVDb2xsZWN0aW9uRmlsdGVyR3JvdXBzKGZvcm1WYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUNvbGxlY3Rpb25GaWx0ZXJHcm91cHModmFsdWU6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25bXTtcbiAgICB9KTogQ29sbGVjdGlvbkZpbHRlckdyb3VwW10ge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uRmlsdGVyR3JvdXBzOiBDb2xsZWN0aW9uRmlsdGVyR3JvdXBbXSA9IFtdO1xuXG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLl9nZXRTdWJqZWN0RGVmaW5pdGlvbnMoKTtcblxuICAgICAgICBPYmplY3QuZW50cmllcyh2YWx1ZSlcbiAgICAgICAgICAgIC5maWx0ZXIoKFssIGZpZWxkQ29uZGl0aW9uc10pID0+ICEhZmllbGRDb25kaXRpb25zKVxuICAgICAgICAgICAgLmZvckVhY2goKFtmaWVsZE5hbWUsIGZpZWxkQ29uZGl0aW9uc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gZmllbGROYW1lKSBhcyBTbWFydEZpbHRlckJhckZpZWxkRGVmaW5pdGlvbjtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJHcm91cDogQ29sbGVjdGlvbkZpbHRlckdyb3VwID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgc3RyYXRlZ3k6IGNvbHVtbi5jb25kaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5rZXlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGZpZWxkQ29uZGl0aW9ucy5mb3JFYWNoKChjb25kaXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyR3JvdXAuZmlsdGVycy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmF0ZWd5OiBjb25kaXRpb24ub3BlcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjb25kaXRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTI6IGNvbmRpdGlvbi52YWx1ZTIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2x1bW4uZGF0YVR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uRmlsdGVyR3JvdXBzLnB1c2goZmlsdGVyR3JvdXApO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGVtcHR5IGZpbHRlciBvYmplY3RzLlxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbkZpbHRlckdyb3Vwcy5maWx0ZXIoKGZpbHRlckdyb3VwKSA9PiBmaWx0ZXJHcm91cC5maWx0ZXJzPy5sZW5ndGggPiAwKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFN1YmplY3Qoc3ViamVjdDogU21hcnRGaWx0ZXJCYXJTdWJqZWN0RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIGlmICghc3ViamVjdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc3ViamVjdCA9IHN1YmplY3Q7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVGcm9tU3ViamVjdCgpO1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub1N1YmplY3RDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlRnJvbVN1YmplY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc3ViamVjdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N1YmplY3RTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1N1YmplY3RDb2x1bW5zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJqZWN0U3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdGhpcy5fc3ViamVjdFN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgdGhpcy5fc3ViamVjdC5maWVsZHNTdHJlYW0uc3Vic2NyaWJlKGFzeW5jIChjb2x1bW5zOiBTbWFydEZpbHRlckJhckZpZWxkRGVmaW5pdGlvbltdKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZ2VuZXJhdGVGb3JtKGNvbHVtbnMuZmlsdGVyKChjKSA9PiBjLmZpbHRlcmFibGUpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEdlbmVyYXRlcyBmb3JtIGl0ZW1zIHRvIGJlIGNvbnN1bWVkIGJ5IGZvcm0gZ2VuZXJhdG9yIGNvbXBvbmVudC5cbiAgICAgKiBAcGFyYW0gY29sdW1ucyBjb2x1bW5zIGRlZmluaXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIGFzeW5jIF9nZW5lcmF0ZUZvcm0oY29sdW1uczogU21hcnRGaWx0ZXJCYXJGaWVsZERlZmluaXRpb25bXSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBpdGVtczogRHluYW1pY0Zvcm1GaWVsZEl0ZW1bXSA9IFtdO1xuICAgICAgICBjb25zdCBjb2x1bW5zTnVtYmVyID0gZ2V0Q29sdW1uc051bWJlcih0aGlzLmZpbHRlcnNDb2x1bW5MYXlvdXQgPz8gJycpO1xuICAgICAgICBsZXQgY3VycmVudENvbHVtbiA9IDE7XG5cbiAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgbGV0IGl0ZW06IFNtYXJ0RmlsdGVyQmFyRHluYW1pY0Zvcm1GaWVsZEl0ZW0gPSB0aGlzLl9nZW5lcmF0ZUJhc2VGaWVsZEl0ZW0oY29sdW1uKTtcblxuICAgICAgICAgICAgaWYgKGNvbHVtbi5yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzJC51cGRhdGUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKGNvbHVtbi5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcnM7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN3aXRjaCAoY29sdW1uLmZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuU0lOR0xFOlxuICAgICAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5DQVRFR09SWTpcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5ndWlPcHRpb25zLmFkZGl0aW9uYWxEYXRhLnR5cGUgPSAnc2VsZWN0JztcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5ndWlPcHRpb25zLmlubGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuTVVMVEk6XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YS50eXBlID0gJ211bHRpLWlucHV0JztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLkNVU1RPTTpcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9IHRoaXMuX2dlbmVyYXRlQ3VzdG9tRmlsdGVyRmllbGRJdGVtKGNvbHVtbiwgaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5JTlBVVDpcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5fZ2VuZXJhdGVJbnB1dEZpZWxkSXRlbShjb2x1bW4sIGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaXRlbS5ndWlPcHRpb25zLmNvbHVtbiA9IGN1cnJlbnRDb2x1bW47XG4gICAgICAgICAgICBjdXJyZW50Q29sdW1uICs9IDE7XG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50Q29sdW1uID4gY29sdW1uc051bWJlcikge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRDb2x1bW4gPSAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9mb3JtSXRlbXMuc2V0KGl0ZW1zKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dlbmVyYXRlQ3VzdG9tRmlsdGVyRmllbGRJdGVtKFxuICAgICAgICBjb2x1bW46IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uLFxuICAgICAgICBpdGVtOiBTbWFydEZpbHRlckJhckR5bmFtaWNGb3JtRmllbGRJdGVtXG4gICAgKTogU21hcnRGaWx0ZXJCYXJEeW5hbWljRm9ybUZpZWxkSXRlbSB7XG4gICAgICAgIGlmICghY29sdW1uLmN1c3RvbUZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YS50eXBlID0gY29sdW1uLmN1c3RvbUZpbHRlclR5cGU7XG4gICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YSA9IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICBpdGVtLmd1aU9wdGlvbnMuYWRkaXRpb25hbERhdGEsXG4gICAgICAgICAgICB0aGlzLl9zbWFydEZpbHRlckJhclNlcnZpY2UuZ2V0Q3VzdG9tRmlsdGVyQ29uZmlndXJhdGlvbihjb2x1bW4uY3VzdG9tRmlsdGVyVHlwZSlcbiAgICAgICAgKTtcblxuICAgICAgICBpdGVtLnR5cGUgPSBpdGVtLmd1aU9wdGlvbnMuYWRkaXRpb25hbERhdGEucmVuZGVyZXJDb21wb25lbnRcbiAgICAgICAgICAgID8gYCR7aXRlbS5ndWlPcHRpb25zLmFkZGl0aW9uYWxEYXRhLnR5cGV9LXJlbmRlcmVyYFxuICAgICAgICAgICAgOiBpdGVtLnR5cGU7XG4gICAgICAgIGl0ZW0udHJhbnNmb3JtZXIgPSBpdGVtLmd1aU9wdGlvbnMuYWRkaXRpb25hbERhdGEudmFsdWVUcmFuc2Zvcm1lcjtcblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogR2VuZXJhdGVzIGZvcm0gaXRlbSBiYXNlZCBvbiBkYXRhIHR5cGUuXG4gICAgICogQHBhcmFtIGNvbHVtblxuICAgICAqIEBwYXJhbSBpdGVtXG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUlucHV0RmllbGRJdGVtKFxuICAgICAgICBjb2x1bW46IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uLFxuICAgICAgICBpdGVtOiBTbWFydEZpbHRlckJhckR5bmFtaWNGb3JtRmllbGRJdGVtXG4gICAgKTogU21hcnRGaWx0ZXJCYXJEeW5hbWljRm9ybUZpZWxkSXRlbSB7XG4gICAgICAgIHN3aXRjaCAoY29sdW1uLmRhdGFUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpbHRlcmFibGVDb2x1bW5EYXRhVHlwZS5EQVRFOlxuICAgICAgICAgICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YS50eXBlID0gJ2RhdGVwaWNrZXInO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUuTlVNQkVSOlxuICAgICAgICAgICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YS5jb250cm9sVHlwZSA9ICdudW1iZXInO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUuQk9PTEVBTjpcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlLlNUUklORzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaXRlbS5ndWlPcHRpb25zLmFkZGl0aW9uYWxEYXRhLmNvbnRyb2xUeXBlID0gJ3RleHQnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEdlbmVyYXRlcyBiYXNlIGZvcm0gaXRlbSBvYmplY3QgdG8gYmUgY29uc3VtZWQgYnkgZm9ybSBnZW5lcmF0b3IgY29tcG9uZW50LlxuICAgICAqIEBwYXJhbSBjb2x1bW4gY29sdW1uIGRlZmluaXRpb25cbiAgICAgKiBAcmV0dXJucyBiYXNlIGZvcm0gaXRlbSBvYmplY3QuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVCYXNlRmllbGRJdGVtKGNvbHVtbjogU21hcnRGaWx0ZXJCYXJGaWVsZERlZmluaXRpb24pOiBTbWFydEZpbHRlckJhckR5bmFtaWNGb3JtRmllbGRJdGVtIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IGNvbHVtbi5uYW1lLFxuICAgICAgICAgICAgbWVzc2FnZTogY29sdW1uLmxhYmVsLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IGNvbHVtbi5yZXF1aXJlZCxcbiAgICAgICAgICAgIHR5cGU6IFNNQVJUX0ZJTFRFUl9CQVJfUkVOREVSRVJfQ09NUE9ORU5ULFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICcgJyxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IGNvbHVtbi5yZXF1aXJlZCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdLFxuICAgICAgICAgICAgY2hvaWNlczogY29sdW1uLmhhc09wdGlvbnMgPyB0aGlzLl9nZXRGaWx0ZXJEZWZhdWx0T3B0aW9ucyhjb2x1bW4ua2V5LCBjb2x1bW4uZmlsdGVyVHlwZSkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB0cmFuc2Zvcm1lcjogKGl0ZW1WYWx1ZSkgPT4gZ2V0U2VsZWN0SXRlbVZhbHVlKGl0ZW1WYWx1ZSksXG4gICAgICAgICAgICBndWlPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbERhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IGNvbHVtbi5kYXRhVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVHlwZTogY29sdW1uLmZpbHRlclR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgIGNob2ljZXM6IGNvbHVtbi5oYXNPcHRpb25zID8gdGhpcy5fZ2V0RmlsdGVyQXZhaWxhYmxlT3B0aW9ucyhjb2x1bW4ua2V5KSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3aGVuOiAoKSA9PiB0aGlzLnNlbGVjdGVkRmlsdGVycyQoKS5pbmNsdWRlcyhjb2x1bW4ubmFtZSlcbiAgICAgICAgfSBhcyBTbWFydEZpbHRlckJhckR5bmFtaWNGb3JtRmllbGRJdGVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZXRyaWV2ZXMgYXZhaWxhYmxlIG9wdGlvbnMgZm9yIHBhcnRpY3VsYXIgY29sdW1uIGJ5IHVzaW5nIGRhdGEgc291cmNlIG1ldGhvZC5cbiAgICAgKiBAcGFyYW0gY29sdW1uIHByb3BlcnR5IG5hbWUgb2YgdGhlIGRhdGEgc291cmNlIGl0ZW1zLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFNlbGVjdEl0ZW1bXT59IE9ic2VydmFibGUgd2l0aCB0aGUgYXJyYXkgb2YgYXZhaWxhYmxlIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0RmlsdGVyQXZhaWxhYmxlT3B0aW9ucyhjb2x1bW46IHN0cmluZyk6ICgpID0+IE9ic2VydmFibGU8U2VsZWN0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB0aGlzLl9nZXRGaWVsZFZhcmlhbnRzKGNvbHVtbik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRGaWx0ZXJEZWZhdWx0T3B0aW9ucyhjb2x1bW46IHN0cmluZywgZmlsdGVyVHlwZTogRmlsdGVyVHlwZSk6ICgpID0+IFByb21pc2U8YW55W10+IHtcbiAgICAgICAgcmV0dXJuIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhbnRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fZ2V0RmllbGRWYXJpYW50cyhjb2x1bW4pLnBpcGUodGFrZSgxKSkpO1xuXG4gICAgICAgICAgICBjb25zdCBhdmFpbGFibGVEZWZhdWx0Q29uZGl0aW9uczogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25bXSA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB2YXJpYW50cykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbjogU21hcnRGaWx0ZXJCYXJDb25kaXRpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiAnZXF1YWxUbydcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgY29uZGl0aW9uLmRpc3BsYXlWYWx1ZSA9IGF3YWl0IHRoaXMuZ2V0RGlzcGxheVZhbHVlKGNvbmRpdGlvbiwgZmlsdGVyVHlwZSk7XG5cbiAgICAgICAgICAgICAgICBhdmFpbGFibGVEZWZhdWx0Q29uZGl0aW9ucy5wdXNoKGNvbmRpdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhdmFpbGFibGVEZWZhdWx0Q29uZGl0aW9ucztcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEZpZWxkVmFyaWFudHMoY29sdW1uOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlbGVjdEl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJqZWN0LmdldEZpZWxkVmFyaWFudHMoY29sdW1uKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIG1hcCgoZGF0YSkgPT4gZGF0YS5maWx0ZXIoKGl0ZW0sIGluZGV4KSA9PiBkYXRhLmZpbmRJbmRleCgoX2l0ZW0pID0+IF9pdGVtLnZhbHVlID09PSBpdGVtLnZhbHVlKSA9PT0gaW5kZXgpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0U3ViamVjdERlZmluaXRpb25zKCk6IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJqZWN0Py5nZXRTdWJqZWN0RmllbGRzKCkgfHwgW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFNldHMgcHJvdmlkZWQgZmlsdGVycyBkaXJlY3RseSB0byB0aGUgZGF0YSBzb3VyY2UuXG4gICAgICogQHBhcmFtIGZpbHRlcnMgYXJyYXkgb2YgZmlsdGVycy5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9hcHBseUZpbHRlcmluZyhmaWx0ZXJzOiBDb2xsZWN0aW9uRmlsdGVyR3JvdXBbXSk6IHZvaWQge1xuICAgICAgICAvLyBBcHBseSBvdXRzaWRlIGZpbHRlcmluZyBhbmQgZm9yY2Ugc3ViamVjdCB0byBmZXRjaCBuZXcgZGF0YS5cbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5zdWJqZWN0LmdldERhdGFTb3VyY2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJCeSA9IGZpbHRlcnM7XG4gICAgICAgIHNvdXJjZS5kYXRhUHJvdmlkZXIuc2V0RmlsdGVycyhmaWx0ZXJzLCB0aGlzLnNlYXJjaCk7XG4gICAgICAgIHRoaXMuc3ViamVjdC5nZXRTdWJqZWN0KCkuZmV0Y2goKTtcbiAgICAgICAgY29uc3QgZW1pdHRlZFZhbHVlOiBTbWFydEZpbHRlckJhck1hbmFnZWRQcmVzZXQgPSB7IHNlYXJjaDogdGhpcy5zZWFyY2gsIGZpbHRlckJ5OiB0aGlzLmZpbHRlckJ5IH07XG4gICAgICAgIHRoaXMuc21hcnRGaWx0ZXJzQXBwbGllZC5lbWl0KHsgLi4uZW1pdHRlZFZhbHVlLCBzdWJqZWN0OiB0aGlzLl9zdWJqZWN0IH0pO1xuXG4gICAgICAgIGlmICghdGhpcy5faWdub3JlUHJlc2V0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnByZXNldENoYW5nZWQuZW1pdChlbWl0dGVkVmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lnbm9yZVByZXNldENoYW5nZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVGcm9tU3ViamVjdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3ViamVjdFN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fc3ViamVjdFN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRTZWxlY3RlZEZpbHRlcnMoZmlsdGVyczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMkLnNldChmaWx0ZXJzLmZpbHRlcigoZjogc3RyaW5nLCBpOiBudW1iZXIpID0+IGZpbHRlcnMuaW5kZXhPZihmKSA9PT0gaSkpO1xuICAgICAgICB0aGlzLl9mb3JtR2VuZXJhdG9yLnJlZnJlc2hTdGVwc1Zpc2liaWxpdHkoKTtcbiAgICB9XG59XG4iLCJAaWYgKCFoaWRlVG9vbGJhcikge1xuICAgIDxmZC10b29sYmFyIGZkVHlwZT1cInRyYW5zcGFyZW50XCI+XG4gICAgICAgIEBpZiAoX3Rvb2xiYXJJdGVtcykge1xuICAgICAgICAgICAgQGZvciAodGVtcGxhdGUgb2YgX3Rvb2xiYXJJdGVtczsgdHJhY2sgdGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvcj48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIDxmZHAtc2VhcmNoLWZpZWxkXG4gICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwib25TZWFyY2hJbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChzZWFyY2hTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCJcbiAgICAgICAgICAgIChjYW5jZWxTZWFyY2gpPVwiY2FuY2VsU2VhcmNoKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgW2Rpc2FibGVSZWZyZXNoXT1cInRydWVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnNlYXJjaFBsYWNlaG9sZGVyJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgPjwvZmRwLXNlYXJjaC1maWVsZD5cbiAgICAgICAgPGZkLXRvb2xiYXItc3BhY2VyPjwvZmQtdG9vbGJhci1zcGFjZXI+XG4gICAgICAgIEBpZiAoIWxpdmVVcGRhdGUpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCJcbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnN1Ym1pdEJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJzdWJtaXRGb3JtKClcIlxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICBnbHlwaD1cInN5bmNocm9uaXplXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ3BsYXRmb3JtU21hcnRGaWx0ZXJCYXIucmVmcmVzaEJ1dHRvbkFyaWFMYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwic2hvd0ZpbHRlcmluZ1NldHRpbmdzKClcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlcnNCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZTogeyBmaWx0ZXJzQ291bnQ6IHNlbGVjdGVkRmlsdGVyc0NvdW50JCgpIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVGaWx0ZXJCYXIoKVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgKHNob3dGaWx0ZXJCYXIkKClcbiAgICAgICAgICAgICAgICAgICAgPyAncGxhdGZvcm1TbWFydEZpbHRlckJhci5oaWRlRmlsdGVyc0J1dHRvbkxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICA6ICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnNob3dGaWx0ZXJzQnV0dG9uTGFiZWwnXG4gICAgICAgICAgICAgICAgKSB8IGZkVHJhbnNsYXRlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ1wiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2ZkLXRvb2xiYXI+XG59XG5AaWYgKF9mb3JtSXRlbXMoKTsgYXMgZm9ybUl0ZW1zKSB7XG4gICAgPGRpdiBjbGFzcz1cImZkcC1zbWFydC1maWx0ZXItYmFyX19maWx0ZXJzXCIgW2hpZGRlbl09XCIhc2hvd0ZpbHRlckJhciQoKVwiPlxuICAgICAgICA8ZmRwLWZvcm0tZ2VuZXJhdG9yXG4gICAgICAgICAgICAoZm9ybUNyZWF0ZWQpPVwiX29uRm9ybUNyZWF0ZWQoKVwiXG4gICAgICAgICAgICAoZm9ybVN1Ym1pdHRlZCk9XCJfb25Gb3JtU3VibWl0dGVkKCRldmVudClcIlxuICAgICAgICAgICAgW25vQWRkaXRpb25hbENvbnRlbnRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZm9ybUl0ZW1zXT1cImZvcm1JdGVtc1wiXG4gICAgICAgICAgICBbY29sdW1uTGF5b3V0XT1cImZpbHRlcnNDb2x1bW5MYXlvdXRcIlxuICAgICAgICA+PC9mZHAtZm9ybS1nZW5lcmF0b3I+XG4gICAgPC9kaXY+XG59XG4iXX0=
551
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NtYXJ0LWZpbHRlci1iYXIvc21hcnQtZmlsdGVyLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NtYXJ0LWZpbHRlci1iYXIvc21hcnQtZmlsdGVyLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEgsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pFLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUdILHNCQUFzQixFQUN0QixvQkFBb0IsRUFFdkIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQUUsNEJBQTRCLEVBQWMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RixPQUFPLEVBQXlCLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxN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Q0ksT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyx5QkFBeUI7eUJBQ3ZDO3FCQUNKLFFBQ0s7d0JBQ0YsS0FBSyxFQUFFLHNCQUFzQjt3QkFDN0IsMkNBQTJDLEVBQUUsYUFBYTtxQkFDN0QsY0FDVyxJQUFJLFdBQ1A7d0JBQ0wsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLGVBQWU7cUJBQ2xCO3FLQU9rQyxjQUFjO3NCQUFoRCxTQUFTO3VCQUFDLHNCQUFzQjtnQkFNN0IsT0FBTztzQkFEVixLQUFLO2dCQVlOLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFPdEMsbUJBQW1CO3NCQURsQixLQUFLO2dCQU9OLFVBQVU7c0JBRFQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFPdEMsV0FBVztzQkFEVixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU90QyxtQkFBbUI7c0JBRGxCLE1BQU07Z0JBT1AsbUJBQW1CO3NCQURsQixNQUFNO2dCQU9QLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFJVSxnQkFBZ0I7c0JBRGhDLGVBQWU7dUJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFByb3ZpZGVyLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBzaWduYWwsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBEaWFsb2dDb25maWcsIERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7XG4gICAgRHluYW1pY0Zvcm1GaWVsZEl0ZW0sXG4gICAgRHluYW1pY0Zvcm1JdGVtLFxuICAgIEZvcm1HZW5lcmF0b3JDb21wb25lbnQsXG4gICAgRm9ybUdlbmVyYXRvclNlcnZpY2UsXG4gICAgUHJlcGFyZWREeW5hbWljRm9ybUZpZWxkSXRlbVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL2Zvcm0nO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NlYXJjaC1maWVsZCc7XG5pbXBvcnQgeyBGRFBfUFJFU0VUX01BTkFHRURfQ09NUE9ORU5ULCBTZWxlY3RJdGVtIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkZpbHRlckdyb3VwLCBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUsIEZpbHRlclR5cGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3RhYmxlJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICBUb29sYmFySXRlbURpcmVjdGl2ZSxcbiAgICBUb29sYmFyU2VwYXJhdG9yQ29tcG9uZW50LFxuICAgIFRvb2xiYXJTcGFjZXJEaXJlY3RpdmVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Rvb2xiYXInO1xuaW1wb3J0IHsgRmRUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IFNlYXJjaEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zZWFyY2gtZmllbGQnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJDb25kaXRpb25GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zbWFydC1maWx0ZXItYmFyLWNvbmRpdGlvbi1maWVsZC9zbWFydC1maWx0ZXItYmFyLWNvbmRpdGlvbi1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTZXR0aW5nc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZy9zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU01BUlRfRklMVEVSX0JBUl9SRU5ERVJFUl9DT01QT05FTlQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhclN1YmplY3REaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc21hcnQtZmlsdGVyLWJhci1zdWJqZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhclRvb2xiYXJJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NtYXJ0LWZpbHRlci1iYXItdG9vbGJhci1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBnZXRTZWxlY3RJdGVtVmFsdWUgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJNYW5hZ2VkUHJlc2V0LCBTbWFydEZpbHRlckNoYW5nZU9iamVjdCB9IGZyb20gJy4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLWNoYW5nZSc7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhckNvbmRpdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBTbWFydEZpbHRlckJhckZpZWxkRGVmaW5pdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLWZpZWxkLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJTZXR0aW5nc0RpYWxvZ0NvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItYmFyLXNldHRpbmdzLWRpYWxvZy1jb25maWcnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJEeW5hbWljRm9ybUZpZWxkSXRlbSB9IGZyb20gJy4vaW50ZXJmYWNlcy9zbWFydC1maWx0ZXItZHluYW1pYy1mb3JtLWl0ZW0nO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXIgfSBmcm9tICcuL3NtYXJ0LWZpbHRlci1iYXIuY2xhc3MnO1xuaW1wb3J0IHsgU21hcnRGaWx0ZXJCYXJTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1maWx0ZXItYmFyLnNlcnZpY2UnO1xuXG5jb25zdCBkZWZhdWx0Q29sdW1uc0xheW91dCA9ICdYTDQtTDMtTTItUzEnO1xuXG5mdW5jdGlvbiBnZXRDb2x1bW5zTnVtYmVyKGxheW91dDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoXG4gICAgICAgIC4uLmxheW91dC5zcGxpdCgnLScpLm1hcCgocGFydCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hBcnJheSA9IHBhcnQubWF0Y2goL1xcZCsvKTtcblxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoQXJyYXkgPyBwYXJzZUludChtYXRjaEFycmF5WzBdLCAxMCkgOiAxO1xuICAgICAgICB9KVxuICAgICk7XG59XG5cbi8qKlxuICogRGVmYXVsdCBkaWFsb2cgY29uZmlndXJhdGlvbi5cbiAqL1xuY29uc3QgZGlhbG9nQ29uZmlnOiBEaWFsb2dDb25maWcgPSB7XG4gICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWUsXG4gICAgdmVydGljYWxQYWRkaW5nOiB0cnVlLFxuICAgIG1pbldpZHRoOiAnMzByZW0nLFxuICAgIC8qKiA4OHB4IGl0J3MgdGhlIGhlYWRlciArIGZvb3RlciBoZWlnaHQgKi9cbiAgICBib2R5TWluSGVpZ2h0OiAnY2FsYyg1MHZoIC0gNS41cmVtKSdcbn07XG5cbmNvbnN0IHNtYXJ0RmlsdGVyQmFyUHJvdmlkZXI6IFByb3ZpZGVyID0ge1xuICAgIHByb3ZpZGU6IFNtYXJ0RmlsdGVyQmFyLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNtYXJ0RmlsdGVyQmFyQ29tcG9uZW50KVxufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtc21hcnQtZmlsdGVyLWJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zbWFydC1maWx0ZXItYmFyLmNvbXBvbmVudC5zY3NzJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBzbWFydEZpbHRlckJhclByb3ZpZGVyLFxuICAgICAgICBTbWFydEZpbHRlckJhclNlcnZpY2UsXG4gICAgICAgIEZvcm1HZW5lcmF0b3JTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRFBfUFJFU0VUX01BTkFHRURfQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNtYXJ0RmlsdGVyQmFyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZHAtc21hcnQtZmlsdGVyLWJhcicsXG4gICAgICAgICdbY2xhc3MuZmRwLXNtYXJ0LWZpbHRlci1iYXItLXRyYW5zcGFyZW50XSc6ICd0cmFuc3BhcmVudCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUb29sYmFyU2VwYXJhdG9yQ29tcG9uZW50LFxuICAgICAgICBTZWFyY2hGaWVsZENvbXBvbmVudCxcbiAgICAgICAgVG9vbGJhclNwYWNlckRpcmVjdGl2ZSxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBUb29sYmFySXRlbURpcmVjdGl2ZSxcbiAgICAgICAgRm9ybUdlbmVyYXRvckNvbXBvbmVudCxcbiAgICAgICAgRmRUcmFuc2xhdGVQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckJhckNvbXBvbmVudCBleHRlbmRzIFNtYXJ0RmlsdGVyQmFyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRm9ybSBnZW5lcmF0b3IgY29tcG9uZW50IGluc3RhbmNlLlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoRm9ybUdlbmVyYXRvckNvbXBvbmVudCkgX2Zvcm1HZW5lcmF0b3IhOiBGb3JtR2VuZXJhdG9yQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogU3ViamVjdCB3aGljaCB3aWxsIHByb3ZpZGUgY29uZmlndXJhdGlvbiBkYXRhOiBkYXRhIHNvdXJjZSwgY29sdW1ucyBkZWZpbml0aW9ucywgZXRjLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHN1YmplY3QodmFsdWU6IFNtYXJ0RmlsdGVyQmFyU3ViamVjdERpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLl9zZXRTdWJqZWN0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc3ViamVjdCgpOiBTbWFydEZpbHRlckJhclN1YmplY3REaXJlY3RpdmUge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3ViamVjdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogV2hldGhlciBzbWFydCBmaWx0ZXIgYmFyIGJhY2tncm91bmQgc2hvdWxkIGJlIHRyYW5zcGFyZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHRyYW5zcGFyZW50ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBDb2x1bW5zIGxheW91dC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZpbHRlcnNDb2x1bW5MYXlvdXQ6IE51bGxhYmxlPHN0cmluZz4gPSBkZWZhdWx0Q29sdW1uc0xheW91dDtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gdXBkYXRlIGZpbHRlcnMgd2hlbiB0aGV5IGFyZSBzZWxlY3RlZC4gT3RoZXJ3aXNlLCBmaWx0ZXJzIHdpbGwgYmUgYXBwbGllZCBvbmx5IGJ5IHByZXNzaW5nIFwiR29cIiBidXR0b24uXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgbGl2ZVVwZGF0ZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBoaWRlIFRvb2xiYXIuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgaGlkZVRvb2xiYXIgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgZmlsdGVycyBoYXZlIGJlZW4gY2hhbmdlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzbWFydEZpbHRlcnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8U21hcnRGaWx0ZXJDaGFuZ2VPYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxTbWFydEZpbHRlckNoYW5nZU9iamVjdD4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBzZWxlY3RlZCBmaWx0ZXJzIGhhcyBiZWVuIGFwcGxpZWQgKFVzZXIgY2xpY2tlZCBvbiBHbyBidXR0b24pLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNtYXJ0RmlsdGVyc0FwcGxpZWQ6IEV2ZW50RW1pdHRlcjxTbWFydEZpbHRlckNoYW5nZU9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNtYXJ0RmlsdGVyQ2hhbmdlT2JqZWN0PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHNlYXJjaCBpbnB1dCBmaWVsZCB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlYXJjaElucHV0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPFNlYXJjaElucHV0PiA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoSW5wdXQ+KCk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFNtYXJ0RmlsdGVyQmFyVG9vbGJhckl0ZW1EaXJlY3RpdmUpXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdG9vbGJhckl0ZW1SZWZzOiBRdWVyeUxpc3Q8U21hcnRGaWx0ZXJCYXJUb29sYmFySXRlbURpcmVjdGl2ZT47XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVkIGFycmF5IG9mIGZpbHRlcnMgdG8gYXBwbHkgZm9yIHRoZSBzdWJqZWN0J3MgZGF0YSBzb3VyY2UuXG4gICAgICovXG4gICAgZmlsdGVyQnk6IENvbGxlY3Rpb25GaWx0ZXJHcm91cFtdID0gW107XG5cbiAgICAvKiogV2hldGhlciB0aGUgZmlsdGVycyBzZWN0aW9uIHNob3VsZCBiZSBzaG93bi4gKi9cbiAgICBzaG93RmlsdGVyQmFyJCA9IHNpZ25hbCh0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIFNlYXJjaCBmaWVsZCB2YWx1ZSB0byBhcHBseSBmb3IgdGhlIHN1YmplY3QncyBkYXRhIHNvdXJjZS5cbiAgICAgKi9cbiAgICBzZWFyY2g6IFNlYXJjaElucHV0IHwgdW5kZWZpbmVkO1xuICAgIC8qKiBASGlkZGVuICovXG4gICAgX3Rvb2xiYXJJdGVtczogVGVtcGxhdGVSZWY8YW55PltdID0gW107XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZm9ybUl0ZW1zID0gc2lnbmFsPER5bmFtaWNGb3JtSXRlbVtdIHwgbnVsbD4obnVsbCk7XG4gICAgLyoqIFNlbGVjdGVkIGZpbHRlcnMuICovXG4gICAgc2VsZWN0ZWRGaWx0ZXJzJCA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xuXG4gICAgLyoqIFNlbGVjdGVkIGZpbHRlcnMgY291bnQuICovXG4gICAgc2VsZWN0ZWRGaWx0ZXJzQ291bnQkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZWxlY3RlZEZpbHRlcnMkKCkubGVuZ3RoKTtcblxuICAgIC8qKiBMb2FkaW5nIHN0YXRlLiAqL1xuICAgIGdldCBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3ViamVjdD8uZ2V0RGF0YVNvdXJjZSgpID8gdGhpcy5fc3ViamVjdC5nZXREYXRhU291cmNlKCkuaXNEYXRhTG9hZGluZyA6IHRydWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJqZWN0U3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUdlbmVyYXRvclJlYWR5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lnbm9yZVByZXNldENoYW5nZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJqZWN0ITogU21hcnRGaWx0ZXJCYXJTdWJqZWN0RGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogU21hcnQgZmlsdGVyIGJhciBzZXJ2aWNlIG1heSBiZSBwcm92aWRlZCBieSBwYXJlbnQgY29tcG9uZW50IHRoYXQgYWRkcyBjdXN0b20gY29uZmlndXJhdGlvbiwgc28gd2UgbmVlZCB0byBjaGVjayBpZiBpdCdzIHByb3ZpZGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NtYXJ0RmlsdGVyQmFyU2VydmljZSA9XG4gICAgICAgIGluamVjdChTbWFydEZpbHRlckJhclNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUsIHNraXBTZWxmOiB0cnVlIH0pID8/XG4gICAgICAgIGluamVjdChTbWFydEZpbHRlckJhclNlcnZpY2UsIHsgc2VsZjogdHJ1ZSB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2ZnU2VydmljZTogRm9ybUdlbmVyYXRvclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZjogRGVzdHJveVJlZlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9mZ1NlcnZpY2UuYWRkQ29tcG9uZW50KFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uRmllbGRDb21wb25lbnQsIFtTTUFSVF9GSUxURVJfQkFSX1JFTkRFUkVSX0NPTVBPTkVOVF0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX3Rvb2xiYXJJdGVtUmVmcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKG51bGwpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Rvb2xiYXJJdGVtcyA9IHRoaXMuX3Rvb2xiYXJJdGVtUmVmcy50b0FycmF5KCkubWFwKChyZWYpID0+IHJlZi50ZW1wbGF0ZVJlZik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVGcm9tU3ViamVjdCgpO1xuICAgICAgICB0aGlzLl9yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyBjb25kaXRpb24gdmFsdWUgaW50byBodW1hbi1yZWFkYWJsZSB0ZXh0LlxuICAgICAqIEBwYXJhbSBjb25kaXRpb24gU21hcnQgZmlsdGVyIGJhciBjb25kaXRpb24uXG4gICAgICogQHBhcmFtIGZpbHRlclR5cGUgQ29uZGl0aW9uIGZpbHRlciB0eXBlLlxuICAgICAqL1xuICAgIGFzeW5jIGdldERpc3BsYXlWYWx1ZShjb25kaXRpb246IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uLCBmaWx0ZXJUeXBlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc21hcnRGaWx0ZXJCYXJTZXJ2aWNlLmdldERpc3BsYXlWYWx1ZShjb25kaXRpb24sIGZpbHRlclR5cGUpO1xuICAgIH1cblxuICAgIC8qKiBPcGVuIEZpbHRlcmluZyBTZXR0aW5ncyBEaWFsb2cgKi9cbiAgICBzaG93RmlsdGVyaW5nU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLl9nZXRTdWJqZWN0RGVmaW5pdGlvbnMoKTtcbiAgICAgICAgY29uc3QgZGlhbG9nRGF0YTogU21hcnRGaWx0ZXJTZXR0aW5nc0RpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgIGZpZWxkczogY29sdW1ucyxcbiAgICAgICAgICAgIGZpbHRlckJ5OiB0aGlzLmZpbHRlckJ5LFxuICAgICAgICAgICAgc2VsZWN0ZWRGaWx0ZXJzOiB0aGlzLnNlbGVjdGVkRmlsdGVycyQoKVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihcbiAgICAgICAgICAgIFNtYXJ0RmlsdGVyQmFyU2V0dGluZ3NEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgICAgIGRpc2FibGVQYWRkaW5nczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB3aWR0aDogJzUwcmVtJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkaWFsb2dEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5faW5qZWN0b3JcbiAgICAgICAgKTtcblxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHNlbGVjdGVkRmlsdGVyczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRTZWxlY3RlZEZpbHRlcnMoc2VsZWN0ZWRGaWx0ZXJzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge31cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIENhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gc2VhcmNoIHF1ZXJ5IGNoYW5nZWQuICovXG4gICAgb25TZWFyY2hJbnB1dENoYW5nZShldmVudDogU2VhcmNoSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2ggPSBldmVudDtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dENoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIENsZWFyIHNlYXJjaCBxdWVyeS4gKi9cbiAgICBjYW5jZWxTZWFyY2goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmICh0aGlzLmxpdmVVcGRhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3VibWl0Rm9ybSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3VibWl0cyBmaWx0ZXJzIGFuZCBzZWFyY2ggZm9ybS5cbiAgICAgKi9cbiAgICBzdWJtaXRGb3JtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtR2VuZXJhdG9yLnN1Ym1pdCgpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgZm9yIHNldHRpbmcgcHJlZGVmaW5lZCBjb25maWd1cmF0aW9uLiAqL1xuICAgIGFzeW5jIHNldFByZXNldChkYXRhOiBTbWFydEZpbHRlckJhck1hbmFnZWRQcmVzZXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5faWdub3JlUHJlc2V0Q2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgZGF0YS5maWx0ZXJCeSA9IGRhdGEuZmlsdGVyQnkgfHwgW107XG4gICAgICAgIHRoaXMuZmlsdGVyQnkgPSBkYXRhLmZpbHRlckJ5O1xuICAgICAgICB0aGlzLnNlYXJjaCA9IGRhdGEuc2VhcmNoO1xuXG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgICAgIHRoaXMuX2Zvcm1HZW5lcmF0b3JSZWFkeVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9yZWZyZXNoJClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFJlc2V0IGZvcm1cbiAgICAgICAgICAgICAgICB0aGlzLl9mZ1NlcnZpY2UucmVzZXRGb3JtKHRoaXMuX2Zvcm1HZW5lcmF0b3IuZm9ybSk7XG5cbiAgICAgICAgICAgICAgICAvLyBTZXQgbmV3IGRhdGFcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGZpbHRlckJ5IG9mIHRoaXMuZmlsdGVyQnkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuX2ZnU2VydmljZS5nZXRGb3JtQ29udHJvbCh0aGlzLl9mb3JtR2VuZXJhdG9yLmZvcm0sIGZpbHRlckJ5LmZpZWxkKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybUl0ZW0gPSBjb250cm9sLmZvcm1JdGVtIGFzIFByZXBhcmVkRHluYW1pY0Zvcm1GaWVsZEl0ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29uZGl0aW9uID0gdGhpcy5fc21hcnRGaWx0ZXJCYXJTZXJ2aWNlLnRyYW5zZm9ybUNvbGxlY3Rpb25GaWx0ZXIoZmlsdGVyQnkpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQ29uZGl0aW9ucyA9IGF3YWl0IHRoaXMuX3NtYXJ0RmlsdGVyQmFyU2VydmljZS5nZXRDb25kaXRpb25GaWVsZFNlbGVjdGVkVmFyaWFudHMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sPy5zZXRWYWx1ZShzZWxlY3RlZENvbmRpdGlvbnMpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuX3NldFNlbGVjdGVkRmlsdGVycyh0aGlzLmZpbHRlckJ5Lm1hcCgoZmlsdGVyQnkpID0+IGZpbHRlckJ5LmZpZWxkKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSB0aGlzLnN1YmplY3QuZ2V0RGF0YVNvdXJjZSgpO1xuICAgICAgICAgICAgICAgIHNvdXJjZS5kYXRhUHJvdmlkZXIuc2V0RmlsdGVycyh0aGlzLmZpbHRlckJ5LCB0aGlzLnNlYXJjaCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJqZWN0LmdldFN1YmplY3QoKS5mZXRjaCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgY3VycmVudCBwcmVzZXQgY29uZmlndXJhdGlvbi4gKi9cbiAgICBnZXRDdXJyZW50UHJlc2V0KCk6IFNtYXJ0RmlsdGVyQmFyTWFuYWdlZFByZXNldCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoLFxuICAgICAgICAgICAgZmlsdGVyQnk6IHRoaXMuZmlsdGVyQnlcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBmb3JtIGdlbmVyYXRvciBmb3JtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSB2YWxpZGF0ZWQgYW5kIHN1Ym1pdHRlZC5cbiAgICAgKi9cbiAgICBfb25Gb3JtU3VibWl0dGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29uZGl0aW9ucyA9IHRoaXMuX2dlbmVyYXRlQ29sbGVjdGlvbkZpbHRlckdyb3VwcyhldmVudCk7XG4gICAgICAgIHRoaXMuX2FwcGx5RmlsdGVyaW5nKGNvbmRpdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBDYWxsYmFjayBtZXRob2Qgd2hlbiBmb3JtIGhhcyBiZWVuIGNyZWF0ZWQuXG4gICAgICogUG9wdWxhdGVzIHNlbGVjdGVkIGZpbHRlcnMgYXJyYXkgd2l0aCB1c2VyLWRlZmluZWQgZGVmYXVsdCBmaWx0ZXJzLlxuICAgICAqL1xuICAgIF9vbkZvcm1DcmVhdGVkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJqZWN0KSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRTZWxlY3RlZEZpbHRlcnMoWy4uLnRoaXMuc3ViamVjdC5nZXREZWZhdWx0RmllbGRzKCksIC4uLnRoaXMuc2VsZWN0ZWRGaWx0ZXJzJCgpXSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9mb3JtR2VuZXJhdG9yLmZvcm0udmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTApLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb25kaXRpb25zID0gYXdhaXQgdGhpcy5nZXRGb3JtYXR0ZWRDb25kaXRpb25zKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zbWFydEZpbHRlcnNDaGFuZ2VkLmVtaXQoeyBmaWx0ZXJCeTogY29uZGl0aW9ucywgc2VhcmNoOiB0aGlzLnNlYXJjaCwgc3ViamVjdDogdGhpcy5zdWJqZWN0IH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmxpdmVVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9hcHBseUZpbHRlcmluZyhjb25kaXRpb25zKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2Zvcm1HZW5lcmF0b3JSZWFkeS5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgU21hcnQgRmlsdGVyIEJhciBmaWx0ZXJzIHNlY3Rpb24uXG4gICAgICovXG4gICAgdG9nZ2xlRmlsdGVyQmFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dGaWx0ZXJCYXIkLnVwZGF0ZSgoc2hvdykgPT4gIXNob3cpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm1hdHMgcmF3IGZpbHRlcnMgb2JqZWN0IGludG8gYXJyYXkgb2YgZ3JvdXBlZCBmaWx0ZXJzLlxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGdyb3VwZWQgZmlsdGVycy5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRGb3JtYXR0ZWRDb25kaXRpb25zKCk6IFByb21pc2U8Q29sbGVjdGlvbkZpbHRlckdyb3VwW10+IHtcbiAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gYXdhaXQgdGhpcy5fZmdTZXJ2aWNlLmdldEZvcm1WYWx1ZSh0aGlzLl9mb3JtR2VuZXJhdG9yLmZvcm0pO1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2VuZXJhdGVDb2xsZWN0aW9uRmlsdGVyR3JvdXBzKGZvcm1WYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUNvbGxlY3Rpb25GaWx0ZXJHcm91cHModmFsdWU6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25bXTtcbiAgICB9KTogQ29sbGVjdGlvbkZpbHRlckdyb3VwW10ge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uRmlsdGVyR3JvdXBzOiBDb2xsZWN0aW9uRmlsdGVyR3JvdXBbXSA9IFtdO1xuXG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLl9nZXRTdWJqZWN0RGVmaW5pdGlvbnMoKTtcblxuICAgICAgICBPYmplY3QuZW50cmllcyh2YWx1ZSlcbiAgICAgICAgICAgIC5maWx0ZXIoKFssIGZpZWxkQ29uZGl0aW9uc10pID0+ICEhZmllbGRDb25kaXRpb25zKVxuICAgICAgICAgICAgLmZvckVhY2goKFtmaWVsZE5hbWUsIGZpZWxkQ29uZGl0aW9uc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gZmllbGROYW1lKSBhcyBTbWFydEZpbHRlckJhckZpZWxkRGVmaW5pdGlvbjtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJHcm91cDogQ29sbGVjdGlvbkZpbHRlckdyb3VwID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgc3RyYXRlZ3k6IGNvbHVtbi5jb25kaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5rZXlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGZpZWxkQ29uZGl0aW9ucy5mb3JFYWNoKChjb25kaXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyR3JvdXAuZmlsdGVycy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmF0ZWd5OiBjb25kaXRpb24ub3BlcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZDogY29sdW1uLmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBjb25kaXRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTI6IGNvbmRpdGlvbi52YWx1ZTIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2x1bW4uZGF0YVR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uRmlsdGVyR3JvdXBzLnB1c2goZmlsdGVyR3JvdXApO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGVtcHR5IGZpbHRlciBvYmplY3RzLlxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbkZpbHRlckdyb3Vwcy5maWx0ZXIoKGZpbHRlckdyb3VwKSA9PiBmaWx0ZXJHcm91cC5maWx0ZXJzPy5sZW5ndGggPiAwKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFN1YmplY3Qoc3ViamVjdDogU21hcnRGaWx0ZXJCYXJTdWJqZWN0RGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIGlmICghc3ViamVjdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc3ViamVjdCA9IHN1YmplY3Q7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVGcm9tU3ViamVjdCgpO1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub1N1YmplY3RDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlRnJvbVN1YmplY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc3ViamVjdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3N1YmplY3RTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub1N1YmplY3RDb2x1bW5zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJqZWN0U3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdGhpcy5fc3ViamVjdFN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgdGhpcy5fc3ViamVjdC5maWVsZHNTdHJlYW0uc3Vic2NyaWJlKGFzeW5jIChjb2x1bW5zOiBTbWFydEZpbHRlckJhckZpZWxkRGVmaW5pdGlvbltdKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZ2VuZXJhdGVGb3JtKGNvbHVtbnMuZmlsdGVyKChjKSA9PiBjLmZpbHRlcmFibGUpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEdlbmVyYXRlcyBmb3JtIGl0ZW1zIHRvIGJlIGNvbnN1bWVkIGJ5IGZvcm0gZ2VuZXJhdG9yIGNvbXBvbmVudC5cbiAgICAgKiBAcGFyYW0gY29sdW1ucyBjb2x1bW5zIGRlZmluaXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIGFzeW5jIF9nZW5lcmF0ZUZvcm0oY29sdW1uczogU21hcnRGaWx0ZXJCYXJGaWVsZERlZmluaXRpb25bXSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBpdGVtczogRHluYW1pY0Zvcm1GaWVsZEl0ZW1bXSA9IFtdO1xuICAgICAgICBjb25zdCBjb2x1bW5zTnVtYmVyID0gZ2V0Q29sdW1uc051bWJlcih0aGlzLmZpbHRlcnNDb2x1bW5MYXlvdXQgPz8gJycpO1xuICAgICAgICBsZXQgY3VycmVudENvbHVtbiA9IDE7XG5cbiAgICAgICAgaWYgKGNvbHVtbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgbGV0IGl0ZW06IFNtYXJ0RmlsdGVyQmFyRHluYW1pY0Zvcm1GaWVsZEl0ZW0gPSB0aGlzLl9nZW5lcmF0ZUJhc2VGaWVsZEl0ZW0oY29sdW1uKTtcblxuICAgICAgICAgICAgaWYgKGNvbHVtbi5yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzJC51cGRhdGUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVycy5wdXNoKGNvbHVtbi5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlcnM7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN3aXRjaCAoY29sdW1uLmZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuU0lOR0xFOlxuICAgICAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5DQVRFR09SWTpcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5ndWlPcHRpb25zLmFkZGl0aW9uYWxEYXRhLnR5cGUgPSAnc2VsZWN0JztcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5ndWlPcHRpb25zLmlubGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuTVVMVEk6XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YS50eXBlID0gJ211bHRpLWlucHV0JztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLkNVU1RPTTpcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9IHRoaXMuX2dlbmVyYXRlQ3VzdG9tRmlsdGVyRmllbGRJdGVtKGNvbHVtbiwgaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5JTlBVVDpcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBpdGVtID0gdGhpcy5fZ2VuZXJhdGVJbnB1dEZpZWxkSXRlbShjb2x1bW4sIGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaXRlbS5ndWlPcHRpb25zLmNvbHVtbiA9IGN1cnJlbnRDb2x1bW47XG4gICAgICAgICAgICBjdXJyZW50Q29sdW1uICs9IDE7XG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50Q29sdW1uID4gY29sdW1uc051bWJlcikge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRDb2x1bW4gPSAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9mb3JtSXRlbXMuc2V0KGl0ZW1zKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dlbmVyYXRlQ3VzdG9tRmlsdGVyRmllbGRJdGVtKFxuICAgICAgICBjb2x1bW46IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uLFxuICAgICAgICBpdGVtOiBTbWFydEZpbHRlckJhckR5bmFtaWNGb3JtRmllbGRJdGVtXG4gICAgKTogU21hcnRGaWx0ZXJCYXJEeW5hbWljRm9ybUZpZWxkSXRlbSB7XG4gICAgICAgIGlmICghY29sdW1uLmN1c3RvbUZpbHRlclR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9XG4gICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YS50eXBlID0gY29sdW1uLmN1c3RvbUZpbHRlclR5cGU7XG4gICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YSA9IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICBpdGVtLmd1aU9wdGlvbnMuYWRkaXRpb25hbERhdGEsXG4gICAgICAgICAgICB0aGlzLl9zbWFydEZpbHRlckJhclNlcnZpY2UuZ2V0Q3VzdG9tRmlsdGVyQ29uZmlndXJhdGlvbihjb2x1bW4uY3VzdG9tRmlsdGVyVHlwZSlcbiAgICAgICAgKTtcblxuICAgICAgICBpdGVtLnR5cGUgPSBpdGVtLmd1aU9wdGlvbnMuYWRkaXRpb25hbERhdGEucmVuZGVyZXJDb21wb25lbnRcbiAgICAgICAgICAgID8gYCR7aXRlbS5ndWlPcHRpb25zLmFkZGl0aW9uYWxEYXRhLnR5cGV9LXJlbmRlcmVyYFxuICAgICAgICAgICAgOiBpdGVtLnR5cGU7XG4gICAgICAgIGl0ZW0udHJhbnNmb3JtZXIgPSBpdGVtLmd1aU9wdGlvbnMuYWRkaXRpb25hbERhdGEudmFsdWVUcmFuc2Zvcm1lcjtcblxuICAgICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogR2VuZXJhdGVzIGZvcm0gaXRlbSBiYXNlZCBvbiBkYXRhIHR5cGUuXG4gICAgICogQHBhcmFtIGNvbHVtblxuICAgICAqIEBwYXJhbSBpdGVtXG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUlucHV0RmllbGRJdGVtKFxuICAgICAgICBjb2x1bW46IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uLFxuICAgICAgICBpdGVtOiBTbWFydEZpbHRlckJhckR5bmFtaWNGb3JtRmllbGRJdGVtXG4gICAgKTogU21hcnRGaWx0ZXJCYXJEeW5hbWljRm9ybUZpZWxkSXRlbSB7XG4gICAgICAgIHN3aXRjaCAoY29sdW1uLmRhdGFUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpbHRlcmFibGVDb2x1bW5EYXRhVHlwZS5EQVRFOlxuICAgICAgICAgICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YS50eXBlID0gJ2RhdGVwaWNrZXInO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUuTlVNQkVSOlxuICAgICAgICAgICAgICAgIGl0ZW0uZ3VpT3B0aW9ucy5hZGRpdGlvbmFsRGF0YS5jb250cm9sVHlwZSA9ICdudW1iZXInO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJhYmxlQ29sdW1uRGF0YVR5cGUuQk9PTEVBTjpcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyYWJsZUNvbHVtbkRhdGFUeXBlLlNUUklORzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaXRlbS5ndWlPcHRpb25zLmFkZGl0aW9uYWxEYXRhLmNvbnRyb2xUeXBlID0gJ3RleHQnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEdlbmVyYXRlcyBiYXNlIGZvcm0gaXRlbSBvYmplY3QgdG8gYmUgY29uc3VtZWQgYnkgZm9ybSBnZW5lcmF0b3IgY29tcG9uZW50LlxuICAgICAqIEBwYXJhbSBjb2x1bW4gY29sdW1uIGRlZmluaXRpb25cbiAgICAgKiBAcmV0dXJucyBiYXNlIGZvcm0gaXRlbSBvYmplY3QuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVCYXNlRmllbGRJdGVtKGNvbHVtbjogU21hcnRGaWx0ZXJCYXJGaWVsZERlZmluaXRpb24pOiBTbWFydEZpbHRlckJhckR5bmFtaWNGb3JtRmllbGRJdGVtIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IGNvbHVtbi5uYW1lLFxuICAgICAgICAgICAgbWVzc2FnZTogY29sdW1uLmxhYmVsLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IGNvbHVtbi5yZXF1aXJlZCxcbiAgICAgICAgICAgIHR5cGU6IFNNQVJUX0ZJTFRFUl9CQVJfUkVOREVSRVJfQ09NUE9ORU5ULFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICcgJyxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IGNvbHVtbi5yZXF1aXJlZCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdLFxuICAgICAgICAgICAgY2hvaWNlczogY29sdW1uLmhhc09wdGlvbnMgPyB0aGlzLl9nZXRGaWx0ZXJEZWZhdWx0T3B0aW9ucyhjb2x1bW4ua2V5LCBjb2x1bW4uZmlsdGVyVHlwZSkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB0cmFuc2Zvcm1lcjogKGl0ZW1WYWx1ZSkgPT4gZ2V0U2VsZWN0SXRlbVZhbHVlKGl0ZW1WYWx1ZSksXG4gICAgICAgICAgICBndWlPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbERhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lucHV0JyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IGNvbHVtbi5kYXRhVHlwZSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVHlwZTogY29sdW1uLmZpbHRlclR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgIGNob2ljZXM6IGNvbHVtbi5oYXNPcHRpb25zID8gdGhpcy5fZ2V0RmlsdGVyQXZhaWxhYmxlT3B0aW9ucyhjb2x1bW4ua2V5KSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3aGVuOiAoKSA9PiB0aGlzLnNlbGVjdGVkRmlsdGVycyQoKS5pbmNsdWRlcyhjb2x1bW4ubmFtZSlcbiAgICAgICAgfSBhcyBTbWFydEZpbHRlckJhckR5bmFtaWNGb3JtRmllbGRJdGVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZXRyaWV2ZXMgYXZhaWxhYmxlIG9wdGlvbnMgZm9yIHBhcnRpY3VsYXIgY29sdW1uIGJ5IHVzaW5nIGRhdGEgc291cmNlIG1ldGhvZC5cbiAgICAgKiBAcGFyYW0gY29sdW1uIHByb3BlcnR5IG5hbWUgb2YgdGhlIGRhdGEgc291cmNlIGl0ZW1zLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFNlbGVjdEl0ZW1bXT59IE9ic2VydmFibGUgd2l0aCB0aGUgYXJyYXkgb2YgYXZhaWxhYmxlIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0RmlsdGVyQXZhaWxhYmxlT3B0aW9ucyhjb2x1bW46IHN0cmluZyk6ICgpID0+IE9ic2VydmFibGU8U2VsZWN0SXRlbVtdPiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB0aGlzLl9nZXRGaWVsZFZhcmlhbnRzKGNvbHVtbik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRGaWx0ZXJEZWZhdWx0T3B0aW9ucyhjb2x1bW46IHN0cmluZywgZmlsdGVyVHlwZTogRmlsdGVyVHlwZSk6ICgpID0+IFByb21pc2U8YW55W10+IHtcbiAgICAgICAgcmV0dXJuIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhcmlhbnRzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fZ2V0RmllbGRWYXJpYW50cyhjb2x1bW4pLnBpcGUodGFrZSgxKSkpO1xuXG4gICAgICAgICAgICBjb25zdCBhdmFpbGFibGVEZWZhdWx0Q29uZGl0aW9uczogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25bXSA9IFtdO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB2YXJpYW50cykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbjogU21hcnRGaWx0ZXJCYXJDb25kaXRpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiAnZXF1YWxUbydcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgY29uZGl0aW9uLmRpc3BsYXlWYWx1ZSA9IGF3YWl0IHRoaXMuZ2V0RGlzcGxheVZhbHVlKGNvbmRpdGlvbiwgZmlsdGVyVHlwZSk7XG5cbiAgICAgICAgICAgICAgICBhdmFpbGFibGVEZWZhdWx0Q29uZGl0aW9ucy5wdXNoKGNvbmRpdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhdmFpbGFibGVEZWZhdWx0Q29uZGl0aW9ucztcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEZpZWxkVmFyaWFudHMoY29sdW1uOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlbGVjdEl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJqZWN0LmdldEZpZWxkVmFyaWFudHMoY29sdW1uKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIG1hcCgoZGF0YSkgPT4gZGF0YS5maWx0ZXIoKGl0ZW0sIGluZGV4KSA9PiBkYXRhLmZpbmRJbmRleCgoX2l0ZW0pID0+IF9pdGVtLnZhbHVlID09PSBpdGVtLnZhbHVlKSA9PT0gaW5kZXgpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0U3ViamVjdERlZmluaXRpb25zKCk6IFNtYXJ0RmlsdGVyQmFyRmllbGREZWZpbml0aW9uW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJqZWN0Py5nZXRTdWJqZWN0RmllbGRzKCkgfHwgW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFNldHMgcHJvdmlkZWQgZmlsdGVycyBkaXJlY3RseSB0byB0aGUgZGF0YSBzb3VyY2UuXG4gICAgICogQHBhcmFtIGZpbHRlcnMgYXJyYXkgb2YgZmlsdGVycy5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9hcHBseUZpbHRlcmluZyhmaWx0ZXJzOiBDb2xsZWN0aW9uRmlsdGVyR3JvdXBbXSk6IHZvaWQge1xuICAgICAgICAvLyBBcHBseSBvdXRzaWRlIGZpbHRlcmluZyBhbmQgZm9yY2Ugc3ViamVjdCB0byBmZXRjaCBuZXcgZGF0YS5cbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5zdWJqZWN0LmdldERhdGFTb3VyY2UoKTtcbiAgICAgICAgdGhpcy5maWx0ZXJCeSA9IGZpbHRlcnM7XG4gICAgICAgIHNvdXJjZS5kYXRhUHJvdmlkZXIuc2V0RmlsdGVycyhmaWx0ZXJzLCB0aGlzLnNlYXJjaCk7XG4gICAgICAgIHRoaXMuc3ViamVjdC5nZXRTdWJqZWN0KCkuZmV0Y2goKTtcbiAgICAgICAgY29uc3QgZW1pdHRlZFZhbHVlOiBTbWFydEZpbHRlckJhck1hbmFnZWRQcmVzZXQgPSB7IHNlYXJjaDogdGhpcy5zZWFyY2gsIGZpbHRlckJ5OiB0aGlzLmZpbHRlckJ5IH07XG4gICAgICAgIHRoaXMuc21hcnRGaWx0ZXJzQXBwbGllZC5lbWl0KHsgLi4uZW1pdHRlZFZhbHVlLCBzdWJqZWN0OiB0aGlzLl9zdWJqZWN0IH0pO1xuXG4gICAgICAgIGlmICghdGhpcy5faWdub3JlUHJlc2V0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnByZXNldENoYW5nZWQuZW1pdChlbWl0dGVkVmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lnbm9yZVByZXNldENoYW5nZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVGcm9tU3ViamVjdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3ViamVjdFN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fc3ViamVjdFN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRTZWxlY3RlZEZpbHRlcnMoZmlsdGVyczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMkLnNldChmaWx0ZXJzLmZpbHRlcigoZjogc3RyaW5nLCBpOiBudW1iZXIpID0+IGZpbHRlcnMuaW5kZXhPZihmKSA9PT0gaSkpO1xuICAgICAgICB0aGlzLl9mb3JtR2VuZXJhdG9yLnJlZnJlc2hTdGVwc1Zpc2liaWxpdHkoKTtcbiAgICB9XG59XG4iLCJAaWYgKCFoaWRlVG9vbGJhcikge1xuICAgIDxmZC10b29sYmFyIGZkVHlwZT1cInRyYW5zcGFyZW50XCI+XG4gICAgICAgIEBpZiAoX3Rvb2xiYXJJdGVtcykge1xuICAgICAgICAgICAgQGZvciAodGVtcGxhdGUgb2YgX3Rvb2xiYXJJdGVtczsgdHJhY2sgdGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxmZC10b29sYmFyLXNlcGFyYXRvcj48L2ZkLXRvb2xiYXItc2VwYXJhdG9yPlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIDxmZHAtc2VhcmNoLWZpZWxkXG4gICAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwib25TZWFyY2hJbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChzZWFyY2hTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCJcbiAgICAgICAgICAgIChjYW5jZWxTZWFyY2gpPVwiY2FuY2VsU2VhcmNoKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgW2Rpc2FibGVSZWZyZXNoXT1cInRydWVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnNlYXJjaFBsYWNlaG9sZGVyJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgPjwvZmRwLXNlYXJjaC1maWVsZD5cbiAgICAgICAgPGZkLXRvb2xiYXItc3BhY2VyPjwvZmQtdG9vbGJhci1zcGFjZXI+XG4gICAgICAgIEBpZiAoIWxpdmVVcGRhdGUpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCJcbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnN1Ym1pdEJ1dHRvbkxhYmVsJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJzdWJtaXRGb3JtKClcIlxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICBnbHlwaD1cInN5bmNocm9uaXplXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ3BsYXRmb3JtU21hcnRGaWx0ZXJCYXIucmVmcmVzaEJ1dHRvbkFyaWFMYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwic2hvd0ZpbHRlcmluZ1NldHRpbmdzKClcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICAgICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLmZpbHRlcnNCdXR0b25MYWJlbCcgfCBmZFRyYW5zbGF0ZTogeyBmaWx0ZXJzQ291bnQ6IHNlbGVjdGVkRmlsdGVyc0NvdW50JCgpIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVGaWx0ZXJCYXIoKVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgKHNob3dGaWx0ZXJCYXIkKClcbiAgICAgICAgICAgICAgICAgICAgPyAncGxhdGZvcm1TbWFydEZpbHRlckJhci5oaWRlRmlsdGVyc0J1dHRvbkxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICA6ICdwbGF0Zm9ybVNtYXJ0RmlsdGVyQmFyLnNob3dGaWx0ZXJzQnV0dG9uTGFiZWwnXG4gICAgICAgICAgICAgICAgKSB8IGZkVHJhbnNsYXRlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwibG9hZGluZ1wiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2ZkLXRvb2xiYXI+XG59XG5AaWYgKF9mb3JtSXRlbXMoKTsgYXMgZm9ybUl0ZW1zKSB7XG4gICAgPGRpdiBjbGFzcz1cImZkcC1zbWFydC1maWx0ZXItYmFyX19maWx0ZXJzXCIgW2hpZGRlbl09XCIhc2hvd0ZpbHRlckJhciQoKVwiPlxuICAgICAgICA8ZmRwLWZvcm0tZ2VuZXJhdG9yXG4gICAgICAgICAgICAoZm9ybUNyZWF0ZWQpPVwiX29uRm9ybUNyZWF0ZWQoKVwiXG4gICAgICAgICAgICAoZm9ybVN1Ym1pdHRlZCk9XCJfb25Gb3JtU3VibWl0dGVkKCRldmVudClcIlxuICAgICAgICAgICAgW25vQWRkaXRpb25hbENvbnRlbnRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZm9ybUl0ZW1zXT1cImZvcm1JdGVtc1wiXG4gICAgICAgICAgICBbY29sdW1uTGF5b3V0XT1cImZpbHRlcnNDb2x1bW5MYXlvdXRcIlxuICAgICAgICA+PC9mZHAtZm9ybS1nZW5lcmF0b3I+XG4gICAgPC9kaXY+XG59XG4iXX0=
@@ -17,8 +17,8 @@ const components = [
17
17
  SmartFilterBarToolbarItemDirective
18
18
  ];
19
19
  export class PlatformSmartFilterBarModule {
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformSmartFilterBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: PlatformSmartFilterBarModule, imports: [SmartFilterBarComponent,
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PlatformSmartFilterBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: PlatformSmartFilterBarModule, imports: [SmartFilterBarComponent,
22
22
  SmartFilterBarSettingsDialogComponent,
23
23
  SmartFilterBarFieldDefinitionDirective,
24
24
  SmartFilterBarSubjectDirective,
@@ -31,12 +31,12 @@ export class PlatformSmartFilterBarModule {
31
31
  SmartFilterBarConditionsDialogComponent,
32
32
  SmartFilterBarConditionFieldComponent,
33
33
  SmartFilterBarToolbarItemDirective] }); }
34
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformSmartFilterBarModule, imports: [SmartFilterBarComponent,
34
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PlatformSmartFilterBarModule, imports: [SmartFilterBarComponent,
35
35
  SmartFilterBarSettingsDialogComponent,
36
36
  SmartFilterBarConditionsDialogComponent,
37
37
  SmartFilterBarConditionFieldComponent] }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformSmartFilterBarModule, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: PlatformSmartFilterBarModule, decorators: [{
40
40
  type: NgModule,
41
41
  args: [{
42
42
  imports: [...components],
@@ -167,10 +167,10 @@ export class SmartFilterBarService {
167
167
  }
168
168
  return value;
169
169
  }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SmartFilterBarService, deps: [{ token: i1.FormGeneratorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
171
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SmartFilterBarService }); }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SmartFilterBarService, deps: [{ token: i1.FormGeneratorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
171
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SmartFilterBarService }); }
172
172
  }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SmartFilterBarService, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SmartFilterBarService, decorators: [{
174
174
  type: Injectable
175
175
  }], ctorParameters: () => [{ type: i1.FormGeneratorService }] });
176
176
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zbWFydC1maWx0ZXItYmFyL3NtYXJ0LWZpbHRlci1iYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxPQUFPLEVBRUgsb0JBQW9CLEVBRXZCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFHSCx3QkFBd0IsRUFDeEIsa0NBQWtDLEVBQ3JDLE1BQU0saUNBQWlDLENBQUM7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFLNUQsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixjQUFjO0lBQ2QsWUFBb0IsVUFBZ0M7UUFBaEMsZUFBVSxHQUFWLFVBQVUsQ0FBc0I7UUFMcEQsY0FBYztRQUNOLDRCQUF1QixHQUMzQixJQUFJLEdBQUcsRUFBMkUsQ0FBQztJQUdoQyxDQUFDO0lBRXhEOzs7O09BSUc7SUFDSCxlQUFlLENBQUMsT0FBeUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUU7WUFDMUQsT0FBTyxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztTQUMxRDtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxD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TlEscUJBQXFCO2tIQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZERhdGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGF0ZXRpbWUnO1xuaW1wb3J0IHtcbiAgICBCYXNlRHluYW1pY0Zvcm1HZW5lcmF0b3JDb250cm9sLFxuICAgIEZvcm1HZW5lcmF0b3JTZXJ2aWNlLFxuICAgIFByZXBhcmVkRHluYW1pY0Zvcm1GaWVsZEl0ZW1cbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9mb3JtJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0sIGlzU2VsZWN0SXRlbSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7XG4gICAgQ29sbGVjdGlvbkZpbHRlckdyb3VwLFxuICAgIEZpbHRlckFsbFN0cmF0ZWd5LFxuICAgIEZpbHRlcmFibGVDb2x1bW5EYXRhVHlwZSxcbiAgICBnZXRGaWx0ZXJTdHJhdGVnaWVzQmFzZWRPbkRhdGFUeXBlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUnO1xuXG5pbXBvcnQgeyBzZWxlY3RTdHJhdGVneSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3NtYXJ0LWZpbHRlci1iYXItY29uZGl0aW9uJztcbmltcG9ydCB7IFNtYXJ0RmlsdGVyQmFyQ3VzdG9tRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3NtYXJ0LWZpbHRlci1iYXItY3VzdG9tLWZpbHRlci1jb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJCYXJTZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2N1c3RvbUZpbHRlckNvbmRpdGlvbnM6IE1hcDxUeXBlPEJhc2VEeW5hbWljRm9ybUdlbmVyYXRvckNvbnRyb2w+LCBTbWFydEZpbHRlckJhckN1c3RvbUZpbHRlckNvbmZpZz4gPVxuICAgICAgICBuZXcgTWFwPFR5cGU8QmFzZUR5bmFtaWNGb3JtR2VuZXJhdG9yQ29udHJvbD4sIFNtYXJ0RmlsdGVyQmFyQ3VzdG9tRmlsdGVyQ29uZmlnPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9mZ1NlcnZpY2U6IEZvcm1HZW5lcmF0b3JTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBjdXN0b20gZmlsdGVyIHR5cGUgdG8gdGhlIHNtYXJ0IGZpbHRlciBiYXIuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgY29tcG9uZW50IHdhcyBhZGRlZCBzdWNjZXNzZnVsbHkuXG4gICAgICovXG4gICAgYWRkQ3VzdG9tRmlsdGVyKG9wdGlvbnM6IFNtYXJ0RmlsdGVyQmFyQ3VzdG9tRmlsdGVyQ29uZmlnKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghb3B0aW9ucy5jb25kaXRpb25Db21wb25lbnQgJiYgb3B0aW9ucy5yZW5kZXJlckNvbXBvbmVudCkge1xuICAgICAgICAgICAgb3B0aW9ucy5jb25kaXRpb25Db21wb25lbnQgPSBvcHRpb25zLnJlbmRlcmVyQ29tcG9uZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmNvbmRpdGlvbkNvbXBvbmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZmdTZXJ2aWNlLmFkZENvbXBvbmVudChvcHRpb25zLmNvbmRpdGlvbkNvbXBvbmVudCwgb3B0aW9ucy50eXBlcyk7XG5cbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgdGhpcy5fY3VzdG9tRmlsdGVyQ29uZGl0aW9ucy5zZXQob3B0aW9ucy5jb25kaXRpb25Db21wb25lbnQsIG9wdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3VsdCAmJiBvcHRpb25zLnJlbmRlcmVyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9mZ1NlcnZpY2UuYWRkQ29tcG9uZW50KFxuICAgICAgICAgICAgICAgIG9wdGlvbnMucmVuZGVyZXJDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgb3B0aW9ucy50eXBlcy5tYXAoKHQpID0+IGAke3R9LXJlbmRlcmVyYClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgcHJvdmlkZWQgY29uZmlndXJhdGlvbiBvYmplY3Qgb2YgdGhlIGN1c3RvbSBmaWx0ZXIuXG4gICAgICogQHBhcmFtIHR5cGUgRmlsdGVyIHR5cGUuXG4gICAgICogQHJldHVybnMgQ29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICovXG4gICAgZ2V0Q3VzdG9tRmlsdGVyQ29uZmlndXJhdGlvbih0eXBlOiBzdHJpbmcpOiBTbWFydEZpbHRlckJhckN1c3RvbUZpbHRlckNvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudERlZmluaXRpb24gPSB0aGlzLl9mZ1NlcnZpY2UuZ2V0Q29tcG9uZW50RGVmaW5pdGlvbkJ5VHlwZSh0eXBlKTtcblxuICAgICAgICBpZiAoIWNvbXBvbmVudERlZmluaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fY3VzdG9tRmlsdGVyQ29uZGl0aW9ucy5nZXQoY29tcG9uZW50RGVmaW5pdGlvbi5jb21wb25lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYXBwbGljYWJsZSBjb25kaXRpb24gb3B0aW9ucyBvZiB0aGUgZmlsdGVyLlxuICAgICAqIEBwYXJhbSB0eXBlIEZpbHRlciB0eXBlLlxuICAgICAqIEBwYXJhbSBkYXRhVHlwZSBGaWx0ZXIgZGF0YSB0eXBlLlxuICAgICAqIEByZXR1cm5zIEFycmF5IG9mIGFwcGxpY2FibGUgY29uZGl0aW9uIG9wdGlvbnMuXG4gICAgICovXG4gICAgZ2V0QXBwbGljYWJsZUZpbHRlckNvbmRpdGlvbnMoXG4gICAgICAgIHR5cGU6IHN0cmluZyxcbiAgICAgICAgZGF0YVR5cGU6IEZpbHRlcmFibGVDb2x1bW5EYXRhVHlwZSA9IEZpbHRlcmFibGVDb2x1bW5EYXRhVHlwZS5TVFJJTkdcbiAgICApOiBGaWx0ZXJBbGxTdHJhdGVneVtdIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50RGVmaW5pdGlvbiA9IHRoaXMuX2ZnU2VydmljZS5nZXRDb21wb25lbnREZWZpbml0aW9uQnlUeXBlKHR5cGUpO1xuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRDb25kaXRpb25zOiBGaWx0ZXJBbGxTdHJhdGVneVtdID0gZ2V0RmlsdGVyU3RyYXRlZ2llc0Jhc2VkT25EYXRhVHlwZShcbiAgICAgICAgICAgIGRhdGFUeXBlXG4gICAgICAgICkgYXMgRmlsdGVyQWxsU3RyYXRlZ3lbXTtcblxuICAgICAgICBpZiAoIWNvbXBvbmVudERlZmluaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0Q29uZGl0aW9ucztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbHRlckRlZmluaXRpb24gPSB0aGlzLl9jdXN0b21GaWx0ZXJDb25kaXRpb25zLmdldChjb21wb25lbnREZWZpbml0aW9uLmNvbXBvbmVudCk7XG5cbiAgICAgICAgcmV0dXJuIGZpbHRlckRlZmluaXRpb24/LmZpbHRlclN0cmF0ZWdpZXMgfHwgZGVmYXVsdENvbmRpdGlvbnM7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBhc3luYyBnZXREaXNwbGF5VmFsdWUoY29uZGl0aW9uOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbiwgZmlsdGVyVHlwZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuZ2V0Q3VzdG9tRmlsdGVyQ29uZmlndXJhdGlvbihmaWx0ZXJUeXBlKTtcblxuICAgICAgICBpZiAoY29uZmlndXJhdGlvbj8udmFsdWVSZW5kZXJlcikge1xuICAgICAgICAgICAgY29uc3Qgb2JqID0gY29uZmlndXJhdGlvbj8udmFsdWVSZW5kZXJlcihjb25kaXRpb24pO1xuICAgICAgICAgICAgY29uc3Qgc3RyYXRlZ3kgPSBzZWxlY3RTdHJhdGVneShvYmopO1xuXG4gICAgICAgICAgICBsZXQgcmV0dXJuVmFsdWUhOiBzdHJpbmc7XG5cbiAgICAgICAgICAgIGF3YWl0IHN0cmF0ZWd5LmNyZWF0ZVN1YnNjcmlwdGlvbihvYmosICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVyblZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHJldHVyblZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUxID0gdGhpcy5fbm9ybWFsaXplVmFsdWUoY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgY29uc3QgdmFsdWUyID0gdGhpcy5fbm9ybWFsaXplVmFsdWUoY29uZGl0aW9uLnZhbHVlMik7XG5cbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0b3IpIHtcbiAgICAgICAgICAgIGNhc2UgJ2VxdWFsVG8nOlxuICAgICAgICAgICAgICAgIHJldHVybiBgPSR7dmFsdWUxfWA7XG4gICAgICAgICAgICBjYXNlICdjb250YWlucyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAqJHt2YWx1ZTF9KmA7XG4gICAgICAgICAgICBjYXNlICdiZXR3ZWVuJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dmFsdWUxfS4uLiR7dmFsdWUyfWA7XG4gICAgICAgICAgICBjYXNlICdiZWdpbnNXaXRoJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dmFsdWUxfSpgO1xuICAgICAgICAgICAgY2FzZSAnZW5kc1dpdGgnOlxuICAgICAgICAgICAgICAgIHJldHVybiBgKiR7dmFsdWUxfWA7XG4gICAgICAgICAgICBjYXNlICdncmVhdGVyVGhhbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGA+JHt2YWx1ZTF9YDtcbiAgICAgICAgICAgIGNhc2UgJ2dyZWF0ZXJUaGFuT3JFcXVhbFRvJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gYD49JHt2YWx1ZTF9YDtcbiAgICAgICAgICAgIGNhc2UgJ2xlc3NUaGFuJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gYDwke3ZhbHVlMX1gO1xuICAgICAgICAgICAgY2FzZSAnbGVzc1RoYW5PckVxdWFsVG8nOlxuICAgICAgICAgICAgICAgIHJldHVybiBgPD0ke3ZhbHVlMX1gO1xuICAgICAgICAgICAgY2FzZSAnYWZ0ZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBgPiR7dmFsdWUxfWA7XG4gICAgICAgICAgICBjYXNlICdvbk9yQWZ0ZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBgPj0ke3ZhbHVlMX1gO1xuICAgICAgICAgICAgY2FzZSAnYmVmb3JlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gYDwke3ZhbHVlMX1gO1xuICAgICAgICAgICAgY2FzZSAnYmVmb3JlT3JPbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8PSR7dmFsdWUxfWA7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt2YWx1ZTF9YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCBmb3Igbm9ybWFsaXppbmcgZ2VuZXJhdGVkIGNvbmRpdGlvbnMgdG8gZGlzcGxheSBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXQuXG4gICAgICogQHJldHVybnMgRm9ybWF0dGVkIGFycmF5IG9mIGNvbmRpdGlvbnMuXG4gICAgICogQHBhcmFtIGZvcm1JdGVtXG4gICAgICogQHBhcmFtIGNvbmRpdGlvbnNcbiAgICAgKi9cbiAgICBhc3luYyBub3JtYWxpemVDb25kaXRpb25zKFxuICAgICAgICBmb3JtSXRlbTogUHJlcGFyZWREeW5hbWljRm9ybUZpZWxkSXRlbSxcbiAgICAgICAgY29uZGl0aW9uczogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25bXVxuICAgICk6IFByb21pc2U8U21hcnRGaWx0ZXJCYXJDb25kaXRpb25bXT4ge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkQ29uZGl0aW9uczogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25bXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIGNvbmRpdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NvbmRpdGlvbiA9IE9iamVjdC5hc3NpZ24oe30sIGNvbmRpdGlvbik7XG5cbiAgICAgICAgICAgIG5ld0NvbmRpdGlvbi5kaXNwbGF5VmFsdWUgPSBhd2FpdCB0aGlzLmdldERpc3BsYXlWYWx1ZShcbiAgICAgICAgICAgICAgICBuZXdDb25kaXRpb24sXG4gICAgICAgICAgICAgICAgZm9ybUl0ZW0uZ3VpT3B0aW9ucz8uYWRkaXRpb25hbERhdGEudHlwZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgbm9ybWFsaXplZENvbmRpdGlvbnMucHVzaChuZXdDb25kaXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRDb25kaXRpb25zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgZm9ybWF0dGVkIGNvbmRpdGlvbiB2YXJpYW50cy5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDb25kaXRpb25GaWVsZFNlbGVjdGVkVmFyaWFudHMoXG4gICAgICAgIGZvcm1JdGVtOiBQcmVwYXJlZER5bmFtaWNGb3JtRmllbGRJdGVtLFxuICAgICAgICBjb25kaXRpb25zOiBTbWFydEZpbHRlckJhckNvbmRpdGlvbltdXG4gICAgKTogUHJvbWlzZTxTZWxlY3RJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLm5vcm1hbGl6ZUNvbmRpdGlvbnMoZm9ybUl0ZW0sIGNvbmRpdGlvbnMpKS5tYXAoKGM6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzU2VsZWN0SXRlbShjKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb25kaXRpb246IFNlbGVjdEl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IGMuZGlzcGxheVZhbHVlLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBjXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gY29uZGl0aW9uO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm1zIGNvbGxlY3Rpb24gZmlsdGVyIGludG8gc21hcnQgZmlsdGVyIGJhciBjb25kaXRpb24uXG4gICAgICovXG4gICAgdHJhbnNmb3JtQ29sbGVjdGlvbkZpbHRlcihmaWx0ZXJHcm91cDogQ29sbGVjdGlvbkZpbHRlckdyb3VwKTogU21hcnRGaWx0ZXJCYXJDb25kaXRpb25bXSB7XG4gICAgICAgIHJldHVybiBmaWx0ZXJHcm91cC5maWx0ZXJzLm1hcCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25kaXRpb246IFNtYXJ0RmlsdGVyQmFyQ29uZGl0aW9uID0ge1xuICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBmaWx0ZXIuc3RyYXRlZ3ksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZpbHRlci52YWx1ZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTI6IGZpbHRlci52YWx1ZTJcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBjb25kaXRpb247XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBOb3JtYWxpemVzIGNvbmRpdGlvbiB2YWx1ZS5cbiAgICAgKiBAcGFyYW0gdmFsdWVcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIHByaXZhdGUgX25vcm1hbGl6ZVZhbHVlKHZhbHVlOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5tYXAoKHYpID0+IHRoaXMuX25vcm1hbGl6ZVZhbHVlKHYpKS5qb2luKCcsICcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzU2VsZWN0SXRlbSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5sYWJlbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZkRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvRGF0ZVN0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
@@ -66,12 +66,12 @@ export class SplitMenuButtonComponent extends BaseComponent {
66
66
  this.primaryButtonWidth = this.primaryBtn.nativeElement.getBoundingClientRect().width + 'px';
67
67
  }
68
68
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SplitMenuButtonComponent, deps: [{ token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: SplitMenuButtonComponent, isStandalone: true, selector: "fdp-split-menu-button", inputs: { fixedWidth: "fixedWidth", title: "title", menuTitle: "menuTitle", buttonLabel: "buttonLabel", menu: "menu", icon: "icon", iconFont: "iconFont", type: "type" }, outputs: { primaryButtonClick: "primaryButtonClick" }, viewQueries: [{ propertyName: "primaryBtn", first: true, predicate: ["primaryBtn"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir$()\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.33.2\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0;position:relative;vertical-align:middle}.fd-button-split:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Default_Shadow_Color)}.fd-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split:before{-webkit-box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{--fdButtonPrioritizedBorderColor:var(--fdButton_Split_Border_Color);--fdButtonPrioritizedBackgroundColor:var(--fdButton_Split_Background_Color);margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{box-shadow:none;z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Emphasized_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:var(--fdButton_Menu_Emphasized_Hover_Separator_Display)}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Emphasized_Shadow_Color)}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Positive_Shadow_Color)}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Negative_Shadow_Color)}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Attention_Shadow_Color)}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split--emphasized .fd-button-split__text{font-weight:var(--sapButton_Emphasized_FontWeight)}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}:host{display:inline-block}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdpMenuTriggerFor]", inputs: ["fdpMenuTriggerFor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SplitMenuButtonComponent, deps: [{ token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: SplitMenuButtonComponent, isStandalone: true, selector: "fdp-split-menu-button", inputs: { fixedWidth: "fixedWidth", title: "title", menuTitle: "menuTitle", buttonLabel: "buttonLabel", menu: "menu", icon: "icon", iconFont: "iconFont", type: "type" }, outputs: { primaryButtonClick: "primaryButtonClick" }, viewQueries: [{ propertyName: "primaryBtn", first: true, predicate: ["primaryBtn"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir$()\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.34.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0;position:relative;vertical-align:middle}.fd-button-split:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Default_Shadow_Color)}.fd-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split:before{-webkit-box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{--fdButtonPrioritizedBorderColor:var(--fdButton_Split_Border_Color);--fdButtonPrioritizedBackgroundColor:var(--fdButton_Split_Background_Color);margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{box-shadow:none;z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Emphasized_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:var(--fdButton_Menu_Emphasized_Hover_Separator_Display)}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Emphasized_Shadow_Color)}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Positive_Shadow_Color)}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Negative_Shadow_Color)}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Attention_Shadow_Color)}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split--emphasized .fd-button-split__text{font-weight:var(--sapButton_Emphasized_FontWeight)}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}:host{display:inline-block}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdpMenuTriggerFor]", inputs: ["fdpMenuTriggerFor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
71
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SplitMenuButtonComponent, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: SplitMenuButtonComponent, decorators: [{
73
73
  type: Component,
74
- args: [{ selector: 'fdp-split-menu-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ButtonComponent, MenuTriggerDirective], template: "<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir$()\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.33.2\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0;position:relative;vertical-align:middle}.fd-button-split:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Default_Shadow_Color)}.fd-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split:before{-webkit-box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{--fdButtonPrioritizedBorderColor:var(--fdButton_Split_Border_Color);--fdButtonPrioritizedBackgroundColor:var(--fdButton_Split_Background_Color);margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{box-shadow:none;z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Emphasized_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:var(--fdButton_Menu_Emphasized_Hover_Separator_Display)}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Emphasized_Shadow_Color)}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Positive_Shadow_Color)}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Negative_Shadow_Color)}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Attention_Shadow_Color)}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split--emphasized .fd-button-split__text{font-weight:var(--sapButton_Emphasized_FontWeight)}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}:host{display:inline-block}\n"] }]
74
+ args: [{ selector: 'fdp-split-menu-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ButtonComponent, MenuTriggerDirective], template: "<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir$()\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.34.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;padding:0;position:relative;vertical-align:middle}.fd-button-split:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Default_Shadow_Color)}.fd-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split:before{-webkit-box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{--fdButtonPrioritizedBorderColor:var(--fdButton_Split_Border_Color);--fdButtonPrioritizedBackgroundColor:var(--fdButton_Split_Background_Color);margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{box-shadow:none;z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Emphasized_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:var(--fdButton_Menu_Emphasized_Hover_Separator_Display)}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Emphasized_Shadow_Color)}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Positive_Shadow_Color)}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Negative_Shadow_Color)}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Attention_Shadow_Color)}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split--emphasized .fd-button-split__text{font-weight:var(--sapButton_Emphasized_FontWeight)}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}:host{display:inline-block}\n"] }]
75
75
  }], ctorParameters: () => [{ type: i1.RtlService, decorators: [{
76
76
  type: Optional
77
77
  }] }], propDecorators: { fixedWidth: [{