barsa-sap-ui 1.0.455 → 2.0.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 (652) hide show
  1. package/{esm2020 → esm2022}/barsa-sap-ui.mjs +4 -4
  2. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +89 -0
  3. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
  4. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +127 -0
  5. package/{esm2020 → esm2022}/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -23
  6. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
  7. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
  8. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +30 -0
  9. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
  10. package/{esm2020 → esm2022}/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -24
  11. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +260 -0
  12. package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
  13. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
  14. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
  15. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +56 -0
  16. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +77 -0
  17. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
  18. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
  19. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
  20. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
  21. package/{esm2020 → esm2022}/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -23
  22. package/{esm2020 → esm2022}/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +15 -15
  23. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
  24. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
  25. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
  26. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +41 -0
  27. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
  28. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
  29. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +37 -0
  30. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
  31. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
  32. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
  33. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
  34. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
  35. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
  36. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
  37. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
  38. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +53 -0
  39. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
  40. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
  41. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
  42. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
  43. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
  44. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
  45. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
  46. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
  47. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
  48. package/{esm2020 → esm2022}/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -28
  49. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +98 -0
  50. package/{esm2020 → esm2022}/lib/barsa-sap-ui-routing.module.mjs +18 -18
  51. package/esm2022/lib/barsa-sap-ui.module.mjs +360 -0
  52. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
  53. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +168 -0
  54. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +27 -0
  55. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +198 -0
  56. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +61 -0
  57. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
  58. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
  59. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
  60. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
  61. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +417 -0
  62. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
  63. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +129 -0
  64. package/{esm2020 → esm2022}/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +19 -19
  65. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +208 -0
  66. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +78 -0
  67. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +44 -0
  68. package/{esm2020 → esm2022}/lib/captcha-field/captcha-field.component.mjs +28 -28
  69. package/esm2022/lib/card-item/card-item.component.mjs +76 -0
  70. package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
  71. package/esm2022/lib/col-renderer.directive.mjs +46 -0
  72. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
  73. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +60 -0
  74. package/esm2022/lib/column-renderer/column-renderer.component.mjs +85 -0
  75. package/esm2022/lib/constants.mjs +421 -0
  76. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
  77. package/{esm2020 → esm2022}/lib/device-info-field-base.mjs +23 -23
  78. package/{esm2020 → esm2022}/lib/dialog-handler.directive.mjs +28 -28
  79. package/esm2022/lib/download-files.directive.mjs +33 -0
  80. package/esm2022/lib/dynamic-page-size.pipe.mjs +26 -0
  81. package/{esm2020 → esm2022}/lib/file-in-dialog/file-in-dialog.component.mjs +44 -44
  82. package/esm2022/lib/file-viewer/file-viewer.component.mjs +39 -0
  83. package/{esm2020 → esm2022}/lib/file-viewer-content/file-viewer-content.component.mjs +53 -53
  84. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +41 -0
  85. package/esm2022/lib/form-dialog/form-dialog.component.mjs +142 -0
  86. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +44 -0
  87. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +43 -0
  88. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
  89. package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
  90. package/esm2022/lib/fullscreen-dialog.directive.mjs +59 -0
  91. package/esm2022/lib/fullscreen-files.directive.mjs +42 -0
  92. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +188 -0
  93. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +203 -0
  94. package/{esm2020 → esm2022}/lib/global-search/global-search.component.mjs +27 -27
  95. package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
  96. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
  97. package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
  98. package/{esm2020 → esm2022}/lib/header-facet-form/header-facet-form.component.mjs +22 -22
  99. package/{esm2020 → esm2022}/lib/header-facet-key-value/header-facet-key-value.component.mjs +31 -31
  100. package/{esm2020 → esm2022}/lib/header-facet-microchart/header-facet-microchart.component.mjs +21 -21
  101. package/{esm2020 → esm2022}/lib/header-facet-plain-text/header-facet-plain-text.component.mjs +28 -28
  102. package/esm2022/lib/header-facet-progress/header-facet-progress.component.mjs +25 -0
  103. package/esm2022/lib/header-facet-rate/header-facet-rate.component.mjs +25 -0
  104. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
  105. package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
  106. package/esm2022/lib/index.mjs +564 -0
  107. package/{esm2020 → esm2022}/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -32
  108. package/esm2022/lib/layout-actions/layout-actions.component.mjs +68 -0
  109. package/esm2022/lib/layout-control/layout-control.component.mjs +234 -0
  110. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +154 -0
  111. package/esm2022/lib/list-item/list-item.component.mjs +34 -0
  112. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
  113. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +71 -0
  114. package/esm2022/lib/ly-label/ly-label.component.mjs +34 -0
  115. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
  116. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
  117. package/{esm2020 → esm2022}/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -24
  118. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +73 -0
  119. package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
  120. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
  121. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +52 -0
  122. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
  123. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +50 -0
  124. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
  125. package/{esm2020 → esm2022}/lib/mask/mask.component.mjs +22 -22
  126. package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
  127. package/esm2022/lib/models/grid-data-provider.mjs +83 -0
  128. package/esm2022/lib/models/grid-view.mjs +2 -0
  129. package/{esm2020 → esm2022}/lib/models/index.mjs +1 -1
  130. package/esm2022/lib/no-data/no-data.component.mjs +31 -0
  131. package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
  132. package/esm2022/lib/notification-popup.service.mjs +92 -0
  133. package/{esm2020 → esm2022}/lib/progress-indicator/progress-indicator.component.mjs +18 -18
  134. package/esm2022/lib/report-navigator/report-navigator.component.mjs +63 -0
  135. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
  136. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
  137. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
  138. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
  139. package/esm2022/lib/report-tree-base.mjs +408 -0
  140. package/esm2022/lib/report-view-renderer.directive.mjs +366 -0
  141. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
  142. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
  143. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
  144. package/esm2022/lib/sap-font-class.pipe.mjs +29 -0
  145. package/esm2022/lib/sap-font.pipe.mjs +29 -0
  146. package/esm2022/lib/sap-size.pipe.mjs +27 -0
  147. package/esm2022/lib/sap-ui-report-base.component.mjs +765 -0
  148. package/esm2022/lib/search-panel/search-panel.component.mjs +42 -0
  149. package/{esm2020 → esm2022}/lib/static-text/static-text.component.mjs +15 -15
  150. package/{esm2020 → esm2022}/lib/title/title.component.mjs +15 -15
  151. package/{esm2020 → esm2022}/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +18 -18
  152. package/esm2022/lib/ui-button/ui-button.component.mjs +31 -0
  153. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
  154. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +59 -0
  155. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
  156. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +34 -0
  157. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
  158. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +34 -0
  159. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
  160. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +149 -0
  161. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +110 -0
  162. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
  163. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +121 -0
  164. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +92 -0
  165. package/{esm2020 → esm2022}/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -32
  166. package/{esm2020 → esm2022}/lib/ui-graph/ui-graph.component.mjs +17 -17
  167. package/{esm2020 → esm2022}/lib/ui-grid/ui-grid.component.mjs +25 -25
  168. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
  169. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
  170. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
  171. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
  172. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +155 -0
  173. package/{esm2020 → esm2022}/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -16
  174. package/{esm2020 → esm2022}/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -11
  175. package/{esm2020 → esm2022}/lib/ui-label/ui-label.component.mjs +12 -12
  176. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +349 -0
  177. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +75 -0
  178. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
  179. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
  180. package/{esm2020 → esm2022}/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -14
  181. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
  182. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +430 -0
  183. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
  184. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
  185. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
  186. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
  187. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
  188. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
  189. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
  190. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +24 -0
  191. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
  192. package/{esm2020 → esm2022}/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -21
  193. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +261 -0
  194. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +98 -0
  195. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +223 -0
  196. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
  197. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
  198. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
  199. package/{esm2020 → esm2022}/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -24
  200. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +37 -0
  201. package/{esm2020 → esm2022}/lib/ui-single-picture/ui-single-picture.component.mjs +36 -36
  202. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
  203. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +155 -0
  204. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
  205. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
  206. package/{esm2020 → esm2022}/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +47 -47
  207. package/{esm2020 → esm2022}/lib/ui-time-span/ui-time-span.component.mjs +24 -24
  208. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
  209. package/esm2022/lib/ui-tree/ui-tree.component.mjs +92 -0
  210. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +80 -0
  211. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
  212. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +289 -0
  213. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
  214. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
  215. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +117 -0
  216. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
  217. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
  218. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +60 -0
  219. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +87 -0
  220. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
  221. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +184 -0
  222. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
  223. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
  224. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
  225. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
  226. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +44 -0
  227. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +115 -0
  228. package/esm2022/lib/upload-file-status.pipe.mjs +28 -0
  229. package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
  230. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
  231. package/{esm2020 → esm2022}/lib/wizard-layout.directive.mjs +103 -103
  232. package/{esm2020 → esm2022}/public-api.mjs +230 -222
  233. package/fesm2022/barsa-sap-ui.mjs +14745 -0
  234. package/fesm2022/barsa-sap-ui.mjs.map +1 -0
  235. package/index.d.ts +5 -5
  236. package/lib/apply-conditional-formmatings.directive.d.ts +25 -25
  237. package/lib/barsa-answer-card/barsa-answer-card.component.d.ts +12 -12
  238. package/lib/barsa-asp-viewer/barsa-asp-viewer.component.d.ts +29 -29
  239. package/lib/barsa-bar-panel/barsa-bar-panel.component.d.ts +9 -9
  240. package/lib/barsa-base-panel/barsa-base-layout-panel.component.d.ts +12 -12
  241. package/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.d.ts +15 -15
  242. package/lib/barsa-card-row-payam/barsa-card-row-payam.component.d.ts +20 -20
  243. package/lib/barsa-cartable-form/barsa-cartable-form.component.d.ts +10 -10
  244. package/lib/barsa-cartable-template/barsa-cartable-template.component.d.ts +14 -14
  245. package/lib/barsa-chat/barsa-chat.component.d.ts +48 -0
  246. package/lib/barsa-chat/chat.model.d.ts +43 -0
  247. package/lib/barsa-chat-content/barsa-chat-content.component.d.ts +5 -0
  248. package/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.d.ts +9 -0
  249. package/lib/barsa-chat-list/barsa-chat-list.component.d.ts +16 -0
  250. package/lib/barsa-chat-message/barsa-chat-message.component.d.ts +16 -0
  251. package/lib/barsa-chat-thread/barsa-chat-thread.component.d.ts +6 -0
  252. package/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.d.ts +5 -0
  253. package/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.d.ts +5 -0
  254. package/lib/barsa-chip/barsa-chip.component.d.ts +20 -20
  255. package/lib/barsa-column-indicator/barsa-column-indicator.component.d.ts +11 -11
  256. package/lib/barsa-column-rownumber/barsa-column-rownumber.component.d.ts +8 -8
  257. package/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.d.ts +6 -6
  258. package/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.d.ts +10 -10
  259. package/lib/barsa-date-time-picker/barsa-date-time-picker.component.d.ts +18 -18
  260. package/lib/barsa-dynamic-field/barsa-dynamic-field.component.d.ts +16 -16
  261. package/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.d.ts +23 -23
  262. package/lib/barsa-field-key-value/barsa-field-key-value.component.d.ts +26 -26
  263. package/lib/barsa-form-side-content/barsa-form-side-content.component.d.ts +25 -23
  264. package/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.d.ts +16 -16
  265. package/lib/barsa-group-cartable/barsa-cartable-group.component.d.ts +26 -26
  266. package/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.d.ts +14 -14
  267. package/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.d.ts +12 -12
  268. package/lib/barsa-list-file-linear/barsa-list-file-linear.component.d.ts +17 -17
  269. package/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.d.ts +8 -8
  270. package/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.d.ts +9 -9
  271. package/lib/barsa-monaco-editor/barsa-monaco-editor.component.d.ts +23 -23
  272. package/lib/barsa-network-offline/barsa-network-offline.component.d.ts +14 -14
  273. package/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.d.ts +79 -79
  274. package/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.d.ts +7 -7
  275. package/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.d.ts +13 -13
  276. package/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.d.ts +7 -7
  277. package/lib/barsa-question-answer-form/barsa-question-answer-form.component.d.ts +10 -10
  278. package/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.d.ts +13 -13
  279. package/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.d.ts +14 -14
  280. package/lib/barsa-question-post/barsa-question-post.component.d.ts +10 -10
  281. package/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.d.ts +9 -9
  282. package/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.d.ts +15 -15
  283. package/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.d.ts +31 -31
  284. package/lib/barsa-sap-ui-routing.module.d.ts +7 -7
  285. package/lib/barsa-sap-ui.module.d.ts +245 -234
  286. package/lib/barsa-search-form/barsa-search-form.component.d.ts +8 -8
  287. package/lib/barsa-simple-form/barsa-simple-form.component.d.ts +73 -73
  288. package/lib/barsa-table-column/barsa-table-column.component.d.ts +8 -8
  289. package/lib/barsa-table-header/barsa-table-header.component.d.ts +59 -59
  290. package/lib/barsa-table-row/barsa-table-row.component.d.ts +18 -18
  291. package/lib/barsa-tag-categories/barsa-tag-categories.component.d.ts +11 -11
  292. package/lib/barsa-tag-chip/barsa-tag-chip.component.d.ts +10 -10
  293. package/lib/barsa-tags-category-row/barsa-tags-category-row.component.d.ts +9 -9
  294. package/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.d.ts +18 -18
  295. package/lib/barsa-tinyemce/barsa-tinyemce.component.d.ts +54 -54
  296. package/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.d.ts +12 -12
  297. package/lib/barsa-tree-item/barsa-tree-item.component.d.ts +54 -54
  298. package/lib/barsa-tree-item/node-has-one-depth-level.pipe.d.ts +8 -8
  299. package/lib/barsa-ulv-main/barsa-ulv-main.component.d.ts +72 -72
  300. package/lib/blob-viewer/blob-viewer.component.d.ts +24 -24
  301. package/lib/breadcrumb/breadcrumb.component.d.ts +17 -17
  302. package/lib/captcha-field/captcha-field.component.d.ts +10 -10
  303. package/lib/card-item/card-item.component.d.ts +20 -20
  304. package/lib/card-view-content/card-view-content.component.d.ts +14 -14
  305. package/lib/col-renderer.directive.d.ts +10 -10
  306. package/lib/column-matrix-renderer/column-matrix-renderer.component.d.ts +23 -23
  307. package/lib/column-matrix-renderer/matrix-value.pipe.d.ts +8 -8
  308. package/lib/column-renderer/column-renderer.component.d.ts +33 -33
  309. package/lib/constants.d.ts +12 -12
  310. package/lib/custom-date-time/custom-date-time.component.d.ts +26 -26
  311. package/lib/device-info-field-base.d.ts +12 -12
  312. package/lib/dialog-handler.directive.d.ts +12 -12
  313. package/lib/download-files.directive.d.ts +9 -9
  314. package/lib/dynamic-page-size.pipe.d.ts +8 -8
  315. package/lib/file-in-dialog/file-in-dialog.component.d.ts +16 -16
  316. package/lib/file-viewer/file-viewer.component.d.ts +21 -21
  317. package/lib/file-viewer-content/file-viewer-content.component.d.ts +20 -20
  318. package/lib/file-viewer-popover/file-viewer-popover.component.d.ts +17 -17
  319. package/lib/form-dialog/form-dialog.component.d.ts +45 -45
  320. package/lib/form-dialog-less/form-dialog-less.component.d.ts +29 -29
  321. package/lib/form-toolbar/form-toolbar.component.d.ts +14 -14
  322. package/lib/form-toolbar-button/form-toolbar-button.component.d.ts +20 -20
  323. package/lib/form-wizard/form-wizard.component.d.ts +8 -8
  324. package/lib/fullscreen-dialog.directive.d.ts +20 -20
  325. package/lib/fullscreen-files.directive.d.ts +16 -16
  326. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +76 -76
  327. package/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.d.ts +18 -18
  328. package/lib/global-search/global-search.component.d.ts +11 -11
  329. package/lib/global-search-module/global-search-module.component.d.ts +18 -18
  330. package/lib/global-search-panel/global-search-panel.component.d.ts +9 -9
  331. package/lib/header-avatar/header-avatar.component.d.ts +8 -8
  332. package/lib/header-facet-form/header-facet-form.component.d.ts +9 -9
  333. package/lib/header-facet-key-value/header-facet-key-value.component.d.ts +11 -11
  334. package/lib/header-facet-microchart/header-facet-microchart.component.d.ts +8 -8
  335. package/lib/header-facet-plain-text/header-facet-plain-text.component.d.ts +11 -11
  336. package/lib/header-facet-progress/header-facet-progress.component.d.ts +11 -11
  337. package/lib/header-facet-rate/header-facet-rate.component.d.ts +11 -11
  338. package/lib/htree-create-new/htree-create-new.component.d.ts +13 -13
  339. package/lib/hyperlink/hyperlink.component.d.ts +7 -7
  340. package/lib/index.d.ts +102 -100
  341. package/lib/inline-save-and-cancel/inline-save-and-cancel.component.d.ts +11 -11
  342. package/lib/layout-actions/layout-actions.component.d.ts +25 -25
  343. package/lib/layout-control/layout-control.component.d.ts +67 -67
  344. package/lib/layout-wizard/layout-wizard.component.d.ts +28 -28
  345. package/lib/list-item/list-item.component.d.ts +14 -14
  346. package/lib/ly-empty-space/ly-empty-space.component.d.ts +13 -13
  347. package/lib/ly-horizontal-layout/ly-horizontal-layout.component.d.ts +23 -23
  348. package/lib/ly-label/ly-label.component.d.ts +16 -16
  349. package/lib/ly-layout-container/ly-layout-container.component.d.ts +26 -26
  350. package/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.d.ts +8 -8
  351. package/lib/ly-layout-field-label/ly-layout-field-label.component.d.ts +13 -13
  352. package/lib/ly-layout-panel/ly-layout-panel.component.d.ts +26 -26
  353. package/lib/ly-line/ly-line.component.d.ts +17 -17
  354. package/lib/ly-simple-label/ly-simple-label.component.d.ts +9 -9
  355. package/lib/ly-tab-container/ly-tab-container.component.d.ts +19 -19
  356. package/lib/ly-tab-page/ly-tab-page.component.d.ts +20 -20
  357. package/lib/ly-vertical-layout/ly-vertical-layout.component.d.ts +19 -19
  358. package/lib/manage-filters-report/manage-filters-report.component.d.ts +24 -24
  359. package/lib/mask/mask.component.d.ts +9 -9
  360. package/lib/message-strip/message-strip.component.d.ts +11 -11
  361. package/lib/models/grid-data-provider.d.ts +22 -22
  362. package/lib/models/grid-view.d.ts +61 -61
  363. package/lib/models/index.d.ts +1 -1
  364. package/lib/no-data/no-data.component.d.ts +11 -9
  365. package/lib/notification-item/notification-item.component.d.ts +43 -43
  366. package/lib/notification-popup.service.d.ts +17 -17
  367. package/lib/progress-indicator/progress-indicator.component.d.ts +8 -8
  368. package/lib/report-navigator/report-navigator.component.d.ts +21 -21
  369. package/lib/report-new-top-form/report-new-top-form.component.d.ts +18 -18
  370. package/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.d.ts +14 -14
  371. package/lib/report-search-fields-manage/report-search-fields-manage.component.d.ts +20 -20
  372. package/lib/report-search-panel-save/report-search-panel-save.component.d.ts +27 -27
  373. package/lib/report-tree-base.d.ts +62 -62
  374. package/lib/report-view-renderer.directive.d.ts +117 -117
  375. package/lib/responsive-toolbar/responsive-toolbar.component.d.ts +19 -19
  376. package/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.d.ts +24 -24
  377. package/lib/rich-text-static/rich-text-static.component.d.ts +28 -28
  378. package/lib/sap-font-class.pipe.d.ts +8 -8
  379. package/lib/sap-font.pipe.d.ts +9 -9
  380. package/lib/sap-size.pipe.d.ts +8 -8
  381. package/lib/sap-ui-report-base.component.d.ts +154 -154
  382. package/lib/search-panel/search-panel.component.d.ts +14 -14
  383. package/lib/static-text/static-text.component.d.ts +7 -7
  384. package/lib/title/title.component.d.ts +7 -7
  385. package/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.d.ts +9 -9
  386. package/lib/ui-button/ui-button.component.d.ts +11 -11
  387. package/lib/ui-calendar/ui-calendar.component.d.ts +19 -19
  388. package/lib/ui-card-view/ui-card-view.component.d.ts +16 -16
  389. package/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.d.ts +12 -12
  390. package/lib/ui-check-box/ui-check-box.component.d.ts +14 -14
  391. package/lib/ui-color-ui/ui-color-ui.component.d.ts +16 -16
  392. package/lib/ui-container-with-button/ui-container-with-button.component.d.ts +11 -11
  393. package/lib/ui-date-range-ex/ui-date-range-ex.component.d.ts +35 -36
  394. package/lib/ui-date-time/ui-date-time.component.d.ts +39 -40
  395. package/lib/ui-editable-grid/ui-editable-grid.component.d.ts +43 -43
  396. package/lib/ui-exception-form/ui-exception-form.component.d.ts +15 -15
  397. package/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.d.ts +50 -50
  398. package/lib/ui-form-panel/ui-form-panel.component.d.ts +53 -53
  399. package/lib/ui-gantt-chart/ui-gantt-chart.component.d.ts +15 -15
  400. package/lib/ui-graph/ui-graph.component.d.ts +9 -9
  401. package/lib/ui-grid/ui-grid.component.d.ts +12 -12
  402. package/lib/ui-grid-columns/ui-grid-columns.component.d.ts +14 -14
  403. package/lib/ui-grid-filter-item/ui-grid-filter-item.component.d.ts +19 -19
  404. package/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.d.ts +24 -24
  405. package/lib/ui-grid-sort-item/ui-grid-sort-item.component.d.ts +25 -25
  406. package/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.d.ts +28 -28
  407. package/lib/ui-html-viewer/ui-html-viewer.component.d.ts +9 -9
  408. package/lib/ui-info-bar-panel/ui-info-bar-panel.component.d.ts +5 -5
  409. package/lib/ui-label/ui-label.component.d.ts +6 -6
  410. package/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.d.ts +73 -73
  411. package/lib/ui-list-view/ui-list-view.component.d.ts +29 -29
  412. package/lib/ui-matrix-view/ui-matrix-view.component.d.ts +45 -45
  413. package/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.d.ts +7 -7
  414. package/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.d.ts +6 -6
  415. package/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.d.ts +15 -15
  416. package/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.d.ts +90 -89
  417. package/lib/ui-monaco-editor/ui-monaco-editor.component.d.ts +10 -7
  418. package/lib/ui-multi-select-card/ui-multi-select-card.component.d.ts +17 -17
  419. package/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.d.ts +19 -19
  420. package/lib/ui-multi-select-combo/ui-multi-select-combo.component.d.ts +27 -27
  421. package/lib/ui-multi-select-radio/ui-multi-select-radio.component.d.ts +17 -17
  422. package/lib/ui-multi-select-slider/ui-multi-select-slider.component.d.ts +24 -24
  423. package/lib/ui-multi-select-smile/ui-multi-select-smile.component.d.ts +23 -23
  424. package/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.d.ts +11 -11
  425. package/lib/ui-num-int-slider/ui-num-int-slider.component.d.ts +18 -18
  426. package/lib/ui-num-int-ui/ui-num-int-ui.component.d.ts +10 -10
  427. package/lib/ui-pdf-viewer/ui-pdf-viewer.component.d.ts +79 -79
  428. package/lib/ui-picture-file/ui-picture-file.component.d.ts +26 -25
  429. package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +80 -69
  430. package/lib/ui-radio-group/ui-radio-group.component.d.ts +20 -20
  431. package/lib/ui-read-only-field/ui-read-only-field.component.d.ts +21 -21
  432. package/lib/ui-report-container/ui-report-container.component.d.ts +17 -17
  433. package/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.d.ts +9 -9
  434. package/lib/ui-simple-combo/ui-simple-combo.component.d.ts +16 -16
  435. package/lib/ui-single-picture/ui-single-picture.component.d.ts +13 -13
  436. package/lib/ui-switch-button/ui-switch-button.component.d.ts +11 -11
  437. package/lib/ui-table-view/ui-table-view.component.d.ts +39 -39
  438. package/lib/ui-text-area/ui-text-area.component.d.ts +23 -23
  439. package/lib/ui-text-field/ui-text-field.component.d.ts +23 -23
  440. package/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.d.ts +13 -13
  441. package/lib/ui-time-span/ui-time-span.component.d.ts +10 -10
  442. package/lib/ui-tinymce/ui-tinymce.component.d.ts +22 -22
  443. package/lib/ui-tree/ui-tree.component.d.ts +37 -37
  444. package/lib/ui-tree-view/ui-tree-view.component.d.ts +47 -47
  445. package/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.d.ts +9 -9
  446. package/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.d.ts +74 -74
  447. package/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.d.ts +16 -16
  448. package/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.d.ts +21 -21
  449. package/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.d.ts +48 -48
  450. package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +21 -21
  451. package/lib/ul-toast-adapter/ul-toast-adapter.component.d.ts +13 -13
  452. package/lib/ulv-column-settings/ulv-column-settings.component.d.ts +20 -20
  453. package/lib/ulv-context-menu/ulv-context-menu.component.d.ts +31 -31
  454. package/lib/ulv-filter-settings/ulv-filter-settings.component.d.ts +19 -19
  455. package/lib/ulv-form-multi-select/ulv-form-multi-select.component.d.ts +26 -26
  456. package/lib/ulv-groupby-settings/ulv-groupby-settings.component.d.ts +16 -16
  457. package/lib/ulv-paging/ulv-paging.component.d.ts +28 -28
  458. package/lib/ulv-selection/ulv-selection.component.d.ts +43 -43
  459. package/lib/ulv-settings/ulv-settings.component.d.ts +43 -43
  460. package/lib/ulv-sort-settings/ulv-sort-settings.component.d.ts +16 -16
  461. package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +49 -49
  462. package/lib/upload-file-status.pipe.d.ts +9 -9
  463. package/lib/util-chat-time-badge.pipe.d.ts +7 -0
  464. package/lib/util-date-to-hh-mm.pipe.d.ts +7 -0
  465. package/lib/wizard-layout.directive.d.ts +40 -40
  466. package/package.json +7 -13
  467. package/public-api.d.ts +226 -218
  468. package/esm2020/lib/apply-conditional-formmatings.directive.mjs +0 -89
  469. package/esm2020/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
  470. package/esm2020/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -127
  471. package/esm2020/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
  472. package/esm2020/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -25
  473. package/esm2020/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -30
  474. package/esm2020/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
  475. package/esm2020/lib/barsa-chip/barsa-chip.component.mjs +0 -72
  476. package/esm2020/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -15
  477. package/esm2020/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
  478. package/esm2020/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
  479. package/esm2020/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -42
  480. package/esm2020/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
  481. package/esm2020/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
  482. package/esm2020/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -37
  483. package/esm2020/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
  484. package/esm2020/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
  485. package/esm2020/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
  486. package/esm2020/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
  487. package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
  488. package/esm2020/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
  489. package/esm2020/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
  490. package/esm2020/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
  491. package/esm2020/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -53
  492. package/esm2020/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
  493. package/esm2020/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
  494. package/esm2020/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -31
  495. package/esm2020/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
  496. package/esm2020/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -35
  497. package/esm2020/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -47
  498. package/esm2020/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -78
  499. package/esm2020/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
  500. package/esm2020/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
  501. package/esm2020/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -98
  502. package/esm2020/lib/barsa-sap-ui.module.mjs +0 -332
  503. package/esm2020/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
  504. package/esm2020/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -168
  505. package/esm2020/lib/barsa-table-column/barsa-table-column.component.mjs +0 -28
  506. package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +0 -198
  507. package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +0 -61
  508. package/esm2020/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
  509. package/esm2020/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
  510. package/esm2020/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
  511. package/esm2020/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -38
  512. package/esm2020/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -417
  513. package/esm2020/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
  514. package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -130
  515. package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -209
  516. package/esm2020/lib/blob-viewer/blob-viewer.component.mjs +0 -78
  517. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -45
  518. package/esm2020/lib/card-item/card-item.component.mjs +0 -76
  519. package/esm2020/lib/card-view-content/card-view-content.component.mjs +0 -46
  520. package/esm2020/lib/col-renderer.directive.mjs +0 -46
  521. package/esm2020/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
  522. package/esm2020/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
  523. package/esm2020/lib/column-renderer/column-renderer.component.mjs +0 -85
  524. package/esm2020/lib/constants.mjs +0 -421
  525. package/esm2020/lib/custom-date-time/custom-date-time.component.mjs +0 -41
  526. package/esm2020/lib/download-files.directive.mjs +0 -33
  527. package/esm2020/lib/dynamic-page-size.pipe.mjs +0 -26
  528. package/esm2020/lib/file-viewer/file-viewer.component.mjs +0 -47
  529. package/esm2020/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -41
  530. package/esm2020/lib/form-dialog/form-dialog.component.mjs +0 -143
  531. package/esm2020/lib/form-dialog-less/form-dialog-less.component.mjs +0 -45
  532. package/esm2020/lib/form-toolbar/form-toolbar.component.mjs +0 -42
  533. package/esm2020/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -46
  534. package/esm2020/lib/form-wizard/form-wizard.component.mjs +0 -21
  535. package/esm2020/lib/fullscreen-dialog.directive.mjs +0 -59
  536. package/esm2020/lib/fullscreen-files.directive.mjs +0 -42
  537. package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -188
  538. package/esm2020/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -203
  539. package/esm2020/lib/global-search-module/global-search-module.component.mjs +0 -30
  540. package/esm2020/lib/global-search-panel/global-search-panel.component.mjs +0 -25
  541. package/esm2020/lib/header-avatar/header-avatar.component.mjs +0 -19
  542. package/esm2020/lib/header-facet-progress/header-facet-progress.component.mjs +0 -26
  543. package/esm2020/lib/header-facet-rate/header-facet-rate.component.mjs +0 -26
  544. package/esm2020/lib/htree-create-new/htree-create-new.component.mjs +0 -49
  545. package/esm2020/lib/hyperlink/hyperlink.component.mjs +0 -23
  546. package/esm2020/lib/index.mjs +0 -529
  547. package/esm2020/lib/layout-actions/layout-actions.component.mjs +0 -68
  548. package/esm2020/lib/layout-control/layout-control.component.mjs +0 -234
  549. package/esm2020/lib/layout-wizard/layout-wizard.component.mjs +0 -155
  550. package/esm2020/lib/list-item/list-item.component.mjs +0 -33
  551. package/esm2020/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
  552. package/esm2020/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -71
  553. package/esm2020/lib/ly-label/ly-label.component.mjs +0 -35
  554. package/esm2020/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
  555. package/esm2020/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
  556. package/esm2020/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -73
  557. package/esm2020/lib/ly-line/ly-line.component.mjs +0 -56
  558. package/esm2020/lib/ly-simple-label/ly-simple-label.component.mjs +0 -23
  559. package/esm2020/lib/ly-tab-container/ly-tab-container.component.mjs +0 -52
  560. package/esm2020/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
  561. package/esm2020/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -50
  562. package/esm2020/lib/manage-filters-report/manage-filters-report.component.mjs +0 -45
  563. package/esm2020/lib/message-strip/message-strip.component.mjs +0 -28
  564. package/esm2020/lib/models/grid-data-provider.mjs +0 -83
  565. package/esm2020/lib/models/grid-view.mjs +0 -2
  566. package/esm2020/lib/no-data/no-data.component.mjs +0 -23
  567. package/esm2020/lib/notification-item/notification-item.component.mjs +0 -57
  568. package/esm2020/lib/notification-popup.service.mjs +0 -88
  569. package/esm2020/lib/report-navigator/report-navigator.component.mjs +0 -63
  570. package/esm2020/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
  571. package/esm2020/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
  572. package/esm2020/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -98
  573. package/esm2020/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -90
  574. package/esm2020/lib/report-tree-base.mjs +0 -408
  575. package/esm2020/lib/report-view-renderer.directive.mjs +0 -366
  576. package/esm2020/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
  577. package/esm2020/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
  578. package/esm2020/lib/rich-text-static/rich-text-static.component.mjs +0 -72
  579. package/esm2020/lib/sap-font-class.pipe.mjs +0 -29
  580. package/esm2020/lib/sap-font.pipe.mjs +0 -29
  581. package/esm2020/lib/sap-size.pipe.mjs +0 -27
  582. package/esm2020/lib/sap-ui-report-base.component.mjs +0 -766
  583. package/esm2020/lib/search-panel/search-panel.component.mjs +0 -43
  584. package/esm2020/lib/ui-button/ui-button.component.mjs +0 -31
  585. package/esm2020/lib/ui-calendar/ui-calendar.component.mjs +0 -53
  586. package/esm2020/lib/ui-card-view/ui-card-view.component.mjs +0 -60
  587. package/esm2020/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -43
  588. package/esm2020/lib/ui-check-box/ui-check-box.component.mjs +0 -34
  589. package/esm2020/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
  590. package/esm2020/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -34
  591. package/esm2020/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -194
  592. package/esm2020/lib/ui-date-time/ui-date-time.component.mjs +0 -150
  593. package/esm2020/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
  594. package/esm2020/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
  595. package/esm2020/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
  596. package/esm2020/lib/ui-form-panel/ui-form-panel.component.mjs +0 -92
  597. package/esm2020/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -44
  598. package/esm2020/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -67
  599. package/esm2020/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -76
  600. package/esm2020/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -59
  601. package/esm2020/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -156
  602. package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -349
  603. package/esm2020/lib/ui-list-view/ui-list-view.component.mjs +0 -75
  604. package/esm2020/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -125
  605. package/esm2020/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
  606. package/esm2020/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -56
  607. package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -409
  608. package/esm2020/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -18
  609. package/esm2020/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
  610. package/esm2020/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
  611. package/esm2020/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
  612. package/esm2020/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
  613. package/esm2020/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
  614. package/esm2020/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
  615. package/esm2020/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -24
  616. package/esm2020/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
  617. package/esm2020/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -262
  618. package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +0 -91
  619. package/esm2020/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -223
  620. package/esm2020/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
  621. package/esm2020/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
  622. package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +0 -46
  623. package/esm2020/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -37
  624. package/esm2020/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
  625. package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +0 -151
  626. package/esm2020/lib/ui-text-area/ui-text-area.component.mjs +0 -49
  627. package/esm2020/lib/ui-text-field/ui-text-field.component.mjs +0 -52
  628. package/esm2020/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
  629. package/esm2020/lib/ui-tree/ui-tree.component.mjs +0 -92
  630. package/esm2020/lib/ui-tree-view/ui-tree-view.component.mjs +0 -81
  631. package/esm2020/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -24
  632. package/esm2020/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -289
  633. package/esm2020/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -26
  634. package/esm2020/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -91
  635. package/esm2020/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -117
  636. package/esm2020/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
  637. package/esm2020/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -44
  638. package/esm2020/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -60
  639. package/esm2020/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -87
  640. package/esm2020/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
  641. package/esm2020/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -185
  642. package/esm2020/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
  643. package/esm2020/lib/ulv-paging/ulv-paging.component.mjs +0 -84
  644. package/esm2020/lib/ulv-selection/ulv-selection.component.mjs +0 -66
  645. package/esm2020/lib/ulv-settings/ulv-settings.component.mjs +0 -117
  646. package/esm2020/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -44
  647. package/esm2020/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -115
  648. package/esm2020/lib/upload-file-status.pipe.mjs +0 -28
  649. package/fesm2015/barsa-sap-ui.mjs +0 -14213
  650. package/fesm2015/barsa-sap-ui.mjs.map +0 -1
  651. package/fesm2020/barsa-sap-ui.mjs +0 -14183
  652. package/fesm2020/barsa-sap-ui.mjs.map +0 -1
@@ -1,90 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { UntypedFormControl, Validators } from '@angular/forms';
3
- import { Subject } from 'rxjs';
4
- import { exhaustMap, filter, finalize, map, takeUntil, tap } from 'rxjs/operators';
5
- import { BaseComponent, BarsaApi } from 'barsa-novin-ray-core';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "@fundamental-ngx/core";
9
- import * as i3 from "barsa-novin-ray-core";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@fundamental-ngx/core/bar";
12
- import * as i6 from "@fundamental-ngx/core/checkbox";
13
- import * as i7 from "@fundamental-ngx/core/form";
14
- import * as i8 from "@fundamental-ngx/core/input-group";
15
- import * as i9 from "@fundamental-ngx/core/dialog";
16
- import * as i10 from "@fundamental-ngx/core/title";
17
- import * as i11 from "@fundamental-ngx/core/utils";
18
- import * as i12 from "../mask/mask.component";
19
- export class ReportSearchPanelSaveComponent extends BaseComponent {
20
- constructor(fb, dialogRef, bbbPipe) {
21
- super();
22
- this.fb = fb;
23
- this.dialogRef = dialogRef;
24
- this.bbbPipe = bbbPipe;
25
- this.isDefault = false;
26
- this.isPublic = false;
27
- this.applyAutomatically = false;
28
- this.saveing = false;
29
- this._saveingSource = new Subject();
30
- this.searchMo = dialogRef.data.searchMo;
31
- this.reportId = dialogRef.data.reportId;
32
- this.fieldsSetting = dialogRef.data.fieldsSetting;
33
- }
34
- ngOnInit() {
35
- super.ngOnInit();
36
- this.appGroupForm = this.fb.group({
37
- title: new UntypedFormControl(this.title, [Validators.required]),
38
- setAsDefault: new UntypedFormControl(undefined),
39
- publicFilter: new UntypedFormControl(false),
40
- applyAutomatically: new UntypedFormControl(false)
41
- });
42
- const alertFieldIsMandatoryText = this.bbbPipe.transform('AlertFieldIsMandatory');
43
- const titleText = this.bbbPipe.transform('Title');
44
- this.RequiredText = alertFieldIsMandatoryText.replace('{0}', titleText);
45
- this._saveingSource
46
- .asObservable()
47
- .pipe(tap(() => (this.saveing = true)), takeUntil(this._onDestroy$), map((searchPanelSetting) => {
48
- const searchMo = {};
49
- Object.keys(this.searchMo).forEach((c) => (searchMo[c] = this.searchMo[c]));
50
- return {
51
- ...searchPanelSetting,
52
- SearchMo: JSON.stringify(searchMo),
53
- FieldsSetting: JSON.stringify(this.fieldsSetting)
54
- };
55
- }), exhaustMap((searchPanelSetting) => new Promise((resolve) => {
56
- BarsaApi.Bw.RunBlMethodAsync({
57
- Parameters: [new BarsaApi.Common.MetaObjectWeb(searchPanelSetting), true],
58
- Method: 'SaveSearchPanelSettings',
59
- SuccessFn: (mo) => {
60
- resolve(mo);
61
- },
62
- FailFn: () => {
63
- resolve(null);
64
- }
65
- });
66
- })), filter((c) => !!c), tap((searchPanelSettingsMo) => this.dialogRef.close(searchPanelSettingsMo)), finalize(() => (this.saveing = false)))
67
- .subscribe();
68
- }
69
- onSave() {
70
- this.submitted = true;
71
- if (this.appGroupForm.valid) {
72
- this._saveingSource.next({
73
- Id: '',
74
- $Caption: this.title,
75
- ReportId: this.reportId,
76
- Title: this.title,
77
- IsDefault: this.isDefault,
78
- IsPublic: this.isPublic,
79
- ApplyAutomatically: this.applyAutomatically
80
- });
81
- }
82
- }
83
- }
84
- ReportSearchPanelSaveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportSearchPanelSaveComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.DialogRef }, { token: i3.BbbTranslatePipe }], target: i0.ɵɵFactoryTarget.Component });
85
- ReportSearchPanelSaveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportSearchPanelSaveComponent, selector: "bsu-report-search-panel-save", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'Save' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\" [disabled]=\"saveing\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <bsu-mask *ngIf=\"saveing\"></bsu-mask>\r\n <div fd-form-item [formGroup]=\"appGroupForm\" [class.saveing-form]=\"saveing\">\r\n <label fd-form-label [required]=\"true\">{{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n <fd-checkbox\r\n formControlName=\"setAsDefault\"\r\n [label]=\"'SetasDefault' | bbbTranslate\"\r\n [(ngModel)]=\"isDefault\"\r\n ></fd-checkbox>\r\n <fd-checkbox\r\n formControlName=\"publicFilter\"\r\n [label]=\"'Public' | bbbTranslate\"\r\n [(ngModel)]=\"isPublic\"\r\n ></fd-checkbox>\r\n <fd-checkbox\r\n formControlName=\"applyAutomatically\"\r\n [label]=\"'ApplyAutomatically' | bbbTranslate\"\r\n [(ngModel)]=\"applyAutomatically\"\r\n ></fd-checkbox>\r\n <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\" [disabled]=\"saveing\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n [disabled]=\"saveing\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.close()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i6.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values"], outputs: ["focusChange"] }, { kind: "component", type: i7.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i7.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "checkbox", "radio", "alignLabelEnd", "inlineHelpTitle", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "id"] }, { kind: "component", type: i7.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i7.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: i8.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i9.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i9.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i9.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i9.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i9.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i10.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i11.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }, { kind: "component", type: i12.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportSearchPanelSaveComponent, decorators: [{
87
- type: Component,
88
- args: [{ selector: 'bsu-report-search-panel-save', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'Save' | bbbTranslate }}</h1>\r\n <button fd-dialog-close-button (click)=\"dialogRef.dismiss()\" [disabled]=\"saveing\"></button>\r\n </fd-dialog-header>\r\n\r\n <fd-dialog-body>\r\n <bsu-mask *ngIf=\"saveing\"></bsu-mask>\r\n <div fd-form-item [formGroup]=\"appGroupForm\" [class.saveing-form]=\"saveing\">\r\n <label fd-form-label [required]=\"true\">{{ 'Title' | bbbTranslate }}</label>\r\n <fd-form-input-message-group>\r\n <fd-input-group\r\n class=\"form-control\"\r\n formControlName=\"title\"\r\n form-control\r\n [button]=\"true\"\r\n [(ngModel)]=\"title\"\r\n [state]=\"submitted && appGroupForm.controls.title.errors ? 'error' : 'information'\"\r\n >\r\n </fd-input-group>\r\n <fd-checkbox\r\n formControlName=\"setAsDefault\"\r\n [label]=\"'SetasDefault' | bbbTranslate\"\r\n [(ngModel)]=\"isDefault\"\r\n ></fd-checkbox>\r\n <fd-checkbox\r\n formControlName=\"publicFilter\"\r\n [label]=\"'Public' | bbbTranslate\"\r\n [(ngModel)]=\"isPublic\"\r\n ></fd-checkbox>\r\n <fd-checkbox\r\n formControlName=\"applyAutomatically\"\r\n [label]=\"'ApplyAutomatically' | bbbTranslate\"\r\n [(ngModel)]=\"applyAutomatically\"\r\n ></fd-checkbox>\r\n <fd-form-message *ngIf=\"submitted && appGroupForm.controls.title.errors\" type=\"error\">\r\n {{ RequiredText }}\r\n </fd-form-message>\r\n </fd-form-input-message-group>\r\n </div>\r\n </fd-dialog-body>\r\n\r\n <fd-dialog-footer>\r\n <fd-button-bar [label]=\"'Save' | bbbTranslate\" fdType=\"emphasized\" (click)=\"onSave()\" [disabled]=\"saveing\">\r\n </fd-button-bar>\r\n <fd-button-bar\r\n [disabled]=\"saveing\"\r\n [label]=\"'Cancel' | bbbTranslate\"\r\n fdInitialFocus\r\n fdType=\"transparent\"\r\n (click)=\"this.dialogRef.close()\"\r\n >\r\n </fd-button-bar>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
89
- }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.DialogRef }, { type: i3.BbbTranslatePipe }]; } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBc0Isa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEVBS1gsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFROUIsTUFBTSxPQUFPLDhCQUErQixTQUFRLGFBQWE7SUFjN0QsWUFBb0IsRUFBc0IsRUFBUyxTQUFvQixFQUFVLE9BQXlCO1FBQ3RHLEtBQUssRUFBRSxDQUFDO1FBRFEsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFBUyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFUMUcsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixZ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cUJBQXFCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsRUFDM0UsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUN6QzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDckIsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNwQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7YUFDOUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzsySEFqRlEsOEJBQThCOytHQUE5Qiw4QkFBOEIsMkZDckIzQyxvNkVBdURBOzJGRGxDYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0ksOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQmFzZUNvbXBvbmVudCxcclxuICAgIEJhcnNhQXBpLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIENvbHVtbkluZm9UeXBlLFxyXG4gICAgU2VhcmNoUGFuZWxTZXR0aW5ncyxcclxuICAgIEJiYlRyYW5zbGF0ZVBpcGVcclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXJlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGFwcEdyb3VwRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICAgIHN1Ym1pdHRlZDogYm9vbGVhbjtcclxuICAgIFJlcXVpcmVkVGV4dDogc3RyaW5nO1xyXG4gICAgaXNEZWZhdWx0ID0gZmFsc2U7XHJcbiAgICBpc1B1YmxpYyA9IGZhbHNlO1xyXG4gICAgYXBwbHlBdXRvbWF0aWNhbGx5ID0gZmFsc2U7XHJcbiAgICBzYXZlaW5nID0gZmFsc2U7XHJcbiAgICBzZWFyY2hNbzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIHJlcG9ydElkOiBzdHJpbmc7XHJcbiAgICBmaWVsZHNTZXR0aW5nOiBDb2x1bW5JbmZvVHlwZVtdO1xyXG4gICAgcHJpdmF0ZSBfc2F2ZWluZ1NvdXJjZSA9IG5ldyBTdWJqZWN0PFNlYXJjaFBhbmVsU2V0dGluZ3M+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgZGlhbG9nUmVmOiBEaWFsb2dSZWYsIHByaXZhdGUgYmJiUGlwZTogQmJiVHJhbnNsYXRlUGlwZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hNbyA9IGRpYWxvZ1JlZi5kYXRhLnNlYXJjaE1vO1xyXG4gICAgICAgIHRoaXMucmVwb3J0SWQgPSBkaWFsb2dSZWYuZGF0YS5yZXBvcnRJZDtcclxuICAgICAgICB0aGlzLmZpZWxkc1NldHRpbmcgPSBkaWFsb2dSZWYuZGF0YS5maWVsZHNTZXR0aW5nO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5hcHBHcm91cEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgdGl0bGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy50aXRsZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAgICAgICAgICAgc2V0QXNEZWZhdWx0OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHVuZGVmaW5lZCksXHJcbiAgICAgICAgICAgIHB1YmxpY0ZpbHRlcjogbmV3IFVudHlwZWRGb3JtQ29udHJvbChmYWxzZSksXHJcbiAgICAgICAgICAgIGFwcGx5QXV0b21hdGljYWxseTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChmYWxzZSlcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCBhbGVydEZpZWxkSXNNYW5kYXRvcnlUZXh0ID0gdGhpcy5iYmJQaXBlLnRyYW5zZm9ybSgnQWxlcnRGaWVsZElzTWFuZGF0b3J5Jyk7XHJcbiAgICAgICAgY29uc3QgdGl0bGVUZXh0ID0gdGhpcy5iYmJQaXBlLnRyYW5zZm9ybSgnVGl0bGUnKTtcclxuICAgICAgICB0aGlzLlJlcXVpcmVkVGV4dCA9IGFsZXJ0RmllbGRJc01hbmRhdG9yeVRleHQucmVwbGFjZSgnezB9JywgdGl0bGVUZXh0KTtcclxuICAgICAgICB0aGlzLl9zYXZlaW5nU291cmNlXHJcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiAodGhpcy5zYXZlaW5nID0gdHJ1ZSkpLFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgbWFwKChzZWFyY2hQYW5lbFNldHRpbmcpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWFyY2hNbyA9IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuc2VhcmNoTW8pLmZvckVhY2goKGMpID0+IChzZWFyY2hNb1tjXSA9IHRoaXMuc2VhcmNoTW9bY10pKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zZWFyY2hQYW5lbFNldHRpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaE1vOiBKU09OLnN0cmluZ2lmeShzZWFyY2hNbyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEZpZWxkc1NldHRpbmc6IEpTT04uc3RyaW5naWZ5KHRoaXMuZmllbGRzU2V0dGluZylcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBleGhhdXN0TWFwKFxyXG4gICAgICAgICAgICAgICAgICAgIChzZWFyY2hQYW5lbFNldHRpbmcpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBQcm9taXNlPE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuUnVuQmxNZXRob2RBc3luYyh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW1ldGVyczogW25ldyBCYXJzYUFwaS5Db21tb24uTWV0YU9iamVjdFdlYihzZWFyY2hQYW5lbFNldHRpbmcpLCB0cnVlXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRob2Q6ICdTYXZlU2VhcmNoUGFuZWxTZXR0aW5ncycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3VjY2Vzc0ZuOiAobW8pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShtbyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWlsRm46ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGMpID0+ICEhYyksXHJcbiAgICAgICAgICAgICAgICB0YXAoKHNlYXJjaFBhbmVsU2V0dGluZ3NNbykgPT4gdGhpcy5kaWFsb2dSZWYuY2xvc2Uoc2VhcmNoUGFuZWxTZXR0aW5nc01vKSksXHJcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5zYXZlaW5nID0gZmFsc2UpKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBvblNhdmUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgICAgIGlmICh0aGlzLmFwcEdyb3VwRm9ybS52YWxpZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9zYXZlaW5nU291cmNlLm5leHQoe1xyXG4gICAgICAgICAgICAgICAgSWQ6ICcnLFxyXG4gICAgICAgICAgICAgICAgJENhcHRpb246IHRoaXMudGl0bGUsXHJcbiAgICAgICAgICAgICAgICBSZXBvcnRJZDogdGhpcy5yZXBvcnRJZCxcclxuICAgICAgICAgICAgICAgIFRpdGxlOiB0aGlzLnRpdGxlLFxyXG4gICAgICAgICAgICAgICAgSXNEZWZhdWx0OiB0aGlzLmlzRGVmYXVsdCxcclxuICAgICAgICAgICAgICAgIElzUHVibGljOiB0aGlzLmlzUHVibGljLFxyXG4gICAgICAgICAgICAgICAgQXBwbHlBdXRvbWF0aWNhbGx5OiB0aGlzLmFwcGx5QXV0b21hdGljYWxseVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWRpYWxvZz5cclxuICAgIDxmZC1kaWFsb2ctaGVhZGVyPlxyXG4gICAgICAgIDxoMSBmZC10aXRsZT57eyAnU2F2ZScgfCBiYmJUcmFuc2xhdGUgfX08L2gxPlxyXG4gICAgICAgIDxidXR0b24gZmQtZGlhbG9nLWNsb3NlLWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nUmVmLmRpc21pc3MoKVwiIFtkaXNhYmxlZF09XCJzYXZlaW5nXCI+PC9idXR0b24+XHJcbiAgICA8L2ZkLWRpYWxvZy1oZWFkZXI+XHJcblxyXG4gICAgPGZkLWRpYWxvZy1ib2R5PlxyXG4gICAgICAgIDxic3UtbWFzayAqbmdJZj1cInNhdmVpbmdcIj48L2JzdS1tYXNrPlxyXG4gICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtIFtmb3JtR3JvdXBdPVwiYXBwR3JvdXBGb3JtXCIgW2NsYXNzLnNhdmVpbmctZm9ybV09XCJzYXZlaW5nXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmZC1mb3JtLWxhYmVsIFtyZXF1aXJlZF09XCJ0cnVlXCI+e3sgJ1RpdGxlJyB8IGJiYlRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxmZC1mb3JtLWlucHV0LW1lc3NhZ2UtZ3JvdXA+XHJcbiAgICAgICAgICAgICAgICA8ZmQtaW5wdXQtZ3JvdXBcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm0tY29udHJvbFxyXG4gICAgICAgICAgICAgICAgICAgIFtidXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cInN1Ym1pdHRlZCAmJiBhcHBHcm91cEZvcm0uY29udHJvbHMudGl0bGUuZXJyb3JzID8gJ2Vycm9yJyA6ICdpbmZvcm1hdGlvbidcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1pbnB1dC1ncm91cD5cclxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNldEFzRGVmYXVsdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidTZXRhc0RlZmF1bHQnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlzRGVmYXVsdFwiXHJcbiAgICAgICAgICAgICAgICA+PC9mZC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDxmZC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInB1YmxpY0ZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQdWJsaWMnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlzUHVibGljXCJcclxuICAgICAgICAgICAgICAgID48L2ZkLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPGZkLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYXBwbHlBdXRvbWF0aWNhbGx5XCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FwcGx5QXV0b21hdGljYWxseScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYXBwbHlBdXRvbWF0aWNhbGx5XCJcclxuICAgICAgICAgICAgICAgID48L2ZkLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPGZkLWZvcm0tbWVzc2FnZSAqbmdJZj1cInN1Ym1pdHRlZCAmJiBhcHBHcm91cEZvcm0uY29udHJvbHMudGl0bGUuZXJyb3JzXCIgdHlwZT1cImVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgUmVxdWlyZWRUZXh0IH19XHJcbiAgICAgICAgICAgICAgICA8L2ZkLWZvcm0tbWVzc2FnZT5cclxuICAgICAgICAgICAgPC9mZC1mb3JtLWlucHV0LW1lc3NhZ2UtZ3JvdXA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2ZkLWRpYWxvZy1ib2R5PlxyXG5cclxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxyXG4gICAgICAgIDxmZC1idXR0b24tYmFyIFtsYWJlbF09XCInU2F2ZScgfCBiYmJUcmFuc2xhdGVcIiBmZFR5cGU9XCJlbXBoYXNpemVkXCIgKGNsaWNrKT1cIm9uU2F2ZSgpXCIgW2Rpc2FibGVkXT1cInNhdmVpbmdcIj5cclxuICAgICAgICA8L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVpbmdcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0NhbmNlbCcgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICBmZEluaXRpYWxGb2N1c1xyXG4gICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJ0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9mZC1idXR0b24tYmFyPlxyXG4gICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxyXG48L2ZkLWRpYWxvZz5cclxuIl19
@@ -1,408 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { BehaviorSubject, Subject } from 'rxjs';
3
- import { debounceTime, map, takeUntil } from 'rxjs/operators';
4
- import { BarsaApi } from 'barsa-novin-ray-core';
5
- import { SapUiReportBaseComponent } from './sap-ui-report-base.component';
6
- import * as i0 from "@angular/core";
7
- export class ReportTreeBaseComponent extends SapUiReportBaseComponent {
8
- constructor() {
9
- super(...arguments);
10
- this._dragMove = new Subject();
11
- this._selectedNodeSource = new BehaviorSubject(null);
12
- this._rootSource = new BehaviorSubject(null);
13
- }
14
- get _root() {
15
- return this._rootSource.getValue();
16
- }
17
- ngOnInit() {
18
- this.selectedNode$ = this._selectedNodeSource.asObservable();
19
- this.root$ = this._rootSource.asObservable().pipe(takeUntil(this._onDestroy$));
20
- super.ngOnInit();
21
- this.rtl$ = this._portalService.rtl$;
22
- this.contentDensity$ = this._contentDensityService.contentDensity;
23
- this._rootSource.next(this.context.root);
24
- this._selectedNodeSource.next(this.context.selNode);
25
- this.context.on({
26
- rootChanged: (root) => {
27
- this._rootSource.next(root);
28
- },
29
- selectedNodeChange: (node) => {
30
- this._selectedNodeSource.next(node);
31
- }
32
- });
33
- this._rootSource
34
- .pipe(takeUntil(this._onDestroy$), map((root) => {
35
- if (root) {
36
- const moList = [];
37
- const autoOpenLevels = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.View.TreeAutoOpenLevels', 1);
38
- this._getAllItemsPerChildren(root, 0, moList, root, autoOpenLevels);
39
- return moList;
40
- }
41
- return [];
42
- }))
43
- .subscribe((flatMoDataList) => {
44
- this.flatMoDataList = flatMoDataList;
45
- });
46
- this._resetDropActionTodo();
47
- this._dragMove
48
- .asObservable()
49
- .pipe(takeUntil(this._onDestroy$), debounceTime(50))
50
- .subscribe((event) => {
51
- this._doDragMove(event);
52
- });
53
- }
54
- onCreateNew(e) {
55
- this.context.fireEvent('createNew', e);
56
- }
57
- dragMoved(event) {
58
- this._dragMove.next(event);
59
- }
60
- drop(event) {
61
- this._removeNoDrops();
62
- this._clearDragInfo();
63
- const dragAction = this.dropActionTodo.action;
64
- if (!dragAction) {
65
- return;
66
- }
67
- if (dragAction === 'forbid') {
68
- ReportTreeBaseComponent._showForbiddenMoveAlert();
69
- return;
70
- }
71
- const draggedItemId = event.item.data;
72
- const targetItemId = this.dropActionTodo.targetId;
73
- const draggedItem = this._getNodeById(draggedItemId);
74
- const targetItem = this._getNodeById(targetItemId);
75
- const oldParentNodeId = draggedItem.parentNode?.Data?.Id || '$Root';
76
- const newParentNodeId = targetItem.parentNode?.Data?.Id || '$Root';
77
- const oldParentNode = draggedItem.parentNode;
78
- let newParentNode = targetItem.parentNode;
79
- if (oldParentNode && newParentNode) {
80
- switch (dragAction) {
81
- case 'before':
82
- case 'after': {
83
- let serverTarget = targetItem;
84
- if (dragAction === 'after') {
85
- const targetIndex = this.flatMoDataList.findIndex((c) => c.Data.Id === targetItem.Data.Id);
86
- if (targetIndex === this.flatMoDataList.length - 1) {
87
- serverTarget = null;
88
- }
89
- else {
90
- const afterTarget = this.flatMoDataList[targetIndex + 1];
91
- if (afterTarget.parentNode === targetItem.parentNode) {
92
- serverTarget = afterTarget;
93
- }
94
- else {
95
- serverTarget = null;
96
- }
97
- }
98
- }
99
- this._saveToServer(draggedItem.Data.Id, serverTarget, newParentNode);
100
- this._changeDraggedItemsOrder(draggedItem, targetItem, newParentNode, oldParentNode, oldParentNodeId);
101
- if (newParentNodeId !== '$Root') {
102
- const i = this.flatMoDataList.indexOf(draggedItem) -
103
- this.flatMoDataList.indexOf(targetItem.parentNode);
104
- newParentNode?.children.splice(i, 0, draggedItem);
105
- }
106
- // send new moDataList To server:
107
- // (draggedItem, draggedItem.parentNode, draggedItem.parentNode.children?.indexOf(draggedItem))
108
- break;
109
- }
110
- case 'inside': {
111
- newParentNode = targetItem;
112
- this._saveToServer(draggedItem.Data.Id, null, newParentNode);
113
- this._moveNodeInsideAnother(draggedItem, targetItem);
114
- break;
115
- }
116
- }
117
- this.setOneDepthLevel(newParentNode);
118
- this.setOneDepthLevel(oldParentNode);
119
- this._clearDragInfo(true);
120
- }
121
- }
122
- _rebindRoot() {
123
- this._rootSource.next(this._root);
124
- }
125
- _saveToServer(draggedId, target, parent) {
126
- const targetId = target ? target.Data.Id : '0';
127
- const parentId = parent.Data.Id === '$Root' ? '0' : parent.Data.Id;
128
- BarsaApi.Bw.RunBlMethod('MoveTreeNode', draggedId, targetId, parentId);
129
- }
130
- confirmDialog(selectedNode) {
131
- this.dialogRef.close(selectedNode);
132
- }
133
- dismissDialog() {
134
- this.dialogRef.dismiss();
135
- }
136
- collapseAll() {
137
- this.context.fireEvent('collapseAll');
138
- }
139
- openMoveToDialog(sourceNode, device, dialogTmp) {
140
- const config = {
141
- ...this.dialogConfig,
142
- data: { context: this.context },
143
- fullScreen: device === 'mobile',
144
- minWidth: device === 'mobile' ? 'auto' : this.dialogConfig.minWidth,
145
- minHeight: device === 'mobile' ? 'auto' : this.dialogConfig.minHeight
146
- };
147
- this.dialogRef = this._dialogService.open(dialogTmp, config);
148
- this.dialogRef.afterClosed.subscribe((destinationNode) => {
149
- if (!destinationNode) {
150
- return;
151
- }
152
- const canMove = this._canMove(sourceNode, destinationNode);
153
- if (canMove) {
154
- this._moveNodeInsideAnother(sourceNode, destinationNode);
155
- }
156
- else {
157
- ReportTreeBaseComponent._showForbiddenMoveAlert();
158
- }
159
- this._rootSource.next(this._root);
160
- });
161
- }
162
- selectNodeInMoveDialog(ev) {
163
- this.dialogSelectedNode = ev.node;
164
- }
165
- loadChildren(node) {
166
- this.context.fireEvent('loadNodeChildren', node);
167
- }
168
- /* eslint-disable */
169
- updateGridSetting() { }
170
- _selectNode(node) {
171
- this.context.selNode = node;
172
- this._selectedNodeSource.next(node);
173
- this.context.fireEvent('click');
174
- this.context.fireEvent('selectionchange');
175
- }
176
- /* eslint-disable */
177
- _deselectNode() {
178
- this.context.selNode = null;
179
- this._selectedNodeSource.next(null);
180
- }
181
- _raiseRowClick(index, mo) {
182
- this.context.selNode = mo;
183
- this.context?.fireEvent('dblclick', this.context, index, mo);
184
- }
185
- _resetDropActionTodo() {
186
- this.dropActionTodo = { targetId: null, action: null };
187
- }
188
- _getAllItemsPerChildren(item, level, array, parentNode, autoOpenLevels) {
189
- let newItem = item;
190
- if (level > 0) {
191
- item.parentNode = parentNode;
192
- item.level = level;
193
- item.isExpand = item.isExpand ?? autoOpenLevels > level;
194
- item.visibility = item.parentNode.isExpand;
195
- array.push(newItem);
196
- }
197
- else {
198
- newItem = item;
199
- newItem.isExpand = true;
200
- }
201
- if (item.children) {
202
- item.children.forEach((child) => this.setOneDepthLevel(child));
203
- return item.children.map((i) => this._getAllItemsPerChildren(i, level + 1, array, newItem, autoOpenLevels));
204
- }
205
- }
206
- _changeDraggedItemsOrder(draggedItem, targetItem, newParentNode, oldParentNode, oldParentNodeId) {
207
- this._removeDraggedItemFromMoDataList(draggedItem);
208
- if (oldParentNodeId !== '$Root') {
209
- // oldParentNode.children?.remove(draggedItem);
210
- oldParentNode.children = oldParentNode.children.filter((c) => c.Data.Id !== draggedItem.Data.Id);
211
- oldParentNode.leaf = !(oldParentNode.children?.length > 0);
212
- oldParentNode.Data.$HasChildren = !oldParentNode.leaf;
213
- }
214
- draggedItem.parentNode = newParentNode;
215
- this._setLevelForDraggedItems(draggedItem, newParentNode.level || 0);
216
- const targetIndex = this.flatMoDataList.indexOf(targetItem);
217
- const index = this.dropActionTodo.action === 'before' ? targetIndex : this._nextIndexInMoDataList(targetItem);
218
- this._addDraggedItemsToMoDataList(draggedItem, index);
219
- }
220
- _addDraggedItemsToMoDataList(node, i) {
221
- this.flatMoDataList.splice(i, 0, node);
222
- node?.children?.forEach((child) => {
223
- i++;
224
- i = this._addDraggedItemsToMoDataList(child, i);
225
- });
226
- return i;
227
- }
228
- _removeDraggedItemFromMoDataList(node) {
229
- node?.children?.forEach((child) => {
230
- this._removeDraggedItemFromMoDataList(child);
231
- });
232
- this.flatMoDataList.remove(node);
233
- }
234
- _nextIndexInMoDataList(node) {
235
- return this.flatMoDataList.indexOf(node) + this._allNestedChildesCount(node) + 1;
236
- }
237
- _allNestedChildesCount(node, i = 0) {
238
- node.children?.forEach((child) => {
239
- i++;
240
- if (child.children?.length > 0) {
241
- i = this._allNestedChildesCount(child, i);
242
- }
243
- });
244
- return i;
245
- }
246
- _getNodeById(id) {
247
- let node;
248
- for (const mo of this.flatMoDataList) {
249
- if (mo.Data.Id === id) {
250
- node = mo;
251
- }
252
- }
253
- return node;
254
- }
255
- _setLevelForDraggedItems(node, parentLevel) {
256
- parentLevel++;
257
- node.level = parentLevel;
258
- node?.children?.forEach((child) => {
259
- this._setLevelForDraggedItems(child, parentLevel);
260
- });
261
- }
262
- _moveNodeInsideAnother(sourceNode, destinationNode) {
263
- const oldParentNode = sourceNode.parentNode;
264
- const oldParentNodeId = oldParentNode?.Data?.Id || '$Root';
265
- this._changeDraggedItemsOrder(sourceNode, destinationNode, destinationNode, oldParentNode, oldParentNodeId);
266
- this.context.fireEvent('moveNodeInsideAnother', sourceNode, destinationNode);
267
- }
268
- _clearDragInfo(dropped = false) {
269
- if (dropped) {
270
- this._resetDropActionTodo();
271
- }
272
- this.el.nativeElement
273
- .querySelectorAll('.drop-before')
274
- .forEach((element) => this._renderer.removeClass(element, 'drop-before'));
275
- this.el.nativeElement
276
- .querySelectorAll('.drop-after')
277
- .forEach((element) => this._renderer.removeClass(element, 'drop-after'));
278
- this.el.nativeElement
279
- .querySelectorAll('.drop-inside')
280
- .forEach((element) => this._renderer.removeClass(element, 'drop-inside'));
281
- }
282
- _stopDragging() {
283
- this._clearDragInfo();
284
- this._resetDropActionTodo();
285
- }
286
- _showDragInfo() {
287
- this._clearDragInfo();
288
- if (this.dropActionTodo.targetId) {
289
- const parent = this._getNodeById(this.dropActionTodo.targetId);
290
- const newParentId = parent?.parentNode?.Data?.Id || '$Root';
291
- const targetNodeElement = this.el.nativeElement.querySelector('#node-' + this.dropActionTodo.targetId);
292
- if (!targetNodeElement) {
293
- this._resetDropActionTodo();
294
- return;
295
- }
296
- else if (newParentId === '$Root' && this.dropActionTodo.action !== 'inside') {
297
- const rootContainer = this.el.nativeElement.querySelector('fd-layout-panel');
298
- this._renderer.addClass(rootContainer, 'drop-inside');
299
- }
300
- this._renderer.addClass(targetNodeElement, 'drop-' + this.dropActionTodo?.action);
301
- }
302
- }
303
- _doDragMove(event) {
304
- const elementFromPoint = document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);
305
- if (!elementFromPoint) {
306
- this._stopDragging();
307
- return;
308
- }
309
- const targetNodeElement = elementFromPoint.classList.contains('node-item')
310
- ? elementFromPoint
311
- : elementFromPoint.closest('.node-item');
312
- if (!targetNodeElement) {
313
- this._stopDragging();
314
- return;
315
- }
316
- this.dropActionTodo = {
317
- targetId: targetNodeElement.getAttribute('data-id')
318
- };
319
- const targetRect = targetNodeElement.getBoundingClientRect();
320
- const oneThird = targetRect.height / 3;
321
- if (event.pointerPosition.y - targetRect.top < oneThird) {
322
- // before
323
- this.dropActionTodo.action = 'before';
324
- }
325
- else if (event.pointerPosition.y - targetRect.top > 2 * oneThird) {
326
- // after
327
- this.dropActionTodo.action = 'after';
328
- }
329
- else {
330
- // inside
331
- this.dropActionTodo.action = 'inside';
332
- }
333
- this._setNoDropItems(event.source.data);
334
- this._setNoDropStyle();
335
- const targetNode = this._getNodeById(this.dropActionTodo.targetId);
336
- if (targetNode.noDrop) {
337
- this._stopDragging();
338
- this.dropActionTodo.action = 'forbid';
339
- return;
340
- }
341
- this._showDragInfo();
342
- }
343
- setOneDepthLevel(node) {
344
- let hasOneDepth = true;
345
- node.children?.forEach((child) => {
346
- if (child.Data?.$HasChildren) {
347
- hasOneDepth = false;
348
- return;
349
- }
350
- });
351
- node.hasOneDepthLevel = hasOneDepth;
352
- }
353
- _removeNoDrops() {
354
- this.flatMoDataList
355
- .filter((node) => node.noDrop)
356
- .forEach((node) => {
357
- node.noDrop = false;
358
- const el = this.el.nativeElement.querySelector('#node-' + node.Data.Id);
359
- if (el) {
360
- this._renderer.removeClass(el, 'no-drop');
361
- }
362
- });
363
- }
364
- _setNoDropItems(draggedItemId) {
365
- const node = this._getNodeById(draggedItemId);
366
- node.noDrop = true;
367
- node.children?.forEach((child) => {
368
- this._setNoDropItems(child.Data.Id);
369
- });
370
- }
371
- _setNoDropStyle() {
372
- this.flatMoDataList
373
- .filter((node) => node.noDrop)
374
- .forEach((node) => {
375
- const el = this.el.nativeElement.querySelector('#node-' + node.Data.Id);
376
- if (el) {
377
- this._renderer.addClass(el, 'no-drop');
378
- }
379
- });
380
- }
381
- _canMove(sourceNode, destinationNode) {
382
- let canMove = true;
383
- if (sourceNode.Data.Id === destinationNode.Data.Id) {
384
- canMove = false;
385
- }
386
- else {
387
- sourceNode.children?.foreach((child) => {
388
- canMove = this._canMove(sourceNode, child);
389
- });
390
- }
391
- return canMove;
392
- }
393
- /* eslint-disable */
394
- static _showForbiddenMoveAlert() {
395
- BarsaApi.Bw.Msg.Error('نمیتوانید آیتم را به زیرشاخه خودش منتقل کنید.');
396
- }
397
- }
398
- ReportTreeBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportTreeBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
399
- ReportTreeBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportTreeBaseComponent, selector: "bsu-report-tree-base", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportTreeBaseComponent, decorators: [{
401
- type: Component,
402
- args: [{
403
- selector: 'bsu-report-tree-base',
404
- template: '',
405
- changeDetection: ChangeDetectionStrategy.OnPush
406
- }]
407
- }] });
408
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXRyZWUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3JlcG9ydC10cmVlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5RCxPQUFPLEVBQ0gsUUFBUSxFQUtYLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBUTFFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx3QkFBaUQ7SUFMOUY7O1FBWUksY0FBUyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFJckIsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQXFCLElBQUksQ0FBQyxDQUFDO1FBQ3BFLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQXFCLElBQUksQ0FBQyxDQUFDO0tBcWJ6RTtJQXBiRyxJQUFZLEtBQUs7UUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUNELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUMvRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUks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LHVCQUF1QixtRkFIdEIsRUFBRTsyRkFHSCx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSwgRGlhbG9nQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBCYXJzYUFwaSxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nLFxuICAgIFRyZWVOb2RlT2JqLFxuICAgIFJlbGF0aW9uSXRlbVR5cGVcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9zYXAtdWktcmVwb3J0LWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3BJbmZvIH0gZnJvbSAnLi91aS10cmVlLXZpZXcvdWktdHJlZS12aWV3LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXJlcG9ydC10cmVlLWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRUcmVlQmFzZUNvbXBvbmVudCBleHRlbmRzIFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNvbnRlbnREZW5zaXR5JDogT2JzZXJ2YWJsZTxDb250ZW50RGVuc2l0eT47XG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBkaWFsb2dTZWxlY3RlZE5vZGU7XG4gICAgc2VsZWN0ZWROb2RlJDogT2JzZXJ2YWJsZTxUcmVlTm9kZU9iaiB8IG51bGw+O1xuICAgIHJvb3QkOiBPYnNlcnZhYmxlPFRyZWVOb2RlT2JqIHwgbnVsbD47XG4gICAgZHJvcEFjdGlvblRvZG86IERyb3BJbmZvO1xuICAgIF9kcmFnTW92ZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBmbGF0TW9EYXRhTGlzdDtcbiAgICBkaWFsb2dSZWY7XG5cbiAgICBwcm90ZWN0ZWQgX3NlbGVjdGVkTm9kZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJlZU5vZGVPYmogfCBudWxsPihudWxsKTtcbiAgICBwcm90ZWN0ZWQgX3Jvb3RTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRyZWVOb2RlT2JqIHwgbnVsbD4obnVsbCk7XG4gICAgcHJpdmF0ZSBnZXQgX3Jvb3QoKTogVHJlZU5vZGVPYmogfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvb3RTb3VyY2UuZ2V0VmFsdWUoKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlJCA9IHRoaXMuX3NlbGVjdGVkTm9kZVNvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgICAgICAgdGhpcy5yb290JCA9IHRoaXMuX3Jvb3RTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnJ0bCQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnJ0bCQ7XG4gICAgICAgIHRoaXMuY29udGVudERlbnNpdHkkID0gdGhpcy5fY29udGVudERlbnNpdHlTZXJ2aWNlLmNvbnRlbnREZW5zaXR5O1xuICAgICAgICB0aGlzLl9yb290U291cmNlLm5leHQodGhpcy5jb250ZXh0LnJvb3QpO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZE5vZGVTb3VyY2UubmV4dCh0aGlzLmNvbnRleHQuc2VsTm9kZSk7XG4gICAgICAgIHRoaXMuY29udGV4dC5vbih7XG4gICAgICAgICAgICByb290Q2hhbmdlZDogKHJvb3QpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yb290U291cmNlLm5leHQocm9vdCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2VsZWN0ZWROb2RlQ2hhbmdlOiAobm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkTm9kZVNvdXJjZS5uZXh0KG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fcm9vdFNvdXJjZVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIG1hcCgocm9vdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocm9vdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9MaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGF1dG9PcGVuTGV2ZWxzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTZXR0aW5nLlZpZXcuVHJlZUF1dG9PcGVuTGV2ZWxzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2V0QWxsSXRlbXNQZXJDaGlsZHJlbihyb290LCAwLCBtb0xpc3QsIHJvb3QsIGF1dG9PcGVuTGV2ZWxzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtb0xpc3Q7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmbGF0TW9EYXRhTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZmxhdE1vRGF0YUxpc3QgPSBmbGF0TW9EYXRhTGlzdDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9yZXNldERyb3BBY3Rpb25Ub2RvKCk7XG4gICAgICAgIHRoaXMuX2RyYWdNb3ZlXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDUwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZG9EcmFnTW92ZShldmVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNyZWF0ZU5ldyhlOiBSZWxhdGlvbkl0ZW1UeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ2NyZWF0ZU5ldycsIGUpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZHJhZ01vdmVkKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RyYWdNb3ZlLm5leHQoZXZlbnQpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZHJvcChldmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW1vdmVOb0Ryb3BzKCk7XG4gICAgICAgIHRoaXMuX2NsZWFyRHJhZ0luZm8oKTtcbiAgICAgICAgY29uc3QgZHJhZ0FjdGlvbiA9IHRoaXMuZHJvcEFjdGlvblRvZG8uYWN0aW9uO1xuICAgICAgICBpZiAoIWRyYWdBY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZHJhZ0FjdGlvbiA9PT0gJ2ZvcmJpZCcpIHtcbiAgICAgICAgICAgIFJlcG9ydFRyZWVCYXNlQ29tcG9uZW50Ll9zaG93Rm9yYmlkZGVuTW92ZUFsZXJ0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZHJhZ2dlZEl0ZW1JZCA9IGV2ZW50Lml0ZW0uZGF0YTtcbiAgICAgICAgY29uc3QgdGFyZ2V0SXRlbUlkID0gdGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRJZDtcbiAgICAgICAgY29uc3QgZHJhZ2dlZEl0ZW0gPSB0aGlzLl9nZXROb2RlQnlJZChkcmFnZ2VkSXRlbUlkKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0SXRlbSA9IHRoaXMuX2dldE5vZGVCeUlkKHRhcmdldEl0ZW1JZCk7XG4gICAgICAgIGNvbnN0IG9sZFBhcmVudE5vZGVJZCA9IGRyYWdnZWRJdGVtLnBhcmVudE5vZGU/LkRhdGE/LklkIHx8ICckUm9vdCc7XG4gICAgICAgIGNvbnN0IG5ld1BhcmVudE5vZGVJZCA9IHRhcmdldEl0ZW0ucGFyZW50Tm9kZT8uRGF0YT8uSWQgfHwgJyRSb290JztcbiAgICAgICAgY29uc3Qgb2xkUGFyZW50Tm9kZSA9IGRyYWdnZWRJdGVtLnBhcmVudE5vZGU7XG4gICAgICAgIGxldCBuZXdQYXJlbnROb2RlID0gdGFyZ2V0SXRlbS5wYXJlbnROb2RlO1xuICAgICAgICBpZiAob2xkUGFyZW50Tm9kZSAmJiBuZXdQYXJlbnROb2RlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGRyYWdBY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdiZWZvcmUnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2FmdGVyJzoge1xuICAgICAgICAgICAgICAgICAgICBsZXQgc2VydmVyVGFyZ2V0OiBUcmVlTm9kZU9iaiB8IG51bGwgPSB0YXJnZXRJdGVtO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZHJhZ0FjdGlvbiA9PT0gJ2FmdGVyJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSB0aGlzLmZsYXRNb0RhdGFMaXN0LmZpbmRJbmRleCgoYykgPT4gYy5EYXRhLklkID09PSB0YXJnZXRJdGVtLkRhdGEuSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldEluZGV4ID09PSB0aGlzLmZsYXRNb0RhdGFMaXN0Lmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJUYXJnZXQgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZnRlclRhcmdldCA9IHRoaXMuZmxhdE1vRGF0YUxpc3RbdGFyZ2V0SW5kZXggKyAxXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWZ0ZXJUYXJnZXQucGFyZW50Tm9kZSA9PT0gdGFyZ2V0SXRlbS5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclRhcmdldCA9IGFmdGVyVGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclRhcmdldCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVUb1NlcnZlcihkcmFnZ2VkSXRlbS5EYXRhLklkLCBzZXJ2ZXJUYXJnZXQsIG5ld1BhcmVudE5vZGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEcmFnZ2VkSXRlbXNPcmRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnZWRJdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0SXRlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhcmVudE5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBvbGRQYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgb2xkUGFyZW50Tm9kZUlkXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXdQYXJlbnROb2RlSWQgIT09ICckUm9vdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmxhdE1vRGF0YUxpc3QuaW5kZXhPZihkcmFnZ2VkSXRlbSkgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmxhdE1vRGF0YUxpc3QuaW5kZXhPZih0YXJnZXRJdGVtLnBhcmVudE5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFyZW50Tm9kZT8uY2hpbGRyZW4uc3BsaWNlKGksIDAsIGRyYWdnZWRJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIHNlbmQgbmV3IG1vRGF0YUxpc3QgVG8gc2VydmVyOlxuICAgICAgICAgICAgICAgICAgICAvLyAoZHJhZ2dlZEl0ZW0sIGRyYWdnZWRJdGVtLnBhcmVudE5vZGUsIGRyYWdnZWRJdGVtLnBhcmVudE5vZGUuY2hpbGRyZW4/LmluZGV4T2YoZHJhZ2dlZEl0ZW0pKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjYXNlICdpbnNpZGUnOiB7XG4gICAgICAgICAgICAgICAgICAgIG5ld1BhcmVudE5vZGUgPSB0YXJnZXRJdGVtO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zYXZlVG9TZXJ2ZXIoZHJhZ2dlZEl0ZW0uRGF0YS5JZCwgbnVsbCwgbmV3UGFyZW50Tm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX21vdmVOb2RlSW5zaWRlQW5vdGhlcihkcmFnZ2VkSXRlbSwgdGFyZ2V0SXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2V0T25lRGVwdGhMZXZlbChuZXdQYXJlbnROb2RlKTtcbiAgICAgICAgICAgIHRoaXMuc2V0T25lRGVwdGhMZXZlbChvbGRQYXJlbnROb2RlKTtcbiAgICAgICAgICAgIHRoaXMuX2NsZWFyRHJhZ0luZm8odHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJvdGVjdGVkIF9yZWJpbmRSb290KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yb290U291cmNlLm5leHQodGhpcy5fcm9vdCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9zYXZlVG9TZXJ2ZXIoZHJhZ2dlZElkOiBzdHJpbmcsIHRhcmdldDogVHJlZU5vZGVPYmogfCBudWxsLCBwYXJlbnQ6IFRyZWVOb2RlT2JqKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldElkOiBzdHJpbmcgPSB0YXJnZXQgPyB0YXJnZXQuRGF0YS5JZCA6ICcwJztcbiAgICAgICAgY29uc3QgcGFyZW50SWQ6IHN0cmluZyA9IHBhcmVudC5EYXRhLklkID09PSAnJFJvb3QnID8gJzAnIDogcGFyZW50LkRhdGEuSWQ7XG4gICAgICAgIEJhcnNhQXBpLkJ3LlJ1bkJsTWV0aG9kKCdNb3ZlVHJlZU5vZGUnLCBkcmFnZ2VkSWQsIHRhcmdldElkLCBwYXJlbnRJZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvbmZpcm1EaWFsb2coc2VsZWN0ZWROb2RlOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHNlbGVjdGVkTm9kZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRpc21pc3NEaWFsb2coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmRpc21pc3MoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29sbGFwc2VBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ2NvbGxhcHNlQWxsJyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9wZW5Nb3ZlVG9EaWFsb2coc291cmNlTm9kZSwgZGV2aWNlOiBzdHJpbmcsIGRpYWxvZ1RtcCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWc6IERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZGlhbG9nQ29uZmlnLFxuICAgICAgICAgICAgZGF0YTogeyBjb250ZXh0OiB0aGlzLmNvbnRleHQgfSxcbiAgICAgICAgICAgIGZ1bGxTY3JlZW46IGRldmljZSA9PT0gJ21vYmlsZScsXG4gICAgICAgICAgICBtaW5XaWR0aDogZGV2aWNlID09PSAnbW9iaWxlJyA/ICdhdXRvJyA6IHRoaXMuZGlhbG9nQ29uZmlnLm1pbldpZHRoLFxuICAgICAgICAgICAgbWluSGVpZ2h0OiBkZXZpY2UgPT09ICdtb2JpbGUnID8gJ2F1dG8nIDogdGhpcy5kaWFsb2dDb25maWcubWluSGVpZ2h0XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKGRpYWxvZ1RtcCwgY29uZmlnKTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKChkZXN0aW5hdGlvbk5vZGUpID0+IHtcbiAgICAgICAgICAgIGlmICghZGVzdGluYXRpb25Ob2RlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY2FuTW92ZSA9IHRoaXMuX2Nhbk1vdmUoc291cmNlTm9kZSwgZGVzdGluYXRpb25Ob2RlKTtcbiAgICAgICAgICAgIGlmIChjYW5Nb3ZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW92ZU5vZGVJbnNpZGVBbm90aGVyKHNvdXJjZU5vZGUsIGRlc3RpbmF0aW9uTm9kZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIFJlcG9ydFRyZWVCYXNlQ29tcG9uZW50Ll9zaG93Rm9yYmlkZGVuTW92ZUFsZXJ0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9yb290U291cmNlLm5leHQodGhpcy5fcm9vdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZWxlY3ROb2RlSW5Nb3ZlRGlhbG9nKGV2OiB7IG5vZGU6IFRyZWVOb2RlT2JqOyBpbmRleDogbnVtYmVyIH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dTZWxlY3RlZE5vZGUgPSBldi5ub2RlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBsb2FkQ2hpbGRyZW4obm9kZTogVHJlZU5vZGVPYmopOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnbG9hZE5vZGVDaGlsZHJlbicsIG5vZGUpO1xuICAgIH1cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVHcmlkU2V0dGluZygpOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgX3NlbGVjdE5vZGUobm9kZTogVHJlZU5vZGVPYmopOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LnNlbE5vZGUgPSBub2RlO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZE5vZGVTb3VyY2UubmV4dChub2RlKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnY2xpY2snKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnc2VsZWN0aW9uY2hhbmdlJyk7XG4gICAgfVxuXG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICBwcm90ZWN0ZWQgX2Rlc2VsZWN0Tm9kZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LnNlbE5vZGUgPSBudWxsO1xuICAgICAgICB0aGlzLl9zZWxlY3RlZE5vZGVTb3VyY2UubmV4dChudWxsKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3JhaXNlUm93Q2xpY2soaW5kZXgsIG1vKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5zZWxOb2RlID0gbW87XG4gICAgICAgIHRoaXMuY29udGV4dD8uZmlyZUV2ZW50KCdkYmxjbGljaycsIHRoaXMuY29udGV4dCwgaW5kZXgsIG1vKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXNldERyb3BBY3Rpb25Ub2RvKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyb3BBY3Rpb25Ub2RvID0geyB0YXJnZXRJZDogbnVsbCwgYWN0aW9uOiBudWxsIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0QWxsSXRlbXNQZXJDaGlsZHJlbihcbiAgICAgICAgaXRlbTogVHJlZU5vZGVPYmosXG4gICAgICAgIGxldmVsOiBudW1iZXIsXG4gICAgICAgIGFycmF5OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10sXG4gICAgICAgIHBhcmVudE5vZGU6IFRyZWVOb2RlT2JqLFxuICAgICAgICBhdXRvT3BlbkxldmVsczogbnVtYmVyXG4gICAgKTogYW55IHtcbiAgICAgICAgbGV0IG5ld0l0ZW06IGFueSA9IGl0ZW07XG4gICAgICAgIGlmIChsZXZlbCA+IDApIHtcbiAgICAgICAgICAgIGl0ZW0ucGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XG4gICAgICAgICAgICBpdGVtLmxldmVsID0gbGV2ZWw7XG4gICAgICAgICAgICBpdGVtLmlzRXhwYW5kID0gaXRlbS5pc0V4cGFuZCA/PyBhdXRvT3BlbkxldmVscyA+IGxldmVsO1xuICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gaXRlbS5wYXJlbnROb2RlLmlzRXhwYW5kO1xuICAgICAgICAgICAgYXJyYXkucHVzaChuZXdJdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0l0ZW0gPSBpdGVtO1xuICAgICAgICAgICAgbmV3SXRlbS5pc0V4cGFuZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgaXRlbS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gdGhpcy5zZXRPbmVEZXB0aExldmVsKGNoaWxkKSk7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5jaGlsZHJlbi5tYXAoKGkpID0+IHRoaXMuX2dldEFsbEl0ZW1zUGVyQ2hpbGRyZW4oaSwgbGV2ZWwgKyAxLCBhcnJheSwgbmV3SXRlbSwgYXV0b09wZW5MZXZlbHMpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIF9jaGFuZ2VEcmFnZ2VkSXRlbXNPcmRlcihcbiAgICAgICAgZHJhZ2dlZEl0ZW06IFRyZWVOb2RlT2JqLFxuICAgICAgICB0YXJnZXRJdGVtOiBUcmVlTm9kZU9iaixcbiAgICAgICAgbmV3UGFyZW50Tm9kZTogVHJlZU5vZGVPYmosXG4gICAgICAgIG9sZFBhcmVudE5vZGU6IFRyZWVOb2RlT2JqLFxuICAgICAgICBvbGRQYXJlbnROb2RlSWRcbiAgICApOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlRHJhZ2dlZEl0ZW1Gcm9tTW9EYXRhTGlzdChkcmFnZ2VkSXRlbSk7XG4gICAgICAgIGlmIChvbGRQYXJlbnROb2RlSWQgIT09ICckUm9vdCcpIHtcbiAgICAgICAgICAgIC8vIG9sZFBhcmVudE5vZGUuY2hpbGRyZW4/LnJlbW92ZShkcmFnZ2VkSXRlbSk7XG4gICAgICAgICAgICBvbGRQYXJlbnROb2RlLmNoaWxkcmVuID0gb2xkUGFyZW50Tm9kZS5jaGlsZHJlbi5maWx0ZXIoKGMpID0+IGMuRGF0YS5JZCAhPT0gZHJhZ2dlZEl0ZW0uRGF0YS5JZCk7XG5cbiAgICAgICAgICAgIG9sZFBhcmVudE5vZGUubGVhZiA9ICEob2xkUGFyZW50Tm9kZS5jaGlsZHJlbj8ubGVuZ3RoID4gMCk7XG4gICAgICAgICAgICBvbGRQYXJlbnROb2RlLkRhdGEuJEhhc0NoaWxkcmVuID0gIW9sZFBhcmVudE5vZGUubGVhZjtcbiAgICAgICAgfVxuICAgICAgICBkcmFnZ2VkSXRlbS5wYXJlbnROb2RlID0gbmV3UGFyZW50Tm9kZTtcbiAgICAgICAgdGhpcy5fc2V0TGV2ZWxGb3JEcmFnZ2VkSXRlbXMoZHJhZ2dlZEl0ZW0sIG5ld1BhcmVudE5vZGUubGV2ZWwgfHwgMCk7XG4gICAgICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5mbGF0TW9EYXRhTGlzdC5pbmRleE9mKHRhcmdldEl0ZW0pO1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZHJvcEFjdGlvblRvZG8uYWN0aW9uID09PSAnYmVmb3JlJyA/IHRhcmdldEluZGV4IDogdGhpcy5fbmV4dEluZGV4SW5Nb0RhdGFMaXN0KHRhcmdldEl0ZW0pO1xuICAgICAgICB0aGlzLl9hZGREcmFnZ2VkSXRlbXNUb01vRGF0YUxpc3QoZHJhZ2dlZEl0ZW0sIGluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hZGREcmFnZ2VkSXRlbXNUb01vRGF0YUxpc3Qobm9kZTogVHJlZU5vZGVPYmosIGkpOiBudW1iZXIge1xuICAgICAgICB0aGlzLmZsYXRNb0RhdGFMaXN0LnNwbGljZShpLCAwLCBub2RlKTtcbiAgICAgICAgbm9kZT8uY2hpbGRyZW4/LmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpKys7XG4gICAgICAgICAgICBpID0gdGhpcy5fYWRkRHJhZ2dlZEl0ZW1zVG9Nb0RhdGFMaXN0KGNoaWxkLCBpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbW92ZURyYWdnZWRJdGVtRnJvbU1vRGF0YUxpc3Qobm9kZTogVHJlZU5vZGVPYmopOiB2b2lkIHtcbiAgICAgICAgbm9kZT8uY2hpbGRyZW4/LmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVEcmFnZ2VkSXRlbUZyb21Nb0RhdGFMaXN0KGNoaWxkKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZmxhdE1vRGF0YUxpc3QucmVtb3ZlKG5vZGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX25leHRJbmRleEluTW9EYXRhTGlzdChub2RlOiBUcmVlTm9kZU9iaik6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxhdE1vRGF0YUxpc3QuaW5kZXhPZihub2RlKSArIHRoaXMuX2FsbE5lc3RlZENoaWxkZXNDb3VudChub2RlKSArIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYWxsTmVzdGVkQ2hpbGRlc0NvdW50KG5vZGU6IFRyZWVOb2RlT2JqLCBpID0gMCk6IG51bWJlciB7XG4gICAgICAgIG5vZGUuY2hpbGRyZW4/LmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpKys7XG4gICAgICAgICAgICBpZiAoY2hpbGQuY2hpbGRyZW4/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpID0gdGhpcy5fYWxsTmVzdGVkQ2hpbGRlc0NvdW50KGNoaWxkLCBpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldE5vZGVCeUlkKGlkOiBhbnkpOiBUcmVlTm9kZU9iaiB7XG4gICAgICAgIGxldCBub2RlO1xuICAgICAgICBmb3IgKGNvbnN0IG1vIG9mIHRoaXMuZmxhdE1vRGF0YUxpc3QpIHtcbiAgICAgICAgICAgIGlmIChtby5EYXRhLklkID09PSBpZCkge1xuICAgICAgICAgICAgICAgIG5vZGUgPSBtbztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRMZXZlbEZvckRyYWdnZWRJdGVtcyhub2RlLCBwYXJlbnRMZXZlbCk6IHZvaWQge1xuICAgICAgICBwYXJlbnRMZXZlbCsrO1xuICAgICAgICBub2RlLmxldmVsID0gcGFyZW50TGV2ZWw7XG4gICAgICAgIG5vZGU/LmNoaWxkcmVuPy5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2V0TGV2ZWxGb3JEcmFnZ2VkSXRlbXMoY2hpbGQsIHBhcmVudExldmVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbW92ZU5vZGVJbnNpZGVBbm90aGVyKHNvdXJjZU5vZGUsIGRlc3RpbmF0aW9uTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBvbGRQYXJlbnROb2RlID0gc291cmNlTm9kZS5wYXJlbnROb2RlO1xuICAgICAgICBjb25zdCBvbGRQYXJlbnROb2RlSWQgPSBvbGRQYXJlbnROb2RlPy5EYXRhPy5JZCB8fCAnJFJvb3QnO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEcmFnZ2VkSXRlbXNPcmRlcihzb3VyY2VOb2RlLCBkZXN0aW5hdGlvbk5vZGUsIGRlc3RpbmF0aW9uTm9kZSwgb2xkUGFyZW50Tm9kZSwgb2xkUGFyZW50Tm9kZUlkKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnbW92ZU5vZGVJbnNpZGVBbm90aGVyJywgc291cmNlTm9kZSwgZGVzdGluYXRpb25Ob2RlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jbGVhckRyYWdJbmZvKGRyb3BwZWQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAoZHJvcHBlZCkge1xuICAgICAgICAgICAgdGhpcy5fcmVzZXREcm9wQWN0aW9uVG9kbygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5kcm9wLWJlZm9yZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgoZWxlbWVudCkgPT4gdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgJ2Ryb3AtYmVmb3JlJykpO1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuZHJvcC1hZnRlcicpXG4gICAgICAgICAgICAuZm9yRWFjaCgoZWxlbWVudCkgPT4gdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgJ2Ryb3AtYWZ0ZXInKSk7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5kcm9wLWluc2lkZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgoZWxlbWVudCkgPT4gdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWxlbWVudCwgJ2Ryb3AtaW5zaWRlJykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N0b3BEcmFnZ2luZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2xlYXJEcmFnSW5mbygpO1xuICAgICAgICB0aGlzLl9yZXNldERyb3BBY3Rpb25Ub2RvKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2hvd0RyYWdJbmZvKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jbGVhckRyYWdJbmZvKCk7XG4gICAgICAgIGlmICh0aGlzLmRyb3BBY3Rpb25Ub2RvLnRhcmdldElkKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLl9nZXROb2RlQnlJZCh0aGlzLmRyb3BBY3Rpb25Ub2RvLnRhcmdldElkKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1BhcmVudElkID0gcGFyZW50Py5wYXJlbnROb2RlPy5EYXRhPy5JZCB8fCAnJFJvb3QnO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0Tm9kZUVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI25vZGUtJyArIHRoaXMuZHJvcEFjdGlvblRvZG8udGFyZ2V0SWQpO1xuICAgICAgICAgICAgaWYgKCF0YXJnZXROb2RlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2V0RHJvcEFjdGlvblRvZG8oKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5ld1BhcmVudElkID09PSAnJFJvb3QnICYmIHRoaXMuZHJvcEFjdGlvblRvZG8uYWN0aW9uICE9PSAnaW5zaWRlJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RDb250YWluZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignZmQtbGF5b3V0LXBhbmVsJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3Mocm9vdENvbnRhaW5lciwgJ2Ryb3AtaW5zaWRlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0YXJnZXROb2RlRWxlbWVudCwgJ2Ryb3AtJyArIHRoaXMuZHJvcEFjdGlvblRvZG8/LmFjdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kb0RyYWdNb3ZlKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRGcm9tUG9pbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGV2ZW50LnBvaW50ZXJQb3NpdGlvbi54LCBldmVudC5wb2ludGVyUG9zaXRpb24ueSk7XG5cbiAgICAgICAgaWYgKCFlbGVtZW50RnJvbVBvaW50KSB7XG4gICAgICAgICAgICB0aGlzLl9zdG9wRHJhZ2dpbmcoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YXJnZXROb2RlRWxlbWVudCA9IGVsZW1lbnRGcm9tUG9pbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdub2RlLWl0ZW0nKVxuICAgICAgICAgICAgPyBlbGVtZW50RnJvbVBvaW50XG4gICAgICAgICAgICA6IGVsZW1lbnRGcm9tUG9pbnQuY2xvc2VzdCgnLm5vZGUtaXRlbScpO1xuICAgICAgICBpZiAoIXRhcmdldE5vZGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9zdG9wRHJhZ2dpbmcoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRyb3BBY3Rpb25Ub2RvID0ge1xuICAgICAgICAgICAgdGFyZ2V0SWQ6IHRhcmdldE5vZGVFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1pZCcpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHRhcmdldFJlY3QgPSB0YXJnZXROb2RlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qgb25lVGhpcmQgPSB0YXJnZXRSZWN0LmhlaWdodCAvIDM7XG5cbiAgICAgICAgaWYgKGV2ZW50LnBvaW50ZXJQb3NpdGlvbi55IC0gdGFyZ2V0UmVjdC50b3AgPCBvbmVUaGlyZCkge1xuICAgICAgICAgICAgLy8gYmVmb3JlXG4gICAgICAgICAgICB0aGlzLmRyb3BBY3Rpb25Ub2RvLmFjdGlvbiA9ICdiZWZvcmUnO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnBvaW50ZXJQb3NpdGlvbi55IC0gdGFyZ2V0UmVjdC50b3AgPiAyICogb25lVGhpcmQpIHtcbiAgICAgICAgICAgIC8vIGFmdGVyXG4gICAgICAgICAgICB0aGlzLmRyb3BBY3Rpb25Ub2RvLmFjdGlvbiA9ICdhZnRlcic7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBpbnNpZGVcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblRvZG8uYWN0aW9uID0gJ2luc2lkZSc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0Tm9Ecm9wSXRlbXMoZXZlbnQuc291cmNlLmRhdGEpO1xuICAgICAgICB0aGlzLl9zZXROb0Ryb3BTdHlsZSgpO1xuICAgICAgICBjb25zdCB0YXJnZXROb2RlID0gdGhpcy5fZ2V0Tm9kZUJ5SWQodGhpcy5kcm9wQWN0aW9uVG9kby50YXJnZXRJZCk7XG4gICAgICAgIGlmICh0YXJnZXROb2RlLm5vRHJvcCkge1xuICAgICAgICAgICAgdGhpcy5fc3RvcERyYWdnaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmRyb3BBY3Rpb25Ub2RvLmFjdGlvbiA9ICdmb3JiaWQnO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3Nob3dEcmFnSW5mbygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0T25lRGVwdGhMZXZlbChub2RlKTogdm9pZCB7XG4gICAgICAgIGxldCBoYXNPbmVEZXB0aCA9IHRydWU7XG4gICAgICAgIG5vZGUuY2hpbGRyZW4/LmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hpbGQuRGF0YT8uJEhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaGFzT25lRGVwdGggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBub2RlLmhhc09uZURlcHRoTGV2ZWwgPSBoYXNPbmVEZXB0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW1vdmVOb0Ryb3BzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZsYXRNb0RhdGFMaXN0XG4gICAgICAgICAgICAuZmlsdGVyKChub2RlKSA9PiBub2RlLm5vRHJvcClcbiAgICAgICAgICAgIC5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgbm9kZS5ub0Ryb3AgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjbm9kZS0nICsgbm9kZS5EYXRhLklkKTtcbiAgICAgICAgICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3MoZWwsICduby1kcm9wJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Tm9Ecm9wSXRlbXMoZHJhZ2dlZEl0ZW1JZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5fZ2V0Tm9kZUJ5SWQoZHJhZ2dlZEl0ZW1JZCk7XG4gICAgICAgIG5vZGUubm9Ecm9wID0gdHJ1ZTtcbiAgICAgICAgbm9kZS5jaGlsZHJlbj8uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NldE5vRHJvcEl0ZW1zKGNoaWxkLkRhdGEuSWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXROb0Ryb3BTdHlsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mbGF0TW9EYXRhTGlzdFxuICAgICAgICAgICAgLmZpbHRlcigobm9kZSkgPT4gbm9kZS5ub0Ryb3ApXG4gICAgICAgICAgICAuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNub2RlLScgKyBub2RlLkRhdGEuSWQpO1xuICAgICAgICAgICAgICAgIGlmIChlbCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhlbCwgJ25vLWRyb3AnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYW5Nb3ZlKHNvdXJjZU5vZGUsIGRlc3RpbmF0aW9uTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgY2FuTW92ZSA9IHRydWU7XG4gICAgICAgIGlmIChzb3VyY2VOb2RlLkRhdGEuSWQgPT09IGRlc3RpbmF0aW9uTm9kZS5EYXRhLklkKSB7XG4gICAgICAgICAgICBjYW5Nb3ZlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzb3VyY2VOb2RlLmNoaWxkcmVuPy5mb3JlYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGNhbk1vdmUgPSB0aGlzLl9jYW5Nb3ZlKHNvdXJjZU5vZGUsIGNoaWxkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjYW5Nb3ZlO1xuICAgIH1cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIHByaXZhdGUgc3RhdGljIF9zaG93Rm9yYmlkZGVuTW92ZUFsZXJ0KCk6IHZvaWQge1xuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuRXJyb3IoJ9mG2YXbjNiq2YjYp9mG24zYryDYotuM2KrZhSDYsdinINio2Ycg2LLbjNix2LTYp9iu2Ycg2K7ZiNiv2LQg2YXZhtiq2YLZhCDaqdmG24zYry4nKTtcbiAgICB9XG59XG4iXX0=