@sapui5/sap.fe.core 1.134.0 → 1.136.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +6 -62
  4. package/src/sap/fe/core/ActionRuntime.ts +14 -65
  5. package/src/sap/fe/core/AppComponent.js +10 -2
  6. package/src/sap/fe/core/AppComponent.ts +6 -0
  7. package/src/sap/fe/core/AppStateHandler.js +9 -7
  8. package/src/sap/fe/core/AppStateHandler.ts +7 -5
  9. package/src/sap/fe/core/BaseController.js +1 -1
  10. package/src/sap/fe/core/CommonUtils.js +8 -4
  11. package/src/sap/fe/core/CommonUtils.ts +19 -4
  12. package/src/sap/fe/core/ExtensionAPI.js +7 -5
  13. package/src/sap/fe/core/ExtensionAPI.ts +5 -3
  14. package/src/sap/fe/core/IRowBindingInterface.js +1 -1
  15. package/src/sap/fe/core/InsightsFormattersExtension.js +1 -1
  16. package/src/sap/fe/core/PageController.js +36 -6
  17. package/src/sap/fe/core/PageController.ts +30 -0
  18. package/src/sap/fe/core/ResourceModel.js +1 -1
  19. package/src/sap/fe/core/ReuseComponent.js +1 -1
  20. package/src/sap/fe/core/TemplateComponent.js +1 -1
  21. package/src/sap/fe/core/TemplateModel.js +1 -1
  22. package/src/sap/fe/core/UIProvider.js +2 -2
  23. package/src/sap/fe/core/UIProvider.ts +3 -32
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +34 -16
  25. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +39 -18
  26. package/src/sap/fe/core/buildingBlocks/IBuildingBlockOwnerComponent.js +1 -1
  27. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
  28. package/src/sap/fe/core/buildingBlocks/templating/AttributeModel.js +1 -1
  29. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockFormatter.js +1 -1
  30. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +2 -2
  31. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.ts +1 -0
  32. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +7 -7
  33. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +9 -9
  34. package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +1 -1
  35. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +5 -3
  36. package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +3 -1
  37. package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
  38. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +15 -15
  39. package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +19 -19
  40. package/src/sap/fe/core/controllerextensions/ContextSharing.js +1 -1
  41. package/src/sap/fe/core/controllerextensions/EditFlow.js +74 -93
  42. package/src/sap/fe/core/controllerextensions/EditFlow.ts +89 -108
  43. package/src/sap/fe/core/controllerextensions/Feedback.js +1 -1
  44. package/src/sap/fe/core/controllerextensions/InlineEditFlow.js +355 -0
  45. package/src/sap/fe/core/controllerextensions/InlineEditFlow.ts +387 -0
  46. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +1 -1
  47. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
  48. package/src/sap/fe/core/controllerextensions/InternalRouting.js +36 -11
  49. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +36 -10
  50. package/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
  51. package/src/sap/fe/core/controllerextensions/MessageHandler.js +36 -6
  52. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +41 -1
  53. package/src/sap/fe/core/controllerextensions/PageReady.js +5 -2
  54. package/src/sap/fe/core/controllerextensions/PageReady.ts +3 -0
  55. package/src/sap/fe/core/controllerextensions/Paginator.js +1 -1
  56. package/src/sap/fe/core/controllerextensions/Placeholder.js +1 -1
  57. package/src/sap/fe/core/controllerextensions/Recommendations.js +1 -1
  58. package/src/sap/fe/core/controllerextensions/Routing.js +9 -9
  59. package/src/sap/fe/core/controllerextensions/Routing.ts +4 -4
  60. package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
  61. package/src/sap/fe/core/controllerextensions/Share.js +1 -1
  62. package/src/sap/fe/core/controllerextensions/SideEffects.js +13 -6
  63. package/src/sap/fe/core/controllerextensions/SideEffects.ts +13 -6
  64. package/src/sap/fe/core/controllerextensions/Telemetry.js +1 -1
  65. package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
  66. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js +14 -11
  67. package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.ts +20 -14
  68. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +4 -12
  69. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +2 -10
  70. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +12 -2
  71. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +12 -0
  72. package/src/sap/fe/core/controllerextensions/dialog/ODataStrictDialog.js +1 -1
  73. package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +1 -1
  74. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +111 -89
  75. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +140 -105
  76. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +137 -79
  77. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +133 -120
  78. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +3 -3
  79. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +4 -1
  80. package/src/sap/fe/core/controllerextensions/editFlow/editFlowConstants.js +1 -1
  81. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.js +26 -17
  82. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataOperation.ts +32 -23
  83. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataStrictHandling.js +3 -3
  84. package/src/sap/fe/core/controllerextensions/editFlow/operations/ODataStrictHandling.ts +1 -1
  85. package/src/sap/fe/core/controllerextensions/editFlow/operations/Operation.js +103 -23
  86. package/src/sap/fe/core/controllerextensions/editFlow/operations/Operation.ts +144 -53
  87. package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationMessage.js +29 -11
  88. package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationMessage.ts +39 -15
  89. package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationParameters.js +24 -22
  90. package/src/sap/fe/core/controllerextensions/editFlow/operations/OperationParameters.ts +28 -26
  91. package/src/sap/fe/core/controllerextensions/editFlow/operations/actionHelper.js +1 -1
  92. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -572
  93. package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +25 -873
  94. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
  95. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +98 -56
  96. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +102 -80
  97. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +5 -3
  98. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +7 -4
  99. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js +1 -1
  100. package/src/sap/fe/core/controllerextensions/recommendations/Telemetry.js +1 -1
  101. package/src/sap/fe/core/controllerextensions/routing/ContextPathHelper.js +1 -1
  102. package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js +1 -1
  103. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
  104. package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.js +1 -1
  105. package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributorMixin.js +1 -1
  106. package/src/sap/fe/core/controls/Any.js +1 -1
  107. package/src/sap/fe/core/controls/AnyElement.js +1 -1
  108. package/src/sap/fe/core/controls/CommandExecution.js +1 -1
  109. package/src/sap/fe/core/controls/ComponentLoader.js +1 -1
  110. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.js +3 -3
  111. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.tsx +8 -1
  112. package/src/sap/fe/core/controls/DataWatcher.js +4 -3
  113. package/src/sap/fe/core/controls/DataWatcher.tsx +4 -1
  114. package/src/sap/fe/core/controls/FormElementWrapper.js +1 -1
  115. package/src/sap/fe/core/controls/HideFormGroupAutomatically.js +10 -4
  116. package/src/sap/fe/core/controls/HideFormGroupAutomatically.ts +13 -2
  117. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -1
  118. package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.js +1 -1
  119. package/src/sap/fe/core/controls/inlineEditFlow/BeforeActionDialog.js +68 -0
  120. package/src/sap/fe/core/controls/inlineEditFlow/BeforeActionDialog.tsx +52 -0
  121. package/src/sap/fe/core/controls/inlineEditFlow/BeforeNavigationDialog.js +144 -0
  122. package/src/sap/fe/core/controls/inlineEditFlow/BeforeNavigationDialog.tsx +128 -0
  123. package/src/sap/fe/core/controls/inlineEditFlow/DraftExistsDialog.js +53 -0
  124. package/src/sap/fe/core/controls/inlineEditFlow/DraftExistsDialog.tsx +39 -0
  125. package/src/sap/fe/core/converters/ConverterContext.js +1 -1
  126. package/src/sap/fe/core/converters/ManifestSettings.js +3 -2
  127. package/src/sap/fe/core/converters/ManifestSettings.ts +42 -20
  128. package/src/sap/fe/core/converters/ManifestWrapper.js +8 -2
  129. package/src/sap/fe/core/converters/ManifestWrapper.ts +8 -0
  130. package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
  131. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  132. package/src/sap/fe/core/converters/annotations/DataField.js +2 -2
  133. package/src/sap/fe/core/converters/annotations/DataField.ts +2 -1
  134. package/src/sap/fe/core/converters/controls/Common/Action.js +55 -6
  135. package/src/sap/fe/core/converters/controls/Common/Action.ts +59 -3
  136. package/src/sap/fe/core/converters/controls/Common/Chart.js +45 -6
  137. package/src/sap/fe/core/converters/controls/Common/Chart.ts +60 -9
  138. package/src/sap/fe/core/converters/controls/Common/Criticality.js +1 -1
  139. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
  140. package/src/sap/fe/core/converters/controls/Common/Form.js +21 -5
  141. package/src/sap/fe/core/converters/controls/Common/Form.ts +25 -5
  142. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  143. package/src/sap/fe/core/converters/controls/Common/Table.js +89 -1686
  144. package/src/sap/fe/core/converters/controls/Common/Table.ts +254 -2513
  145. package/src/sap/fe/core/converters/controls/Common/table/Columns.js +1701 -0
  146. package/src/sap/fe/core/converters/controls/Common/table/Columns.ts +2377 -0
  147. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +64 -15
  148. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +76 -14
  149. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +7 -36
  150. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +8 -46
  151. package/src/sap/fe/core/converters/controls/ListReport/FilterField.js +106 -0
  152. package/src/sap/fe/core/converters/controls/ListReport/FilterField.ts +129 -0
  153. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +10 -5
  154. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +8 -3
  155. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +1 -1
  156. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +5 -3
  157. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +11 -4
  158. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +7 -2
  159. package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
  160. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
  161. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +1 -1
  162. package/src/sap/fe/core/converters/helpers/ID.js +1 -1
  163. package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +1 -1
  164. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  165. package/src/sap/fe/core/converters/helpers/Key.js +1 -1
  166. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  167. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  168. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +30 -8
  169. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +40 -16
  170. package/src/sap/fe/core/converters/templates/ListReportConverter.js +5 -3
  171. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +5 -1
  172. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
  173. package/src/sap/fe/core/designtime/AnnotationBasedChanges.js +184 -0
  174. package/src/sap/fe/core/designtime/AnnotationBasedChanges.ts +240 -0
  175. package/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  176. package/src/sap/fe/core/designtime/messagebundle.properties +11 -0
  177. package/src/sap/fe/core/designtime/messagebundle_ar.properties +7 -0
  178. package/src/sap/fe/core/designtime/messagebundle_bg.properties +7 -0
  179. package/src/sap/fe/core/designtime/messagebundle_ca.properties +7 -0
  180. package/src/sap/fe/core/designtime/messagebundle_cnr.properties +7 -0
  181. package/src/sap/fe/core/designtime/messagebundle_cs.properties +7 -0
  182. package/src/sap/fe/core/designtime/messagebundle_cy.properties +7 -0
  183. package/src/sap/fe/core/designtime/messagebundle_da.properties +7 -0
  184. package/src/sap/fe/core/designtime/messagebundle_de.properties +7 -0
  185. package/src/sap/fe/core/designtime/messagebundle_el.properties +7 -0
  186. package/src/sap/fe/core/designtime/messagebundle_en.properties +7 -0
  187. package/src/sap/fe/core/designtime/messagebundle_en_GB.properties +7 -0
  188. package/src/sap/fe/core/designtime/messagebundle_es.properties +7 -0
  189. package/src/sap/fe/core/designtime/messagebundle_es_MX.properties +7 -0
  190. package/src/sap/fe/core/designtime/messagebundle_et.properties +7 -0
  191. package/src/sap/fe/core/designtime/messagebundle_fi.properties +7 -0
  192. package/src/sap/fe/core/designtime/messagebundle_fr.properties +7 -0
  193. package/src/sap/fe/core/designtime/messagebundle_fr_CA.properties +7 -0
  194. package/src/sap/fe/core/designtime/messagebundle_hi.properties +7 -0
  195. package/src/sap/fe/core/designtime/messagebundle_hr.properties +7 -0
  196. package/src/sap/fe/core/designtime/messagebundle_hu.properties +7 -0
  197. package/src/sap/fe/core/designtime/messagebundle_id.properties +7 -0
  198. package/src/sap/fe/core/designtime/messagebundle_it.properties +7 -0
  199. package/src/sap/fe/core/designtime/messagebundle_iw.properties +7 -0
  200. package/src/sap/fe/core/designtime/messagebundle_ja.properties +7 -0
  201. package/src/sap/fe/core/designtime/messagebundle_kk.properties +7 -0
  202. package/src/sap/fe/core/designtime/messagebundle_ko.properties +7 -0
  203. package/src/sap/fe/core/designtime/messagebundle_lt.properties +7 -0
  204. package/src/sap/fe/core/designtime/messagebundle_lv.properties +7 -0
  205. package/src/sap/fe/core/designtime/messagebundle_mk.properties +7 -0
  206. package/src/sap/fe/core/designtime/messagebundle_ms.properties +7 -0
  207. package/src/sap/fe/core/designtime/messagebundle_nl.properties +7 -0
  208. package/src/sap/fe/core/designtime/messagebundle_no.properties +7 -0
  209. package/src/sap/fe/core/designtime/messagebundle_pl.properties +7 -0
  210. package/src/sap/fe/core/designtime/messagebundle_pt.properties +7 -0
  211. package/src/sap/fe/core/designtime/messagebundle_pt_PT.properties +7 -0
  212. package/src/sap/fe/core/designtime/messagebundle_ro.properties +7 -0
  213. package/src/sap/fe/core/designtime/messagebundle_ru.properties +7 -0
  214. package/src/sap/fe/core/designtime/messagebundle_sh.properties +7 -0
  215. package/src/sap/fe/core/designtime/messagebundle_sk.properties +7 -0
  216. package/src/sap/fe/core/designtime/messagebundle_sl.properties +7 -0
  217. package/src/sap/fe/core/designtime/messagebundle_sr.properties +7 -0
  218. package/src/sap/fe/core/designtime/messagebundle_sv.properties +7 -0
  219. package/src/sap/fe/core/designtime/messagebundle_th.properties +7 -0
  220. package/src/sap/fe/core/designtime/messagebundle_tr.properties +7 -0
  221. package/src/sap/fe/core/designtime/messagebundle_uk.properties +7 -0
  222. package/src/sap/fe/core/designtime/messagebundle_vi.properties +7 -0
  223. package/src/sap/fe/core/designtime/messagebundle_zh_CN.properties +7 -0
  224. package/src/sap/fe/core/designtime/messagebundle_zh_TW.properties +7 -0
  225. package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
  226. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  227. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  228. package/src/sap/fe/core/formatters/FiscalFormat.js +1 -1
  229. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  230. package/src/sap/fe/core/formatters/StandardFormatter.js +1 -1
  231. package/src/sap/fe/core/formatters/ValueFormatter.js +27 -12
  232. package/src/sap/fe/core/formatters/ValueFormatter.ts +25 -11
  233. package/src/sap/fe/core/fpm/Component.js +1 -1
  234. package/src/sap/fe/core/fpm/manifest.json +1 -1
  235. package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.js +1 -1
  236. package/src/sap/fe/core/helpers/AppStartupHelper.js +25 -4
  237. package/src/sap/fe/core/helpers/AppStartupHelper.ts +28 -2
  238. package/src/sap/fe/core/helpers/BindingHelper.js +4 -3
  239. package/src/sap/fe/core/helpers/BindingHelper.ts +2 -1
  240. package/src/sap/fe/core/helpers/BindingToolkitEvaluator.js +1 -1
  241. package/src/sap/fe/core/helpers/DeleteHelper.js +6 -12
  242. package/src/sap/fe/core/helpers/DeleteHelper.ts +4 -9
  243. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +1 -1
  244. package/src/sap/fe/core/helpers/EditState.js +1 -1
  245. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +1 -1
  246. package/src/sap/fe/core/helpers/FPMHelper.js +9 -3
  247. package/src/sap/fe/core/helpers/FPMHelper.ts +13 -1
  248. package/src/sap/fe/core/helpers/HTTP503Handler.js +1 -1
  249. package/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
  250. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -1
  251. package/src/sap/fe/core/helpers/LoaderUtils.js +1 -1
  252. package/src/sap/fe/core/helpers/ManifestHelper.js +1 -1
  253. package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
  254. package/src/sap/fe/core/helpers/MetaModelFunction.js +1 -1
  255. package/src/sap/fe/core/helpers/MetaPath.js +1 -1
  256. package/src/sap/fe/core/helpers/ModelHelper.js +15 -5
  257. package/src/sap/fe/core/helpers/ModelHelper.ts +15 -4
  258. package/src/sap/fe/core/helpers/PasteHelper.js +39 -40
  259. package/src/sap/fe/core/helpers/PasteHelper.ts +49 -51
  260. package/src/sap/fe/core/helpers/PromiseKeeper.js +1 -1
  261. package/src/sap/fe/core/helpers/RecommendationHelper.js +1 -1
  262. package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
  263. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  264. package/src/sap/fe/core/helpers/SizeHelper.js +1 -1
  265. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  266. package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +1 -1
  267. package/src/sap/fe/core/helpers/Synchronization.js +1 -1
  268. package/src/sap/fe/core/helpers/TitleHelper.js +1 -1
  269. package/src/sap/fe/core/helpers/ToES6Promise.js +1 -1
  270. package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
  271. package/src/sap/fe/core/helpers/WebSocket.js +11 -2
  272. package/src/sap/fe/core/helpers/WebSocket.ts +8 -0
  273. package/src/sap/fe/core/library.js +16 -4
  274. package/src/sap/fe/core/library.support.js +1 -1
  275. package/src/sap/fe/core/library.ts +1 -0
  276. package/src/sap/fe/core/manifestMerger/AddNewPage.js +1 -1
  277. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  278. package/src/sap/fe/core/messagebundle.properties +41 -2
  279. package/src/sap/fe/core/messagebundle_ar.properties +25 -4
  280. package/src/sap/fe/core/messagebundle_bg.properties +25 -4
  281. package/src/sap/fe/core/messagebundle_ca.properties +24 -3
  282. package/src/sap/fe/core/messagebundle_cnr.properties +25 -4
  283. package/src/sap/fe/core/messagebundle_cs.properties +23 -2
  284. package/src/sap/fe/core/messagebundle_cy.properties +24 -3
  285. package/src/sap/fe/core/messagebundle_da.properties +25 -4
  286. package/src/sap/fe/core/messagebundle_de.properties +28 -7
  287. package/src/sap/fe/core/messagebundle_el.properties +23 -2
  288. package/src/sap/fe/core/messagebundle_en.properties +25 -4
  289. package/src/sap/fe/core/messagebundle_en_GB.properties +25 -4
  290. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +26 -5
  291. package/src/sap/fe/core/messagebundle_es.properties +23 -2
  292. package/src/sap/fe/core/messagebundle_es_MX.properties +23 -2
  293. package/src/sap/fe/core/messagebundle_et.properties +23 -2
  294. package/src/sap/fe/core/messagebundle_fi.properties +23 -2
  295. package/src/sap/fe/core/messagebundle_fr.properties +26 -5
  296. package/src/sap/fe/core/messagebundle_fr_CA.properties +23 -2
  297. package/src/sap/fe/core/messagebundle_hi.properties +24 -3
  298. package/src/sap/fe/core/messagebundle_hr.properties +27 -6
  299. package/src/sap/fe/core/messagebundle_hu.properties +23 -2
  300. package/src/sap/fe/core/messagebundle_id.properties +23 -2
  301. package/src/sap/fe/core/messagebundle_it.properties +25 -4
  302. package/src/sap/fe/core/messagebundle_iw.properties +24 -3
  303. package/src/sap/fe/core/messagebundle_ja.properties +24 -3
  304. package/src/sap/fe/core/messagebundle_kk.properties +23 -2
  305. package/src/sap/fe/core/messagebundle_ko.properties +25 -4
  306. package/src/sap/fe/core/messagebundle_lt.properties +23 -2
  307. package/src/sap/fe/core/messagebundle_lv.properties +25 -4
  308. package/src/sap/fe/core/messagebundle_mk.properties +23 -2
  309. package/src/sap/fe/core/messagebundle_ms.properties +24 -3
  310. package/src/sap/fe/core/messagebundle_nl.properties +23 -2
  311. package/src/sap/fe/core/messagebundle_no.properties +23 -2
  312. package/src/sap/fe/core/messagebundle_pl.properties +25 -4
  313. package/src/sap/fe/core/messagebundle_pt.properties +25 -4
  314. package/src/sap/fe/core/messagebundle_pt_PT.properties +24 -3
  315. package/src/sap/fe/core/messagebundle_ro.properties +25 -4
  316. package/src/sap/fe/core/messagebundle_ru.properties +24 -3
  317. package/src/sap/fe/core/messagebundle_sh.properties +25 -4
  318. package/src/sap/fe/core/messagebundle_sk.properties +24 -3
  319. package/src/sap/fe/core/messagebundle_sl.properties +28 -7
  320. package/src/sap/fe/core/messagebundle_sr.properties +25 -4
  321. package/src/sap/fe/core/messagebundle_sv.properties +23 -2
  322. package/src/sap/fe/core/messagebundle_th.properties +25 -4
  323. package/src/sap/fe/core/messagebundle_tr.properties +23 -2
  324. package/src/sap/fe/core/messagebundle_uk.properties +25 -4
  325. package/src/sap/fe/core/messagebundle_vi.properties +25 -4
  326. package/src/sap/fe/core/messagebundle_zh_CN.properties +26 -5
  327. package/src/sap/fe/core/messagebundle_zh_TW.properties +24 -3
  328. package/src/sap/fe/core/rootView/Fcl.controller.js +11 -7
  329. package/src/sap/fe/core/rootView/Fcl.controller.ts +16 -7
  330. package/src/sap/fe/core/rootView/NavContainer.controller.js +3 -3
  331. package/src/sap/fe/core/rootView/NavContainer.controller.ts +1 -1
  332. package/src/sap/fe/core/rootView/RootViewBaseController.js +87 -35
  333. package/src/sap/fe/core/rootView/RootViewBaseController.ts +113 -57
  334. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -1
  335. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +1 -1
  336. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js +29 -13
  337. package/src/sap/fe/core/services/CollaborationManagerServiceFactory.ts +27 -13
  338. package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js +1 -1
  339. package/src/sap/fe/core/services/ContextSharingServiceFactory.js +1 -1
  340. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +8 -2
  341. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +6 -0
  342. package/src/sap/fe/core/services/InlineEditServiceFactory.js +11 -5
  343. package/src/sap/fe/core/services/InlineEditServiceFactory.ts +9 -3
  344. package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
  345. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
  346. package/src/sap/fe/core/services/RoutingServiceFactory.js +14 -7
  347. package/src/sap/fe/core/services/RoutingServiceFactory.ts +11 -5
  348. package/src/sap/fe/core/services/ShellServicesFactory.js +5 -4
  349. package/src/sap/fe/core/services/ShellServicesFactory.ts +5 -3
  350. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +28 -4
  351. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +32 -3
  352. package/src/sap/fe/core/services/TelemetryServiceFactory.js +1 -1
  353. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
  354. package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.js +1 -1
  355. package/src/sap/fe/core/services/collaborativeDraftServiceFactory.js +1 -1
  356. package/src/sap/fe/core/services/valueHelpService/HistoryOptOutProvider.js +1 -1
  357. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +1 -1
  358. package/src/sap/fe/core/services/view/TemplatingErrorPage.view.xml +1 -1
  359. package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
  360. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
  361. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
  362. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  363. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  364. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +1 -1
  365. package/src/sap/fe/core/templating/ActionHelper.js +1 -1
  366. package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
  367. package/src/sap/fe/core/templating/CriticalityFormatters.js +1 -1
  368. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
  369. package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
  370. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  371. package/src/sap/fe/core/templating/EntitySetHelper.js +199 -59
  372. package/src/sap/fe/core/templating/EntitySetHelper.ts +221 -61
  373. package/src/sap/fe/core/templating/EntityTypeHelper.js +1 -1
  374. package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
  375. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  376. package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
  377. package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  378. package/src/sap/fe/core/templating/SemanticObjectHelper.js +8 -10
  379. package/src/sap/fe/core/templating/SemanticObjectHelper.ts +11 -10
  380. package/src/sap/fe/core/templating/UIFormatters.js +5 -2
  381. package/src/sap/fe/core/templating/UIFormatters.ts +3 -0
  382. package/src/sap/fe/core/type/Date.js +1 -1
  383. package/src/sap/fe/core/type/DateTimeWithTimezone.js +1 -1
  384. package/src/sap/fe/core/type/EDM.js +1 -1
  385. package/src/sap/fe/core/type/Email.js +1 -1
  386. package/src/sap/fe/core/type/FiscalDate.js +1 -1
  387. package/src/sap/fe/core/type/InputMask.js +1 -1
  388. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.js +0 -288
  389. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.tsx +0 -208
  390. package/src/sap/fe/core/controllerextensions/editFlow/ODataOperation.js +0 -404
  391. package/src/sap/fe/core/controllerextensions/editFlow/ODataOperation.ts +0 -502
  392. package/src/sap/fe/core/designtime/TextArrangementChangeAction.js +0 -100
  393. package/src/sap/fe/core/designtime/TextArrangementChangeAction.ts +0 -134
  394. package/src/sap/fe/core/operationsHelper.js +0 -192
  395. package/src/sap/fe/core/operationsHelper.ts +0 -277
@@ -2,7 +2,7 @@ import type ResourceBundle from "sap/base/i18n/ResourceBundle";
2
2
  import type ResourceModel from "sap/fe/core/ResourceModel";
3
3
  import type { CustomMessage, ShowMessageDialogParameter } from "sap/fe/core/controllerextensions/MessageHandler";
4
4
  import { getResourceModel } from "sap/fe/core/helpers/ResourceModelHelper";
5
- import type FieldAPI from "sap/fe/macros/field/FieldAPI";
5
+ import type Field from "sap/fe/macros/Field";
6
6
  import type TableAPI from "sap/fe/macros/table/TableAPI";
7
7
  import type { TableColumnProperties } from "sap/fe/macros/table/TableAPI";
8
8
  import type TableDelegate from "sap/fe/macros/table/delegates/TableDelegate";
@@ -43,7 +43,7 @@ import type UITable from "sap/ui/table/Table";
43
43
  import type ObjectPageLayout from "sap/uxap/ObjectPageLayout";
44
44
  import type ObjectPageSection from "sap/uxap/ObjectPageSection";
45
45
  import type ObjectPageSubSection from "sap/uxap/ObjectPageSubSection";
46
- import type { AnnotationTableColumn, CustomBasedTableColumn, TableColumn } from "../../converters/controls/Common/Table";
46
+ import type { AnnotationTableColumn, CustomBasedTableColumn, TableColumn } from "../../converters/controls/Common/table/Columns";
47
47
 
48
48
  const ButtonType = MLib.ButtonType;
49
49
  let aResolveFunctions: ((param1: void | Dialog) => void)[] = [];
@@ -95,6 +95,7 @@ export type MessageUIDecisions = {
95
95
  };
96
96
 
97
97
  export type messageHandlingType = {
98
+ isNonTechnicalMessage: (message: Message) => boolean;
98
99
  getMessages: (bBoundMessages?: boolean, bTransitionOnly?: boolean, sPathToBeRemoved?: string) => Message[];
99
100
  hasTransitionErrorsOrWarnings(): boolean;
100
101
  getUIDecisions: (
@@ -565,6 +566,7 @@ function executeOnBeforeShowMessages(
565
566
  * @param onBeforeShowMessage Callback to influence UI decision before creating final UI decision.
566
567
  * @param viewType View type, list report or object page.
567
568
  * @param showStateMessages Should state messages be shown.
569
+ * @param messageDialogParameter
568
570
  * @returns UI decisions used to show messages.
569
571
  */
570
572
  function getUIDecisions(
@@ -1381,7 +1383,7 @@ function getMessageSubtitle(
1381
1383
  // set Row subtitle text
1382
1384
  if (targetedControl) {
1383
1385
  // The UI error is on the first column, we then get the control input as the row indicator:
1384
- rowSubtitleValue = (targetedControl as FieldAPI).getValue();
1386
+ rowSubtitleValue = (targetedControl as Field).getValue();
1385
1387
  } else if (tableRowContext && tableColProperty && tableColProperty.length === 1) {
1386
1388
  // Getting the column label and its value of a single row
1387
1389
  rowSubtitleValue = (table.getParent() as TableAPI)?.getTableColValue(
@@ -1982,7 +1984,8 @@ const messageHandling: messageHandlingType = {
1982
1984
  closeMessageBox: closeMessageBox,
1983
1985
  removeTransistionMessageForContext: removeTransistionMessageForContext,
1984
1986
  checkIfAllAreSameSuccessMessages: checkIfAllAreSameSuccessMessages,
1985
- addGenericSuccessMessage: addGenericSuccessMessage
1987
+ addGenericSuccessMessage: addGenericSuccessMessage,
1988
+ isNonTechnicalMessage: isNonTechnicalMessage
1986
1989
  };
1987
1990
 
1988
1991
  export default messageHandling;
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/macros/table/Utils"], function (Log, Utils) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define([], function () {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/core/converters/MetaModelConverter", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/SemanticKeyHelper", "sap/ui/model/Filter", "sap/ui/model/FilterOperator"], function (MetaModelConverter, ModelHelper, SemanticKeyHelper, Filter, FilterOperator) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define([], function () {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/helpers/Synchronization", "sap/ui/base/Object", "sap/ui/core/Element", "sap/ui/core/Lib"], function (Log, ClassSupport, Synchronization, BaseObject, Element, Library) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define([], function () {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/core/controllerextensions/viewState/IViewStateContributor", "sap/ui/core/Component"], function (IViewStateContributor, Component) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/ui/core/Element"], function (Element) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/ui/core/Element"], function (Element) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/ui/core/CommandExecution", "sap/ui/core/Component", "sap/ui/core/Element", "sap/ui/core/Shortcut"], function (Log, ClassSupport, CoreCommandExecution, Component, Element, Shortcut) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/core/Component", "sap/ui/core/Control"], function (ClassSupport, Component, Control) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/helpers/ResourceModelHelper", "sap/fe/core/helpers/StableIdHelper", "sap/m/Button", "sap/m/CustomListItem", "sap/m/Dialog", "sap/m/Label", "sap/m/List", "sap/m/Text", "sap/m/VBox", "sap/ui/base/ManagedObject", "sap/ui/core/CustomData", "sap/ui/core/library", "../../CommonUtils", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/jsxs", "sap/fe/base/jsx-runtime/Fragment"], function (ClassSupport, ResourceModelHelper, StableIdHelper, Button, CustomListItem, Dialog, Label, List, Text, VBox, ManagedObject, CustomData, library, CommonUtils, _jsx, _jsxs, _Fragment) {
6
6
  "use strict";
@@ -126,7 +126,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/helpers/ResourceModelHel
126
126
  */;
127
127
  _proto.getCancelButton = function getCancelButton() {
128
128
  return _jsx(Button, {
129
- text: this.dataLossResourceModel.getText("C_COMMON_DIALOG_CANCEL"),
129
+ text: this.isHiddenDraft ? this.dataLossResourceModel.getText("C_COMMON_SAPFE_CLOSE") : this.dataLossResourceModel.getText("C_COMMON_DIALOG_CANCEL"),
130
130
  press: () => this.handleDataLossCancel()
131
131
  });
132
132
  }
@@ -250,4 +250,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/helpers/ResourceModelHel
250
250
  _exports = DraftDataLossDialog;
251
251
  return _exports;
252
252
  }, false);
253
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcmFmdERhdGFMb3NzRGlhbG9nIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJkZWZpbmVSZWZlcmVuY2UiLCJfZGVjMyIsIl9jbGFzcyIsIl9jbGFzczIiLCJfTWFuYWdlZE9iamVjdCIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsInNoYWxsRm9yY2VEcmFmdFNhdmVPckRpc2NhcmQiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwib3BlbiIsImNvbnRyb2xsZXIiLCJ2aWV3IiwiZ2V0VmlldyIsImFwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiaXNIaWRkZW5EcmFmdCIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiSGlkZGVuRHJhZnQiLCJlbmFibGVkIiwidmlld0NvbnRleHQiLCJnZXRCaW5kaW5nQ29udGV4dCIsImlzUm9vdENvbnRleHROZXciLCJlZGl0RmxvdyIsImRhdGFMb3NzUmVzb3VyY2VNb2RlbCIsImdldFJlc291cmNlTW9kZWwiLCJjcmVhdGVDb250ZW50IiwiZGF0YUxvc3NDb25maXJtIiwiaGFuZGxlRGF0YUxvc3NPayIsIm9wdGlvbnNMaXN0IiwiY3VycmVudCIsImFkZEV2ZW50RGVsZWdhdGUiLCJvbmtleXVwIiwiZSIsImtleSIsImFkZERlcGVuZGVudCIsImRhdGFMb3NzRGlhbG9nIiwic2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5IiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcm9taXNlUmVzb2x2ZSIsImNsb3NlIiwiZGVzdHJveSIsImdldFNlbGVjdGVkS2V5IiwiaGFuZGxlRGF0YUxvc3NDYW5jZWwiLCJmaXJzdExpc3RJdGVtT3B0aW9uIiwiZ2V0SXRlbXMiLCJzZXRTZWxlY3RlZEl0ZW0iLCJmb2N1cyIsImdldFNlbGVjdGVkSXRlbSIsImRhdGEiLCJnZXRDb25maXJtQnV0dG9uIiwiX2pzeCIsIkJ1dHRvbiIsInRleHQiLCJnZXRUZXh0IiwidHlwZSIsInByZXNzIiwiZ2V0Q2FuY2VsQnV0dG9uIiwiaXNTYXZlIiwiY3JlYXRlT3JTYXZlVGV4dCIsImNyZWF0ZU9yU2F2ZUxhYmVsIiwiaXRlbXMiLCJwdXNoIiwiQ3VzdG9tTGlzdEl0ZW0iLCJjdXN0b21EYXRhIiwiQ3VzdG9tRGF0YSIsInZhbHVlIiwiY2hpbGRyZW4iLCJfanN4cyIsIlZCb3giLCJjbGFzcyIsIkxhYmVsIiwiZGVzaWduIiwiVGV4dCIsImhhc0FjdGl2ZUVudGl0eSIsImdldE9iamVjdCIsIkhhc0FjdGl2ZUVudGl0eSIsImRlc2NyaXB0aW9uIiwiRGlhbG9nIiwiaWQiLCJnZW5lcmF0ZSIsImdldElkIiwidGl0bGUiLCJzdGF0ZSIsIlZhbHVlU3RhdGUiLCJXYXJuaW5nIiwiY29udGVudFdpZHRoIiwicmVmIiwiY29udGVudCIsIl9GcmFnbWVudCIsIkxpc3QiLCJtb2RlIiwic2hvd1NlcGFyYXRvcnMiLCJpbmNsdWRlSXRlbUluU2VsZWN0aW9uIiwiYmFja2dyb3VuZERlc2lnbiIsImJ1dHRvbnMiLCJNYW5hZ2VkT2JqZWN0IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEcmFmdERhdGFMb3NzRGlhbG9nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVSZWZlcmVuY2UsIGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBSZWYgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvanN4LXJ1bnRpbWUvanN4XCI7XG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1vZGVsIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvUmVzb3VyY2VNb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgQ3VzdG9tTGlzdEl0ZW0gZnJvbSBcInNhcC9tL0N1c3RvbUxpc3RJdGVtXCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwic2FwL20vTGFiZWxcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJzYXAvbS9MaXN0XCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwic2FwL20vVGV4dFwiO1xuaW1wb3J0IFZCb3ggZnJvbSBcInNhcC9tL1ZCb3hcIjtcbmltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgQ3VzdG9tRGF0YSBmcm9tIFwic2FwL3VpL2NvcmUvQ3VzdG9tRGF0YVwiO1xuaW1wb3J0IHR5cGUgVUk1RWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHsgVmFsdWVTdGF0ZSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwiLi4vLi4vQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCIuLi8uLi9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgUmVzb3VyY2VNb2RlbCBmcm9tIFwiLi4vLi4vUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBIaWRkZW5EcmFmdCB9IGZyb20gXCIuLi8uLi9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuRGF0YUxvc3NPckRyYWZ0RGlzY2FyZC5EcmFmdERhdGFMb3NzRGlhbG9nXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcmFmdERhdGFMb3NzRGlhbG9nIGV4dGVuZHMgTWFuYWdlZE9iamVjdCB7XG5cdEBkZWZpbmVSZWZlcmVuY2UoKVxuXHRkYXRhTG9zc0RpYWxvZyE6IFJlZjxEaWFsb2c+O1xuXG5cdEBkZWZpbmVSZWZlcmVuY2UoKVxuXHRvcHRpb25zTGlzdCE6IFJlZjxMaXN0PjtcblxuXHRwcml2YXRlIHZpZXchOiBWaWV3O1xuXG5cdHByaXZhdGUgZGF0YUxvc3NSZXNvdXJjZU1vZGVsITogUmVzb3VyY2VNb2RlbDtcblxuXHQvKipcblx0ICogUmVzb2x2ZXMgdGhlIHByb21pc2Ugd2l0aCB0aGUgc2VsZWN0ZWQgZGlhbG9nIGxpc3Qgb3B0aW9uXG5cdCAqL1xuXHRwcml2YXRlIHByb21pc2VSZXNvbHZlITogRnVuY3Rpb247XG5cblx0cHJpdmF0ZSBzaGFsbEZvcmNlRHJhZnRTYXZlT3JEaXNjYXJkID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBpc1Jvb3RDb250ZXh0TmV3ITogYm9vbGVhbjtcblxuXHRwcml2YXRlIGlzSGlkZGVuRHJhZnQhOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBPcGVucyB0aGUgZGF0YSBsb3NzIGRpYWxvZy5cblx0ICogQHBhcmFtIGNvbnRyb2xsZXJcblx0ICovXG5cdHB1YmxpYyBhc3luYyBvcGVuKGNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyKTogUHJvbWlzZTx1bmtub3duPiB7XG5cdFx0dGhpcy52aWV3ID0gY29udHJvbGxlci5nZXRWaWV3KCk7XG5cdFx0Y29uc3QgYXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMudmlldyk7XG5cdFx0dGhpcy5pc0hpZGRlbkRyYWZ0ID0gKGFwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpPy5nZXRDYXBhYmlsaXRpZXMoKT8uSGlkZGVuRHJhZnQgYXMgSGlkZGVuRHJhZnQpPy5lbmFibGVkO1xuXHRcdGNvbnN0IHZpZXdDb250ZXh0ID0gdGhpcy52aWV3LmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dDtcblx0XHR0aGlzLmlzUm9vdENvbnRleHROZXcgPSB2aWV3Q29udGV4dCA/IGF3YWl0IGNvbnRyb2xsZXIuZWRpdEZsb3cuaXNSb290Q29udGV4dE5ldyh2aWV3Q29udGV4dCkgOiBmYWxzZTtcblx0XHR0aGlzLnNoYWxsRm9yY2VEcmFmdFNhdmVPckRpc2NhcmQgPSBjb250cm9sbGVyLmVkaXRGbG93LnNoYWxsRm9yY2VEcmFmdFNhdmVPckRpc2NhcmQoKTtcblx0XHR0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbCA9IGdldFJlc291cmNlTW9kZWwodGhpcy52aWV3KTtcblx0XHR0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0XHRjb25zdCBkYXRhTG9zc0NvbmZpcm0gPSAoKTogdm9pZCA9PiB0aGlzLmhhbmRsZURhdGFMb3NzT2soKTtcblx0XHR0aGlzLm9wdGlvbnNMaXN0LmN1cnJlbnQ/LmFkZEV2ZW50RGVsZWdhdGUoe1xuXHRcdFx0b25rZXl1cDogZnVuY3Rpb24gKGU6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRcdFx0aWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcblx0XHRcdFx0XHRkYXRhTG9zc0NvbmZpcm0oKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHRoaXMudmlldy5hZGREZXBlbmRlbnQodGhpcy5kYXRhTG9zc0RpYWxvZy5jdXJyZW50IGFzIFVJNUVsZW1lbnQpO1xuXHRcdHRoaXMuZGF0YUxvc3NEaWFsb2cuY3VycmVudD8ub3BlbigpO1xuXHRcdHRoaXMuc2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5KCk7XG5cblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdHRoaXMucHJvbWlzZVJlc29sdmUgPSByZXNvbHZlO1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgdG8gY2xvc2UgdGhlIGRhdGFsb3NzIGRpYWxvZy5cblx0ICpcblx0ICovXG5cdHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcblx0XHR0aGlzLmRhdGFMb3NzRGlhbG9nLmN1cnJlbnQ/LmNsb3NlKCk7XG5cdFx0dGhpcy5kYXRhTG9zc0RpYWxvZy5jdXJyZW50Py5kZXN0cm95KCk7XG5cdH1cblxuXHQvKipcblx0ICogRXhlY3V0ZXMgdGhlIGxvZ2ljIHdoZW4gdGhlIGRhdGEgbG9zcyBkaWFsb2cgaXMgY29uZmlybWVkLiBUaGUgc2VsZWN0aW9uIG9mIGFuIG9wdGlvbiByZXNvbHZlcyB0aGUgcHJvbWlzZSBhbmQgbGVhZHMgdG8gdGhlXG5cdCAqIHByb2Nlc3Npbmcgb2YgdGhlIG9yaWdpbmFsbHkgdHJpZ2dlcmVkIGFjdGlvbiBsaWtlIGUuZy4gYSBiYWNrIG5hdmlnYXRpb24uXG5cdCAqXG5cdCAqL1xuXG5cdHByaXZhdGUgaGFuZGxlRGF0YUxvc3NPaygpOiB2b2lkIHtcblx0XHR0aGlzLnByb21pc2VSZXNvbHZlKHRoaXMuZ2V0U2VsZWN0ZWRLZXkoKSk7XG5cdH1cblxuXHQvKipcblx0ICogSGFuZGxlciB0byBjbG9zZSB0aGUgZGF0YWxvc3MgZGlhbG9nLlxuXHQgKlxuXHQgKi9cblx0cHJpdmF0ZSBoYW5kbGVEYXRhTG9zc0NhbmNlbCgpOiB2b2lkIHtcblx0XHR0aGlzLnByb21pc2VSZXNvbHZlKFwiY2FuY2VsXCIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBmaXJzdCBsaXN0IGl0ZW0gb2YgdGhlIGRpYWxvZy5cblx0ICpcblx0ICovXG5cdHByaXZhdGUgc2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5KCk6IHZvaWQge1xuXHRcdGNvbnN0IGZpcnN0TGlzdEl0ZW1PcHRpb246IEN1c3RvbUxpc3RJdGVtID0gdGhpcy5vcHRpb25zTGlzdC5jdXJyZW50Py5nZXRJdGVtcygpWzBdIGFzIEN1c3RvbUxpc3RJdGVtO1xuXHRcdHRoaXMub3B0aW9uc0xpc3QuY3VycmVudD8uc2V0U2VsZWN0ZWRJdGVtKGZpcnN0TGlzdEl0ZW1PcHRpb24pO1xuXHRcdC8vIFdlIGRvIG5vdCBzZXQgdGhlIGZvY3VzIG9uIHRoZSBidXR0b24sIGJ1dCBjYXRjaCB0aGUgRU5URVIga2V5IGluIHRoZSBkaWFsb2dcblx0XHQvLyBhbmQgcHJvY2VzcyBpdCBhcyBPaywgc2luY2UgZm9jdXNpbmcgdGhlIGJ1dHRvbiB3YXMgcmVwb3J0ZWQgYXMgYW4gQUNDIGlzc3VlXG5cdFx0Zmlyc3RMaXN0SXRlbU9wdGlvbj8uZm9jdXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBrZXkgb2YgdGhlIHNlbGVjdGVkIGl0ZW0gZnJvbSB0aGUgbGlzdCBvZiBvcHRpb25zIHRoYXQgd2FzIHNldCB2aWEgY3VzdG9tRGF0YS5cblx0ICogQHJldHVybnMgVGhlIGtleSBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW1cblx0ICovXG5cdHByaXZhdGUgZ2V0U2VsZWN0ZWRLZXkoKTogc3RyaW5nIHtcblx0XHRjb25zdCBvcHRpb25zTGlzdCA9IHRoaXMub3B0aW9uc0xpc3QuY3VycmVudCBhcyBMaXN0O1xuXHRcdHJldHVybiBvcHRpb25zTGlzdC5nZXRTZWxlY3RlZEl0ZW0oKS5kYXRhKFwiaXRlbUtleVwiKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjb25maXJtIGJ1dHRvbi5cblx0ICogQHJldHVybnMgQSBidXR0b25cblx0ICovXG5cdHByaXZhdGUgZ2V0Q29uZmlybUJ1dHRvbigpOiBCdXR0b24ge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdHRleHQ9e3RoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJDX0NPTU1PTl9ESUFMT0dfT0tcIil9XG5cdFx0XHRcdHR5cGU9e1wiRW1waGFzaXplZFwifVxuXHRcdFx0XHRwcmVzcz17KCk6IHZvaWQgPT4gdGhpcy5oYW5kbGVEYXRhTG9zc09rKCl9XG5cdFx0XHQvPlxuXHRcdCkgYXMgQnV0dG9uO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGNhbmNlbCBidXR0b24uXG5cdCAqIEByZXR1cm5zIEEgYnV0dG9uXG5cdCAqL1xuXHRwcml2YXRlIGdldENhbmNlbEJ1dHRvbigpOiBCdXR0b24ge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8QnV0dG9uIHRleHQ9e3RoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJDX0NPTU1PTl9ESUFMT0dfQ0FOQ0VMXCIpfSBwcmVzcz17KCk6IHZvaWQgPT4gdGhpcy5oYW5kbGVEYXRhTG9zc0NhbmNlbCgpfSAvPlxuXHRcdCkgYXMgQnV0dG9uO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIG9wdGlvbnMgYXZhaWxhYmxlIGluIHRoZSBkaWFsb2cuXG5cdCAqIEBwYXJhbSBpc1NhdmVcblx0ICogQHJldHVybnMgVGhlIG9wdGlvbnMgYXMgQ3VzdG9tTGlzdEl0ZW1zXG5cdCAqL1xuXHRwcml2YXRlIGdldEl0ZW1zKGlzU2F2ZTogYm9vbGVhbik6IEN1c3RvbUxpc3RJdGVtW10ge1xuXHRcdGxldCBjcmVhdGVPclNhdmVUZXh0ID0gXCJcIjtcblx0XHRsZXQgY3JlYXRlT3JTYXZlTGFiZWwgPSB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfU0FWRV9EUkFGVF9SQkxcIik7XG5cdFx0aWYgKGlzU2F2ZSkge1xuXHRcdFx0Y3JlYXRlT3JTYXZlVGV4dCA9IHRoaXMuaXNIaWRkZW5EcmFmdFxuXHRcdFx0XHQ/IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19TQVZFX0hJRERFTl9EUkFGVF9UT0xcIilcblx0XHRcdFx0OiB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfU0FWRV9EUkFGVF9UT0xcIik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNyZWF0ZU9yU2F2ZUxhYmVsID0gdGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX0NSRUFURV9FTlRJVFlfUkJMXCIpO1xuXHRcdFx0Y3JlYXRlT3JTYXZlVGV4dCA9IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19DUkVBVEVfRU5USVRZX1RPTFwiKTtcblx0XHR9XG5cdFx0Y29uc3QgaXRlbXM6IEN1c3RvbUxpc3RJdGVtW10gPSBbXTtcblx0XHRpdGVtcy5wdXNoKFxuXHRcdFx0PEN1c3RvbUxpc3RJdGVtIGN1c3RvbURhdGE9e1tuZXcgQ3VzdG9tRGF0YSh7IGtleTogXCJpdGVtS2V5XCIsIHZhbHVlOiBcImRyYWZ0RGF0YUxvc3NPcHRpb25TYXZlXCIgfSldfT5cblx0XHRcdFx0PFZCb3ggY2xhc3M9XCJzYXBVaVRpbnlNYXJnaW5cIj5cblx0XHRcdFx0XHQ8TGFiZWwgdGV4dD17Y3JlYXRlT3JTYXZlTGFiZWx9IGRlc2lnbj1cIkJvbGRcIiAvPlxuXHRcdFx0XHRcdDxUZXh0IHRleHQ9e2NyZWF0ZU9yU2F2ZVRleHR9IC8+XG5cdFx0XHRcdDwvVkJveD5cblx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0KTtcblxuXHRcdC8vIFRoZSBvcHRpb24gdG8ga2VlcCB0aGUgZHJhZnQgaXMgbm90IGF2YWlsYWJsZSBmb3IgbmV3IGRyYWZ0cyBhbmQgaWYgc2hhbGxGb3JjZURyYWZ0U2F2ZU9yRGlzY2FyZCA9PT0gdHJ1ZVxuXHRcdC8vIChUcmVlVGFibGUgaW4gdGhlIExpc3RSZXBvcnQpXG5cdFx0aWYgKChpc1NhdmUgfHwgIXRoaXMuc2hhbGxGb3JjZURyYWZ0U2F2ZU9yRGlzY2FyZCkgJiYgIXRoaXMuaXNIaWRkZW5EcmFmdCkge1xuXHRcdFx0aXRlbXMucHVzaChcblx0XHRcdFx0PEN1c3RvbUxpc3RJdGVtIGN1c3RvbURhdGE9e1tuZXcgQ3VzdG9tRGF0YSh7IGtleTogXCJpdGVtS2V5XCIsIHZhbHVlOiBcImRyYWZ0RGF0YUxvc3NPcHRpb25LZWVwXCIgfSldfT5cblx0XHRcdFx0XHQ8VkJveCBjbGFzcz1cInNhcFVpVGlueU1hcmdpblwiPlxuXHRcdFx0XHRcdFx0PExhYmVsIHRleHQ9e3RoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19LRUVQX0RSQUZUX1JCTFwiKX0gZGVzaWduPVwiQm9sZFwiIC8+XG5cdFx0XHRcdFx0XHQ8VGV4dCB0ZXh0PXt0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfS0VFUF9EUkFGVF9UT0xcIil9IC8+XG5cdFx0XHRcdFx0PC9WQm94PlxuXHRcdFx0XHQ8L0N1c3RvbUxpc3RJdGVtPlxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRpdGVtcy5wdXNoKFxuXHRcdFx0PEN1c3RvbUxpc3RJdGVtIGN1c3RvbURhdGE9e1tuZXcgQ3VzdG9tRGF0YSh7IGtleTogXCJpdGVtS2V5XCIsIHZhbHVlOiBcImRyYWZ0RGF0YUxvc3NPcHRpb25EaXNjYXJkXCIgfSldfT5cblx0XHRcdFx0PFZCb3ggY2xhc3M9XCJzYXBVaVRpbnlNYXJnaW5cIj5cblx0XHRcdFx0XHQ8TGFiZWxcblx0XHRcdFx0XHRcdHRleHQ9e1xuXHRcdFx0XHRcdFx0XHR0aGlzLmlzSGlkZGVuRHJhZnRcblx0XHRcdFx0XHRcdFx0XHQ/IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19ESVNDQVJEX0hJRERFTl9EUkFGVF9SQkxcIilcblx0XHRcdFx0XHRcdFx0XHQ6IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19ESVNDQVJEX0RSQUZUX1JCTFwiKVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZGVzaWduPVwiQm9sZFwiXG5cdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHQ8VGV4dCB0ZXh0PXt0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfRElTQ0FSRF9EUkFGVF9UT0xcIil9IC8+XG5cdFx0XHRcdDwvVkJveD5cblx0XHRcdDwvQ3VzdG9tTGlzdEl0ZW0+XG5cdFx0KTtcblxuXHRcdHJldHVybiBpdGVtcztcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgYnVpbGRpbmcgYmxvY2sgcmVuZGVyIGZ1bmN0aW9uLlxuXHQgKiBAcmV0dXJucyBBbiBYTUwtYmFzZWQgc3RyaW5nXG5cdCAqL1xuXHRjcmVhdGVDb250ZW50KCk6IERpYWxvZyB7XG5cdFx0Y29uc3QgaGFzQWN0aXZlRW50aXR5ID0gdGhpcy52aWV3LmdldEJpbmRpbmdDb250ZXh0KCk/LmdldE9iamVjdCgpLkhhc0FjdGl2ZUVudGl0eSA9PT0gdHJ1ZTtcblx0XHRjb25zdCBpc1NhdmUgPSB0aGlzLmlzSGlkZGVuRHJhZnQgPyAhdGhpcy5pc1Jvb3RDb250ZXh0TmV3IDogaGFzQWN0aXZlRW50aXR5O1xuXHRcdGNvbnN0IGRlc2NyaXB0aW9uID0gaXNTYXZlXG5cdFx0XHQ/IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19QT1BVUF9NRVNTQUdFX1NBVkVcIilcblx0XHRcdDogdGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX1BPUFVQX01FU1NBR0VfQ1JFQVRFXCIpO1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDxEaWFsb2dcblx0XHRcdFx0aWQ9e2dlbmVyYXRlKFt0aGlzLmdldElkKCksIFwiZHJhZnREYXRhTG9zc0RpYWxvZ1wiXSl9XG5cdFx0XHRcdHRpdGxlPXt0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiV0FSTklOR1wiKX1cblx0XHRcdFx0c3RhdGU9e1ZhbHVlU3RhdGUuV2FybmluZ31cblx0XHRcdFx0dHlwZT17XCJNZXNzYWdlXCJ9XG5cdFx0XHRcdGNvbnRlbnRXaWR0aD17XCIyMnJlbVwifVxuXHRcdFx0XHRyZWY9e3RoaXMuZGF0YUxvc3NEaWFsb2d9XG5cdFx0XHQ+XG5cdFx0XHRcdHt7XG5cdFx0XHRcdFx0Y29udGVudDogKFxuXHRcdFx0XHRcdFx0PD5cblx0XHRcdFx0XHRcdFx0PFRleHQgdGV4dD17ZGVzY3JpcHRpb259IGNsYXNzPVwic2FwVWlUaW55TWFyZ2luQmVnaW4gc2FwVWlUaW55TWFyZ2luVG9wQm90dG9tXCIgLz5cblx0XHRcdFx0XHRcdFx0PExpc3Rcblx0XHRcdFx0XHRcdFx0XHRtb2RlPVwiU2luZ2xlU2VsZWN0TGVmdFwiXG5cdFx0XHRcdFx0XHRcdFx0c2hvd1NlcGFyYXRvcnM9XCJOb25lXCJcblx0XHRcdFx0XHRcdFx0XHRpbmNsdWRlSXRlbUluU2VsZWN0aW9uPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZERlc2lnbj1cIlRyYW5zcGFyZW50XCJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInNhcFVpTm9Db250ZW50UGFkZGluZ1wiXG5cdFx0XHRcdFx0XHRcdFx0cmVmPXt0aGlzLm9wdGlvbnNMaXN0fVxuXHRcdFx0XHRcdFx0XHRcdGl0ZW1zPXt0aGlzLmdldEl0ZW1zKGlzU2F2ZSl9XG5cdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHQ8Lz5cblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdGJ1dHRvbnM6IChcblx0XHRcdFx0XHRcdDw+XG5cdFx0XHRcdFx0XHRcdGNvbmZpcm1CdXR0b24gPSB7dGhpcy5nZXRDb25maXJtQnV0dG9uKCl9XG5cdFx0XHRcdFx0XHRcdGNhbmNlbEJ1dHRvbiA9IHt0aGlzLmdldENhbmNlbEJ1dHRvbigpfVxuXHRcdFx0XHRcdFx0PC8+XG5cdFx0XHRcdFx0KVxuXHRc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
253
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcmFmdERhdGFMb3NzRGlhbG9nIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJkZWZpbmVSZWZlcmVuY2UiLCJfZGVjMyIsIl9jbGFzcyIsIl9jbGFzczIiLCJfTWFuYWdlZE9iamVjdCIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsInNoYWxsRm9yY2VEcmFmdFNhdmVPckRpc2NhcmQiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwib3BlbiIsImNvbnRyb2xsZXIiLCJ2aWV3IiwiZ2V0VmlldyIsImFwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiaXNIaWRkZW5EcmFmdCIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0Q2FwYWJpbGl0aWVzIiwiSGlkZGVuRHJhZnQiLCJlbmFibGVkIiwidmlld0NvbnRleHQiLCJnZXRCaW5kaW5nQ29udGV4dCIsImlzUm9vdENvbnRleHROZXciLCJlZGl0RmxvdyIsImRhdGFMb3NzUmVzb3VyY2VNb2RlbCIsImdldFJlc291cmNlTW9kZWwiLCJjcmVhdGVDb250ZW50IiwiZGF0YUxvc3NDb25maXJtIiwiaGFuZGxlRGF0YUxvc3NPayIsIm9wdGlvbnNMaXN0IiwiY3VycmVudCIsImFkZEV2ZW50RGVsZWdhdGUiLCJvbmtleXVwIiwiZSIsImtleSIsImFkZERlcGVuZGVudCIsImRhdGFMb3NzRGlhbG9nIiwic2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5IiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcm9taXNlUmVzb2x2ZSIsImNsb3NlIiwiZGVzdHJveSIsImdldFNlbGVjdGVkS2V5IiwiaGFuZGxlRGF0YUxvc3NDYW5jZWwiLCJmaXJzdExpc3RJdGVtT3B0aW9uIiwiZ2V0SXRlbXMiLCJzZXRTZWxlY3RlZEl0ZW0iLCJmb2N1cyIsImdldFNlbGVjdGVkSXRlbSIsImRhdGEiLCJnZXRDb25maXJtQnV0dG9uIiwiX2pzeCIsIkJ1dHRvbiIsInRleHQiLCJnZXRUZXh0IiwidHlwZSIsInByZXNzIiwiZ2V0Q2FuY2VsQnV0dG9uIiwiaXNTYXZlIiwiY3JlYXRlT3JTYXZlVGV4dCIsImNyZWF0ZU9yU2F2ZUxhYmVsIiwiaXRlbXMiLCJwdXNoIiwiQ3VzdG9tTGlzdEl0ZW0iLCJjdXN0b21EYXRhIiwiQ3VzdG9tRGF0YSIsInZhbHVlIiwiY2hpbGRyZW4iLCJfanN4cyIsIlZCb3giLCJjbGFzcyIsIkxhYmVsIiwiZGVzaWduIiwiVGV4dCIsImhhc0FjdGl2ZUVudGl0eSIsImdldE9iamVjdCIsIkhhc0FjdGl2ZUVudGl0eSIsImRlc2NyaXB0aW9uIiwiRGlhbG9nIiwiaWQiLCJnZW5lcmF0ZSIsImdldElkIiwidGl0bGUiLCJzdGF0ZSIsIlZhbHVlU3RhdGUiLCJXYXJuaW5nIiwiY29udGVudFdpZHRoIiwicmVmIiwiY29udGVudCIsIl9GcmFnbWVudCIsIkxpc3QiLCJtb2RlIiwic2hvd1NlcGFyYXRvcnMiLCJpbmNsdWRlSXRlbUluU2VsZWN0aW9uIiwiYmFja2dyb3VuZERlc2lnbiIsImJ1dHRvbnMiLCJNYW5hZ2VkT2JqZWN0IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEcmFmdERhdGFMb3NzRGlhbG9nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVSZWZlcmVuY2UsIGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBSZWYgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvanN4LXJ1bnRpbWUvanN4XCI7XG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1vZGVsIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvUmVzb3VyY2VNb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgQ3VzdG9tTGlzdEl0ZW0gZnJvbSBcInNhcC9tL0N1c3RvbUxpc3RJdGVtXCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwic2FwL20vTGFiZWxcIjtcbmltcG9ydCBMaXN0IGZyb20gXCJzYXAvbS9MaXN0XCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwic2FwL20vVGV4dFwiO1xuaW1wb3J0IFZCb3ggZnJvbSBcInNhcC9tL1ZCb3hcIjtcbmltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgQ3VzdG9tRGF0YSBmcm9tIFwic2FwL3VpL2NvcmUvQ3VzdG9tRGF0YVwiO1xuaW1wb3J0IHR5cGUgVUk1RWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHsgVmFsdWVTdGF0ZSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwiLi4vLi4vQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCIuLi8uLi9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgUmVzb3VyY2VNb2RlbCBmcm9tIFwiLi4vLi4vUmVzb3VyY2VNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBIaWRkZW5EcmFmdCB9IGZyb20gXCIuLi8uLi9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuRGF0YUxvc3NPckRyYWZ0RGlzY2FyZC5EcmFmdERhdGFMb3NzRGlhbG9nXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcmFmdERhdGFMb3NzRGlhbG9nIGV4dGVuZHMgTWFuYWdlZE9iamVjdCB7XG5cdEBkZWZpbmVSZWZlcmVuY2UoKVxuXHRkYXRhTG9zc0RpYWxvZyE6IFJlZjxEaWFsb2c+O1xuXG5cdEBkZWZpbmVSZWZlcmVuY2UoKVxuXHRvcHRpb25zTGlzdCE6IFJlZjxMaXN0PjtcblxuXHRwcml2YXRlIHZpZXchOiBWaWV3O1xuXG5cdHByaXZhdGUgZGF0YUxvc3NSZXNvdXJjZU1vZGVsITogUmVzb3VyY2VNb2RlbDtcblxuXHQvKipcblx0ICogUmVzb2x2ZXMgdGhlIHByb21pc2Ugd2l0aCB0aGUgc2VsZWN0ZWQgZGlhbG9nIGxpc3Qgb3B0aW9uXG5cdCAqL1xuXHRwcml2YXRlIHByb21pc2VSZXNvbHZlITogRnVuY3Rpb247XG5cblx0cHJpdmF0ZSBzaGFsbEZvcmNlRHJhZnRTYXZlT3JEaXNjYXJkID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBpc1Jvb3RDb250ZXh0TmV3ITogYm9vbGVhbjtcblxuXHRwcml2YXRlIGlzSGlkZGVuRHJhZnQhOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBPcGVucyB0aGUgZGF0YSBsb3NzIGRpYWxvZy5cblx0ICogQHBhcmFtIGNvbnRyb2xsZXJcblx0ICovXG5cdHB1YmxpYyBhc3luYyBvcGVuKGNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyKTogUHJvbWlzZTx1bmtub3duPiB7XG5cdFx0dGhpcy52aWV3ID0gY29udHJvbGxlci5nZXRWaWV3KCk7XG5cdFx0Y29uc3QgYXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMudmlldyk7XG5cdFx0dGhpcy5pc0hpZGRlbkRyYWZ0ID0gKGFwcENvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpPy5nZXRDYXBhYmlsaXRpZXMoKT8uSGlkZGVuRHJhZnQgYXMgSGlkZGVuRHJhZnQpPy5lbmFibGVkO1xuXHRcdGNvbnN0IHZpZXdDb250ZXh0ID0gdGhpcy52aWV3LmdldEJpbmRpbmdDb250ZXh0KCkgYXMgQ29udGV4dDtcblx0XHR0aGlzLmlzUm9vdENvbnRleHROZXcgPSB2aWV3Q29udGV4dCA/IGF3YWl0IGNvbnRyb2xsZXIuZWRpdEZsb3cuaXNSb290Q29udGV4dE5ldyh2aWV3Q29udGV4dCkgOiBmYWxzZTtcblx0XHR0aGlzLnNoYWxsRm9yY2VEcmFmdFNhdmVPckRpc2NhcmQgPSBjb250cm9sbGVyLmVkaXRGbG93LnNoYWxsRm9yY2VEcmFmdFNhdmVPckRpc2NhcmQoKTtcblx0XHR0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbCA9IGdldFJlc291cmNlTW9kZWwodGhpcy52aWV3KTtcblx0XHR0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0XHRjb25zdCBkYXRhTG9zc0NvbmZpcm0gPSAoKTogdm9pZCA9PiB0aGlzLmhhbmRsZURhdGFMb3NzT2soKTtcblx0XHR0aGlzLm9wdGlvbnNMaXN0LmN1cnJlbnQ/LmFkZEV2ZW50RGVsZWdhdGUoe1xuXHRcdFx0b25rZXl1cDogZnVuY3Rpb24gKGU6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRcdFx0aWYgKGUua2V5ID09PSBcIkVudGVyXCIpIHtcblx0XHRcdFx0XHRkYXRhTG9zc0NvbmZpcm0oKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHRoaXMudmlldy5hZGREZXBlbmRlbnQodGhpcy5kYXRhTG9zc0RpYWxvZy5jdXJyZW50IGFzIFVJNUVsZW1lbnQpO1xuXHRcdHRoaXMuZGF0YUxvc3NEaWFsb2cuY3VycmVudD8ub3BlbigpO1xuXHRcdHRoaXMuc2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5KCk7XG5cblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcblx0XHRcdHRoaXMucHJvbWlzZVJlc29sdmUgPSByZXNvbHZlO1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXIgdG8gY2xvc2UgdGhlIGRhdGFsb3NzIGRpYWxvZy5cblx0ICpcblx0ICovXG5cdHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcblx0XHR0aGlzLmRhdGFMb3NzRGlhbG9nLmN1cnJlbnQ/LmNsb3NlKCk7XG5cdFx0dGhpcy5kYXRhTG9zc0RpYWxvZy5jdXJyZW50Py5kZXN0cm95KCk7XG5cdH1cblxuXHQvKipcblx0ICogRXhlY3V0ZXMgdGhlIGxvZ2ljIHdoZW4gdGhlIGRhdGEgbG9zcyBkaWFsb2cgaXMgY29uZmlybWVkLiBUaGUgc2VsZWN0aW9uIG9mIGFuIG9wdGlvbiByZXNvbHZlcyB0aGUgcHJvbWlzZSBhbmQgbGVhZHMgdG8gdGhlXG5cdCAqIHByb2Nlc3Npbmcgb2YgdGhlIG9yaWdpbmFsbHkgdHJpZ2dlcmVkIGFjdGlvbiBsaWtlIGUuZy4gYSBiYWNrIG5hdmlnYXRpb24uXG5cdCAqXG5cdCAqL1xuXG5cdHByaXZhdGUgaGFuZGxlRGF0YUxvc3NPaygpOiB2b2lkIHtcblx0XHR0aGlzLnByb21pc2VSZXNvbHZlKHRoaXMuZ2V0U2VsZWN0ZWRLZXkoKSk7XG5cdH1cblxuXHQvKipcblx0ICogSGFuZGxlciB0byBjbG9zZSB0aGUgZGF0YWxvc3MgZGlhbG9nLlxuXHQgKlxuXHQgKi9cblx0cHJpdmF0ZSBoYW5kbGVEYXRhTG9zc0NhbmNlbCgpOiB2b2lkIHtcblx0XHR0aGlzLnByb21pc2VSZXNvbHZlKFwiY2FuY2VsXCIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBmaXJzdCBsaXN0IGl0ZW0gb2YgdGhlIGRpYWxvZy5cblx0ICpcblx0ICovXG5cdHByaXZhdGUgc2VsZWN0QW5kRm9jdXNGaXJzdEVudHJ5KCk6IHZvaWQge1xuXHRcdGNvbnN0IGZpcnN0TGlzdEl0ZW1PcHRpb246IEN1c3RvbUxpc3RJdGVtID0gdGhpcy5vcHRpb25zTGlzdC5jdXJyZW50Py5nZXRJdGVtcygpWzBdIGFzIEN1c3RvbUxpc3RJdGVtO1xuXHRcdHRoaXMub3B0aW9uc0xpc3QuY3VycmVudD8uc2V0U2VsZWN0ZWRJdGVtKGZpcnN0TGlzdEl0ZW1PcHRpb24pO1xuXHRcdC8vIFdlIGRvIG5vdCBzZXQgdGhlIGZvY3VzIG9uIHRoZSBidXR0b24sIGJ1dCBjYXRjaCB0aGUgRU5URVIga2V5IGluIHRoZSBkaWFsb2dcblx0XHQvLyBhbmQgcHJvY2VzcyBpdCBhcyBPaywgc2luY2UgZm9jdXNpbmcgdGhlIGJ1dHRvbiB3YXMgcmVwb3J0ZWQgYXMgYW4gQUNDIGlzc3VlXG5cdFx0Zmlyc3RMaXN0SXRlbU9wdGlvbj8uZm9jdXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBrZXkgb2YgdGhlIHNlbGVjdGVkIGl0ZW0gZnJvbSB0aGUgbGlzdCBvZiBvcHRpb25zIHRoYXQgd2FzIHNldCB2aWEgY3VzdG9tRGF0YS5cblx0ICogQHJldHVybnMgVGhlIGtleSBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW1cblx0ICovXG5cdHByaXZhdGUgZ2V0U2VsZWN0ZWRLZXkoKTogc3RyaW5nIHtcblx0XHRjb25zdCBvcHRpb25zTGlzdCA9IHRoaXMub3B0aW9uc0xpc3QuY3VycmVudCBhcyBMaXN0O1xuXHRcdHJldHVybiBvcHRpb25zTGlzdC5nZXRTZWxlY3RlZEl0ZW0oKS5kYXRhKFwiaXRlbUtleVwiKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjb25maXJtIGJ1dHRvbi5cblx0ICogQHJldHVybnMgQSBidXR0b25cblx0ICovXG5cdHByaXZhdGUgZ2V0Q29uZmlybUJ1dHRvbigpOiBCdXR0b24ge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdHRleHQ9e3RoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJDX0NPTU1PTl9ESUFMT0dfT0tcIil9XG5cdFx0XHRcdHR5cGU9e1wiRW1waGFzaXplZFwifVxuXHRcdFx0XHRwcmVzcz17KCk6IHZvaWQgPT4gdGhpcy5oYW5kbGVEYXRhTG9zc09rKCl9XG5cdFx0XHQvPlxuXHRcdCkgYXMgQnV0dG9uO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGNhbmNlbCBidXR0b24uXG5cdCAqIEByZXR1cm5zIEEgYnV0dG9uXG5cdCAqL1xuXHRwcml2YXRlIGdldENhbmNlbEJ1dHRvbigpOiBCdXR0b24ge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8QnV0dG9uXG5cdFx0XHRcdHRleHQ9e1xuXHRcdFx0XHRcdHRoaXMuaXNIaWRkZW5EcmFmdFxuXHRcdFx0XHRcdFx0PyB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiQ19DT01NT05fU0FQRkVfQ0xPU0VcIilcblx0XHRcdFx0XHRcdDogdGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfQ09NTU9OX0RJQUxPR19DQU5DRUxcIilcblx0XHRcdFx0fVxuXHRcdFx0XHRwcmVzcz17KCk6IHZvaWQgPT4gdGhpcy5oYW5kbGVEYXRhTG9zc0NhbmNlbCgpfVxuXHRcdFx0Lz5cblx0XHQpIGFzIEJ1dHRvbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBvcHRpb25zIGF2YWlsYWJsZSBpbiB0aGUgZGlhbG9nLlxuXHQgKiBAcGFyYW0gaXNTYXZlXG5cdCAqIEByZXR1cm5zIFRoZSBvcHRpb25zIGFzIEN1c3RvbUxpc3RJdGVtc1xuXHQgKi9cblx0cHJpdmF0ZSBnZXRJdGVtcyhpc1NhdmU6IGJvb2xlYW4pOiBDdXN0b21MaXN0SXRlbVtdIHtcblx0XHRsZXQgY3JlYXRlT3JTYXZlVGV4dCA9IFwiXCI7XG5cdFx0bGV0IGNyZWF0ZU9yU2F2ZUxhYmVsID0gdGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX1NBVkVfRFJBRlRfUkJMXCIpO1xuXHRcdGlmIChpc1NhdmUpIHtcblx0XHRcdGNyZWF0ZU9yU2F2ZVRleHQgPSB0aGlzLmlzSGlkZGVuRHJhZnRcblx0XHRcdFx0PyB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfU0FWRV9ISURERU5fRFJBRlRfVE9MXCIpXG5cdFx0XHRcdDogdGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX1NBVkVfRFJBRlRfVE9MXCIpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjcmVhdGVPclNhdmVMYWJlbCA9IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19DUkVBVEVfRU5USVRZX1JCTFwiKTtcblx0XHRcdGNyZWF0ZU9yU2F2ZVRleHQgPSB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfQ1JFQVRFX0VOVElUWV9UT0xcIik7XG5cdFx0fVxuXHRcdGNvbnN0IGl0ZW1zOiBDdXN0b21MaXN0SXRlbVtdID0gW107XG5cdFx0aXRlbXMucHVzaChcblx0XHRcdDxDdXN0b21MaXN0SXRlbSBjdXN0b21EYXRhPXtbbmV3IEN1c3RvbURhdGEoeyBrZXk6IFwiaXRlbUtleVwiLCB2YWx1ZTogXCJkcmFmdERhdGFMb3NzT3B0aW9uU2F2ZVwiIH0pXX0+XG5cdFx0XHRcdDxWQm94IGNsYXNzPVwic2FwVWlUaW55TWFyZ2luXCI+XG5cdFx0XHRcdFx0PExhYmVsIHRleHQ9e2NyZWF0ZU9yU2F2ZUxhYmVsfSBkZXNpZ249XCJCb2xkXCIgLz5cblx0XHRcdFx0XHQ8VGV4dCB0ZXh0PXtjcmVhdGVPclNhdmVUZXh0fSAvPlxuXHRcdFx0XHQ8L1ZCb3g+XG5cdFx0XHQ8L0N1c3RvbUxpc3RJdGVtPlxuXHRcdCk7XG5cblx0XHQvLyBUaGUgb3B0aW9uIHRvIGtlZXAgdGhlIGRyYWZ0IGlzIG5vdCBhdmFpbGFibGUgZm9yIG5ldyBkcmFmdHMgYW5kIGlmIHNoYWxsRm9yY2VEcmFmdFNhdmVPckRpc2NhcmQgPT09IHRydWVcblx0XHQvLyAoVHJlZVRhYmxlIGluIHRoZSBMaXN0UmVwb3J0KVxuXHRcdGlmICgoaXNTYXZlIHx8ICF0aGlzLnNoYWxsRm9yY2VEcmFmdFNhdmVPckRpc2NhcmQpICYmICF0aGlzLmlzSGlkZGVuRHJhZnQpIHtcblx0XHRcdGl0ZW1zLnB1c2goXG5cdFx0XHRcdDxDdXN0b21MaXN0SXRlbSBjdXN0b21EYXRhPXtbbmV3IEN1c3RvbURhdGEoeyBrZXk6IFwiaXRlbUtleVwiLCB2YWx1ZTogXCJkcmFmdERhdGFMb3NzT3B0aW9uS2VlcFwiIH0pXX0+XG5cdFx0XHRcdFx0PFZCb3ggY2xhc3M9XCJzYXBVaVRpbnlNYXJnaW5cIj5cblx0XHRcdFx0XHRcdDxMYWJlbCB0ZXh0PXt0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfS0VFUF9EUkFGVF9SQkxcIil9IGRlc2lnbj1cIkJvbGRcIiAvPlxuXHRcdFx0XHRcdFx0PFRleHQgdGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX0tFRVBfRFJBRlRfVE9MXCIpfSAvPlxuXHRcdFx0XHRcdDwvVkJveD5cblx0XHRcdFx0PC9DdXN0b21MaXN0SXRlbT5cblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0aXRlbXMucHVzaChcblx0XHRcdDxDdXN0b21MaXN0SXRlbSBjdXN0b21EYXRhPXtbbmV3IEN1c3RvbURhdGEoeyBrZXk6IFwiaXRlbUtleVwiLCB2YWx1ZTogXCJkcmFmdERhdGFMb3NzT3B0aW9uRGlzY2FyZFwiIH0pXX0+XG5cdFx0XHRcdDxWQm94IGNsYXNzPVwic2FwVWlUaW55TWFyZ2luXCI+XG5cdFx0XHRcdFx0PExhYmVsXG5cdFx0XHRcdFx0XHR0ZXh0PXtcblx0XHRcdFx0XHRcdFx0dGhpcy5pc0hpZGRlbkRyYWZ0XG5cdFx0XHRcdFx0XHRcdFx0PyB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfRElTQ0FSRF9ISURERU5fRFJBRlRfUkJMXCIpXG5cdFx0XHRcdFx0XHRcdFx0OiB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfRElTQ0FSRF9EUkFGVF9SQkxcIilcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGRlc2lnbj1cIkJvbGRcIlxuXHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0PFRleHQgdGV4dD17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIlNUX0RSQUZUX0RBVEFMT1NTX0RJU0NBUkRfRFJBRlRfVE9MXCIpfSAvPlxuXHRcdFx0XHQ8L1ZCb3g+XG5cdFx0XHQ8L0N1c3RvbUxpc3RJdGVtPlxuXHRcdCk7XG5cblx0XHRyZXR1cm4gaXRlbXM7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGJ1aWxkaW5nIGJsb2NrIHJlbmRlciBmdW5jdGlvbi5cblx0ICogQHJldHVybnMgQW4gWE1MLWJhc2VkIHN0cmluZ1xuXHQgKi9cblx0Y3JlYXRlQ29udGVudCgpOiBEaWFsb2cge1xuXHRcdGNvbnN0IGhhc0FjdGl2ZUVudGl0eSA9IHRoaXMudmlldy5nZXRCaW5kaW5nQ29udGV4dCgpPy5nZXRPYmplY3QoKS5IYXNBY3RpdmVFbnRpdHkgPT09IHRydWU7XG5cdFx0Y29uc3QgaXNTYXZlID0gdGhpcy5pc0hpZGRlbkRyYWZ0ID8gIXRoaXMuaXNSb290Q29udGV4dE5ldyA6IGhhc0FjdGl2ZUVudGl0eTtcblx0XHRjb25zdCBkZXNjcmlwdGlvbiA9IGlzU2F2ZVxuXHRcdFx0PyB0aGlzLmRhdGFMb3NzUmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiU1RfRFJBRlRfREFUQUxPU1NfUE9QVVBfTUVTU0FHRV9TQVZFXCIpXG5cdFx0XHQ6IHRoaXMuZGF0YUxvc3NSZXNvdXJjZU1vZGVsLmdldFRleHQoXCJTVF9EUkFGVF9EQVRBTE9TU19QT1BVUF9NRVNTQUdFX0NSRUFURVwiKTtcblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8RGlhbG9nXG5cdFx0XHRcdGlkPXtnZW5lcmF0ZShbdGhpcy5nZXRJZCgpLCBcImRyYWZ0RGF0YUxvc3NEaWFsb2dcIl0pfVxuXHRcdFx0XHR0aXRsZT17dGhpcy5kYXRhTG9zc1Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIldBUk5JTkdcIil9XG5cdFx0XHRcdHN0YXRlPXtWYWx1ZVN0YXRlLldhcm5pbmd9XG5cdFx0XHRcdHR5cGU9e1wiTWVzc2FnZVwifVxuXHRcdFx0XHRjb250ZW50V2lkdGg9e1wiMjJyZW1cIn1cblx0XHRcdFx0cmVmPXt0aGlzLmRhdGFMb3NzRGlhbG9nfVxuXHRcdFx0PlxuXHRcdFx0XHR7e1xuXHRcdFx0XHRcdGNvbnRlbnQ6IChcblx0XHRcdFx0XHRcdDw+XG5cdFx0XHRcdFx0XHRcdDxUZXh0IHRleHQ9e2Rlc2NyaXB0aW9ufSBjbGFzcz1cInNhcFVpVGlueU1hcmdpbkJlZ2luIHNhcFVpVGlueU1hcmdpblRvcEJvdHRvbVwiIC8+XG5cdFx0XHRcdFx0XHRcdDxMaXN0XG5cdFx0XHRcdFx0XHRcdFx0bW9kZT1cIlNpbmdsZVNlbGVjdExlZnRcIlxuXHRcdFx0XHRcdFx0XHRcdHNob3dTZXBhcmF0b3JzPVwiTm9uZVwiXG5cdFx0XHRcdFx0XHRcdFx0aW5jbHVkZUl0ZW1JblNlbGVjdGlvbj1cInRydWVcIlxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmREZXNpZ249XCJUcmFuc3BhcmVudFwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJzYXBVaU5vQ29udGVudFBhZGRpbmdcIlxuXHRcdFx0XHRcdFx0XHRcdHJlZj17dGhpcy5vcHRpb25zTGlzdH1cblx0XHRcdFx0XHRcdFx0XHRpdGVtcz17dGhpcy5nZXRJdGVtcyhpc1NhdmUpfVxuXHRcdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdFx0PC8+XG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRidXR0b25zOiAoXG5cdFx0XHRcdFx0XHQ8PlxuXHRcdFx0XHRcdFx0XHRjb25maXJtQnV0dG9uID0ge3RoaXMuZ2V0Q29uZmlybUJ1dHRvbigpfVxuXHRcdFx0XHRcdFx0XHRjYW5jZWxCdXR0b24gPSB7dGhpcy5nZXRDYW5jZWxCdXR0b24oKX1cblx0XHRcdFx0XHRcdDwvPlxuXHRcdFx0XHRcdClcblx0XHRcdFx0fX1cblx0XHRcdDwvRGlhbG9nPlxuXHRcdCkgYXMgRGlhbG9nO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUF1QnFCQSxtQkFBbUIsSUFBQUMsSUFBQSxHQUR2Q0MsY0FBYyxDQUFDLGlFQUFpRSxDQUFDLEVBQUFDLEtBQUEsR0FFaEZDLGVBQWUsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHakJELGVBQWUsQ0FBQyxDQUFDLEVBQUFILElBQUEsQ0FBQUssTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxjQUFBO0lBQUEsU0FBQVIsb0JBQUE7TUFBQSxJQUFBUyxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxNQUFBQSxJQUFBLEdBQUFMLElBQUEsRUFBQUssSUFBQTtRQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQUosU0FBQSxDQUFBSSxJQUFBO01BQUE7TUFBQU4sS0FBQSxHQUFBRCxjQUFBLENBQUFRLElBQUEsVUFBQUgsSUFBQTtNQUFBSSwwQkFBQSxDQUFBUixLQUFBLG9CQUFBUyxXQUFBLEVBQUFULEtBQUE7TUFBQVEsMEJBQUEsQ0FBQVIsS0FBQSxpQkFBQVUsWUFBQSxFQUFBVixLQUFBO01BQUFBLEtBQUEsQ0FZVlcsNEJBQTRCLEdBQUcsS0FBSztNQUFBLE9BQUFYLEtBQUE7SUFBQTtJQUFBWSxRQUFBLEdBQUFyQixtQkFBQTtJQUFBc0IsY0FBQSxDQUFBdEIsbUJBQUEsRUFBQVEsY0FBQTtJQUFBLElBQUFlLE1BQUEsR0FBQXZCLG1CQUFBLENBQUF3QixTQUFBO0lB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
@@ -141,7 +141,14 @@ export default class DraftDataLossDialog extends ManagedObject {
141
141
  */
142
142
  private getCancelButton(): Button {
143
143
  return (
144
- <Button text={this.dataLossResourceModel.getText("C_COMMON_DIALOG_CANCEL")} press={(): void => this.handleDataLossCancel()} />
144
+ <Button
145
+ text={
146
+ this.isHiddenDraft
147
+ ? this.dataLossResourceModel.getText("C_COMMON_SAPFE_CLOSE")
148
+ : this.dataLossResourceModel.getText("C_COMMON_DIALOG_CANCEL")
149
+ }
150
+ press={(): void => this.handleDataLossCancel()}
151
+ />
145
152
  ) as Button;
146
153
  }
147
154
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/core/Element"], function (ClassSupport, UI5Element) {
6
6
  "use strict";
@@ -44,9 +44,10 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/core/Element"], function (Cla
44
44
  var _proto = DataWatcher.prototype;
45
45
  _proto.setPropertyBinding = function setPropertyBinding(propertyBinding) {
46
46
  const oldValue = this.getProperty("propertyBinding");
47
- if (this.isInitial) {
47
+ if (this.isInitial || this._previousContextPath !== this.getBindingContext()?.getPath()) {
48
48
  this.isInitial = false;
49
49
  this._initialValue = propertyBinding;
50
+ this._previousContextPath = this.getBindingContext()?.getPath();
50
51
  }
51
52
  _UI5Element.prototype.setProperty.call(this, "propertyBinding", propertyBinding);
52
53
  this.fireEvent("valueChanged", {
@@ -71,4 +72,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/core/Element"], function (Cla
71
72
  _exports = DataWatcher;
72
73
  return _exports;
73
74
  }, false);
74
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRhV2F0Y2hlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJldmVudCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfVUk1RWxlbWVudCIsImlkT3JQcm9wcyIsInByb3BzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsImlzSW5pdGlhbCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJzZXRQcm9wZXJ0eUJpbmRpbmciLCJwcm9wZXJ0eUJpbmRpbmciLCJvbGRWYWx1ZSIsImdldFByb3BlcnR5IiwiX2luaXRpYWxWYWx1ZSIsInNldFByb3BlcnR5IiwiZmlyZUV2ZW50IiwidmFsdWUiLCJjb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJVSTVFbGVtZW50IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEYXRhV2F0Y2hlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgVUk1RXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgVUk1RWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgRXZlbnRIYW5kbGVyIH0gZnJvbSBcInR5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuXG4vKipcbiAqIEEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIHdhdGNoZWQgcHJvcGVydHkgY2hhbmdlcy5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmV3IHZhbHVlIG9mIHRoZSB3YXRjaGVkIHByb3BlcnR5XG4gKiBAcGFyYW0gb2xkVmFsdWUgVGhlIG9sZCB2YWx1ZSBvZiB0aGUgd2F0Y2hlZCBwcm9wZXJ0eVxuICogQHBhcmFtIGlzSW5pdGlhbCBXaGV0aGVyIHRoZSB2YWx1ZSBjaGFuZ2UgaXMgdGhlIGluaXRpYWwgdmFsdWVcbiAqIEBwYXJhbSBjb250ZXh0IFRoZSBiaW5kaW5nIGNvbnRleHQgb2YgdGhlIHdhdGNoZWQgcHJvcGVydHlcbiAqIEB0eXBlZGVmXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFdhdGNoZXJDYWxsYmFjayA9ICh2YWx1ZTogdW5rbm93biwgb2xkVmFsdWU6IHVua25vd24sIGlzSW5pdGlhbDogYm9vbGVhbiwgY29udGV4dDogQ29udGV4dCkgPT4gdm9pZDtcblxuLyoqXG4gKiBUaGUgRGF0YVdhdGNoZXIgaXMgYW4gZWxlbWVudCB5b3UgY2FuIHVzZSB0byB3YXRjaCBhIHByb3BlcnR5IGJpbmRpbmcgYW5kIGdldCBub3RpZmllZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICpcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuRGF0YVdhdGNoZXJcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhdGFXYXRjaGVyIGV4dGVuZHMgVUk1RWxlbWVudCB7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYW55XCIgfSlcblx0cHJvcGVydHlCaW5kaW5nPzogdW5rbm93bjtcblxuXHRAZXZlbnQoKVxuXHR2YWx1ZUNoYW5nZWQ/OiBFdmVudEhhbmRsZXI8VUk1RXZlbnQ8eyB2YWx1ZTogdW5rbm93bjsgb2xkVmFsdWU6IHVua25vd247IGlzSW5pdGlhbDogYm9vbGVhbjsgY29udGV4dDogQ29udGV4dCB9LCBEYXRhV2F0Y2hlcj4+O1xuXG5cdHByaXZhdGUgX2luaXRpYWxWYWx1ZT86IHVua25vd247XG5cblx0cHJpdmF0ZSBpc0luaXRpYWw6IGJvb2xlYW47XG5cblx0Y29uc3RydWN0b3IoaWRPclByb3BzPzogc3RyaW5nIHwgUHJvcGVydGllc09mPERhdGFXYXRjaGVyPiwgcHJvcHM/OiBQcm9wZXJ0aWVzT2Y8RGF0YVdhdGNoZXI+KSB7XG5cdFx0c3VwZXIoaWRPclByb3BzIGFzIHN0cmluZyB8IHVuZGVmaW5lZCwgcHJvcHMpO1xuXHRcdHRoaXMuaXNJbml0aWFsID0gdHJ1ZTtcblx0fVxuXG5cdHNldFByb3BlcnR5QmluZGluZyhwcm9wZXJ0eUJpbmRpbmc6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IG9sZFZhbHVlID0gdGhpcy5nZXRQcm9wZXJ0eShcInByb3BlcnR5QmluZGluZ1wiKTtcblx0XHRpZiAodGhpcy5pc0luaXRpYWwpIHtcblx0XHRcdHRoaXMuaXNJbml0aWFsID0gZmFsc2U7XG5cdFx0XHR0aGlzLl9pbml0aWFsVmFsdWUgPSBwcm9wZXJ0eUJpbmRpbmc7XG5cdFx0fVxuXHRcdHN1cGVyLnNldFByb3BlcnR5KFwicHJvcGVydHlCaW5kaW5nXCIsIHByb3BlcnR5QmluZGluZyk7XG5cdFx0dGhpcy5maXJlRXZlbnQoXCJ2YWx1ZUNoYW5nZWRcIiwge1xuXHRcdFx0dmFsdWU6IHByb3BlcnR5QmluZGluZyxcblx0XHRcdG9sZFZhbHVlOiBvbGRWYWx1ZSxcblx0XHRcdGlzSW5pdGlhbDogcHJvcGVydHlCaW5kaW5nID09PSB0aGlzLl9pbml0aWFsVmFsdWUsXG5cdFx0XHRjb250ZXh0OiB0aGlzLmdldEJpbmRpbmdDb250ZXh0KClcblx0XHR9KTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztFQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUdBO0FBQ0E7QUFDQTtBQUNBO0VBSEEsSUFLcUJBLFdBQVcsSUFBQUMsSUFBQSxHQUQvQkMsY0FBYyxDQUFDLGtDQUFrQyxDQUFDLEVBQUFDLEtBQUEsR0FFakRDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBTSxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQUd6QkMsS0FBSyxDQUFDLENBQUMsRUFBQU4sSUFBQSxDQUFBTyxNQUFBLElBQUFDLE9BQUEsMEJBQUFDLFdBQUE7SUFPUixTQUFBVixZQUFZVyxTQUE4QyxFQUFFQyxLQUFpQyxFQUFFO01BQUEsSUFBQUMsS0FBQTtNQUM5RkEsS0FBQSxHQUFBSCxXQUFBLENBQUFJLElBQUEsT0FBTUgsU0FBUyxFQUF3QkMsS0FBSyxDQUFDO01BQUNHLDBCQUFBLENBQUFGLEtBQUEscUJBQUFHLFdBQUEsRUFBQUgsS0FBQTtNQUFBRSwwQkFBQSxDQUFBRixLQUFBLGtCQUFBSSxZQUFBLEVBQUFKLEtBQUE7TUFDOUNBLEtBQUEsQ0FBS0ssU0FBUyxHQUFHLElBQUk7TUFBQyxPQUFBTCxLQUFBO0lBQ3ZCO0lBQUNNLFFBQUEsR0FBQW5CLFdBQUE7SUFBQW9CLGNBQUEsQ0FBQXBCLFdBQUEsRUFBQVUsV0FBQTtJQUFBLElBQUFXLE1BQUEsR0FBQXJCLFdBQUEsQ0FBQXNCLFNBQUE7SUFBQUQsTUFBQSxDQUVERSxrQkFBa0IsR0FBbEIsU0FBQUEsa0JBQWtCQSxDQUFDQyxlQUF1QixFQUFRO01BQ2pELE1BQU1DLFFBQVEsR0FBRyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztNQUNwRCxJQUFJLElBQUksQ0FBQ1IsU0FBUyxFQUFFO1FBQ25CLElBQUksQ0FBQ0EsU0FBUyxHQUFHLEtBQUs7UUFDdEIsSUFBSSxDQUFDUyxhQUFhLEdBQUdILGVBQWU7TUFDckM7TUFDQWQsV0FBQSxDQUFBWSxTQUFBLENBQU1NLFdBQVcsQ0FBQWQsSUFBQSxPQUFDLGlCQUFpQixFQUFFVSxlQUFlO01BQ3BELElBQUksQ0FBQ0ssU0FBUyxDQUFDLGNBQWMsRUFBRTtRQUM5QkMsS0FBSyxFQUFFTixlQUFlO1FBQ3RCQyxRQUFRLEVBQUVBLFFBQVE7UUFDbEJQLFNBQVMsRUFBRU0sZUFBZSxLQUFLLElBQUksQ0FBQ0csYUFBYTtRQUNqREksT0FBTyxFQUFFLElBQUksQ0FBQ0MsaUJBQWlCLENBQUM7TUFDakMsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUFBLE9BQUFoQyxXQUFBO0VBQUEsRUE3QnVDaUMsVUFBVSxHQUFBakIsV0FBQSxHQUFBa0IseUJBQUEsQ0FBQXpCLE9BQUEsQ0FBQWEsU0FBQSxzQkFBQW5CLEtBQUE7SUFBQWdDLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBckIsWUFBQSxHQUFBaUIseUJBQUEsQ0FBQXpCLE9BQUEsQ0FBQWEsU0FBQSxtQkFBQWhCLEtBQUE7SUFBQTZCLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBN0IsT0FBQSxNQUFBRCxNQUFBO0VBQUFXLFFBQUEsR0FBQW5CLFdBQUE7RUFBQSxPQUFBbUIsUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRhV2F0Y2hlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJldmVudCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfVUk1RWxlbWVudCIsImlkT3JQcm9wcyIsInByb3BzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsImlzSW5pdGlhbCIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJzZXRQcm9wZXJ0eUJpbmRpbmciLCJwcm9wZXJ0eUJpbmRpbmciLCJvbGRWYWx1ZSIsImdldFByb3BlcnR5IiwiX3ByZXZpb3VzQ29udGV4dFBhdGgiLCJnZXRCaW5kaW5nQ29udGV4dCIsImdldFBhdGgiLCJfaW5pdGlhbFZhbHVlIiwic2V0UHJvcGVydHkiLCJmaXJlRXZlbnQiLCJ2YWx1ZSIsImNvbnRleHQiLCJVSTVFbGVtZW50IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEYXRhV2F0Y2hlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgVUk1RXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgVUk1RWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgRXZlbnRIYW5kbGVyIH0gZnJvbSBcInR5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuXG4vKipcbiAqIEEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIHdhdGNoZWQgcHJvcGVydHkgY2hhbmdlcy5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmV3IHZhbHVlIG9mIHRoZSB3YXRjaGVkIHByb3BlcnR5XG4gKiBAcGFyYW0gb2xkVmFsdWUgVGhlIG9sZCB2YWx1ZSBvZiB0aGUgd2F0Y2hlZCBwcm9wZXJ0eVxuICogQHBhcmFtIGlzSW5pdGlhbCBXaGV0aGVyIHRoZSB2YWx1ZSBjaGFuZ2UgaXMgdGhlIGluaXRpYWwgdmFsdWVcbiAqIEBwYXJhbSBjb250ZXh0IFRoZSBiaW5kaW5nIGNvbnRleHQgb2YgdGhlIHdhdGNoZWQgcHJvcGVydHlcbiAqIEB0eXBlZGVmXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFdhdGNoZXJDYWxsYmFjayA9ICh2YWx1ZTogdW5rbm93biwgb2xkVmFsdWU6IHVua25vd24sIGlzSW5pdGlhbDogYm9vbGVhbiwgY29udGV4dDogQ29udGV4dCkgPT4gdm9pZDtcblxuLyoqXG4gKiBUaGUgRGF0YVdhdGNoZXIgaXMgYW4gZWxlbWVudCB5b3UgY2FuIHVzZSB0byB3YXRjaCBhIHByb3BlcnR5IGJpbmRpbmcgYW5kIGdldCBub3RpZmllZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICpcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuRGF0YVdhdGNoZXJcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhdGFXYXRjaGVyIGV4dGVuZHMgVUk1RWxlbWVudCB7XG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYW55XCIgfSlcblx0cHJvcGVydHlCaW5kaW5nPzogdW5rbm93bjtcblxuXHRAZXZlbnQoKVxuXHR2YWx1ZUNoYW5nZWQ/OiBFdmVudEhhbmRsZXI8VUk1RXZlbnQ8eyB2YWx1ZTogdW5rbm93bjsgb2xkVmFsdWU6IHVua25vd247IGlzSW5pdGlhbDogYm9vbGVhbjsgY29udGV4dDogQ29udGV4dCB9LCBEYXRhV2F0Y2hlcj4+O1xuXG5cdHByaXZhdGUgX2luaXRpYWxWYWx1ZT86IHVua25vd247XG5cblx0cHJpdmF0ZSBpc0luaXRpYWw6IGJvb2xlYW47XG5cblx0cHJpdmF0ZSBfcHJldmlvdXNDb250ZXh0UGF0aD86IHN0cmluZztcblxuXHRjb25zdHJ1Y3RvcihpZE9yUHJvcHM/OiBzdHJpbmcgfCBQcm9wZXJ0aWVzT2Y8RGF0YVdhdGNoZXI+LCBwcm9wcz86IFByb3BlcnRpZXNPZjxEYXRhV2F0Y2hlcj4pIHtcblx0XHRzdXBlcihpZE9yUHJvcHMgYXMgc3RyaW5nIHwgdW5kZWZpbmVkLCBwcm9wcyk7XG5cdFx0dGhpcy5pc0luaXRpYWwgPSB0cnVlO1xuXHR9XG5cblx0c2V0UHJvcGVydHlCaW5kaW5nKHByb3BlcnR5QmluZGluZzogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3Qgb2xkVmFsdWUgPSB0aGlzLmdldFByb3BlcnR5KFwicHJvcGVydHlCaW5kaW5nXCIpO1xuXHRcdGlmICh0aGlzLmlzSW5pdGlhbCB8fCB0aGlzLl9wcmV2aW91c0NvbnRleHRQYXRoICE9PSB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCk/LmdldFBhdGgoKSkge1xuXHRcdFx0dGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcblx0XHRcdHRoaXMuX2luaXRpYWxWYWx1ZSA9IHByb3BlcnR5QmluZGluZztcblx0XHRcdHRoaXMuX3ByZXZpb3VzQ29udGV4dFBhdGggPSB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCk/LmdldFBhdGgoKTtcblx0XHR9XG5cdFx0c3VwZXIuc2V0UHJvcGVydHkoXCJwcm9wZXJ0eUJpbmRpbmdcIiwgcHJvcGVydHlCaW5kaW5nKTtcblx0XHR0aGlzLmZpcmVFdmVudChcInZhbHVlQ2hhbmdlZFwiLCB7XG5cdFx0XHR2YWx1ZTogcHJvcGVydHlCaW5kaW5nLFxuXHRcdFx0b2xkVmFsdWU6IG9sZFZhbHVlLFxuXHRcdFx0aXNJbml0aWFsOiBwcm9wZXJ0eUJpbmRpbmcgPT09IHRoaXMuX2luaXRpYWxWYWx1ZSxcblx0XHRcdGNvbnRleHQ6IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKVxuXHRcdH0pO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBR0E7QUFDQTtBQUNBO0FBQ0E7RUFIQSxJQUtxQkEsV0FBVyxJQUFBQyxJQUFBLEdBRC9CQyxjQUFjLENBQUMsa0NBQWtDLENBQUMsRUFBQUMsS0FBQSxHQUVqREMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFNLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBR3pCQyxLQUFLLENBQUMsQ0FBQyxFQUFBTixJQUFBLENBQUFPLE1BQUEsSUFBQUMsT0FBQSwwQkFBQUMsV0FBQTtJQVNSLFNBQUFWLFlBQVlXLFNBQThDLEVBQUVDLEtBQWlDLEVBQUU7TUFBQSxJQUFBQyxLQUFBO01BQzlGQSxLQUFBLEdBQUFILFdBQUEsQ0FBQUksSUFBQSxPQUFNSCxTQUFTLEVBQXdCQyxLQUFLLENBQUM7TUFBQ0csMEJBQUEsQ0FBQUYsS0FBQSxxQkFBQUcsV0FBQSxFQUFBSCxLQUFBO01BQUFFLDBCQUFBLENBQUFGLEtBQUEsa0JBQUFJLFlBQUEsRUFBQUosS0FBQTtNQUM5Q0EsS0FBQSxDQUFLSyxTQUFTLEdBQUcsSUFBSTtNQUFDLE9BQUFMLEtBQUE7SUFDdkI7SUFBQ00sUUFBQSxHQUFBbkIsV0FBQTtJQUFBb0IsY0FBQSxDQUFBcEIsV0FBQSxFQUFBVSxXQUFBO0lBQUEsSUFBQVcsTUFBQSxHQUFBckIsV0FBQSxDQUFBc0IsU0FBQTtJQUFBRCxNQUFBLENBRURFLGtCQUFrQixHQUFsQixTQUFBQSxrQkFBa0JBLENBQUNDLGVBQXVCLEVBQVE7TUFDakQsTUFBTUMsUUFBUSxHQUFHLElBQUksQ0FBQ0MsV0FBVyxDQUFDLGlCQUFpQixDQUFDO01BQ3BELElBQUksSUFBSSxDQUFDUixTQUFTLElBQUksSUFBSSxDQUFDUyxvQkFBb0IsS0FBSyxJQUFJLENBQUNDLGlCQUFpQixDQUFDLENBQUMsRUFBRUMsT0FBTyxDQUFDLENBQUMsRUFBRTtRQUN4RixJQUFJLENBQUNYLFNBQVMsR0FBRyxLQUFLO1FBQ3RCLElBQUksQ0FBQ1ksYUFBYSxHQUFHTixlQUFlO1FBQ3BDLElBQUksQ0FBQ0csb0JBQW9CLEdBQUcsSUFBSSxDQUFDQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUVDLE9BQU8sQ0FBQyxDQUFDO01BQ2hFO01BQ0FuQixXQUFBLENBQUFZLFNBQUEsQ0FBTVMsV0FBVyxDQUFBakIsSUFBQSxPQUFDLGlCQUFpQixFQUFFVSxlQUFlO01BQ3BELElBQUksQ0FBQ1EsU0FBUyxDQUFDLGNBQWMsRUFBRTtRQUM5QkMsS0FBSyxFQUFFVCxlQUFlO1FBQ3RCQyxRQUFRLEVBQUVBLFFBQVE7UUFDbEJQLFNBQVMsRUFBRU0sZUFBZSxLQUFLLElBQUksQ0FBQ00sYUFBYTtRQUNqREksT0FBTyxFQUFFLElBQUksQ0FBQ04saUJBQWlCLENBQUM7TUFDakMsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUFBLE9BQUE1QixXQUFBO0VBQUEsRUFoQ3VDbUMsVUFBVSxHQUFBbkIsV0FBQSxHQUFBb0IseUJBQUEsQ0FBQTNCLE9BQUEsQ0FBQWEsU0FBQSxzQkFBQW5CLEtBQUE7SUFBQWtDLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBdkIsWUFBQSxHQUFBbUIseUJBQUEsQ0FBQTNCLE9BQUEsQ0FBQWEsU0FBQSxtQkFBQWhCLEtBQUE7SUFBQStCLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBL0IsT0FBQSxNQUFBRCxNQUFBO0VBQUFXLFFBQUEsR0FBQW5CLFdBQUE7RUFBQSxPQUFBbUIsUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
@@ -32,6 +32,8 @@ export default class DataWatcher extends UI5Element {
32
32
 
33
33
  private isInitial: boolean;
34
34
 
35
+ private _previousContextPath?: string;
36
+
35
37
  constructor(idOrProps?: string | PropertiesOf<DataWatcher>, props?: PropertiesOf<DataWatcher>) {
36
38
  super(idOrProps as string | undefined, props);
37
39
  this.isInitial = true;
@@ -39,9 +41,10 @@ export default class DataWatcher extends UI5Element {
39
41
 
40
42
  setPropertyBinding(propertyBinding: string): void {
41
43
  const oldValue = this.getProperty("propertyBinding");
42
- if (this.isInitial) {
44
+ if (this.isInitial || this._previousContextPath !== this.getBindingContext()?.getPath()) {
43
45
  this.isInitial = false;
44
46
  this._initialValue = propertyBinding;
47
+ this._previousContextPath = this.getBindingContext()?.getPath();
45
48
  }
46
49
  super.setProperty("propertyBinding", propertyBinding);
47
50
  this.fireEvent("valueChanged", {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/core/Control"], function (ClassSupport, Control) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/EventDelegateHook", "../CommonUtils"], function (ClassSupport, EventDelegateHook, CommonUtils) {
6
6
  "use strict";
@@ -86,12 +86,18 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/EventDelegateHook", "../
86
86
  for (const formContainer of formContainers) {
87
87
  const formElements = formContainer?.getFormElements();
88
88
  const isThereAnyVisibleItem = formElements?.some(fe => fe?.getVisible());
89
+ const isUsingPartOfPreviewAnnotation = formElements.some(formElement => {
90
+ const bindingInfo = formElement?.getBindingInfo?.("visible");
91
+ if (Array.isArray(bindingInfo?.parts)) return bindingInfo.parts.some(bindingInfoPart => bindingInfoPart.path === "showDetails");
92
+ return false;
93
+ });
89
94
 
90
95
  /**
91
96
  * This condition ignores the form container when a new group is created using the Adapt UI.
92
- * If the group is empty, we should not hide it, as it is required to be there to add additional form elements
97
+ * If the group is empty, we should not hide it, as it is required to be there to add additional form elements.
98
+ * If the form container itself is marked as UI.Hidden, then we should not hide it.
93
99
  */
94
- if (this.appComponent?.isAdaptationMode() === true && formElements?.length === 0) {
100
+ if (this.appComponent?.isAdaptationMode() === true && formElements?.length === 0 || isUsingPartOfPreviewAnnotation || formContainer.data("UiHiddenPresent") === "true") {
95
101
  continue;
96
102
  }
97
103
 
@@ -118,4 +124,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/EventDelegateHook", "../
118
124
  }(EventDelegateHook)) || _class);
119
125
  return HideFormGroupAutomatically;
120
126
  }, false);
121
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJIaWRlRm9ybUdyb3VwQXV0b21hdGljYWxseSIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9jbGFzcyIsIl9FdmVudERlbGVnYXRlSG9vayIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiYXBwQ29tcG9uZW50IiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0UGFyZW50IiwiaGlkZVN1YnNlY3Rpb25zRm9ybUNvbnRhaW5lciIsImhpZGVIZWFkZXJDb250YWluZXIiLCJwYXJlbnQiLCJpc0EiLCJmb3JtQ29udGFpbmVycyIsImdldEZvcm1Db250YWluZXJzIiwiaGlkZUZvcm1Db250YWluZXJzIiwib3AiLCJmZXRjaE9iamVjdFBhZ2UiLCJzZWN0aW9ucyIsImdldFNlY3Rpb25zIiwiaXNBcnJheSIsInNlY3Rpb24iLCJzdWJTZWN0aW9ucyIsImdldFN1YlNlY3Rpb25zIiwic3ViU2VjdGlvbiIsInN1YlNlY3Rpb25CbG9ja3MiLCJnZXRCbG9ja3MiLCJpc0VkaXRhYmxlSGVhZGVyIiwic29tZSIsImhlYWRlckJsb2NrIiwic3ViU2VjdGlvbkJsb2NrIiwiZm9ybUNvbnRhaW5lciIsImZvcm1FbGVtZW50cyIsImdldEZvcm1FbGVtZW50cyIsImlzVGhlcmVBbnlWaXNpYmxlSXRlbSIsImZlIiwiZ2V0VmlzaWJsZSIsImlzQWRhcHRhdGlvbk1vZGUiLCJzZXRWaXNpYmxlIiwiRXZlbnREZWxlZ2F0ZUhvb2siXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkhpZGVGb3JtR3JvdXBBdXRvbWF0aWNhbGx5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEV2ZW50RGVsZWdhdGVIb29rIGZyb20gXCJzYXAvZmUvYmFzZS9FdmVudERlbGVnYXRlSG9va1wiO1xuaW1wb3J0IHR5cGUgU2VjdGlvbiBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9TZWN0aW9uXCI7XG5pbXBvcnQgdHlwZSBTdWJTZWN0aW9uQmxvY2sgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvT2JqZWN0UGFnZS9jb250cm9scy9TdWJTZWN0aW9uQmxvY2tcIjtcbmltcG9ydCB0eXBlIEZvcm0gZnJvbSBcInNhcC91aS9sYXlvdXQvZm9ybS9Gb3JtXCI7XG5pbXBvcnQgdHlwZSBGb3JtQ29udGFpbmVyIGZyb20gXCJzYXAvdWkvbGF5b3V0L2Zvcm0vRm9ybUNvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL21kYy9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBPYmplY3RQYWdlTGF5b3V0IGZyb20gXCJzYXAvdXhhcC9PYmplY3RQYWdlTGF5b3V0XCI7XG5pbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcIi4uL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCIuLi9Db21tb25VdGlsc1wiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5jb250cm9scy5IaWRlRm9ybUdyb3VwQXV0b21hdGljYWxseVwiKVxuY2xhc3MgSGlkZUZvcm1Hcm91cEF1dG9tYXRpY2FsbHkgZXh0ZW5kcyBFdmVudERlbGVnYXRlSG9vayB7XG5cdGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XG5cblx0b25CZWZvcmVSZW5kZXJpbmcoKTogdm9pZCB7XG5cdFx0dGhpcy5hcHBDb21wb25lbnQgPSBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodGhpcy5nZXRQYXJlbnQoKSBhcyBDb250cm9sKTtcblxuXHRcdHRoaXMuaGlkZVN1YnNlY3Rpb25zRm9ybUNvbnRhaW5lcigpO1xuXHRcdHRoaXMuaGlkZUhlYWRlckNvbnRhaW5lcigpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyB3aGV0aGVyIGFsbCB0aGUgZm9ybSBlbGVtZW50cyBhcmUgaGlkZGVuLCBhbmQgdGhlbiBoaWRlcyB0aGUgZm9ybSBjb250YWluZXIuXG5cdCAqL1xuXHRwcml2YXRlIGhpZGVTdWJzZWN0aW9uc0Zvcm1Db250YWluZXIoKTogdm9pZCB7XG5cdFx0Y29uc3QgcGFyZW50ID0gdGhpcz8uZ2V0UGFyZW50KCk7XG5cdFx0aWYgKHBhcmVudD8uaXNBPEZvcm0+KFwic2FwLnVpLmxheW91dC5mb3JtLkZvcm1cIikpIHtcblx0XHRcdGNvbnN0IGZvcm1Db250YWluZXJzID0gcGFyZW50Py5nZXRGb3JtQ29udGFpbmVycygpO1xuXHRcdFx0dGhpcy5oaWRlRm9ybUNvbnRhaW5lcnMoZm9ybUNvbnRhaW5lcnMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3Mgd2hldGhlciBhbGwgdGhlIGZvcm0gZWxlbWVudHMgd2l0aGluIGFuIGVkaXRhYmxlIGhlYWRlciBhcmUgaGlkZGVuLCBhbmQgdGhlbiBoaWRlcyB0aGUgZm9ybSBjb250YWluZXIuXG5cdCAqL1xuXHRwcml2YXRlIGhpZGVIZWFkZXJDb250YWluZXIoKTogdm9pZCB7XG5cdFx0Y29uc3Qgb3AgPSB0aGlzLmZldGNoT2JqZWN0UGFnZSgpO1xuXHRcdC8qKlxuXHRcdCAqIEdldCB0aGUgc2VjdGlvbnMgb2YgdGhlIG9iamVjdCBwYWdlXG5cdFx0ICovXG5cdFx0Y29uc3Qgc2VjdGlvbnMgPSBvcD8uZ2V0U2VjdGlvbnM/LigpIGFzIFNlY3Rpb25bXTtcblxuXHRcdGlmICghQXJyYXkuaXNBcnJheShzZWN0aW9ucykpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRmb3IgKGNvbnN0IHNlY3Rpb24gb2Ygc2VjdGlvbnMpIHtcblx0XHRcdC8qKlxuXHRcdFx0ICogTmF2aWdhdGUgdGhyb3VnaCB0aGUgc3Vic2VjdGlvbnMgd2l0aGluIHRoZSBzZWN0aW9ucy5cblx0XHRcdCAqL1xuXHRcdFx0Y29uc3Qgc3ViU2VjdGlvbnMgPSBzZWN0aW9uPy5nZXRTdWJTZWN0aW9ucygpO1xuXG5cdFx0XHRmb3IgKGNvbnN0IHN1YlNlY3Rpb24gb2Ygc3ViU2VjdGlvbnMpIHtcblx0XHRcdFx0LyoqXG5cdFx0XHRcdCAqIEdldCB0aGUgc3Vic2VjdGlvbiBibG9ja3MuXG5cdFx0XHRcdCAqL1xuXHRcdFx0XHRjb25zdCBzdWJTZWN0aW9uQmxvY2tzID0gc3ViU2VjdGlvbj8uZ2V0QmxvY2tzKCkgYXMgU3ViU2VjdGlvbkJsb2NrW107XG5cdFx0XHRcdC8qKlxuXHRcdFx0XHQgKiBDaGVja3MgaWYgdGhlcmUgaXMgYSBmb3JtIGluc2lkZSB0aGUgYmxvY2suXG5cdFx0XHRcdCAqL1xuXHRcdFx0XHRjb25zdCBpc0VkaXRhYmxlSGVhZGVyID0gc3ViU2VjdGlvbkJsb2Nrcz8uc29tZSgoaGVhZGVyQmxvY2spID0+IGhlYWRlckJsb2NrLmlzQTxGb3JtPihcInNhcC51aS5sYXlvdXQuZm9ybS5Gb3JtXCIpKTtcblxuXHRcdFx0XHRpZiAoIUFycmF5LmlzQXJyYXkoc3ViU2VjdGlvbkJsb2NrcykgfHwgIWlzRWRpdGFibGVIZWFkZXIpIHtcblx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGZvciAoY29uc3Qgc3ViU2VjdGlvbkJsb2NrIG9mIHN1YlNlY3Rpb25CbG9ja3MpIHtcblx0XHRcdFx0XHQvKipcblx0XHRcdFx0XHQgKiBHZXQgdGhlIGZvcm0gY29udGFpbmVycyB3aXRoaW4gdGhlIHN1YnNlY3Rpb24uXG5cdFx0XHRcdFx0ICovXG5cdFx0XHRcdFx0aWYgKHN1YlNlY3Rpb25CbG9jay5pc0E8Rm9ybT4oXCJzYXAudWkubGF5b3V0LmZvcm0uRm9ybVwiKSkge1xuXHRcdFx0XHRcdFx0Y29uc3QgZm9ybUNvbnRhaW5lcnMgPSBzdWJTZWN0aW9uQmxvY2s/LmdldEZvcm1Db250YWluZXJzPy4oKTtcblx0XHRcdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KGZvcm1Db250YWluZXJzKSkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLmhpZGVGb3JtQ29udGFpbmVycyhmb3JtQ29udGFpbmVycyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBoaWRlRm9ybUNvbnRhaW5lcnMoZm9ybUNvbnRhaW5lcnM6IEZvcm1Db250YWluZXJbXSk6IHZvaWQge1xuXHRcdGlmICghQXJyYXkuaXNBcnJheShmb3JtQ29udGFpbmVycykpIHJldHVybjtcblxuXHRcdGZvciAoY29uc3QgZm9ybUNvbnRhaW5lciBvZiBmb3JtQ29udGFpbmVycykge1xuXHRcdFx0Y29uc3QgZm9ybUVsZW1lbnRzID0gZm9ybUNvbnRhaW5lcj8uZ2V0Rm9ybUVsZW1lbnRzKCk7XG5cdFx0XHRjb25zdCBpc1RoZXJlQW55VmlzaWJsZUl0ZW0gPSBmb3JtRWxlbWVudHM/LnNvbWUoKGZlKSA9PiBmZT8uZ2V0VmlzaWJsZSgpKTtcblxuXHRcdFx0LyoqXG5cdFx0XHQgKiBUaGlzIGNvbmRpdGlvbiBpZ25vcmVzIHRoZSBmb3JtIGNvbnRhaW5lciB3aGVuIGEgbmV3IGdyb3VwIGlzIGNyZWF0ZWQgdXNpbmcgdGhlIEFkYXB0IFVJLlxuXHRcdFx0ICogSWYgdGhlIGdyb3VwIGlzIGVtcHR5LCB3ZSBzaG91bGQgbm90IGhpZGUgaXQsIGFzIGl0IGlzIHJlcXVpcmVkIHRvIGJlIHRoZXJlIHRvIGFkZCBhZGRpdGlvbmFsIGZvcm0gZWxlbWVudHNcblx0XHRcdCAqL1xuXHRcdFx0aWYgKHRoaXMuYXBwQ29tcG9uZW50Py5pc0FkYXB0YXRpb25Nb2RlKCkgPT09IHRydWUgJiYgZm9ybUVsZW1lbnRzPy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdC8qKlxuXHRcdFx0ICogU2luY2UgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZXZlcnkgdGltZSB0aGVyZSdzIGEgY2hhbmdlIGluIHRoZSBmb3JtLCB3ZSBuZWVkIHRvIGNvbnNpZGVyIHR3byBzY2VuYXJpb3MuXG5cdFx0XHQgKiBGaXJzdCwgaWYgdGhlIGZvcm0gY29udGFpbmVyIGlzIGhpZGRlbiwgd2UgbXVzdCBkZXRlcm1pbmUgd2hldGhlciBpdCBzaG91bGQgYmUgc2hvd24gYWdhaW4uXG5cdFx0XHQgKiBTZWNvbmQsIGlmIHRoZSBmb3JtIGNvbnRhaW5lciBpcyBjdXJyZW50bHkgZGlzcGxheWVkLCB3ZSBuZWVkIHRvIGFzc2VzcyB3aGV0aGVyIGl0IHNob3VsZCBiZSBoaWRkZW4uXG5cdFx0XHQgKi9cblx0XHRcdGlmIChpc1RoZXJlQW55VmlzaWJsZUl0ZW0gPT09IGZhbHNlKSB7XG5cdFx0XHRcdGZvcm1Db250YWluZXIuc2V0VmlzaWJsZShmYWxzZSk7XG5cdFx0XHR9IGVsc2UgaWYgKCFmb3JtQ29udGFpbmVyLmdldFZpc2libGUoKSkge1xuXHRcdFx0XHRmb3JtQ29udGFpbmVyLnNldFZpc2libGUodHJ1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBmZXRjaE9iamVjdFBhZ2UoKTogT2JqZWN0UGFnZUxheW91dCB8IG51bGwge1xuXHRcdGxldCBwYXJlbnQgPSB0aGlzLmdldFBhcmVudCgpO1xuXG5cdFx0d2hpbGUgKCEocGFyZW50Py5pc0E8T2JqZWN0UGFnZUxheW91dD4oXCJzYXAudXhhcC5PYmplY3RQYWdlTGF5b3V0XCIpID8/IGZhbHNlKSAmJiB0eXBlb2YgcGFyZW50Py5nZXRQYXJlbnQgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0cGFyZW50ID0gcGFyZW50LmdldFBhcmVudCgpO1xuXHRcdH1cblxuXHRcdHJldHVybiBwYXJlbnQ/LmlzQTxPYmplY3RQYWdlTGF5b3V0PihcInNhcC51eGFwLk9iamVjdFBhZ2VMYXlvdXRcIikgPT09IHRydWUgPyAocGFyZW50IGFzIE9iamVjdFBhZ2VMYXlvdXQpIDogbnVsbDtcblx0fVxufVxuXG5leHBvcnQgZGVm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
127
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJIaWRlRm9ybUdyb3VwQXV0b21hdGljYWxseSIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9jbGFzcyIsIl9FdmVudERlbGVnYXRlSG9vayIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiYXBwQ29tcG9uZW50IiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0UGFyZW50IiwiaGlkZVN1YnNlY3Rpb25zRm9ybUNvbnRhaW5lciIsImhpZGVIZWFkZXJDb250YWluZXIiLCJwYXJlbnQiLCJpc0EiLCJmb3JtQ29udGFpbmVycyIsImdldEZvcm1Db250YWluZXJzIiwiaGlkZUZvcm1Db250YWluZXJzIiwib3AiLCJmZXRjaE9iamVjdFBhZ2UiLCJzZWN0aW9ucyIsImdldFNlY3Rpb25zIiwiaXNBcnJheSIsInNlY3Rpb24iLCJzdWJTZWN0aW9ucyIsImdldFN1YlNlY3Rpb25zIiwic3ViU2VjdGlvbiIsInN1YlNlY3Rpb25CbG9ja3MiLCJnZXRCbG9ja3MiLCJpc0VkaXRhYmxlSGVhZGVyIiwic29tZSIsImhlYWRlckJsb2NrIiwic3ViU2VjdGlvbkJsb2NrIiwiZm9ybUNvbnRhaW5lciIsImZvcm1FbGVtZW50cyIsImdldEZvcm1FbGVtZW50cyIsImlzVGhlcmVBbnlWaXNpYmxlSXRlbSIsImZlIiwiZ2V0VmlzaWJsZSIsImlzVXNpbmdQYXJ0T2ZQcmV2aWV3QW5ub3RhdGlvbiIsImZvcm1FbGVtZW50IiwiYmluZGluZ0luZm8iLCJnZXRCaW5kaW5nSW5mbyIsInBhcnRzIiwiYmluZGluZ0luZm9QYXJ0IiwicGF0aCIsImlzQWRhcHRhdGlvbk1vZGUiLCJkYXRhIiwic2V0VmlzaWJsZSIsIkV2ZW50RGVsZWdhdGVIb29rIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJIaWRlRm9ybUdyb3VwQXV0b21hdGljYWxseS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBFdmVudERlbGVnYXRlSG9vayBmcm9tIFwic2FwL2ZlL2Jhc2UvRXZlbnREZWxlZ2F0ZUhvb2tcIjtcbmltcG9ydCB0eXBlIFNlY3Rpb24gZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvU2VjdGlvblwiO1xuaW1wb3J0IHR5cGUgU3ViU2VjdGlvbkJsb2NrIGZyb20gXCJzYXAvZmUvdGVtcGxhdGVzL09iamVjdFBhZ2UvY29udHJvbHMvU3ViU2VjdGlvbkJsb2NrXCI7XG5pbXBvcnQgdHlwZSBGb3JtIGZyb20gXCJzYXAvdWkvbGF5b3V0L2Zvcm0vRm9ybVwiO1xuaW1wb3J0IHR5cGUgRm9ybUNvbnRhaW5lciBmcm9tIFwic2FwL3VpL2xheW91dC9mb3JtL0Zvcm1Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9tZGMvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgT2JqZWN0UGFnZUxheW91dCBmcm9tIFwic2FwL3V4YXAvT2JqZWN0UGFnZUxheW91dFwiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCIuLi9BcHBDb21wb25lbnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwiLi4vQ29tbW9uVXRpbHNcIjtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbHMuSGlkZUZvcm1Hcm91cEF1dG9tYXRpY2FsbHlcIilcbmNsYXNzIEhpZGVGb3JtR3JvdXBBdXRvbWF0aWNhbGx5IGV4dGVuZHMgRXZlbnREZWxlZ2F0ZUhvb2sge1xuXHRhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudCB8IG51bGwgPSBudWxsO1xuXG5cdG9uQmVmb3JlUmVuZGVyaW5nKCk6IHZvaWQge1xuXHRcdHRoaXMuYXBwQ29tcG9uZW50ID0gQ29tbW9uVXRpbHMuZ2V0QXBwQ29tcG9uZW50KHRoaXMuZ2V0UGFyZW50KCkgYXMgQ29udHJvbCk7XG5cblx0XHR0aGlzLmhpZGVTdWJzZWN0aW9uc0Zvcm1Db250YWluZXIoKTtcblx0XHR0aGlzLmhpZGVIZWFkZXJDb250YWluZXIoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3Mgd2hldGhlciBhbGwgdGhlIGZvcm0gZWxlbWVudHMgYXJlIGhpZGRlbiwgYW5kIHRoZW4gaGlkZXMgdGhlIGZvcm0gY29udGFpbmVyLlxuXHQgKi9cblx0cHJpdmF0ZSBoaWRlU3Vic2VjdGlvbnNGb3JtQ29udGFpbmVyKCk6IHZvaWQge1xuXHRcdGNvbnN0IHBhcmVudCA9IHRoaXM/LmdldFBhcmVudCgpO1xuXHRcdGlmIChwYXJlbnQ/LmlzQTxGb3JtPihcInNhcC51aS5sYXlvdXQuZm9ybS5Gb3JtXCIpKSB7XG5cdFx0XHRjb25zdCBmb3JtQ29udGFpbmVycyA9IHBhcmVudD8uZ2V0Rm9ybUNvbnRhaW5lcnMoKTtcblx0XHRcdHRoaXMuaGlkZUZvcm1Db250YWluZXJzKGZvcm1Db250YWluZXJzKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIHdoZXRoZXIgYWxsIHRoZSBmb3JtIGVsZW1lbnRzIHdpdGhpbiBhbiBlZGl0YWJsZSBoZWFkZXIgYXJlIGhpZGRlbiwgYW5kIHRoZW4gaGlkZXMgdGhlIGZvcm0gY29udGFpbmVyLlxuXHQgKi9cblx0cHJpdmF0ZSBoaWRlSGVhZGVyQ29udGFpbmVyKCk6IHZvaWQge1xuXHRcdGNvbnN0IG9wID0gdGhpcy5mZXRjaE9iamVjdFBhZ2UoKTtcblx0XHQvKipcblx0XHQgKiBHZXQgdGhlIHNlY3Rpb25zIG9mIHRoZSBvYmplY3QgcGFnZVxuXHRcdCAqL1xuXHRcdGNvbnN0IHNlY3Rpb25zID0gb3A/LmdldFNlY3Rpb25zPy4oKSBhcyBTZWN0aW9uW107XG5cblx0XHRpZiAoIUFycmF5LmlzQXJyYXkoc2VjdGlvbnMpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Zm9yIChjb25zdCBzZWN0aW9uIG9mIHNlY3Rpb25zKSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIE5hdmlnYXRlIHRocm91Z2ggdGhlIHN1YnNlY3Rpb25zIHdpdGhpbiB0aGUgc2VjdGlvbnMuXG5cdFx0XHQgKi9cblx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gc2VjdGlvbj8uZ2V0U3ViU2VjdGlvbnMoKTtcblxuXHRcdFx0Zm9yIChjb25zdCBzdWJTZWN0aW9uIG9mIHN1YlNlY3Rpb25zKSB7XG5cdFx0XHRcdC8qKlxuXHRcdFx0XHQgKiBHZXQgdGhlIHN1YnNlY3Rpb24gYmxvY2tzLlxuXHRcdFx0XHQgKi9cblx0XHRcdFx0Y29uc3Qgc3ViU2VjdGlvbkJsb2NrcyA9IHN1YlNlY3Rpb24/LmdldEJsb2NrcygpIGFzIFN1YlNlY3Rpb25CbG9ja1tdO1xuXHRcdFx0XHQvKipcblx0XHRcdFx0ICogQ2hlY2tzIGlmIHRoZXJlIGlzIGEgZm9ybSBpbnNpZGUgdGhlIGJsb2NrLlxuXHRcdFx0XHQgKi9cblx0XHRcdFx0Y29uc3QgaXNFZGl0YWJsZUhlYWRlciA9IHN1YlNlY3Rpb25CbG9ja3M/LnNvbWUoKGhlYWRlckJsb2NrKSA9PiBoZWFkZXJCbG9jay5pc0E8Rm9ybT4oXCJzYXAudWkubGF5b3V0LmZvcm0uRm9ybVwiKSk7XG5cblx0XHRcdFx0aWYgKCFBcnJheS5pc0FycmF5KHN1YlNlY3Rpb25CbG9ja3MpIHx8ICFpc0VkaXRhYmxlSGVhZGVyKSB7XG5cdFx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRmb3IgKGNvbnN0IHN1YlNlY3Rpb25CbG9jayBvZiBzdWJTZWN0aW9uQmxvY2tzKSB7XG5cdFx0XHRcdFx0LyoqXG5cdFx0XHRcdFx0ICogR2V0IHRoZSBmb3JtIGNvbnRhaW5lcnMgd2l0aGluIHRoZSBzdWJzZWN0aW9uLlxuXHRcdFx0XHRcdCAqL1xuXHRcdFx0XHRcdGlmIChzdWJTZWN0aW9uQmxvY2suaXNBPEZvcm0+KFwic2FwLnVpLmxheW91dC5mb3JtLkZvcm1cIikpIHtcblx0XHRcdFx0XHRcdGNvbnN0IGZvcm1Db250YWluZXJzID0gc3ViU2VjdGlvbkJsb2NrPy5nZXRGb3JtQ29udGFpbmVycz8uKCk7XG5cdFx0XHRcdFx0XHRpZiAoQXJyYXkuaXNBcnJheShmb3JtQ29udGFpbmVycykpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5oaWRlRm9ybUNvbnRhaW5lcnMoZm9ybUNvbnRhaW5lcnMpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgaGlkZUZvcm1Db250YWluZXJzKGZvcm1Db250YWluZXJzOiBGb3JtQ29udGFpbmVyW10pOiB2b2lkIHtcblx0XHRpZiAoIUFycmF5LmlzQXJyYXkoZm9ybUNvbnRhaW5lcnMpKSByZXR1cm47XG5cblx0XHRmb3IgKGNvbnN0IGZvcm1Db250YWluZXIgb2YgZm9ybUNvbnRhaW5lcnMpIHtcblx0XHRcdGNvbnN0IGZvcm1FbGVtZW50cyA9IGZvcm1Db250YWluZXI/LmdldEZvcm1FbGVtZW50cygpO1xuXHRcdFx0Y29uc3QgaXNUaGVyZUFueVZpc2libGVJdGVtID0gZm9ybUVsZW1lbnRzPy5zb21lKChmZSkgPT4gZmU/LmdldFZpc2libGUoKSk7XG5cdFx0XHRjb25zdCBpc1VzaW5nUGFydE9mUHJldmlld0Fubm90YXRpb24gPSBmb3JtRWxlbWVudHMuc29tZSgoZm9ybUVsZW1lbnQpID0+IHtcblx0XHRcdFx0Y29uc3QgYmluZGluZ0luZm8gPSBmb3JtRWxlbWVudD8uZ2V0QmluZGluZ0luZm8/LihcInZpc2libGVcIik7XG5cdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KGJpbmRpbmdJbmZvPy5wYXJ0cykpXG5cdFx0XHRcdFx0cmV0dXJuIGJpbmRpbmdJbmZvLnBhcnRzLnNvbWUoKGJpbmRpbmdJbmZvUGFydDogeyBwYXRoOiBzdHJpbmcgfSkgPT4gYmluZGluZ0luZm9QYXJ0LnBhdGggPT09IFwic2hvd0RldGFpbHNcIik7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH0pO1xuXG5cdFx0XHQvKipcblx0XHRcdCAqIFRoaXMgY29uZGl0aW9uIGlnbm9yZXMgdGhlIGZvcm0gY29udGFpbmVyIHdoZW4gYSBuZXcgZ3JvdXAgaXMgY3JlYXRlZCB1c2luZyB0aGUgQWRhcHQgVUkuXG5cdFx0XHQgKiBJZiB0aGUgZ3JvdXAgaXMgZW1wdHksIHdlIHNob3VsZCBub3QgaGlkZSBpdCwgYXMgaXQgaXMgcmVxdWlyZWQgdG8gYmUgdGhlcmUgdG8gYWRkIGFkZGl0aW9uYWwgZm9ybSBlbGVtZW50cy5cblx0XHRcdCAqIElmIHRoZSBmb3JtIGNvbnRhaW5lciBpdHNlbGYgaXMgbWFya2VkIGFzIFVJLkhpZGRlbiwgdGhlbiB3ZSBzaG91bGQgbm90IGhpZGUgaXQuXG5cdFx0XHQgKi9cblx0XHRcdGlmIChcblx0XHRcdFx0KHRoaXMuYXBwQ29tcG9uZW50Py5pc0FkYXB0YXRpb25Nb2RlKCkgPT09IHRydWUgJiYgZm9ybUVsZW1lbnRzPy5sZW5ndGggPT09IDApIHx8XG5cdFx0XHRcdGlzVXNpbmdQYXJ0T2ZQcmV2aWV3QW5ub3RhdGlvbiB8fFxuXHRcdFx0XHRmb3JtQ29udGFpbmVyLmRhdGEoXCJVaUhpZGRlblByZXNlbnRcIikgPT09IFwidHJ1ZVwiXG5cdFx0XHQpIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdC8qKlxuXHRcdFx0ICogU2luY2UgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZXZlcnkgdGltZSB0aGVyZSdzIGEgY2hhbmdlIGluIHRoZSBmb3JtLCB3ZSBuZWVkIHRvIGNvbnNpZGVyIHR3byBzY2VuYXJpb3MuXG5cdFx0XHQgKiBGaXJzdCwgaWYgdGhlIGZvcm0gY29udGFpbmVyIGlzIGhpZGRlbiwgd2UgbXVzdCBkZXRlcm1pbmUgd2hldGhlciBpdCBzaG91bGQgYmUgc2hvd24gYWdhaW4uXG5cdFx0XHQgKiBTZWNvbmQsIGlmIHRoZSBmb3JtIGNvbnRhaW5lciBpcyBjdXJyZW50bHkgZGlzcGxheWVkLCB3ZSBuZWVkIHRvIGFzc2VzcyB3aGV0aGVyIGl0IHNob3VsZCBiZSBoaWRkZW4uXG5cdFx0XHQgKi9cblx0XHRcdGlmIChpc1RoZXJlQW55VmlzaWJsZUl0ZW0gPT09IGZhbHNlKSB7XG5cdFx0XHRcdGZvcm1Db250YWluZXIuc2V0VmlzaWJsZShmYWxzZSk7XG5cdFx0XHR9IGVsc2UgaWYgKCFmb3JtQ29udGFpbmVyLmdldFZpc2libGUoKSkge1xuXHRcdFx0XHRmb3JtQ29udGFpbmVyLnNldFZpc2libGUodHJ1ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBmZXRjaE9iamVjdFBhZ2UoKTogT2JqZWN0UGFnZUxheW91dCB8IG51bGwge1xuXHRcdGxldCBwYXJlbnQgPSB0aGlzLmdldFBhcmVudCgpO1xuXG5cdFx0d2hpbGUgKCEocGFyZW50Py5pc0E8T2JqZWN0UGFnZUxheW91dD4oXCJzYXAudXhhcC5PYmplY3RQYWdlTGF5b3V0XCIpID8/IGZhbHNlKSAmJiB0eXBlb2YgcGFyZW50Py5nZXRQYXJlbnQgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0cGFyZW50ID0gcGFyZW50LmdldFBhcmVudCgpO1xuXHRcdH1cblxuXHRcdHJldHVybiBwYXJlbnQ/LmlzQTxPYmplY3RQYWdlTGF5b3V0PihcInNhcC51eGFwLk9iamVjdFBhZ2VMYXlvdXRcIikgPT09IHRydWUgPyAocGFyZW50IGFzIE9iamVjdFBhZ2VMYXlvdXQpIDogbnVsbDtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBIaWRlRm9ybUdyb3VwQXV0b21hdGljYWxseTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7TUFZTUEsMEJBQTBCLElBQUFDLElBQUEsR0FEL0JDLGNBQWMsQ0FBQyxpREFBaUQsQ0FBQyxFQUFBRCxJQUFBLENBQUFFLE1BQUEsMEJBQUFDLGtCQUFBO0lBQUEsU0FBQUosMkJBQUE7TUFBQSxJQUFBSyxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFB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
@@ -86,12 +86,23 @@ class HideFormGroupAutomatically extends EventDelegateHook {
86
86
  for (const formContainer of formContainers) {
87
87
  const formElements = formContainer?.getFormElements();
88
88
  const isThereAnyVisibleItem = formElements?.some((fe) => fe?.getVisible());
89
+ const isUsingPartOfPreviewAnnotation = formElements.some((formElement) => {
90
+ const bindingInfo = formElement?.getBindingInfo?.("visible");
91
+ if (Array.isArray(bindingInfo?.parts))
92
+ return bindingInfo.parts.some((bindingInfoPart: { path: string }) => bindingInfoPart.path === "showDetails");
93
+ return false;
94
+ });
89
95
 
90
96
  /**
91
97
  * This condition ignores the form container when a new group is created using the Adapt UI.
92
- * If the group is empty, we should not hide it, as it is required to be there to add additional form elements
98
+ * If the group is empty, we should not hide it, as it is required to be there to add additional form elements.
99
+ * If the form container itself is marked as UI.Hidden, then we should not hide it.
93
100
  */
94
- if (this.appComponent?.isAdaptationMode() === true && formElements?.length === 0) {
101
+ if (
102
+ (this.appComponent?.isAdaptationMode() === true && formElements?.length === 0) ||
103
+ isUsingPartOfPreviewAnnotation ||
104
+ formContainer.data("UiHiddenPresent") === "true"
105
+ ) {
95
106
  continue;
96
107
  }
97
108
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/ui/mdc/field/MultiValueFieldDelegate"], function (MultiValueFieldDelegate) {
6
6
  "use strict";
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2024 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/helpers/ResourceModelHelper", "sap/m/Button", "sap/m/CustomListItem", "sap/m/Dialog", "sap/m/FlexItemData", "sap/m/HBox", "sap/m/List", "sap/m/Text", "sap/m/Toolbar", "sap/m/ToolbarSpacer", "sap/ui/base/ManagedObject", "sap/ui/core/library", "sap/ui/model/Sorter", "sap/ui/model/json/JSONModel", "../../formatters/ValueFormatter", "../../helpers/StandardRecommendationHelper", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/Fragment", "sap/fe/base/jsx-runtime/jsxs"], function (Log, ClassSupport, MetaModelConverter, ResourceModelHelper, Button, CustomListItem, Dialog, FlexItemData, HBox, List, Text, Toolbar, ToolbarSpacer, ManagedObject, library, Sorter, JSONModel, valueFormatters, StandardRecommendationHelper, _jsx, _Fragment, _jsxs) {
6
6
  "use strict";
@@ -0,0 +1,68 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/m/Button", "sap/m/Dialog", "sap/m/Text", "sap/ui/core/library", "sap/fe/base/jsx-runtime/jsx", "sap/fe/base/jsx-runtime/jsxs"], function (Button, Dialog, Text, library, _jsx, _jsxs) {
6
+ "use strict";
7
+
8
+ var _exports = {};
9
+ var ValueState = library.ValueState;
10
+ let BeforeActionDialog = /*#__PURE__*/function () {
11
+ function BeforeActionDialog(view) {
12
+ this.containingView = view;
13
+ this.dialog = _jsxs(Dialog, {
14
+ title: "{sap.fe.i18n>WARNING}",
15
+ type: "Message",
16
+ state: ValueState.Warning,
17
+ children: [{
18
+ content: _jsx(Text, {
19
+ text: "{sap.fe.i18n>C_INLINE_EDIT_BEFOREACTION_MESSAGE}"
20
+ })
21
+ }, {
22
+ beginButton: _jsx(Button, {
23
+ type: "Emphasized",
24
+ text: "{sap.fe.i18n>C_INLINE_EDIT_DIALOG_SAVE}",
25
+ press: () => this.closeAndSave()
26
+ })
27
+ }, {
28
+ endButton: _jsx(Button, {
29
+ text: "{sap.fe.i18n>C_INLINE_EDIT_DIALOG_DISCARD}",
30
+ press: () => this.closeAndDiscard()
31
+ })
32
+ }]
33
+ });
34
+ view.addDependent(this.dialog);
35
+ }
36
+
37
+ /**
38
+ * Open.
39
+ */
40
+ _exports = BeforeActionDialog;
41
+ var _proto = BeforeActionDialog.prototype;
42
+ _proto.open = function open() {
43
+ this.dialog.open();
44
+ }
45
+
46
+ /**
47
+ * Close the dialog and call the inline edit discard.
48
+ */;
49
+ _proto.closeAndDiscard = function closeAndDiscard() {
50
+ this.dialog.close();
51
+ this.containingView.getController().inlineEditFlow.inlineEditDiscard();
52
+ this.dialog.destroy();
53
+ }
54
+
55
+ /**
56
+ * Close the dialog and call the inline edit save.
57
+ */;
58
+ _proto.closeAndSave = function closeAndSave() {
59
+ this.dialog.close();
60
+ this.containingView.getController().inlineEditFlow.inlineEditSave();
61
+ this.dialog.destroy();
62
+ };
63
+ return BeforeActionDialog;
64
+ }();
65
+ _exports = BeforeActionDialog;
66
+ return _exports;
67
+ }, false);
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCZWZvcmVBY3Rpb25EaWFsb2ciLCJ2aWV3IiwiY29udGFpbmluZ1ZpZXciLCJkaWFsb2ciLCJfanN4cyIsIkRpYWxvZyIsInRpdGxlIiwidHlwZSIsInN0YXRlIiwiVmFsdWVTdGF0ZSIsIldhcm5pbmciLCJjaGlsZHJlbiIsImNvbnRlbnQiLCJfanN4IiwiVGV4dCIsInRleHQiLCJiZWdpbkJ1dHRvbiIsIkJ1dHRvbiIsInByZXNzIiwiY2xvc2VBbmRTYXZlIiwiZW5kQnV0dG9uIiwiY2xvc2VBbmREaXNjYXJkIiwiYWRkRGVwZW5kZW50IiwiX2V4cG9ydHMiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJvcGVuIiwiY2xvc2UiLCJnZXRDb250cm9sbGVyIiwiaW5saW5lRWRpdEZsb3ciLCJpbmxpbmVFZGl0RGlzY2FyZCIsImRlc3Ryb3kiLCJpbmxpbmVFZGl0U2F2ZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQmVmb3JlQWN0aW9uRGlhbG9nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZFVmlldyB9IGZyb20gXCJzYXAvZmUvY29yZS9CYXNlQ29udHJvbGxlclwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwic2FwL20vQnV0dG9uXCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCBUZXh0IGZyb20gXCJzYXAvbS9UZXh0XCI7XG5pbXBvcnQgeyBWYWx1ZVN0YXRlIH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmVmb3JlQWN0aW9uRGlhbG9nIHtcblx0cHVibGljIGNvbnRhaW5pbmdWaWV3ITogRkVWaWV3O1xuXG5cdHB1YmxpYyBkaWFsb2chOiBEaWFsb2c7XG5cblx0Y29uc3RydWN0b3IodmlldzogRkVWaWV3KSB7XG5cdFx0dGhpcy5jb250YWluaW5nVmlldyA9IHZpZXc7XG5cdFx0dGhpcy5kaWFsb2cgPSAoXG5cdFx0XHQ8RGlhbG9nIHRpdGxlPVwie3NhcC5mZS5pMThuPldBUk5JTkd9XCIgdHlwZT1cIk1lc3NhZ2VcIiBzdGF0ZT17VmFsdWVTdGF0ZS5XYXJuaW5nfT5cblx0XHRcdFx0e3sgY29udGVudDogPFRleHQgdGV4dD1cIntzYXAuZmUuaTE4bj5DX0lOTElORV9FRElUX0JFRk9SRUFDVElPTl9NRVNTQUdFfVwiIC8+IH19XG5cdFx0XHRcdHt7XG5cdFx0XHRcdFx0YmVnaW5CdXR0b246IChcblx0XHRcdFx0XHRcdDxCdXR0b24gdHlwZT1cIkVtcGhhc2l6ZWRcIiB0ZXh0PVwie3NhcC5mZS5pMThuPkNfSU5MSU5FX0VESVRfRElBTE9HX1NBVkV9XCIgcHJlc3M9eygpOiB2b2lkID0+IHRoaXMuY2xvc2VBbmRTYXZlKCl9IC8+XG5cdFx0XHRcdFx0KVxuXHRcdFx0XHR9fVxuXHRcdFx0XHR7eyBlbmRCdXR0b246IDxCdXR0b24gdGV4dD1cIntzYXAuZmUuaTE4bj5DX0lOTElORV9FRElUX0RJQUxPR19ESVNDQVJEfVwiIHByZXNzPXsoKTogdm9pZCA9PiB0aGlzLmNsb3NlQW5kRGlzY2FyZCgpfSAvPiB9fVxuXHRcdFx0PC9EaWFsb2c+XG5cdFx0KTtcblx0XHR2aWV3LmFkZERlcGVuZGVudCh0aGlzLmRpYWxvZyk7XG5cdH1cblxuXHQvKipcblx0ICogT3Blbi5cblx0ICovXG5cdHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuXHRcdHRoaXMuZGlhbG9nLm9wZW4oKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbG9zZSB0aGUgZGlhbG9nIGFuZCBjYWxsIHRoZSBpbmxpbmUgZWRpdCBkaXNjYXJkLlxuXHQgKi9cblx0cHJpdmF0ZSBjbG9zZUFuZERpc2NhcmQoKTogdm9pZCB7XG5cdFx0dGhpcy5kaWFsb2cuY2xvc2UoKTtcblx0XHR0aGlzLmNvbnRhaW5pbmdWaWV3LmdldENvbnRyb2xsZXIoKS5pbmxpbmVFZGl0Rmxvdy5pbmxpbmVFZGl0RGlzY2FyZCgpO1xuXHRcdHRoaXMuZGlhbG9nLmRlc3Ryb3koKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDbG9zZSB0aGUgZGlhbG9nIGFuZCBjYWxsIHRoZSBpbmxpbmUgZWRpdCBzYXZlLlxuXHQgKi9cblx0cHJpdmF0ZSBjbG9zZUFuZFNhdmUoKTogdm9pZCB7XG5cdFx0dGhpcy5kaWFsb2cuY2xvc2UoKTtcblx0XHR0aGlzLmNvbnRhaW5pbmdWaWV3LmdldENvbnRyb2xsZXIoKS5pbmxpbmVFZGl0Rmxvdy5pbmxpbmVFZGl0U2F2ZSgpO1xuXHRcdHRoaXMuZGlhbG9nLmRlc3Ryb3koKTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7TUFNcUJBLGtCQUFrQjtJQUt0QyxTQUFBQSxtQkFBWUMsSUFBWSxFQUFFO01BQ3pCLElBQUksQ0FBQ0MsY0FBYyxHQUFHRCxJQUFJO01BQzFCLElBQUksQ0FBQ0UsTUFBTSxHQUNWQyxLQUFBLENBQUNDLE1BQU07UUFBQ0MsS0FBSyxFQUFDLHVCQUF1QjtRQUFDQyxJQUFJLEVBQUMsU0FBUztRQUFDQyxLQUFLLEVBQUVDLFVBQVUsQ0FBQ0MsT0FBUTtRQUFBQyxRQUFBLEdBQzdFO1VBQUVDLE9BQU8sRUFBRUMsSUFBQSxDQUFDQyxJQUFJO1lBQUNDLElBQUksRUFBQztVQUFrRCxDQUFFO1FBQUUsQ0FBQyxFQUM3RTtVQUNBQyxXQUFXLEVBQ1ZILElBQUEsQ0FBQ0ksTUFBTTtZQUFDVixJQUFJLEVBQUMsWUFBWTtZQUFDUSxJQUFJLEVBQUMseUNBQXlDO1lBQUNHLEtBQUssRUFBRUEsQ0FBQSxLQUFZLElBQUksQ0FBQ0MsWUFBWSxDQUFDO1VBQUUsQ0FBRTtRQUVwSCxDQUFDLEVBQ0E7VUFBRUMsU0FBUyxFQUFFUCxJQUFBLENBQUNJLE1BQU07WUFBQ0YsSUFBSSxFQUFDLDRDQUE0QztZQUFDRyxLQUFLLEVBQUVBLENBQUEsS0FBWSxJQUFJLENBQUNHLGVBQWUsQ0FBQztVQUFFLENBQUU7UUFBRSxDQUFDO01BQUEsQ0FDaEgsQ0FDUjtNQUNEcEIsSUFBSSxDQUFDcUIsWUFBWSxDQUFDLElBQUksQ0FBQ25CLE1BQU0sQ0FBQztJQUMvQjs7SUFFQTtBQUNEO0FBQ0E7SUFGQ29CLFFBQUEsR0FBQXZCLGtCQUFBO0lBQUEsSUFBQXdCLE1BQUEsR0FBQXhCLGtCQUFBLENBQUF5QixTQUFBO0lBQUFELE1BQUEsQ0FHT0UsSUFBSSxHQUFYLFNBQU9BLElBQUlBLENBQUEsRUFBUztNQUNuQixJQUFJLENBQUN2QixNQUFNLENBQUN1QixJQUFJLENBQUMsQ0FBQztJQUNuQjs7SUFFQTtBQUNEO0FBQ0EsT0FGQztJQUFBRixNQUFBLENBR1FILGVBQWUsR0FBdkIsU0FBUUEsZUFBZUEsQ0FBQSxFQUFTO01BQy9CLElBQUksQ0FBQ2xCLE1BQU0sQ0FBQ3dCLEtBQUssQ0FBQyxDQUFDO01BQ25CLElBQUksQ0FBQ3pCLGNBQWMsQ0FBQzBCLGFBQWEsQ0FBQyxDQUFDLENBQUNDLGNBQWMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztNQUN0RSxJQUFJLENBQUMzQixNQUFNLENBQUM0QixPQUFPLENBQUMsQ0FBQztJQUN0Qjs7SUFFQTtBQUNEO0FBQ0EsT0FGQztJQUFBUCxNQUFBLENBR1FMLFlBQVksR0FBcEIsU0FBUUEsWUFBWUEsQ0FBQSxFQUFTO01BQzVCLElBQUksQ0FBQ2hCLE1BQU0sQ0FBQ3dCLEtBQUssQ0FBQyxDQUFDO01BQ25CLElBQUksQ0FBQ3pCLGNBQWMsQ0FBQzBCLGFBQWEsQ0FBQyxDQUFDLENBQUNDLGNBQWMsQ0FBQ0csY0FBYyxDQUFDLENBQUM7TUFDbkUsSUFBSSxDQUFDN0IsTUFBTSxDQUFDNEIsT0FBTyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUFBLE9BQUEvQixrQkFBQTtFQUFBO0VBQUF1QixRQUFBLEdBQUF2QixrQkFBQTtFQUFBLE9BQUF1QixRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=