@sapui5/sap.fe.core 1.110.0 → 1.111.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 (654) hide show
  1. package/README.md +0 -4
  2. package/package.json +2 -23
  3. package/src/sap/fe/core/.library +1 -1
  4. package/src/sap/fe/core/ActionRuntime-dbg.js +182 -0
  5. package/src/sap/fe/core/ActionRuntime.js +3 -181
  6. package/src/sap/fe/core/ActionRuntime.js.map +1 -0
  7. package/src/sap/fe/core/ActionRuntime.ts +3 -5
  8. package/src/sap/fe/core/AppComponent-dbg.js +435 -0
  9. package/src/sap/fe/core/AppComponent.js +3 -439
  10. package/src/sap/fe/core/AppComponent.js.map +1 -0
  11. package/src/sap/fe/core/AppComponent.ts +0 -3
  12. package/src/sap/fe/core/AppStateHandler-dbg.js +200 -0
  13. package/src/sap/fe/core/AppStateHandler.js +3 -227
  14. package/src/sap/fe/core/AppStateHandler.js.map +1 -0
  15. package/src/sap/fe/core/BaseController-dbg.js +76 -0
  16. package/src/sap/fe/core/BaseController.js +3 -73
  17. package/src/sap/fe/core/BaseController.js.map +1 -0
  18. package/src/sap/fe/core/CommonUtils-dbg.js +2135 -0
  19. package/src/sap/fe/core/CommonUtils.js +3 -2296
  20. package/src/sap/fe/core/CommonUtils.js.map +1 -0
  21. package/src/sap/fe/core/CommonUtils.ts +34 -28
  22. package/src/sap/fe/core/ExtensionAPI-dbg.js +273 -0
  23. package/src/sap/fe/core/ExtensionAPI.js +3 -280
  24. package/src/sap/fe/core/ExtensionAPI.js.map +1 -0
  25. package/src/sap/fe/core/PageController-dbg.js +203 -0
  26. package/src/sap/fe/core/PageController.js +3 -200
  27. package/src/sap/fe/core/PageController.js.map +1 -0
  28. package/src/sap/fe/core/TemplateComponent-dbg.js +218 -0
  29. package/src/sap/fe/core/TemplateComponent.js +3 -216
  30. package/src/sap/fe/core/TemplateComponent.js.map +1 -0
  31. package/src/sap/fe/core/TemplateModel-dbg.js +75 -0
  32. package/src/sap/fe/core/TemplateModel.js +3 -72
  33. package/src/sap/fe/core/TemplateModel.js.map +1 -0
  34. package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +57 -0
  35. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +3 -54
  36. package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -0
  37. package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +410 -0
  38. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +11 -355
  39. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +1 -0
  40. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +118 -52
  41. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter-dbg.js +14 -0
  42. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +3 -11
  43. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js.map +1 -0
  44. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +44 -0
  45. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +3 -40
  46. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +1 -0
  47. package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +3 -0
  48. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +932 -0
  49. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +16 -1292
  50. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +1 -0
  51. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +40 -42
  52. package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +434 -0
  53. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +3 -481
  54. package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -0
  55. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -5
  56. package/src/sap/fe/core/controllerextensions/BusyLocker-dbg.js +92 -0
  57. package/src/sap/fe/core/controllerextensions/BusyLocker.js +3 -89
  58. package/src/sap/fe/core/controllerextensions/BusyLocker.js.map +1 -0
  59. package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +1659 -0
  60. package/src/sap/fe/core/controllerextensions/EditFlow.js +3 -1868
  61. package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -0
  62. package/src/sap/fe/core/controllerextensions/EditFlow.ts +180 -125
  63. package/src/sap/fe/core/controllerextensions/Feedback-dbg.js +70 -0
  64. package/src/sap/fe/core/controllerextensions/Feedback.js +3 -67
  65. package/src/sap/fe/core/controllerextensions/Feedback.js.map +1 -0
  66. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +83 -0
  67. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +3 -84
  68. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js.map +1 -0
  69. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +6 -8
  70. package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +711 -0
  71. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +3 -707
  72. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +1 -0
  73. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +79 -48
  74. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +791 -0
  75. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +3 -696
  76. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -0
  77. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +107 -7
  78. package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +984 -0
  79. package/src/sap/fe/core/controllerextensions/InternalRouting.js +3 -996
  80. package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -0
  81. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +43 -23
  82. package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1013 -0
  83. package/src/sap/fe/core/controllerextensions/KPIManagement.js +3 -1011
  84. package/src/sap/fe/core/controllerextensions/KPIManagement.js.map +1 -0
  85. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +12 -10
  86. package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +135 -0
  87. package/src/sap/fe/core/controllerextensions/MassEdit.js +3 -133
  88. package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -0
  89. package/src/sap/fe/core/controllerextensions/MassEdit.ts +1 -1
  90. package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +221 -0
  91. package/src/sap/fe/core/controllerextensions/MessageHandler.js +3 -224
  92. package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -0
  93. package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +254 -0
  94. package/src/sap/fe/core/controllerextensions/PageReady.js +3 -279
  95. package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -0
  96. package/src/sap/fe/core/controllerextensions/PageReady.ts +2 -2
  97. package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +169 -0
  98. package/src/sap/fe/core/controllerextensions/Paginator.js +3 -174
  99. package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -0
  100. package/src/sap/fe/core/controllerextensions/Paginator.ts +4 -5
  101. package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +132 -0
  102. package/src/sap/fe/core/controllerextensions/Placeholder.js +3 -130
  103. package/src/sap/fe/core/controllerextensions/Placeholder.js.map +1 -0
  104. package/src/sap/fe/core/controllerextensions/Routing-dbg.js +138 -0
  105. package/src/sap/fe/core/controllerextensions/Routing.js +3 -135
  106. package/src/sap/fe/core/controllerextensions/Routing.js.map +1 -0
  107. package/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +10 -0
  108. package/src/sap/fe/core/controllerextensions/RoutingListener.js +3 -7
  109. package/src/sap/fe/core/controllerextensions/RoutingListener.js.map +1 -0
  110. package/src/sap/fe/core/controllerextensions/Share-dbg.js +317 -0
  111. package/src/sap/fe/core/controllerextensions/Share.js +3 -356
  112. package/src/sap/fe/core/controllerextensions/Share.js.map +1 -0
  113. package/src/sap/fe/core/controllerextensions/Share.ts +6 -1
  114. package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +553 -0
  115. package/src/sap/fe/core/controllerextensions/SideEffects.js +3 -651
  116. package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -0
  117. package/src/sap/fe/core/controllerextensions/SideEffects.ts +411 -553
  118. package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +903 -0
  119. package/src/sap/fe/core/controllerextensions/ViewState.js +3 -967
  120. package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -0
  121. package/src/sap/fe/core/controllerextensions/ViewState.ts +90 -41
  122. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +99 -0
  123. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +3 -96
  124. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -0
  125. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +314 -0
  126. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +3 -336
  127. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -0
  128. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +152 -0
  129. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +3 -161
  130. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -0
  131. package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +243 -0
  132. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +3 -302
  133. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -0
  134. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +252 -0
  135. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +6 -0
  136. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -0
  137. package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +188 -0
  138. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +1196 -0
  139. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +3 -1479
  140. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -0
  141. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +239 -289
  142. package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +689 -0
  143. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +3 -785
  144. package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -0
  145. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +134 -142
  146. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +236 -0
  147. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +3 -287
  148. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -0
  149. package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +1422 -0
  150. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +3 -1598
  151. package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -0
  152. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +40 -24
  153. package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +185 -0
  154. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +3 -214
  155. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -0
  156. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +4 -5
  157. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +1219 -0
  158. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +3 -1213
  159. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -0
  160. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +304 -0
  161. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js +3 -339
  162. package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -0
  163. package/src/sap/fe/core/controllerextensions/routing/NavigationReason-dbg.js +15 -0
  164. package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js +6 -0
  165. package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js.map +1 -0
  166. package/src/sap/fe/core/controllerextensions/routing/NavigationReason.ts +6 -0
  167. package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +798 -0
  168. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +3 -799
  169. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -0
  170. package/src/sap/fe/core/controls/Any-dbg.js +32 -0
  171. package/src/sap/fe/core/controls/Any.js +3 -29
  172. package/src/sap/fe/core/controls/Any.js.map +1 -0
  173. package/src/sap/fe/core/controls/AnyElement-dbg.js +29 -0
  174. package/src/sap/fe/core/controls/AnyElement.js +3 -26
  175. package/src/sap/fe/core/controls/AnyElement.js.map +1 -0
  176. package/src/sap/fe/core/controls/CommandExecution-dbg.js +72 -0
  177. package/src/sap/fe/core/controls/CommandExecution.js +3 -69
  178. package/src/sap/fe/core/controls/CommandExecution.js.map +1 -0
  179. package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +151 -0
  180. package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -148
  181. package/src/sap/fe/core/controls/ConditionalWrapper.js.map +1 -0
  182. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +330 -0
  183. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +3 -328
  184. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +1 -0
  185. package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +126 -0
  186. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -124
  187. package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +1 -0
  188. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +170 -0
  189. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -171
  190. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -0
  191. package/src/sap/fe/core/controls/FieldWrapper-dbg.js +194 -0
  192. package/src/sap/fe/core/controls/FieldWrapper.js +3 -191
  193. package/src/sap/fe/core/controls/FieldWrapper.js.map +1 -0
  194. package/src/sap/fe/core/controls/FileWrapper-dbg.js +280 -0
  195. package/src/sap/fe/core/controls/FileWrapper.js +3 -277
  196. package/src/sap/fe/core/controls/FileWrapper.js.map +1 -0
  197. package/src/sap/fe/core/controls/FilterBar-dbg.js +167 -0
  198. package/src/sap/fe/core/controls/FilterBar.js +3 -166
  199. package/src/sap/fe/core/controls/FilterBar.js.map +1 -0
  200. package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +92 -0
  201. package/src/sap/fe/core/controls/FormElementWrapper.js +3 -89
  202. package/src/sap/fe/core/controls/FormElementWrapper.js.map +1 -0
  203. package/src/sap/fe/core/controls/MassEditSelect-dbg.js +33 -0
  204. package/src/sap/fe/core/controls/MassEditSelect.js +3 -30
  205. package/src/sap/fe/core/controls/MassEditSelect.js.map +1 -0
  206. package/src/sap/fe/core/controls/MultiValueParameterDelegate-dbg.js +37 -0
  207. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +3 -34
  208. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js.map +1 -0
  209. package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +119 -0
  210. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +3 -121
  211. package/src/sap/fe/core/controls/filterbar/FilterContainer.js.map +1 -0
  212. package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +267 -0
  213. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +3 -264
  214. package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -0
  215. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +150 -0
  216. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -150
  217. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js.map +1 -0
  218. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +310 -0
  219. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -307
  220. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -0
  221. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +1 -1
  222. package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +491 -0
  223. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +3 -504
  224. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -0
  225. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +2 -2
  226. package/src/sap/fe/core/converters/ConverterContext-dbg.js +403 -0
  227. package/src/sap/fe/core/converters/ConverterContext.js +3 -406
  228. package/src/sap/fe/core/converters/ConverterContext.js.map +1 -0
  229. package/src/sap/fe/core/converters/ManifestSettings-dbg.js +88 -0
  230. package/src/sap/fe/core/converters/ManifestSettings.js +3 -84
  231. package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -0
  232. package/src/sap/fe/core/converters/ManifestSettings.ts +3 -1
  233. package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +402 -0
  234. package/src/sap/fe/core/converters/ManifestWrapper.js +3 -406
  235. package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -0
  236. package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +1161 -0
  237. package/src/sap/fe/core/converters/MetaModelConverter.js +3 -1225
  238. package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -0
  239. package/src/sap/fe/core/converters/MetaModelConverter.ts +193 -199
  240. package/src/sap/fe/core/converters/TemplateConverter-dbg.js +89 -0
  241. package/src/sap/fe/core/converters/TemplateConverter.js +3 -86
  242. package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -0
  243. package/src/sap/fe/core/converters/annotations/DataField-dbg.js +396 -0
  244. package/src/sap/fe/core/converters/annotations/DataField.js +3 -394
  245. package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -0
  246. package/src/sap/fe/core/converters/annotations/DataField.ts +5 -5
  247. package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1948 -0
  248. package/src/sap/fe/core/converters/common/AnnotationConverter.js +3 -1868
  249. package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -0
  250. package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +424 -0
  251. package/src/sap/fe/core/converters/controls/Common/Action.js +3 -446
  252. package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -0
  253. package/src/sap/fe/core/converters/controls/Common/Action.ts +31 -14
  254. package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +276 -0
  255. package/src/sap/fe/core/converters/controls/Common/Chart.js +3 -260
  256. package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -0
  257. package/src/sap/fe/core/converters/controls/Common/Chart.ts +52 -7
  258. package/src/sap/fe/core/converters/controls/Common/Criticality-dbg.js +42 -0
  259. package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -39
  260. package/src/sap/fe/core/converters/controls/Common/Criticality.js.map +1 -0
  261. package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +247 -0
  262. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -242
  263. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -0
  264. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +1 -1
  265. package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +229 -0
  266. package/src/sap/fe/core/converters/controls/Common/Form.js +3 -234
  267. package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -0
  268. package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +374 -0
  269. package/src/sap/fe/core/converters/controls/Common/KPI.js +3 -371
  270. package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -0
  271. package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +2596 -0
  272. package/src/sap/fe/core/converters/controls/Common/Table.js +3 -2527
  273. package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -0
  274. package/src/sap/fe/core/converters/controls/Common/Table.ts +214 -77
  275. package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +522 -0
  276. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +3 -527
  277. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -0
  278. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +51 -50
  279. package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +786 -0
  280. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +3 -845
  281. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -0
  282. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +0 -64
  283. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +291 -0
  284. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +3 -316
  285. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -0
  286. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +30 -12
  287. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +56 -0
  288. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +3 -53
  289. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js.map +1 -0
  290. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +438 -0
  291. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +3 -431
  292. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -0
  293. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +597 -0
  294. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +3 -630
  295. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -0
  296. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +1 -1
  297. package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +204 -0
  298. package/src/sap/fe/core/converters/helpers/Aggregation.js +3 -204
  299. package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -0
  300. package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +100 -0
  301. package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -99
  302. package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -0
  303. package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +199 -0
  304. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +3 -199
  305. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -0
  306. package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +143 -0
  307. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +3 -140
  308. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js.map +1 -0
  309. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +2 -1
  310. package/src/sap/fe/core/converters/helpers/ID-dbg.js +92 -0
  311. package/src/sap/fe/core/converters/helpers/ID.js +3 -89
  312. package/src/sap/fe/core/converters/helpers/ID.js.map +1 -0
  313. package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +62 -0
  314. package/src/sap/fe/core/converters/helpers/IssueManager.js +3 -59
  315. package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -0
  316. package/src/sap/fe/core/converters/helpers/Key-dbg.js +62 -0
  317. package/src/sap/fe/core/converters/helpers/Key.js +3 -59
  318. package/src/sap/fe/core/converters/helpers/Key.js.map +1 -0
  319. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  320. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper-dbg.js +80 -0
  321. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +3 -77
  322. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js.map +1 -0
  323. package/src/sap/fe/core/converters/objectPage/FormMenuActions-dbg.js +142 -0
  324. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +3 -139
  325. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js.map +1 -0
  326. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +406 -0
  327. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +3 -422
  328. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -0
  329. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +132 -111
  330. package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +557 -0
  331. package/src/sap/fe/core/converters/templates/ListReportConverter.js +3 -589
  332. package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -0
  333. package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +474 -0
  334. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +3 -477
  335. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -0
  336. package/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +103 -0
  337. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -100
  338. package/src/sap/fe/core/designtime/AppComponent.designtime.js.map +1 -0
  339. package/src/sap/fe/core/designtime/library-preload.designtime.js +7 -0
  340. package/src/sap/fe/core/designtime/library-preload.designtime.js.map +1 -0
  341. package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +95 -0
  342. package/src/sap/fe/core/formatters/CollaborationFormatter.js +3 -92
  343. package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -0
  344. package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +46 -0
  345. package/src/sap/fe/core/formatters/FPMFormatter.js +3 -44
  346. package/src/sap/fe/core/formatters/FPMFormatter.js.map +1 -0
  347. package/src/sap/fe/core/formatters/FPMFormatter.ts +3 -2
  348. package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +343 -0
  349. package/src/sap/fe/core/formatters/FiscalFormat.js +6 -0
  350. package/src/sap/fe/core/formatters/FiscalFormat.js.map +1 -0
  351. package/src/sap/fe/core/formatters/FiscalFormat.ts +319 -0
  352. package/src/sap/fe/core/formatters/KPIFormatter-dbg.js +86 -0
  353. package/src/sap/fe/core/formatters/KPIFormatter.js +3 -83
  354. package/src/sap/fe/core/formatters/KPIFormatter.js.map +1 -0
  355. package/src/sap/fe/core/formatters/StandardFormatter-dbg.js +80 -0
  356. package/src/sap/fe/core/formatters/StandardFormatter.js +3 -78
  357. package/src/sap/fe/core/formatters/StandardFormatter.js.map +1 -0
  358. package/src/sap/fe/core/formatters/TableFormatter-dbg.js +276 -0
  359. package/src/sap/fe/core/formatters/TableFormatter.js +3 -275
  360. package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -0
  361. package/src/sap/fe/core/formatters/TableFormatter.ts +1 -1
  362. package/src/sap/fe/core/formatters/TableFormatterTypes-dbg.js +20 -0
  363. package/src/sap/fe/core/formatters/TableFormatterTypes.js +3 -17
  364. package/src/sap/fe/core/formatters/TableFormatterTypes.js.map +1 -0
  365. package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +172 -0
  366. package/src/sap/fe/core/formatters/ValueFormatter.js +3 -161
  367. package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -0
  368. package/src/sap/fe/core/formatters/ValueFormatter.ts +25 -8
  369. package/src/sap/fe/core/fpm/Component-dbg.js +94 -0
  370. package/src/sap/fe/core/fpm/Component.js +3 -91
  371. package/src/sap/fe/core/fpm/Component.js.map +1 -0
  372. package/src/sap/fe/core/fpm/manifest.json +1 -1
  373. package/src/sap/fe/core/helpers/AnnotationEnum-dbg.js +30 -0
  374. package/src/sap/fe/core/helpers/AnnotationEnum.js +3 -36
  375. package/src/sap/fe/core/helpers/AnnotationEnum.js.map +1 -0
  376. package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +334 -0
  377. package/src/sap/fe/core/helpers/AppStartupHelper.js +3 -335
  378. package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -0
  379. package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +1739 -0
  380. package/src/sap/fe/core/helpers/BindingToolkit.js +3 -1611
  381. package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -0
  382. package/src/sap/fe/core/helpers/BindingToolkit.ts +277 -97
  383. package/src/sap/fe/core/helpers/ClassSupport-dbg.js +421 -0
  384. package/src/sap/fe/core/helpers/ClassSupport.js +3 -420
  385. package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -0
  386. package/src/sap/fe/core/helpers/ClassSupport.ts +13 -15
  387. package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +526 -0
  388. package/src/sap/fe/core/helpers/DeleteHelper.js +3 -618
  389. package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -0
  390. package/src/sap/fe/core/helpers/DeleteHelper.ts +116 -134
  391. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +55 -0
  392. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +3 -52
  393. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js.map +1 -0
  394. package/src/sap/fe/core/helpers/EditState-dbg.js +80 -0
  395. package/src/sap/fe/core/helpers/EditState.js +3 -77
  396. package/src/sap/fe/core/helpers/EditState.js.map +1 -0
  397. package/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +55 -0
  398. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +3 -52
  399. package/src/sap/fe/core/helpers/ExcelFormatHelper.js.map +1 -0
  400. package/src/sap/fe/core/helpers/FPMHelper-dbg.js +55 -0
  401. package/src/sap/fe/core/helpers/FPMHelper.js +3 -52
  402. package/src/sap/fe/core/helpers/FPMHelper.js.map +1 -0
  403. package/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +180 -0
  404. package/src/sap/fe/core/helpers/KeepAliveHelper.js +3 -177
  405. package/src/sap/fe/core/helpers/KeepAliveHelper.js.map +1 -0
  406. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +28 -0
  407. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +3 -25
  408. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js.map +1 -0
  409. package/src/sap/fe/core/helpers/LoaderUtils-dbg.js +29 -0
  410. package/src/sap/fe/core/helpers/LoaderUtils.js +3 -30
  411. package/src/sap/fe/core/helpers/LoaderUtils.js.map +1 -0
  412. package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +1229 -0
  413. package/src/sap/fe/core/helpers/MassEditHelper.js +3 -1309
  414. package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -0
  415. package/src/sap/fe/core/helpers/MassEditHelper.ts +6 -6
  416. package/src/sap/fe/core/helpers/MessageStrip-dbg.js +65 -0
  417. package/src/sap/fe/core/helpers/MessageStrip.js +3 -62
  418. package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -0
  419. package/src/sap/fe/core/helpers/ModelHelper-dbg.js +489 -0
  420. package/src/sap/fe/core/helpers/ModelHelper.js +3 -503
  421. package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -0
  422. package/src/sap/fe/core/helpers/ModelHelper.ts +13 -36
  423. package/src/sap/fe/core/helpers/PasteHelper-dbg.js +174 -0
  424. package/src/sap/fe/core/helpers/PasteHelper.js +3 -185
  425. package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -0
  426. package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +371 -0
  427. package/src/sap/fe/core/helpers/SemanticDateOperators.js +3 -368
  428. package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -0
  429. package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +70 -0
  430. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -67
  431. package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -0
  432. package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +141 -0
  433. package/src/sap/fe/core/helpers/SideEffectsHelper.js +3 -137
  434. package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +1 -0
  435. package/src/sap/fe/core/helpers/SideEffectsHelper.ts +3 -2
  436. package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +204 -0
  437. package/src/sap/fe/core/helpers/StableIdHelper.js +3 -208
  438. package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -0
  439. package/src/sap/fe/core/helpers/Synchronization-dbg.js +35 -0
  440. package/src/sap/fe/core/helpers/Synchronization.js +3 -33
  441. package/src/sap/fe/core/helpers/Synchronization.js.map +1 -0
  442. package/src/sap/fe/core/helpers/ToES6Promise-dbg.js +29 -0
  443. package/src/sap/fe/core/helpers/ToES6Promise.js +3 -26
  444. package/src/sap/fe/core/helpers/ToES6Promise.js.map +1 -0
  445. package/src/sap/fe/core/helpers/TypeGuards-dbg.js +20 -0
  446. package/src/sap/fe/core/helpers/TypeGuards.js +3 -19
  447. package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -0
  448. package/src/sap/fe/core/helpers/TypeGuards.ts +5 -1
  449. package/src/sap/fe/core/jsx-runtime/Fragment-dbg.js +14 -0
  450. package/src/sap/fe/core/jsx-runtime/Fragment.js +3 -11
  451. package/src/sap/fe/core/jsx-runtime/Fragment.js.map +1 -0
  452. package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +76 -0
  453. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +3 -86
  454. package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -0
  455. package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +124 -0
  456. package/src/sap/fe/core/jsx-runtime/jsx-control.js +3 -98
  457. package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -0
  458. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +43 -17
  459. package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +41 -0
  460. package/src/sap/fe/core/jsx-runtime/jsx-xml-dbg.js +94 -0
  461. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +3 -90
  462. package/src/sap/fe/core/jsx-runtime/jsx-xml.js.map +1 -0
  463. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +1 -1
  464. package/src/sap/fe/core/jsx-runtime/jsx.js +3 -28
  465. package/src/sap/fe/core/jsx-runtime/jsx.js.map +1 -0
  466. package/src/sap/fe/core/jsx-runtime/jsx.ts +19 -1
  467. package/src/sap/fe/core/jsx-runtime/jsxs-dbg.js +10 -0
  468. package/src/sap/fe/core/jsx-runtime/jsxs.js +3 -7
  469. package/src/sap/fe/core/jsx-runtime/jsxs.js.map +1 -0
  470. package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +154 -0
  471. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +3 -153
  472. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -0
  473. package/src/sap/fe/core/library-dbg.js +437 -0
  474. package/src/sap/fe/core/library-preload.js +900 -0
  475. package/src/sap/fe/core/library-preload.js.map +1 -0
  476. package/src/sap/fe/core/library-preload.support.js +177 -0
  477. package/src/sap/fe/core/library-preload.support.js.map +1 -0
  478. package/src/sap/fe/core/library.js +3 -461
  479. package/src/sap/fe/core/library.js.map +1 -0
  480. package/src/sap/fe/core/library.support.js +1 -1
  481. package/src/sap/fe/core/library.ts +12 -25
  482. package/src/sap/fe/core/manifest.json +100 -0
  483. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +99 -0
  484. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -96
  485. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -0
  486. package/src/sap/fe/core/messagebundle.properties +6 -0
  487. package/src/sap/fe/core/messagebundle_ar.properties +22 -0
  488. package/src/sap/fe/core/messagebundle_bg.properties +22 -0
  489. package/src/sap/fe/core/messagebundle_ca.properties +22 -0
  490. package/src/sap/fe/core/messagebundle_cs.properties +22 -0
  491. package/src/sap/fe/core/messagebundle_cy.properties +22 -0
  492. package/src/sap/fe/core/messagebundle_da.properties +22 -0
  493. package/src/sap/fe/core/messagebundle_de.properties +22 -0
  494. package/src/sap/fe/core/messagebundle_el.properties +22 -0
  495. package/src/sap/fe/core/messagebundle_en.properties +22 -0
  496. package/src/sap/fe/core/messagebundle_en_GB.properties +22 -0
  497. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +22 -0
  498. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +4 -0
  499. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +4 -0
  500. package/src/sap/fe/core/messagebundle_es.properties +22 -0
  501. package/src/sap/fe/core/messagebundle_es_MX.properties +22 -0
  502. package/src/sap/fe/core/messagebundle_et.properties +22 -0
  503. package/src/sap/fe/core/messagebundle_fi.properties +22 -0
  504. package/src/sap/fe/core/messagebundle_fr.properties +22 -0
  505. package/src/sap/fe/core/messagebundle_fr_CA.properties +22 -0
  506. package/src/sap/fe/core/messagebundle_hi.properties +22 -0
  507. package/src/sap/fe/core/messagebundle_hr.properties +23 -1
  508. package/src/sap/fe/core/messagebundle_hu.properties +22 -0
  509. package/src/sap/fe/core/messagebundle_id.properties +22 -0
  510. package/src/sap/fe/core/messagebundle_it.properties +22 -0
  511. package/src/sap/fe/core/messagebundle_iw.properties +22 -0
  512. package/src/sap/fe/core/messagebundle_ja.properties +22 -0
  513. package/src/sap/fe/core/messagebundle_kk.properties +22 -0
  514. package/src/sap/fe/core/messagebundle_ko.properties +22 -0
  515. package/src/sap/fe/core/messagebundle_lt.properties +22 -0
  516. package/src/sap/fe/core/messagebundle_lv.properties +22 -0
  517. package/src/sap/fe/core/messagebundle_ms.properties +22 -0
  518. package/src/sap/fe/core/messagebundle_nl.properties +22 -0
  519. package/src/sap/fe/core/messagebundle_no.properties +22 -0
  520. package/src/sap/fe/core/messagebundle_pl.properties +22 -0
  521. package/src/sap/fe/core/messagebundle_pt.properties +22 -0
  522. package/src/sap/fe/core/messagebundle_pt_PT.properties +22 -0
  523. package/src/sap/fe/core/messagebundle_ro.properties +22 -0
  524. package/src/sap/fe/core/messagebundle_ru.properties +22 -0
  525. package/src/sap/fe/core/messagebundle_sh.properties +22 -0
  526. package/src/sap/fe/core/messagebundle_sk.properties +22 -0
  527. package/src/sap/fe/core/messagebundle_sl.properties +22 -0
  528. package/src/sap/fe/core/messagebundle_sv.properties +22 -0
  529. package/src/sap/fe/core/messagebundle_th.properties +22 -0
  530. package/src/sap/fe/core/messagebundle_tr.properties +22 -0
  531. package/src/sap/fe/core/messagebundle_uk.properties +22 -0
  532. package/src/sap/fe/core/messagebundle_vi.properties +22 -0
  533. package/src/sap/fe/core/messagebundle_zh_CN.properties +22 -0
  534. package/src/sap/fe/core/messagebundle_zh_TW.properties +22 -0
  535. package/src/sap/fe/core/operationsHelper-dbg.js +155 -0
  536. package/src/sap/fe/core/operationsHelper.js +3 -205
  537. package/src/sap/fe/core/operationsHelper.js.map +1 -0
  538. package/src/sap/fe/core/operationsHelper.ts +14 -68
  539. package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +837 -0
  540. package/src/sap/fe/core/rootView/Fcl.controller.js +3 -855
  541. package/src/sap/fe/core/rootView/Fcl.controller.js.map +1 -0
  542. package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +190 -0
  543. package/src/sap/fe/core/rootView/NavContainer.controller.js +3 -190
  544. package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -0
  545. package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +506 -0
  546. package/src/sap/fe/core/rootView/RootViewBaseController.js +3 -538
  547. package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -0
  548. package/src/sap/fe/core/rootView/RootViewBaseController.ts +3 -4
  549. package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +60 -0
  550. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -60
  551. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js.map +1 -0
  552. package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +196 -0
  553. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +3 -219
  554. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -0
  555. package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +80 -0
  556. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +3 -82
  557. package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -0
  558. package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +320 -0
  559. package/src/sap/fe/core/services/NavigationServiceFactory.js +3 -320
  560. package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -0
  561. package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +91 -0
  562. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -89
  563. package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -0
  564. package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +817 -0
  565. package/src/sap/fe/core/services/RoutingServiceFactory.js +3 -847
  566. package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -0
  567. package/src/sap/fe/core/services/RoutingServiceFactory.ts +6 -3
  568. package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +732 -0
  569. package/src/sap/fe/core/services/ShellServicesFactory.js +3 -752
  570. package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -0
  571. package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +569 -0
  572. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +3 -599
  573. package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -0
  574. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +3 -3
  575. package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +355 -0
  576. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +3 -387
  577. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -0
  578. package/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +37 -0
  579. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +3 -34
  580. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js.map +1 -0
  581. package/src/sap/fe/core/support/AnnotationIssue.support.js +4 -4
  582. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +3 -3
  583. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +3 -3
  584. package/src/sap/fe/core/support/CommonHelper-dbg.js +63 -0
  585. package/src/sap/fe/core/support/CommonHelper.js +3 -60
  586. package/src/sap/fe/core/support/CommonHelper.js.map +1 -0
  587. package/src/sap/fe/core/support/Diagnostics-dbg.js +44 -0
  588. package/src/sap/fe/core/support/Diagnostics.js +3 -49
  589. package/src/sap/fe/core/support/Diagnostics.js.map +1 -0
  590. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +3 -3
  591. package/src/sap/fe/core/templating/CommonFormatters-dbg.js +70 -0
  592. package/src/sap/fe/core/templating/CommonFormatters.js +3 -66
  593. package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -0
  594. package/src/sap/fe/core/templating/CommonFormatters.ts +9 -3
  595. package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +136 -0
  596. package/src/sap/fe/core/templating/CriticalityFormatters.js +3 -133
  597. package/src/sap/fe/core/templating/CriticalityFormatters.js.map +1 -0
  598. package/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +58 -0
  599. package/src/sap/fe/core/templating/DataFieldFormatters.js +3 -55
  600. package/src/sap/fe/core/templating/DataFieldFormatters.js.map +1 -0
  601. package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +363 -0
  602. package/src/sap/fe/core/templating/DataModelPathHelper.js +3 -372
  603. package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -0
  604. package/src/sap/fe/core/templating/DataModelPathHelper.ts +17 -8
  605. package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +56 -0
  606. package/src/sap/fe/core/templating/DisplayModeFormatter.js +3 -124
  607. package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -0
  608. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +0 -47
  609. package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +68 -0
  610. package/src/sap/fe/core/templating/EntitySetHelper.js +3 -81
  611. package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -0
  612. package/src/sap/fe/core/templating/FieldControlHelper-dbg.js +77 -0
  613. package/src/sap/fe/core/templating/FieldControlHelper.js +3 -74
  614. package/src/sap/fe/core/templating/FieldControlHelper.js.map +1 -0
  615. package/src/sap/fe/core/templating/FilterHelper-dbg.js +346 -0
  616. package/src/sap/fe/core/templating/FilterHelper.js +3 -339
  617. package/src/sap/fe/core/templating/FilterHelper.js.map +1 -0
  618. package/src/sap/fe/core/templating/FilterHelper.ts +2 -21
  619. package/src/sap/fe/core/templating/FilterTemplating-dbg.js +62 -0
  620. package/src/sap/fe/core/templating/FilterTemplating.js +3 -59
  621. package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -0
  622. package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +93 -0
  623. package/src/sap/fe/core/templating/PropertyFormatters.js +3 -90
  624. package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -0
  625. package/src/sap/fe/core/templating/PropertyHelper-dbg.js +340 -0
  626. package/src/sap/fe/core/templating/PropertyHelper.js +3 -337
  627. package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -0
  628. package/src/sap/fe/core/templating/SemanticObjectHelper-dbg.js +91 -0
  629. package/src/sap/fe/core/templating/SemanticObjectHelper.js +3 -43
  630. package/src/sap/fe/core/templating/SemanticObjectHelper.js.map +1 -0
  631. package/src/sap/fe/core/templating/SemanticObjectHelper.ts +45 -1
  632. package/src/sap/fe/core/templating/UIFormatters-dbg.js +498 -0
  633. package/src/sap/fe/core/templating/UIFormatters.js +3 -544
  634. package/src/sap/fe/core/templating/UIFormatters.js.map +1 -0
  635. package/src/sap/fe/core/templating/UIFormatters.ts +60 -110
  636. package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +35 -0
  637. package/src/sap/fe/core/type/DateTimeWithTimezone.js +3 -33
  638. package/src/sap/fe/core/type/DateTimeWithTimezone.js.map +1 -0
  639. package/src/sap/fe/core/type/EDM-dbg.js +84 -0
  640. package/src/sap/fe/core/type/EDM.js +6 -0
  641. package/src/sap/fe/core/type/EDM.js.map +1 -0
  642. package/src/sap/fe/core/type/EDM.ts +70 -0
  643. package/src/sap/fe/core/type/Email-dbg.js +29 -0
  644. package/src/sap/fe/core/type/Email.js +3 -26
  645. package/src/sap/fe/core/type/Email.js.map +1 -0
  646. package/src/sap/fe/core/type/FiscalDate-dbg.js +174 -0
  647. package/src/sap/fe/core/type/FiscalDate.js +6 -0
  648. package/src/sap/fe/core/type/FiscalDate.js.map +1 -0
  649. package/src/sap/fe/core/type/FiscalDate.ts +179 -0
  650. package/src/sap/fe/core/type/TypeUtil-dbg.js +58 -0
  651. package/src/sap/fe/core/type/TypeUtil.js +3 -55
  652. package/src/sap/fe/core/type/TypeUtil.js.map +1 -0
  653. package/src/sap/fe/core/type/TypeUtil.ts +1 -0
  654. package/src/.eslintrc +0 -7
@@ -1,202 +1,6 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved
3
+ * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log"], function (Log) {
6
- "use strict";
7
-
8
- var _exports = {};
9
- var Placement;
10
- (function (Placement) {
11
- Placement["After"] = "After";
12
- Placement["Before"] = "Before";
13
- Placement["End"] = "End";
14
- })(Placement || (Placement = {}));
15
- _exports.Placement = Placement;
16
- /**
17
- * Recursive method that order the keys based on a position information.
18
- *
19
- * @param positioningItems
20
- * @param anchor
21
- * @param sorted
22
- * @param visited
23
- * @returns The order of the current item
24
- */
25
- var orderPositioningItemRecursively = function (positioningItems, anchor, sorted, visited) {
26
- var insertIndex = sorted.indexOf(anchor);
27
- if (insertIndex !== -1) {
28
- return insertIndex;
29
- }
30
- var anchorItem = positioningItems[anchor];
31
- if (anchorItem === undefined) {
32
- var anchorText = anchor.split("::"),
33
- manifestItem = Object.keys(visited)[0];
34
- Log.warning("Position anchor '".concat(anchorText[anchorText.length - 1], "' not found for item '").concat(manifestItem, "'. Please check manifest settings."));
35
- return sorted.length;
36
- // throw new Error(`position anchor not found: ${anchor}`);
37
- }
38
-
39
- visited[anchor] = anchorItem;
40
- if (anchorItem && !(anchorItem.anchor in visited)) {
41
- insertIndex = orderPositioningItemRecursively(positioningItems, anchorItem.anchor, sorted, visited);
42
- if (anchorItem.placement !== Placement.Before) {
43
- ++insertIndex;
44
- }
45
- } else {
46
- insertIndex = sorted.length;
47
- }
48
- sorted.splice(insertIndex, 0, anchor);
49
- return insertIndex;
50
- };
51
- var OverrideType;
52
- (function (OverrideType) {
53
- OverrideType["merge"] = "merge";
54
- OverrideType["overwrite"] = "overwrite";
55
- OverrideType["ignore"] = "ignore";
56
- })(OverrideType || (OverrideType = {}));
57
- _exports.OverrideType = OverrideType;
58
- function isArrayConfig(config) {
59
- return typeof config === "object";
60
- }
61
- function applyOverride(overwritableKeys, sourceItem, customElement) {
62
- var outItem = sourceItem || customElement;
63
- for (var overwritableKey in overwritableKeys) {
64
- if (Object.hasOwnProperty.call(overwritableKeys, overwritableKey)) {
65
- var overrideConfig = overwritableKeys[overwritableKey];
66
- if (sourceItem !== null) {
67
- switch (overrideConfig) {
68
- case "overwrite":
69
- if (customElement.hasOwnProperty(overwritableKey) && customElement[overwritableKey] !== undefined) {
70
- sourceItem[overwritableKey] = customElement[overwritableKey];
71
- }
72
- break;
73
- case "merge":
74
- default:
75
- var subItem = sourceItem[overwritableKey] || [];
76
- var subConfig = {};
77
- if (isArrayConfig(overrideConfig)) {
78
- subConfig = overrideConfig;
79
- }
80
- if (Array.isArray(subItem)) {
81
- sourceItem[overwritableKey] = insertCustomElements(subItem, customElement && customElement[overwritableKey] || {}, subConfig);
82
- }
83
- break;
84
- }
85
- } else {
86
- switch (overrideConfig) {
87
- case "overwrite":
88
- if (customElement.hasOwnProperty(overwritableKey) && customElement[overwritableKey] !== undefined) {
89
- outItem[overwritableKey] = customElement[overwritableKey];
90
- }
91
- break;
92
- case "merge":
93
- default:
94
- var _subConfig = {};
95
- if (isArrayConfig(overrideConfig)) {
96
- _subConfig = overrideConfig;
97
- }
98
- outItem[overwritableKey] = insertCustomElements([], customElement && customElement[overwritableKey] || {}, _subConfig);
99
- break;
100
- }
101
- }
102
- }
103
- }
104
- return outItem;
105
- }
106
-
107
- /**
108
- * Insert a set of custom elements in the right position in an original collection.
109
- *
110
- * Parameters for overwritableKeys and their implications:
111
- * "overwrite": The whole object gets overwritten - if the customElements include a default, this will overrule the whole rootElements configuration.
112
- * "merge": This is similar to calling insertCustomElements itself. You must include the
113
- * full CustomElement syntax within the customElements, including anchors, for example.
114
- * "ignore": There are no additions and no combinations. Only the rootElements object is used.
115
- *
116
- * Note - Proceed as follows in case you have defined customElements and do not want to overwrite their values with defaults:
117
- * Hand the rootElements into the creation function of the customElement.
118
- * Depending on the existence of both rootElement-configuration and customElement-configuration,
119
- * you must set the customElements property, for which the "overwrite"-property is set, explicitly to undefined.
120
- *
121
- * @template T
122
- * @param rootElements A list of "ConfigurableObject" which means object that have a unique "key"
123
- * @param customElements An object containing extra object to add, they are indexed by a key and have a "position" object
124
- * @param overwritableKeys The list of keys from the original object that can be overwritten in case a custom element has the same "key"
125
- * @returns An ordered array of elements including the custom ones
126
- */
127
- function insertCustomElements(rootElements, customElements) {
128
- var overwritableKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
129
- var firstAnchor = rootElements.length ? rootElements[0].key : null;
130
- var rootElementsWithoutLast = rootElements.filter(function (rootElement) {
131
- var _rootElement$position;
132
- return ((_rootElement$position = rootElement.position) === null || _rootElement$position === void 0 ? void 0 : _rootElement$position.placement) !== Placement.End;
133
- });
134
- var lastAnchor = rootElements.length ? rootElements[rootElementsWithoutLast.length - 1].key : null;
135
- var endElement;
136
- var positioningItems = {};
137
- var itemsPerKey = {};
138
- rootElements.forEach(function (rootElement) {
139
- var _rootElement$position2;
140
- if (((_rootElement$position2 = rootElement.position) === null || _rootElement$position2 === void 0 ? void 0 : _rootElement$position2.placement) === Placement.End && !endElement) {
141
- endElement = rootElement;
142
- } else {
143
- var _rootElement$position3, _rootElement$position4;
144
- positioningItems[rootElement.key] = {
145
- anchor: ((_rootElement$position3 = rootElement.position) === null || _rootElement$position3 === void 0 ? void 0 : _rootElement$position3.anchor) || rootElement.key,
146
- placement: ((_rootElement$position4 = rootElement.position) === null || _rootElement$position4 === void 0 ? void 0 : _rootElement$position4.placement) || Placement.After
147
- };
148
- }
149
- itemsPerKey[rootElement.key] = rootElement;
150
- });
151
- Object.keys(customElements).forEach(function (customElementKey) {
152
- var _customElement$menu;
153
- var customElement = customElements[customElementKey];
154
- var anchor = customElement.position.anchor;
155
- // If no placement defined we are After
156
- if (!customElement.position.placement) {
157
- customElement.position.placement = Placement.After;
158
- }
159
- // If no anchor we're either After the last anchor or Before the first
160
- if (!anchor) {
161
- var potentialAnchor = customElement.position.placement === Placement.After ? lastAnchor : firstAnchor;
162
- customElement.position.anchor = potentialAnchor ? potentialAnchor : customElementKey;
163
- }
164
-
165
- // Adding bound/unbound actions to menu
166
- customElement.menu = customElement === null || customElement === void 0 ? void 0 : (_customElement$menu = customElement.menu) === null || _customElement$menu === void 0 ? void 0 : _customElement$menu.map(function (menu) {
167
- var _itemsPerKey$menu$key;
168
- return (_itemsPerKey$menu$key = itemsPerKey[menu.key]) !== null && _itemsPerKey$menu$key !== void 0 ? _itemsPerKey$menu$key : menu;
169
- });
170
- if (itemsPerKey[customElement.key]) {
171
- itemsPerKey[customElement.key] = applyOverride(overwritableKeys, itemsPerKey[customElement.key], customElement);
172
-
173
- //Position is overwritten for filter fields if there is a change in manifest
174
- if (anchor && customElement.position && overwritableKeys.position && overwritableKeys.position === "overwrite") {
175
- positioningItems[customElement.key] = itemsPerKey[customElement.key].position;
176
- }
177
- /**
178
- * anchor check is added to make sure change in properties in the manifest does not affect the position of the field.
179
- * Otherwise, when no position is mentioned in manifest for an altered field, the position is changed as
180
- * per the potential anchor
181
- */
182
- } else {
183
- itemsPerKey[customElement.key] = applyOverride(overwritableKeys, null, customElement);
184
- positioningItems[customElement.key] = customElement.position;
185
- }
186
- });
187
- var sortedKeys = [];
188
- Object.keys(positioningItems).forEach(function (positionItemKey) {
189
- orderPositioningItemRecursively(positioningItems, positionItemKey, sortedKeys, {});
190
- });
191
- var outElements = sortedKeys.map(function (key) {
192
- return itemsPerKey[key];
193
- });
194
- if (endElement) {
195
- outElements.push(endElement);
196
- }
197
- return outElements;
198
- }
199
- _exports.insertCustomElements = insertCustomElements;
200
- return _exports;
201
- }, false);
202
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQbGFjZW1lbnQiLCJvcmRlclBvc2l0aW9uaW5nSXRlbVJlY3Vyc2l2ZWx5IiwicG9zaXRpb25pbmdJdGVtcyIsImFuY2hvciIsInNvcnRlZCIsInZpc2l0ZWQiLCJpbnNlcnRJbmRleCIsImluZGV4T2YiLCJhbmNob3JJdGVtIiwidW5kZWZpbmVkIiwiYW5jaG9yVGV4dCIsInNwbGl0IiwibWFuaWZlc3RJdGVtIiwiT2JqZWN0Iiwia2V5cyIsIkxvZyIsIndhcm5pbmciLCJsZW5ndGgiLCJwbGFjZW1lbnQiLCJCZWZvcmUiLCJzcGxpY2UiLCJPdmVycmlkZVR5cGUiLCJpc0FycmF5Q29uZmlnIiwiY29uZmlnIiwiYXBwbHlPdmVycmlkZSIsIm92ZXJ3cml0YWJsZUtleXMiLCJzb3VyY2VJdGVtIiwiY3VzdG9tRWxlbWVudCIsIm91dEl0ZW0iLCJvdmVyd3JpdGFibGVLZXkiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJvdmVycmlkZUNvbmZpZyIsInN1Ykl0ZW0iLCJzdWJDb25maWciLCJBcnJheSIsImlzQXJyYXkiLCJpbnNlcnRDdXN0b21FbGVtZW50cyIsInJvb3RFbGVtZW50cyIsImN1c3RvbUVsZW1lbnRzIiwiZmlyc3RBbmNob3IiLCJrZXkiLCJyb290RWxlbWVudHNXaXRob3V0TGFzdCIsImZpbHRlciIsInJvb3RFbGVtZW50IiwicG9zaXRpb24iLCJFbmQiLCJsYXN0QW5jaG9yIiwiZW5kRWxlbWVudCIsIml0ZW1zUGVyS2V5IiwiZm9yRWFjaCIsIkFmdGVyIiwiY3VzdG9tRWxlbWVudEtleSIsInBvdGVudGlhbEFuY2hvciIsIm1lbnUiLCJtYXAiLCJzb3J0ZWRLZXlzIiwicG9zaXRpb25JdGVtS2V5Iiwib3V0RWxlbWVudHMiLCJwdXNoIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDb25maWd1cmFibGVPYmplY3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5cbmV4cG9ydCB0eXBlIFBvc2l0aW9uID0ge1xuXHRhbmNob3I/OiBzdHJpbmc7XG5cdHBsYWNlbWVudDogUGxhY2VtZW50O1xufTtcblxuZXhwb3J0IGVudW0gUGxhY2VtZW50IHtcblx0QWZ0ZXIgPSBcIkFmdGVyXCIsXG5cdEJlZm9yZSA9IFwiQmVmb3JlXCIsXG5cdEVuZCA9IFwiRW5kXCJcbn1cbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9iamVjdEtleSA9IHN0cmluZztcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9iamVjdCA9IFBvc2l0aW9uYWJsZSAmIHtcblx0a2V5OiBDb25maWd1cmFibGVPYmplY3RLZXk7XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21FbGVtZW50PFQgZXh0ZW5kcyBDb25maWd1cmFibGVPYmplY3Q+ID0gVCAmIHtcblx0cG9zaXRpb246IFBvc2l0aW9uO1xuXHRtZW51PzogYW55W10gfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBQb3NpdGlvbmFibGUgPSB7XG5cdHBvc2l0aW9uPzogUG9zaXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBDb25maWd1cmFibGVSZWNvcmQ8VD4gPSBSZWNvcmQ8Q29uZmlndXJhYmxlT2JqZWN0S2V5LCBUPjtcblxuLyoqXG4gKiBSZWN1cnNpdmUgbWV0aG9kIHRoYXQgb3JkZXIgdGhlIGtleXMgYmFzZWQgb24gYSBwb3NpdGlvbiBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAcGFyYW0gcG9zaXRpb25pbmdJdGVtc1xuICogQHBhcmFtIGFuY2hvclxuICogQHBhcmFtIHNvcnRlZFxuICogQHBhcmFtIHZpc2l0ZWRcbiAqIEByZXR1cm5zIFRoZSBvcmRlciBvZiB0aGUgY3VycmVudCBpdGVtXG4gKi9cbmNvbnN0IG9yZGVyUG9zaXRpb25pbmdJdGVtUmVjdXJzaXZlbHkgPSAoXG5cdHBvc2l0aW9uaW5nSXRlbXM6IFJlY29yZDxzdHJpbmcsIFJlcXVpcmVkPFBvc2l0aW9uPj4sXG5cdGFuY2hvcjogc3RyaW5nLFxuXHRzb3J0ZWQ6IHN0cmluZ1tdLFxuXHR2aXNpdGVkOiBSZWNvcmQ8c3RyaW5nLCBSZXF1aXJlZDxQb3NpdGlvbj4+XG4pOiBudW1iZXIgPT4ge1xuXHRsZXQgaW5zZXJ0SW5kZXggPSBzb3J0ZWQuaW5kZXhPZihhbmNob3IpO1xuXHRpZiAoaW5zZXJ0SW5kZXggIT09IC0xKSB7XG5cdFx0cmV0dXJuIGluc2VydEluZGV4O1xuXHR9XG5cdGNvbnN0IGFuY2hvckl0ZW06IFJlcXVpcmVkPFBvc2l0aW9uPiA9IHBvc2l0aW9uaW5nSXRlbXNbYW5jaG9yXTtcblx0aWYgKGFuY2hvckl0ZW0gPT09IHVuZGVmaW5lZCkge1xuXHRcdGNvbnN0IGFuY2hvclRleHQ6IEFycmF5PHN0cmluZz4gPSBhbmNob3Iuc3BsaXQoXCI6OlwiKSxcblx0XHRcdG1hbmlmZXN0SXRlbTogc3RyaW5nID0gT2JqZWN0LmtleXModmlzaXRlZClbMF07XG5cblx0XHRMb2cud2FybmluZyhcblx0XHRcdGBQb3NpdGlvbiBhbmNob3IgJyR7YW5jaG9yVGV4dFthbmNob3JUZXh0Lmxlbmd0aCAtIDFdfScgbm90IGZvdW5kIGZvciBpdGVtICcke21hbmlmZXN0SXRlbX0nLiBQbGVhc2UgY2hlY2sgbWFuaWZlc3Qgc2V0dGluZ3MuYFxuXHRcdCk7XG5cdFx0cmV0dXJuIHNvcnRlZC5sZW5ndGg7XG5cdFx0Ly8gdGhyb3cgbmV3IEVycm9yKGBwb3NpdGlvbiBhbmNob3Igbm90IGZvdW5kOiAke2FuY2hvcn1gKTtcblx0fVxuXG5cdHZpc2l0ZWRbYW5jaG9yXSA9IGFuY2hvckl0ZW07XG5cdGlmIChhbmNob3JJdGVtICYmICEoYW5jaG9ySXRlbS5hbmNob3IgaW4gdmlzaXRlZCkpIHtcblx0XHRpbnNlcnRJbmRleCA9IG9yZGVyUG9zaXRpb25pbmdJdGVtUmVjdXJzaXZlbHkocG9zaXRpb25pbmdJdGVtcywgYW5jaG9ySXRlbS5hbmNob3IsIHNvcnRlZCwgdmlzaXRlZCk7XG5cdFx0aWYgKGFuY2hvckl0ZW0ucGxhY2VtZW50ICE9PSBQbGFjZW1lbnQuQmVmb3JlKSB7XG5cdFx0XHQrK2luc2VydEluZGV4O1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRpbnNlcnRJbmRleCA9IHNvcnRlZC5sZW5ndGg7XG5cdH1cblxuXHRzb3J0ZWQuc3BsaWNlKGluc2VydEluZGV4LCAwLCBhbmNob3IpO1xuXHRyZXR1cm4gaW5zZXJ0SW5kZXg7XG59O1xuXG5leHBvcnQgZW51bSBPdmVycmlkZVR5cGUge1xuXHRtZXJnZSA9IFwibWVyZ2VcIixcblx0b3ZlcndyaXRlID0gXCJvdmVyd3JpdGVcIixcblx0aWdub3JlID0gXCJpZ25vcmVcIlxufVxudHlwZSBBcnJheU92ZXJyaWRlVHlwZTxBcnJheVR5cGU+ID0gT3ZlcnJpZGVLZXlzPEFycmF5VHlwZT47XG5cbnR5cGUgRWxlbWVudFR5cGU8VD4gPSBUIGV4dGVuZHMgYW55W10gPyBUW251bWJlcl0gOiBUO1xudHlwZSBPdmVycmlkZUtleXM8VD4gPSB7XG5cdFtQIGluIGtleW9mIFRdPzogT3ZlcnJpZGVUeXBlIHwgQXJyYXlPdmVycmlkZVR5cGU8RWxlbWVudFR5cGU8VFtQXT4+O1xufTtcblxuZnVuY3Rpb24gaXNBcnJheUNvbmZpZzxUPihjb25maWc6IE92ZXJyaWRlVHlwZSB8IEFycmF5T3ZlcnJpZGVUeXBlPFQ+IHwgdW5kZWZpbmVkKTogY29uZmlnIGlzIEFycmF5T3ZlcnJpZGVUeXBlPFQ+IHtcblx0cmV0dXJuIHR5cGVvZiBjb25maWcgPT09IFwib2JqZWN0XCI7XG59XG5cbmZ1bmN0aW9uIGFwcGx5T3ZlcnJpZGU8VCBleHRlbmRzIE9iamVjdD4ob3ZlcndyaXRhYmxlS2V5czogT3ZlcnJpZGVLZXlzPFQ+LCBzb3VyY2VJdGVtOiBUIHwgbnVsbCwgY3VzdG9tRWxlbWVudDogVCk6IFQge1xuXHRjb25zdCBvdXRJdGVtOiBUID0gc291cmNlSXRlbSB8fCBjdXN0b21FbGVtZW50O1xuXHRmb3IgKGNvbnN0IG92ZXJ3cml0YWJsZUtleSBpbiBvdmVyd3JpdGFibGVLZXlzKSB7XG5cdFx0aWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG92ZXJ3cml0YWJsZUtleXMsIG92ZXJ3cml0YWJsZUtleSkpIHtcblx0XHRcdGNvbnN0IG92ZXJyaWRlQ29uZmlnID0gb3ZlcndyaXRhYmxlS2V5c1tvdmVyd3JpdGFibGVLZXldO1xuXHRcdFx0aWYgKHNvdXJjZUl0ZW0gIT09IG51bGwpIHtcblx0XHRcdFx0c3dpdGNoIChvdmVycmlkZUNvbmZpZykge1xuXHRcdFx0XHRcdGNhc2UgXCJvdmVyd3JpdGVcIjpcblx0XHRcdFx0XHRcdGlmIChjdXN0b21FbGVtZW50Lmhhc093blByb3BlcnR5KG92ZXJ3cml0YWJsZUtleSkgJiYgY3VzdG9tRWxlbWVudFtvdmVyd3JpdGFibGVLZXldICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRcdFx0c291cmNlSXRlbVtvdmVyd3JpdGFibGVLZXldID0gY3VzdG9tRWxlbWVudFtvdmVyd3JpdGFibGVLZXldO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0Y2FzZSBcIm1lcmdlXCI6XG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdGNvbnN0IHN1Ykl0ZW0gPSBzb3VyY2VJdGVtW292ZXJ3cml0YWJsZUtleV0gfHwgKFtdIGFzIGFueVtdKTtcblx0XHRcdFx0XHRcdGxldCBzdWJDb25maWcgPSB7fTtcblx0XHRcdFx0XHRcdGlmIChpc0FycmF5Q29uZmlnKG92ZXJyaWRlQ29uZmlnKSkge1xuXHRcdFx0XHRcdFx0XHRzdWJDb25maWcgPSBvdmVycmlkZUNvbmZpZztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KHN1Ykl0ZW0pKSB7XG5cdFx0XHRcdFx0XHRcdHNvdXJjZUl0ZW1bb3ZlcndyaXRhYmxlS2V5XSA9IGluc2VydEN1c3RvbUVsZW1lbnRzKFxuXHRcdFx0XHRcdFx0XHRcdHN1Ykl0ZW0sXG5cdFx0XHRcdFx0XHRcdFx0KGN1c3RvbUVsZW1lbnQgJiYgKGN1c3RvbUVsZW1lbnRbb3ZlcndyaXRhYmxlS2V5XSBhcyBSZWNvcmQ8c3RyaW5nLCBDdXN0b21FbGVtZW50PGFueT4+KSkgfHwge30sXG5cdFx0XHRcdFx0XHRcdFx0c3ViQ29uZmlnXG5cdFx0XHRcdFx0XHRcdCkgYXMgYW55O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHN3aXRjaCAob3ZlcnJpZGVDb25maWcpIHtcblx0XHRcdFx0XHRjYXNlIFwib3ZlcndyaXRlXCI6XG5cdFx0XHRcdFx0XHRpZiAoY3VzdG9tRWxlbWVudC5oYXNPd25Qcm9wZXJ0eShvdmVyd3JpdGFibGVLZXkpICYmIGN1c3RvbUVsZW1lbnRbb3ZlcndyaXRhYmxlS2V5XSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0XHRcdG91dEl0ZW1bb3ZlcndyaXRhYmxlS2V5XSA9IGN1c3RvbUVsZW1lbnRbb3ZlcndyaXRhYmxlS2V5XTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGNhc2UgXCJtZXJnZVwiOlxuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRsZXQgc3ViQ29uZmlnID0ge307XG5cdFx0XHRcdFx0XHRpZiAoaXNBcnJheUNvbmZpZyhvdmVycmlkZUNvbmZpZykpIHtcblx0XHRcdFx0XHRcdFx0c3ViQ29uZmlnID0gb3ZlcnJpZGVDb25maWc7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRvdXRJdGVtW292ZXJ3cml0YWJsZUtleV0gPSBpbnNlcnRDdXN0b21FbGVtZW50cyhcblx0XHRcdFx0XHRcdFx0W10gYXMgYW55W10sXG5cdFx0XHRcdFx0XHRcdChjdXN0b21FbGVtZW50ICYmIChjdXN0b21FbGVtZW50W292ZXJ3cml0YWJsZUtleV0gYXMgUmVjb3JkPHN0cmluZywgQ3VzdG9tRWxlbWVudDxhbnk+PikpIHx8IHt9LFxuXHRcdFx0XHRcdFx0XHRzdWJDb25maWdcblx0XHRcdFx0XHRcdCkgYXMgYW55O1xuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIG91dEl0ZW07XG59XG5cbi8qKlxuICogSW5zZXJ0IGEgc2V0IG9mIGN1c3RvbSBlbGVtZW50cyBpbiB0aGUgcmlnaHQgcG9zaXRpb24gaW4gYW4gb3JpZ2luYWwgY29sbGVjdGlvbi5cbiAqXG4gKiBQYXJhbWV0ZXJzIGZvciBvdmVyd3JpdGFibGVLZXlzIGFuZCB0aGVpciBpbXBsaWNhdGlvbnM6XG4gKiBcIm92ZXJ3cml0ZVwiOiBUaGUgd2hvbGUgb2JqZWN0IGdldHMgb3ZlcndyaXR0ZW4gLSBpZiB0aGUgY3VzdG9tRWxlbWVudHMgaW5jbHVkZSBhIGRlZmF1bHQsIHRoaXMgd2lsbCBvdmVycnVsZSB0aGUgd2hvbGUgcm9vdEVsZW1lbnRzIGNvbmZpZ3VyYXRpb24uXG4gKiBcIm1lcmdlXCI6IFRoaXMgaXMgc2ltaWxhciB0byBjYWxsaW5nIGluc2VydEN1c3RvbUVsZW1lbnRzIGl0c2VsZi4gWW91IG11c3QgaW5jbHVkZSB0aGVcbiAqIGZ1bGwgQ3VzdG9tRWxlbWVudCBzeW50YXggd2l0aGluIHRoZSBjdXN0b21FbGVtZW50cywgaW5jbHVkaW5nIGFuY2hvcnMsIGZvciBleGFtcGxlLlxuICogXCJpZ25vcmVcIjogVGhlcmUgYXJlIG5vIGFkZGl0aW9ucyBhbmQgbm8gY29tYmluYXRpb25zLiBPbmx5IHRoZSByb290RWxlbWVudHMgb2JqZWN0IGlzIHVzZWQuXG4gKlxuICogTm90ZSAtIFByb2NlZWQgYXMgZm9sbG93cyBpbiBjYXNlIHlvdSBoYXZlIGRlZmluZWQgY3VzdG9tRWxlbWVudHMgYW5kIGRvIG5vdCB3YW50IHRvIG92ZXJ3cml0ZSB0aGVpciB2YWx1ZXMgd2l0aCBkZWZhdWx0czpcbiAqIEhhbmQgdGhlIHJvb3RFbGVtZW50cyBpbnRvIHRoZSBjcmVhdGlvbiBmdW5jdGlvbiBvZiB0aGUgY3VzdG9tRWxlbWVudC5cbiAqIERlcGVuZGluZyBvbiB0aGUgZXhpc3RlbmNlIG9mIGJvdGggcm9vdEVsZW1lbnQtY29uZmlndXJhdGlvbiBhbmQgY3VzdG9tRWxlbWVudC1jb25maWd1cmF0aW9uLFxuICogeW91IG11c3Qgc2V0IHRoZSBjdXN0b21FbGVtZW50cyBwcm9wZXJ0eSwgZm9yIHdoaWNoIHRoZSBcIm92ZXJ3cml0ZVwiLXByb3BlcnR5IGlzIHNldCwgZXhwbGljaXRseSB0byB1bmRlZmluZWQuXG4gKlxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSByb290RWxlbWVudHMgQSBsaXN0IG9mIFwiQ29uZmlndXJhYmxlT2JqZWN0XCIgd2hpY2ggbWVhbnMgb2JqZWN0IHRoYXQgaGF2ZSBhIHVuaXF1ZSBcImtleVwiXG4gKiBAcGFyYW0gY3VzdG9tRWxlbWVudHMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgZXh0cmEgb2JqZWN0IHRvIGFkZCwgdGhleSBhcmUgaW5kZXhlZCBieSBhIGtleSBhbmQgaGF2ZSBhIFwicG9zaXRpb25cIiBvYmplY3RcbiAqIEBwYXJhbSBvdmVyd3JpdGFibGVLZXlzIFRoZSBsaXN0IG9mIGtleXMgZnJvbSB0aGUgb3JpZ2luYWwgb2JqZWN0IHRoYXQgY2FuIGJlIG92ZXJ3cml0dGVuIGluIGNhc2UgYSBjdXN0b20gZWxlbWVudCBoYXMgdGhlIHNhbWUgXCJrZXlcIlxuICogQHJldHVybnMgQW4gb3JkZXJlZCBhcnJheSBvZiBlbGVtZW50cyBpbmNsdWRpbmcgdGhlIGN1c3RvbSBvbmVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRDdXN0b21FbGVtZW50czxUIGV4dGVuZHMgQ29uZmlndXJhYmxlT2JqZWN0Pihcblx0cm9vdEVsZW1lbnRzOiBUW10sXG5cdGN1c3RvbUVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBDdXN0b21FbGVtZW50PFQ+Pixcblx0b3ZlcndyaXRhYmxlS2V5czogT3ZlcnJpZGVLZXlzPFQ+ID0ge31cbik6IFRbXSB7XG5cdGNvbnN0IGZpcnN0QW5jaG9yID0gcm9vdEVsZW1lbnRzLmxlbmd0aCA/IHJvb3RFbGVtZW50c1swXS5rZXkgOiBudWxsO1xuXHRjb25zdCByb290RWxlbWVudHNXaXRob3V0TGFzdCA9IHJvb3RFbGVtZW50cy5maWx0ZXIoKHJvb3RFbGVtZW50KSA9PiB7XG5cdFx0cmV0dXJuIHJvb3RFbGVtZW50LnBvc2l0aW9uPy5wbGFjZW1lbnQgIT09IFBsYWNlbWVudC5FbmQ7XG5cdH0pO1xuXHRjb25zdCBsYXN0QW5jaG9yID0gcm9vdEVsZW1lbnRzLmxlbmd0aCA/IHJvb3RFbGVtZW50c1tyb290RWxlbWVudHNXaXRob3V0TGFzdC5sZW5ndGggLSAxXS5rZXkgOiBudWxsO1xuXHRsZXQgZW5kRWxlbWVudDogVCB8IHVuZGVmaW5lZDtcblx0Y29uc3QgcG9zaXRpb25pbmdJdGVtczogUmVjb3JkPHN0cmluZywgUmVxdWlyZWQ8UG9zaXRpb24+PiA9IHt9O1xuXHRjb25zdCBpdGVtc1BlcktleTogUmVjb3JkPHN0cmluZywgVD4gPSB7fTtcblx0cm9vdEVsZW1lbnRzLmZvckVhY2goKHJvb3RFbGVtZW50KSA9PiB7XG5cdFx0aWYgKHJvb3RFbGVtZW50LnBvc2l0aW9uPy5wbGFjZW1lbnQgPT09IFBsYWNlbWVudC5FbmQgJiYgIWVuZEVsZW1lbnQpIHtcblx0XHRcdGVuZEVsZW1lbnQgPSByb290RWxlbWVudDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cG9zaXRpb25pbmdJdGVtc1tyb290RWxlbWVudC5rZXldID0ge1xuXHRcdFx0XHRhbmNob3I6IHJvb3RFbGVtZW50LnBvc2l0aW9uPy5hbmNob3IgfHwgcm9vdEVsZW1lbnQua2V5LFxuXHRcdFx0XHRwbGFjZW1lbnQ6IHJvb3RFbGVtZW50LnBvc2l0aW9uPy5wbGFjZW1lbnQgfHwgUGxhY2VtZW50LkFmdGVyXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRpdGVtc1BlcktleVtyb290RWxlbWVudC5rZXldID0gcm9vdEVsZW1lbnQ7XG5cdH0pO1xuXHRPYmplY3Qua2V5cyhjdXN0b21FbGVtZW50cykuZm9yRWFjaCgoY3VzdG9tRWxlbWVudEtleSkgPT4ge1xuXHRcdGNvbnN0IGN1c3RvbUVsZW1lbnQgPSBjdXN0b21FbGVtZW50c1tjdXN0b21FbGVtZW50S2V5XTtcblx0XHRjb25zdCBhbmNob3IgPSBjdXN0b21FbGVtZW50LnBvc2l0aW9uLmFuY2hvcjtcblx0XHQvLyBJZiBubyBwbGFjZW1lbnQgZGVmaW5lZCB3ZSBhcmUgQWZ0ZXJcblx0XHRpZiAoIWN1c3RvbUVsZW1lbnQucG9zaXRpb24ucGxhY2VtZW50KSB7XG5cdFx0XHRjdXN0b21FbGVtZW50LnBvc2l0aW9uLnBsYWNlbWVudCA9IFBsYWNlbWVudC5BZnRlcjtcblx0XHR9XG5cdFx0Ly8gSWYgbm8gYW5jaG9yIHdlJ3JlIGVpdGhlciBBZnRlciB0aGUgbGFzdCBhbmNob3Igb3IgQmVmb3JlIHRoZSBmaXJzdFxuXHRcdGlmICghYW5jaG9yKSB7XG5cdFx0XHRjb25zdCBwb3RlbnRpYWxBbmNob3IgPSBjdXN0b21FbGVtZW50LnBvc2l0aW9uLnBsYWNlbWVudCA9PT0gUGxhY2VtZW50LkFmdGVyID8gbGFzdEFuY2hvciA6IGZpcnN0QW5jaG9yO1xuXHRcdFx0Y3VzdG9tRWxlbWVudC5wb3NpdGlvbi5hbmNob3IgPSBwb3RlbnRpYWxBbmNob3IgPyBwb3RlbnRpYWxBbmNob3IgOiBjdXN0b21FbGVtZW50S2V5O1xuXHRcdH1cblxuXHRcdC8vIEFkZGluZyBib3VuZC91bmJvdW5kIGFjdGlvbnMgdG8gbWVudVxuXHRcdGN1c3RvbUVsZW1lbnQubWVudSA9IGN1c3RvbUVsZW1lbnQ/Lm1lbnU/Lm1hcCgobWVudSkgPT4ge1xuXHRcdFx0cmV0dXJuIGl0ZW1zUGVyS2V5W21lbnUua2V5XSA/PyBtZW51O1xuXHRcdH0pO1xuXG5cdFx0aWYgKGl0ZW1zUGVyS2V5W2N1c3RvbUVsZW1lbnQua2V5XSkge1xuXHRcdFx0aXRlbXNQZXJLZXlbY3VzdG9tRWxlbWVudC5rZXldID0gYXBwbHlPdmVycmlkZShvdmVyd3JpdGFibGVLZXlzLCBpdGVtc1BlcktleVtjdXN0b21FbGVtZW50LmtleV0sIGN1c3RvbUVsZW1lbnQpO1xuXG5cdFx0XHQvL1Bvc2l0aW9uIGlzIG92ZXJ3cml0dGVuIGZvciBmaWx0ZXIgZmllbGRzIGlmIHRoZXJlIGlzIGEgY2hhbmdlIGluIG1hbmlmZXN0XG5cdFx0XHRpZiAoYW5jaG9yICYmIGN1c3RvbUVsZW1lbnQucG9zaXRpb24gJiYgb3ZlcndyaXRhYmxlS2V5cy5wb3NpdGlvbiAmJiBvdmVyd3JpdGFibGVLZXlzLnBvc2l0aW9uID09PSBcIm92ZXJ3cml0ZVwiKSB7XG5cdFx0XHRcdHBvc2l0aW9uaW5nSXRlbXNbY3VzdG9tRWxlbWVudC5rZXldID0gaXRlbXNQZXJLZXlbY3VzdG9tRWxlbWVudC5rZXldLnBvc2l0aW9uIGFzIFJlcXVpcmVkPFBvc2l0aW9uPjtcblx0XHRcdH1cblx0XHRcdC8qKlxuXHRcdFx0ICogYW5jaG9yIGNoZWNrIGlzIGFkZGVkIHRvIG1ha2Ugc3VyZSBjaGFuZ2UgaW4gcHJvcGVydGllcyBpbiB0aGUgbWFuaWZlc3QgZG9lcyBub3QgYWZmZWN0IHRoZSBwb3NpdGlvbiBvZiB0aGUgZmllbGQuXG5cdFx0XHQgKiBPdGhlcndpc2UsIHdoZW4gbm8gcG9zaXRpb24gaXMgbWVudGlvbmVkIGluIG1hbmlmZXN0IGZvciBhbiBhbHRlcmVkIGZpZWxkLCB0aGUgcG9zaXRpb24gaXMgY2hhbmdlZCBhc1xuXHRcdFx0ICogcGVyIHRoZSBwb3RlbnRpYWwgYW5jaG9yXG5cdFx0XHQgKi9cblx0XHR9IGVsc2Uge1xuXHRcdFx0aXRlbXNQZXJLZXlbY3VzdG9tRWxlbWVudC5rZXldID0gYXBwbHlPdmVycmlkZShvdmVyd3JpdGFibGVLZXlzLCBudWxsLCBjdXN0b21FbGVtZW50KTtcblx0XHRcdHBvc2l0aW9uaW5nSXRlbXNbY3VzdG9tRWxlbWVudC5rZXldID0gY3VzdG9tRWxlbWVudC5wb3NpdGlvbiBhcyBSZXF1aXJlZDxQb3NpdGlvbj47XG5cdFx0fVxuXHR9KTtcblx0Y29uc3Qgc29ydGVkS2V5czogc3RyaW5nW10gPSBbXTtcblxuXHRPYmplY3Qua2V5cyhwb3NpdGlvbmluZ0l0ZW1zKS5mb3JFYWNoKChwb3NpdGlvbkl0ZW1LZXkpID0+IHtcblx0XHRvcmRlclBvc2l0aW9uaW5nSXRlbVJlY3Vyc2l2ZWx5KHBvc2l0aW9uaW5nSXRlbXMsIHBvc2l0aW9uSXRlbUtleSwgc29ydGVkS2V5cywge30pO1xuXHR9KTtcblxuXHRjb25zdCBvdXRFbGVtZW50cyA9IHNvcnRlZEtleXMubWFwKChrZXkpID0+IGl0ZW1zUGVyS2V5W2tleV0pO1xuXHRpZiAoZW5kRWxlbWVudCkge1xuXHRcdG91dEVsZW1lbnRzLnB1c2goZW5kRWxlbWVudCk7XG5cdH1cblx0cmV0dXJuIG91dEVsZW1lbnRzO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7OztNQU9ZQSxTQUFTO0VBQUEsV0FBVEEsU0FBUztJQUFUQSxTQUFTO0lBQVRBLFNBQVM7SUFBVEEsU0FBUztFQUFBLEdBQVRBLFNBQVMsS0FBVEEsU0FBUztFQUFBO0VBcUJyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDQSxJQUFNQywrQkFBK0IsR0FBRyxVQUN2Q0MsZ0JBQW9ELEVBQ3BEQyxNQUFjLEVBQ2RDLE1BQWdCLEVBQ2hCQyxPQUEyQyxFQUMvQjtJQUNaLElBQUlDLFdBQVcsR0FBR0YsTUFBTSxDQUFDRyxPQUFPLENBQUNKLE1BQU0sQ0FBQztJQUN4QyxJQUFJRyxXQUFXLEtBQUssQ0FBQyxDQUFDLEVBQUU7TUFDdkIsT0FBT0EsV0FBVztJQUNuQjtJQUNBLElBQU1FLFVBQThCLEdBQUdOLGdCQUFnQixDQUFDQyxNQUFNLENBQUM7SUFDL0QsSUFBSUssVUFBVSxLQUFLQyxTQUFTLEVBQUU7TUFDN0IsSUFBTUMsVUFBeUIsR0FBR1AsTUFBTSxDQUFDUSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ25EQyxZQUFvQixHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQ1QsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO01BRS9DVSxHQUFHLENBQUNDLE9BQU8sNEJBQ1VOLFVBQVUsQ0FBQ0EsVUFBVSxDQUFD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
5
+ sap.ui.define(["sap/base/Log"],function(e){"use strict";var n={};let t;(function(e){e["After"]="After";e["Before"]="Before";e["End"]="End"})(t||(t={}));n.Placement=t;const o=(n,i,r,s)=>{let c=r.indexOf(i);if(c!==-1){return c}const l=n[i];if(l===undefined){const n=i.split("::"),t=Object.keys(s)[0];e.warning(`Position anchor '${n[n.length-1]}' not found for item '${t}'. Please check manifest settings.`);return r.length}s[i]=l;if(l&&!(l.anchor in s)){c=o(n,l.anchor,r,s);if(l.placement!==t.Before){++c}}else{c=r.length}r.splice(c,0,i);return c};let i;(function(e){e["merge"]="merge";e["overwrite"]="overwrite";e["ignore"]="ignore"})(i||(i={}));n.OverrideType=i;function r(e){return typeof e==="object"}function s(e,n,t){const o=n||t;for(const i in e){if(Object.hasOwnProperty.call(e,i)){const s=e[i];if(n!==null){switch(s){case"overwrite":if(t.hasOwnProperty(i)&&t[i]!==undefined){n[i]=t[i]}break;case"merge":default:const e=n[i]||[];let o={};if(r(s)){o=s}if(Array.isArray(e)){n[i]=c(e,t&&t[i]||{},o)}break}}else{switch(s){case"overwrite":if(t.hasOwnProperty(i)&&t[i]!==undefined){o[i]=t[i]}break;case"merge":default:let e={};if(r(s)){e=s}o[i]=c([],t&&t[i]||{},e);break}}}}return o}function c(e,n){let i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};const r=e.length?e[0].key:null;const c=e.filter(e=>{var n;return((n=e.position)===null||n===void 0?void 0:n.placement)!==t.End});const l=e.length?e[c.length-1].key:null;let a;const f={};const u={};e.forEach(e=>{var n;if(((n=e.position)===null||n===void 0?void 0:n.placement)===t.End&&!a){a=e}else{var o,i;f[e.key]={anchor:((o=e.position)===null||o===void 0?void 0:o.anchor)||e.key,placement:((i=e.position)===null||i===void 0?void 0:i.placement)||t.After}}u[e.key]=e});Object.keys(n).forEach(e=>{var o;const c=n[e];const a=c.position.anchor;if(!c.position.placement){c.position.placement=t.After}if(!a){const n=c.position.placement===t.After?l:r;c.position.anchor=n?n:e}c.menu=c===null||c===void 0?void 0:(o=c.menu)===null||o===void 0?void 0:o.map(e=>u[e.key]??e);if(u[c.key]){u[c.key]=s(i,u[c.key],c);if(a&&c.position&&i.position&&i.position==="overwrite"){f[c.key]=u[c.key].position}}else{u[c.key]=s(i,null,c);f[c.key]=c.position}});const p=[];Object.keys(f).forEach(e=>{o(f,e,p,{})});const d=p.map(e=>u[e]);if(a){d.push(a)}return d}n.insertCustomElements=c;return n},false);
6
+ //# sourceMappingURL=ConfigurableObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurableObject.js","names":["sap","ui","define","Log","_exports","Placement","orderPositioningItemRecursively","positioningItems","anchor","sorted","visited","insertIndex","indexOf","anchorItem","undefined","anchorText","split","manifestItem","Object","keys","warning","length","placement","Before","splice","OverrideType","isArrayConfig","config","applyOverride","overwritableKeys","sourceItem","customElement","outItem","overwritableKey","hasOwnProperty","call","overrideConfig","subItem","subConfig","Array","isArray","insertCustomElements","rootElements","customElements","arguments","firstAnchor","key","rootElementsWithoutLast","filter","rootElement","_rootElement$position","position","End","lastAnchor","endElement","itemsPerKey","forEach","_rootElement$position2","_rootElement$position3","_rootElement$position4","After","customElementKey","_customElement$menu","potentialAnchor","menu","map","sortedKeys","positionItemKey","outElements","push"],"sources":["ConfigurableObject-dbg.js"],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2023 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/base/Log"], function (Log) {
6
+ "use strict";
7
+
8
+ var _exports = {};
9
+ //function to check for statically hidden reference properties
10
+ function isReferencePropertyStaticallyHidden(property) {
11
+ var _property$annotations, _property$annotations2, _property$annotations3, _property$Value, _property$Value$$targ, _property$Value$$targ2, _property$Value$$targ3, _property$Value$$targ4, _property$Value3, _property$Value3$$tar, _propertyValueAnnotat, _propertyValueAnnotat2, _property$annotations4, _property$annotations5, _property$annotations6;
12
+ if (property) {
13
+ switch (property.$Type) {
14
+ case "com.sap.vocabularies.UI.v1.DataFieldForAnnotation":
15
+ return isAnnotationFieldStaticallyHidden(property);
16
+ case "com.sap.vocabularies.UI.v1.DataField":
17
+ if (((_property$annotations = property.annotations) === null || _property$annotations === void 0 ? void 0 : (_property$annotations2 = _property$annotations.UI) === null || _property$annotations2 === void 0 ? void 0 : (_property$annotations3 = _property$annotations2.Hidden) === null || _property$annotations3 === void 0 ? void 0 : _property$annotations3.valueOf()) === true) {
18
+ var _UI, _UI$HiddenFilter;
19
+ if (property.annotations && ((_UI = property.annotations.UI) === null || _UI === void 0 ? void 0 : (_UI$HiddenFilter = _UI.HiddenFilter) === null || _UI$HiddenFilter === void 0 ? void 0 : _UI$HiddenFilter.valueOf()) === true) {
20
+ Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
21
+ }
22
+ return true;
23
+ } else if (((_property$Value = property.Value) === null || _property$Value === void 0 ? void 0 : (_property$Value$$targ = _property$Value.$target) === null || _property$Value$$targ === void 0 ? void 0 : (_property$Value$$targ2 = _property$Value$$targ.annotations) === null || _property$Value$$targ2 === void 0 ? void 0 : (_property$Value$$targ3 = _property$Value$$targ2.UI) === null || _property$Value$$targ3 === void 0 ? void 0 : (_property$Value$$targ4 = _property$Value$$targ3.Hidden) === null || _property$Value$$targ4 === void 0 ? void 0 : _property$Value$$targ4.valueOf()) === true) {
24
+ var _property$Value2, _property$Value2$$tar, _property$Value2$$tar2, _property$Value2$$tar3, _property$Value2$$tar4;
25
+ if (((_property$Value2 = property.Value) === null || _property$Value2 === void 0 ? void 0 : (_property$Value2$$tar = _property$Value2.$target) === null || _property$Value2$$tar === void 0 ? void 0 : (_property$Value2$$tar2 = _property$Value2$$tar.annotations) === null || _property$Value2$$tar2 === void 0 ? void 0 : (_property$Value2$$tar3 = _property$Value2$$tar2.UI) === null || _property$Value2$$tar3 === void 0 ? void 0 : (_property$Value2$$tar4 = _property$Value2$$tar3.HiddenFilter) === null || _property$Value2$$tar4 === void 0 ? void 0 : _property$Value2$$tar4.valueOf()) === true) {
26
+ Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
27
+ }
28
+ return true;
29
+ } else {
30
+ return false;
31
+ }
32
+ case "com.sap.vocabularies.UI.v1.DataFieldWithNavigationPath":
33
+ const propertyValueAnnotation = (_property$Value3 = property.Value) === null || _property$Value3 === void 0 ? void 0 : (_property$Value3$$tar = _property$Value3.$target) === null || _property$Value3$$tar === void 0 ? void 0 : _property$Value3$$tar.annotations;
34
+ if ((propertyValueAnnotation === null || propertyValueAnnotation === void 0 ? void 0 : (_propertyValueAnnotat = propertyValueAnnotation.UI) === null || _propertyValueAnnotat === void 0 ? void 0 : (_propertyValueAnnotat2 = _propertyValueAnnotat.Hidden) === null || _propertyValueAnnotat2 === void 0 ? void 0 : _propertyValueAnnotat2.valueOf()) === true) {
35
+ var _propertyValueAnnotat3, _propertyValueAnnotat4;
36
+ if ((propertyValueAnnotation === null || propertyValueAnnotation === void 0 ? void 0 : (_propertyValueAnnotat3 = propertyValueAnnotation.UI) === null || _propertyValueAnnotat3 === void 0 ? void 0 : (_propertyValueAnnotat4 = _propertyValueAnnotat3.HiddenFilter) === null || _propertyValueAnnotat4 === void 0 ? void 0 : _propertyValueAnnotat4.valueOf()) === true) {
37
+ Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
38
+ }
39
+ return true;
40
+ } else {
41
+ return false;
42
+ }
43
+ case "com.sap.vocabularies.UI.v1.DataFieldWithUrl":
44
+ if (((_property$annotations4 = property.annotations) === null || _property$annotations4 === void 0 ? void 0 : (_property$annotations5 = _property$annotations4.UI) === null || _property$annotations5 === void 0 ? void 0 : (_property$annotations6 = _property$annotations5.Hidden) === null || _property$annotations6 === void 0 ? void 0 : _property$annotations6.valueOf()) === true) {
45
+ var _UI2, _UI2$HiddenFilter;
46
+ if (property.annotations && ((_UI2 = property.annotations.UI) === null || _UI2 === void 0 ? void 0 : (_UI2$HiddenFilter = _UI2.HiddenFilter) === null || _UI2$HiddenFilter === void 0 ? void 0 : _UI2$HiddenFilter.valueOf()) === true) {
47
+ Log.warning("Warning: Property " + property.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
48
+ }
49
+ return true;
50
+ } else {
51
+ return false;
52
+ }
53
+ default:
54
+ }
55
+ }
56
+ }
57
+ _exports.isReferencePropertyStaticallyHidden = isReferencePropertyStaticallyHidden;
58
+ function isAnnotationFieldStaticallyHidden(annotationProperty) {
59
+ var _propertyValueAnnotat5, _propertyValueAnnotat6, _propertyValueAnnotat7;
60
+ const target = annotationProperty.Target.$target.term;
61
+ // let ChartAnnotation: Chart, ConnectedFieldsAnnotation: ConnectedFields, FieldGroupAnnotation: FieldGroup, DataPointAnnotation: DataPoint;
62
+ switch (target) {
63
+ case "com.sap.vocabularies.UI.v1.Chart":
64
+ let ischartMeasureHidden;
65
+ annotationProperty.Target.$target.Measures.forEach(chartMeasure => {
66
+ var _chartMeasure$$target, _chartMeasure$$target2, _chartMeasure$$target3;
67
+ if (((_chartMeasure$$target = chartMeasure.$target.annotations) === null || _chartMeasure$$target === void 0 ? void 0 : (_chartMeasure$$target2 = _chartMeasure$$target.UI) === null || _chartMeasure$$target2 === void 0 ? void 0 : (_chartMeasure$$target3 = _chartMeasure$$target2.Hidden) === null || _chartMeasure$$target3 === void 0 ? void 0 : _chartMeasure$$target3.valueOf()) === true) {
68
+ var _UI3, _UI3$HiddenFilter;
69
+ Log.warning("Warning: Measure attribute for Chart " + chartMeasure.$target.name + " is statically hidden hence chart can't be rendered");
70
+ if (chartMeasure.$target.annotations && ((_UI3 = chartMeasure.$target.annotations.UI) === null || _UI3 === void 0 ? void 0 : (_UI3$HiddenFilter = _UI3.HiddenFilter) === null || _UI3$HiddenFilter === void 0 ? void 0 : _UI3$HiddenFilter.valueOf()) === true) {
71
+ Log.warning("Warning: Property " + chartMeasure.$target.name + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
72
+ }
73
+ ischartMeasureHidden = true;
74
+ }
75
+ });
76
+ if (ischartMeasureHidden === true) {
77
+ return true;
78
+ } else {
79
+ return false;
80
+ }
81
+ case "com.sap.vocabularies.UI.v1.ConnectedFields":
82
+ if (annotationProperty) {
83
+ var _annotationProperty$a, _annotationProperty$a2, _annotationProperty$a3;
84
+ if (((_annotationProperty$a = annotationProperty.annotations) === null || _annotationProperty$a === void 0 ? void 0 : (_annotationProperty$a2 = _annotationProperty$a.UI) === null || _annotationProperty$a2 === void 0 ? void 0 : (_annotationProperty$a3 = _annotationProperty$a2.Hidden) === null || _annotationProperty$a3 === void 0 ? void 0 : _annotationProperty$a3.valueOf()) === true) {
85
+ var _UI4, _UI4$HiddenFilter;
86
+ if (annotationProperty.annotations && ((_UI4 = annotationProperty.annotations.UI) === null || _UI4 === void 0 ? void 0 : (_UI4$HiddenFilter = _UI4.HiddenFilter) === null || _UI4$HiddenFilter === void 0 ? void 0 : _UI4$HiddenFilter.valueOf()) === true) {
87
+ Log.warning("Warning: Property " + annotationProperty.Target.$target.qualifier + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
88
+ }
89
+ return true;
90
+ } else {
91
+ return false;
92
+ }
93
+ }
94
+ break;
95
+ case "com.sap.vocabularies.UI.v1.FieldGroup":
96
+ if (annotationProperty) {
97
+ if (annotationProperty.Target.$target.Data.every(field => isReferencePropertyStaticallyHidden(field) === true)) {
98
+ return true;
99
+ } else {
100
+ return false;
101
+ }
102
+ }
103
+ break;
104
+ case "com.sap.vocabularies.UI.v1.DataPoint":
105
+ const propertyValueAnnotation = annotationProperty.Target.$target.Value.$target;
106
+ if (((_propertyValueAnnotat5 = propertyValueAnnotation.annotations) === null || _propertyValueAnnotat5 === void 0 ? void 0 : (_propertyValueAnnotat6 = _propertyValueAnnotat5.UI) === null || _propertyValueAnnotat6 === void 0 ? void 0 : (_propertyValueAnnotat7 = _propertyValueAnnotat6.Hidden) === null || _propertyValueAnnotat7 === void 0 ? void 0 : _propertyValueAnnotat7.valueOf()) === true) {
107
+ var _propertyValueAnnotat8, _propertyValueAnnotat9, _propertyValueAnnotat10;
108
+ if (((_propertyValueAnnotat8 = propertyValueAnnotation.annotations) === null || _propertyValueAnnotat8 === void 0 ? void 0 : (_propertyValueAnnotat9 = _propertyValueAnnotat8.UI) === null || _propertyValueAnnotat9 === void 0 ? void 0 : (_propertyValueAnnotat10 = _propertyValueAnnotat9.HiddenFilter) === null || _propertyValueAnnotat10 === void 0 ? void 0 : _propertyValueAnnotat10.valueOf()) === true) {
109
+ Log.warning("Warning: Property " + annotationProperty.Target.$target.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
110
+ }
111
+ return true;
112
+ } else {
113
+ return false;
114
+ }
115
+ default:
116
+ }
117
+ }
118
+ _exports.isAnnotationFieldStaticallyHidden = isAnnotationFieldStaticallyHidden;
119
+ function isHeaderStaticallyHidden(property) {
120
+ if (property.targetObject) {
121
+ var _headerInfoAnnotation, _headerInfoAnnotation2, _headerInfoAnnotation3, _headerInfoAnnotation9, _headerInfoAnnotation10, _headerInfoAnnotation11, _headerInfoAnnotation12, _headerInfoAnnotation13, _headerInfoAnnotation14;
122
+ const headerInfoAnnotation = property.targetObject;
123
+ if (headerInfoAnnotation.annotations && ((_headerInfoAnnotation = headerInfoAnnotation.annotations) === null || _headerInfoAnnotation === void 0 ? void 0 : (_headerInfoAnnotation2 = _headerInfoAnnotation.UI) === null || _headerInfoAnnotation2 === void 0 ? void 0 : (_headerInfoAnnotation3 = _headerInfoAnnotation2.Hidden) === null || _headerInfoAnnotation3 === void 0 ? void 0 : _headerInfoAnnotation3.valueOf()) === true) {
124
+ var _headerInfoAnnotation4, _headerInfoAnnotation5, _headerInfoAnnotation6, _headerInfoAnnotation7, _headerInfoAnnotation8;
125
+ if (((_headerInfoAnnotation4 = headerInfoAnnotation.Value) === null || _headerInfoAnnotation4 === void 0 ? void 0 : (_headerInfoAnnotation5 = _headerInfoAnnotation4.$target) === null || _headerInfoAnnotation5 === void 0 ? void 0 : (_headerInfoAnnotation6 = _headerInfoAnnotation5.annotations) === null || _headerInfoAnnotation6 === void 0 ? void 0 : (_headerInfoAnnotation7 = _headerInfoAnnotation6.UI) === null || _headerInfoAnnotation7 === void 0 ? void 0 : (_headerInfoAnnotation8 = _headerInfoAnnotation7.HiddenFilter) === null || _headerInfoAnnotation8 === void 0 ? void 0 : _headerInfoAnnotation8.valueOf()) === true) {
126
+ Log.warning("Warning: Property " + headerInfoAnnotation.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
127
+ }
128
+ return true;
129
+ } else if (headerInfoAnnotation !== null && headerInfoAnnotation !== void 0 && (_headerInfoAnnotation9 = headerInfoAnnotation.Value) !== null && _headerInfoAnnotation9 !== void 0 && _headerInfoAnnotation9.$target && (headerInfoAnnotation === null || headerInfoAnnotation === void 0 ? void 0 : (_headerInfoAnnotation10 = headerInfoAnnotation.Value) === null || _headerInfoAnnotation10 === void 0 ? void 0 : (_headerInfoAnnotation11 = _headerInfoAnnotation10.$target) === null || _headerInfoAnnotation11 === void 0 ? void 0 : (_headerInfoAnnotation12 = _headerInfoAnnotation11.annotations) === null || _headerInfoAnnotation12 === void 0 ? void 0 : (_headerInfoAnnotation13 = _headerInfoAnnotation12.UI) === null || _headerInfoAnnotation13 === void 0 ? void 0 : (_headerInfoAnnotation14 = _headerInfoAnnotation13.Hidden) === null || _headerInfoAnnotation14 === void 0 ? void 0 : _headerInfoAnnotation14.valueOf()) === true) {
130
+ var _headerInfoAnnotation15, _headerInfoAnnotation16, _headerInfoAnnotation17, _headerInfoAnnotation18, _headerInfoAnnotation19;
131
+ if ((headerInfoAnnotation === null || headerInfoAnnotation === void 0 ? void 0 : (_headerInfoAnnotation15 = headerInfoAnnotation.Value) === null || _headerInfoAnnotation15 === void 0 ? void 0 : (_headerInfoAnnotation16 = _headerInfoAnnotation15.$target) === null || _headerInfoAnnotation16 === void 0 ? void 0 : (_headerInfoAnnotation17 = _headerInfoAnnotation16.annotations) === null || _headerInfoAnnotation17 === void 0 ? void 0 : (_headerInfoAnnotation18 = _headerInfoAnnotation17.UI) === null || _headerInfoAnnotation18 === void 0 ? void 0 : (_headerInfoAnnotation19 = _headerInfoAnnotation18.HiddenFilter) === null || _headerInfoAnnotation19 === void 0 ? void 0 : _headerInfoAnnotation19.valueOf()) === true) {
132
+ Log.warning("Warning: Property " + headerInfoAnnotation.Value.path + " is set with both UI.Hidden and UI.HiddenFilter - please set only one of these! UI.HiddenFilter is ignored currently!");
133
+ }
134
+ return true;
135
+ } else {
136
+ return false;
137
+ }
138
+ }
139
+ }
140
+ _exports.isHeaderStaticallyHidden = isHeaderStaticallyHidden;
141
+ return _exports;
142
+ }, false);
143
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1JlZmVyZW5jZVByb3BlcnR5U3RhdGljYWxseUhpZGRlbiIsInByb3BlcnR5IiwiJFR5cGUiLCJpc0Fubm90YXRpb25GaWVsZFN0YXRpY2FsbHlIaWRkZW4iLCJhbm5vdGF0aW9ucyIsIlVJIiwiSGlkZGVuIiwidmFsdWVPZiIsIkhpZGRlbkZpbHRlciIsIkxvZyIsIndhcm5pbmciLCJWYWx1ZSIsInBhdGgiLCIkdGFyZ2V0IiwicHJvcGVydHlWYWx1ZUFubm90YXRpb24iLCJhbm5vdGF0aW9uUHJvcGVydHkiLCJ0YXJnZXQiLCJUYXJnZXQiLCJ0ZXJtIiwiaXNjaGFydE1lYXN1cmVIaWRkZW4iLCJNZWFzdXJlcyIsImZvckVhY2giLCJjaGFydE1lYXN1cmUiLCJuYW1lIiwicXVhbGlmaWVyIiwiRGF0YSIsImV2ZXJ5IiwiZmllbGQiLCJpc0hlYWRlclN0YXRpY2FsbHlIaWRkZW4iLCJ0YXJnZXRPYmplY3QiLCJoZWFkZXJJbmZvQW5ub3RhdGlvbiJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRGF0YUZpZWxkSGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGF0YUZpZWxkQWJzdHJhY3RUeXBlcywgRGF0YUZpZWxkRm9yQW5ub3RhdGlvblR5cGVzLCBGaWVsZEdyb3VwIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IHsgVUlBbm5vdGF0aW9uVGVybXMsIFVJQW5ub3RhdGlvblR5cGVzIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5cbi8vZnVuY3Rpb24gdG8gY2hlY2sgZm9yIHN0YXRpY2FsbHkgaGlkZGVuIHJlZmVyZW5jZSBwcm9wZXJ0aWVzXG5leHBvcnQgZnVuY3Rpb24gaXNSZWZlcmVuY2VQcm9wZXJ0eVN0YXRpY2FsbHlIaWRkZW4ocHJvcGVydHk/OiBEYXRhRmllbGRBYnN0cmFjdFR5cGVzIHwgdW5kZWZpbmVkKSB7XG5cdGlmIChwcm9wZXJ0eSkge1xuXHRcdHN3aXRjaCAocHJvcGVydHkuJFR5cGUpIHtcblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVHlwZXMuRGF0YUZpZWxkRm9yQW5ub3RhdGlvbjpcblx0XHRcdFx0cmV0dXJuIGlzQW5ub3RhdGlvbkZpZWxkU3RhdGljYWxseUhpZGRlbihwcm9wZXJ0eSk7XG5cdFx0XHRjYXNlIFVJQW5ub3RhdGlvblR5cGVzLkRhdGFGaWVsZDpcblx0XHRcdFx0aWYgKHByb3BlcnR5LmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRpZiAocHJvcGVydHkuYW5ub3RhdGlvbnMgJiYgKHByb3BlcnR5LmFubm90YXRpb25zIGFzIGFueSkuVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XHRcdFx0XCJXYXJuaW5nOiBQcm9wZXJ0eSBcIiArXG5cdFx0XHRcdFx0XHRcdFx0cHJvcGVydHkuVmFsdWUucGF0aCArXG5cdFx0XHRcdFx0XHRcdFx0XCIgaXMgc2V0IHdpdGggYm90aCBVSS5IaWRkZW4gYW5kIFVJLkhpZGRlbkZpbHRlciAtIHBsZWFzZSBzZXQgb25seSBvbmUgb2YgdGhlc2UhIFVJLkhpZGRlbkZpbHRlciBpcyBpZ25vcmVkIGN1cnJlbnRseSFcIlxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdH0gZWxzZSBpZiAocHJvcGVydHkuVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRpZiAocHJvcGVydHkuVmFsdWU/LiR0YXJnZXQ/LmFubm90YXRpb25zPy5VST8uSGlkZGVuRmlsdGVyPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eS5WYWx1ZS5wYXRoICtcblx0XHRcdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdGNhc2UgVUlBbm5vdGF0aW9uVHlwZXMuRGF0YUZpZWxkV2l0aE5hdmlnYXRpb25QYXRoOlxuXHRcdFx0XHRjb25zdCBwcm9wZXJ0eVZhbHVlQW5ub3RhdGlvbiA9IHByb3BlcnR5LlZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucztcblx0XHRcdFx0aWYgKHByb3BlcnR5VmFsdWVBbm5vdGF0aW9uPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRpZiAocHJvcGVydHlWYWx1ZUFubm90YXRpb24/LlVJPy5IaWRkZW5GaWx0ZXI/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcdFwiV2FybmluZzogUHJvcGVydHkgXCIgK1xuXHRcdFx0XHRcdFx0XHRcdHByb3BlcnR5LlZhbHVlLnBhdGggK1xuXHRcdFx0XHRcdFx0XHRcdFwiIGlzIHNldCB3aXRoIGJvdGggVUkuSGlkZGVuIGFuZCBVSS5IaWRkZW5GaWx0ZXIgLSBwbGVhc2Ugc2V0IG9ubHkgb25lIG9mIHRoZXNlISBVSS5IaWRkZW5GaWx0ZXIgaXMgaWdub3JlZCBjdXJyZW50bHkhXCJcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0Y2FzZSBVSUFubm90YXRpb25UeXBlcy5EYXRhRmllbGRXaXRoVXJsOlxuXHRcdFx0XHRpZiAocHJvcGVydHkuYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdGlmIChwcm9wZXJ0eS5hbm5vdGF0aW9ucyAmJiAocHJvcGVydHkuYW5ub3RhdGlvbnMgYXMgYW55KS5VST8uSGlkZGVuRmlsdGVyPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eS5WYWx1ZS5wYXRoICtcblx0XHRcdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdGRlZmF1bHQ6XG5cdFx0fVxuXHR9XG59XG5leHBvcnQgZnVuY3Rpb24gaXNBbm5vdGF0aW9uRmllbGRTdGF0aWNhbGx5SGlkZGVuKGFubm90YXRpb25Qcm9wZXJ0eTogRGF0YUZpZWxkRm9yQW5ub3RhdGlvblR5cGVzKSB7XG5cdGNvbnN0IHRhcmdldCA9IGFubm90YXRpb25Qcm9wZXJ0eS5UYXJnZXQuJHRhcmdldC50ZXJtO1xuXHQvLyBsZXQgQ2hhcnRBbm5vdGF0aW9uOiBDaGFydCwgQ29ubmVjdGVkRmllbGRzQW5ub3RhdGlvbjogQ29ubmVjdGVkRmllbGRzLCBGaWVsZEdyb3VwQW5ub3RhdGlvbjogRmllbGRHcm91cCwgRGF0YVBvaW50QW5ub3RhdGlvbjogRGF0YVBvaW50O1xuXHRzd2l0Y2ggKHRhcmdldCkge1xuXHRcdGNhc2UgVUlBbm5vdGF0aW9uVGVybXMuQ2hhcnQ6XG5cdFx0XHRsZXQgaXNjaGFydE1lYXN1cmVIaWRkZW47XG5cdFx0XHRhbm5vdGF0aW9uUHJvcGVydHkuVGFyZ2V0LiR0YXJnZXQuTWVhc3VyZXMuZm9yRWFjaCgoY2hhcnRNZWFzdXJlKSA9PiB7XG5cdFx0XHRcdGlmIChjaGFydE1lYXN1cmUuJHRhcmdldC5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0TG9nLndhcm5pbmcoXG5cdFx0XHRcdFx0XHRcIldhcm5pbmc6IE1lYXN1cmUgYXR0cmlidXRlIGZvciBDaGFydCBcIiArXG5cdFx0XHRcdFx0XHRcdGNoYXJ0TWVhc3VyZS4kdGFyZ2V0Lm5hbWUgK1xuXHRcdFx0XHRcdFx0XHRcIiBpcyBzdGF0aWNhbGx5IGhpZGRlbiBoZW5jZSBjaGFydCBjYW4ndCBiZSByZW5kZXJlZFwiXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHRjaGFydE1lYXN1cmUuJHRhcmdldC5hbm5vdGF0aW9ucyAmJlxuXHRcdFx0XHRcdFx0KGNoYXJ0TWVhc3VyZS4kdGFyZ2V0LmFubm90YXRpb25zIGFzIGFueSkuVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XHRcdFx0XCJXYXJuaW5nOiBQcm9wZXJ0eSBcIiArXG5cdFx0XHRcdFx0XHRcdFx0Y2hhcnRNZWFzdXJlLiR0YXJnZXQubmFtZSArXG5cdFx0XHRcdFx0XHRcdFx0XCIgaXMgc2V0IHdpdGggYm90aCBVSS5IaWRkZW4gYW5kIFVJLkhpZGRlbkZpbHRlciAtIHBsZWFzZSBzZXQgb25seSBvbmUgb2YgdGhlc2UhIFVJLkhpZGRlbkZpbHRlciBpcyBpZ25vcmVkIGN1cnJlbnRseSFcIlxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aXNjaGFydE1lYXN1cmVIaWRkZW4gPSB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdGlmIChpc2NoYXJ0TWVhc3VyZUhpZGRlbiA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLkNvbm5lY3RlZEZpZWxkczpcblx0XHRcdGlmIChhbm5vdGF0aW9uUHJvcGVydHkpIHtcblx0XHRcdFx0aWYgKGFubm90YXRpb25Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0aWYgKGFubm90YXRpb25Qcm9wZXJ0eS5hbm5vdGF0aW9ucyAmJiAoYW5ub3RhdGlvblByb3BlcnR5LmFubm90YXRpb25zIGFzIGFueSkuVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XHRcdFx0XCJXYXJuaW5nOiBQcm9wZXJ0eSBcIiArXG5cdFx0XHRcdFx0XHRcdFx0YW5ub3RhdGlvblByb3BlcnR5LlRhcmdldC4kdGFyZ2V0LnF1YWxpZmllciArXG5cdFx0XHRcdFx0XHRcdFx0XCIgaXMgc2V0IHdpdGggYm90aCBVSS5IaWRkZW4gYW5kIFVJLkhpZGRlbkZpbHRlciAtIHBsZWFzZSBzZXQgb25seSBvbmUgb2YgdGhlc2UhIFVJLkhpZGRlbkZpbHRlciBpcyBpZ25vcmVkIGN1cnJlbnRseSFcIlxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLkZpZWxkR3JvdXA6XG5cdFx0XHRpZiAoYW5ub3RhdGlvblByb3BlcnR5KSB7XG5cdFx0XHRcdGlmIChcblx0XHRcdFx0XHQoYW5ub3RhdGlvblByb3BlcnR5LlRhcmdldC4kdGFyZ2V0IGFzIEZpZWxkR3JvdXApLkRhdGEuZXZlcnkoXG5cdFx0XHRcdFx0XHQoZmllbGQ6IERhdGFGaWVsZEFic3RyYWN0VHlwZXMpID0+IGlzUmVmZXJlbmNlUHJvcGVydHlTdGF0aWNhbGx5SGlkZGVuKGZpZWxkKSA9PT0gdHJ1ZVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRicmVhaztcblx0XHRjYXNlIFVJQW5ub3RhdGlvblRlcm1zLkRhdGFQb2ludDpcblx0XHRcdGNvbnN0IHByb3BlcnR5VmFsdWVBbm5vdGF0aW9uID0gKGFubm90YXRpb25Qcm9wZXJ0eS5UYXJnZXQuJHRhcmdldCBhcyBhbnkpLlZhbHVlLiR0YXJnZXQ7XG5cdFx0XHRpZiAocHJvcGVydHlWYWx1ZUFubm90YXRpb24uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW4/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRpZiAocHJvcGVydHlWYWx1ZUFubm90YXRpb24uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW5GaWx0ZXI/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFx0XCJXYXJuaW5nOiBQcm9wZXJ0eSBcIiArXG5cdFx0XHRcdFx0XHRcdGFubm90YXRpb25Qcm9wZXJ0eS5UYXJnZXQuJHRhcmdldC5WYWx1ZS5wYXRoICtcblx0XHRcdFx0XHRcdFx0XCIgaXMgc2V0IHdpdGggYm90aCBVSS5IaWRkZW4gYW5kIFVJLkhpZGRlbkZpbHRlciAtIHBsZWFzZSBzZXQgb25seSBvbmUgb2YgdGhlc2UhIFVJLkhpZGRlbkZpbHRlciBpcyBpZ25vcmVkIGN1cnJlbnRseSFcIlxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9XG5cdFx0ZGVmYXVsdDpcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNIZWFkZXJTdGF0aWNhbGx5SGlkZGVuKHByb3BlcnR5PzogRGF0YUZpZWxkQWJzdHJhY3RUeXBlcykge1xuXHRpZiAoKHByb3BlcnR5IGFzIGFueSkudGFyZ2V0T2JqZWN0KSB7XG5cdFx0Y29uc3QgaGVhZGVySW5mb0Fubm90YXRpb24gPSAocHJvcGVydHkgYXMgYW55KS50YXJnZXRPYmplY3Q7XG5cdFx0aWYgKGhlYWRlckluZm9Bbm5vdGF0aW9uLmFubm90YXRpb25zICYmIGhlYWRlckluZm9Bbm5vdGF0aW9uLmFubm90YXRpb25zPy5VST8uSGlkZGVuPy52YWx1ZU9mKCkgPT09IHRydWUpIHtcblx0XHRcdGlmIChoZWFkZXJJbmZvQW5ub3RhdGlvbi5WYWx1ZT8uJHRhcmdldD8uYW5ub3RhdGlvbnM/LlVJPy5IaWRkZW5GaWx0ZXI/LnZhbHVlT2YoKSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRMb2cud2FybmluZyhcblx0XHRcdFx0XHRcIldhcm5pbmc6IFByb3BlcnR5IFwiICtcblx0XHRcdFx0XHRcdGhlYWRlckluZm9Bbm5vdGF0aW9uLlZhbHVlLnBhdGggK1xuXHRcdFx0XHRcdFx0XCIgaXMgc2V0IHdpdGggYm90aCBVSS5IaWRkZW4gYW5kIFVJLkhpZGRlbkZpbHRlciAtIHBsZWFzZSBzZXQgb25seSBvbmUgb2YgdGhlc2UhIFVJLkhpZGRlbkZpbHRlciBpcyBpZ25vcmVkIGN1cnJlbnRseSFcIlxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSBlbHNlIGlmIChcblx0XHRcdGhlYWRlckluZm9Bbm5vdGF0aW9uPy5WYWx1ZT8uJHRhcmdldCAmJlxuXHRcdFx0aGVhZGVySW5mb0Fubm90YXRpb24/LlZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbj8udmFsdWVPZigpID09PSB0cnVlXG5cdFx0KSB7XG5cdFx0XHRpZiAoaGVhZGVySW5mb0Fubm90YXRpb24/LlZhbHVlPy4kdGFyZ2V0Py5hbm5vdGF0aW9ucz8uVUk/LkhpZGRlbkZpbHRlcj8udmFsdWVPZigpID09PSB0cnVlKSB7XG5cdFx0XHRcdExvZy53YXJuaW5nKFxuXHRcdFx0XHRcdFwiV2FybmluZzogUHJvcGVydHkgXCIgK1xuXHRcdFx0XHRcdFx0aGVhZGVySW5mb0Fubm90YXRpb24uVmFsdWUucGF0aCArXG5cdFx0XHRcdFx0XHRcIiBpcyBzZXQgd2l0aCBib3RoIFVJLkhpZGRlbiBhbmQgVUkuSGlkZGVuRmlsdGVyIC0gcGxlYXNlIHNldCBvbmx5IG9uZSBvZiB0aGVzZSEgVUkuSGlkZGVuRmlsdGVyIGlzIGlnbm9yZWQgY3VycmVudGx5IVwiXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7OztFQUlBO0VBQ08sU0FBU0EsbUNBQW1DLENBQUNDLFFBQTZDLEVBQUU7SUFBQTtJQUNsRyxJQUFJQSxRQUFRLEVBQUU7TUFDYixRQUFRQSxRQUFRLENBQUNDLEtBQUs7UUFDckI7VUFDQyxPQUFPQyxpQ0FBaUMsQ0FBQ0YsUUFBUSxDQUFDO1FBQ25EO1VBQ0MsSUFBSSwwQkFBQUEsUUFBUSxDQUFDRyxXQUFXLG9GQUFwQixzQkFBc0JDLEVBQUUscUZBQXhCLHVCQUEwQkMsTUFBTSwyREFBaEMs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