@sapui5/sap.fe.macros 1.141.2 → 1.142.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Breadcrumbs.js +4 -10
  4. package/src/sap/fe/macros/Breadcrumbs.tsx +2 -8
  5. package/src/sap/fe/macros/Chart.js +34 -23
  6. package/src/sap/fe/macros/Chart.tsx +25 -11
  7. package/src/sap/fe/macros/CollaborativeDraftHandler.js +48 -31
  8. package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +51 -26
  9. package/src/sap/fe/macros/CollectionBindingInfo.js +8 -2
  10. package/src/sap/fe/macros/CollectionBindingInfo.ts +11 -6
  11. package/src/sap/fe/macros/CommonHelper.js +14 -24
  12. package/src/sap/fe/macros/CommonHelper.ts +18 -25
  13. package/src/sap/fe/macros/Field.js +34 -17
  14. package/src/sap/fe/macros/Field.ts +64 -32
  15. package/src/sap/fe/macros/FooterContent.js +7 -3
  16. package/src/sap/fe/macros/FooterContent.tsx +8 -13
  17. package/src/sap/fe/macros/KPITag.js +1 -1
  18. package/src/sap/fe/macros/KPITag.tsx +3 -1
  19. package/src/sap/fe/macros/MacroAPI.js +3 -2
  20. package/src/sap/fe/macros/MacroAPI.ts +2 -2
  21. package/src/sap/fe/macros/MessageButton.js +4 -3
  22. package/src/sap/fe/macros/MessageButton.tsx +7 -3
  23. package/src/sap/fe/macros/MicroChart.js +10 -6
  24. package/src/sap/fe/macros/MicroChart.tsx +8 -2
  25. package/src/sap/fe/macros/MultiValueField.js +22 -36
  26. package/src/sap/fe/macros/MultiValueField.tsx +34 -66
  27. package/src/sap/fe/macros/Page.js +8 -4
  28. package/src/sap/fe/macros/Page.tsx +13 -4
  29. package/src/sap/fe/macros/RichTextEditor.js +14 -17
  30. package/src/sap/fe/macros/RichTextEditor.tsx +12 -16
  31. package/src/sap/fe/macros/Status.js +35 -8
  32. package/src/sap/fe/macros/Status.tsx +23 -2
  33. package/src/sap/fe/macros/ValueHelp.js +5 -2
  34. package/src/sap/fe/macros/ValueHelp.tsx +5 -0
  35. package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
  36. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
  37. package/src/sap/fe/macros/ai/EasyFilterBar.js +7 -34
  38. package/src/sap/fe/macros/ai/EasyFilterBar.tsx +6 -35
  39. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +31 -7
  40. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +33 -6
  41. package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
  42. package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
  43. package/src/sap/fe/macros/chart/Action.js +37 -2
  44. package/src/sap/fe/macros/chart/Action.ts +21 -0
  45. package/src/sap/fe/macros/chart/ActionGroup.js +25 -2
  46. package/src/sap/fe/macros/chart/ActionGroup.ts +13 -0
  47. package/src/sap/fe/macros/chart/ChartDelegate.js +19 -8
  48. package/src/sap/fe/macros/chart/ChartDelegate.ts +36 -12
  49. package/src/sap/fe/macros/chart/MdcChartTemplate.js +59 -14
  50. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +81 -31
  51. package/src/sap/fe/macros/chart/OverflowGroup.js +62 -0
  52. package/src/sap/fe/macros/chart/OverflowGroup.ts +22 -0
  53. package/src/sap/fe/macros/controls/FilterBar.js +39 -3
  54. package/src/sap/fe/macros/controls/FilterBar.ts +50 -2
  55. package/src/sap/fe/macros/controls/RadioButtons.js +18 -5
  56. package/src/sap/fe/macros/controls/RadioButtons.tsx +10 -1
  57. package/src/sap/fe/macros/controls/TextLink.js +15 -1
  58. package/src/sap/fe/macros/controls/TextLink.tsx +19 -0
  59. package/src/sap/fe/macros/coreUI/CreateDialog.js +2 -2
  60. package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
  61. package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +46 -13
  62. package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +51 -10
  63. package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +4 -2
  64. package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +3 -1
  65. package/src/sap/fe/macros/field/FieldFormatOptions.js +3 -3
  66. package/src/sap/fe/macros/field/FieldFormatOptions.ts +1 -1
  67. package/src/sap/fe/macros/field/FieldHelper.js +4 -3
  68. package/src/sap/fe/macros/field/FieldHelper.ts +7 -1
  69. package/src/sap/fe/macros/field/FieldRuntime.js +38 -8
  70. package/src/sap/fe/macros/field/FieldRuntime.ts +65 -7
  71. package/src/sap/fe/macros/field/FieldRuntimeHelper.js +6 -35
  72. package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +35 -60
  73. package/src/sap/fe/macros/field/FieldTemplating.js +10 -4
  74. package/src/sap/fe/macros/field/FieldTemplating.ts +12 -5
  75. package/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -4
  76. package/src/sap/fe/macros/filter/FilterFieldHelper.ts +7 -2
  77. package/src/sap/fe/macros/filter/FilterUtils.js +100 -36
  78. package/src/sap/fe/macros/filter/FilterUtils.ts +127 -39
  79. package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.js +2 -2
  80. package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.ts +1 -1
  81. package/src/sap/fe/macros/filterBar/FilterBar.block.js +13 -3
  82. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +29 -8
  83. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +10 -7
  84. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +31 -16
  85. package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +4 -3
  86. package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +5 -2
  87. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +4 -3
  88. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +3 -2
  89. package/src/sap/fe/macros/form/Form.block.js +27 -2
  90. package/src/sap/fe/macros/form/Form.block.ts +31 -11
  91. package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -3
  92. package/src/sap/fe/macros/form/FormContainer.block.js +104 -72
  93. package/src/sap/fe/macros/form/FormContainer.block.ts +114 -72
  94. package/src/sap/fe/macros/formatters/TableFormatter.js +13 -10
  95. package/src/sap/fe/macros/formatters/TableFormatter.ts +11 -9
  96. package/src/sap/fe/macros/formatters/VisualFilterFormatter.js +6 -4
  97. package/src/sap/fe/macros/formatters/VisualFilterFormatter.ts +5 -5
  98. package/src/sap/fe/macros/inlineEdit/InlineEdit.js +5 -5
  99. package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +4 -4
  100. package/src/sap/fe/macros/insights/InsightsService.js +3 -2
  101. package/src/sap/fe/macros/insights/InsightsService.ts +2 -1
  102. package/src/sap/fe/macros/internal/DataPoint.js +7 -8
  103. package/src/sap/fe/macros/internal/DataPoint.tsx +6 -9
  104. package/src/sap/fe/macros/internal/field/DisplayStyle.js +8 -6
  105. package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +7 -8
  106. package/src/sap/fe/macros/internal/field/EditStyle.js +18 -24
  107. package/src/sap/fe/macros/internal/field/EditStyle.tsx +24 -44
  108. package/src/sap/fe/macros/internal/field/FieldBlockStructure.js +2 -2
  109. package/src/sap/fe/macros/internal/field/FieldBlockStructure.tsx +1 -1
  110. package/src/sap/fe/macros/internal/field/FieldStructure.js +1 -2
  111. package/src/sap/fe/macros/internal/field/FieldStructure.tsx +0 -2
  112. package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +7 -7
  113. package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +17 -11
  114. package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +6 -2
  115. package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +5 -1
  116. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +44 -12
  117. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +42 -11
  118. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +54 -1
  119. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +59 -0
  120. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
  121. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +6 -6
  122. package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +5 -2
  123. package/src/sap/fe/macros/library.js +5 -6
  124. package/src/sap/fe/macros/{library.ts → library.tsx} +3 -1
  125. package/src/sap/fe/macros/mdc/adapter/StateHelper.js +15 -5
  126. package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +21 -5
  127. package/src/sap/fe/macros/messagebundle.properties +13 -5
  128. package/src/sap/fe/macros/messagebundle_ar.properties +12 -3
  129. package/src/sap/fe/macros/messagebundle_bg.properties +13 -4
  130. package/src/sap/fe/macros/messagebundle_ca.properties +12 -3
  131. package/src/sap/fe/macros/messagebundle_cnr.properties +12 -3
  132. package/src/sap/fe/macros/messagebundle_cs.properties +11 -2
  133. package/src/sap/fe/macros/messagebundle_cy.properties +12 -3
  134. package/src/sap/fe/macros/messagebundle_da.properties +12 -3
  135. package/src/sap/fe/macros/messagebundle_de.properties +16 -7
  136. package/src/sap/fe/macros/messagebundle_el.properties +13 -4
  137. package/src/sap/fe/macros/messagebundle_en.properties +13 -4
  138. package/src/sap/fe/macros/messagebundle_en_GB.properties +13 -4
  139. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +12 -3
  140. package/src/sap/fe/macros/messagebundle_es.properties +12 -3
  141. package/src/sap/fe/macros/messagebundle_es_MX.properties +12 -3
  142. package/src/sap/fe/macros/messagebundle_et.properties +12 -3
  143. package/src/sap/fe/macros/messagebundle_fi.properties +12 -3
  144. package/src/sap/fe/macros/messagebundle_fr.properties +12 -3
  145. package/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -3
  146. package/src/sap/fe/macros/messagebundle_hi.properties +12 -3
  147. package/src/sap/fe/macros/messagebundle_hr.properties +13 -4
  148. package/src/sap/fe/macros/messagebundle_hu.properties +12 -3
  149. package/src/sap/fe/macros/messagebundle_id.properties +18 -9
  150. package/src/sap/fe/macros/messagebundle_it.properties +12 -3
  151. package/src/sap/fe/macros/messagebundle_iw.properties +12 -3
  152. package/src/sap/fe/macros/messagebundle_ja.properties +12 -3
  153. package/src/sap/fe/macros/messagebundle_kk.properties +11 -2
  154. package/src/sap/fe/macros/messagebundle_ko.properties +13 -4
  155. package/src/sap/fe/macros/messagebundle_lt.properties +12 -3
  156. package/src/sap/fe/macros/messagebundle_lv.properties +12 -3
  157. package/src/sap/fe/macros/messagebundle_mk.properties +12 -3
  158. package/src/sap/fe/macros/messagebundle_ms.properties +12 -3
  159. package/src/sap/fe/macros/messagebundle_nl.properties +12 -3
  160. package/src/sap/fe/macros/messagebundle_no.properties +12 -3
  161. package/src/sap/fe/macros/messagebundle_pl.properties +12 -3
  162. package/src/sap/fe/macros/messagebundle_pt.properties +12 -3
  163. package/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -3
  164. package/src/sap/fe/macros/messagebundle_ro.properties +13 -4
  165. package/src/sap/fe/macros/messagebundle_ru.properties +12 -3
  166. package/src/sap/fe/macros/messagebundle_sh.properties +12 -3
  167. package/src/sap/fe/macros/messagebundle_sk.properties +12 -3
  168. package/src/sap/fe/macros/messagebundle_sl.properties +13 -4
  169. package/src/sap/fe/macros/messagebundle_sr.properties +12 -3
  170. package/src/sap/fe/macros/messagebundle_sv.properties +12 -3
  171. package/src/sap/fe/macros/messagebundle_th.properties +11 -2
  172. package/src/sap/fe/macros/messagebundle_tr.properties +12 -3
  173. package/src/sap/fe/macros/messagebundle_uk.properties +12 -3
  174. package/src/sap/fe/macros/messagebundle_vi.properties +13 -4
  175. package/src/sap/fe/macros/messagebundle_zh_CN.properties +12 -3
  176. package/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -3
  177. package/src/sap/fe/macros/messages/MessageButton.js +21 -12
  178. package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
  179. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +4 -3
  180. package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +5 -2
  181. package/src/sap/fe/macros/quickView/QuickView.js +5 -4
  182. package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
  183. package/src/sap/fe/macros/richtexteditor/ButtonGroup.js +2 -2
  184. package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +2 -2
  185. package/src/sap/fe/macros/table/Action.js +15 -2
  186. package/src/sap/fe/macros/table/Action.ts +11 -1
  187. package/src/sap/fe/macros/table/ActionGroup.js +15 -2
  188. package/src/sap/fe/macros/table/ActionGroup.ts +8 -0
  189. package/src/sap/fe/macros/table/ActionGroupOverride.js +14 -2
  190. package/src/sap/fe/macros/table/ActionGroupOverride.ts +7 -0
  191. package/src/sap/fe/macros/table/ActionOverride.js +14 -2
  192. package/src/sap/fe/macros/table/ActionOverride.ts +7 -0
  193. package/src/sap/fe/macros/table/ActionsTemplating.js +21 -6
  194. package/src/sap/fe/macros/table/ActionsTemplating.tsx +19 -4
  195. package/src/sap/fe/macros/table/MdcTableTemplate.js +113 -15
  196. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +162 -14
  197. package/src/sap/fe/macros/table/OverflowGroups.js +59 -0
  198. package/src/sap/fe/macros/table/OverflowGroups.ts +27 -0
  199. package/src/sap/fe/macros/table/Table.block.js +72 -29
  200. package/src/sap/fe/macros/table/Table.block.tsx +71 -15
  201. package/src/sap/fe/macros/table/TableAPI.js +213 -154
  202. package/src/sap/fe/macros/table/TableAPI.ts +116 -60
  203. package/src/sap/fe/macros/table/TableDefinition.js +19 -2
  204. package/src/sap/fe/macros/table/TableDefinition.ts +17 -1
  205. package/src/sap/fe/macros/table/TableEventHandlerProvider.js +8 -5
  206. package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +14 -12
  207. package/src/sap/fe/macros/table/TableHelper.js +5 -2
  208. package/src/sap/fe/macros/table/TableHelper.ts +5 -2
  209. package/src/sap/fe/macros/table/TableRuntime.js +2 -2
  210. package/src/sap/fe/macros/table/TableRuntime.ts +4 -6
  211. package/src/sap/fe/macros/table/TableSizeHelper.js +4 -4
  212. package/src/sap/fe/macros/table/TableSizeHelper.ts +6 -11
  213. package/src/sap/fe/macros/table/delegates/TableDelegate.js +69 -28
  214. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +111 -122
  215. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
  216. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
  217. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +2 -2
  218. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +1 -1
  219. package/src/sap/fe/macros/table/massEdit/MassEditField.js +1 -1
  220. package/src/sap/fe/macros/table/massEdit/MassEditField.tsx +3 -6
  221. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +6 -5
  222. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +10 -4
  223. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +7 -9
  224. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +7 -8
  225. package/src/sap/fe/macros/table/mixin/TableExport.js +1 -1
  226. package/src/sap/fe/macros/table/mixin/TableExport.ts +3 -3
  227. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +6 -6
  228. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +5 -5
  229. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +5 -3
  230. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +7 -4
  231. package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +4 -4
  232. package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.ts +3 -3
  233. package/src/sap/fe/macros/visualfilters/VisualFilter.js +20 -2
  234. package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +28 -6
  235. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -3
  236. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +4 -3
  237. package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.js +3 -3
  238. package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.tsx +10 -4
  239. package/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.fe.macros",
3
- "version": "1.141.2",
3
+ "version": "1.142.1",
4
4
  "description": "SAPUI5 Library sap.fe.macros",
5
5
  "keywords": [
6
6
  "sapui5",
@@ -6,7 +6,7 @@
6
6
  SAP UI development toolkit for HTML5 (SAPUI5)
7
7
  (c) Copyright 2009-2021 SAP SE. All rights reserved
8
8
  </copyright>
9
- <version>1.141.2</version>
9
+ <version>1.142.1</version>
10
10
 
11
11
  <documentation>UI5 library: sap.fe.macros</documentation>
12
12
 
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2025 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/ResourceModelHelper", "sap/fe/core/helpers/StableIdHelper", "sap/m/Breadcrumbs", "sap/m/Link", "sap/fe/base/jsx-runtime/jsx"], function (Log, BindingToolkit, ClassSupport, BuildingBlock, CommonUtils, ResourceModelHelper, StableIdHelper, UI5Breadcrumbs, Link, _jsx) {
5
+ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/CommonUtils", "sap/fe/core/helpers/ResourceModelHelper", "sap/fe/core/helpers/StableIdHelper", "sap/m/Breadcrumbs", "sap/m/Link", "sap/fe/base/jsx-runtime/jsx"], function (Log, ClassSupport, BuildingBlock, CommonUtils, ResourceModelHelper, StableIdHelper, UI5Breadcrumbs, Link, _jsx) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
@@ -12,7 +12,6 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
12
12
  var property = ClassSupport.property;
13
13
  var implementInterface = ClassSupport.implementInterface;
14
14
  var defineUI5Class = ClassSupport.defineUI5Class;
15
- var compileExpression = BindingToolkit.compileExpression;
16
15
  function _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }
17
16
  function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
18
17
  function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
@@ -134,16 +133,11 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
134
133
  appTitle = manifestAppSettings.title || "",
135
134
  appSubTitle = manifestAppSettings.subTitle || "",
136
135
  appIcon = manifestAppSettings.icon || "",
137
- appSpecificHash = rootViewController.getAppSpecificHash(),
138
- rootContextPath = this._getContextPathFromHash(""),
139
- dataModelObjectPath = this.getDataModelObjectPath(rootContextPath),
140
- typeNamePluralAnno = dataModelObjectPath?.targetEntityType?.annotations?.UI?.HeaderInfo?.TypeNamePlural,
141
- exp = compileExpression(typeNamePluralAnno),
142
- rootTypeNamePlural = exp ? CommonUtils.getTranslatedTextFromExpBindingString(exp, this) : undefined;
136
+ appSpecificHash = rootViewController.getAppSpecificHash();
143
137
  const titleInfo = {
144
138
  ...(await rootViewController.getRootLevelTitleInformation(appSpecificHash, appTitle, appSubTitle, appIcon))
145
139
  };
146
- titleInfo.subtitle = rootTypeNamePlural ? rootTypeNamePlural : titleInfo.title;
140
+ titleInfo.subtitle = titleInfo.title;
147
141
  const spaceName = this._getFEManifestBreadcrumbSettings()?.space;
148
142
  titleInfo.title = spaceName ? CommonUtils.getTranslatedTextFromExpBindingString(spaceName, this) : "";
149
143
  return titleInfo;
@@ -266,4 +260,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/BindingToolkit", "sap/fe/base/ClassS
266
260
  _exports = Breadcrumbs;
267
261
  return _exports;
268
262
  }, false);
269
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJoaWVyYWNoeU1vZGVPcHRpb25zIiwiT0JKRUNUIiwiRlVMTCIsIl9leHBvcnRzIiwiQnJlYWRjcnVtYnMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImltcGxlbWVudEludGVyZmFjZSIsIl9kZWMzIiwicHJvcGVydHkiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiYWxsb3dlZFZhbHVlcyIsIk9iamVjdCIsInZhbHVlcyIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9jayIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwib25NZXRhZGF0YUF2YWlsYWJsZSIsImNvbnRlbnQiLCJfZ2V0T3duZXIiLCJydW5Bc093bmVyIiwiY3JlYXRlQ29udGVudCIsIl9nZXRCcmVhZGNydW1ic1RpdGxlSW5mb3MiLCJmdWxsUGF0aEZvckxpbmtzIiwicHJvbWlzZXMiLCJhcHBDb21wb25lbnQiLCJnZXRBcHBDb21wb25lbnQiLCJyb290Vmlld0NvbnRyb2xsZXIiLCJnZXRSb290Vmlld0NvbnRyb2xsZXIiLCJtZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJwYXRoUGFydHMiLCJfZ2V0QnJlYWRjcnVtYnNQYXRoUGFydHMiLCJwYXRoIiwiaGllcmFyY2h5TW9kZSIsInJlc291cmNlTW9kZWwiLCJnZXRSZXNvdXJjZU1vZGVsIiwiaG9tZVRpdGxlIiwiX2dldEZFTWFuaWZlc3RCcmVhZGNydW1iU2V0dGluZ3MiLCJob21lIiwicHVzaCIsIlByb21pc2UiLCJyZXNvbHZlIiwiaW50ZW50IiwidGl0bGUiLCJDb21tb25VdGlscyIsImdldFRyYW5zbGF0ZWRUZXh0RnJvbUV4cEJpbmRpbmdTdHJpbmciLCJnZXRUZXh0IiwiZm9yRWFjaCIsInBhdGhQYXJ0IiwiaWR4IiwiZ2V0Um91dGVyIiwiZ2V0Um91dGVJbmZvQnlIYXNoIiwiX2dldEZpcnN0UGFnZVRpdGxlSW5mb3JtYXRpb24iLCJwYXJhbWV0ZXJQYXRoIiwiZ2V0TWV0YVBhdGgiLCJyZXN1bHRDb250ZXh0IiwiZ2V0T2JqZWN0IiwiZ2V0VGl0bGVJbmZvRnJvbVBhdGgiLCJiaW5kIiwic3BsaXQiLCJzaGlmdCIsInNwbGljZSIsIl9nZXRDb250ZXh0UGF0aEZyb21IYXNoIiwic0hhc2giLCJlbnRpdHlTZXQiLCJjb250ZXh0UGF0aCIsImdldFRhcmdldE9wdGlvbnNGcm9tSGFzaCIsIm9wdGlvbnMiLCJzZXR0aW5ncyIsInVuZGVmaW5lZCIsIm1hbmlmZXN0QXBwU2V0dGluZ3MiLCJnZXRNYW5pZmVzdEVudHJ5IiwiYXBwVGl0bGUiLCJhcHBTdWJUaXRsZSIsInN1YlRpdGxlIiwiYXBwSWNvbiIsImljb24iLCJhcHBTcGVjaWZpY0hhc2giLCJnZXRBcHBTcGVjaWZpY0hhc2giLCJyb290Q29udGV4dFBhdGgiLCJkYXRhTW9kZWxPYmplY3RQYXRoIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsInR5cGVOYW1lUGx1cmFsQW5ubyIsInRhcmdldEVudGl0eVR5cGUiLCJhbm5vdGF0aW9ucyIsIlVJIiwiSGVhZGVySW5mbyIsIlR5cGVOYW1lUGx1cmFsIiwiZXhwIiwiY29tcGlsZUV4cHJlc3Npb24iLCJyb290VHlwZU5hbWVQbHVyYWwiLCJ0aXRsZUluZm8iLCJnZXRSb290TGV2ZWxUaXRsZUluZm9ybWF0aW9uIiwic3VidGl0bGUiLCJzcGFjZU5hbWUiLCJzcGFjZSIsIm1hbmlmZXN0RkVTZXR0aW5ncyIsImFwcCIsImJyZWFkY3J1bWJzIiwic2V0QnJlYWRjcnVtYkxpbmtzIiwiZ2V0QmluZGluZ0NvbnRleHQiLCJnZXRQYXRoIiwiTG9nIiwiaW5mbyIsImJyZWFkY3J1bWJzQ3RybCIsImdldENvbnRlbnQiLCJlcnJvciIsInRpdGxlSGllcmFyY2h5SW5mb3MiLCJhbGwiLCJ1cGRhdGVCcmVhZGNydW1iTGluayIsInRpdGxlSGllcmFyY2h5SW5mbyIsImhpZXJhcmNoeVBvc2l0aW9uIiwiaXNMYXN0TGluayIsImxpbmtUZXh0IiwiZ2V0TGlua1RleHQiLCJzZXRDdXJyZW50TG9jYXRpb25UZXh0IiwibGluayIsImdldExpbmtzIiwiTGluayIsInNldFRleHQiLCJzZXRIcmVmIiwiZW5jb2RlVVJJIiwiYWRkTGluayIsInRpdGxlRXhpc3RzIiwic3VidGl0bGVFeGlzdHMiLCJpc0ZpcnN0UGFnZSIsInZpZXdJZCIsImdldFBhZ2VDb250cm9sbGVyIiwiZ2V0VmlldyIsImdldElkIiwiX2pzeCIsIlVJNUJyZWFkY3J1bWJzIiwiaWQiLCJnZW5lcmF0ZSIsIm1vZGVsQ29udGV4dENoYW5nZSIsIkJ1aWxkaW5nQmxvY2siLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkJyZWFkY3J1bWJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgaW1wbGVtZW50SW50ZXJmYWNlLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1vZGVsIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvUmVzb3VyY2VNb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgeyBUaXRsZUluZm9ybWF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3Jvb3RWaWV3L1Jvb3RWaWV3QmFzZUNvbnRyb2xsZXJcIjtcbmltcG9ydCBVSTVCcmVhZGNydW1icyBmcm9tIFwic2FwL20vQnJlYWRjcnVtYnNcIjtcbmltcG9ydCBMaW5rIGZyb20gXCJzYXAvbS9MaW5rXCI7XG5pbXBvcnQgdHlwZSB7IE1hbmlmZXN0Q29udGVudCB9IGZyb20gXCJzYXAvdWkvY29yZS9NYW5pZmVzdFwiO1xuXG5leHBvcnQgY29uc3QgaGllcmFjaHlNb2RlT3B0aW9ucyA9IHtcblx0T0JKRUNUOiBcIm9iamVjdE5hdmlnYXRpb25cIixcblx0RlVMTDogXCJmdWxsTmF2aWdhdGlvblwiXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgSGllcmFjaHlNb2RlID0gKHR5cGVvZiBoaWVyYWNoeU1vZGVPcHRpb25zKVtrZXlvZiB0eXBlb2YgaGllcmFjaHlNb2RlT3B0aW9uc107XG5cbi8qKlxuICogQnVpbGRpbmcgYmxvY2sgdXNlZCB0byBjcmVhdGUgYnJlYWRjcnVtYnMuXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuQnJlYWRjcnVtYnNcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJyZWFkY3J1bWJzIGV4dGVuZHMgQnVpbGRpbmdCbG9jazxVSTVCcmVhZGNydW1icz4ge1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLm0uSUJyZWFkY3J1bWJzXCIpXG5cdF9faW1wbGVtZW50c19fc2FwX21fSUJyZWFkY3J1bWJzID0gdHJ1ZTtcblxuXHQvKipcblx0ICogSGllcmFyY2h5IG1vZGUgZm9yIGJyZWFkY3J1bWJzXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRkZWZhdWx0VmFsdWU6IGhpZXJhY2h5TW9kZU9wdGlvbnMuT0JKRUNULFxuXHRcdGFsbG93ZWRWYWx1ZXM6IE9iamVjdC52YWx1ZXMoaGllcmFjaHlNb2RlT3B0aW9ucylcblx0fSlcblx0aGllcmFyY2h5TW9kZSE6IEhpZXJhY2h5TW9kZTtcblxuXHRvbk1ldGFkYXRhQXZhaWxhYmxlKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5jb250ZW50KSB7XG5cdFx0XHR0aGlzLl9nZXRPd25lcigpPy5ydW5Bc093bmVyKCgpID0+IHtcblx0XHRcdFx0dGhpcy5jb250ZW50ID0gdGhpcy5jcmVhdGVDb250ZW50KCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGJyZWFkY3J1bWJzIHRpdGxlIGluZm9ybWF0aW9uIGZvciBmdWxsIHBhdGguXG5cdCAqIEBwYXJhbSBmdWxsUGF0aEZvckxpbmtzIFRoZSBjb250ZXh0IHBhdGggb2YgdGhlIG9iamVjdCBwYWdlLlxuXHQgKiBAcmV0dXJucyBQcm9taXNlcyByZXNvbHZpbmcgdG8gVGl0bGVJbmZvcm1hdGlvbiBvYmplY3RzIGZvciBlYWNoIHBhdGggcGFydC5cblx0ICovXG5cdF9nZXRCcmVhZGNydW1ic1RpdGxlSW5mb3MoZnVsbFBhdGhGb3JMaW5rczogc3RyaW5nKTogUHJvbWlzZTxUaXRsZUluZm9ybWF0aW9uPltdIHtcblx0XHRjb25zdCBwcm9taXNlczogUHJvbWlzZTxUaXRsZUluZm9ybWF0aW9uPltdID0gW10sXG5cdFx0XHRhcHBDb21wb25lbnQgPSB0aGlzLmdldEFwcENvbXBvbmVudCgpISxcblx0XHRcdHJvb3RWaWV3Q29udHJvbGxlciA9IGFwcENvbXBvbmVudC5nZXRSb290Vmlld0NvbnRyb2xsZXIoKSxcblx0XHRcdG1ldGFNb2RlbCA9IGFwcENvbXBvbmVudC5nZXRNZXRhTW9kZWwoKSxcblx0XHRcdHBhdGhQYXJ0cyA9IHRoaXMuX2dldEJyZWFkY3J1bWJzUGF0aFBhcnRzKGZ1bGxQYXRoRm9yTGlua3MpO1xuXG5cdFx0bGV0IHBhdGggPSBcIlwiO1xuXHRcdGlmICh0aGlzLmhpZXJhcmNoeU1vZGUgPT09IGhpZXJhY2h5TW9kZU9wdGlvbnMuRlVMTCkge1xuXHRcdFx0Ly8gSG9tZSBwYWdlXG5cdFx0XHRjb25zdCByZXNvdXJjZU1vZGVsID0gZ2V0UmVzb3VyY2VNb2RlbCh0aGlzKTtcblx0XHRcdGNvbnN0IGhvbWVUaXRsZSA9IHRoaXMuX2dldEZFTWFuaWZlc3RCcmVhZGNydW1iU2V0dGluZ3MoKT8uaG9tZTtcblx0XHRcdHByb21pc2VzLnB1c2goXG5cdFx0XHRcdFByb21pc2UucmVzb2x2ZSh7XG5cdFx0XHRcdFx0aW50ZW50OiBcIiNTaGVsbC1ob21lXCIsXG5cdFx0XHRcdFx0dGl0bGU6IGhvbWVUaXRsZVxuXHRcdFx0XHRcdFx0PyBDb21tb25VdGlscy5nZXRUcmFuc2xhdGVkVGV4dEZyb21FeHBCaW5kaW5nU3RyaW5nKGhvbWVUaXRsZSwgdGhpcylcblx0XHRcdFx0XHRcdDogcmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9BUFBfSE9NRVwiKVxuXHRcdFx0XHR9KVxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cGF0aFBhcnRzLmZvckVhY2goXG5cdFx0XHRmdW5jdGlvbiAodGhpczogQnJlYWRjcnVtYnMsIHBhdGhQYXJ0OiBzdHJpbmcsIGlkeDogbnVtYmVyKTogdm9pZCB7XG5cdFx0XHRcdHBhdGggKz0gcGF0aFBhcnQgPyBgLyR7cGF0aFBhcnR9YCA6IFwiXCI7XG5cdFx0XHRcdGlmICghYXBwQ29tcG9uZW50LmdldFJvdXRlcigpLmdldFJvdXRlSW5mb0J5SGFzaChwYXRoKSkge1xuXHRcdFx0XHRcdC8vIElmIHRoZSB0YXJnZXQgaXMgbm90IGRlY2xhcmVkIGluIHRoZSByb3V0ZXMsIHdlIHNraXAgaXRcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gSWYgaW4gZnVsbCBOYXZpZ2F0aW9uIG1vZGUsIHRoZSBmaXJzdCBwYWdlIG9mIHRoZSBhcHBsaWNhdGlvbiB1c2VzIHRoZSB0aXRsZSBhbmQgc3VidGl0bGUgZnJvbSB0aGUgbWFuaWZlc3Rcblx0XHRcdFx0aWYgKCFpZHggJiYgcGF0aCA9PT0gXCJcIiAmJiB0aGlzLmhpZXJhcmNoeU1vZGUgPT09IGhpZXJhY2h5TW9kZU9wdGlvbnMuRlVMTCkge1xuXHRcdFx0XHRcdHByb21pc2VzLnB1c2godGhpcy5fZ2V0Rmlyc3RQYWdlVGl0bGVJbmZvcm1hdGlvbigpKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBwYXJhbWV0ZXJQYXRoID0gbWV0YU1vZGVsLmdldE1ldGFQYXRoKHBhdGgpO1xuXHRcdFx0XHRjb25zdCByZXN1bHRDb250ZXh0ID0gbWV0YU1vZGVsLmdldE9iamVjdChgJHtwYXJhbWV0ZXJQYXRofS9AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLlJlc3VsdENvbnRleHRgKTtcblx0XHRcdFx0aWYgKHJlc3VsdENvbnRleHQpIHtcblx0XHRcdFx0XHQvLyBXZSBkb250IG5lZWQgdG8gY3JlYXRlIGEgYnJlYWRjcnVtYiBmb3IgUGFyYW1ldGVyIHBhdGhcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0cHJvbWlzZXMucHVzaChyb290Vmlld0NvbnRyb2xsZXIuZ2V0VGl0bGVJbmZvRnJvbVBhdGgocGF0aCkpO1xuXHRcdFx0fS5iaW5kKHRoaXMpXG5cdFx0KTtcblx0XHRyZXR1cm4gcHJvbWlzZXM7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHBhdGggcGFydHMgZnJvbSB0aGUgZnVsbCBwYXRoIGZvciBsaW5rcy5cblx0ICogQHBhcmFtIGZ1bGxQYXRoRm9yTGlua3MgVGhlIGNvbnRleHQgcGF0aCBvZiB0aGUgb2JqZWN0IHBhZ2UuXG5cdCAqIEByZXR1cm5zIFBhdGggcGFydHMgZm9yIGNyZWF0aW5nIGJyZWFkY3J1bWIgbGlua3MuXG5cdCAqL1xuXHRfZ2V0QnJlYWRjcnVtYnNQYXRoUGFydHMoZnVsbFBhdGhGb3JMaW5rczogc3RyaW5nKTogc3RyaW5nW10ge1xuXHRcdGNvbnN0IHBhdGhQYXJ0cyA9IGZ1bGxQYXRoRm9yTGlua3M/LnNwbGl0KFwiL1wiKSA/PyBbXTtcblx0XHRpZiAodGhpcy5oaWVyYXJjaHlNb2RlICE9PSBoaWVyYWNoeU1vZGVPcHRpb25zLkZVTEwpIHtcblx0XHRcdHBhdGhQYXJ0cy5zaGlmdCgpOyAvLyBSZW1vdmUgXCJcIlxuXHRcdFx0cGF0aFBhcnRzLnNwbGljZSgtMSwgMSk7IC8vIFJlbW92ZSBjdXJyZW50IHBhZ2Vcblx0XHR9XG5cdFx0cmV0dXJuIHBhdGhQYXJ0cztcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGNvbnRleHQgcGF0aCBmcm9tIHRoZSBoYXNoLlxuXHQgKiBAcGFyYW0gc0hhc2ggVGhlIGhhc2ggdG8gZ2V0IHRoZSBjb250ZXh0IHBhdGggZnJvbVxuXHQgKiBAcmV0dXJucyBDb250ZXh0IHBhdGggZnJvbSB0aGUgY29ycmVzcG9uZGluZyByb3V0ZSB0YXJnZXQgb3B0aW9uc1xuXHQgKi9cblx0X2dldENvbnRleHRQYXRoRnJvbUhhc2goc0hhc2g6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgYXBwQ29tcG9uZW50ID0gdGhpcy5nZXRBcHBDb21wb25lbnQoKSEsXG5cdFx0XHRyb290Vmlld0NvbnRyb2xsZXIgPSBhcHBDb21wb25lbnQuZ2V0Um9vdFZpZXdDb250cm9sbGVyKCk7XG5cdFx0Y29uc3QgeyBlbnRpdHlTZXQsIGNvbnRleHRQYXRoIH0gPSByb290Vmlld0NvbnRyb2xsZXIuZ2V0VGFyZ2V0T3B0aW9uc0Zyb21IYXNoKHNIYXNoKT8ub3B0aW9ucz8uc2V0dGluZ3MgPz8ge307XG5cdFx0cmV0dXJuIGNvbnRleHRQYXRoID8/IChlbnRpdHlTZXQgPyBgLyR7ZW50aXR5U2V0fWAgOiB1bmRlZmluZWQpO1xuXHR9XG5cblx0YXN5bmMgX2dldEZpcnN0UGFnZVRpdGxlSW5mb3JtYXRpb24oKTogUHJvbWlzZTxUaXRsZUluZm9ybWF0aW9uPiB7XG5cdFx0Y29uc3QgYXBwQ29tcG9uZW50ID0gdGhpcy5nZXRBcHBDb21wb25lbnQoKSEsXG5cdFx0XHRyb290Vmlld0NvbnRyb2xsZXIgPSBhcHBDb21wb25lbnQuZ2V0Um9vdFZpZXdDb250cm9sbGVyKCksXG5cdFx0XHRtYW5pZmVzdEFwcFNldHRpbmdzID0gYXBwQ29tcG9uZW50LmdldE1hbmlmZXN0RW50cnkoXCJzYXAuYXBwXCIpLFxuXHRcdFx0YXBwVGl0bGUgPSBtYW5pZmVzdEFwcFNldHRpbmdzLnRpdGxlIHx8IFwiXCIsXG5cdFx0XHRhcHBTdWJUaXRsZSA9IG1hbmlmZXN0QXBwU2V0dGluZ3Muc3ViVGl0bGUgfHwgXCJcIixcblx0XHRcdGFwcEljb24gPSBtYW5pZmVzdEFwcFNldHRpbmdzLmljb24gfHwgXCJcIixcblx0XHRcdGFwcFNwZWNpZmljSGFzaCA9IHJvb3RWaWV3Q29udHJvbGxlci5nZXRBcHBTcGVjaWZpY0hhc2goKSxcblx0XHRcdHJvb3RDb250ZXh0UGF0aCA9IHRoaXMuX2dldENvbnRleHRQYXRoRnJvbUhhc2goXCJcIiksXG5cdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoID0gdGhpcy5nZXREYXRhTW9kZWxPYmplY3RQYXRoKHJvb3RDb250ZXh0UGF0aCksXG5cdFx0XHR0eXBlTmFtZVBsdXJhbEFubm8gPSBkYXRhTW9kZWxPYmplY3RQYXRoPy50YXJnZXRFbnRpdHlUeXBlPy5hbm5vdGF0aW9ucz8uVUk/LkhlYWRlckluZm8/LlR5cGVOYW1lUGx1cmFsLFxuXHRcdFx0ZXhwID0gY29tcGlsZUV4cHJlc3Npb24odHlwZU5hbWVQbHVyYWxBbm5vKSxcblx0XHRcdHJvb3RUeXBlTmFtZVBsdXJhbCA9IGV4cCA/IENvbW1vblV0aWxzLmdldFRyYW5zbGF0ZWRUZXh0RnJvbUV4cEJpbmRpbmdTdHJpbmcoZXhwLCB0aGlzKSA6IHVuZGVmaW5lZDtcblxuXHRcdGNvbnN0IHRpdGxlSW5mbyA9IHsgLi4uKGF3YWl0IHJvb3RWaWV3Q29udHJvbGxlci5nZXRSb290TGV2ZWxUaXRsZUluZm9ybWF0aW9uKGFwcFNwZWNpZmljSGFzaCwgYXBwVGl0bGUsIGFwcFN1YlRpdGxlLCBhcHBJY29uKSkgfTtcblx0XHR0aXRsZUluZm8uc3VidGl0bGUgPSByb290VHlwZU5hbWVQbHVyYWwgPyByb290VHlwZU5hbWVQbHVyYWwgOiB0aXRsZUluZm8udGl0bGU7XG5cdFx0Y29uc3Qgc3BhY2VOYW1lID0gdGhpcy5fZ2V0RkVNYW5pZmVzdEJyZWFkY3J1bWJTZXR0aW5ncygpPy5zcGFjZTtcblx0XHR0aXRsZUluZm8udGl0bGUgPSBzcGFjZU5hbWUgPyBDb21tb25VdGlscy5nZXRUcmFuc2xhdGVkVGV4dEZyb21FeHBCaW5kaW5nU3RyaW5nKHNwYWNlTmFtZSwgdGhpcykgOiBcIlwiO1xuXHRcdHJldHVybiB0aXRsZUluZm87XG5cdH1cblxuXHRfZ2V0RkVNYW5pZmVzdEJyZWFkY3J1bWJTZXR0aW5ncygpOiBOb25OdWxsYWJsZTxNYW5pZmVzdENvbnRlbnRbXCJzYXAuZmVcIl1bXCJhcHBcIl0+W1wiYnJlYWRjcnVtYnNcIl0gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGFwcENvbXBvbmVudCA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkhLFxuXHRcdFx0bWFuaWZlc3RGRVNldHRpbmdzID0gYXBwQ29tcG9uZW50LmdldE1hbmlmZXN0RW50cnkoXCJzYXAuZmVcIik7XG5cdFx0cmV0dXJuIG1hbmlmZXN0RkVTZXR0aW5ncz8uYXBwPy5icmVhZGNydW1icztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIGJyZWFkY3J1bWIgbGlua3MgaW4gdGhlIGdpdmVuIEJyZWFkY3J1bWJzIGNvbnRyb2wuXG5cdCAqXG5cdCAqIFRoaXMgbWV0aG9kIHJldHJpZXZlcyB0aGUgdGl0bGUgaW5mb3JtYXRpb24gZm9yIGVhY2ggcGF0aCBwYXJ0IGFuZCBzZXRzIHRoZSBsaW5rcyBhY2NvcmRpbmdseS5cblx0ICogSWYgdGhlIGBmdWxsUGF0aEZvckxpbmtgIHBhcmFtZXRlciBpcyBub3QgcHJvdmlkZWQsIGl0IHVzZXMgdGhlIGJpbmRpbmcgY29udGV4dCBwYXRoIG9mIHRoZSBCcmVhZGNydW1icyBjb250cm9sLlxuXHQgKiBAcGFyYW0gZnVsbFBhdGhGb3JMaW5rcyBUaGUgZnVsbCBwYXRoIGZvciB0aGUgbGluaywgZGVmYXVsdHMgdG8gdGhlIGJpbmRpbmcgY29udGV4dCBwYXRoIG9mIHRoZSBCcmVhZGNydW1icyBjb250cm9sXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGJyZWFkY3J1bWIgbGlua3MgYXJlIHNldFxuXHQgKi9cblx0YXN5bmMgc2V0QnJlYWRjcnVtYkxpbmtzKGZ1bGxQYXRoRm9yTGlua3MgPSB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCk/LmdldFBhdGgoKSk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0eXBlb2YgZnVsbFBhdGhGb3JMaW5rcyAhPT0gXCJzdHJpbmdcIikge1xuXHRcdFx0TG9nLmluZm8oXCJCcmVhZGNydW1iczogcGF0aCBub3QgYXZhaWxhYmxlLiBDYW5ub3Qgc2V0IGJyZWFkY3J1bWIgbGlua3MuXCIpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBicmVhZGNydW1ic0N0cmwgPSB0aGlzLmdldENvbnRlbnQoKTtcblx0XHRpZiAoIWJyZWFkY3J1bWJzQ3RybCkge1xuXHRcdFx0TG9nLmVycm9yKFwiQnJlYWRjcnVtYnMgQnVpbGRpbmcgYmxvY2s6IEJyZWFkY3J1bWJzIGNvbnRyb2wgbm90IGF2YWlsYWJsZS4gQ2Fubm90IHNldCBicmVhZGNydW1iIGxpbmtzLlwiKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHRpdGxlSGllcmFyY2h5SW5mb3M6IFRpdGxlSW5mb3JtYXRpb25bXSA9IGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX2dldEJyZWFkY3J1bWJzVGl0bGVJbmZvcyhmdWxsUGF0aEZvckxpbmtzKSk7XG5cdFx0XHR0aXRsZUhpZXJhcmNoeUluZm9zLmZvckVhY2godGhpcy51cGRhdGVCcmVhZGNydW1iTGluay5iaW5kKHRoaXMpKTtcblx0XHR9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuXHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgc2V0dGluZyB0aGUgYnJlYWRjcnVtYiBsaW5rczogXCIgKyBlcnJvcik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZSB0aGUgYnJlYWRjcnVtYiBsaW5rIGF0IHRoZSBzcGVjaWZpZWQgaGllcmFyY2h5IHBvc2l0aW9uLlxuXHQgKiBAcGFyYW0gdGl0bGVIaWVyYXJjaHlJbmZvIFRoZSB0aXRsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGxpbmtcblx0ICogQHBhcmFtIGhpZXJhcmNoeVBvc2l0aW9uIFRoZSBwb3NpdGlvbiBvZiB0aGUgbGluayBpbiB0aGUgaGllcmFyY2h5XG5cdCAqIEBwYXJhbSB0aXRsZUhpZXJhcmNoeUluZm9zIFRoZSBhcnJheSBvZiBhbGwgdGl0bGUgaW5mb3JtYXRpb24gZm9yIHRoZSBoaWVyYXJjaHlcblx0ICovXG5cdHVwZGF0ZUJyZWFkY3J1bWJMaW5rKHRpdGxlSGllcmFyY2h5SW5mbzogVGl0bGVJbmZvcm1hdGlvbiwgaGllcmFyY2h5UG9zaXRpb246IG51bWJlciwgdGl0bGVIaWVyYXJjaHlJbmZvczogVGl0bGVJbmZvcm1hdGlvbltdKTogdm9pZCB7XG5cdFx0Y29uc3QgYnJlYWRjcnVtYnNDdHJsID0gdGhpcy5nZXRDb250ZW50KCkhO1xuXHRcdGNvbnN0IGlzTGFzdExpbmsgPSBoaWVyYXJjaHlQb3NpdGlvbiA9PT0gdGl0bGVIaWVyYXJjaHlJbmZvcy5sZW5ndGggLSAxO1xuXHRcdGNvbnN0IGxpbmtUZXh0ID0gdGhpcy5nZXRMaW5rVGV4dCh0aXRsZUhpZXJhcmNoeUluZm8sIGlzTGFzdExpbmssIGhpZXJhcmNoeVBvc2l0aW9uKTtcblx0XHRpZiAoIWxpbmtUZXh0KSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJCcmVhZGNydW1iczogTm8gbGluayB0ZXh0IGF2YWlsYWJsZSBmb3IgdGhlIGJyZWFkY3J1bWIgbGluayBhdCBwb3NpdGlvbiBcIiArIGhpZXJhcmNoeVBvc2l0aW9uKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKGlzTGFzdExpbmsgJiYgdGhpcy5oaWVyYXJjaHlNb2RlID09PSBoaWVyYWNoeU1vZGVPcHRpb25zLkZVTEwpIHtcblx0XHRcdC8vIE5PVEU6IEFzIG9mIDEuMTM2LjAsIHRoZSBzZXRDdXJyZW50TG9jYXRpb25UZXh0IG1ldGhvZCBpcyBub3QgZGVwcmVjYXRlZC5cblx0XHRcdC8vIEl0IHdhcyBkZXByaWNhdGVkIGluIFVJNSAxLjEyMyBidXQgcmVpbnRyb2R1Y2VkIG9uL2JlZm9yZSBVSTUgMS4xMjcuXG5cdFx0XHQvLyBBcyBvZiBkYXkgb2Ygd3JpdGluZyB0aGlzLCB3ZSB1c2UgVUk1IDEuMTI0IGZvciBvcGVudWk1IHR5cGVzLlxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uXG5cdFx0XHRicmVhZGNydW1ic0N0cmwuc2V0Q3VycmVudExvY2F0aW9uVGV4dChsaW5rVGV4dCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IGxpbmsgPSBicmVhZGNydW1ic0N0cmwuZ2V0TGlua3MoKVtoaWVyYXJjaHlQb3NpdGlvbl0gPyBicmVhZGNydW1ic0N0cmwuZ2V0TGlua3MoKVtoaWVyYXJjaHlQb3NpdGlvbl0gOiBuZXcgTGluaygpO1xuXHRcdFx0Ly9zQ3VycmVudEVudGl0eSBpcyBhIGZhbGxiYWNrIHZhbHVlIGluIGNhc2Ugb2YgZW1wdHkgdGl0bGVcblx0XHRcdGxpbmsuc2V0VGV4dChsaW5rVGV4dCk7XG5cdFx0XHQvL1dlIGFwcGx5IGFuIGFkZGl0aW9uYWwgZW5jb2RlVVJJIGluIGNhc2Ugb2Ygc3BlY2lhbCBjaGFyYWN0ZXJzIChpZSBcIi9cIikgdXNlZCBpbiB0aGUgdXJsIHRocm91Z2ggdGhlIHNlbWFudGljIGtleXNcblx0XHRcdGxpbmsuc2V0SHJlZihlbmNvZGVVUkkodGl0bGVIaWVyYXJjaHlJbmZvLmludGVudCEpKTtcblx0XHRcdGlmICghYnJlYWRjcnVtYnNDdHJsLmdldExpbmtzKClbaGllcmFyY2h5UG9zaXRpb25dKSB7XG5cdFx0XHRcdGJyZWFkY3J1bWJzQ3RybC5hZGRMaW5rKGxpbmspO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgbGluayB0ZXh0IGJhc2VkIG9uIHRpdGxlIGFuZCBzdWJ0aXRsZS5cblx0ICogQHBhcmFtIHRpdGxlSW5mbyBUaXRsZSBpbmZvcm1hdGlvbiBjb250YWluaW5nIHRpdGxlIGFuZCBzdWJ0aXRsZVxuXHQgKiBAcGFyYW0gaXNMYXN0TGluayBEZXRlcm1pbmVzIGlmIGl0IGlzIHRoZSBsYXN0IGxpbmsgaW4gdGhlIGJyZWFkY3J1bWJzXG5cdCAqIEBwYXJhbSBoaWVyYXJjaHlQb3NpdGlvbiBQb3NpdGlvbiBvZiB0aGUgbGluayBpbiB0aGUgaGllcmFyY2h5XG5cdCAqIEByZXR1cm5zIExpbmsgdGV4dFxuXHQgKi9cblx0Z2V0TGlua1RleHQodGl0bGVJbmZvOiBUaXRsZUluZm9ybWF0aW9uLCBpc0xhc3RMaW5rOiBib29sZWFuLCBoaWVyYXJjaHlQb3NpdGlvbjogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCB7IHRpdGxlLCBzdWJ0aXRsZSB9ID0gdGl0bGVJbmZvO1xuXHRcdGNvbnN0IHRpdGxlRXhpc3RzID0gdGl0bGUgIT09IHVuZGVmaW5lZCAmJiB0aXRsZSAhPT0gXCJcIjtcblx0XHRjb25zdCBzdWJ0aXRsZUV4aXN0cyA9IHN1YnRpdGxlICE9PSB1bmRlZmluZWQgJiYgc3VidGl0bGUgIT09IFwiXCI7XG5cdFx0aWYgKHRpdGxlRXhpc3RzICYmIHN1YnRpdGxlRXhpc3RzICYmIHRoaXMuaGllcmFyY2h5TW9kZSA9PT0gaGllcmFjaHlNb2RlT3B0aW9ucy5GVUxMKSB7XG5cdFx0XHRjb25zdCByZXNvdXJjZU1vZGVsID0gZ2V0UmVzb3VyY2VNb2RlbCh0aGlzKTtcblx0XHRcdGNvbnN0IGlzRmlyc3RQYWdlID0gaGllcmFyY2h5UG9zaXRpb24gPT09IDE7XG5cdFx0XHRyZXR1cm4gIWlzRmlyc3RQYWdlICYmIGlzTGFzdExpbmsgPyB0aXRsZSA6IHJlc291cmNlTW9kZWwuZ2V0VGV4dChcIlRfQlJFQURDUlVNQlNfVElUTEVfTE9OR19URU1QTEFURVwiLCBbdGl0bGUsIHN1YnRpdGxlXSk7XG5cdFx0fVxuXHRcdGlmIChzdWJ0aXRsZUV4aXN0cykge1xuXHRcdFx0cmV0dXJuIHN1YnRpdGxlO1xuXHRcdH0gZWxzZSBpZiAodGl0bGVFeGlzdHMpIHtcblx0XHRcdHJldHVybiB0aXRsZTtcblx0XHR9XG5cdH1cblxuXHRjcmVhdGVDb250ZW50KCk6IFVJNUJyZWFkY3J1bWJzIHtcblx0XHRjb25zdCB2aWV3SWQgPSB0aGlzLmdldFBhZ2VDb250cm9sbGVyKCk/LmdldFZpZXcoKS5nZXRJZCgpO1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8VUk1QnJlYWRjcnVtYnNcblx0XHRcdFx0Ly8gVGhpcyBpcyBzZXQgYXMgYWJzb2x1dGUgSUQuXG5cdFx0XHRcdGlkPXt2aWV3SWQgPyBnZW5lcmF0ZShbYCR7dmlld0lkfS0tZmVgLCBcIkJyZWFkY3J1bWJzXCJdKSA6IHVuZGVmaW5lZH1cblx0XHRcdFx0bW9kZWxDb250ZXh0Q2hhbmdlPXsoKTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zZXRCcmVhZGNydW1iTGlua3MoKTtcblx0XHRcdFx0fX1cblx0XHRcdD48L1VJNUJyZWFkY3J1bWJzPlxuXHRcdCk7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFZTyxNQUFNQSxtQkFBbUIsR0FBRztJQUNsQ0MsTUFBTSxFQUFFLGtCQUFrQjtJQUMxQkMsSUFBSSxFQUFFO0VBQ1AsQ0FBVTtFQUFDQyxRQUFBLENBQUFILG1CQUFBLEdBQUFBLG1CQUFBO0VBR1g7QUFDQTtBQUNBO0VBRkEsSUFJcUJJLFdBQVcsSUFB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
263
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJoaWVyYWNoeU1vZGVPcHRpb25zIiwiT0JKRUNUIiwiRlVMTCIsIl9leHBvcnRzIiwiQnJlYWRjcnVtYnMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsImltcGxlbWVudEludGVyZmFjZSIsIl9kZWMzIiwicHJvcGVydHkiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiYWxsb3dlZFZhbHVlcyIsIk9iamVjdCIsInZhbHVlcyIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9jayIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwib25NZXRhZGF0YUF2YWlsYWJsZSIsImNvbnRlbnQiLCJfZ2V0T3duZXIiLCJydW5Bc093bmVyIiwiY3JlYXRlQ29udGVudCIsIl9nZXRCcmVhZGNydW1ic1RpdGxlSW5mb3MiLCJmdWxsUGF0aEZvckxpbmtzIiwicHJvbWlzZXMiLCJhcHBDb21wb25lbnQiLCJnZXRBcHBDb21wb25lbnQiLCJyb290Vmlld0NvbnRyb2xsZXIiLCJnZXRSb290Vmlld0NvbnRyb2xsZXIiLCJtZXRhTW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJwYXRoUGFydHMiLCJfZ2V0QnJlYWRjcnVtYnNQYXRoUGFydHMiLCJwYXRoIiwiaGllcmFyY2h5TW9kZSIsInJlc291cmNlTW9kZWwiLCJnZXRSZXNvdXJjZU1vZGVsIiwiaG9tZVRpdGxlIiwiX2dldEZFTWFuaWZlc3RCcmVhZGNydW1iU2V0dGluZ3MiLCJob21lIiwicHVzaCIsIlByb21pc2UiLCJyZXNvbHZlIiwiaW50ZW50IiwidGl0bGUiLCJDb21tb25VdGlscyIsImdldFRyYW5zbGF0ZWRUZXh0RnJvbUV4cEJpbmRpbmdTdHJpbmciLCJnZXRUZXh0IiwiZm9yRWFjaCIsInBhdGhQYXJ0IiwiaWR4IiwiZ2V0Um91dGVyIiwiZ2V0Um91dGVJbmZvQnlIYXNoIiwiX2dldEZpcnN0UGFnZVRpdGxlSW5mb3JtYXRpb24iLCJwYXJhbWV0ZXJQYXRoIiwiZ2V0TWV0YVBhdGgiLCJyZXN1bHRDb250ZXh0IiwiZ2V0T2JqZWN0IiwiZ2V0VGl0bGVJbmZvRnJvbVBhdGgiLCJiaW5kIiwic3BsaXQiLCJzaGlmdCIsInNwbGljZSIsIl9nZXRDb250ZXh0UGF0aEZyb21IYXNoIiwic0hhc2giLCJlbnRpdHlTZXQiLCJjb250ZXh0UGF0aCIsImdldFRhcmdldE9wdGlvbnNGcm9tSGFzaCIsIm9wdGlvbnMiLCJzZXR0aW5ncyIsInVuZGVmaW5lZCIsIm1hbmlmZXN0QXBwU2V0dGluZ3MiLCJnZXRNYW5pZmVzdEVudHJ5IiwiYXBwVGl0bGUiLCJhcHBTdWJUaXRsZSIsInN1YlRpdGxlIiwiYXBwSWNvbiIsImljb24iLCJhcHBTcGVjaWZpY0hhc2giLCJnZXRBcHBTcGVjaWZpY0hhc2giLCJ0aXRsZUluZm8iLCJnZXRSb290TGV2ZWxUaXRsZUluZm9ybWF0aW9uIiwic3VidGl0bGUiLCJzcGFjZU5hbWUiLCJzcGFjZSIsIm1hbmlmZXN0RkVTZXR0aW5ncyIsImFwcCIsImJyZWFkY3J1bWJzIiwic2V0QnJlYWRjcnVtYkxpbmtzIiwiZ2V0QmluZGluZ0NvbnRleHQiLCJnZXRQYXRoIiwiTG9nIiwiaW5mbyIsImJyZWFkY3J1bWJzQ3RybCIsImdldENvbnRlbnQiLCJlcnJvciIsInRpdGxlSGllcmFyY2h5SW5mb3MiLCJhbGwiLCJ1cGRhdGVCcmVhZGNydW1iTGluayIsInRpdGxlSGllcmFyY2h5SW5mbyIsImhpZXJhcmNoeVBvc2l0aW9uIiwiaXNMYXN0TGluayIsImxpbmtUZXh0IiwiZ2V0TGlua1RleHQiLCJzZXRDdXJyZW50TG9jYXRpb25UZXh0IiwibGluayIsImdldExpbmtzIiwiTGluayIsInNldFRleHQiLCJzZXRIcmVmIiwiZW5jb2RlVVJJIiwiYWRkTGluayIsInRpdGxlRXhpc3RzIiwic3VidGl0bGVFeGlzdHMiLCJpc0ZpcnN0UGFnZSIsInZpZXdJZCIsImdldFBhZ2VDb250cm9sbGVyIiwiZ2V0VmlldyIsImdldElkIiwiX2pzeCIsIlVJNUJyZWFkY3J1bWJzIiwiaWQiLCJnZW5lcmF0ZSIsIm1vZGVsQ29udGV4dENoYW5nZSIsIkJ1aWxkaW5nQmxvY2siLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkJyZWFkY3J1bWJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBpbXBsZW1lbnRJbnRlcmZhY2UsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB7IGdldFJlc291cmNlTW9kZWwgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9SZXNvdXJjZU1vZGVsSGVscGVyXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IFRpdGxlSW5mb3JtYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvcm9vdFZpZXcvUm9vdFZpZXdCYXNlQ29udHJvbGxlclwiO1xuaW1wb3J0IFVJNUJyZWFkY3J1bWJzIGZyb20gXCJzYXAvbS9CcmVhZGNydW1ic1wiO1xuaW1wb3J0IExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCB0eXBlIHsgTWFuaWZlc3RDb250ZW50IH0gZnJvbSBcInNhcC91aS9jb3JlL01hbmlmZXN0XCI7XG5cbmV4cG9ydCBjb25zdCBoaWVyYWNoeU1vZGVPcHRpb25zID0ge1xuXHRPQkpFQ1Q6IFwib2JqZWN0TmF2aWdhdGlvblwiLFxuXHRGVUxMOiBcImZ1bGxOYXZpZ2F0aW9uXCJcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBIaWVyYWNoeU1vZGUgPSAodHlwZW9mIGhpZXJhY2h5TW9kZU9wdGlvbnMpW2tleW9mIHR5cGVvZiBoaWVyYWNoeU1vZGVPcHRpb25zXTtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayB1c2VkIHRvIGNyZWF0ZSBicmVhZGNydW1icy5cbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5CcmVhZGNydW1ic1wiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnJlYWRjcnVtYnMgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrPFVJNUJyZWFkY3J1bWJzPiB7XG5cdEBpbXBsZW1lbnRJbnRlcmZhY2UoXCJzYXAubS5JQnJlYWRjcnVtYnNcIilcblx0X19pbXBsZW1lbnRzX19zYXBfbV9JQnJlYWRjcnVtYnMgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBIaWVyYXJjaHkgbW9kZSBmb3IgYnJlYWRjcnVtYnNcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdGRlZmF1bHRWYWx1ZTogaGllcmFjaHlNb2RlT3B0aW9ucy5PQkpFQ1QsXG5cdFx0YWxsb3dlZFZhbHVlczogT2JqZWN0LnZhbHVlcyhoaWVyYWNoeU1vZGVPcHRpb25zKVxuXHR9KVxuXHRoaWVyYXJjaHlNb2RlITogSGllcmFjaHlNb2RlO1xuXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmNvbnRlbnQpIHtcblx0XHRcdHRoaXMuX2dldE93bmVyKCk/LnJ1bkFzT3duZXIoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgYnJlYWRjcnVtYnMgdGl0bGUgaW5mb3JtYXRpb24gZm9yIGZ1bGwgcGF0aC5cblx0ICogQHBhcmFtIGZ1bGxQYXRoRm9yTGlua3MgVGhlIGNvbnRleHQgcGF0aCBvZiB0aGUgb2JqZWN0IHBhZ2UuXG5cdCAqIEByZXR1cm5zIFByb21pc2VzIHJlc29sdmluZyB0byBUaXRsZUluZm9ybWF0aW9uIG9iamVjdHMgZm9yIGVhY2ggcGF0aCBwYXJ0LlxuXHQgKi9cblx0X2dldEJyZWFkY3J1bWJzVGl0bGVJbmZvcyhmdWxsUGF0aEZvckxpbmtzOiBzdHJpbmcpOiBQcm9taXNlPFRpdGxlSW5mb3JtYXRpb24+W10ge1xuXHRcdGNvbnN0IHByb21pc2VzOiBQcm9taXNlPFRpdGxlSW5mb3JtYXRpb24+W10gPSBbXSxcblx0XHRcdGFwcENvbXBvbmVudCA9IHRoaXMuZ2V0QXBwQ29tcG9uZW50KCkhLFxuXHRcdFx0cm9vdFZpZXdDb250cm9sbGVyID0gYXBwQ29tcG9uZW50LmdldFJvb3RWaWV3Q29udHJvbGxlcigpLFxuXHRcdFx0bWV0YU1vZGVsID0gYXBwQ29tcG9uZW50LmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0cGF0aFBhcnRzID0gdGhpcy5fZ2V0QnJlYWRjcnVtYnNQYXRoUGFydHMoZnVsbFBhdGhGb3JMaW5rcyk7XG5cblx0XHRsZXQgcGF0aCA9IFwiXCI7XG5cdFx0aWYgKHRoaXMuaGllcmFyY2h5TW9kZSA9PT0gaGllcmFjaHlNb2RlT3B0aW9ucy5GVUxMKSB7XG5cdFx0XHQvLyBIb21lIHBhZ2Vcblx0XHRcdGNvbnN0IHJlc291cmNlTW9kZWwgPSBnZXRSZXNvdXJjZU1vZGVsKHRoaXMpO1xuXHRcdFx0Y29uc3QgaG9tZVRpdGxlID0gdGhpcy5fZ2V0RkVNYW5pZmVzdEJyZWFkY3J1bWJTZXR0aW5ncygpPy5ob21lO1xuXHRcdFx0cHJvbWlzZXMucHVzaChcblx0XHRcdFx0UHJvbWlzZS5yZXNvbHZlKHtcblx0XHRcdFx0XHRpbnRlbnQ6IFwiI1NoZWxsLWhvbWVcIixcblx0XHRcdFx0XHR0aXRsZTogaG9tZVRpdGxlXG5cdFx0XHRcdFx0XHQ/IENvbW1vblV0aWxzLmdldFRyYW5zbGF0ZWRUZXh0RnJvbUV4cEJpbmRpbmdTdHJpbmcoaG9tZVRpdGxlLCB0aGlzKVxuXHRcdFx0XHRcdFx0OiByZXNvdXJjZU1vZGVsLmdldFRleHQoXCJUX0FQUF9IT01FXCIpXG5cdFx0XHRcdH0pXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRwYXRoUGFydHMuZm9yRWFjaChcblx0XHRcdGZ1bmN0aW9uICh0aGlzOiBCcmVhZGNydW1icywgcGF0aFBhcnQ6IHN0cmluZywgaWR4OiBudW1iZXIpOiB2b2lkIHtcblx0XHRcdFx0cGF0aCArPSBwYXRoUGFydCA/IGAvJHtwYXRoUGFydH1gIDogXCJcIjtcblx0XHRcdFx0aWYgKCFhcHBDb21wb25lbnQuZ2V0Um91dGVyKCkuZ2V0Um91dGVJbmZvQnlIYXNoKHBhdGgpKSB7XG5cdFx0XHRcdFx0Ly8gSWYgdGhlIHRhcmdldCBpcyBub3QgZGVjbGFyZWQgaW4gdGhlIHJvdXRlcywgd2Ugc2tpcCBpdFxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBJZiBpbiBmdWxsIE5hdmlnYXRpb24gbW9kZSwgdGhlIGZpcnN0IHBhZ2Ugb2YgdGhlIGFwcGxpY2F0aW9uIHVzZXMgdGhlIHRpdGxlIGFuZCBzdWJ0aXRsZSBmcm9tIHRoZSBtYW5pZmVzdFxuXHRcdFx0XHRpZiAoIWlkeCAmJiBwYXRoID09PSBcIlwiICYmIHRoaXMuaGllcmFyY2h5TW9kZSA9PT0gaGllcmFjaHlNb2RlT3B0aW9ucy5GVUxMKSB7XG5cdFx0XHRcdFx0cHJvbWlzZXMucHVzaCh0aGlzLl9nZXRGaXJzdFBhZ2VUaXRsZUluZm9ybWF0aW9uKCkpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IHBhcmFtZXRlclBhdGggPSBtZXRhTW9kZWwuZ2V0TWV0YVBhdGgocGF0aCk7XG5cdFx0XHRcdGNvbnN0IHJlc3VsdENvbnRleHQgPSBtZXRhTW9kZWwuZ2V0T2JqZWN0KGAke3BhcmFtZXRlclBhdGh9L0Bjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuUmVzdWx0Q29udGV4dGApO1xuXHRcdFx0XHRpZiAocmVzdWx0Q29udGV4dCkge1xuXHRcdFx0XHRcdC8vIFdlIGRvbnQgbmVlZCB0byBjcmVhdGUgYSBicmVhZGNydW1iIGZvciBQYXJhbWV0ZXIgcGF0aFxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRwcm9taXNlcy5wdXNoKHJvb3RWaWV3Q29udHJvbGxlci5nZXRUaXRsZUluZm9Gcm9tUGF0aChwYXRoKSk7XG5cdFx0XHR9LmJpbmQodGhpcylcblx0XHQpO1xuXHRcdHJldHVybiBwcm9taXNlcztcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgcGF0aCBwYXJ0cyBmcm9tIHRoZSBmdWxsIHBhdGggZm9yIGxpbmtzLlxuXHQgKiBAcGFyYW0gZnVsbFBhdGhGb3JMaW5rcyBUaGUgY29udGV4dCBwYXRoIG9mIHRoZSBvYmplY3QgcGFnZS5cblx0ICogQHJldHVybnMgUGF0aCBwYXJ0cyBmb3IgY3JlYXRpbmcgYnJlYWRjcnVtYiBsaW5rcy5cblx0ICovXG5cdF9nZXRCcmVhZGNydW1ic1BhdGhQYXJ0cyhmdWxsUGF0aEZvckxpbmtzOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG5cdFx0Y29uc3QgcGF0aFBhcnRzID0gZnVsbFBhdGhGb3JMaW5rcz8uc3BsaXQoXCIvXCIpID8/IFtdO1xuXHRcdGlmICh0aGlzLmhpZXJhcmNoeU1vZGUgIT09IGhpZXJhY2h5TW9kZU9wdGlvbnMuRlVMTCkge1xuXHRcdFx0cGF0aFBhcnRzLnNoaWZ0KCk7IC8vIFJlbW92ZSBcIlwiXG5cdFx0XHRwYXRoUGFydHMuc3BsaWNlKC0xLCAxKTsgLy8gUmVtb3ZlIGN1cnJlbnQgcGFnZVxuXHRcdH1cblx0XHRyZXR1cm4gcGF0aFBhcnRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgY29udGV4dCBwYXRoIGZyb20gdGhlIGhhc2guXG5cdCAqIEBwYXJhbSBzSGFzaCBUaGUgaGFzaCB0byBnZXQgdGhlIGNvbnRleHQgcGF0aCBmcm9tXG5cdCAqIEByZXR1cm5zIENvbnRleHQgcGF0aCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHJvdXRlIHRhcmdldCBvcHRpb25zXG5cdCAqL1xuXHRfZ2V0Q29udGV4dFBhdGhGcm9tSGFzaChzSGFzaDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBhcHBDb21wb25lbnQgPSB0aGlzLmdldEFwcENvbXBvbmVudCgpISxcblx0XHRcdHJvb3RWaWV3Q29udHJvbGxlciA9IGFwcENvbXBvbmVudC5nZXRSb290Vmlld0NvbnRyb2xsZXIoKTtcblx0XHRjb25zdCB7IGVudGl0eVNldCwgY29udGV4dFBhdGggfSA9IHJvb3RWaWV3Q29udHJvbGxlci5nZXRUYXJnZXRPcHRpb25zRnJvbUhhc2goc0hhc2gpPy5vcHRpb25zPy5zZXR0aW5ncyA/PyB7fTtcblx0XHRyZXR1cm4gY29udGV4dFBhdGggPz8gKGVudGl0eVNldCA/IGAvJHtlbnRpdHlTZXR9YCA6IHVuZGVmaW5lZCk7XG5cdH1cblxuXHRhc3luYyBfZ2V0Rmlyc3RQYWdlVGl0bGVJbmZvcm1hdGlvbigpOiBQcm9taXNlPFRpdGxlSW5mb3JtYXRpb24+IHtcblx0XHRjb25zdCBhcHBDb21wb25lbnQgPSB0aGlzLmdldEFwcENvbXBvbmVudCgpISxcblx0XHRcdHJvb3RWaWV3Q29udHJvbGxlciA9IGFwcENvbXBvbmVudC5nZXRSb290Vmlld0NvbnRyb2xsZXIoKSxcblx0XHRcdG1hbmlmZXN0QXBwU2V0dGluZ3MgPSBhcHBDb21wb25lbnQuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC5hcHBcIiksXG5cdFx0XHRhcHBUaXRsZSA9IG1hbmlmZXN0QXBwU2V0dGluZ3MudGl0bGUgfHwgXCJcIixcblx0XHRcdGFwcFN1YlRpdGxlID0gbWFuaWZlc3RBcHBTZXR0aW5ncy5zdWJUaXRsZSB8fCBcIlwiLFxuXHRcdFx0YXBwSWNvbiA9IG1hbmlmZXN0QXBwU2V0dGluZ3MuaWNvbiB8fCBcIlwiLFxuXHRcdFx0YXBwU3BlY2lmaWNIYXNoID0gcm9vdFZpZXdDb250cm9sbGVyLmdldEFwcFNwZWNpZmljSGFzaCgpO1xuXG5cdFx0Y29uc3QgdGl0bGVJbmZvID0geyAuLi4oYXdhaXQgcm9vdFZpZXdDb250cm9sbGVyLmdldFJvb3RMZXZlbFRpdGxlSW5mb3JtYXRpb24oYXBwU3BlY2lmaWNIYXNoLCBhcHBUaXRsZSwgYXBwU3ViVGl0bGUsIGFwcEljb24pKSB9O1xuXHRcdHRpdGxlSW5mby5zdWJ0aXRsZSA9IHRpdGxlSW5mby50aXRsZTtcblx0XHRjb25zdCBzcGFjZU5hbWUgPSB0aGlzLl9nZXRGRU1hbmlmZXN0QnJlYWRjcnVtYlNldHRpbmdzKCk/LnNwYWNlO1xuXHRcdHRpdGxlSW5mby50aXRsZSA9IHNwYWNlTmFtZSA/IENvbW1vblV0aWxzLmdldFRyYW5zbGF0ZWRUZXh0RnJvbUV4cEJpbmRpbmdTdHJpbmcoc3BhY2VOYW1lLCB0aGlzKSA6IFwiXCI7XG5cdFx0cmV0dXJuIHRpdGxlSW5mbztcblx0fVxuXG5cdF9nZXRGRU1hbmlmZXN0QnJlYWRjcnVtYlNldHRpbmdzKCk6IE5vbk51bGxhYmxlPE1hbmlmZXN0Q29udGVudFtcInNhcC5mZVwiXVtcImFwcFwiXT5bXCJicmVhZGNydW1ic1wiXSB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgYXBwQ29tcG9uZW50ID0gdGhpcy5nZXRBcHBDb21wb25lbnQoKSEsXG5cdFx0XHRtYW5pZmVzdEZFU2V0dGluZ3MgPSBhcHBDb21wb25lbnQuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC5mZVwiKTtcblx0XHRyZXR1cm4gbWFuaWZlc3RGRVNldHRpbmdzPy5hcHA/LmJyZWFkY3J1bWJzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgYnJlYWRjcnVtYiBsaW5rcyBpbiB0aGUgZ2l2ZW4gQnJlYWRjcnVtYnMgY29udHJvbC5cblx0ICpcblx0ICogVGhpcyBtZXRob2QgcmV0cmlldmVzIHRoZSB0aXRsZSBpbmZvcm1hdGlvbiBmb3IgZWFjaCBwYXRoIHBhcnQgYW5kIHNldHMgdGhlIGxpbmtzIGFjY29yZGluZ2x5LlxuXHQgKiBJZiB0aGUgYGZ1bGxQYXRoRm9yTGlua2AgcGFyYW1ldGVyIGlzIG5vdCBwcm92aWRlZCwgaXQgdXNlcyB0aGUgYmluZGluZyBjb250ZXh0IHBhdGggb2YgdGhlIEJyZWFkY3J1bWJzIGNvbnRyb2wuXG5cdCAqIEBwYXJhbSBmdWxsUGF0aEZvckxpbmtzIFRoZSBmdWxsIHBhdGggZm9yIHRoZSBsaW5rLCBkZWZhdWx0cyB0byB0aGUgYmluZGluZyBjb250ZXh0IHBhdGggb2YgdGhlIEJyZWFkY3J1bWJzIGNvbnRyb2xcblx0ICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYnJlYWRjcnVtYiBsaW5rcyBhcmUgc2V0XG5cdCAqL1xuXHRhc3luYyBzZXRCcmVhZGNydW1iTGlua3MoZnVsbFBhdGhGb3JMaW5rcyA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKT8uZ2V0UGF0aCgpKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHR5cGVvZiBmdWxsUGF0aEZvckxpbmtzICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRMb2cuaW5mbyhcIkJyZWFkY3J1bWJzOiBwYXRoIG5vdCBhdmFpbGFibGUuIENhbm5vdCBzZXQgYnJlYWRjcnVtYiBsaW5rcy5cIik7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGJyZWFkY3J1bWJzQ3RybCA9IHRoaXMuZ2V0Q29udGVudCgpO1xuXHRcdGlmICghYnJlYWRjcnVtYnNDdHJsKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJCcmVhZGNydW1icyBCdWlsZGluZyBibG9jazogQnJlYWRjcnVtYnMgY29udHJvbCBub3QgYXZhaWxhYmxlLiBDYW5ub3Qgc2V0IGJyZWFkY3J1bWIgbGlua3MuXCIpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgdGl0bGVIaWVyYXJjaHlJbmZvczogVGl0bGVJbmZvcm1hdGlvbltdID0gYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5fZ2V0QnJlYWRjcnVtYnNUaXRsZUluZm9zKGZ1bGxQYXRoRm9yTGlua3MpKTtcblx0XHRcdHRpdGxlSGllcmFyY2h5SW5mb3MuZm9yRWFjaCh0aGlzLnVwZGF0ZUJyZWFkY3J1bWJMaW5rLmJpbmQodGhpcykpO1xuXHRcdH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJFcnJvciB3aGlsZSBzZXR0aW5nIHRoZSBicmVhZGNydW1iIGxpbmtzOiBcIiArIGVycm9yKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlIHRoZSBicmVhZGNydW1iIGxpbmsgYXQgdGhlIHNwZWNpZmllZCBoaWVyYXJjaHkgcG9zaXRpb24uXG5cdCAqIEBwYXJhbSB0aXRsZUhpZXJhcmNoeUluZm8gVGhlIHRpdGxlIGluZm9ybWF0aW9uIGZvciB0aGUgbGlua1xuXHQgKiBAcGFyYW0gaGllcmFyY2h5UG9zaXRpb24gVGhlIHBvc2l0aW9uIG9mIHRoZSBsaW5rIGluIHRoZSBoaWVyYXJjaHlcblx0ICogQHBhcmFtIHRpdGxlSGllcmFyY2h5SW5mb3MgVGhlIGFycmF5IG9mIGFsbCB0aXRsZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGhpZXJhcmNoeVxuXHQgKi9cblx0dXBkYXRlQnJlYWRjcnVtYkxpbmsodGl0bGVIaWVyYXJjaHlJbmZvOiBUaXRsZUluZm9ybWF0aW9uLCBoaWVyYXJjaHlQb3NpdGlvbjogbnVtYmVyLCB0aXRsZUhpZXJhcmNoeUluZm9zOiBUaXRsZUluZm9ybWF0aW9uW10pOiB2b2lkIHtcblx0XHRjb25zdCBicmVhZGNydW1ic0N0cmwgPSB0aGlzLmdldENvbnRlbnQoKSE7XG5cdFx0Y29uc3QgaXNMYXN0TGluayA9IGhpZXJhcmNoeVBvc2l0aW9uID09PSB0aXRsZUhpZXJhcmNoeUluZm9zLmxlbmd0aCAtIDE7XG5cdFx0Y29uc3QgbGlua1RleHQgPSB0aGlzLmdldExpbmtUZXh0KHRpdGxlSGllcmFyY2h5SW5mbywgaXNMYXN0TGluaywgaGllcmFyY2h5UG9zaXRpb24pO1xuXHRcdGlmICghbGlua1RleHQpIHtcblx0XHRcdExvZy5lcnJvcihcIkJyZWFkY3J1bWJzOiBObyBsaW5rIHRleHQgYXZhaWxhYmxlIGZvciB0aGUgYnJlYWRjcnVtYiBsaW5rIGF0IHBvc2l0aW9uIFwiICsgaGllcmFyY2h5UG9zaXRpb24pO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpZiAoaXNMYXN0TGluayAmJiB0aGlzLmhpZXJhcmNoeU1vZGUgPT09IGhpZXJhY2h5TW9kZU9wdGlvbnMuRlVMTCkge1xuXHRcdFx0Ly8gTk9URTogQXMgb2YgMS4xMzYuMCwgdGhlIHNldEN1cnJlbnRMb2NhdGlvblRleHQgbWV0aG9kIGlzIG5vdCBkZXByZWNhdGVkLlxuXHRcdFx0Ly8gSXQgd2FzIGRlcHJpY2F0ZWQgaW4gVUk1IDEuMTIzIGJ1dCByZWludHJvZHVjZWQgb24vYmVmb3JlIFVJNSAxLjEyNy5cblx0XHRcdC8vIEFzIG9mIGRheSBvZiB3cml0aW5nIHRoaXMsIHdlIHVzZSBVSTUgMS4xMjQgZm9yIG9wZW51aTUgdHlwZXMuXG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVwcmVjYXRpb24vZGVwcmVjYXRpb25cblx0XHRcdGJyZWFkY3J1bWJzQ3RybC5zZXRDdXJyZW50TG9jYXRpb25UZXh0KGxpbmtUZXh0KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3QgbGluayA9IGJyZWFkY3J1bWJzQ3RybC5nZXRMaW5rcygpW2hpZXJhcmNoeVBvc2l0aW9uXSA/IGJyZWFkY3J1bWJzQ3RybC5nZXRMaW5rcygpW2hpZXJhcmNoeVBvc2l0aW9uXSA6IG5ldyBMaW5rKCk7XG5cdFx0XHQvL3NDdXJyZW50RW50aXR5IGlzIGEgZmFsbGJhY2sgdmFsdWUgaW4gY2FzZSBvZiBlbXB0eSB0aXRsZVxuXHRcdFx0bGluay5zZXRUZXh0KGxpbmtUZXh0KTtcblx0XHRcdC8vV2UgYXBwbHkgYW4gYWRkaXRpb25hbCBlbmNvZGVVUkkgaW4gY2FzZSBvZiBzcGVjaWFsIGNoYXJhY3RlcnMgKGllIFwiL1wiKSB1c2VkIGluIHRoZSB1cmwgdGhyb3VnaCB0aGUgc2VtYW50aWMga2V5c1xuXHRcdFx0bGluay5zZXRIcmVmKGVuY29kZVVSSSh0aXRsZUhpZXJhcmNoeUluZm8uaW50ZW50ISkpO1xuXHRcdFx0aWYgKCFicmVhZGNydW1ic0N0cmwuZ2V0TGlua3MoKVtoaWVyYXJjaHlQb3NpdGlvbl0pIHtcblx0XHRcdFx0YnJlYWRjcnVtYnNDdHJsLmFkZExpbmsobGluayk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldCBsaW5rIHRleHQgYmFzZWQgb24gdGl0bGUgYW5kIHN1YnRpdGxlLlxuXHQgKiBAcGFyYW0gdGl0bGVJbmZvIFRpdGxlIGluZm9ybWF0aW9uIGNvbnRhaW5pbmcgdGl0bGUgYW5kIHN1YnRpdGxlXG5cdCAqIEBwYXJhbSBpc0xhc3RMaW5rIERldGVybWluZXMgaWYgaXQgaXMgdGhlIGxhc3QgbGluayBpbiB0aGUgYnJlYWRjcnVtYnNcblx0ICogQHBhcmFtIGhpZXJhcmNoeVBvc2l0aW9uIFBvc2l0aW9uIG9mIHRoZSBsaW5rIGluIHRoZSBoaWVyYXJjaHlcblx0ICogQHJldHVybnMgTGluayB0ZXh0XG5cdCAqL1xuXHRnZXRMaW5rVGV4dCh0aXRsZUluZm86IFRpdGxlSW5mb3JtYXRpb24sIGlzTGFzdExpbms6IGJvb2xlYW4sIGhpZXJhcmNoeVBvc2l0aW9uOiBudW1iZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHsgdGl0bGUsIHN1YnRpdGxlIH0gPSB0aXRsZUluZm87XG5cdFx0Y29uc3QgdGl0bGVFeGlzdHMgPSB0aXRsZSAhPT0gdW5kZWZpbmVkICYmIHRpdGxlICE9PSBcIlwiO1xuXHRcdGNvbnN0IHN1YnRpdGxlRXhpc3RzID0gc3VidGl0bGUgIT09IHVuZGVmaW5lZCAmJiBzdWJ0aXRsZSAhPT0gXCJcIjtcblx0XHRpZiAodGl0bGVFeGlzdHMgJiYgc3VidGl0bGVFeGlzdHMgJiYgdGhpcy5oaWVyYXJjaHlNb2RlID09PSBoaWVyYWNoeU1vZGVPcHRpb25zLkZVTEwpIHtcblx0XHRcdGNvbnN0IHJlc291cmNlTW9kZWwgPSBnZXRSZXNvdXJjZU1vZGVsKHRoaXMpO1xuXHRcdFx0Y29uc3QgaXNGaXJzdFBhZ2UgPSBoaWVyYXJjaHlQb3NpdGlvbiA9PT0gMTtcblx0XHRcdHJldHVybiAhaXNGaXJzdFBhZ2UgJiYgaXNMYXN0TGluayA/IHRpdGxlIDogcmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiVF9CUkVBRENSVU1CU19USVRMRV9MT05HX1RFTVBMQVRFXCIsIFt0aXRsZSwgc3VidGl0bGVdKTtcblx0XHR9XG5cdFx0aWYgKHN1YnRpdGxlRXhpc3RzKSB7XG5cdFx0XHRyZXR1cm4gc3VidGl0bGU7XG5cdFx0fSBlbHNlIGlmICh0aXRsZUV4aXN0cykge1xuXHRcdFx0cmV0dXJuIHRpdGxlO1xuXHRcdH1cblx0fVxuXG5cdGNyZWF0ZUNvbnRlbnQoKTogVUk1QnJlYWRjcnVtYnMge1xuXHRcdGNvbnN0IHZpZXdJZCA9IHRoaXMuZ2V0UGFnZUNvbnRyb2xsZXIoKT8uZ2V0VmlldygpLmdldElkKCk7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxVSTVCcmVhZGNydW1ic1xuXHRcdFx0XHQvLyBUaGlzIGlzIHNldCBhcyBhYnNvbHV0ZSBJRC5cblx0XHRcdFx0aWQ9e3ZpZXdJZCA/IGdlbmVyYXRlKFtgJHt2aWV3SWR9LS1mZWAsIFwiQnJlYWRjcnVtYnNcIl0pIDogdW5kZWZpbmVkfVxuXHRcdFx0XHRtb2RlbENvbnRleHRDaGFuZ2U9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHR0aGlzLnNldEJyZWFkY3J1bWJMaW5rcygpO1xuXHRcdFx0XHR9fVxuXHRcdFx0PjwvVUk1QnJlYWRjcnVtYnM+XG5cdFx0KTtcblx0fVxu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LElBQUksRUFBRTtRQUNyRixNQUFNaUQsYUFBYSxHQUFHQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFDNUMsTUFBTThFLFdBQVcsR0FBR2QsaUJBQWlCLEtBQUssQ0FBQztRQUMzQyxPQUFPLENBQUNjLFdBQVcsSUFBSWIsVUFBVSxHQUFHekQsS0FBSyxHQUFHVCxhQUFhLENBQUNZLE9BQU8sQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDSCxLQUFLLEVBQUVzQyxRQUFRLENBQUMsQ0FBQztNQUMxSDtNQUNBLElBQUkrQixjQUFjLEVBQUU7UUFDbkIsT0FBTy9CLFFBQVE7TUFDaEIsQ0FBQyxNQUFNLElBQUk4QixXQUFXLEVBQUU7UUFDdkIsT0FBT3BFLEtBQUs7TUFDYjtJQUNELENBQUM7SUFBQTdCLE1BQUEsQ0FFRE0sYUFBYSxHQUFiLFNBQUFBLGFBQWFBLENBQUEsRUFBbUI7TUFDL0IsTUFBTThGLE1BQU0sR0FBRyxJQUFJLENBQUNDLGlCQUFpQixDQUFDLENBQUMsRUFBRUMsT0FBTyxDQUFDLENBQUMsQ0FBQ0MsS0FBSyxDQUFDLENBQUM7TUFDMUQsT0FDQ0MsSUFBQSxDQUFDQztNQUNBO01BQUE7UUFDQUMsRUFBRSxFQUFFTixNQUFNLEdBQUdPLFFBQVEsQ0FBQyxDQUFDLEdBQUdQLE1BQU0sTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUc3QyxTQUFVO1FBQ3BFcUQsa0JBQWtCLEVBQUVBLENBQUEsS0FBWTtVQUMvQixJQUFJLENBQUNuQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzFCO01BQUUsQ0FDYyxDQUFDO0lBRXBCLENBQUM7SUFBQSxPQUFBcEcsV0FBQTtFQUFBLEVBdE51Q3dJLGFBQWEsR0FBQWhILFdBQUEsR0FBQWlILHlCQUFBLENBQUE1SCxPQUFBLENBQUFlLFNBQUEsdUNBQUF6QixLQUFBO0lBQUF1SSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBLFdBQUFBLENBQUE7TUFBQSxPQUVsQixJQUFJO0lBQUE7RUFBQSxJQUFBcEgsWUFBQSxHQUFBZ0gseUJBQUEsQ0FBQTVILE9BQUEsQ0FBQWUsU0FBQSxvQkFBQXZCLEtBQUE7SUFBQXFJLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBaEksT0FBQSxNQUFBRCxNQUFBO0VBQUFiLFFBQUEsR0FBQUMsV0FBQTtFQUFBLE9BQUFELFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,5 +1,4 @@
1
1
  import Log from "sap/base/Log";
2
- import { compileExpression } from "sap/fe/base/BindingToolkit";
3
2
  import { defineUI5Class, implementInterface, property } from "sap/fe/base/ClassSupport";
4
3
  import BuildingBlock from "sap/fe/core/buildingBlocks/BuildingBlock";
5
4
  import CommonUtils from "sap/fe/core/CommonUtils";
@@ -127,15 +126,10 @@ export default class Breadcrumbs extends BuildingBlock<UI5Breadcrumbs> {
127
126
  appTitle = manifestAppSettings.title || "",
128
127
  appSubTitle = manifestAppSettings.subTitle || "",
129
128
  appIcon = manifestAppSettings.icon || "",
130
- appSpecificHash = rootViewController.getAppSpecificHash(),
131
- rootContextPath = this._getContextPathFromHash(""),
132
- dataModelObjectPath = this.getDataModelObjectPath(rootContextPath),
133
- typeNamePluralAnno = dataModelObjectPath?.targetEntityType?.annotations?.UI?.HeaderInfo?.TypeNamePlural,
134
- exp = compileExpression(typeNamePluralAnno),
135
- rootTypeNamePlural = exp ? CommonUtils.getTranslatedTextFromExpBindingString(exp, this) : undefined;
129
+ appSpecificHash = rootViewController.getAppSpecificHash();
136
130
 
137
131
  const titleInfo = { ...(await rootViewController.getRootLevelTitleInformation(appSpecificHash, appTitle, appSubTitle, appIcon)) };
138
- titleInfo.subtitle = rootTypeNamePlural ? rootTypeNamePlural : titleInfo.title;
132
+ titleInfo.subtitle = titleInfo.title;
139
133
  const spaceName = this._getFEManifestBreadcrumbSettings()?.space;
140
134
  titleInfo.title = spaceName ? CommonUtils.getTranslatedTextFromExpBindingString(spaceName, this) : "";
141
135
  return titleInfo;