@fundamental-ngx/platform 0.47.4 → 0.48.0-rc.1

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 (457) hide show
  1. package/README.md +0 -28
  2. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +6 -11
  3. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +6 -8
  4. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +5 -6
  5. package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +5 -5
  6. package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +8 -11
  7. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +6 -8
  8. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +5 -7
  9. package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +5 -6
  10. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +6 -6
  11. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +6 -7
  12. package/esm2022/approval-flow/approval-flow.component.mjs +8 -10
  13. package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
  14. package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
  15. package/esm2022/button/button.component.mjs +5 -5
  16. package/esm2022/button/button.module.mjs +4 -4
  17. package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
  18. package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
  19. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +5 -5
  20. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +5 -5
  21. package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  22. package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
  23. package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
  24. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +4 -4
  25. package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
  26. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
  27. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
  28. package/esm2022/dynamic-page/dynamic-page.component.mjs +8 -10
  29. package/esm2022/dynamic-page/dynamic-page.config.mjs +4 -4
  30. package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
  31. package/esm2022/dynamic-page/dynamic-page.service.mjs +3 -3
  32. package/esm2022/feed-input/feed-input.component.mjs +6 -7
  33. package/esm2022/feed-input/feed-input.module.mjs +4 -4
  34. package/esm2022/form/auto-complete/auto-complete.directive.mjs +5 -5
  35. package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
  36. package/esm2022/form/checkbox/checkbox.component.mjs +6 -6
  37. package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
  38. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +8 -8
  39. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
  40. package/esm2022/form/combobox/combobox/combobox.component.mjs +9 -11
  41. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +13 -15
  42. package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  43. package/esm2022/form/combobox/combobox.config.mjs +4 -4
  44. package/esm2022/form/combobox/combobox.module.mjs +4 -4
  45. package/esm2022/form/combobox/commons/base-combobox.mjs +8 -6
  46. package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
  47. package/esm2022/form/date-picker/date-picker.component.mjs +6 -6
  48. package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
  49. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +6 -6
  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 +4 -4
  53. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +4 -4
  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 +6 -7
  56. package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +4 -4
  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 +4 -4
  59. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +4 -4
  60. package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +4 -4
  61. package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +5 -5
  62. package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +6 -6
  63. package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
  64. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +9 -11
  65. package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
  66. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +7 -8
  67. package/esm2022/form/form-generator/form-generator.service.mjs +5 -5
  68. package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +5 -5
  69. package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
  70. package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
  71. package/esm2022/form/form-group/form-field/form-field.component.mjs +10 -10
  72. package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +6 -6
  73. package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +6 -6
  74. package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +5 -5
  75. package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
  76. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +6 -6
  77. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +6 -6
  78. package/esm2022/form/form-group/form-group.component.mjs +8 -10
  79. package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
  80. package/esm2022/form/form-group/services/form-field-layout.service.mjs +5 -5
  81. package/esm2022/form/index.mjs +1 -3
  82. package/esm2022/form/input/fdp-input.module.mjs +4 -4
  83. package/esm2022/form/input/input.component.mjs +6 -6
  84. package/esm2022/form/input-group/addon-body.component.mjs +5 -5
  85. package/esm2022/form/input-group/addon.component.mjs +5 -5
  86. package/esm2022/form/input-group/input-group.component.mjs +12 -12
  87. package/esm2022/form/input-group/input-group.config.mjs +4 -4
  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 +7 -7
  91. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +6 -6
  92. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +10 -12
  93. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +8 -9
  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 +4 -4
  96. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
  97. package/esm2022/form/multi-input/base-multi-input.mjs +6 -6
  98. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +12 -12
  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 +9 -11
  101. package/esm2022/form/multi-input/multi-input.config.mjs +4 -4
  102. package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
  103. package/esm2022/form/radio-group/radio/radio.component.mjs +8 -8
  104. package/esm2022/form/radio-group/radio-group.component.mjs +8 -8
  105. package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
  106. package/esm2022/form/select/commons/base-select.mjs +6 -6
  107. package/esm2022/form/select/select/select.component.mjs +8 -8
  108. package/esm2022/form/select/select.config.mjs +4 -4
  109. package/esm2022/form/select/select.module.mjs +4 -4
  110. package/esm2022/form/step-input/base.step-input.mjs +5 -5
  111. package/esm2022/form/step-input/number/number-step-input.component.mjs +9 -10
  112. package/esm2022/form/step-input/step-input-action-button.mjs +3 -3
  113. package/esm2022/form/step-input/step-input-control.directive.mjs +6 -6
  114. package/esm2022/form/step-input/step-input-decrement.directive.mjs +5 -5
  115. package/esm2022/form/step-input/step-input-increment.directive.mjs +5 -5
  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 +6 -6
  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 +8 -9
  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 +6 -6
  125. package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
  126. package/esm2022/fundamental-ngx.module.mjs +14 -33
  127. package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +3 -3
  128. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +5 -9
  129. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +6 -8
  130. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +6 -8
  131. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +5 -8
  132. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +7 -9
  133. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +6 -15
  134. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +5 -9
  135. package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +6 -8
  136. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +5 -5
  137. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +5 -5
  138. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +5 -5
  139. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +8 -9
  140. package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +4 -4
  141. package/esm2022/index.mjs +8 -12
  142. package/esm2022/info-label/info-label.component.mjs +5 -5
  143. package/esm2022/info-label/info-label.module.mjs +4 -4
  144. package/esm2022/link/link.component.mjs +5 -5
  145. package/esm2022/link/link.module.mjs +4 -4
  146. package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
  147. package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
  148. package/esm2022/list/base-list-item.mjs +11 -11
  149. package/esm2022/list/display-list-item/display-list-item.component.mjs +6 -7
  150. package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
  151. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +4 -4
  152. package/esm2022/list/list-group-footer.component.mjs +3 -3
  153. package/esm2022/list/list-group-header.component.mjs +3 -3
  154. package/esm2022/list/list.component.mjs +9 -11
  155. package/esm2022/list/list.config.mjs +3 -3
  156. package/esm2022/list/list.module.mjs +4 -4
  157. package/esm2022/list/load-more-content.directive.mjs +4 -4
  158. package/esm2022/list/object-list-item/object-list-item-row.component.mjs +4 -4
  159. package/esm2022/list/object-list-item/object-list-item.component.mjs +6 -7
  160. package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
  161. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +6 -7
  162. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
  163. package/esm2022/menu/menu-item.component.mjs +7 -7
  164. package/esm2022/menu/menu-trigger.directive.mjs +6 -6
  165. package/esm2022/menu/menu.component.mjs +6 -6
  166. package/esm2022/menu/menu.module.mjs +4 -4
  167. package/esm2022/menu-button/menu-button.component.mjs +5 -5
  168. package/esm2022/menu-button/menu-button.module.mjs +4 -4
  169. package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +6 -6
  170. package/esm2022/message-popover/components/message-view/message-view.component.mjs +8 -10
  171. package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +6 -6
  172. package/esm2022/message-popover/message-popover.component.mjs +7 -9
  173. package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
  174. package/esm2022/object-marker/object-marker.component.mjs +6 -7
  175. package/esm2022/object-marker/object-marker.module.mjs +4 -4
  176. package/esm2022/object-status/object-status.component.mjs +8 -8
  177. package/esm2022/object-status/object-status.module.mjs +4 -4
  178. package/esm2022/page-footer/page-footer.component.mjs +6 -6
  179. package/esm2022/page-footer/page-footer.module.mjs +4 -4
  180. package/esm2022/panel/panel-actions.component.mjs +3 -3
  181. package/esm2022/panel/panel-content/panel-content.component.mjs +4 -4
  182. package/esm2022/panel/panel.component.mjs +5 -5
  183. package/esm2022/panel/panel.config.mjs +4 -4
  184. package/esm2022/panel/panel.module.mjs +4 -4
  185. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +8 -9
  186. package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +4 -4
  187. package/esm2022/search-field/search-field.component.mjs +16 -18
  188. package/esm2022/search-field/search-field.module.mjs +4 -4
  189. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +9 -16
  190. package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
  191. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +5 -6
  192. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +6 -9
  193. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +6 -8
  194. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +7 -7
  195. package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
  196. package/esm2022/settings-generator/settings-generator.component.mjs +9 -9
  197. package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
  198. package/esm2022/settings-generator/settings-generator.service.mjs +4 -4
  199. package/esm2022/shared/base.mjs +5 -5
  200. package/esm2022/shared/form/base.input.mjs +6 -6
  201. package/esm2022/shared/form/collection-base.input.mjs +6 -6
  202. package/esm2022/shared/form/inline-layout-collection-base.input.mjs +13 -13
  203. package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
  204. package/esm2022/shared/pipes/pipe.module.mjs +4 -4
  205. package/esm2022/shared/platform.config.mjs +3 -3
  206. package/esm2022/slider/slider.component.mjs +6 -6
  207. package/esm2022/slider/slider.module.mjs +4 -4
  208. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +4 -4
  209. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +4 -4
  210. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -9
  211. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +7 -9
  212. package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +3 -3
  213. package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +5 -5
  214. package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +4 -4
  215. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
  216. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +8 -10
  217. package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
  218. package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +4 -4
  219. package/esm2022/split-menu-button/split-menu-button.component.mjs +6 -6
  220. package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
  221. package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
  222. package/esm2022/table/components/reset-button/reset-button.component.mjs +5 -5
  223. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +6 -8
  224. package/esm2022/table/components/table-column/table-column.component.mjs +6 -6
  225. package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +6 -6
  226. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +5 -15
  227. package/esm2022/table/components/table-group-row/table-group-row.component.mjs +7 -7
  228. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +6 -6
  229. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +11 -13
  230. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +7 -9
  231. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +9 -11
  232. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +6 -9
  233. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +6 -8
  234. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +9 -11
  235. package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
  236. package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +5 -5
  237. package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
  238. package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
  239. package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
  240. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +7 -9
  241. package/esm2022/table/components/table-row/table-row.component.mjs +8 -12
  242. package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
  243. package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
  244. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +7 -8
  245. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +6 -6
  246. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +5 -6
  247. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +5 -14
  248. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +5 -8
  249. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +5 -7
  250. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +7 -10
  251. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +6 -8
  252. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +6 -9
  253. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +5 -5
  254. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
  255. package/esm2022/table/table.component.mjs +9 -14
  256. package/esm2022/table/table.module.mjs +4 -4
  257. package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +6 -6
  258. package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
  259. package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +5 -5
  260. package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
  261. package/esm2022/table-helpers/directives/table-cell.directive.mjs +16 -16
  262. package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -3
  263. package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
  264. package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
  265. package/esm2022/table-helpers/directives/table-header.directive.mjs +7 -7
  266. package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +3 -3
  267. package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +4 -4
  268. package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +4 -4
  269. package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
  270. package/esm2022/table-helpers/enums/collection-filter.enum.mjs +16 -1
  271. package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
  272. package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
  273. package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
  274. package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
  275. package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
  276. package/esm2022/table-helpers/services/table-column-resize.service.mjs +5 -5
  277. package/esm2022/table-helpers/services/table-responsive.service.mjs +5 -5
  278. package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
  279. package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
  280. package/esm2022/table-helpers/services/table.service.mjs +3 -3
  281. package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
  282. package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +5 -5
  283. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +6 -10
  284. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +13 -15
  285. package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +3 -3
  286. package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +5 -5
  287. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +12 -17
  288. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
  289. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +5 -5
  290. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +6 -8
  291. package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
  292. package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +4 -4
  293. package/esm2022/variant-management/variant-management.component.mjs +8 -10
  294. package/esm2022/variant-management/variant-management.module.mjs +4 -4
  295. package/esm2022/wizard-generator/base-wizard-generator.mjs +5 -5
  296. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +7 -8
  297. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +7 -9
  298. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +6 -7
  299. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +6 -7
  300. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +5 -6
  301. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +7 -7
  302. package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
  303. package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
  304. package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
  305. package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
  306. package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +4 -4
  307. package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
  308. package/esm2022/wizard-generator/wizard-generator.service.mjs +4 -4
  309. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +62 -74
  310. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  311. package/fesm2022/fundamental-ngx-platform-button.mjs +8 -8
  312. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  313. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +54 -56
  314. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  315. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -10
  316. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  317. package/fesm2022/fundamental-ngx-platform-form.mjs +444 -602
  318. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  319. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +59 -87
  320. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  321. package/fesm2022/fundamental-ngx-platform-info-label.mjs +8 -8
  322. package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
  323. package/fesm2022/fundamental-ngx-platform-link.mjs +8 -8
  324. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  325. package/fesm2022/fundamental-ngx-platform-list.mjs +73 -78
  326. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  327. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +8 -8
  328. package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
  329. package/fesm2022/fundamental-ngx-platform-menu.mjs +20 -20
  330. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  331. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +29 -33
  332. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  333. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +9 -10
  334. package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
  335. package/fesm2022/fundamental-ngx-platform-object-status.mjs +12 -12
  336. package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
  337. package/fesm2022/fundamental-ngx-platform-page-footer.mjs +9 -9
  338. package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
  339. package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -19
  340. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  341. package/fesm2022/fundamental-ngx-platform-search-field.mjs +29 -32
  342. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  343. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +45 -56
  344. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  345. package/fesm2022/fundamental-ngx-platform-shared.mjs +36 -36
  346. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  347. package/fesm2022/fundamental-ngx-platform-slider.mjs +9 -9
  348. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  349. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +48 -53
  350. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  351. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +9 -9
  352. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  353. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +115 -100
  354. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  355. package/fesm2022/fundamental-ngx-platform-table.mjs +168 -218
  356. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  357. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +41 -52
  358. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  359. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +28 -31
  360. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  361. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +58 -61
  362. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  363. package/fesm2022/fundamental-ngx-platform.mjs +19 -42
  364. package/fesm2022/fundamental-ngx-platform.mjs.map +1 -1
  365. package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +2 -2
  366. package/form/form-group/form-group.component.d.ts +1 -1
  367. package/form/index.d.ts +0 -2
  368. package/form/input-group/input-group.component.d.ts +2 -2
  369. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +1 -1
  370. package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -2
  371. package/fundamental-ngx-platform-v0.48.0-rc.1.tgz +0 -0
  372. package/fundamental-ngx.module.d.ts +27 -31
  373. package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +0 -2
  374. package/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.d.ts +0 -2
  375. package/index.d.ts +7 -11
  376. package/list/list.component.d.ts +1 -1
  377. package/package.json +4 -28
  378. package/page-footer/page-footer.component.d.ts +1 -1
  379. package/schematics/ng-add/index.js +1 -1
  380. package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +1 -1
  381. package/settings-generator/settings-generator.component.d.ts +2 -2
  382. package/table/components/table-p13-dialog/filtering/filter-rule.component.d.ts +2 -0
  383. package/table/table.component.d.ts +1 -1
  384. package/table-helpers/enums/collection-filter.enum.d.ts +2 -0
  385. package/value-help-dialog/components/select-tab/select-tab.component.d.ts +1 -1
  386. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +1 -1
  387. package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +2 -2
  388. package/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.d.ts +2 -2
  389. package/action-bar/README.md +0 -25
  390. package/action-bar/action-bar.component.d.ts +0 -36
  391. package/action-bar/action-bar.module.d.ts +0 -8
  392. package/action-bar/index.d.ts +0 -2
  393. package/action-button-group/README.md +0 -25
  394. package/action-button-group/action-button-group.component.d.ts +0 -11
  395. package/action-button-group/action-button-group.module.d.ts +0 -7
  396. package/action-button-group/index.d.ts +0 -2
  397. package/esm2022/action-bar/action-bar.component.mjs +0 -64
  398. package/esm2022/action-bar/action-bar.module.mjs +0 -17
  399. package/esm2022/action-bar/fundamental-ngx-platform-action-bar.mjs +0 -5
  400. package/esm2022/action-bar/index.mjs +0 -3
  401. package/esm2022/action-button-group/action-button-group.component.mjs +0 -21
  402. package/esm2022/action-button-group/action-button-group.module.mjs +0 -16
  403. package/esm2022/action-button-group/fundamental-ngx-platform-action-button-group.mjs +0 -5
  404. package/esm2022/action-button-group/index.mjs +0 -3
  405. package/esm2022/form/platform-file-uploader/platform-file-uploader.component.mjs +0 -143
  406. package/esm2022/form/platform-file-uploader/platform-file-uploader.module.mjs +0 -16
  407. package/esm2022/thumbnail/fundamental-ngx-platform-thumbnail.mjs +0 -5
  408. package/esm2022/thumbnail/index.mjs +0 -6
  409. package/esm2022/thumbnail/thumbnail-details/thumbnail-details.component.mjs +0 -166
  410. package/esm2022/thumbnail/thumbnail-image/thumbnail-image.component.mjs +0 -100
  411. package/esm2022/thumbnail/thumbnail.component.mjs +0 -148
  412. package/esm2022/thumbnail/thumbnail.interfaces.mjs +0 -2
  413. package/esm2022/thumbnail/thumbnail.module.mjs +0 -19
  414. package/esm2022/upload-collection/dialogs/move-to/move-to.component.mjs +0 -148
  415. package/esm2022/upload-collection/dialogs/new-folder/new-folder.component.mjs +0 -69
  416. package/esm2022/upload-collection/directives/upload-collection-dragndrop.directive.mjs +0 -138
  417. package/esm2022/upload-collection/domain/upload-collection-data-provider.mjs +0 -106
  418. package/esm2022/upload-collection/domain/upload-collection-data-source.mjs +0 -95
  419. package/esm2022/upload-collection/fundamental-ngx-platform-upload-collection.mjs +0 -5
  420. package/esm2022/upload-collection/helpers/generate-message-stripe-data.mjs +0 -20
  421. package/esm2022/upload-collection/index.mjs +0 -12
  422. package/esm2022/upload-collection/models/upload-collection.models.mjs +0 -58
  423. package/esm2022/upload-collection/services/files-validator.service.mjs +0 -68
  424. package/esm2022/upload-collection/upload-collection/upload-collection-data-provider-test.mjs +0 -280
  425. package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +0 -926
  426. package/esm2022/upload-collection/upload-collection.module.mjs +0 -33
  427. package/fesm2022/fundamental-ngx-platform-action-bar.mjs +0 -85
  428. package/fesm2022/fundamental-ngx-platform-action-bar.mjs.map +0 -1
  429. package/fesm2022/fundamental-ngx-platform-action-button-group.mjs +0 -41
  430. package/fesm2022/fundamental-ngx-platform-action-button-group.mjs.map +0 -1
  431. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs +0 -418
  432. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs.map +0 -1
  433. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +0 -1893
  434. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +0 -1
  435. package/form/platform-file-uploader/platform-file-uploader.component.d.ts +0 -69
  436. package/form/platform-file-uploader/platform-file-uploader.module.d.ts +0 -7
  437. package/fundamental-ngx-platform-v0.47.4.tgz +0 -0
  438. package/thumbnail/README.md +0 -25
  439. package/thumbnail/index.d.ts +0 -5
  440. package/thumbnail/thumbnail-details/thumbnail-details.component.d.ts +0 -57
  441. package/thumbnail/thumbnail-image/thumbnail-image.component.d.ts +0 -48
  442. package/thumbnail/thumbnail.component.d.ts +0 -73
  443. package/thumbnail/thumbnail.interfaces.d.ts +0 -12
  444. package/thumbnail/thumbnail.module.d.ts +0 -9
  445. package/upload-collection/README.md +0 -25
  446. package/upload-collection/dialogs/move-to/move-to.component.d.ts +0 -57
  447. package/upload-collection/dialogs/new-folder/new-folder.component.d.ts +0 -26
  448. package/upload-collection/directives/upload-collection-dragndrop.directive.d.ts +0 -64
  449. package/upload-collection/domain/upload-collection-data-provider.d.ts +0 -46
  450. package/upload-collection/domain/upload-collection-data-source.d.ts +0 -49
  451. package/upload-collection/helpers/generate-message-stripe-data.d.ts +0 -3
  452. package/upload-collection/index.d.ts +0 -11
  453. package/upload-collection/models/upload-collection.models.d.ts +0 -225
  454. package/upload-collection/services/files-validator.service.d.ts +0 -18
  455. package/upload-collection/upload-collection/upload-collection-data-provider-test.d.ts +0 -36
  456. package/upload-collection/upload-collection/upload-collection.component.d.ts +0 -259
  457. package/upload-collection/upload-collection.module.d.ts +0 -11
@@ -3,7 +3,7 @@ import { Subscription } from 'rxjs';
3
3
  import { RtlService } from '@fundamental-ngx/cdk/utils';
4
4
  import { GridListItemComponent } from '@fundamental-ngx/core/grid-list';
5
5
  import { MenuComponent } from '@fundamental-ngx/core/menu';
6
- import { NgIf, NgSwitch, NgSwitchCase, NgTemplateOutlet } from '@angular/common';
6
+ import { NgTemplateOutlet } from '@angular/common';
7
7
  import { ButtonComponent } from '@fundamental-ngx/core/button';
8
8
  import { ContentDensityDirective } from '@fundamental-ngx/core/content-density';
9
9
  import { MenuInteractiveComponent, MenuItemComponent, MenuTitleDirective, MenuTriggerDirective } from '@fundamental-ngx/core/menu';
@@ -223,17 +223,16 @@ export class ApprovalFlowNodeComponent {
223
223
  ? this.statusColorMapping[this.node.status]
224
224
  : NODE_STATUS_CLASS_MAP[this.node.status]);
225
225
  }
226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ApprovalFlowNodeComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ApprovalFlowNodeComponent, isStandalone: true, selector: "fdp-approval-flow-node", inputs: { node: "node", meta: "meta", renderArrow: "renderArrow", checkDueDate: "checkDueDate", dueDateThreshold: "dueDateThreshold", allNodesInColumnApproved: "allNodesInColumnApproved", approvalStatusTemplate: "approvalStatusTemplate", statusColorMapping: "statusColorMapping", isEdit: "isEdit", isNextNodeBlank: "isNextNodeBlank" }, outputs: { onAdd: "onAdd", onEdit: "onEdit", onDelete: "onDelete" }, host: { properties: { "class.fdp-approval-flow-node--first-root": "meta?.firstOfMultipleRootNodes", "class.fdp-approval-flow-node--first-final": "meta?.firstOfMultipleFinalNodes", "class.fdp-approval-flow-node--edit-mode": "this.isEdit", "class.fdp-approval-flow-node--next-blank": "this.isNextNodeBlank", "class.fdp-approval-flow-node--blank": "this._blank", "class.fdp-approval-flow-node--space": "this._space", "class.fdp-approval-flow-node--root": "this._isRoot", "class.fdp-approval-flow-node--final": "this._isFinal", "class.fdp-approval-flow-node--line-before": "this._renderLineBefore", "class.fdp-approval-flow-node--line-after": "this._renderLineAfter", "class.fdp-approval-flow-node--approved": "this._isApproved", "class.fdp-approval-flow-node--parent-approved": "this._isParentApproved", "class.fdp-approval-flow-node--selected": "this._isNodeSelected", "class.fdp-approval-flow-node--parallel-start": "this._isParallelStart", "class.fdp-approval-flow-node--parallel-end": "this._isParallelEnd", "class.fdp-approval-flow-node--first-in-parallel": "this._isFirstInParallel", "class.fdp-approval-flow-node--last-in-parallel": "this._isLastInParallel", "class.fdp-approval-flow-node--last-blank": "this._lastBlank" }, classAttribute: "fdp-approval-flow-node" }, queries: [{ propertyName: "_gridListItem", first: true, predicate: GridListItemComponent, descendants: true }], viewQueries: [{ propertyName: "_menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowMenuButton", first: true, predicate: ["overflowMenuButton"], descendants: true }, { propertyName: "_nodeContent", first: true, predicate: ["nodeContent"], descendants: true }, { propertyName: "_dropZones", predicate: ApprovalFlowDropZoneDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"meta?.renderVerticalLineBefore\"\n class=\"fdp-approval-flow-node__vertical-line-before\"\n [class.fdp-approval-flow-node__vertical-line-before-solid]=\"_isVerticalLineBeforeSolid\"\n></div>\n\n<div\n *ngIf=\"meta?.renderVerticalLineAfter\"\n class=\"fdp-approval-flow-node__vertical-line-after\"\n [class.fdp-approval-flow-node__vertical-line-after-solid]=\"_isVerticalLineAfterSolid\"\n></div>\n\n<ng-container *ngIf=\"!_blank && !_space\">\n <div *ngIf=\"renderArrow\" class=\"fdp-approval-flow-node__arrow\"></div>\n\n <div *ngIf=\"_isRoot && meta?.nodeIndex === 0\" class=\"fdp-approval-flow-node__carousel-start-marker\"></div>\n\n <div *ngIf=\"_isFinal && meta?.nodeIndex === 0\" class=\"fdp-approval-flow-node__carousel-end-marker\"></div>\n\n <ng-content></ng-content>\n</ng-container>\n\n<ng-template #overflowMenuButton>\n <!-- Actually just the fd-grid-item action button but with some hardcode to be used as menu trigger -->\n <button\n *ngIf=\"!node?.disableActions\"\n class=\"fdp-approval-flow-node__menu-button\"\n fd-button\n fdType=\"transparent\"\n tabindex=\"0\"\n glyph=\"overflow\"\n [title]=\"'platformApprovalFlow.nodeMenuButtonTitle' | fdTranslate\"\n fdCompact\n [fdMenuTrigger]=\"menu\"\n [disabled]=\"_isEditActionsAvailable\"\n (click)=\"$event.stopPropagation()\"\n ></button>\n</ng-template>\n\n<ng-template #nodeContent>\n <div class=\"fdp-approval-flow-node__info\">\n <div\n class=\"fdp-approval-flow-node__name\"\n [class.fdp-approval-flow-node__name--members-count]=\"node.approvers.length > 1\"\n [id]=\"approvalFlowNodeId\"\n >\n <ng-container *ngIf=\"node.approvers.length === 1; else multipleApprovers\">\n {{ node.approvers[0].name }}\n </ng-container>\n\n <ng-template #multipleApprovers>\n {{ 'platformApprovalFlow.nodeMembersCount' | fdTranslate : { count: node.approvers.length } }}\n </ng-template>\n </div>\n\n <div class=\"fdp-approval-flow-node__description\">\n <ng-container *ngIf=\"!node.variousTeams; else variousTeams\">\n {{\n node.approvers.length > 1\n ? node.description\n : node.approvers.length\n ? node.approvers[0].description\n : ''\n }}\n </ng-container>\n\n <ng-template #variousTeams> {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }} </ng-template>\n </div>\n\n <fdp-object-status [status]=\"_objectStatus\" [inverted]=\"true\">\n <ng-template fdpObjectStatusText>\n <ng-container *ngIf=\"approvalStatusTemplate; then userStatusTemplate; else defaultStatusTemplate\">\n </ng-container>\n\n <ng-container *ngIf=\"checkDueDate && _showDueDateWarning\">\n <ng-container *ngIf=\"_dueIn === dueDateThreshold\">\n {{ 'platformApprovalFlow.nodeStatusDueToday' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"_dueIn < dueDateThreshold\">\n {{\n 'platformApprovalFlow.nodeStatusDueInXDays'\n | fdTranslate : { count: dueDateThreshold - _dueIn }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"_dueIn > dueDateThreshold\">\n {{\n 'platformApprovalFlow.nodeStatusXDaysOverdue'\n | fdTranslate : { count: _dueIn - dueDateThreshold }\n }}\n </ng-container>\n </ng-container>\n </ng-template>\n </fdp-object-status>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"_showAddButton && meta?.canAddNodeBeforeAll && !node?.actionsConfig?.disableAddBefore\">\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'before-all' }\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"_showAddButton && meta?.canAddNodeBefore && !node?.actionsConfig?.disableAddBefore\">\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'before' }\"></ng-container>\n</ng-container>\n\n<ng-container\n *ngIf=\"\n _showAddButton &&\n meta?.canAddNodeAfter &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n \"\n>\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'after' }\"></ng-container>\n</ng-container>\n\n<ng-container\n *ngIf=\"\n _showAfterAllAddButton &&\n meta?.canAddNodeAfterAll &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n \"\n>\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'after-all' }\"></ng-container>\n</ng-container>\n\n<ng-template #addNodeButton let-placement=\"placement\">\n <button\n *ngIf=\"node.status !== 'approved'\"\n fd-button\n glyph=\"add\"\n [title]=\"'platformApprovalFlow.addNodeButtonTitle' | fdTranslate\"\n fdCompact\n class=\"fdp-approval-flow-node__add\"\n [class.fdp-approval-flow-node__add--blank]=\"this._blank\"\n [class.fdp-approval-flow-node__add--before]=\"\n !this._blank && (placement === 'before' || placement === 'before-all')\n \"\n [class.fdp-approval-flow-node__add--before-all]=\"!this._blank && placement === 'before-all'\"\n [class.fdp-approval-flow-node__add--after]=\"\n !this._blank && (placement === 'after' || placement === 'after-all')\n \"\n [class.fdp-approval-flow-node__add--after-all]=\"placement === 'after-all'\"\n [style.visibility]=\"dropZone.active ? 'hidden' : ''\"\n (click)=\"onAdd.emit(placement)\"\n ></button>\n\n <div\n #dropZone=\"fdp-approval-flow-drop-zone\"\n fdp-approval-flow-drop-zone\n [placement]=\"placement\"\n class=\"fdp-approval-flow-node__drop-zone\"\n [class.fdp-approval-flow-node__drop-zone--active]=\"dropZone.active\"\n [class.fdp-approval-flow-node__drop-zone--blank]=\"isNextNodeBlank\"\n [class.fdp-approval-flow-node__drop-zone--partial]=\"_dropZonePartial(placement)\"\n ></div>\n</ng-template>\n\n<ng-template #defaultStatusTemplate>\n <ng-container *ngIf=\"!checkDueDate || !_showDueDateWarning\">\n <ng-container [ngSwitch]=\"node.status\">\n <ng-container *ngSwitchCase=\"'approved'\">{{\n 'platformApprovalFlow.statusApproved' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'rejected'\">{{\n 'platformApprovalFlow.statusRejected' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'in progress'\">{{\n 'platformApprovalFlow.statusInProgress' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'not started'\">{{\n 'platformApprovalFlow.statusNotStarted' | fdTranslate\n }}</ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #userStatusTemplate>\n <ng-container *ngIf=\"!checkDueDate || !_showDueDateWarning\">\n <ng-container\n *ngIf=\"approvalStatusTemplate\"\n [ngTemplateOutlet]=\"approvalStatusTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<fd-menu #menu fdContentDensity placement=\"bottom-end\" (isOpenChange)=\"_onMenuOpen()\">\n <li\n *ngIf=\"meta?.canAddNodeBefore && !this.node?.actionsConfig?.disableAddBefore\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('before')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversBefore' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"meta?.canAddNodeAfter && !this.node?.actionsConfig?.disableAddAfter\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('after')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversAfter' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"meta?.canAddParallel && !this.node?.actionsConfig?.disableAddParallel\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('parallel')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversParallel' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"_isNotStarted && !this.node?.actionsConfig?.disableEdit\"\n fd-menu-item\n (click)=\"menu.close(); onEdit.emit()\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionEditApprover' | fdTranslate }}</span>\n </div>\n </li>\n\n <li *ngIf=\"!this.node?.actionsConfig?.disableRemove\" fd-menu-item (click)=\"menu.close(); onDelete.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionRemove' | fdTranslate }}</span>\n </div>\n </li>\n</fd-menu>\n", styles: [".fdp-approval-flow-node{display:block;box-sizing:border-box;position:relative;width:17.375rem;height:5.875rem;margin-bottom:1rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode{height:7.875rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-after:after{top:-4.9375rem;height:8.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{content:\"\";display:block;position:absolute;top:-3.9375rem;height:6.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before{left:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before-solid:before{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{right:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after-solid:after{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-before:before{left:auto;right:-2.0625rem}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-after:after{right:auto;left:-2.0625rem}.fdp-approval-flow-node .fdp-approval-flow-node__add{position:absolute;z-index:10;margin:calc(3.4375rem - 1px) auto auto;inset:0;border-radius:100%;min-width:1rem;max-width:1rem;min-height:1rem;max-height:1rem}.fdp-approval-flow-node .fdp-approval-flow-node__add fd-icon{line-height:1rem;font-size:.7rem;font-weight:900}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before{left:-2.5rem;right:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-2.8rem}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after{right:-2.5rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-2.8rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone{border-radius:.25rem;position:absolute;height:100%;z-index:1}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa);border:.125rem solid #0854a0;border:.125rem solid var(--sapButton_IconColor, #0854a0)}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--blank{width:100%;top:0}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--partial{width:10%;left:0;top:0}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank{background:transparent;box-shadow:none;pointer-events:none;cursor:default}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:before{content:\"\";display:block;position:absolute;width:calc(100% + 4rem);height:0;left:-2rem;top:calc(50% - .0625rem);border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{width:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:not(.fdp-approval-flow-node--last-blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{width:100%}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{content:\"\";width:2rem;height:0;display:block;position:absolute;top:calc(50% - .0625rem);bottom:0;pointer-events:none;border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{right:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--blank:before{border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parent-approved.fdp-approval-flow-node--line-before:before{left:-2rem;border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode.fdp-approval-flow-node--blank{pointer-events:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-end-marker{top:3.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__arrow{display:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{right:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{right:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{left:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{left:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{left:19.875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{right:-12.6875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:calc(100% + 4rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{width:4rem;left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{width:4rem;right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__add,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-after{visibility:hidden}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name{font-size:1rem;line-height:1.25rem;margin-bottom:.1rem;color:#32363a;color:var(--sapTextColor, #32363a)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__description{font-size:.875rem;line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin-bottom:.4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow{width:0;height:0;border-style:solid;border-width:.375rem 0 .375rem .5rem;border-color:transparent transparent transparent #d9d9d9;border-color:transparent transparent transparent var(--sapGroup_TitleBorderColor, #d9d9d9);position:absolute;left:-.5rem;top:0;bottom:0;margin:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{z-index:1;background:#d9d9d9;background:var(--sapGroup_TitleBorderColor, #d9d9d9);display:block;position:absolute;width:.25rem;height:1rem;top:2.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__arrow{left:auto;right:-.5rem;border-width:.375rem .5rem .375rem 0;border-color:transparent #d9d9d9 transparent transparent;border-color:transparent var(--sapGroup_TitleBorderColor, #d9d9d9) transparent transparent}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-before:before{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-after:after{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count{direction:ltr;text-align:right}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before{right:-2.5rem;left:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-2.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after{left:-2.5rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-2.8rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{left:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{left:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{right:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{right:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{right:19.875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:calc(100% + 2rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{left:-12.6875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:calc(100% + 4rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{left:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: ObjectStatusComponent, selector: "fdp-object-status", inputs: ["status", "glyph", "indicationColor", "secondaryIndication", "clickable", "inverted", "large", "label", "ariaLabel", "title"], outputs: ["objectStatusClick"] }, { kind: "directive", type: PlatformObjectStatusTextDirective, selector: "[fdpObjectStatusText]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ApprovalFlowDropZoneDirective, selector: "[fdp-approval-flow-drop-zone]", inputs: ["placement"], exportAs: ["fdp-approval-flow-drop-zone"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowNodeComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
227
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: ApprovalFlowNodeComponent, isStandalone: true, selector: "fdp-approval-flow-node", inputs: { node: "node", meta: "meta", renderArrow: "renderArrow", checkDueDate: "checkDueDate", dueDateThreshold: "dueDateThreshold", allNodesInColumnApproved: "allNodesInColumnApproved", approvalStatusTemplate: "approvalStatusTemplate", statusColorMapping: "statusColorMapping", isEdit: "isEdit", isNextNodeBlank: "isNextNodeBlank" }, outputs: { onAdd: "onAdd", onEdit: "onEdit", onDelete: "onDelete" }, host: { properties: { "class.fdp-approval-flow-node--first-root": "meta?.firstOfMultipleRootNodes", "class.fdp-approval-flow-node--first-final": "meta?.firstOfMultipleFinalNodes", "class.fdp-approval-flow-node--edit-mode": "this.isEdit", "class.fdp-approval-flow-node--next-blank": "this.isNextNodeBlank", "class.fdp-approval-flow-node--blank": "this._blank", "class.fdp-approval-flow-node--space": "this._space", "class.fdp-approval-flow-node--root": "this._isRoot", "class.fdp-approval-flow-node--final": "this._isFinal", "class.fdp-approval-flow-node--line-before": "this._renderLineBefore", "class.fdp-approval-flow-node--line-after": "this._renderLineAfter", "class.fdp-approval-flow-node--approved": "this._isApproved", "class.fdp-approval-flow-node--parent-approved": "this._isParentApproved", "class.fdp-approval-flow-node--selected": "this._isNodeSelected", "class.fdp-approval-flow-node--parallel-start": "this._isParallelStart", "class.fdp-approval-flow-node--parallel-end": "this._isParallelEnd", "class.fdp-approval-flow-node--first-in-parallel": "this._isFirstInParallel", "class.fdp-approval-flow-node--last-in-parallel": "this._isLastInParallel", "class.fdp-approval-flow-node--last-blank": "this._lastBlank" }, classAttribute: "fdp-approval-flow-node" }, queries: [{ propertyName: "_gridListItem", first: true, predicate: GridListItemComponent, descendants: true }], viewQueries: [{ propertyName: "_menu", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowMenuButton", first: true, predicate: ["overflowMenuButton"], descendants: true }, { propertyName: "_nodeContent", first: true, predicate: ["nodeContent"], descendants: true }, { propertyName: "_dropZones", predicate: ApprovalFlowDropZoneDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (meta?.renderVerticalLineBefore) {\n <div\n class=\"fdp-approval-flow-node__vertical-line-before\"\n [class.fdp-approval-flow-node__vertical-line-before-solid]=\"_isVerticalLineBeforeSolid\"\n ></div>\n}\n@if (meta?.renderVerticalLineAfter) {\n <div\n class=\"fdp-approval-flow-node__vertical-line-after\"\n [class.fdp-approval-flow-node__vertical-line-after-solid]=\"_isVerticalLineAfterSolid\"\n ></div>\n}\n@if (!_blank && !_space) {\n @if (renderArrow) {\n <div class=\"fdp-approval-flow-node__arrow\"></div>\n }\n @if (_isRoot && meta?.nodeIndex === 0) {\n <div class=\"fdp-approval-flow-node__carousel-start-marker\"></div>\n }\n @if (_isFinal && meta?.nodeIndex === 0) {\n <div class=\"fdp-approval-flow-node__carousel-end-marker\"></div>\n }\n <ng-content></ng-content>\n}\n<ng-template #overflowMenuButton>\n <!-- Actually just the fd-grid-item action button but with some hardcode to be used as menu trigger -->\n @if (!node?.disableActions) {\n <button\n class=\"fdp-approval-flow-node__menu-button\"\n fd-button\n fdType=\"transparent\"\n tabindex=\"0\"\n glyph=\"overflow\"\n [title]=\"'platformApprovalFlow.nodeMenuButtonTitle' | fdTranslate\"\n fdCompact\n [fdMenuTrigger]=\"menu\"\n [disabled]=\"_isEditActionsAvailable\"\n (click)=\"$event.stopPropagation()\"\n ></button>\n }\n</ng-template>\n<ng-template #nodeContent>\n <div class=\"fdp-approval-flow-node__info\">\n <div\n class=\"fdp-approval-flow-node__name\"\n [class.fdp-approval-flow-node__name--members-count]=\"node.approvers.length > 1\"\n [id]=\"approvalFlowNodeId\"\n >\n @if (node.approvers.length === 1) {\n {{ node.approvers[0].name }}\n } @else {\n {{ 'platformApprovalFlow.nodeMembersCount' | fdTranslate: { count: node.approvers.length } }}\n }\n </div>\n <div class=\"fdp-approval-flow-node__description\">\n @if (!node.variousTeams) {\n {{\n node.approvers.length > 1\n ? node.description\n : node.approvers.length\n ? node.approvers[0].description\n : ''\n }}\n } @else {\n {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }}\n }\n <ng-template #variousTeams> {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }} </ng-template>\n </div>\n <fdp-object-status [status]=\"_objectStatus\" [inverted]=\"true\">\n <ng-template fdpObjectStatusText>\n @if (approvalStatusTemplate) {\n @if (!checkDueDate || !_showDueDateWarning) {\n @if (approvalStatusTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"approvalStatusTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n >\n </ng-template>\n }\n }\n } @else {\n @if (!checkDueDate || !_showDueDateWarning) {\n @switch (node.status) {\n @case ('approved') {\n {{ 'platformApprovalFlow.statusApproved' | fdTranslate }}\n }\n @case ('rejected') {\n {{ 'platformApprovalFlow.statusRejected' | fdTranslate }}\n }\n @case ('in progress') {\n {{ 'platformApprovalFlow.statusInProgress' | fdTranslate }}\n }\n @case ('not started') {\n {{ 'platformApprovalFlow.statusNotStarted' | fdTranslate }}\n }\n }\n }\n }\n @if (checkDueDate && _showDueDateWarning) {\n @if (_dueIn === dueDateThreshold) {\n {{ 'platformApprovalFlow.nodeStatusDueToday' | fdTranslate }}\n }\n @if (_dueIn < dueDateThreshold) {\n {{\n 'platformApprovalFlow.nodeStatusDueInXDays'\n | fdTranslate: { count: dueDateThreshold - _dueIn }\n }}\n }\n @if (_dueIn > dueDateThreshold) {\n {{\n 'platformApprovalFlow.nodeStatusXDaysOverdue'\n | fdTranslate: { count: _dueIn - dueDateThreshold }\n }}\n }\n }\n </ng-template>\n </fdp-object-status>\n </div>\n</ng-template>\n@if (_showAddButton && meta?.canAddNodeBeforeAll && !node?.actionsConfig?.disableAddBefore) {\n <ng-template\n [ngTemplateOutlet]=\"addNodeButton\"\n [ngTemplateOutletContext]=\"{ placement: 'before-all' }\"\n ></ng-template>\n}\n@if (_showAddButton && meta?.canAddNodeBefore && !node?.actionsConfig?.disableAddBefore) {\n <ng-template [ngTemplateOutlet]=\"addNodeButton\" [ngTemplateOutletContext]=\"{ placement: 'before' }\"></ng-template>\n}\n@if (\n _showAddButton && meta?.canAddNodeAfter && meta?.renderAddNodeAfterButton && !node?.actionsConfig?.disableAddAfter\n) {\n <ng-template [ngTemplateOutlet]=\"addNodeButton\" [ngTemplateOutletContext]=\"{ placement: 'after' }\"></ng-template>\n}\n@if (\n _showAfterAllAddButton &&\n meta?.canAddNodeAfterAll &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n) {\n <ng-template\n [ngTemplateOutlet]=\"addNodeButton\"\n [ngTemplateOutletContext]=\"{ placement: 'after-all' }\"\n ></ng-template>\n}\n<ng-template #addNodeButton let-placement=\"placement\">\n @if (node.status !== 'approved') {\n <button\n fd-button\n glyph=\"add\"\n [title]=\"'platformApprovalFlow.addNodeButtonTitle' | fdTranslate\"\n fdCompact\n class=\"fdp-approval-flow-node__add\"\n [class.fdp-approval-flow-node__add--blank]=\"this._blank\"\n [class.fdp-approval-flow-node__add--before]=\"\n !this._blank && (placement === 'before' || placement === 'before-all')\n \"\n [class.fdp-approval-flow-node__add--before-all]=\"!this._blank && placement === 'before-all'\"\n [class.fdp-approval-flow-node__add--after]=\"\n !this._blank && (placement === 'after' || placement === 'after-all')\n \"\n [class.fdp-approval-flow-node__add--after-all]=\"placement === 'after-all'\"\n [style.visibility]=\"dropZone.active ? 'hidden' : ''\"\n (click)=\"onAdd.emit(placement)\"\n ></button>\n }\n <div\n #dropZone=\"fdp-approval-flow-drop-zone\"\n fdp-approval-flow-drop-zone\n [placement]=\"placement\"\n class=\"fdp-approval-flow-node__drop-zone\"\n [class.fdp-approval-flow-node__drop-zone--active]=\"dropZone.active\"\n [class.fdp-approval-flow-node__drop-zone--blank]=\"isNextNodeBlank\"\n [class.fdp-approval-flow-node__drop-zone--partial]=\"_dropZonePartial(placement)\"\n ></div>\n</ng-template>\n<fd-menu #menu fdContentDensity placement=\"bottom-end\" (isOpenChange)=\"_onMenuOpen()\">\n @if (meta?.canAddNodeBefore && !this.node?.actionsConfig?.disableAddBefore) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('before')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversBefore' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (meta?.canAddNodeAfter && !this.node?.actionsConfig?.disableAddAfter) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('after')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversAfter' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (meta?.canAddParallel && !this.node?.actionsConfig?.disableAddParallel) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('parallel')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversParallel' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (_isNotStarted && !this.node?.actionsConfig?.disableEdit) {\n <li fd-menu-item (click)=\"menu.close(); onEdit.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionEditApprover' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (!this.node?.actionsConfig?.disableRemove) {\n <li fd-menu-item (click)=\"menu.close(); onDelete.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionRemove' | fdTranslate }}</span>\n </div>\n </li>\n }\n</fd-menu>\n", styles: [".fdp-approval-flow-node{display:block;box-sizing:border-box;position:relative;width:17.375rem;height:5.875rem;margin-bottom:1rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode{height:7.875rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-after:after{top:-4.9375rem;height:8.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{content:\"\";display:block;position:absolute;top:-3.9375rem;height:6.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before{left:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before-solid:before{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{right:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after-solid:after{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-before:before{left:auto;right:-2.0625rem}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-after:after{right:auto;left:-2.0625rem}.fdp-approval-flow-node .fdp-approval-flow-node__add{position:absolute;z-index:10;margin:calc(3.4375rem - 1px) auto auto;inset:0;border-radius:100%;min-width:1rem;max-width:1rem;min-height:1rem;max-height:1rem}.fdp-approval-flow-node .fdp-approval-flow-node__add fd-icon{line-height:1rem;font-size:.7rem;font-weight:900}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before{left:-2.5rem;right:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-2.8rem}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after{right:-2.5rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-2.8rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone{border-radius:.25rem;position:absolute;height:100%;z-index:1}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa);border:.125rem solid #0854a0;border:.125rem solid var(--sapButton_IconColor, #0854a0)}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--blank{width:100%;top:0}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--partial{width:10%;left:0;top:0}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank{background:transparent;box-shadow:none;pointer-events:none;cursor:default}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:before{content:\"\";display:block;position:absolute;width:calc(100% + 4rem);height:0;left:-2rem;top:calc(50% - .0625rem);border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{width:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:not(.fdp-approval-flow-node--last-blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{width:100%}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{content:\"\";width:2rem;height:0;display:block;position:absolute;top:calc(50% - .0625rem);bottom:0;pointer-events:none;border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{right:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--blank:before{border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parent-approved.fdp-approval-flow-node--line-before:before{left:-2rem;border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode.fdp-approval-flow-node--blank{pointer-events:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-end-marker{top:3.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__arrow{display:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{right:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{right:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{left:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{left:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{left:19.875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{right:-12.6875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:calc(100% + 4rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{width:4rem;left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{width:4rem;right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__add,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-after{visibility:hidden}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name{font-size:1rem;line-height:1.25rem;margin-bottom:.1rem;color:#32363a;color:var(--sapTextColor, #32363a)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__description{font-size:.875rem;line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin-bottom:.4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow{width:0;height:0;border-style:solid;border-width:.375rem 0 .375rem .5rem;border-color:transparent transparent transparent #d9d9d9;border-color:transparent transparent transparent var(--sapGroup_TitleBorderColor, #d9d9d9);position:absolute;left:-.5rem;top:0;bottom:0;margin:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{z-index:1;background:#d9d9d9;background:var(--sapGroup_TitleBorderColor, #d9d9d9);display:block;position:absolute;width:.25rem;height:1rem;top:2.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__arrow{left:auto;right:-.5rem;border-width:.375rem .5rem .375rem 0;border-color:transparent #d9d9d9 transparent transparent;border-color:transparent var(--sapGroup_TitleBorderColor, #d9d9d9) transparent transparent}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-before:before{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-after:after{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count{direction:ltr;text-align:right}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before{right:-2.5rem;left:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-2.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after{left:-2.5rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-2.8rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{left:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{left:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{right:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{right:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{right:19.875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:calc(100% + 2rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{left:-12.6875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:calc(100% + 4rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{left:0}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: ObjectStatusComponent, selector: "fdp-object-status", inputs: ["status", "glyph", "indicationColor", "secondaryIndication", "clickable", "inverted", "large", "label", "ariaLabel", "title"], outputs: ["objectStatusClick"] }, { kind: "directive", type: PlatformObjectStatusTextDirective, selector: "[fdpObjectStatusText]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ApprovalFlowDropZoneDirective, selector: "[fdp-approval-flow-drop-zone]", inputs: ["placement"], exportAs: ["fdp-approval-flow-drop-zone"] }, { kind: "component", type: MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
228
228
  }
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ApprovalFlowNodeComponent, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ApprovalFlowNodeComponent, decorators: [{
230
230
  type: Component,
231
231
  args: [{ selector: 'fdp-approval-flow-node', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
232
232
  class: 'fdp-approval-flow-node',
233
233
  '[class.fdp-approval-flow-node--first-root]': 'meta?.firstOfMultipleRootNodes',
234
234
  '[class.fdp-approval-flow-node--first-final]': 'meta?.firstOfMultipleFinalNodes'
235
235
  }, standalone: true, imports: [
236
- NgIf,
237
236
  ButtonComponent,
238
237
  ContentDensityDirective,
239
238
  MenuTriggerDirective,
@@ -241,17 +240,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
241
240
  PlatformObjectStatusTextDirective,
242
241
  NgTemplateOutlet,
243
242
  ApprovalFlowDropZoneDirective,
244
- NgSwitch,
245
- NgSwitchCase,
246
243
  MenuComponent,
247
244
  MenuItemComponent,
248
245
  MenuInteractiveComponent,
249
246
  MenuTitleDirective,
250
247
  FdTranslatePipe
251
- ], template: "<div\n *ngIf=\"meta?.renderVerticalLineBefore\"\n class=\"fdp-approval-flow-node__vertical-line-before\"\n [class.fdp-approval-flow-node__vertical-line-before-solid]=\"_isVerticalLineBeforeSolid\"\n></div>\n\n<div\n *ngIf=\"meta?.renderVerticalLineAfter\"\n class=\"fdp-approval-flow-node__vertical-line-after\"\n [class.fdp-approval-flow-node__vertical-line-after-solid]=\"_isVerticalLineAfterSolid\"\n></div>\n\n<ng-container *ngIf=\"!_blank && !_space\">\n <div *ngIf=\"renderArrow\" class=\"fdp-approval-flow-node__arrow\"></div>\n\n <div *ngIf=\"_isRoot && meta?.nodeIndex === 0\" class=\"fdp-approval-flow-node__carousel-start-marker\"></div>\n\n <div *ngIf=\"_isFinal && meta?.nodeIndex === 0\" class=\"fdp-approval-flow-node__carousel-end-marker\"></div>\n\n <ng-content></ng-content>\n</ng-container>\n\n<ng-template #overflowMenuButton>\n <!-- Actually just the fd-grid-item action button but with some hardcode to be used as menu trigger -->\n <button\n *ngIf=\"!node?.disableActions\"\n class=\"fdp-approval-flow-node__menu-button\"\n fd-button\n fdType=\"transparent\"\n tabindex=\"0\"\n glyph=\"overflow\"\n [title]=\"'platformApprovalFlow.nodeMenuButtonTitle' | fdTranslate\"\n fdCompact\n [fdMenuTrigger]=\"menu\"\n [disabled]=\"_isEditActionsAvailable\"\n (click)=\"$event.stopPropagation()\"\n ></button>\n</ng-template>\n\n<ng-template #nodeContent>\n <div class=\"fdp-approval-flow-node__info\">\n <div\n class=\"fdp-approval-flow-node__name\"\n [class.fdp-approval-flow-node__name--members-count]=\"node.approvers.length > 1\"\n [id]=\"approvalFlowNodeId\"\n >\n <ng-container *ngIf=\"node.approvers.length === 1; else multipleApprovers\">\n {{ node.approvers[0].name }}\n </ng-container>\n\n <ng-template #multipleApprovers>\n {{ 'platformApprovalFlow.nodeMembersCount' | fdTranslate : { count: node.approvers.length } }}\n </ng-template>\n </div>\n\n <div class=\"fdp-approval-flow-node__description\">\n <ng-container *ngIf=\"!node.variousTeams; else variousTeams\">\n {{\n node.approvers.length > 1\n ? node.description\n : node.approvers.length\n ? node.approvers[0].description\n : ''\n }}\n </ng-container>\n\n <ng-template #variousTeams> {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }} </ng-template>\n </div>\n\n <fdp-object-status [status]=\"_objectStatus\" [inverted]=\"true\">\n <ng-template fdpObjectStatusText>\n <ng-container *ngIf=\"approvalStatusTemplate; then userStatusTemplate; else defaultStatusTemplate\">\n </ng-container>\n\n <ng-container *ngIf=\"checkDueDate && _showDueDateWarning\">\n <ng-container *ngIf=\"_dueIn === dueDateThreshold\">\n {{ 'platformApprovalFlow.nodeStatusDueToday' | fdTranslate }}\n </ng-container>\n\n <ng-container *ngIf=\"_dueIn < dueDateThreshold\">\n {{\n 'platformApprovalFlow.nodeStatusDueInXDays'\n | fdTranslate : { count: dueDateThreshold - _dueIn }\n }}\n </ng-container>\n\n <ng-container *ngIf=\"_dueIn > dueDateThreshold\">\n {{\n 'platformApprovalFlow.nodeStatusXDaysOverdue'\n | fdTranslate : { count: _dueIn - dueDateThreshold }\n }}\n </ng-container>\n </ng-container>\n </ng-template>\n </fdp-object-status>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"_showAddButton && meta?.canAddNodeBeforeAll && !node?.actionsConfig?.disableAddBefore\">\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'before-all' }\"></ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"_showAddButton && meta?.canAddNodeBefore && !node?.actionsConfig?.disableAddBefore\">\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'before' }\"></ng-container>\n</ng-container>\n\n<ng-container\n *ngIf=\"\n _showAddButton &&\n meta?.canAddNodeAfter &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n \"\n>\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'after' }\"></ng-container>\n</ng-container>\n\n<ng-container\n *ngIf=\"\n _showAfterAllAddButton &&\n meta?.canAddNodeAfterAll &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n \"\n>\n <ng-container *ngTemplateOutlet=\"addNodeButton; context: { placement: 'after-all' }\"></ng-container>\n</ng-container>\n\n<ng-template #addNodeButton let-placement=\"placement\">\n <button\n *ngIf=\"node.status !== 'approved'\"\n fd-button\n glyph=\"add\"\n [title]=\"'platformApprovalFlow.addNodeButtonTitle' | fdTranslate\"\n fdCompact\n class=\"fdp-approval-flow-node__add\"\n [class.fdp-approval-flow-node__add--blank]=\"this._blank\"\n [class.fdp-approval-flow-node__add--before]=\"\n !this._blank && (placement === 'before' || placement === 'before-all')\n \"\n [class.fdp-approval-flow-node__add--before-all]=\"!this._blank && placement === 'before-all'\"\n [class.fdp-approval-flow-node__add--after]=\"\n !this._blank && (placement === 'after' || placement === 'after-all')\n \"\n [class.fdp-approval-flow-node__add--after-all]=\"placement === 'after-all'\"\n [style.visibility]=\"dropZone.active ? 'hidden' : ''\"\n (click)=\"onAdd.emit(placement)\"\n ></button>\n\n <div\n #dropZone=\"fdp-approval-flow-drop-zone\"\n fdp-approval-flow-drop-zone\n [placement]=\"placement\"\n class=\"fdp-approval-flow-node__drop-zone\"\n [class.fdp-approval-flow-node__drop-zone--active]=\"dropZone.active\"\n [class.fdp-approval-flow-node__drop-zone--blank]=\"isNextNodeBlank\"\n [class.fdp-approval-flow-node__drop-zone--partial]=\"_dropZonePartial(placement)\"\n ></div>\n</ng-template>\n\n<ng-template #defaultStatusTemplate>\n <ng-container *ngIf=\"!checkDueDate || !_showDueDateWarning\">\n <ng-container [ngSwitch]=\"node.status\">\n <ng-container *ngSwitchCase=\"'approved'\">{{\n 'platformApprovalFlow.statusApproved' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'rejected'\">{{\n 'platformApprovalFlow.statusRejected' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'in progress'\">{{\n 'platformApprovalFlow.statusInProgress' | fdTranslate\n }}</ng-container>\n <ng-container *ngSwitchCase=\"'not started'\">{{\n 'platformApprovalFlow.statusNotStarted' | fdTranslate\n }}</ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #userStatusTemplate>\n <ng-container *ngIf=\"!checkDueDate || !_showDueDateWarning\">\n <ng-container\n *ngIf=\"approvalStatusTemplate\"\n [ngTemplateOutlet]=\"approvalStatusTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<fd-menu #menu fdContentDensity placement=\"bottom-end\" (isOpenChange)=\"_onMenuOpen()\">\n <li\n *ngIf=\"meta?.canAddNodeBefore && !this.node?.actionsConfig?.disableAddBefore\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('before')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversBefore' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"meta?.canAddNodeAfter && !this.node?.actionsConfig?.disableAddAfter\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('after')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversAfter' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"meta?.canAddParallel && !this.node?.actionsConfig?.disableAddParallel\"\n fd-menu-item\n (click)=\"menu.close(); onAdd.emit('parallel')\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversParallel' | fdTranslate }}</span>\n </div>\n </li>\n\n <li\n *ngIf=\"_isNotStarted && !this.node?.actionsConfig?.disableEdit\"\n fd-menu-item\n (click)=\"menu.close(); onEdit.emit()\"\n >\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionEditApprover' | fdTranslate }}</span>\n </div>\n </li>\n\n <li *ngIf=\"!this.node?.actionsConfig?.disableRemove\" fd-menu-item (click)=\"menu.close(); onDelete.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionRemove' | fdTranslate }}</span>\n </div>\n </li>\n</fd-menu>\n", styles: [".fdp-approval-flow-node{display:block;box-sizing:border-box;position:relative;width:17.375rem;height:5.875rem;margin-bottom:1rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode{height:7.875rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-after:after{top:-4.9375rem;height:8.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{content:\"\";display:block;position:absolute;top:-3.9375rem;height:6.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before{left:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before-solid:before{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{right:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after-solid:after{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-before:before{left:auto;right:-2.0625rem}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-after:after{right:auto;left:-2.0625rem}.fdp-approval-flow-node .fdp-approval-flow-node__add{position:absolute;z-index:10;margin:calc(3.4375rem - 1px) auto auto;inset:0;border-radius:100%;min-width:1rem;max-width:1rem;min-height:1rem;max-height:1rem}.fdp-approval-flow-node .fdp-approval-flow-node__add fd-icon{line-height:1rem;font-size:.7rem;font-weight:900}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before{left:-2.5rem;right:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-2.8rem}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after{right:-2.5rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-2.8rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone{border-radius:.25rem;position:absolute;height:100%;z-index:1}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa);border:.125rem solid #0854a0;border:.125rem solid var(--sapButton_IconColor, #0854a0)}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--blank{width:100%;top:0}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--partial{width:10%;left:0;top:0}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank{background:transparent;box-shadow:none;pointer-events:none;cursor:default}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:before{content:\"\";display:block;position:absolute;width:calc(100% + 4rem);height:0;left:-2rem;top:calc(50% - .0625rem);border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{width:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:not(.fdp-approval-flow-node--last-blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{width:100%}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{content:\"\";width:2rem;height:0;display:block;position:absolute;top:calc(50% - .0625rem);bottom:0;pointer-events:none;border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{right:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--blank:before{border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parent-approved.fdp-approval-flow-node--line-before:before{left:-2rem;border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode.fdp-approval-flow-node--blank{pointer-events:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-end-marker{top:3.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__arrow{display:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{right:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{right:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{left:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{left:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{left:19.875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{right:-12.6875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:calc(100% + 4rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{width:4rem;left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{width:4rem;right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__add,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-after{visibility:hidden}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name{font-size:1rem;line-height:1.25rem;margin-bottom:.1rem;color:#32363a;color:var(--sapTextColor, #32363a)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__description{font-size:.875rem;line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin-bottom:.4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow{width:0;height:0;border-style:solid;border-width:.375rem 0 .375rem .5rem;border-color:transparent transparent transparent #d9d9d9;border-color:transparent transparent transparent var(--sapGroup_TitleBorderColor, #d9d9d9);position:absolute;left:-.5rem;top:0;bottom:0;margin:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{z-index:1;background:#d9d9d9;background:var(--sapGroup_TitleBorderColor, #d9d9d9);display:block;position:absolute;width:.25rem;height:1rem;top:2.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__arrow{left:auto;right:-.5rem;border-width:.375rem .5rem .375rem 0;border-color:transparent #d9d9d9 transparent transparent;border-color:transparent var(--sapGroup_TitleBorderColor, #d9d9d9) transparent transparent}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-before:before{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-after:after{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count{direction:ltr;text-align:right}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before{right:-2.5rem;left:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-2.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after{left:-2.5rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-2.8rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{left:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{left:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{right:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{right:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{right:19.875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:calc(100% + 2rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{left:-12.6875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:calc(100% + 4rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{left:0}\n"] }]
252
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.RtlService, decorators: [{
248
+ ], template: "@if (meta?.renderVerticalLineBefore) {\n <div\n class=\"fdp-approval-flow-node__vertical-line-before\"\n [class.fdp-approval-flow-node__vertical-line-before-solid]=\"_isVerticalLineBeforeSolid\"\n ></div>\n}\n@if (meta?.renderVerticalLineAfter) {\n <div\n class=\"fdp-approval-flow-node__vertical-line-after\"\n [class.fdp-approval-flow-node__vertical-line-after-solid]=\"_isVerticalLineAfterSolid\"\n ></div>\n}\n@if (!_blank && !_space) {\n @if (renderArrow) {\n <div class=\"fdp-approval-flow-node__arrow\"></div>\n }\n @if (_isRoot && meta?.nodeIndex === 0) {\n <div class=\"fdp-approval-flow-node__carousel-start-marker\"></div>\n }\n @if (_isFinal && meta?.nodeIndex === 0) {\n <div class=\"fdp-approval-flow-node__carousel-end-marker\"></div>\n }\n <ng-content></ng-content>\n}\n<ng-template #overflowMenuButton>\n <!-- Actually just the fd-grid-item action button but with some hardcode to be used as menu trigger -->\n @if (!node?.disableActions) {\n <button\n class=\"fdp-approval-flow-node__menu-button\"\n fd-button\n fdType=\"transparent\"\n tabindex=\"0\"\n glyph=\"overflow\"\n [title]=\"'platformApprovalFlow.nodeMenuButtonTitle' | fdTranslate\"\n fdCompact\n [fdMenuTrigger]=\"menu\"\n [disabled]=\"_isEditActionsAvailable\"\n (click)=\"$event.stopPropagation()\"\n ></button>\n }\n</ng-template>\n<ng-template #nodeContent>\n <div class=\"fdp-approval-flow-node__info\">\n <div\n class=\"fdp-approval-flow-node__name\"\n [class.fdp-approval-flow-node__name--members-count]=\"node.approvers.length > 1\"\n [id]=\"approvalFlowNodeId\"\n >\n @if (node.approvers.length === 1) {\n {{ node.approvers[0].name }}\n } @else {\n {{ 'platformApprovalFlow.nodeMembersCount' | fdTranslate: { count: node.approvers.length } }}\n }\n </div>\n <div class=\"fdp-approval-flow-node__description\">\n @if (!node.variousTeams) {\n {{\n node.approvers.length > 1\n ? node.description\n : node.approvers.length\n ? node.approvers[0].description\n : ''\n }}\n } @else {\n {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }}\n }\n <ng-template #variousTeams> {{ 'platformApprovalFlow.nodeVariousTeams' | fdTranslate }} </ng-template>\n </div>\n <fdp-object-status [status]=\"_objectStatus\" [inverted]=\"true\">\n <ng-template fdpObjectStatusText>\n @if (approvalStatusTemplate) {\n @if (!checkDueDate || !_showDueDateWarning) {\n @if (approvalStatusTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"approvalStatusTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"\n >\n </ng-template>\n }\n }\n } @else {\n @if (!checkDueDate || !_showDueDateWarning) {\n @switch (node.status) {\n @case ('approved') {\n {{ 'platformApprovalFlow.statusApproved' | fdTranslate }}\n }\n @case ('rejected') {\n {{ 'platformApprovalFlow.statusRejected' | fdTranslate }}\n }\n @case ('in progress') {\n {{ 'platformApprovalFlow.statusInProgress' | fdTranslate }}\n }\n @case ('not started') {\n {{ 'platformApprovalFlow.statusNotStarted' | fdTranslate }}\n }\n }\n }\n }\n @if (checkDueDate && _showDueDateWarning) {\n @if (_dueIn === dueDateThreshold) {\n {{ 'platformApprovalFlow.nodeStatusDueToday' | fdTranslate }}\n }\n @if (_dueIn < dueDateThreshold) {\n {{\n 'platformApprovalFlow.nodeStatusDueInXDays'\n | fdTranslate: { count: dueDateThreshold - _dueIn }\n }}\n }\n @if (_dueIn > dueDateThreshold) {\n {{\n 'platformApprovalFlow.nodeStatusXDaysOverdue'\n | fdTranslate: { count: _dueIn - dueDateThreshold }\n }}\n }\n }\n </ng-template>\n </fdp-object-status>\n </div>\n</ng-template>\n@if (_showAddButton && meta?.canAddNodeBeforeAll && !node?.actionsConfig?.disableAddBefore) {\n <ng-template\n [ngTemplateOutlet]=\"addNodeButton\"\n [ngTemplateOutletContext]=\"{ placement: 'before-all' }\"\n ></ng-template>\n}\n@if (_showAddButton && meta?.canAddNodeBefore && !node?.actionsConfig?.disableAddBefore) {\n <ng-template [ngTemplateOutlet]=\"addNodeButton\" [ngTemplateOutletContext]=\"{ placement: 'before' }\"></ng-template>\n}\n@if (\n _showAddButton && meta?.canAddNodeAfter && meta?.renderAddNodeAfterButton && !node?.actionsConfig?.disableAddAfter\n) {\n <ng-template [ngTemplateOutlet]=\"addNodeButton\" [ngTemplateOutletContext]=\"{ placement: 'after' }\"></ng-template>\n}\n@if (\n _showAfterAllAddButton &&\n meta?.canAddNodeAfterAll &&\n meta?.renderAddNodeAfterButton &&\n !node?.actionsConfig?.disableAddAfter\n) {\n <ng-template\n [ngTemplateOutlet]=\"addNodeButton\"\n [ngTemplateOutletContext]=\"{ placement: 'after-all' }\"\n ></ng-template>\n}\n<ng-template #addNodeButton let-placement=\"placement\">\n @if (node.status !== 'approved') {\n <button\n fd-button\n glyph=\"add\"\n [title]=\"'platformApprovalFlow.addNodeButtonTitle' | fdTranslate\"\n fdCompact\n class=\"fdp-approval-flow-node__add\"\n [class.fdp-approval-flow-node__add--blank]=\"this._blank\"\n [class.fdp-approval-flow-node__add--before]=\"\n !this._blank && (placement === 'before' || placement === 'before-all')\n \"\n [class.fdp-approval-flow-node__add--before-all]=\"!this._blank && placement === 'before-all'\"\n [class.fdp-approval-flow-node__add--after]=\"\n !this._blank && (placement === 'after' || placement === 'after-all')\n \"\n [class.fdp-approval-flow-node__add--after-all]=\"placement === 'after-all'\"\n [style.visibility]=\"dropZone.active ? 'hidden' : ''\"\n (click)=\"onAdd.emit(placement)\"\n ></button>\n }\n <div\n #dropZone=\"fdp-approval-flow-drop-zone\"\n fdp-approval-flow-drop-zone\n [placement]=\"placement\"\n class=\"fdp-approval-flow-node__drop-zone\"\n [class.fdp-approval-flow-node__drop-zone--active]=\"dropZone.active\"\n [class.fdp-approval-flow-node__drop-zone--blank]=\"isNextNodeBlank\"\n [class.fdp-approval-flow-node__drop-zone--partial]=\"_dropZonePartial(placement)\"\n ></div>\n</ng-template>\n<fd-menu #menu fdContentDensity placement=\"bottom-end\" (isOpenChange)=\"_onMenuOpen()\">\n @if (meta?.canAddNodeBefore && !this.node?.actionsConfig?.disableAddBefore) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('before')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversBefore' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (meta?.canAddNodeAfter && !this.node?.actionsConfig?.disableAddAfter) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('after')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversAfter' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (meta?.canAddParallel && !this.node?.actionsConfig?.disableAddParallel) {\n <li fd-menu-item (click)=\"menu.close(); onAdd.emit('parallel')\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ 'platformApprovalFlow.nodeActionAddApproversParallel' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (_isNotStarted && !this.node?.actionsConfig?.disableEdit) {\n <li fd-menu-item (click)=\"menu.close(); onEdit.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionEditApprover' | fdTranslate }}</span>\n </div>\n </li>\n }\n @if (!this.node?.actionsConfig?.disableRemove) {\n <li fd-menu-item (click)=\"menu.close(); onDelete.emit()\">\n <div fd-menu-interactive>\n <span fd-menu-title> {{ 'platformApprovalFlow.nodeActionRemove' | fdTranslate }}</span>\n </div>\n </li>\n }\n</fd-menu>\n", styles: [".fdp-approval-flow-node{display:block;box-sizing:border-box;position:relative;width:17.375rem;height:5.875rem;margin-bottom:1rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode{height:7.875rem}.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node.fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__vertical-line-after:after{top:-4.9375rem;height:8.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{content:\"\";display:block;position:absolute;top:-3.9375rem;height:6.875rem}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before{left:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before-solid:before{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after{right:-2.0625rem;border-right:.125rem dashed #d9d9d9;border-right:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after-solid:after{border-right:.125rem solid #d9d9d9;border-right:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-before:before,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-before:before{left:auto;right:-2.0625rem}[dir=rtl] .fdp-approval-flow-node .fdp-approval-flow-node__vertical-line-after:after,.fdp-approval-flow-node[dir=rtl] .fdp-approval-flow-node__vertical-line-after:after{right:auto;left:-2.0625rem}.fdp-approval-flow-node .fdp-approval-flow-node__add{position:absolute;z-index:10;margin:calc(3.4375rem - 1px) auto auto;inset:0;border-radius:100%;min-width:1rem;max-width:1rem;min-height:1rem;max-height:1rem}.fdp-approval-flow-node .fdp-approval-flow-node__add fd-icon{line-height:1rem;font-size:.7rem;font-weight:900}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before{left:-2.5rem;right:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-2.8rem}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after{right:-2.5rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__add.fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-2.8rem;left:auto}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone{border-radius:.25rem;position:absolute;height:100%;z-index:1}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa);border:.125rem solid #0854a0;border:.125rem solid var(--sapButton_IconColor, #0854a0)}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--blank{width:100%;top:0}.fdp-approval-flow-node .fdp-approval-flow-node__drop-zone.fdp-approval-flow-node__drop-zone--partial{width:10%;left:0;top:0}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank{background:transparent;box-shadow:none;pointer-events:none;cursor:default}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:before{content:\"\";display:block;position:absolute;width:calc(100% + 4rem);height:0;left:-2rem;top:calc(50% - .0625rem);border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{width:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank:not(.fdp-approval-flow-node--last-blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{width:100%}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{content:\"\";width:2rem;height:0;display:block;position:absolute;top:calc(50% - .0625rem);bottom:0;pointer-events:none;border-top:.125rem dashed #d9d9d9;border-top:.125rem dashed var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:url(\"data:image/svg+xml,%3Csvg width='8' height='8' viewBox='0 0 8 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' y='3' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='6' width='2' height='2' fill='%23C4C4C4'/%3E%3Crect x='3' width='2' height='2' fill='%23C4C4C4'/%3E%3C/svg%3E%0A\") 2 round}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after{right:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--approved.fdp-approval-flow-node--blank:before{border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parent-approved.fdp-approval-flow-node--line-before:before{left:-2rem;border-top:.125rem solid #d9d9d9;border-top:.125rem solid var(--sapGroup_TitleBorderColor, #d9d9d9);border-image:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode.fdp-approval-flow-node--blank{pointer-events:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__carousel-end-marker{top:3.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--edit-mode .fdp-approval-flow-node__arrow{display:none}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{right:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{right:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{left:-1.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{left:-1.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{left:-3.5rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{left:19.875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:calc(100% + 2rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{right:-12.6875rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:calc(100% + 4rem)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{width:4rem;left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{width:4rem;right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:-4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__add,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space).cdk-drag-dragging .fdp-approval-flow-node__vertical-line-after{visibility:hidden}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name{font-size:1rem;line-height:1.25rem;margin-bottom:.1rem;color:#32363a;color:var(--sapTextColor, #32363a)}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__description{font-size:.875rem;line-height:1rem;color:#6a6d70;color:var(--sapContent_LabelColor, #6a6d70);margin-bottom:.4rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow{width:0;height:0;border-style:solid;border-width:.375rem 0 .375rem .5rem;border-color:transparent transparent transparent #d9d9d9;border-color:transparent transparent transparent var(--sapGroup_TitleBorderColor, #d9d9d9);position:absolute;left:-.5rem;top:0;bottom:0;margin:auto}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{z-index:1;background:#d9d9d9;background:var(--sapGroup_TitleBorderColor, #d9d9d9);display:block;position:absolute;width:.25rem;height:1rem;top:2.4375rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker{left:-2rem}.fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker{right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__arrow,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__arrow{left:auto;right:-.5rem;border-width:.375rem .5rem .375rem 0;border-color:transparent #d9d9d9 transparent transparent;border-color:transparent var(--sapGroup_TitleBorderColor, #d9d9d9) transparent transparent}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-before:before{left:auto;right:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--line-after:after{right:auto;left:-2rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__name.fdp-approval-flow-node__name--members-count{direction:ltr;text-align:right}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before{right:-2.5rem;left:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-2.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after{left:-2.5rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space) .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl] .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-2.8rem;right:auto}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after{left:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{left:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all{left:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-in-parallel:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-start:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--final:not(.fdp-approval-flow-node--blank) .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{left:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before{right:-1.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before+.fdp-approval-flow-node__drop-zone{right:-1.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all{right:-3.5rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-in-parallel .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--parallel-end .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--root .fdp-approval-flow-node__add--before-all+.fdp-approval-flow-node__drop-zone{right:-3.8rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all{right:19.875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--last-blank .fdp-approval-flow-node__add--after-all+.fdp-approval-flow-node__drop-zone{right:calc(100% + 2rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after{left:-12.6875rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--next-blank .fdp-approval-flow-node__add--after+.fdp-approval-flow-node__drop-zone{right:calc(100% + 4rem)}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root.fdp-approval-flow-node--line-before:before{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-root .fdp-approval-flow-node__carousel-start-marker{left:auto;right:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final.fdp-approval-flow-node--line-after:after{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--first-final .fdp-approval-flow-node__carousel-end-marker{right:auto;left:-4rem}[dir=rtl] .fdp-approval-flow-node:not(.fdp-approval-flow-node--space).fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before,.fdp-approval-flow-node:not(.fdp-approval-flow-node--space)[dir=rtl].fdp-approval-flow-node--blank.fdp-approval-flow-node--first-final:before{left:0}\n"] }]
249
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.RtlService, decorators: [{
253
250
  type: Optional
254
- }] }]; }, propDecorators: { node: [{
251
+ }] }], propDecorators: { node: [{
255
252
  type: Input
256
253
  }], meta: [{
257
254
  type: Input
@@ -347,4 +344,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
347
344
  type: ContentChild,
348
345
  args: [GridListItemComponent]
349
346
  }] } });
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWwtZmxvdy1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9hcHByb3ZhbC1mbG93L2FwcHJvdmFsLWZsb3ctbm9kZS9hcHByb3ZhbC1mbG93LW5vZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2FwcHJvdmFsLWZsb3cvYXBwcm92YWwtZmxvdy1ub2RlL2FwcHJvdmFsLWZsb3ctbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFJTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIs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O3VCQUFDLHdDQUF3QztnQkFPakQsaUJBQWlCO3NCQURwQixXQUFXO3VCQUFDLCtDQUErQztnQkFXeEQsZUFBZTtzQkFEbEIsV0FBVzt1QkFBQyx3Q0FBd0M7Z0JBT2pELGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyw4Q0FBOEM7Z0JBT3ZELGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsNENBQTRDO2dCQU9yRCxrQkFBa0I7c0JBRHJCLFdBQVc7dUJBQUMsaURBQWlEO2dCQU8xRCxpQkFBaUI7c0JBRHBCLFdBQVc7dUJBQUMsZ0RBQWdEO2dCQU96RCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsMENBQTBDOztRQXFCdkQsK0RBQStEO1FBQy9ELEtBQUs7c0JBRkosTUFBTTs7UUFNUCwrREFBK0Q7UUFDL0QsTUFBTTtzQkFGTCxNQUFNOztRQU1QLCtEQUErRDtRQUMvRCxRQUFRO3NCQUZQLE1BQU07Z0JBTVAsS0FBSztzQkFESixTQUFTO3VCQUFDLGFBQWE7Z0JBS3hCLG1CQUFtQjtzQkFEbEIsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBSy9CLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxhQUFhO2dCQUt4QixVQUFVO3NCQURULFlBQVk7dUJBQUMsNkJBQTZCO2dCQUszQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgR3JpZExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2dyaWQtbGlzdCc7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgT2JqZWN0U3RhdHVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL29iamVjdC1zdGF0dXMnO1xuXG5pbXBvcnQgeyBOZ0lmLCBOZ1N3aXRjaCwgTmdTd2l0Y2hDYXNlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7XG4gICAgTWVudUludGVyYWN0aXZlQ29tcG9uZW50LFxuICAgIE1lbnVJdGVtQ29tcG9uZW50LFxuICAgIE1lbnVUaXRsZURpcmVjdGl2ZSxcbiAgICBNZW51VHJpZ2dlckRpcmVjdGl2ZVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBGZFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0aW9uUmVzb2x2ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgT2JqZWN0U3RhdHVzQ29tcG9uZW50LCBQbGF0Zm9ybU9iamVjdFN0YXR1c1RleHREaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL29iamVjdC1zdGF0dXMnO1xuaW1wb3J0IHsgQXBwcm92YWxGbG93Tm9kZVRhcmdldCB9IGZyb20gJy4uL2FwcHJvdmFsLWZsb3ctYWRkLW5vZGUvYXBwcm92YWwtZmxvdy1hZGQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNOb2RlQXBwcm92ZWQsIGlzTm9kZVN0YXJ0ZWQgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IEFwcHJvdmFsR3JhcGhOb2RlLCBBcHByb3ZhbEdyYXBoTm9kZU1ldGFkYXRhLCBBcHByb3ZhbFN0YXR1cyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXBwcm92YWxGbG93RHJvcFpvbmVEaXJlY3RpdmUgfSBmcm9tICcuL2FwcHJvdmFsLWZsb3ctZHJvcC16b25lLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IE5PREVfU1RBVFVTX0NMQVNTX01BUCA9IHtcbiAgICBhcHByb3ZlZDogJ3Bvc2l0aXZlJyxcbiAgICByZWplY3RlZDogJ25lZ2F0aXZlJyxcbiAgICAnaW4gcHJvZ3Jlc3MnOiAnaW5mb3JtYXRpdmUnLFxuICAgICdub3Qgc3RhcnRlZCc6ICcnXG59O1xuXG5jb25zdCBEQVlfSU5fTUlMTElTRUNPTkRTID0gMTAwMCAqIDYwICogNjAgKiAyNDtcblxubGV0IGRlZmF1bHRJZCA9IDA7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIEFwcHJvdmFsRmxvd05vZGUgY29tcG9uZW50IGlzIGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAwLjQwLjBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtYXBwcm92YWwtZmxvdy1ub2RlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92YWwtZmxvdy1ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hcHByb3ZhbC1mbG93LW5vZGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZHAtYXBwcm92YWwtZmxvdy1ub2RlJyxcbiAgICAgICAgJ1tjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1maXJzdC1yb290XSc6ICdtZXRhPy5maXJzdE9mTXVsdGlwbGVSb290Tm9kZXMnLFxuICAgICAgICAnW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLWZpcnN0LWZpbmFsXSc6ICdtZXRhPy5maXJzdE9mTXVsdGlwbGVGaW5hbE5vZGVzJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgQ29udGVudERlbnNpdHlEaXJlY3RpdmUsXG4gICAgICAgIE1lbnVUcmlnZ2VyRGlyZWN0aXZlLFxuICAgICAgICBPYmplY3RTdGF0dXNDb21wb25lbnQsXG4gICAgICAgIFBsYXRmb3JtT2JqZWN0U3RhdHVzVGV4dERpcmVjdGl2ZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgQXBwcm92YWxGbG93RHJvcFpvbmVEaXJlY3RpdmUsXG4gICAgICAgIE5nU3dpdGNoLFxuICAgICAgICBOZ1N3aXRjaENhc2UsXG4gICAgICAgIE1lbnVDb21wb25lbnQsXG4gICAgICAgIE1lbnVJdGVtQ29tcG9uZW50LFxuICAgICAgICBNZW51SW50ZXJhY3RpdmVDb21wb25lbnQsXG4gICAgICAgIE1lbnVUaXRsZURpcmVjdGl2ZSxcbiAgICAgICAgRmRUcmFuc2xhdGVQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBcHByb3ZhbEZsb3dOb2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqIEFwcHJvdmFsIGZsb3cgZ3JhcGggbm9kZSAqL1xuICAgIEBJbnB1dCgpIG5vZGU6IEFwcHJvdmFsR3JhcGhOb2RlO1xuXG4gICAgLyoqIE5vZGUgbWV0YWRhdGEgKi9cbiAgICBASW5wdXQoKSBtZXRhOiBBcHByb3ZhbEdyYXBoTm9kZU1ldGFkYXRhO1xuXG4gICAgLyoqIFdoZXRoZXIgbm9kZSBlbGVtZW50IGhhcyBhcnJvdyBvbiB0aGUgbGVmdCBzaWRlIHBvaW50aW5nIHRvIHRoZSBub2RlICovXG4gICAgQElucHV0KCkgcmVuZGVyQXJyb3cgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgZHVlIGRhdGUgd2FybmluZyBpbiBzdGF0dXMgKi9cbiAgICBASW5wdXQoKSBjaGVja0R1ZURhdGUgPSBmYWxzZTtcblxuICAgIC8qKiBOdW1iZXIgb2YgZGF5cyBiZWZvcmUgZHVlIGRhdGUgd2hlbiBzdGF0dXMgY2hhbmdlcyB0byBgd2FybmluZ2Agd2l0aCB0ZXh0ICdEdWUgaW4gWCBkYXlzJy5cbiAgICAgKiAgTm90IHVzZWQgaWYgJ2NoZWNrRHVlRGF0ZScgZXF1YWxzIGZhbHNlICovXG4gICAgQElucHV0KCkgZHVlRGF0ZVRocmVzaG9sZCA9IDc7XG5cbiAgICAvKiogV2hldGhlciBub2RlcyBpbiBjb2x1bW4gaW4gd2hpY2ggY3VycmVudCBub2RlIHBsYWNlZCBhcmUgYXBwcm92ZWRcbiAgICAgKiAgVXNlZCB0byByZW5kZXIgYXBwcm9wcmlhdGUgdmVydGljYWwgbGluZSBhZnRlciAoZGFzaGVkL3NvbGlkKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGFsbE5vZGVzSW5Db2x1bW5BcHByb3ZlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoZSBhcHAgY3VzdG9tIHN0YXR1c2VzICovXG4gICAgQElucHV0KClcbiAgICBhcHByb3ZhbFN0YXR1c1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEN1c3RvbSBzdGF0dXMgdG8gY29sb3IgbWFwcGluZyAgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXR1c0NvbG9yTWFwcGluZzogUmVjb3JkPEFwcHJvdmFsU3RhdHVzLCBPYmplY3RTdGF0dXM+O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG5vZGUgaXMgaW4gZWRpdCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLWVkaXQtbW9kZScpXG4gICAgaXNFZGl0OiBib29sZWFuO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG5vZGUgYWZ0ZXIgaXMgYmxhbmsgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tbmV4dC1ibGFuaycpXG4gICAgaXNOZXh0Tm9kZUJsYW5rOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLWJsYW5rJylcbiAgICBnZXQgX2JsYW5rKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm5vZGU/LmJsYW5rO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1zcGFjZScpXG4gICAgZ2V0IF9zcGFjZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5ub2RlPy5zcGFjZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tcm9vdCcpXG4gICAgZ2V0IF9pc1Jvb3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1ldGE/LmlzUm9vdDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tZmluYWwnKVxuICAgIGdldCBfaXNGaW5hbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWV0YT8uaXNGaW5hbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tbGluZS1iZWZvcmUnKVxuICAgIGdldCBfcmVuZGVyTGluZUJlZm9yZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm5vZGU/LmJsYW5rO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1saW5lLWFmdGVyJylcbiAgICBnZXQgX3JlbmRlckxpbmVBZnRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm5vZGU/LmJsYW5rIHx8IHRoaXMuX2lzRmluYWw7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLWFwcHJvdmVkJylcbiAgICBnZXQgX2lzQXBwcm92ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGUgJiYgaXNOb2RlQXBwcm92ZWQodGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tcGFyZW50LWFwcHJvdmVkJylcbiAgICBnZXQgX2lzUGFyZW50QXBwcm92ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5tZXRhPy5wYXJlbnRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMubWV0YT8ucm9vdE5vZGVzQXBwcm92ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZXRhLnBhcmVudHMuZXZlcnkoKG5vZGUpID0+IGlzTm9kZUFwcHJvdmVkKG5vZGUpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tc2VsZWN0ZWQnKVxuICAgIGdldCBfaXNOb2RlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRWRpdCAmJiB0aGlzLl9pc1NlbGVjdGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1wYXJhbGxlbC1zdGFydCcpXG4gICAgZ2V0IF9pc1BhcmFsbGVsU3RhcnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMubWV0YT8ucGFyYWxsZWxTdGFydCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLXBhcmFsbGVsLWVuZCcpXG4gICAgZ2V0IF9pc1BhcmFsbGVsRW5kKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLm1ldGE/LnBhcmFsbGVsRW5kKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tZmlyc3QtaW4tcGFyYWxsZWwnKVxuICAgIGdldCBfaXNGaXJzdEluUGFyYWxsZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMubWV0YT8uaXNGaXJzdEluUGFyYWxsZWwpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1sYXN0LWluLXBhcmFsbGVsJylcbiAgICBnZXQgX2lzTGFzdEluUGFyYWxsZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMubWV0YT8uaXNMYXN0SW5QYXJhbGxlbCk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG5vZGUgaXMgYmxhbmsgYW5kIHRoZSBmaW5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tbGFzdC1ibGFuaycpXG4gICAgZ2V0IF9sYXN0QmxhbmsoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ibGFuayAmJiB0aGlzLm5vZGUudGFyZ2V0cy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX2lzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubm9kZS5zZWxlY3RlZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vYmplY3RTdGF0dXM6IE9iamVjdFN0YXR1cztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dEdWVEYXRlV2FybmluZyA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZHVlSW4gPSAwO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgb24gYWRkIG5vZGUgYnV0dG9uIGNsaWNrZWQsIHZhbHVlIGlzIHRoZSBwbGFjZW1lbnQgZm9yIHRoZSBuZXcgbm9kZSAqL1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIG9uQWRkID0gbmV3IEV2ZW50RW1pdHRlcjxBcHByb3ZhbEZsb3dOb2RlVGFyZ2V0PigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgb24gZWRpdCBub2RlIGJ1dHRvbiBjbGlja2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25FZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgb24gZGVsZXRlIG5vZGUgYnV0dG9uIGNsaWNrZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBvbkRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChNZW51Q29tcG9uZW50KVxuICAgIF9tZW51OiBNZW51Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdvdmVyZmxvd01lbnVCdXR0b24nKVxuICAgIF9vdmVyZmxvd01lbnVCdXR0b246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ25vZGVDb250ZW50JylcbiAgICBfbm9kZUNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oQXBwcm92YWxGbG93RHJvcFpvbmVEaXJlY3RpdmUpXG4gICAgX2Ryb3Bab25lczogUXVlcnlMaXN0PEFwcHJvdmFsRmxvd0Ryb3Bab25lRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChHcmlkTGlzdEl0ZW1Db21wb25lbnQpXG4gICAgX2dyaWRMaXN0SXRlbTogR3JpZExpc3RJdGVtQ29tcG9uZW50PEFwcHJvdmFsR3JhcGhOb2RlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgYXBwcm92YWxGbG93Tm9kZUlkID0gJ2ZkcC1hcHByb3ZhbC1mbG93LW5vZGUtJyArIGRlZmF1bHRJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cmFuc2xhdGlvblJlc29sdmVyID0gbmV3IFRyYW5zbGF0aW9uUmVzb2x2ZXIoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsUmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX25hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNOb3RTdGFydGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIWlzTm9kZVN0YXJ0ZWQodGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNFZGl0QWN0aW9uc0F2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5zdGF0dXMgPT09ICdhcHByb3ZlZCcgfHwgdGhpcy5ub2RlLnN0YXR1cyA9PT0gJ3JlamVjdGVkJztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfYWN0aXZlRHJvcFpvbmVzKCk6IEFwcHJvdmFsRmxvd0Ryb3Bab25lRGlyZWN0aXZlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZHJvcFpvbmVzLmZpbHRlcigoeikgPT4gei5hY3RpdmUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9pc0FueURyb3Bab25lQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlRHJvcFpvbmVzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX2lzVmVydGljYWxMaW5lQmVmb3JlU29saWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5tZXRhPy5wYXJlbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy5tZXRhPy5pc1ZlcnRpY2FsTGluZUJlZm9yZVNvbGlkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWV0YS5wYXJlbnRzLmV2ZXJ5KChwYXJlbnROb2RlKSA9PiBpc05vZGVBcHByb3ZlZChwYXJlbnROb2RlKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX2lzVmVydGljYWxMaW5lQWZ0ZXJTb2xpZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLm5vZGU/LnRhcmdldHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gISF0aGlzLm1ldGE/LmlzVmVydGljYWxMaW5lQWZ0ZXJTb2xpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1ZlcnRpY2FsTGluZUJlZm9yZVNvbGlkICYmIHRoaXMuYWxsTm9kZXNJbkNvbHVtbkFwcHJvdmVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9zaG93QWRkQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0VkaXQgJiYgIXRoaXMuX2JsYW5rICYmICF0aGlzLl9zcGFjZSAmJiAhdGhpcy5ub2RlPy5kaXNhYmxlQWN0aW9ucztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfc2hvd0FmdGVyQWxsQWRkQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0VkaXQgJiYgIXRoaXMuX3NwYWNlICYmICF0aGlzLm5vZGU/LmRpc2FibGVBY3Rpb25zO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Ryb3Bab25lUGFydGlhbChwbGFjZW1lbnQ6IEFwcHJvdmFsRmxvd05vZGVUYXJnZXQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghdGhpcy5fYmxhbmsgJiYgKCF0aGlzLmlzTmV4dE5vZGVCbGFuayB8fCBwbGFjZW1lbnQgPT09ICdiZWZvcmUnKSkgfHxcbiAgICAgICAgICAgICh0aGlzLl9sYXN0QmxhbmsgJiYgcGxhY2VtZW50ID09PSAnYWZ0ZXItYWxsJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGVja05vZGVTdGF0dXMoKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLl9ydGxTZXJ2aWNlPy5ydGwuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoZWNrTm9kZVN0YXR1cygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbk1lbnVPcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tZW51LnJlZnJlc2hQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ3JpZExpc3RJdGVtPy5mb2N1cyhvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9kZWFjdGl2YXRlRHJvcFpvbmVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kcm9wWm9uZXMuZm9yRWFjaCgoZHJvcFpvbmUpID0+IChkcm9wWm9uZS5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NoZWNrSWZOb2RlRHJhZ2dlZEluRHJvcFpvbmUobm9kZVJlY3Q6IERPTVJlY3QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHJvcFpvbmVzLmZvckVhY2goKGRyb3Bab25lKSA9PiBkcm9wWm9uZS5fY2hlY2tJZk5vZGVEcmFnZ2VkSW5Ecm9wWm9uZShub2RlUmVjdCkpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2hlY2tOb2RlU3RhdHVzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2hlY2tEdWVEYXRlICYmIHRoaXMubm9kZS5kdWVEYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBkdWVUaHJlc2hvbGQgPSBOdW1iZXIobmV3IERhdGUodGhpcy5ub2RlLmR1ZURhdGUpKSAtIHRoaXMuZHVlRGF0ZVRocmVzaG9sZCAqIERBWV9JTl9NSUxMSVNFQ09ORFM7XG4gICAgICAgICAgICBjb25zdCBub3dBbmREdWVEaWZmID0gRGF0ZS5ub3coKSAtIGR1ZVRocmVzaG9sZDtcblxuICAgICAgICAgICAgdGhpcy5fZHVlSW4gPSBNYXRoLnJvdW5kKG5vd0FuZER1ZURpZmYgLyBEQVlfSU5fTUlMTElTRUNPTkRTKTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dEdWVEYXRlV2FybmluZyA9ICFpc05vZGVBcHByb3ZlZCh0aGlzLm5vZGUpICYmIGR1ZVRocmVzaG9sZCA8IERhdGUubm93KCk7XG4gICAgICAgICAgICB0aGlzLl9vYmplY3RTdGF0dXMgPSB0aGlzLl9zaG93RHVlRGF0ZVdhcm5pbmcgPyAnY3JpdGljYWwnIDogdGhpcy5fZ2V0Tm9kZVN0YXR1c0NsYXNzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX29iamVjdFN0YXR1cyA9IHRoaXMuX2dldE5vZGVTdGF0dXNDbGFzcygpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0Tm9kZVN0YXR1c0NsYXNzKCk6IE9iamVjdFN0YXR1cyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnN0YXR1c0NvbG9yTWFwcGluZ1xuICAgICAgICAgICAgICAgID8gdGhpcy5zdGF0dXNDb2xvck1hcHBpbmdbdGhpcy5ub2RlLnN0YXR1c11cbiAgICAgICAgICAgICAgICA6IE5PREVfU1RBVFVTX0NMQVNTX01BUFt0aGlzLm5vZGUuc3RhdHVzXVxuICAgICAgICApIGFzIE9iamVjdFN0YXR1cztcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKm5nSWY9XCJtZXRhPy5yZW5kZXJWZXJ0aWNhbExpbmVCZWZvcmVcIlxuICAgIGNsYXNzPVwiZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fdmVydGljYWwtbGluZS1iZWZvcmVcIlxuICAgIFtjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlX192ZXJ0aWNhbC1saW5lLWJlZm9yZS1zb2xpZF09XCJfaXNWZXJ0aWNhbExpbmVCZWZvcmVTb2xpZFwiXG4+PC9kaXY+XG5cbjxkaXZcbiAgICAqbmdJZj1cIm1ldGE/LnJlbmRlclZlcnRpY2FsTGluZUFmdGVyXCJcbiAgICBjbGFzcz1cImZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX3ZlcnRpY2FsLWxpbmUtYWZ0ZXJcIlxuICAgIFtjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlX192ZXJ0aWNhbC1saW5lLWFmdGVyLXNvbGlkXT1cIl9pc1ZlcnRpY2FsTGluZUFmdGVyU29saWRcIlxuPjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIV9ibGFuayAmJiAhX3NwYWNlXCI+XG4gICAgPGRpdiAqbmdJZj1cInJlbmRlckFycm93XCIgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX19hcnJvd1wiPjwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIl9pc1Jvb3QgJiYgbWV0YT8ubm9kZUluZGV4ID09PSAwXCIgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX19jYXJvdXNlbC1zdGFydC1tYXJrZXJcIj48L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJfaXNGaW5hbCAmJiBtZXRhPy5ub2RlSW5kZXggPT09IDBcIiBjbGFzcz1cImZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2Nhcm91c2VsLWVuZC1tYXJrZXJcIj48L2Rpdj5cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI292ZXJmbG93TWVudUJ1dHRvbj5cbiAgICA8IS0tIEFjdHVhbGx5IGp1c3QgdGhlIGZkLWdyaWQtaXRlbSBhY3Rpb24gYnV0dG9uIGJ1dCB3aXRoIHNvbWUgaGFyZGNvZGUgdG8gYmUgdXNlZCBhcyBtZW51IHRyaWdnZXIgLS0+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFub2RlPy5kaXNhYmxlQWN0aW9uc1wiXG4gICAgICAgIGNsYXNzPVwiZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fbWVudS1idXR0b25cIlxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICBnbHlwaD1cIm92ZXJmbG93XCJcbiAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybUFwcHJvdmFsRmxvdy5ub2RlTWVudUJ1dHRvblRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgZmRDb21wYWN0XG4gICAgICAgIFtmZE1lbnVUcmlnZ2VyXT1cIm1lbnVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiX2lzRWRpdEFjdGlvbnNBdmFpbGFibGVcIlxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICA+PC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25vZGVDb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX19pbmZvXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fbmFtZVwiXG4gICAgICAgICAgICBbY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fbmFtZS0tbWVtYmVycy1jb3VudF09XCJub2RlLmFwcHJvdmVycy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgIFtpZF09XCJhcHByb3ZhbEZsb3dOb2RlSWRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZS5hcHByb3ZlcnMubGVuZ3RoID09PSAxOyBlbHNlIG11bHRpcGxlQXBwcm92ZXJzXCI+XG4gICAgICAgICAgICAgICAge3sgbm9kZS5hcHByb3ZlcnNbMF0ubmFtZSB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbXVsdGlwbGVBcHByb3ZlcnM+XG4gICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtQXBwcm92YWxGbG93Lm5vZGVNZW1iZXJzQ291bnQnIHwgZmRUcmFuc2xhdGUgOiB7IGNvdW50OiBub2RlLmFwcHJvdmVycy5sZW5ndGggfSB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGUudmFyaW91c1RlYW1zOyBlbHNlIHZhcmlvdXNUZWFtc1wiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUuYXBwcm92ZXJzLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbm9kZS5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgOiBub2RlLmFwcHJvdmVycy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbm9kZS5hcHByb3ZlcnNbMF0uZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdmFyaW91c1RlYW1zPiB7eyAncGxhdGZvcm1BcHByb3ZhbEZsb3cubm9kZVZhcmlvdXNUZWFtcycgfCBmZFRyYW5zbGF0ZSB9fSA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZmRwLW9iamVjdC1zdGF0dXMgW3N0YXR1c109XCJfb2JqZWN0U3RhdHVzXCIgW2ludmVydGVkXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZHBPYmplY3RTdGF0dXNUZXh0PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbFN0YXR1c1RlbXBsYXRlOyB0aGVuIHVzZXJTdGF0dXNUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0U3RhdHVzVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGVja0R1ZURhdGUgJiYgX3Nob3dEdWVEYXRlV2FybmluZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2R1ZUluID09PSBkdWVEYXRlVGhyZXNob2xkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm1BcHByb3ZhbEZsb3cubm9kZVN0YXR1c0R1ZVRvZGF5JyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfZHVlSW4gPCBkdWVEYXRlVGhyZXNob2xkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5ub2RlU3RhdHVzRHVlSW5YRGF5cydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmZFRyYW5zbGF0ZSA6IHsgY291bnQ6IGR1ZURhdGVUaHJlc2hvbGQgLSBfZHVlSW4gfVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9kdWVJbiA+IGR1ZURhdGVUaHJlc2hvbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtQXBwcm92YWxGbG93Lm5vZGVTdGF0dXNYRGF5c092ZXJkdWUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZmRUcmFuc2xhdGUgOiB7IGNvdW50OiBfZHVlSW4gLSBkdWVEYXRlVGhyZXNob2xkIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9mZHAtb2JqZWN0LXN0YXR1cz5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJfc2hvd0FkZEJ1dHRvbiAmJiBtZXRhPy5jYW5BZGROb2RlQmVmb3JlQWxsICYmICFub2RlPy5hY3Rpb25zQ29uZmlnPy5kaXNhYmxlQWRkQmVmb3JlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZE5vZGVCdXR0b247IGNvbnRleHQ6IHsgcGxhY2VtZW50OiAnYmVmb3JlLWFsbCcgfVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJfc2hvd0FkZEJ1dHRvbiAmJiBtZXRhPy5jYW5BZGROb2RlQmVmb3JlICYmICFub2RlPy5hY3Rpb25zQ29uZmlnPy5kaXNhYmxlQWRkQmVmb3JlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZE5vZGVCdXR0b247IGNvbnRleHQ6IHsgcGxhY2VtZW50OiAnYmVmb3JlJyB9XCI+PC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICAgIF9zaG93QWRkQnV0dG9uICYmXG4gICAgICAgIG1ldGE/LmNhbkFkZE5vZGVBZnRlciAmJlxuICAgICAgICBtZXRhPy5yZW5kZXJBZGROb2RlQWZ0ZXJCdXR0b24gJiZcbiAgICAgICAgIW5vZGU/LmFjdGlvbnNDb25maWc/LmRpc2FibGVBZGRBZnRlclxuICAgIFwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZE5vZGVCdXR0b247IGNvbnRleHQ6IHsgcGxhY2VtZW50OiAnYWZ0ZXInIH1cIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgICAgX3Nob3dBZnRlckFsbEFkZEJ1dHRvbiAmJlxuICAgICAgICBtZXRhPy5jYW5BZGROb2RlQWZ0ZXJBbGwgJiZcbiAgICAgICAgbWV0YT8ucmVuZGVyQWRkTm9kZUFmdGVyQnV0dG9uICYmXG4gICAgICAgICFub2RlPy5hY3Rpb25zQ29uZmlnPy5kaXNhYmxlQWRkQWZ0ZXJcbiAgICBcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhZGROb2RlQnV0dG9uOyBjb250ZXh0OiB7IHBsYWNlbWVudDogJ2FmdGVyLWFsbCcgfVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjYWRkTm9kZUJ1dHRvbiBsZXQtcGxhY2VtZW50PVwicGxhY2VtZW50XCI+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIm5vZGUuc3RhdHVzICE9PSAnYXBwcm92ZWQnXCJcbiAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgIGdseXBoPVwiYWRkXCJcbiAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybUFwcHJvdmFsRmxvdy5hZGROb2RlQnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICBmZENvbXBhY3RcbiAgICAgICAgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX19hZGRcIlxuICAgICAgICBbY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fYWRkLS1ibGFua109XCJ0aGlzLl9ibGFua1wiXG4gICAgICAgIFtjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlX19hZGQtLWJlZm9yZV09XCJcbiAgICAgICAgICAgICF0aGlzLl9ibGFuayAmJiAocGxhY2VtZW50ID09PSAnYmVmb3JlJyB8fCBwbGFjZW1lbnQgPT09ICdiZWZvcmUtYWxsJylcbiAgICAgICAgXCJcbiAgICAgICAgW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2FkZC0tYmVmb3JlLWFsbF09XCIhdGhpcy5fYmxhbmsgJiYgcGxhY2VtZW50ID09PSAnYmVmb3JlLWFsbCdcIlxuICAgICAgICBbY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fYWRkLS1hZnRlcl09XCJcbiAgICAgICAgICAgICF0aGlzLl9ibGFuayAmJiAocGxhY2VtZW50ID09PSAnYWZ0ZXInIHx8IHBsYWNlbWVudCA9PT0gJ2FmdGVyLWFsbCcpXG4gICAgICAgIFwiXG4gICAgICAgIFtjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlX19hZGQtLWFmdGVyLWFsbF09XCJwbGFjZW1lbnQgPT09ICdhZnRlci1hbGwnXCJcbiAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiZHJvcFpvbmUuYWN0aXZlID8gJ2hpZGRlbicgOiAnJ1wiXG4gICAgICAgIChjbGljayk9XCJvbkFkZC5lbWl0KHBsYWNlbWVudClcIlxuICAgID48L2J1dHRvbj5cblxuICAgIDxkaXZcbiAgICAgICAgI2Ryb3Bab25lPVwiZmRwLWFwcHJvdmFsLWZsb3ctZHJvcC16b25lXCJcbiAgICAgICAgZmRwLWFwcHJvdmFsLWZsb3ctZHJvcC16b25lXG4gICAgICAgIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgICAgICAgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX19kcm9wLXpvbmVcIlxuICAgICAgICBbY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fZHJvcC16b25lLS1hY3RpdmVdPVwiZHJvcFpvbmUuYWN0aXZlXCJcbiAgICAgICAgW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2Ryb3Atem9uZS0tYmxhbmtdPVwiaXNOZXh0Tm9kZUJsYW5rXCJcbiAgICAgICAgW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2Ryb3Atem9uZS0tcGFydGlhbF09XCJfZHJvcFpvbmVQYXJ0aWFsKHBsYWNlbWVudClcIlxuICAgID48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFN0YXR1c1RlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2hlY2tEdWVEYXRlIHx8ICFfc2hvd0R1ZURhdGVXYXJuaW5nXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm5vZGUuc3RhdHVzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYXBwcm92ZWQnXCI+e3tcbiAgICAgICAgICAgICAgICAncGxhdGZvcm1BcHByb3ZhbEZsb3cuc3RhdHVzQXBwcm92ZWQnIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmVqZWN0ZWQnXCI+e3tcbiAgICAgICAgICAgICAgICAncGxhdGZvcm1BcHByb3ZhbEZsb3cuc3RhdHVzUmVqZWN0ZWQnIHwgZmRUcmFuc2xhdGVcbiAgICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW4gcHJvZ3Jlc3MnXCI+e3tcbiAgICAgICAgICAgICAgICAncGxhdGZvcm1BcHByb3ZhbEZsb3cuc3RhdHVzSW5Qcm9ncmVzcycgfCBmZFRyYW5zbGF0ZVxuICAgICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidub3Qgc3RhcnRlZCdcIj57e1xuICAgICAgICAgICAgICAgICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5zdGF0dXNOb3RTdGFydGVkJyB8IGZkVHJhbnNsYXRlXG4gICAgICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdXNlclN0YXR1c1RlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2hlY2tEdWVEYXRlIHx8ICFfc2hvd0R1ZURhdGVXYXJuaW5nXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiYXBwcm92YWxTdGF0dXNUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhcHByb3ZhbFN0YXR1c1RlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG5vZGU6IG5vZGUgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48ZmQtbWVudSAjbWVudSBmZENvbnRlbnREZW5zaXR5IHBsYWNlbWVudD1cImJvdHRvbS1lbmRcIiAoaXNPcGVuQ2hhbmdlKT1cIl9vbk1lbnVPcGVuKClcIj5cbiAgICA8bGlcbiAgICAgICAgKm5nSWY9XCJtZXRhPy5jYW5BZGROb2RlQmVmb3JlICYmICF0aGlzLm5vZGU/LmFjdGlvbnNDb25maWc/LmRpc2FibGVBZGRCZWZvcmVcIlxuICAgICAgICBmZC1tZW51LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgb25BZGQuZW1pdCgnYmVmb3JlJylcIlxuICAgID5cbiAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlPlxuICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyAncGxhdGZvcm1BcHByb3ZhbEZsb3cubm9kZUFjdGlvbkFkZEFwcHJvdmVyc0JlZm9yZScgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9saT5cblxuICAgIDxsaVxuICAgICAgICAqbmdJZj1cIm1ldGE/LmNhbkFkZE5vZGVBZnRlciAmJiAhdGhpcy5ub2RlPy5hY3Rpb25zQ29uZmlnPy5kaXNhYmxlQWRkQWZ0ZXJcIlxuICAgICAgICBmZC1tZW51LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgb25BZGQuZW1pdCgnYWZ0ZXInKVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPnt7ICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5ub2RlQWN0aW9uQWRkQXBwcm92ZXJzQWZ0ZXInIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG5cbiAgICA8bGlcbiAgICAgICAgKm5nSWY9XCJtZXRhPy5jYW5BZGRQYXJhbGxlbCAmJiAhdGhpcy5ub2RlPy5hY3Rpb25zQ29uZmlnPy5kaXNhYmxlQWRkUGFyYWxsZWxcIlxuICAgICAgICBmZC1tZW51LWl0ZW1cbiAgICAgICAgKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgb25BZGQuZW1pdCgncGFyYWxsZWwnKVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPnt7ICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5ub2RlQWN0aW9uQWRkQXBwcm92ZXJzUGFyYWxsZWwnIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG5cbiAgICA8bGlcbiAgICAgICAgKm5nSWY9XCJfaXNOb3RTdGFydGVkICYmICF0aGlzLm5vZGU/LmFjdGlvbnNDb25maWc/LmRpc2FibGVFZGl0XCJcbiAgICAgICAgZmQtbWVudS1pdGVtXG4gICAgICAgIChjbGljayk9XCJtZW51LmNsb3NlKCk7IG9uRWRpdC5lbWl0KClcIlxuICAgID5cbiAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlPlxuICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT4ge3sgJ3BsYXRmb3JtQXBwcm92YWxGbG93Lm5vZGVBY3Rpb25FZGl0QXBwcm92ZXInIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG5cbiAgICA8bGkgKm5nSWY9XCIhdGhpcy5ub2RlPy5hY3Rpb25zQ29uZmlnPy5kaXNhYmxlUmVtb3ZlXCIgZmQtbWVudS1pdGVtIChjbGljayk9XCJtZW51LmNsb3NlKCk7IG9uRGVsZXRlLmVtaXQoKVwiPlxuICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPiB7eyAncGxhdGZvcm1BcHByb3ZhbEZsb3cubm9kZUFjdGlvblJlbW92ZScgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9saT5cbjwvZmQtbWVudT5cbiJdfQ==
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWwtZmxvdy1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9hcHByb3ZhbC1mbG93L2FwcHJvdmFsLWZsb3ctbm9kZS9hcHByb3ZhbC1mbG93LW5vZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2FwcHJvdmFsLWZsb3cvYXBwcm92YWwtZmxvdy1ub2RlL2FwcHJvdmFsLWZsb3ctbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFJTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3ZCLE1BQU0sNEJBQTRCLENBQUM7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LGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyw4Q0FBOEM7Z0JBT3ZELGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsNENBQTRDO2dCQU9yRCxrQkFBa0I7c0JBRHJCLFdBQVc7dUJBQUMsaURBQWlEO2dCQU8xRCxpQkFBaUI7c0JBRHBCLFdBQVc7dUJBQUMsZ0RBQWdEO2dCQU96RCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsMENBQTBDOztRQXFCdkQsK0RBQStEO1FBQy9ELEtBQUs7c0JBRkosTUFBTTs7UUFNUCwrREFBK0Q7UUFDL0QsTUFBTTtzQkFGTCxNQUFNOztRQU1QLCtEQUErRDtRQUMvRCxRQUFRO3NCQUZQLE1BQU07Z0JBTVAsS0FBSztzQkFESixTQUFTO3VCQUFDLGFBQWE7Z0JBS3hCLG1CQUFtQjtzQkFEbEIsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBSy9CLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxhQUFhO2dCQUt4QixVQUFVO3NCQURULFlBQVk7dUJBQUMsNkJBQTZCO2dCQUszQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgR3JpZExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2dyaWQtbGlzdCc7XG5pbXBvcnQgeyBNZW51Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgT2JqZWN0U3RhdHVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL29iamVjdC1zdGF0dXMnO1xuXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7XG4gICAgTWVudUludGVyYWN0aXZlQ29tcG9uZW50LFxuICAgIE1lbnVJdGVtQ29tcG9uZW50LFxuICAgIE1lbnVUaXRsZURpcmVjdGl2ZSxcbiAgICBNZW51VHJpZ2dlckRpcmVjdGl2ZVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBGZFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0aW9uUmVzb2x2ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgT2JqZWN0U3RhdHVzQ29tcG9uZW50LCBQbGF0Zm9ybU9iamVjdFN0YXR1c1RleHREaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL29iamVjdC1zdGF0dXMnO1xuaW1wb3J0IHsgQXBwcm92YWxGbG93Tm9kZVRhcmdldCB9IGZyb20gJy4uL2FwcHJvdmFsLWZsb3ctYWRkLW5vZGUvYXBwcm92YWwtZmxvdy1hZGQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNOb2RlQXBwcm92ZWQsIGlzTm9kZVN0YXJ0ZWQgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IEFwcHJvdmFsR3JhcGhOb2RlLCBBcHByb3ZhbEdyYXBoTm9kZU1ldGFkYXRhLCBBcHByb3ZhbFN0YXR1cyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXBwcm92YWxGbG93RHJvcFpvbmVEaXJlY3RpdmUgfSBmcm9tICcuL2FwcHJvdmFsLWZsb3ctZHJvcC16b25lLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IE5PREVfU1RBVFVTX0NMQVNTX01BUCA9IHtcbiAgICBhcHByb3ZlZDogJ3Bvc2l0aXZlJyxcbiAgICByZWplY3RlZDogJ25lZ2F0aXZlJyxcbiAgICAnaW4gcHJvZ3Jlc3MnOiAnaW5mb3JtYXRpdmUnLFxuICAgICdub3Qgc3RhcnRlZCc6ICcnXG59O1xuXG5jb25zdCBEQVlfSU5fTUlMTElTRUNPTkRTID0gMTAwMCAqIDYwICogNjAgKiAyNDtcblxubGV0IGRlZmF1bHRJZCA9IDA7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIEFwcHJvdmFsRmxvd05vZGUgY29tcG9uZW50IGlzIGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAwLjQwLjBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtYXBwcm92YWwtZmxvdy1ub2RlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92YWwtZmxvdy1ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYXBwcm92YWwtZmxvdy1ub2RlLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZHAtYXBwcm92YWwtZmxvdy1ub2RlJyxcbiAgICAgICAgJ1tjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1maXJzdC1yb290XSc6ICdtZXRhPy5maXJzdE9mTXVsdGlwbGVSb290Tm9kZXMnLFxuICAgICAgICAnW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLWZpcnN0LWZpbmFsXSc6ICdtZXRhPy5maXJzdE9mTXVsdGlwbGVGaW5hbE5vZGVzJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgQ29udGVudERlbnNpdHlEaXJlY3RpdmUsXG4gICAgICAgIE1lbnVUcmlnZ2VyRGlyZWN0aXZlLFxuICAgICAgICBPYmplY3RTdGF0dXNDb21wb25lbnQsXG4gICAgICAgIFBsYXRmb3JtT2JqZWN0U3RhdHVzVGV4dERpcmVjdGl2ZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgQXBwcm92YWxGbG93RHJvcFpvbmVEaXJlY3RpdmUsXG4gICAgICAgIE1lbnVDb21wb25lbnQsXG4gICAgICAgIE1lbnVJdGVtQ29tcG9uZW50LFxuICAgICAgICBNZW51SW50ZXJhY3RpdmVDb21wb25lbnQsXG4gICAgICAgIE1lbnVUaXRsZURpcmVjdGl2ZSxcbiAgICAgICAgRmRUcmFuc2xhdGVQaXBlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBcHByb3ZhbEZsb3dOb2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqIEFwcHJvdmFsIGZsb3cgZ3JhcGggbm9kZSAqL1xuICAgIEBJbnB1dCgpIG5vZGU6IEFwcHJvdmFsR3JhcGhOb2RlO1xuXG4gICAgLyoqIE5vZGUgbWV0YWRhdGEgKi9cbiAgICBASW5wdXQoKSBtZXRhOiBBcHByb3ZhbEdyYXBoTm9kZU1ldGFkYXRhO1xuXG4gICAgLyoqIFdoZXRoZXIgbm9kZSBlbGVtZW50IGhhcyBhcnJvdyBvbiB0aGUgbGVmdCBzaWRlIHBvaW50aW5nIHRvIHRoZSBub2RlICovXG4gICAgQElucHV0KCkgcmVuZGVyQXJyb3cgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgZHVlIGRhdGUgd2FybmluZyBpbiBzdGF0dXMgKi9cbiAgICBASW5wdXQoKSBjaGVja0R1ZURhdGUgPSBmYWxzZTtcblxuICAgIC8qKiBOdW1iZXIgb2YgZGF5cyBiZWZvcmUgZHVlIGRhdGUgd2hlbiBzdGF0dXMgY2hhbmdlcyB0byBgd2FybmluZ2Agd2l0aCB0ZXh0ICdEdWUgaW4gWCBkYXlzJy5cbiAgICAgKiAgTm90IHVzZWQgaWYgJ2NoZWNrRHVlRGF0ZScgZXF1YWxzIGZhbHNlICovXG4gICAgQElucHV0KCkgZHVlRGF0ZVRocmVzaG9sZCA9IDc7XG5cbiAgICAvKiogV2hldGhlciBub2RlcyBpbiBjb2x1bW4gaW4gd2hpY2ggY3VycmVudCBub2RlIHBsYWNlZCBhcmUgYXBwcm92ZWRcbiAgICAgKiAgVXNlZCB0byByZW5kZXIgYXBwcm9wcmlhdGUgdmVydGljYWwgbGluZSBhZnRlciAoZGFzaGVkL3NvbGlkKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGFsbE5vZGVzSW5Db2x1bW5BcHByb3ZlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoZSBhcHAgY3VzdG9tIHN0YXR1c2VzICovXG4gICAgQElucHV0KClcbiAgICBhcHByb3ZhbFN0YXR1c1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEN1c3RvbSBzdGF0dXMgdG8gY29sb3IgbWFwcGluZyAgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0YXR1c0NvbG9yTWFwcGluZzogUmVjb3JkPEFwcHJvdmFsU3RhdHVzLCBPYmplY3RTdGF0dXM+O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG5vZGUgaXMgaW4gZWRpdCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLWVkaXQtbW9kZScpXG4gICAgaXNFZGl0OiBib29sZWFuO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG5vZGUgYWZ0ZXIgaXMgYmxhbmsgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tbmV4dC1ibGFuaycpXG4gICAgaXNOZXh0Tm9kZUJsYW5rOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLWJsYW5rJylcbiAgICBnZXQgX2JsYW5rKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm5vZGU/LmJsYW5rO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1zcGFjZScpXG4gICAgZ2V0IF9zcGFjZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5ub2RlPy5zcGFjZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tcm9vdCcpXG4gICAgZ2V0IF9pc1Jvb3QoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1ldGE/LmlzUm9vdDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tZmluYWwnKVxuICAgIGdldCBfaXNGaW5hbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWV0YT8uaXNGaW5hbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tbGluZS1iZWZvcmUnKVxuICAgIGdldCBfcmVuZGVyTGluZUJlZm9yZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm5vZGU/LmJsYW5rO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1saW5lLWFmdGVyJylcbiAgICBnZXQgX3JlbmRlckxpbmVBZnRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm5vZGU/LmJsYW5rIHx8IHRoaXMuX2lzRmluYWw7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLWFwcHJvdmVkJylcbiAgICBnZXQgX2lzQXBwcm92ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGUgJiYgaXNOb2RlQXBwcm92ZWQodGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tcGFyZW50LWFwcHJvdmVkJylcbiAgICBnZXQgX2lzUGFyZW50QXBwcm92ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5tZXRhPy5wYXJlbnRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMubWV0YT8ucm9vdE5vZGVzQXBwcm92ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5tZXRhLnBhcmVudHMuZXZlcnkoKG5vZGUpID0+IGlzTm9kZUFwcHJvdmVkKG5vZGUpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tc2VsZWN0ZWQnKVxuICAgIGdldCBfaXNOb2RlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRWRpdCAmJiB0aGlzLl9pc1NlbGVjdGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1wYXJhbGxlbC1zdGFydCcpXG4gICAgZ2V0IF9pc1BhcmFsbGVsU3RhcnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMubWV0YT8ucGFyYWxsZWxTdGFydCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGUtLXBhcmFsbGVsLWVuZCcpXG4gICAgZ2V0IF9pc1BhcmFsbGVsRW5kKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLm1ldGE/LnBhcmFsbGVsRW5kKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tZmlyc3QtaW4tcGFyYWxsZWwnKVxuICAgIGdldCBfaXNGaXJzdEluUGFyYWxsZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMubWV0YT8uaXNGaXJzdEluUGFyYWxsZWwpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlLS1sYXN0LWluLXBhcmFsbGVsJylcbiAgICBnZXQgX2lzTGFzdEluUGFyYWxsZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMubWV0YT8uaXNMYXN0SW5QYXJhbGxlbCk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIG5vZGUgaXMgYmxhbmsgYW5kIHRoZSBmaW5hbCAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZS0tbGFzdC1ibGFuaycpXG4gICAgZ2V0IF9sYXN0QmxhbmsoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ibGFuayAmJiB0aGlzLm5vZGUudGFyZ2V0cy5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX2lzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubm9kZS5zZWxlY3RlZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vYmplY3RTdGF0dXM6IE9iamVjdFN0YXR1cztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3Nob3dEdWVEYXRlV2FybmluZyA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZHVlSW4gPSAwO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgb24gYWRkIG5vZGUgYnV0dG9uIGNsaWNrZWQsIHZhbHVlIGlzIHRoZSBwbGFjZW1lbnQgZm9yIHRoZSBuZXcgbm9kZSAqL1xuICAgIEBPdXRwdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIG9uQWRkID0gbmV3IEV2ZW50RW1pdHRlcjxBcHByb3ZhbEZsb3dOb2RlVGFyZ2V0PigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgb24gZWRpdCBub2RlIGJ1dHRvbiBjbGlja2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25FZGl0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgb24gZGVsZXRlIG5vZGUgYnV0dG9uIGNsaWNrZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBvbkRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChNZW51Q29tcG9uZW50KVxuICAgIF9tZW51OiBNZW51Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdvdmVyZmxvd01lbnVCdXR0b24nKVxuICAgIF9vdmVyZmxvd01lbnVCdXR0b246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ25vZGVDb250ZW50JylcbiAgICBfbm9kZUNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oQXBwcm92YWxGbG93RHJvcFpvbmVEaXJlY3RpdmUpXG4gICAgX2Ryb3Bab25lczogUXVlcnlMaXN0PEFwcHJvdmFsRmxvd0Ryb3Bab25lRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChHcmlkTGlzdEl0ZW1Db21wb25lbnQpXG4gICAgX2dyaWRMaXN0SXRlbTogR3JpZExpc3RJdGVtQ29tcG9uZW50PEFwcHJvdmFsR3JhcGhOb2RlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgYXBwcm92YWxGbG93Tm9kZUlkID0gJ2ZkcC1hcHByb3ZhbC1mbG93LW5vZGUtJyArIGRlZmF1bHRJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90cmFuc2xhdGlvblJlc29sdmVyID0gbmV3IFRyYW5zbGF0aW9uUmVzb2x2ZXIoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsUmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX25hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNOb3RTdGFydGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIWlzTm9kZVN0YXJ0ZWQodGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNFZGl0QWN0aW9uc0F2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5zdGF0dXMgPT09ICdhcHByb3ZlZCcgfHwgdGhpcy5ub2RlLnN0YXR1cyA9PT0gJ3JlamVjdGVkJztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfYWN0aXZlRHJvcFpvbmVzKCk6IEFwcHJvdmFsRmxvd0Ryb3Bab25lRGlyZWN0aXZlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZHJvcFpvbmVzLmZpbHRlcigoeikgPT4gei5hY3RpdmUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9pc0FueURyb3Bab25lQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlRHJvcFpvbmVzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX2lzVmVydGljYWxMaW5lQmVmb3JlU29saWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5tZXRhPy5wYXJlbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuICEhdGhpcy5tZXRhPy5pc1ZlcnRpY2FsTGluZUJlZm9yZVNvbGlkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWV0YS5wYXJlbnRzLmV2ZXJ5KChwYXJlbnROb2RlKSA9PiBpc05vZGVBcHByb3ZlZChwYXJlbnROb2RlKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX2lzVmVydGljYWxMaW5lQWZ0ZXJTb2xpZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLm5vZGU/LnRhcmdldHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gISF0aGlzLm1ldGE/LmlzVmVydGljYWxMaW5lQWZ0ZXJTb2xpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1ZlcnRpY2FsTGluZUJlZm9yZVNvbGlkICYmIHRoaXMuYWxsTm9kZXNJbkNvbHVtbkFwcHJvdmVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9zaG93QWRkQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0VkaXQgJiYgIXRoaXMuX2JsYW5rICYmICF0aGlzLl9zcGFjZSAmJiAhdGhpcy5ub2RlPy5kaXNhYmxlQWN0aW9ucztcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfc2hvd0FmdGVyQWxsQWRkQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0VkaXQgJiYgIXRoaXMuX3NwYWNlICYmICF0aGlzLm5vZGU/LmRpc2FibGVBY3Rpb25zO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Ryb3Bab25lUGFydGlhbChwbGFjZW1lbnQ6IEFwcHJvdmFsRmxvd05vZGVUYXJnZXQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghdGhpcy5fYmxhbmsgJiYgKCF0aGlzLmlzTmV4dE5vZGVCbGFuayB8fCBwbGFjZW1lbnQgPT09ICdiZWZvcmUnKSkgfHxcbiAgICAgICAgICAgICh0aGlzLl9sYXN0QmxhbmsgJiYgcGxhY2VtZW50ID09PSAnYWZ0ZXItYWxsJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGVja05vZGVTdGF0dXMoKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLl9ydGxTZXJ2aWNlPy5ydGwuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoZWNrTm9kZVN0YXR1cygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbk1lbnVPcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tZW51LnJlZnJlc2hQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ3JpZExpc3RJdGVtPy5mb2N1cyhvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9kZWFjdGl2YXRlRHJvcFpvbmVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kcm9wWm9uZXMuZm9yRWFjaCgoZHJvcFpvbmUpID0+IChkcm9wWm9uZS5hY3RpdmUgPSBmYWxzZSkpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NoZWNrSWZOb2RlRHJhZ2dlZEluRHJvcFpvbmUobm9kZVJlY3Q6IERPTVJlY3QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHJvcFpvbmVzLmZvckVhY2goKGRyb3Bab25lKSA9PiBkcm9wWm9uZS5fY2hlY2tJZk5vZGVEcmFnZ2VkSW5Ecm9wWm9uZShub2RlUmVjdCkpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2hlY2tOb2RlU3RhdHVzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2hlY2tEdWVEYXRlICYmIHRoaXMubm9kZS5kdWVEYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBkdWVUaHJlc2hvbGQgPSBOdW1iZXIobmV3IERhdGUodGhpcy5ub2RlLmR1ZURhdGUpKSAtIHRoaXMuZHVlRGF0ZVRocmVzaG9sZCAqIERBWV9JTl9NSUxMSVNFQ09ORFM7XG4gICAgICAgICAgICBjb25zdCBub3dBbmREdWVEaWZmID0gRGF0ZS5ub3coKSAtIGR1ZVRocmVzaG9sZDtcblxuICAgICAgICAgICAgdGhpcy5fZHVlSW4gPSBNYXRoLnJvdW5kKG5vd0FuZER1ZURpZmYgLyBEQVlfSU5fTUlMTElTRUNPTkRTKTtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dEdWVEYXRlV2FybmluZyA9ICFpc05vZGVBcHByb3ZlZCh0aGlzLm5vZGUpICYmIGR1ZVRocmVzaG9sZCA8IERhdGUubm93KCk7XG4gICAgICAgICAgICB0aGlzLl9vYmplY3RTdGF0dXMgPSB0aGlzLl9zaG93RHVlRGF0ZVdhcm5pbmcgPyAnY3JpdGljYWwnIDogdGhpcy5fZ2V0Tm9kZVN0YXR1c0NsYXNzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX29iamVjdFN0YXR1cyA9IHRoaXMuX2dldE5vZGVTdGF0dXNDbGFzcygpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0Tm9kZVN0YXR1c0NsYXNzKCk6IE9iamVjdFN0YXR1cyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnN0YXR1c0NvbG9yTWFwcGluZ1xuICAgICAgICAgICAgICAgID8gdGhpcy5zdGF0dXNDb2xvck1hcHBpbmdbdGhpcy5ub2RlLnN0YXR1c11cbiAgICAgICAgICAgICAgICA6IE5PREVfU1RBVFVTX0NMQVNTX01BUFt0aGlzLm5vZGUuc3RhdHVzXVxuICAgICAgICApIGFzIE9iamVjdFN0YXR1cztcbiAgICB9XG59XG4iLCJAaWYgKG1ldGE/LnJlbmRlclZlcnRpY2FsTGluZUJlZm9yZSkge1xuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX192ZXJ0aWNhbC1saW5lLWJlZm9yZVwiXG4gICAgICAgIFtjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlX192ZXJ0aWNhbC1saW5lLWJlZm9yZS1zb2xpZF09XCJfaXNWZXJ0aWNhbExpbmVCZWZvcmVTb2xpZFwiXG4gICAgPjwvZGl2PlxufVxuQGlmIChtZXRhPy5yZW5kZXJWZXJ0aWNhbExpbmVBZnRlcikge1xuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX192ZXJ0aWNhbC1saW5lLWFmdGVyXCJcbiAgICAgICAgW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX3ZlcnRpY2FsLWxpbmUtYWZ0ZXItc29saWRdPVwiX2lzVmVydGljYWxMaW5lQWZ0ZXJTb2xpZFwiXG4gICAgPjwvZGl2PlxufVxuQGlmICghX2JsYW5rICYmICFfc3BhY2UpIHtcbiAgICBAaWYgKHJlbmRlckFycm93KSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX19hcnJvd1wiPjwvZGl2PlxuICAgIH1cbiAgICBAaWYgKF9pc1Jvb3QgJiYgbWV0YT8ubm9kZUluZGV4ID09PSAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX19jYXJvdXNlbC1zdGFydC1tYXJrZXJcIj48L2Rpdj5cbiAgICB9XG4gICAgQGlmIChfaXNGaW5hbCAmJiBtZXRhPy5ub2RlSW5kZXggPT09IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2Nhcm91c2VsLWVuZC1tYXJrZXJcIj48L2Rpdj5cbiAgICB9XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxufVxuPG5nLXRlbXBsYXRlICNvdmVyZmxvd01lbnVCdXR0b24+XG4gICAgPCEtLSBBY3R1YWxseSBqdXN0IHRoZSBmZC1ncmlkLWl0ZW0gYWN0aW9uIGJ1dHRvbiBidXQgd2l0aCBzb21lIGhhcmRjb2RlIHRvIGJlIHVzZWQgYXMgbWVudSB0cmlnZ2VyIC0tPlxuICAgIEBpZiAoIW5vZGU/LmRpc2FibGVBY3Rpb25zKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fbWVudS1idXR0b25cIlxuICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgZ2x5cGg9XCJvdmVyZmxvd1wiXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtQXBwcm92YWxGbG93Lm5vZGVNZW51QnV0dG9uVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICBbZmRNZW51VHJpZ2dlcl09XCJtZW51XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJfaXNFZGl0QWN0aW9uc0F2YWlsYWJsZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI25vZGVDb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX19pbmZvXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fbmFtZVwiXG4gICAgICAgICAgICBbY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fbmFtZS0tbWVtYmVycy1jb3VudF09XCJub2RlLmFwcHJvdmVycy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgIFtpZF09XCJhcHByb3ZhbEZsb3dOb2RlSWRcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKG5vZGUuYXBwcm92ZXJzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHt7IG5vZGUuYXBwcm92ZXJzWzBdLm5hbWUgfX1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5ub2RlTWVtYmVyc0NvdW50JyB8IGZkVHJhbnNsYXRlOiB7IGNvdW50OiBub2RlLmFwcHJvdmVycy5sZW5ndGggfSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2Rlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICBAaWYgKCFub2RlLnZhcmlvdXNUZWFtcykge1xuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUuYXBwcm92ZXJzLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbm9kZS5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgOiBub2RlLmFwcHJvdmVycy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyBub2RlLmFwcHJvdmVyc1swXS5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5ub2RlVmFyaW91c1RlYW1zJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3ZhcmlvdXNUZWFtcz4ge3sgJ3BsYXRmb3JtQXBwcm92YWxGbG93Lm5vZGVWYXJpb3VzVGVhbXMnIHwgZmRUcmFuc2xhdGUgfX0gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxmZHAtb2JqZWN0LXN0YXR1cyBbc3RhdHVzXT1cIl9vYmplY3RTdGF0dXNcIiBbaW52ZXJ0ZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZkcE9iamVjdFN0YXR1c1RleHQ+XG4gICAgICAgICAgICAgICAgQGlmIChhcHByb3ZhbFN0YXR1c1RlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIWNoZWNrRHVlRGF0ZSB8fCAhX3Nob3dEdWVEYXRlV2FybmluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChhcHByb3ZhbFN0YXR1c1RlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFwcHJvdmFsU3RhdHVzVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBub2RlOiBub2RlIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIWNoZWNrRHVlRGF0ZSB8fCAhX3Nob3dEdWVEYXRlV2FybmluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgQHN3aXRjaCAobm9kZS5zdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ2FwcHJvdmVkJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm1BcHByb3ZhbEZsb3cuc3RhdHVzQXBwcm92ZWQnIHwgZmRUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdyZWplY3RlZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtQXBwcm92YWxGbG93LnN0YXR1c1JlamVjdGVkJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnaW4gcHJvZ3Jlc3MnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5zdGF0dXNJblByb2dyZXNzJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnbm90IHN0YXJ0ZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5zdGF0dXNOb3RTdGFydGVkJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoY2hlY2tEdWVEYXRlICYmIF9zaG93RHVlRGF0ZVdhcm5pbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChfZHVlSW4gPT09IGR1ZURhdGVUaHJlc2hvbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5ub2RlU3RhdHVzRHVlVG9kYXknIHwgZmRUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKF9kdWVJbiA8IGR1ZURhdGVUaHJlc2hvbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BsYXRmb3JtQXBwcm92YWxGbG93Lm5vZGVTdGF0dXNEdWVJblhEYXlzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZkVHJhbnNsYXRlOiB7IGNvdW50OiBkdWVEYXRlVGhyZXNob2xkIC0gX2R1ZUluIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmIChfZHVlSW4gPiBkdWVEYXRlVGhyZXNob2xkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybUFwcHJvdmFsRmxvdy5ub2RlU3RhdHVzWERheXNPdmVyZHVlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZkVHJhbnNsYXRlOiB7IGNvdW50OiBfZHVlSW4gLSBkdWVEYXRlVGhyZXNob2xkIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2ZkcC1vYmplY3Qtc3RhdHVzPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbkBpZiAoX3Nob3dBZGRCdXR0b24gJiYgbWV0YT8uY2FuQWRkTm9kZUJlZm9yZUFsbCAmJiAhbm9kZT8uYWN0aW9uc0NvbmZpZz8uZGlzYWJsZUFkZEJlZm9yZSkge1xuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJhZGROb2RlQnV0dG9uXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgcGxhY2VtZW50OiAnYmVmb3JlLWFsbCcgfVwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG59XG5AaWYgKF9zaG93QWRkQnV0dG9uICYmIG1ldGE/LmNhbkFkZE5vZGVCZWZvcmUgJiYgIW5vZGU/LmFjdGlvbnNDb25maWc/LmRpc2FibGVBZGRCZWZvcmUpIHtcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRkTm9kZUJ1dHRvblwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHBsYWNlbWVudDogJ2JlZm9yZScgfVwiPjwvbmctdGVtcGxhdGU+XG59XG5AaWYgKFxuICAgIF9zaG93QWRkQnV0dG9uICYmIG1ldGE/LmNhbkFkZE5vZGVBZnRlciAmJiBtZXRhPy5yZW5kZXJBZGROb2RlQWZ0ZXJCdXR0b24gJiYgIW5vZGU/LmFjdGlvbnNDb25maWc/LmRpc2FibGVBZGRBZnRlclxuKSB7XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZE5vZGVCdXR0b25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBwbGFjZW1lbnQ6ICdhZnRlcicgfVwiPjwvbmctdGVtcGxhdGU+XG59XG5AaWYgKFxuICAgIF9zaG93QWZ0ZXJBbGxBZGRCdXR0b24gJiZcbiAgICBtZXRhPy5jYW5BZGROb2RlQWZ0ZXJBbGwgJiZcbiAgICBtZXRhPy5yZW5kZXJBZGROb2RlQWZ0ZXJCdXR0b24gJiZcbiAgICAhbm9kZT8uYWN0aW9uc0NvbmZpZz8uZGlzYWJsZUFkZEFmdGVyXG4pIHtcbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRkTm9kZUJ1dHRvblwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHBsYWNlbWVudDogJ2FmdGVyLWFsbCcgfVwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG59XG48bmctdGVtcGxhdGUgI2FkZE5vZGVCdXR0b24gbGV0LXBsYWNlbWVudD1cInBsYWNlbWVudFwiPlxuICAgIEBpZiAobm9kZS5zdGF0dXMgIT09ICdhcHByb3ZlZCcpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICBnbHlwaD1cImFkZFwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtQXBwcm92YWxGbG93LmFkZE5vZGVCdXR0b25UaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBmZENvbXBhY3RcbiAgICAgICAgICAgIGNsYXNzPVwiZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fYWRkXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlX19hZGQtLWJsYW5rXT1cInRoaXMuX2JsYW5rXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZHAtYXBwcm92YWwtZmxvdy1ub2RlX19hZGQtLWJlZm9yZV09XCJcbiAgICAgICAgICAgICAgICAhdGhpcy5fYmxhbmsgJiYgKHBsYWNlbWVudCA9PT0gJ2JlZm9yZScgfHwgcGxhY2VtZW50ID09PSAnYmVmb3JlLWFsbCcpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2FkZC0tYmVmb3JlLWFsbF09XCIhdGhpcy5fYmxhbmsgJiYgcGxhY2VtZW50ID09PSAnYmVmb3JlLWFsbCdcIlxuICAgICAgICAgICAgW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2FkZC0tYWZ0ZXJdPVwiXG4gICAgICAgICAgICAgICAgIXRoaXMuX2JsYW5rICYmIChwbGFjZW1lbnQgPT09ICdhZnRlcicgfHwgcGxhY2VtZW50ID09PSAnYWZ0ZXItYWxsJylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fYWRkLS1hZnRlci1hbGxdPVwicGxhY2VtZW50ID09PSAnYWZ0ZXItYWxsJ1wiXG4gICAgICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJkcm9wWm9uZS5hY3RpdmUgPyAnaGlkZGVuJyA6ICcnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkFkZC5lbWl0KHBsYWNlbWVudClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgfVxuICAgIDxkaXZcbiAgICAgICAgI2Ryb3Bab25lPVwiZmRwLWFwcHJvdmFsLWZsb3ctZHJvcC16b25lXCJcbiAgICAgICAgZmRwLWFwcHJvdmFsLWZsb3ctZHJvcC16b25lXG4gICAgICAgIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgICAgICAgY2xhc3M9XCJmZHAtYXBwcm92YWwtZmxvdy1ub2RlX19kcm9wLXpvbmVcIlxuICAgICAgICBbY2xhc3MuZmRwLWFwcHJvdmFsLWZsb3ctbm9kZV9fZHJvcC16b25lLS1hY3RpdmVdPVwiZHJvcFpvbmUuYWN0aXZlXCJcbiAgICAgICAgW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2Ryb3Atem9uZS0tYmxhbmtdPVwiaXNOZXh0Tm9kZUJsYW5rXCJcbiAgICAgICAgW2NsYXNzLmZkcC1hcHByb3ZhbC1mbG93LW5vZGVfX2Ryb3Atem9uZS0tcGFydGlhbF09XCJfZHJvcFpvbmVQYXJ0aWFsKHBsYWNlbWVudClcIlxuICAgID48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG48ZmQtbWVudSAjbWVudSBmZENvbnRlbnREZW5zaXR5IHBsYWNlbWVudD1cImJvdHRvbS1lbmRcIiAoaXNPcGVuQ2hhbmdlKT1cIl9vbk1lbnVPcGVuKClcIj5cbiAgICBAaWYgKG1ldGE/LmNhbkFkZE5vZGVCZWZvcmUgJiYgIXRoaXMubm9kZT8uYWN0aW9uc0NvbmZpZz8uZGlzYWJsZUFkZEJlZm9yZSkge1xuICAgICAgICA8bGkgZmQtbWVudS1pdGVtIChjbGljayk9XCJtZW51LmNsb3NlKCk7IG9uQWRkLmVtaXQoJ2JlZm9yZScpXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyAncGxhdGZvcm1BcHByb3ZhbEZsb3cubm9kZUFjdGlvbkFkZEFwcHJvdmVyc0JlZm9yZScgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgIH1cbiAgICBAaWYgKG1ldGE/LmNhbkFkZE5vZGVBZnRlciAmJiAhdGhpcy5ub2RlPy5hY3Rpb25zQ29uZmlnPy5kaXNhYmxlQWRkQWZ0ZXIpIHtcbiAgICAgICAgPGxpIGZkLW1lbnUtaXRlbSAoY2xpY2spPVwibWVudS5jbG9zZSgpOyBvbkFkZC5lbWl0KCdhZnRlcicpXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT57eyAncGxhdGZvcm1BcHByb3ZhbEZsb3cubm9kZUFjdGlvbkFkZEFwcHJvdmVyc0FmdGVyJyB8IGZkVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgfVxuICAgIEBpZiAobWV0YT8uY2FuQWRkUGFyYWxsZWwgJiYgIXRoaXMubm9kZT8uYWN0aW9uc0NvbmZpZz8uZGlzYWJsZUFkZFBhcmFsbGVsKSB7XG4gICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgb25BZGQuZW1pdCgncGFyYWxsZWwnKVwiPlxuICAgICAgICAgICAgPGRpdiBmZC1tZW51LWludGVyYWN0aXZlPlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+e3sgJ3BsYXRmb3JtQXBwcm92YWxGbG93Lm5vZGVBY3Rpb25BZGRBcHByb3ZlcnNQYXJhbGxlbCcgfCBmZFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgIH1cbiAgICBAaWYgKF9pc05vdFN0YXJ0ZWQgJiYgIXRoaXMubm9kZT8uYWN0aW9uc0NvbmZpZz8uZGlzYWJsZUVkaXQpIHtcbiAgICAgICAgPGxpIGZkLW1lbnUtaXRlbSAoY2xpY2spPVwibWVudS5jbG9zZSgpOyBvbkVkaXQuZW1pdCgpXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT4ge3sgJ3BsYXRmb3JtQXBwcm92YWxGbG93Lm5vZGVBY3Rpb25FZGl0QXBwcm92ZXInIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICB9XG4gICAgQGlmICghdGhpcy5ub2RlPy5hY3Rpb25zQ29uZmlnPy5kaXNhYmxlUmVtb3ZlKSB7XG4gICAgICAgIDxsaSBmZC1tZW51LWl0ZW0gKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgb25EZWxldGUuZW1pdCgpXCI+XG4gICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmU+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbWVudS10aXRsZT4ge3sgJ3BsYXRmb3JtQXBwcm92YWxGbG93Lm5vZGVBY3Rpb25SZW1vdmUnIHwgZmRUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICB9XG48L2ZkLW1lbnU+XG4iXX0=