@sapui5/sap.fe.core 1.97.0 → 1.99.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 (249) hide show
  1. package/package.json +5 -4
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +377 -405
  4. package/src/sap/fe/core/AnnotationHelper.ts +385 -0
  5. package/src/sap/fe/core/AppComponent.js +6 -3
  6. package/src/sap/fe/core/AppStateHandler.js +229 -181
  7. package/src/sap/fe/core/AppStateHandler.ts +171 -0
  8. package/src/sap/fe/core/BaseController.js +3 -2
  9. package/src/sap/fe/core/BusyLocker.js +105 -121
  10. package/src/sap/fe/core/BusyLocker.ts +98 -0
  11. package/src/sap/fe/core/CommonUtils.js +2073 -2379
  12. package/src/sap/fe/core/CommonUtils.ts +2078 -0
  13. package/src/sap/fe/core/ExtensionAPI.js +16 -7
  14. package/src/sap/fe/core/PageController.js +84 -119
  15. package/src/sap/fe/core/PageController.ts +101 -0
  16. package/src/sap/fe/core/RouterProxy.js +986 -807
  17. package/src/sap/fe/core/RouterProxy.ts +838 -0
  18. package/src/sap/fe/core/Synchronization.js +51 -35
  19. package/src/sap/fe/core/Synchronization.ts +29 -0
  20. package/src/sap/fe/core/TemplateComponent.js +173 -155
  21. package/src/sap/fe/core/TemplateComponent.ts +166 -0
  22. package/src/sap/fe/core/TemplateModel.js +97 -54
  23. package/src/sap/fe/core/TemplateModel.ts +64 -0
  24. package/src/sap/fe/core/TransactionHelper.js +1576 -1579
  25. package/src/sap/fe/core/TransactionHelper.ts +1706 -0
  26. package/src/sap/fe/core/actions/draft.js +560 -581
  27. package/src/sap/fe/core/actions/draft.ts +594 -0
  28. package/src/sap/fe/core/actions/messageHandling.js +545 -511
  29. package/src/sap/fe/core/actions/messageHandling.ts +532 -0
  30. package/src/sap/fe/core/actions/nonDraft.js +17 -19
  31. package/src/sap/fe/core/actions/nonDraft.ts +12 -0
  32. package/src/sap/fe/core/actions/operations.js +1074 -1211
  33. package/src/sap/fe/core/actions/operations.ts +1162 -0
  34. package/src/sap/fe/core/actions/sticky.js +102 -105
  35. package/src/sap/fe/core/actions/sticky.ts +102 -0
  36. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +3 -2
  37. package/src/sap/fe/core/controllerextensions/EditFlow.js +229 -260
  38. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +3 -2
  39. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +288 -13
  40. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +27 -23
  41. package/src/sap/fe/core/controllerextensions/InternalRouting.js +82 -46
  42. package/src/sap/fe/core/controllerextensions/KPIManagement.js +113 -25
  43. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +135 -44
  44. package/src/sap/fe/core/controllerextensions/MassEdit.js +172 -0
  45. package/src/sap/fe/core/controllerextensions/MessageHandler.js +22 -9
  46. package/src/sap/fe/core/controllerextensions/PageReady.js +3 -3
  47. package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -8
  48. package/src/sap/fe/core/controllerextensions/Paginator.js +37 -9
  49. package/src/sap/fe/core/controllerextensions/Placeholder.js +8 -4
  50. package/src/sap/fe/core/controllerextensions/Routing.js +25 -5
  51. package/src/sap/fe/core/controllerextensions/RoutingListener.js +3 -2
  52. package/src/sap/fe/core/controllerextensions/Share.js +22 -8
  53. package/src/sap/fe/core/controllerextensions/SideEffects.js +9 -9
  54. package/src/sap/fe/core/controllerextensions/SideEffects.ts +22 -21
  55. package/src/sap/fe/core/controllerextensions/ViewState.js +3 -2
  56. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -1
  57. package/src/sap/fe/core/controls/CommandExecution.js +3 -2
  58. package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -2
  59. package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -2
  60. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +9 -5
  61. package/src/sap/fe/core/controls/FieldWrapper.js +18 -23
  62. package/src/sap/fe/core/controls/FilterBar.js +3 -2
  63. package/src/sap/fe/core/controls/FormElementWrapper.js +3 -7
  64. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +3 -2
  65. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +2 -1
  66. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +3 -2
  67. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +5 -4
  68. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -2
  69. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -2
  70. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +106 -0
  71. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +79 -0
  72. package/src/sap/fe/core/converters/ConverterContext.js +14 -2
  73. package/src/sap/fe/core/converters/ConverterContext.ts +14 -3
  74. package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
  75. package/src/sap/fe/core/converters/ManifestSettings.ts +4 -0
  76. package/src/sap/fe/core/converters/ManifestWrapper.js +56 -32
  77. package/src/sap/fe/core/converters/ManifestWrapper.ts +24 -6
  78. package/src/sap/fe/core/converters/MetaModelConverter.js +67 -6
  79. package/src/sap/fe/core/converters/MetaModelConverter.ts +70 -14
  80. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  81. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -2
  82. package/src/sap/fe/core/converters/annotations/DataField.js +3 -3
  83. package/src/sap/fe/core/converters/annotations/DataField.ts +1 -1
  84. package/src/sap/fe/core/converters/common/AnnotationConverter.js +33 -21
  85. package/src/sap/fe/core/converters/controls/Common/Action.js +11 -2
  86. package/src/sap/fe/core/converters/controls/Common/Action.ts +8 -2
  87. package/src/sap/fe/core/converters/controls/Common/Chart.js +5 -3
  88. package/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
  89. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -3
  90. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
  91. package/src/sap/fe/core/converters/controls/Common/Form.js +20 -10
  92. package/src/sap/fe/core/converters/controls/Common/Form.ts +24 -4
  93. package/src/sap/fe/core/converters/controls/Common/KPI.js +69 -4
  94. package/src/sap/fe/core/converters/controls/Common/KPI.ts +72 -0
  95. package/src/sap/fe/core/converters/controls/Common/Table.js +390 -398
  96. package/src/sap/fe/core/converters/controls/Common/Table.ts +497 -484
  97. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +527 -0
  98. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +655 -0
  99. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +489 -37
  100. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +506 -58
  101. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +2 -2
  102. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +1 -1
  103. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +17 -9
  104. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +24 -9
  105. package/src/sap/fe/core/converters/helpers/Aggregation.js +18 -3
  106. package/src/sap/fe/core/converters/helpers/Aggregation.ts +28 -5
  107. package/src/sap/fe/core/converters/helpers/IssueManager.js +7 -1
  108. package/src/sap/fe/core/converters/helpers/IssueManager.ts +6 -0
  109. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +4 -4
  110. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +3 -3
  111. package/src/sap/fe/core/converters/templates/ListReportConverter.js +13 -6
  112. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +26 -15
  113. package/src/sap/fe/core/designtime/AppComponent.designtime.js +11 -2
  114. package/src/sap/fe/core/formatters/CriticalityFormatter.js +1 -1
  115. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
  116. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  117. package/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
  118. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  119. package/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
  120. package/src/sap/fe/core/formatters/TableFormatter.js +39 -28
  121. package/src/sap/fe/core/formatters/TableFormatter.ts +43 -28
  122. package/src/sap/fe/core/formatters/ValueFormatter.js +30 -5
  123. package/src/sap/fe/core/formatters/ValueFormatter.ts +30 -7
  124. package/src/sap/fe/core/fpm/Component.js +3 -2
  125. package/src/sap/fe/core/helpers/AppStartupHelper.js +359 -0
  126. package/src/sap/fe/core/helpers/AppStartupHelper.ts +391 -0
  127. package/src/sap/fe/core/helpers/BindingExpression.js +484 -437
  128. package/src/sap/fe/core/helpers/BindingExpression.ts +480 -463
  129. package/src/sap/fe/core/helpers/ClassSupport.js +27 -15
  130. package/src/sap/fe/core/helpers/ClassSupport.ts +31 -20
  131. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +63 -59
  132. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +56 -0
  133. package/src/sap/fe/core/helpers/EditState.js +81 -84
  134. package/src/sap/fe/core/helpers/EditState.ts +81 -0
  135. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +62 -48
  136. package/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
  137. package/src/sap/fe/core/helpers/FPMHelper.js +52 -56
  138. package/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
  139. package/src/sap/fe/core/helpers/KeepAliveHelper.js +4 -5
  140. package/src/sap/fe/core/helpers/KeepAliveHelper.ts +10 -10
  141. package/src/sap/fe/core/helpers/MassEditHelper.js +687 -0
  142. package/src/sap/fe/core/helpers/ModelHelper.js +229 -225
  143. package/src/sap/fe/core/helpers/ModelHelper.ts +227 -0
  144. package/src/sap/fe/core/helpers/PasteHelper.js +210 -132
  145. package/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
  146. package/src/sap/fe/core/helpers/SemanticDateOperators.js +332 -313
  147. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +330 -0
  148. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +66 -67
  149. package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
  150. package/src/sap/fe/core/helpers/StableIdHelper.js +4 -7
  151. package/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
  152. package/src/sap/fe/core/jsx-runtime/jsx.js +1 -1
  153. package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
  154. package/src/sap/fe/core/library.js +30 -3
  155. package/src/sap/fe/core/library.support.js +12 -5
  156. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +62 -0
  157. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -0
  158. package/src/sap/fe/core/messagebundle.properties +61 -13
  159. package/src/sap/fe/core/messagebundle_ar.properties +33 -2
  160. package/src/sap/fe/core/messagebundle_bg.properties +33 -2
  161. package/src/sap/fe/core/messagebundle_ca.properties +33 -2
  162. package/src/sap/fe/core/messagebundle_cs.properties +34 -3
  163. package/src/sap/fe/core/messagebundle_cy.properties +33 -2
  164. package/src/sap/fe/core/messagebundle_da.properties +33 -2
  165. package/src/sap/fe/core/messagebundle_de.properties +33 -2
  166. package/src/sap/fe/core/messagebundle_el.properties +33 -2
  167. package/src/sap/fe/core/messagebundle_en.properties +32 -1
  168. package/src/sap/fe/core/messagebundle_en_GB.properties +32 -1
  169. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +36 -1
  170. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +33 -2
  171. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +33 -2
  172. package/src/sap/fe/core/messagebundle_es.properties +33 -2
  173. package/src/sap/fe/core/messagebundle_es_MX.properties +33 -2
  174. package/src/sap/fe/core/messagebundle_et.properties +33 -2
  175. package/src/sap/fe/core/messagebundle_fi.properties +34 -3
  176. package/src/sap/fe/core/messagebundle_fr.properties +38 -7
  177. package/src/sap/fe/core/messagebundle_fr_CA.properties +33 -2
  178. package/src/sap/fe/core/messagebundle_hi.properties +33 -2
  179. package/src/sap/fe/core/messagebundle_hr.properties +33 -2
  180. package/src/sap/fe/core/messagebundle_hu.properties +34 -3
  181. package/src/sap/fe/core/messagebundle_id.properties +36 -5
  182. package/src/sap/fe/core/messagebundle_it.properties +33 -2
  183. package/src/sap/fe/core/messagebundle_iw.properties +33 -2
  184. package/src/sap/fe/core/messagebundle_ja.properties +33 -2
  185. package/src/sap/fe/core/messagebundle_kk.properties +33 -2
  186. package/src/sap/fe/core/messagebundle_ko.properties +33 -2
  187. package/src/sap/fe/core/messagebundle_lt.properties +33 -2
  188. package/src/sap/fe/core/messagebundle_lv.properties +33 -2
  189. package/src/sap/fe/core/messagebundle_ms.properties +33 -2
  190. package/src/sap/fe/core/messagebundle_nl.properties +33 -2
  191. package/src/sap/fe/core/messagebundle_no.properties +33 -2
  192. package/src/sap/fe/core/messagebundle_pl.properties +33 -2
  193. package/src/sap/fe/core/messagebundle_pt.properties +34 -3
  194. package/src/sap/fe/core/messagebundle_pt_PT.properties +33 -2
  195. package/src/sap/fe/core/messagebundle_ro.properties +33 -2
  196. package/src/sap/fe/core/messagebundle_ru.properties +33 -2
  197. package/src/sap/fe/core/messagebundle_sh.properties +33 -2
  198. package/src/sap/fe/core/messagebundle_sk.properties +33 -2
  199. package/src/sap/fe/core/messagebundle_sl.properties +33 -2
  200. package/src/sap/fe/core/messagebundle_sv.properties +34 -3
  201. package/src/sap/fe/core/messagebundle_th.properties +33 -2
  202. package/src/sap/fe/core/messagebundle_tr.properties +33 -2
  203. package/src/sap/fe/core/messagebundle_uk.properties +33 -2
  204. package/src/sap/fe/core/messagebundle_vi.properties +33 -2
  205. package/src/sap/fe/core/messagebundle_zh_CN.properties +33 -2
  206. package/src/sap/fe/core/messagebundle_zh_TW.properties +33 -2
  207. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  208. package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
  209. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +269 -202
  210. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
  211. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +4 -3
  212. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +9 -5
  213. package/src/sap/fe/core/services/NavigationServiceFactory.js +406 -300
  214. package/src/sap/fe/core/services/NavigationServiceFactory.ts +316 -0
  215. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +149 -81
  216. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +80 -0
  217. package/src/sap/fe/core/services/RoutingServiceFactory.js +987 -1152
  218. package/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
  219. package/src/sap/fe/core/services/ShellServicesFactory.js +31 -2
  220. package/src/sap/fe/core/services/ShellServicesFactory.ts +45 -11
  221. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +42 -85
  222. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +57 -100
  223. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +461 -478
  224. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +453 -0
  225. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +10 -8
  226. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
  227. package/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
  228. package/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
  229. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
  230. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
  231. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +38 -0
  232. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.ts +18 -0
  233. package/src/sap/fe/core/templating/DataModelPathHelper.js +10 -48
  234. package/src/sap/fe/core/templating/DataModelPathHelper.ts +14 -46
  235. package/src/sap/fe/core/templating/DisplayModeFormatter.js +114 -0
  236. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +86 -0
  237. package/src/sap/fe/core/templating/FieldControlHelper.js +8 -8
  238. package/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
  239. package/src/sap/fe/core/templating/FilterHelper.js +139 -70
  240. package/src/sap/fe/core/templating/FilterHelper.ts +140 -70
  241. package/src/sap/fe/core/templating/PropertyHelper.js +2 -2
  242. package/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  243. package/src/sap/fe/core/templating/UIFormatters.js +45 -110
  244. package/src/sap/fe/core/templating/UIFormatters.ts +39 -75
  245. package/src/sap/fe/core/type/Email.js +1 -1
  246. package/src/sap/fe/core/type/Email.ts +4 -6
  247. package/ui5.yaml +0 -3
  248. package/src/sap/fe/core/controls/filterbar.d.js +0 -8
  249. package/src/sap/fe/core/controls/filterbar.d.ts +0 -0
@@ -8,8 +8,9 @@ sap.ui.define([], function () {
8
8
  var _exports = {};
9
9
 
10
10
  /*!
11
- * SAPUI5
12
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
11
+ * SAP UI development toolkit for HTML5 (SAPUI5)
12
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
13
+
13
14
  */
14
15
 
15
16
  /**
@@ -150,10 +151,6 @@ sap.ui.define([], function () {
150
151
  if (sFacetId) {
151
152
  sStableId += sFacetId;
152
153
  }
153
- } else if (vElement && vElement.FacetSource) {
154
- if (vElement.FacetSource === "com.sap.vocabularies.UI.v1.HeaderFacets") {
155
- sStableId += "HeaderFacet";
156
- }
157
154
  }
158
155
 
159
156
  if (vElement && vElement["$Type"] && vElement["$Type"].indexOf("com.sap.vocabularies.UI.v1.DataField") > -1) {
@@ -265,4 +262,4 @@ sap.ui.define([], function () {
265
262
  _exports.prepareId = prepareId;
266
263
  return _exports;
267
264
  }, false);
268
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0YWJsZUlkSGVscGVyLnRzIl0sIm5hbWVzIjpbImlzVmFsaWQiLCJ2VmFsdWUiLCJ0ZXN0IiwicmVwbGFjZVNwZWNpYWxDaGFycyIsInNJZCIsImluZGV4T2YiLCJyZXBsYWNlIiwic2xpY2UiLCJyZW1vdmVOYW1lc3BhY2VzIiwiZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlIiwib1ZhbHVlIiwiJFBhdGgiLCJwYXRoIiwiJEFwcGx5IiwiJEZ1bmN0aW9uIiwic1BhdGhDb25jYXQiLCJpIiwibGVuZ3RoIiwiZ2VuZXJhdGUiLCJhU3RhYmxlSWRQYXJ0cyIsInNTdGFibGVJZCIsInZFbGVtZW50Iiwic0ZhY2V0SWQiLCJGYWNldCIsIiRUeXBlIiwiSUQiLCJUYXJnZXQiLCIkQW5ub3RhdGlvblBhdGgiLCJ2YWx1ZSIsIkZhY2V0U291cmNlIiwiZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCIsInByZXBhcmVJZCIsImdldFN0YWJsZUlkUGFydEZyb21TZW1hbnRpY09iamVjdEFuZEFjdGlvbiIsIm9EYXRhRmllbGQiLCJzSWRQYXJ0IiwiU2VtYW50aWNPYmplY3QiLCJBY3Rpb24iLCJtUGFyYW1ldGVyIiwiVmFsdWUiLCJjb250ZXh0IiwiZ2V0T2JqZWN0IiwidG9TdHJpbmciLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQUZBO0FBQ0E7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBU0EsT0FBVCxDQUFpQkMsTUFBakIsRUFBaUM7QUFDaEMsV0FBTyxnQ0FBZ0NDLElBQWhDLENBQXFDRCxNQUFyQyxDQUFQO0FBQ0E7O0FBRU0sV0FBU0UsbUJBQVQsQ0FBNkJDLEdBQTdCLEVBQTBDO0FBQ2hELFFBQUlBLEdBQUcsQ0FBQ0MsT0FBSixDQUFZLEdBQVosS0FBb0IsQ0FBeEIsRUFBMkI7QUFDMUI7QUFDQSxZQUFNRCxHQUFHLEdBQUcsd0NBQVo7QUFDQTs7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QUFQO0FBQ0EsS0FGRCxNQUVPO0FBQ047QUFDQSxZQUFNQSxHQUFHLEdBQUcsc0VBQVo7QUFDQTtBQUNELEdBUk0iLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogJHtjb3B5cmlnaHR9XG4gKi9cblxuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJzYXAvdWkvbW9kZWxcIjtcblxuLyoqXG4gKiBTdGFibGUgSWQgaGVscGVyXG4gKi9cblxuLyoqXG4gKiBDb3B5IGZvciB0aGUgQ29yZS5pc1ZhbGlkIGZ1bmN0aW9uIHRvIGJlIGluZGVwZW5kZW50LlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB2VmFsdWUgU3RyaW5nIHRvIHZhbGlkYXRlXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciB0aGUgdmFsdWUgaXMgdmFsaWQgb3Igbm90XG4gKi9cbmZ1bmN0aW9uIGlzVmFsaWQodlZhbHVlOiBzdHJpbmcpIHtcblx0cmV0dXJuIC9eKFtBLVphLXpfXVstQS1aYS16MC05Xy46XSopJC8udGVzdCh2VmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZVNwZWNpYWxDaGFycyhzSWQ6IHN0cmluZykge1xuXHRpZiAoc0lkLmluZGV4T2YoXCIgXCIpID49IDApIHtcblx0XHQvLyBMb2cuZXJyb3Ioc0lkICsgXCIgLSBTcGFjZXMgYXJlIG5vdCBhbGxvd2VkIGluIElEIHBhcnRzLlwiKTtcblx0XHR0aHJvdyBzSWQgKyBcIiAtIFNwYWNlcyBhcmUgbm90IGFsbG93ZWQgaW4gSUQgcGFydHMuXCI7XG5cdH1cblx0c0lkID0gc0lkXG5cdFx0LnJlcGxhY2UoL15cXC98XkB8XiN8XlxcKi8sIFwiXCIpIC8vIHJlbW92ZSBzcGVjaWFsIGNoYXJhY3RlcnMgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJpbmdcblx0XHQucmVwbGFjZSgvXFwvJHxAJHwjJHxcXCokLywgXCJcIikgLy8gcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIHRoZSBlbmQgb2YgdGhlIHN0cmluZ1xuXHRcdC5yZXBsYWNlKC9cXC98QHxcXCh8XFwpfCN8XFwqL2csIFwiOjpcIik7IC8vIHJlcGxhY2Ugc3BlY2lhbCBjaGFyYWN0ZXJzIHdpdGggOjpcblxuXHQvLyBSZXBsYWNlIGRvdWJsZSBvY2N1cnJlbmNlcyBvZiB0aGUgc2VwYXJhdG9yIHdpdGggYSBzaW5nbGUgc2VwYXJhdG9yXG5cdHdoaWxlIChzSWQuaW5kZXhPZihcIjo6OjpcIikgPiAtMSkge1xuXHRcdHNJZCA9IHNJZC5yZXBsYWNlKFwiOjo6OlwiLCBcIjo6XCIpO1xuXHR9XG5cblx0Ly8gSWYgdGhlcmUgaXMgYSA6OiBhdCB0aGUgZW5kIG9mIHRoZSBJRCByZW1vdmUgaXRcblx0aWYgKHNJZC5zbGljZSgtMikgPT0gXCI6OlwiKSB7XG5cdFx0c0lkID0gc0lkLnNsaWNlKDAsIC0yKTtcblx0fVxuXG5cdHJldHVybiBzSWQ7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZU5hbWVzcGFjZXMoc0lkOiBzdHJpbmcpIHtcblx0c0lkID0gc0lkLnJlcGxhY2UoXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5cIiwgXCJcIik7XG5cdHNJZCA9IHNJZC5yZXBsYWNlKFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbXVuaWNhdGlvbi52MS5cIiwgXCJcIik7XG5cdHJldHVybiBzSWQ7XG59XG5cbmZ1bmN0aW9uIGdldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvVmFsdWU6IGFueSkge1xuXHRpZiAoKG9WYWx1ZSAmJiBvVmFsdWUuJFBhdGgpIHx8IG9WYWx1ZS5wYXRoKSB7XG5cdFx0cmV0dXJuIG9WYWx1ZS4kUGF0aCB8fCBvVmFsdWUucGF0aDtcblx0fVxuXG5cdGlmIChvVmFsdWUgJiYgb1ZhbHVlLiRBcHBseSAmJiBvVmFsdWUuJEZ1bmN0aW9uID09PSBcIm9kYXRhLmNvbmNhdFwiKSB7XG5cdFx0bGV0IHNQYXRoQ29uY2F0ID0gXCJcIjtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IG9WYWx1ZS4kQXBwbHkubGVuZ3RoOyBpKyspIHtcblx0XHRcdGlmIChvVmFsdWUuJEFwcGx5W2ldLiRQYXRoKSB7XG5cdFx0XHRcdGlmIChzUGF0aENvbmNhdCkge1xuXHRcdFx0XHRcdHNQYXRoQ29uY2F0ICs9IFwiOjpcIjtcblx0XHRcdFx0fVxuXHRcdFx0XHRzUGF0aENvbmNhdCArPSBvVmFsdWUuJEFwcGx5W2ldLiRQYXRoO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc1BhdGhDb25jYXQ7XG5cdH1cblxuXHRpZiAob1ZhbHVlKSB7XG5cdFx0cmV0dXJuIHJlcGxhY2VTcGVjaWFsQ2hhcnMob1ZhbHVlLnJlcGxhY2UoLyAvZywgXCJfXCIpKTtcblx0fVxufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBTdGFibGUgSWQgYmFzZWQgb24gdGhlIGdpdmVuIHBhcmFtZXRlcnNcbiAqXG4gKiBwYXJhbWV0ZXJzIGFyZSBjb21iaW5lZCBpbiB0aGUgc2FtZSBvcmRlciB0aGF0IHRoZXkgYXJlIHByb3ZpZGVkIGFuZCBhcmUgc2VwYXJhdGVkIGJ5ICc6OidcbiAqIHNwZWNpYWwgY2hhcmFjdGVycyAoQCwgLywgIykgYXJlIHJlcGxhY2VkIGJ5ICc6OicgaWYgdGhleSBhcmUgaW4gdGhlIG1pZGRsZSBvZiB0aGUgU3RhYmxlIElkIGFuZCByZW1vdmVkIGFsbCB0b2dldGhlciBpZiB0aGUgYXJlIHBhcnQgYXQgdGhlIGJlZ2lubmluZyBvciBlbmRcbiAqIEV4YW1wbGU6XG4gKiAvLyBHZXQgQ29uc3RhbnQgU3RhYmxlIElkXG4gKiBnZW5lcmF0ZShbJ1N0YWJsZScsICdJZCddKSB3b3VsZCByZXN1bHQgaW4gJ1N0YWJsZTo6SWQnIGFzIHRoZSBTdGFibGUgSWRcbiAqXG4gKiAvLyBHZXQgUGFyYW1lcnRlcml6ZWQgU3RhYmxlIElkIGZyb20gYSBDb2xsZWN0aW9uIEZhY2V0XG4gKiB2YXIgb1BhcmFtZXRlciA9IHtcbiAqIFx0XHRGYWNldDoge1xuICogXHRcdFx0JFR5cGU6IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuQ29sbGVjdGlvbkZhY2V0XCIsXG4gKiBcdFx0XHRMYWJlbDogXCJHZW5lcmFsIEluZm8gRmFjZXQgTGFiZWxcIixcbiAqIFx0XHRcdElEOiAnR2VuZXJhbEluZm9ybWF0aW9uJ1xuICogXHRcdH1cbiAqIH07XG4gKiBnZW5lcmF0ZShbJ3NlY3Rpb24nLCBvUGFyYW1ldGVyXSkgd291bGQgcmVzdWx0IGluICdzZWN0aW9uOjpHZW5lcmFsSW5mb3JtYXRpb24nIGFzIHRoZSBTdGFibGUgSWRcbiAqXG4gKiBvUGFyYW1ldGVyIGlzIGFuZCBvYmplY3Qgb2YgTWV0YWRhdGEgY29udGV4dHMgYXZhaWxhYmxlIHdoaWxlIHRlbXBsYXRpbmcgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIGdlbmVyYXRlIFN0YWJsZSBJRHMuXG4gKiBvUGFyYW1ldGVyIG9iamVjdCBrZXlzIGRlZmluZSB0aGUgdHlwZSBvZiBtZXRhZGF0YSBjb250ZXh0LlxuICogRm9yIGV4YW1wbGUsIHRoZSBrZXkgJ0ZhY2V0J2luIHRoZSBhYm92ZSBleGFtcGxlIHRlbGxzIHRoZSBTdGFibGUgSWQgSGVscGVyIHRoYXQgdGhlIGNvbnRleHQgaXMgYSBGYWNldCAoY291bGQgYmUgcmVmZXJlbmNlIG9yIGNvbGxlY3Rpb24gZmFjZXQpXG4gKlxuICogQ3VycmVudGx5IHN1cHBvcnRlZCBtZXRhZGF0YSBjb250ZXh0IGlzIENvbGxlY3Rpb24vUmVmZXJlbmNlIGZhY2V0IGlkZW50aWZpZWQgYnkgJ0ZhY2V0JyBrZXkuXG4gKlxuICogQHBhcmFtIHtBcnJheTwoc3RyaW5nfG9iamVjdCk+fSBhU3RhYmxlSWRQYXJ0cyBBcnJheSBvZiBzdHJpbmdzIGFuZCBvYmplY3RzXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBTdGFibGUgSWQgY29uc3RydWN0ZWQgZnJvbSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVyc1xuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGUgPSBmdW5jdGlvbihhU3RhYmxlSWRQYXJ0czogQXJyYXk8c3RyaW5nIHwgb2JqZWN0Pikge1xuXHRsZXQgc1N0YWJsZUlkID0gXCJcIixcblx0XHR2RWxlbWVudDogYW55LFxuXHRcdHNGYWNldElkO1xuXG5cdGZvciAobGV0IGkgPSAwOyBpIDwgYVN0YWJsZUlkUGFydHMubGVuZ3RoOyBpKyspIHtcblx0XHR2RWxlbWVudCA9IGFTdGFibGVJZFBhcnRzW2ldO1xuXHRcdGlmICghdkVsZW1lbnQpIHtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHRzU3RhYmxlSWQgKz0gc1N0YWJsZUlkICE9PSBcIlwiID8gXCI6OlwiIDogXCJcIjtcblx0XHRpZiAodkVsZW1lbnRbXCJGYWNldFwiXSAmJiB2RWxlbWVudFtcIkZhY2V0XCJdW1wiJFR5cGVcIl0gJiYgdkVsZW1lbnRbXCJGYWNldFwiXVtcIiRUeXBlXCJdID09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuQ29sbGVjdGlvbkZhY2V0XCIpIHtcblx0XHRcdHNTdGFibGVJZCArPSB2RWxlbWVudFtcIkZhY2V0XCJdW1wiSURcIl07XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdkVsZW1lbnQgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdGlmICh2RWxlbWVudCkge1xuXHRcdFx0XHRzU3RhYmxlSWQgKz0gdkVsZW1lbnQ7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgdkVsZW1lbnQgPT09IFwib2JqZWN0XCIpIHtcblx0XHRcdC8vIGhhbmRsZSBwYXJhbWV0ZXJzXG5cdFx0XHRpZiAodkVsZW1lbnQgJiYgdkVsZW1lbnQuRmFjZXQpIHtcblx0XHRcdFx0aWYgKHZFbGVtZW50LkZhY2V0LiRUeXBlICYmIHZFbGVtZW50LkZhY2V0LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkNvbGxlY3Rpb25GYWNldFwiKSB7XG5cdFx0XHRcdFx0aWYgKHZFbGVtZW50LkZhY2V0LklEKSB7XG5cdFx0XHRcdFx0XHRzRmFjZXRJZCA9IHZFbGVtZW50LkZhY2V0LklEO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmICh2RWxlbWVudC5GYWNldC4kVHlwZSAmJiB2RWxlbWVudC5GYWNldC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5SZWZlcmVuY2VGYWNldFwiKSB7XG5cdFx0XHRcdFx0aWYgKHZFbGVtZW50LkZhY2V0LklEKSB7XG5cdFx0XHRcdFx0XHRzRmFjZXRJZCA9IHZFbGVtZW50LkZhY2V0LklEO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRzRmFjZXRJZCA9IHZFbGVtZW50LkZhY2V0LlRhcmdldC4kQW5ub3RhdGlvblBhdGggfHwgdkVsZW1lbnQuRmFjZXQuVGFyZ2V0LnZhbHVlOyAvLyBDb21wbGlhbnQgd2l0aCBDb252ZXJ0ZXJzXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChzRmFjZXRJZCkge1xuXHRcdFx0XHRcdHNTdGFibGVJZCArPSBzRmFjZXRJZDtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmICh2RWxlbWVudCAmJiB2RWxlbWVudC5GYWNldFNvdXJjZSkge1xuXHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXRTb3VyY2UgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzXCIpIHtcblx0XHRcdFx0XHRzU3RhYmxlSWQgKz0gXCJIZWFkZXJGYWNldFwiO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAodkVsZW1lbnQgJiYgdkVsZW1lbnRbXCIkVHlwZVwiXSAmJiB2RWxlbWVudFtcIiRUeXBlXCJdLmluZGV4T2YoXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRcIikgPiAtMSkge1xuXHRcdFx0XHRzU3RhYmxlSWQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCh2RWxlbWVudCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHNTdGFibGVJZCA9IHByZXBhcmVJZChzU3RhYmxlSWQpO1xuXHRyZXR1cm4gc1N0YWJsZUlkO1xufTtcbmV4cG9ydCBjb25zdCBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24gPSBmdW5jdGlvbihvRGF0YUZpZWxkOiBhbnkpOiBzdHJpbmcge1xuXHRsZXQgc0lkUGFydCA9IFwiXCI7XG5cdGlmICh0eXBlb2Ygb0RhdGFGaWVsZC5TZW1hbnRpY09iamVjdCA9PSBcInN0cmluZ1wiKSB7XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLlNlbWFudGljT2JqZWN0O1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuU2VtYW50aWNPYmplY3QuJFBhdGgpIHtcblx0XHRzSWRQYXJ0ICs9IG9EYXRhRmllbGQuU2VtYW50aWNPYmplY3QuJFBhdGg7XG5cdH1cblx0aWYgKHR5cGVvZiBvRGF0YUZpZWxkLkFjdGlvbiA9PSBcInN0cmluZ1wiKSB7XG5cdFx0c0lkUGFydCArPSBcIjo6XCIgKyBvRGF0YUZpZWxkLkFjdGlvbjtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLkFjdGlvbiAmJiBvRGF0YUZpZWxkLkFjdGlvbi4kUGF0aCkge1xuXHRcdHNJZFBhcnQgKz0gXCI6OlwiICsgb0RhdGFGaWVsZC5BY3Rpb24uJFBhdGg7XG5cdH1cblx0aWYgKG9EYXRhRmllbGRbXCJSZXF1aXJlc0NvbnRleHRcIl0gJiYgb0RhdGFGaWVsZFtcIlJlcXVpcmVzQ29udGV4dFwiXSA9PSB0cnVlKSB7XG5cdFx0c0lkUGFydCArPSBcIjo6UmVxdWlyZXNDb250ZXh0XCI7XG5cdH1cblx0cmV0dXJuIHNJZFBhcnQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCA9IGZ1bmN0aW9uKG9EYXRhRmllbGQ6IGFueSwgbVBhcmFtZXRlcjogeyBjb250ZXh0PzogQ29udGV4dDxhbnk+IH0gPSB7fSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGxldCBzSWRQYXJ0ID0gXCJcIjtcblxuXHRpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZEZvckFjdGlvblwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkRm9yQWN0aW9uOjpcIjtcblx0XHRzSWRQYXJ0ICs9IG9EYXRhRmllbGQuQWN0aW9uO1xuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvblwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkRm9ySW50ZW50QmFzZWROYXZpZ2F0aW9uOjpcIjtcblx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21TZW1hbnRpY09iamVjdEFuZEFjdGlvbihvRGF0YUZpZWxkKTtcblx0XHRyZXR1cm4gc0lkUGFydDtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkRm9yQW5ub3RhdGlvblwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkRm9yQW5ub3RhdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBwcmVwYXJlSWQob0RhdGFGaWVsZC5UYXJnZXQuJEFubm90YXRpb25QYXRoIHx8IG9EYXRhRmllbGQuVGFyZ2V0LnZhbHVlKTtcblx0XHRyZXR1cm4gc0lkUGFydDtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aEFjdGlvblwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkV2l0aEFjdGlvbjo6XCI7XG5cdFx0aWYgKG9EYXRhRmllbGQuVmFsdWUpIHtcblx0XHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpICsgXCI6OlwiO1xuXHRcdH1cblx0XHRzSWRQYXJ0ICs9IG9EYXRhRmllbGQuQWN0aW9uO1xuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkOjpcIjtcblx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvRGF0YUZpZWxkLlZhbHVlKTtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRXaXRoSW50ZW50QmFzZWROYXZpZ2F0aW9uXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRXaXRoSW50ZW50QmFzZWROYXZpZ2F0aW9uOjpcIjtcblx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvRGF0YUZpZWxkLlZhbHVlKSArIFwiOjpcIjtcblx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21TZW1hbnRpY09iamVjdEFuZEFjdGlvbihvRGF0YUZpZWxkKTtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRXaXRoTmF2aWdhdGlvblBhdGhcIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZFdpdGhOYXZpZ2F0aW9uUGF0aDo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSk7XG5cdFx0aWYgKG9EYXRhRmllbGQuVGFyZ2V0ICYmIG9EYXRhRmllbGQuVGFyZ2V0W1wiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIl0pIHtcblx0XHRcdHNJZFBhcnQgKz0gXCI6OlwiICsgb0RhdGFGaWVsZC5UYXJnZXRbXCIkTmF2aWdhdGlvblByb3BlcnR5UGF0aFwiXTtcblx0XHR9XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aFVybFwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkV2l0aFVybDo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChtUGFyYW1ldGVyICYmIG1QYXJhbWV0ZXIuY29udGV4dCAmJiBtUGFyYW1ldGVyLmNvbnRleHQuZ2V0T2JqZWN0KFwiQHNhcHVpLm5hbWVcIikpIHtcblx0XHQvLyB0aGUgY29udGV4dCBpcyBub3QgcmVmZXJyaW5nIHRvIGRhIGRhdGEgZmllbGQgYnV0IGRpcmVjdGx5IHRvIGEgcHJvcGVydHksIHJldHVybiB0aGUgcHJvcGVydHkgbmFtZVxuXHRcdHJldHVybiBwcmVwYXJlSWQobVBhcmFtZXRlci5jb250ZXh0LmdldE9iamVjdChcIkBzYXB1aS5uYW1lXCIpLnRvU3RyaW5nKCkpO1xuXHR9IGVsc2Uge1xuXHRcdC8vIEluIGNhc2Ugb2YgYSBzdHJpbmcgb3IgdW5rbm93biBwcm9wZXJ0eVxuXHRcdC8vIExvZy5lcnJvcihcIlN0YWJsZSBJRCBIZWxwZXI6IFVuYWJsZSB0byBjcmVhdGUgYSBzdGFibGUgSUQuIFBsZWFzZSBjaGVjayB0aGUgYW5ub3RhdGlvbnMuXCIpO1xuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgcHJlcGFyZUlkID0gZnVuY3Rpb24oc0lkOiBzdHJpbmcpIHtcblx0c0lkID0gcmVwbGFjZVNwZWNpYWxDaGFycyhyZW1vdmVOYW1lc3BhY2VzKHNJZCkpO1xuXHRpZiAoaXNWYWxpZChzSWQpKSB7XG5cdFx0cmV0dXJuIHNJZDtcblx0fSBlbHNlIHtcblx0XHQvLyBMb2cuZXJyb3Ioc0lkICsgXCIgLSBTdGFibGUgSWQgY291bGQgbm90IGJlIGdlbmVyYXRlZCBkdWUgdG8gaW5zdWZmaWNpZW50IGluZm9ybWF0aW9uLlwiKTtcblx0XHR0aHJvdyBzSWQgKyBcIiAtIFN0YWJsZSBJZCBjb3VsZCBub3QgYmUgZ2VuZXJhdGVkIGR1ZSB0byBpbnN1ZmZpY2llbnQgaW5mb3JtYXRpb24uXCI7XG5cdH1cbn07XG4iXX0=
265
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0YWJsZUlkSGVscGVyLnRzIl0sIm5hbWVzIjpbImlzVmFsaWQiLCJ2VmFsdWUiLCJ0ZXN0IiwicmVwbGFjZVNwZWNpYWxDaGFycyIsInNJZCIsImluZGV4T2YiLCJyZXBsYWNlIiwic2xpY2UiLCJyZW1vdmVOYW1lc3BhY2VzIiwiZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlIiwib1ZhbHVlIiwiJFBhdGgiLCJwYXRoIiwiJEFwcGx5IiwiJEZ1bmN0aW9uIiwic1BhdGhDb25jYXQiLCJpIiwibGVuZ3RoIiwiZ2VuZXJhdGUiLCJhU3RhYmxlSWRQYXJ0cyIsInNTdGFibGVJZCIsInZFbGVtZW50Iiwic0ZhY2V0SWQiLCJGYWNldCIsIiRUeXBlIiwiSUQiLCJUYXJnZXQiLCIkQW5ub3RhdGlvblBhdGgiLCJ2YWx1ZSIsImdldFN0YWJsZUlkUGFydEZyb21EYXRhRmllbGQiLCJwcmVwYXJlSWQiLCJnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24iLCJvRGF0YUZpZWxkIiwic0lkUGFydCIsIlNlbWFudGljT2JqZWN0IiwiQWN0aW9uIiwibVBhcmFtZXRlciIsIlZhbHVlIiwiY29udGV4dCIsImdldE9iamVjdCIsInRvU3RyaW5nIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFGQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVNBLE9BQVQsQ0FBaUJDLE1BQWpCLEVBQWlDO0FBQ2hDLFdBQU8sZ0NBQWdDQyxJQUFoQyxDQUFxQ0QsTUFBckMsQ0FBUDtBQUNBOztBQUVNLFdBQVNFLG1CQUFULENBQTZCQyxHQUE3QixFQUEwQztBQUNoRCxRQUFJQSxHQUFHLENBQUNDLE9BQUosQ0FBWSxHQUFaLEtBQW9CLENBQXhCLEVBQTJCO0FBQzFCO0FBQ0EsWUFBTUQsR0FBRyxHQUFHLHdDQUFaO0FBQ0E7O0FBQ0RBLElBQUFBLEdB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Q0FBa0IseUJBQWxCLENBQXpCLEVBQXVFO0FBQ3RFTyxRQUFBQSxPQUFPLElBQUksT0FBT0QsVUFBVSxDQUFDTixNQUFYLENBQWtCLHlCQUFsQixDQUFsQjtBQUNBOztBQUNELGFBQU9JLFNBQVMsQ0FBQ0csT0FBRCxDQUFoQjtBQUNBLEtBUE0sTUFPQSxJQUFJRCxVQUFVLENBQUNSLEtBQVgsSUFBb0JRLFVBQVUsQ0FBQ1IsS0FBWCxLQUFxQiw2Q0FBN0MsRUFBNEY7QUFDbEdTLE1BQUFBLE9BQU8sR0FBRyxvQkFBVjtBQUNBQSxNQUFBQSxPQUFPLElBQUl4Qix3QkFBd0IsQ0FBQ3VCLFVBQVUsQ0FBQ0ssS0FBWixDQUFuQztBQUNBLGFBQU9QLFNBQVMsQ0FBQ0csT0FBRCxDQUFoQjtBQUNBLEtBSk0sTUFJQSxJQUFJRyxVQUFVLElBQUlBLFVBQVUsQ0FBQ0UsT0FBekIsSUFBb0NGLFVBQVUsQ0FBQ0UsT0FBWCxDQUFtQkMsU0FBbkIsQ0FBNkIsYUFBN0IsQ0FBeEMsRUFBcUY7QUFDM0Y7QUFDQSxhQUFPVCxTQUFTLENBQUNNLFVBQVUsQ0FBQ0UsT0FBWCxDQUFtQkMsU0FBbkIsQ0FBNkIsYUFBN0IsRUFBNENDLFFBQTVDLEVBQUQsQ0FBaEI7QUFDQSxLQUhNLE1BR0EsQ0FDTjtBQUNBO0FBQ0E7O0FBQ0QsV0FBT0MsU0FBUDtBQUNBLEdBbERNOzs7O0FBb0RBLE1BQU1YLFNBQVMsR0FBRyxVQUFTMUIsR0FBVCxFQUFzQjtBQUM5Q0EsSUFBQUEsR0FBRyxHQUFHRCxtQkFBbUIsQ0FBQ0ssZ0JBQWdCLENBQUNKLEdBQUQsQ0FBakIsQ0FBekI7O0FBQ0EsUUFBSUosT0FBTyxDQUFDSSxHQUFELENBQVgsRUFBa0I7QUFDakIsYUFBT0EsR0FBUDtBQUNBLEtBRkQsTUFFTztBQUNOO0FBQ0EsWUFBTUEsR0FBRyxHQUFHLHNFQUFaO0FBQ0E7QUFDRCxHQVJNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqICR7Y29weXJpZ2h0fVxuICovXG5cbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG4vKipcbiAqIFN0YWJsZSBJZCBoZWxwZXJcbiAqL1xuXG4vKipcbiAqIENvcHkgZm9yIHRoZSBDb3JlLmlzVmFsaWQgZnVuY3Rpb24gdG8gYmUgaW5kZXBlbmRlbnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZWYWx1ZSBTdHJpbmcgdG8gdmFsaWRhdGVcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoZSB2YWx1ZSBpcyB2YWxpZCBvciBub3RcbiAqL1xuZnVuY3Rpb24gaXNWYWxpZCh2VmFsdWU6IHN0cmluZykge1xuXHRyZXR1cm4gL14oW0EtWmEtel9dWy1BLVphLXowLTlfLjpdKikkLy50ZXN0KHZWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlU3BlY2lhbENoYXJzKHNJZDogc3RyaW5nKSB7XG5cdGlmIChzSWQuaW5kZXhPZihcIiBcIikgPj0gMCkge1xuXHRcdC8vIExvZy5lcnJvcihzSWQgKyBcIiAtIFNwYWNlcyBhcmUgbm90IGFsbG93ZWQgaW4gSUQgcGFydHMuXCIpO1xuXHRcdHRocm93IHNJZCArIFwiIC0gU3BhY2VzIGFyZSBub3QgYWxsb3dlZCBpbiBJRCBwYXJ0cy5cIjtcblx0fVxuXHRzSWQgPSBzSWRcblx0XHQucmVwbGFjZSgvXlxcL3xeQHxeI3xeXFwqLywgXCJcIikgLy8gcmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmluZ1xuXHRcdC5yZXBsYWNlKC9cXC8kfEAkfCMkfFxcKiQvLCBcIlwiKSAvLyByZW1vdmUgc3BlY2lhbCBjaGFyYWN0ZXJzIGZyb20gdGhlIGVuZCBvZiB0aGUgc3RyaW5nXG5cdFx0LnJlcGxhY2UoL1xcL3xAfFxcKHxcXCl8I3xcXCovZywgXCI6OlwiKTsgLy8gcmVwbGFjZSBzcGVjaWFsIGNoYXJhY3RlcnMgd2l0aCA6OlxuXG5cdC8vIFJlcGxhY2UgZG91YmxlIG9jY3VycmVuY2VzIG9mIHRoZSBzZXBhcmF0b3Igd2l0aCBhIHNpbmdsZSBzZXBhcmF0b3Jcblx0d2hpbGUgKHNJZC5pbmRleE9mKFwiOjo6OlwiKSA+IC0xKSB7XG5cdFx0c0lkID0gc0lkLnJlcGxhY2UoXCI6Ojo6XCIsIFwiOjpcIik7XG5cdH1cblxuXHQvLyBJZiB0aGVyZSBpcyBhIDo6IGF0IHRoZSBlbmQgb2YgdGhlIElEIHJlbW92ZSBpdFxuXHRpZiAoc0lkLnNsaWNlKC0yKSA9PSBcIjo6XCIpIHtcblx0XHRzSWQgPSBzSWQuc2xpY2UoMCwgLTIpO1xuXHR9XG5cblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTmFtZXNwYWNlcyhzSWQ6IHN0cmluZykge1xuXHRzSWQgPSBzSWQucmVwbGFjZShcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlwiLCBcIlwiKTtcblx0c0lkID0gc0lkLnJlcGxhY2UoXCJjb20uc2FwLnZvY2FidWxhcmllcy5Db21tdW5pY2F0aW9uLnYxLlwiLCBcIlwiKTtcblx0cmV0dXJuIHNJZDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9WYWx1ZTogYW55KSB7XG5cdGlmICgob1ZhbHVlICYmIG9WYWx1ZS4kUGF0aCkgfHwgb1ZhbHVlLnBhdGgpIHtcblx0XHRyZXR1cm4gb1ZhbHVlLiRQYXRoIHx8IG9WYWx1ZS5wYXRoO1xuXHR9XG5cblx0aWYgKG9WYWx1ZSAmJiBvVmFsdWUuJEFwcGx5ICYmIG9WYWx1ZS4kRnVuY3Rpb24gPT09IFwib2RhdGEuY29uY2F0XCIpIHtcblx0XHRsZXQgc1BhdGhDb25jYXQgPSBcIlwiO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgb1ZhbHVlLiRBcHBseS5sZW5ndGg7IGkrKykge1xuXHRcdFx0aWYgKG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGgpIHtcblx0XHRcdFx0aWYgKHNQYXRoQ29uY2F0KSB7XG5cdFx0XHRcdFx0c1BhdGhDb25jYXQgKz0gXCI6OlwiO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNQYXRoQ29uY2F0ICs9IG9WYWx1ZS4kQXBwbHlbaV0uJFBhdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzUGF0aENvbmNhdDtcblx0fVxuXG5cdGlmIChvVmFsdWUpIHtcblx0XHRyZXR1cm4gcmVwbGFjZVNwZWNpYWxDaGFycyhvVmFsdWUucmVwbGFjZSgvIC9nLCBcIl9cIikpO1xuXHR9XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIFN0YWJsZSBJZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVyc1xuICpcbiAqIHBhcmFtZXRlcnMgYXJlIGNvbWJpbmVkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleSBhcmUgcHJvdmlkZWQgYW5kIGFyZSBzZXBhcmF0ZWQgYnkgJzo6J1xuICogc3BlY2lhbCBjaGFyYWN0ZXJzIChALCAvLCAjKSBhcmUgcmVwbGFjZWQgYnkgJzo6JyBpZiB0aGV5IGFyZSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBTdGFibGUgSWQgYW5kIHJlbW92ZWQgYWxsIHRvZ2V0aGVyIGlmIHRoZSBhcmUgcGFydCBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZFxuICogRXhhbXBsZTpcbiAqIC8vIEdldCBDb25zdGFudCBTdGFibGUgSWRcbiAqIGdlbmVyYXRlKFsnU3RhYmxlJywgJ0lkJ10pIHdvdWxkIHJlc3VsdCBpbiAnU3RhYmxlOjpJZCcgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIC8vIEdldCBQYXJhbWVydGVyaXplZCBTdGFibGUgSWQgZnJvbSBhIENvbGxlY3Rpb24gRmFjZXRcbiAqIHZhciBvUGFyYW1ldGVyID0ge1xuICogXHRcdEZhY2V0OiB7XG4gKiBcdFx0XHQkVHlwZTogXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db2xsZWN0aW9uRmFjZXRcIixcbiAqIFx0XHRcdExhYmVsOiBcIkdlbmVyYWwgSW5mbyBGYWNldCBMYWJlbFwiLFxuICogXHRcdFx0SUQ6ICdHZW5lcmFsSW5mb3JtYXRpb24nXG4gKiBcdFx0fVxuICogfTtcbiAqIGdlbmVyYXRlKFsnc2VjdGlvbicsIG9QYXJhbWV0ZXJdKSB3b3VsZCByZXN1bHQgaW4gJ3NlY3Rpb246OkdlbmVyYWxJbmZvcm1hdGlvbicgYXMgdGhlIFN0YWJsZSBJZFxuICpcbiAqIG9QYXJhbWV0ZXIgaXMgYW5kIG9iamVjdCBvZiBNZXRhZGF0YSBjb250ZXh0cyBhdmFpbGFibGUgd2hpbGUgdGVtcGxhdGluZyB3aGljaCB3aWxsIGJlIHVzZWQgdG8gZ2VuZXJhdGUgU3RhYmxlIElEcy5cbiAqIG9QYXJhbWV0ZXIgb2JqZWN0IGtleXMgZGVmaW5lIHRoZSB0eXBlIG9mIG1ldGFkYXRhIGNvbnRleHQuXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGtleSAnRmFjZXQnaW4gdGhlIGFib3ZlIGV4YW1wbGUgdGVsbHMgdGhlIFN0YWJsZSBJZCBIZWxwZXIgdGhhdCB0aGUgY29udGV4dCBpcyBhIEZhY2V0IChjb3VsZCBiZSByZWZlcmVuY2Ugb3IgY29sbGVjdGlvbiBmYWNldClcbiAqXG4gKiBDdXJyZW50bHkgc3VwcG9ydGVkIG1ldGFkYXRhIGNvbnRleHQgaXMgQ29sbGVjdGlvbi9SZWZlcmVuY2UgZmFjZXQgaWRlbnRpZmllZCBieSAnRmFjZXQnIGtleS5cbiAqXG4gKiBAcGFyYW0ge0FycmF5PChzdHJpbmd8b2JqZWN0KT59IGFTdGFibGVJZFBhcnRzIEFycmF5IG9mIHN0cmluZ3MgYW5kIG9iamVjdHNcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFN0YWJsZSBJZCBjb25zdHJ1Y3RlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZSA9IGZ1bmN0aW9uKGFTdGFibGVJZFBhcnRzOiBBcnJheTxzdHJpbmcgfCBvYmplY3Q+KSB7XG5cdGxldCBzU3RhYmxlSWQgPSBcIlwiLFxuXHRcdHZFbGVtZW50OiBhbnksXG5cdFx0c0ZhY2V0SWQ7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhU3RhYmxlSWRQYXJ0cy5sZW5ndGg7IGkrKykge1xuXHRcdHZFbGVtZW50ID0gYVN0YWJsZUlkUGFydHNbaV07XG5cdFx0aWYgKCF2RWxlbWVudCkge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXHRcdHNTdGFibGVJZCArPSBzU3RhYmxlSWQgIT09IFwiXCIgPyBcIjo6XCIgOiBcIlwiO1xuXHRcdGlmICh2RWxlbWVudFtcIkZhY2V0XCJdICYmIHZFbGVtZW50W1wiRmFjZXRcIl1bXCIkVHlwZVwiXSAmJiB2RWxlbWVudFtcIkZhY2V0XCJdW1wiJFR5cGVcIl0gPT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5Db2xsZWN0aW9uRmFjZXRcIikge1xuXHRcdFx0c1N0YWJsZUlkICs9IHZFbGVtZW50W1wiRmFjZXRcIl1bXCJJRFwiXTtcblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2RWxlbWVudCA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0aWYgKHZFbGVtZW50KSB7XG5cdFx0XHRcdHNTdGFibGVJZCArPSB2RWxlbWVudDtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKHR5cGVvZiB2RWxlbWVudCA9PT0gXCJvYmplY3RcIikge1xuXHRcdFx0Ly8gaGFuZGxlIHBhcmFtZXRlcnNcblx0XHRcdGlmICh2RWxlbWVudCAmJiB2RWxlbWVudC5GYWNldCkge1xuXHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuJFR5cGUgJiYgdkVsZW1lbnQuRmFjZXQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuQ29sbGVjdGlvbkZhY2V0XCIpIHtcblx0XHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuSUQpIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuSUQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2UgaWYgKHZFbGVtZW50LkZhY2V0LiRUeXBlICYmIHZFbGVtZW50LkZhY2V0LiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlJlZmVyZW5jZUZhY2V0XCIpIHtcblx0XHRcdFx0XHRpZiAodkVsZW1lbnQuRmFjZXQuSUQpIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuSUQ7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHNGYWNldElkID0gdkVsZW1lbnQuRmFjZXQuVGFyZ2V0LiRBbm5vdGF0aW9uUGF0aCB8fCB2RWxlbWVudC5GYWNldC5UYXJnZXQudmFsdWU7IC8vIENvbXBsaWFudCB3aXRoIENvbnZlcnRlcnNcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHNGYWNldElkKSB7XG5cdFx0XHRcdFx0c1N0YWJsZUlkICs9IHNGYWNldElkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAodkVsZW1lbnQgJiYgdkVsZW1lbnRbXCIkVHlwZVwiXSAmJiB2RWxlbWVudFtcIiRUeXBlXCJdLmluZGV4T2YoXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRcIikgPiAtMSkge1xuXHRcdFx0XHRzU3RhYmxlSWQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCh2RWxlbWVudCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHNTdGFibGVJZCA9IHByZXBhcmVJZChzU3RhYmxlSWQpO1xuXHRyZXR1cm4gc1N0YWJsZUlkO1xufTtcbmV4cG9ydCBjb25zdCBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24gPSBmdW5jdGlvbihvRGF0YUZpZWxkOiBhbnkpOiBzdHJpbmcge1xuXHRsZXQgc0lkUGFydCA9IFwiXCI7XG5cdGlmICh0eXBlb2Ygb0RhdGFGaWVsZC5TZW1hbnRpY09iamVjdCA9PSBcInN0cmluZ1wiKSB7XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLlNlbWFudGljT2JqZWN0O1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuU2VtYW50aWNPYmplY3QuJFBhdGgpIHtcblx0XHRzSWRQYXJ0ICs9IG9EYXRhRmllbGQuU2VtYW50aWNPYmplY3QuJFBhdGg7XG5cdH1cblx0aWYgKHR5cGVvZiBvRGF0YUZpZWxkLkFjdGlvbiA9PSBcInN0cmluZ1wiKSB7XG5cdFx0c0lkUGFydCArPSBcIjo6XCIgKyBvRGF0YUZpZWxkLkFjdGlvbjtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLkFjdGlvbiAmJiBvRGF0YUZpZWxkLkFjdGlvbi4kUGF0aCkge1xuXHRcdHNJZFBhcnQgKz0gXCI6OlwiICsgb0RhdGFGaWVsZC5BY3Rpb24uJFBhdGg7XG5cdH1cblx0aWYgKG9EYXRhRmllbGRbXCJSZXF1aXJlc0NvbnRleHRcIl0gJiYgb0RhdGFGaWVsZFtcIlJlcXVpcmVzQ29udGV4dFwiXSA9PSB0cnVlKSB7XG5cdFx0c0lkUGFydCArPSBcIjo6UmVxdWlyZXNDb250ZXh0XCI7XG5cdH1cblx0cmV0dXJuIHNJZFBhcnQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhYmxlSWRQYXJ0RnJvbURhdGFGaWVsZCA9IGZ1bmN0aW9uKG9EYXRhRmllbGQ6IGFueSwgbVBhcmFtZXRlcjogeyBjb250ZXh0PzogQ29udGV4dCB9ID0ge30pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRsZXQgc0lkUGFydCA9IFwiXCI7XG5cblx0aWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRGb3JBY3Rpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckFjdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLkFjdGlvbjtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRGb3JJbnRlbnRCYXNlZE5hdmlnYXRpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckludGVudEJhc2VkTmF2aWdhdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24ob0RhdGFGaWVsZCk7XG5cdFx0cmV0dXJuIHNJZFBhcnQ7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZEZvckFubm90YXRpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZEZvckFubm90YXRpb246OlwiO1xuXHRcdHNJZFBhcnQgKz0gcHJlcGFyZUlkKG9EYXRhRmllbGQuVGFyZ2V0LiRBbm5vdGF0aW9uUGF0aCB8fCBvRGF0YUZpZWxkLlRhcmdldC52YWx1ZSk7XG5cdFx0cmV0dXJuIHNJZFBhcnQ7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFdpdGhBY3Rpb25cIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZFdpdGhBY3Rpb246OlwiO1xuXHRcdGlmIChvRGF0YUZpZWxkLlZhbHVlKSB7XG5cdFx0XHRzSWRQYXJ0ICs9IGdldFN0YWJsZUlkUGFydEZyb21WYWx1ZShvRGF0YUZpZWxkLlZhbHVlKSArIFwiOjpcIjtcblx0XHR9XG5cdFx0c0lkUGFydCArPSBvRGF0YUZpZWxkLkFjdGlvbjtcblx0XHRyZXR1cm4gcHJlcGFyZUlkKHNJZFBhcnQpO1xuXHR9IGVsc2UgaWYgKG9EYXRhRmllbGQuJFR5cGUgJiYgb0RhdGFGaWVsZC4kVHlwZSA9PT0gXCJjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5EYXRhRmllbGRcIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZDo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aEludGVudEJhc2VkTmF2aWdhdGlvblwiKSB7XG5cdFx0c0lkUGFydCA9IFwiRGF0YUZpZWxkV2l0aEludGVudEJhc2VkTmF2aWdhdGlvbjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tVmFsdWUob0RhdGFGaWVsZC5WYWx1ZSkgKyBcIjo6XCI7XG5cdFx0c0lkUGFydCArPSBnZXRTdGFibGVJZFBhcnRGcm9tU2VtYW50aWNPYmplY3RBbmRBY3Rpb24ob0RhdGFGaWVsZCk7XG5cdFx0cmV0dXJuIHByZXBhcmVJZChzSWRQYXJ0KTtcblx0fSBlbHNlIGlmIChvRGF0YUZpZWxkLiRUeXBlICYmIG9EYXRhRmllbGQuJFR5cGUgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuRGF0YUZpZWxkV2l0aE5hdmlnYXRpb25QYXRoXCIpIHtcblx0XHRzSWRQYXJ0ID0gXCJEYXRhRmllbGRXaXRoTmF2aWdhdGlvblBhdGg6OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpO1xuXHRcdGlmIChvRGF0YUZpZWxkLlRhcmdldCAmJiBvRGF0YUZpZWxkLlRhcmdldFtcIiROYXZpZ2F0aW9uUHJvcGVydHlQYXRoXCJdKSB7XG5cdFx0XHRzSWRQYXJ0ICs9IFwiOjpcIiArIG9EYXRhRmllbGQuVGFyZ2V0W1wiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIl07XG5cdFx0fVxuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAob0RhdGFGaWVsZC4kVHlwZSAmJiBvRGF0YUZpZWxkLiRUeXBlID09PSBcImNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkRhdGFGaWVsZFdpdGhVcmxcIikge1xuXHRcdHNJZFBhcnQgPSBcIkRhdGFGaWVsZFdpdGhVcmw6OlwiO1xuXHRcdHNJZFBhcnQgKz0gZ2V0U3RhYmxlSWRQYXJ0RnJvbVZhbHVlKG9EYXRhRmllbGQuVmFsdWUpO1xuXHRcdHJldHVybiBwcmVwYXJlSWQoc0lkUGFydCk7XG5cdH0gZWxzZSBpZiAobVBhcmFtZXRlciAmJiBtUGFyYW1ldGVyLmNvbnRleHQgJiYgbVBhcmFtZXRlci5jb250ZXh0LmdldE9iamVjdChcIkBzYXB1aS5uYW1lXCIpKSB7XG5cdFx0Ly8gdGhlIGNvbnRleHQgaXMgbm90IHJlZmVycmluZyB0byBkYSBkYXRhIGZpZWxkIGJ1dCBkaXJlY3RseSB0byBhIHByb3BlcnR5LCByZXR1cm4gdGhlIHByb3BlcnR5IG5hbWVcblx0XHRyZXR1cm4gcHJlcGFyZUlkKG1QYXJhbWV0ZXIuY29udGV4dC5nZXRPYmplY3QoXCJAc2FwdWkubmFtZVwiKS50b1N0cmluZygpKTtcblx0fSBlbHNlIHtcblx0XHQvLyBJbiBjYXNlIG9mIGEgc3RyaW5nIG9yIHVua25vd24gcHJvcGVydHlcblx0XHQvLyBMb2cuZXJyb3IoXCJTdGFibGUgSUQgSGVscGVyOiBVbmFibGUgdG8gY3JlYXRlIGEgc3RhYmxlIElELiBQbGVhc2UgY2hlY2sgdGhlIGFubm90YXRpb25zLlwiKTtcblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IHByZXBhcmVJZCA9IGZ1bmN0aW9uKHNJZDogc3RyaW5nKSB7XG5cdHNJZCA9IHJlcGxhY2VTcGVjaWFsQ2hhcnMocmVtb3ZlTmFtZXNwYWNlcyhzSWQpKTtcblx0aWYgKGlzVmFsaWQoc0lkKSkge1xuXHRcdHJldHVybiBzSWQ7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gTG9nLmVycm9yKHNJZCArIFwiIC0gU3RhYmxlIElkIGNvdWxkIG5vdCBiZSBnZW5lcmF0ZWQgZHVlIHRvIGluc3VmZmljaWVudCBpbmZvcm1hdGlvbi5cIik7XG5cdFx0dGhyb3cgc0lkICsgXCIgLSBTdGFibGUgSWQgY291bGQgbm90IGJlIGdlbmVyYXRlZCBkdWUgdG8gaW5zdWZmaWNpZW50IGluZm9ybWF0aW9uLlwiO1xuXHR9XG59O1xuIl19
@@ -2,7 +2,7 @@
2
2
  * ${copyright}
3
3
  */
4
4
 
5
- import { Context } from "sap/ui/model";
5
+ import Context from "sap/ui/model/Context";
6
6
 
7
7
  /**
8
8
  * Stable Id helper
@@ -132,10 +132,6 @@ export const generate = function(aStableIdParts: Array<string | object>) {
132
132
  if (sFacetId) {
133
133
  sStableId += sFacetId;
134
134
  }
135
- } else if (vElement && vElement.FacetSource) {
136
- if (vElement.FacetSource === "com.sap.vocabularies.UI.v1.HeaderFacets") {
137
- sStableId += "HeaderFacet";
138
- }
139
135
  }
140
136
  if (vElement && vElement["$Type"] && vElement["$Type"].indexOf("com.sap.vocabularies.UI.v1.DataField") > -1) {
141
137
  sStableId += getStableIdPartFromDataField(vElement);
@@ -163,7 +159,7 @@ export const getStableIdPartFromSemanticObjectAndAction = function(oDataField: a
163
159
  return sIdPart;
164
160
  };
165
161
 
166
- export const getStableIdPartFromDataField = function(oDataField: any, mParameter: { context?: Context<any> } = {}): string | undefined {
162
+ export const getStableIdPartFromDataField = function(oDataField: any, mParameter: { context?: Context } = {}): string | undefined {
167
163
  let sIdPart = "";
168
164
 
169
165
  if (oDataField.$Type && oDataField.$Type === "com.sap.vocabularies.UI.v1.DataFieldForAction") {
@@ -72,4 +72,4 @@ sap.ui.define([], function () {
72
72
 
73
73
  return jsx;
74
74
  }, false);
75
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImpzeC50cyJdLCJuYW1lcyI6WyJ3cml0ZUNoaWxkcmVuIiwidmFsIiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsImFkZENoaWxkQWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbkNoaWxkcmVuIiwiYWdncmVnYXRpb25OYW1lIiwiY2hpbGQiLCJ1bmRlZmluZWQiLCJ0cmltIiwibGVuZ3RoIiwicHVzaCIsImZvckVhY2giLCJzdWJDaGlsZCIsIk9iamVjdCIsImtleXMiLCJjaGlsZEtleSIsImpzeCIsInR5cGUiLCJtU2V0dGluZ3MiLCJtZXRhZGF0YSIsImdldE1ldGFkYXRhIiwibmFtZXNTcGxpdCIsImdldE5hbWUiLCJzcGxpdCIsIm1ldGFkYXRhUHJvcGVydGllcyIsImdldEFsbFByb3BlcnRpZXMiLCJtZXRhZGF0YUFnZ3JlZ2F0aW9ucyIsImdldEFsbEFnZ3JlZ2F0aW9ucyIsIm5hbWVzcGFjZSIsInNsaWNlIiwibmFtZSIsIm5hbWVzcGFjZUFsaWFzIiwidGFnTmFtZSIsInByb3BlcnRpZXNTdHJpbmciLCJhZ2dyZWdhdGlvblN0cmluZyIsImRlZmF1bHRBZ2dyZWdhdGlvbk5hbWUiLCJnZXREZWZhdWx0QWdncmVnYXRpb25OYW1lIiwicHJvcGVydHlOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJjaGlsZHJlbiIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQVVBLE1BQU1BLGFBQWEsR0FBRyxVQUFTQyxHQUFULEVBQWlDO0FBQ3RELFFBQUlDLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixHQUFkLENBQUosRUFBd0I7QUFDdkIsYUFBT0EsR0FBRyxDQUFDRyxJQUFKLENBQVMsRUFBVCxDQUFQO0FBQ0EsS0FGRCxNQUVPO0FBQ04sYUFBT0gsR0FBUDtBQUNBO0FBQ0QsR0FORDs7QUFRQSxNQUFNSSxtQkFBbUIsR0FBRyxVQUFTQyxtQkFBVCxFQUFtQ0MsZUFBbkMsRUFBNERDLEtBQTVELEVBQXdFO0FBQ25HLFFBQUlBLEtBQUssS0FBS0MsU0FBZCxFQUF5QjtBQUN4QjtBQUNBOztBQUNELFFBQUksQ0FBQ0gsbUJBQW1CLENBQUNDLGVBQUQsQ0FBeEIsRUFBMkM7QUFDMUNELE1BQUFBLG1CQUFtQixDQUFDQyxlQUFELENBQW5CLEdBQXVDLEVBQXZDO0FBQ0E7O0FBQ0QsUUFBSSxPQUFPQyxLQUFQLEtBQWlCLFFBQWpCLElBQTZCQSxLQUFLLENBQUNFLElBQU4sR0FBYUMsTUFBYixHQUFzQixDQUF2RCxFQUEwRDtBQUN6REwsTUFBQUEsbUJBQW1CLENBQUNDLGVBQUQsQ0FBbkIsQ0FBcUNLLElBQXJDLENBQTBDSixLQUExQztBQUNBLEtBRkQsTUFFTyxJQUFJTixLQUFLLENBQUNDLE9BQU4sQ0FBY0ssS0FBZCxDQUFKLEVBQTBCO0FBQ2hDQSxNQUFBQSxLQUFLLENBQUNLLE9BQU4sQ0FBYyxVQUFBQyxRQUFRLEVBQUk7QUFDekJULFFBQUFBLG1CQUFtQixDQUFDQyxtQkFBRCxFQUFzQkMsZUFBdEIsRUFBdUNPLFFBQXZDLENBQW5CO0FBQ0EsT0FGRDtBQUdBLEtBSk0sTUFJQTtBQUNOQyxNQUFBQSxNQUFNLENBQUNDLElBQVAsQ0FBWVIsS0FBWixFQUFtQkssT0FBbkIsQ0FBMkIsVUFBQUksUUFBUSxFQUFJO0FBQ3RDWixRQUFBQSxtQkFBbUIsQ0FBQ0MsbUJBQUQsRUFBc0JXLFFBQXRCLEVBQWdDVCxLQUFLLENBQUNTLFFBQUQsQ0FBckMsQ0FBbkI7QUFDQSxPQUZEO0FBR0E7QUFDRCxHQWxCRDs7QUFvQkEsTUFBTUMsR0FBRyxHQUFHLFVBQ1hDLElBRFcsRUFFWEMsU0FGVyxFQUdGO0FBQ1QsUUFBTUMsUUFBUSxHQUFHRixJQUFJLENBQUNHLFdBQUwsRUFBakI7QUFDQSxRQUFNQyxVQUFVLEdBQUdGLFFBQVEsQ0FBQ0csT0FBVCxHQUFtQkMsS0FBbkIsQ0FBeUIsR0FBekIsQ0FBbkI7QUFFQSxRQUFNQyxrQkFBc0MsR0FBSUwsUUFBUSxDQUFDTSxnQkFBVCxFQUFoRDtBQUNBLFFBQU1DLG9CQUF3QyxHQUFJUCxRQUFRLENBQUNRLGtCQUFULEVBQWxEO0FBRUEsUUFBTUMsU0FBUyxHQUFHUCxVQUFVLENBQUNRLEtBQVgsQ0FBaUIsQ0FBakIsRUFBb0IsQ0FBQyxDQUFyQixDQUFsQjtBQUNBLFFBQU1DLElBQUksR0FBR1QsVUFBVSxDQUFDQSxVQUFVLENBQUNaLE1BQVgsR0FBb0IsQ0FBckIsQ0FBdkI7QUFDQSxRQUFNc0IsY0FBYyxHQUFHSCxTQUFTLENBQUNBLFNBQVMsQ0FBQ25CLE1BQVYsR0FBbUIsQ0FBcEIsQ0FBaEM7QUFDQSxRQUFNdUIsT0FBTyxhQUFNRCxjQUFOLGNBQXdCRCxJQUF4QixDQUFiO0FBQ0EsUUFBTUcsZ0JBQTBCLEdBQUcsRUFBbkM7QUFDQSxRQUFNQyxpQkFBMkIsR0FBRyxFQUFwQztBQUNBLFFBQU1DLHNCQUFzQixHQUFHaEIsUUFBUSxDQUFDaUIseUJBQVQsRUFBL0I7QUFDQXZCLElBQUFBLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZVSxrQkFBWixFQUFnQ2IsT0FBaEMsQ0FBd0MsVUFBQTBCLFlBQVksRUFBSTtBQUN2RCxVQUFJbkIsU0FBUyxDQUFDb0IsY0FBVixDQUF5QkQsWUFBekIsQ0FBSixFQUE0QztBQUMzQ0osUUFBQUEsZ0JBQWdCLENBQUN2QixJQUFqQixXQUF5QjJCLFlBQXpCLGdCQUEyQ25CLFNBQUQsQ0FBbUJtQixZQUFuQixDQUExQztBQUNBO0FBQ0QsS0FKRDs7QUFLQSxRQUFNakMsbUJBQTZDLHVCQUNqRCtCLHNCQURpRCxFQUN4QixFQUR3QixDQUFuRDs7QUFHQWhDLElBQUFBLG1CQUFtQixDQUFDQyxtQkFBRCxFQUFzQitCLHNCQUF0QixFQUE4Q2pCLFNBQVMsQ0FBQ3FCLFFBQXhELENBQW5CO0FBQ0ExQixJQUFBQSxNQUFNLENBQUNDLElBQVAsQ0FBWVksb0JBQVosRUFBa0NmLE9BQWxDLENBQTBDLFVBQUFOLGVBQWUsRUFBSTtBQUM1RCxVQUFJRCxtQkFBbUIsU0FBbkIsSUFBQUEsbUJBQW1CLFdBQW5CLElBQUFBLG1CQUFtQixDQUFFa0MsY0FBckIsQ0FBb0NqQyxlQUFwQyxLQUF3REQsbUJBQW1CLENBQUNDLGVBQUQsQ0FBbkIsQ0FBcUNJLE1BQXJDLEdBQThDLENBQTFHLEVBQTZHO0FBQzVHeUIsUUFBQUEsaUJBQWlCLENBQUN4QixJQUFsQixZQUNLcUIsY0FETCxjQUN1QjFCLGVBRHZCLDRCQUVLUCxhQUFhLENBQUNNLG1CQUFtQixDQUFDQyxlQUFELENBQXBCLENBRmxCLDJCQUdNMEIsY0FITixjQUd3QjFCLGVBSHhCO0FBS0E7O0FBQ0QsVUFBSWEsU0FBUyxDQUFDb0IsY0FBVixDQUF5QmpDLGVBQXpCLENBQUosRUFBK0M7QUFDOUM0QixRQUFBQSxnQkFBZ0IsQ0FBQ3ZCLElBQWpCLFdBQXlCTCxlQUF6QixlQUE2Q21DLElBQUksQ0FBQ0MsU0FBTCxDQUFnQnZCLFNBQUQsQ0FBbUJiLGVBQW5CLENBQWYsQ0FBN0M7QUFDQTtBQUNELEtBWEQ7QUFZQSxzQkFBVzJCLE9BQVgsb0JBQTRCRCxjQUE1QixnQkFBK0NILFNBQVMsQ0FBQzFCLElBQVYsQ0FBZSxHQUFmLENBQS9DLGdCQUF1RStCLGdCQUFnQixDQUFDL0IsSUFBakIsQ0FBc0IsR0FBdEIsQ0FBdkUsY0FBcUdnQyxpQkFBaUIsQ0FBQ2hDLElBQWxCLENBQ3BHLEVBRG9HLENBQXJHLGVBRU04QixPQUZOO0FBR0EsR0F6Q0Q7O1NBMENlaEIsRyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFuYWdlZE9iamVjdE1ldGFkYXRhIH0gZnJvbSBcInNhcC91aS9iYXNlXCI7XG5cbnR5cGUgQ29udHJvbFByb3BlcnR5TmFtZXM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgc3RyaW5nIHwgYm9vbGVhbiB8IEZ1bmN0aW9uIHwgbnVtYmVyIHwgdW5kZWZpbmVkIHwgc3RyaW5nW10gPyBuZXZlciA6IEs7XG59W2tleW9mIFRdO1xudHlwZSBDb250cm9sUHJvcGVydGllczxUPiA9IFBhcnRpYWw8UmVjb3JkPENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+LCBKU1guRWxlbWVudD4+O1xudHlwZSBOb25Db250cm9sUHJvcGVydGllczxUPiA9IFBhcnRpYWw8T21pdDxULCBDb250cm9sUHJvcGVydHlOYW1lczxUPj4+O1xudHlwZSBDb250cm9sV2l0aE1ldGFkYXRhID0ge1xuXHRnZXRNZXRhZGF0YSgpOiBNYW5hZ2VkT2JqZWN0TWV0YWRhdGE7XG59O1xuZXhwb3J0IHR5cGUgV3JhcHBlZENvbnRyb2w8VD4gPSAobVNldHRpbmdzOiBOb25Db250cm9sUHJvcGVydGllczxUPiAmIHsgY2hpbGRyZW4/OiBKU1guRWxlbWVudCB8IENvbnRyb2xQcm9wZXJ0aWVzPFQ+IH0pID0+IEpTWC5FbGVtZW50O1xuXG5jb25zdCB3cml0ZUNoaWxkcmVuID0gZnVuY3Rpb24odmFsOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuXHRpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG5cdFx0cmV0dXJuIHZhbC5qb2luKFwiXCIpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiB2YWw7XG5cdH1cbn07XG5cbmNvbnN0IGFkZENoaWxkQWdncmVnYXRpb24gPSBmdW5jdGlvbihhZ2dyZWdhdGlvbkNoaWxkcmVuOiBhbnksIGFnZ3JlZ2F0aW9uTmFtZTogc3RyaW5nLCBjaGlsZDogYW55KSB7XG5cdGlmIChjaGlsZCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cdGlmICghYWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdKSB7XG5cdFx0YWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdID0gW107XG5cdH1cblx0aWYgKHR5cGVvZiBjaGlsZCA9PT0gXCJzdHJpbmdcIiAmJiBjaGlsZC50cmltKCkubGVuZ3RoID4gMCkge1xuXHRcdGFnZ3JlZ2F0aW9uQ2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXS5wdXNoKGNoaWxkKTtcblx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuXHRcdGNoaWxkLmZvckVhY2goc3ViQ2hpbGQgPT4ge1xuXHRcdFx0YWRkQ2hpbGRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbkNoaWxkcmVuLCBhZ2dyZWdhdGlvbk5hbWUsIHN1YkNoaWxkKTtcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHRPYmplY3Qua2V5cyhjaGlsZCkuZm9yRWFjaChjaGlsZEtleSA9PiB7XG5cdFx0XHRhZGRDaGlsZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4sIGNoaWxkS2V5LCBjaGlsZFtjaGlsZEtleV0pO1xuXHRcdH0pO1xuXHR9XG59O1xuXG5jb25zdCBqc3ggPSBmdW5jdGlvbjxUPihcblx0dHlwZTogQ29udHJvbFdpdGhNZXRhZGF0YSxcblx0bVNldHRpbmdzOiBOb25Db250cm9sUHJvcGVydGllczxUPiAmIHsgY2hpbGRyZW4/OiBKU1guRWxlbWVudCB8IENvbnRyb2xQcm9wZXJ0aWVzPFQ+IH1cbik6IHN0cmluZyB7XG5cdGNvbnN0IG1ldGFkYXRhID0gdHlwZS5nZXRNZXRhZGF0YSgpO1xuXHRjb25zdCBuYW1lc1NwbGl0ID0gbWV0YWRhdGEuZ2V0TmFtZSgpLnNwbGl0KFwiLlwiKTtcblxuXHRjb25zdCBtZXRhZGF0YVByb3BlcnRpZXM6IHsgbmFtZTogc3RyaW5nIH1bXSA9IChtZXRhZGF0YS5nZXRBbGxQcm9wZXJ0aWVzKCkgYXMgdW5rbm93bikgYXMgeyBuYW1lOiBzdHJpbmcgfVtdO1xuXHRjb25zdCBtZXRhZGF0YUFnZ3JlZ2F0aW9uczogeyBuYW1lOiBzdHJpbmcgfVtdID0gKG1ldGFkYXRhLmdldEFsbEFnZ3JlZ2F0aW9ucygpIGFzIHVua25vd24pIGFzIHsgbmFtZTogc3RyaW5nIH1bXTtcblxuXHRjb25zdCBuYW1lc3BhY2UgPSBuYW1lc1NwbGl0LnNsaWNlKDAsIC0xKTtcblx0Y29uc3QgbmFtZSA9IG5hbWVzU3BsaXRbbmFtZXNTcGxpdC5sZW5ndGggLSAxXTtcblx0Y29uc3QgbmFtZXNwYWNlQWxpYXMgPSBuYW1lc3BhY2VbbmFtZXNwYWNlLmxlbmd0aCAtIDFdO1xuXHRjb25zdCB0YWdOYW1lID0gYCR7bmFtZXNwYWNlQWxpYXN9OiR7bmFtZX1gO1xuXHRjb25zdCBwcm9wZXJ0aWVzU3RyaW5nOiBzdHJpbmdbXSA9IFtdO1xuXHRjb25zdCBhZ2dyZWdhdGlvblN0cmluZzogc3RyaW5nW10gPSBbXTtcblx0Y29uc3QgZGVmYXVsdEFnZ3JlZ2F0aW9uTmFtZSA9IG1ldGFkYXRhLmdldERlZmF1bHRBZ2dyZWdhdGlvbk5hbWUoKTtcblx0T2JqZWN0LmtleXMobWV0YWRhdGFQcm9wZXJ0aWVzKS5mb3JFYWNoKHByb3BlcnR5TmFtZSA9PiB7XG5cdFx0aWYgKG1TZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XG5cdFx0XHRwcm9wZXJ0aWVzU3RyaW5nLnB1c2goYCR7cHJvcGVydHlOYW1lfT1cIiR7KG1TZXR0aW5ncyBhcyBhbnkpW3Byb3BlcnR5TmFtZV19XCJgKTtcblx0XHR9XG5cdH0pO1xuXHRjb25zdCBhZ2dyZWdhdGlvbkNoaWxkcmVuOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7XG5cdFx0W2RlZmF1bHRBZ2dyZWdhdGlvbk5hbWVdOiBbXVxuXHR9O1xuXHRhZGRDaGlsZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4sIGRlZmF1bHRBZ2dyZWdhdGlvbk5hbWUsIG1TZXR0aW5ncy5jaGlsZHJlbik7XG5cdE9iamVjdC5rZXlzKG1ldGFkYXRhQWdncmVnYXRpb25zKS5mb3JFYWNoKGFnZ3JlZ2F0aW9uTmFtZSA9PiB7XG5cdFx0aWYgKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4/Lmhhc093blByb3BlcnR5KGFnZ3JlZ2F0aW9uTmFtZSkgJiYgYWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdLmxlbmd0aCA+IDApIHtcblx0XHRcdGFnZ3JlZ2F0aW9uU3RyaW5nLnB1c2goXG5cdFx0XHRcdGA8JHtuYW1lc3BhY2VBbGlhc306JHthZ2dyZWdhdGlvbk5hbWV9PlxuXHRcdFx0XHRcdFx0JHt3cml0ZUNoaWxkcmVuKGFnZ3JlZ2F0aW9uQ2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSl9XG5cdFx0XHRcdFx0PC8ke25hbWVzcGFjZUFsaWFzfToke2FnZ3JlZ2F0aW9uTmFtZX0+YFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0aWYgKG1TZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShhZ2dyZWdhdGlvbk5hbWUpKSB7XG5cdFx0XHRwcm9wZXJ0aWVzU3RyaW5nLnB1c2goYCR7YWdncmVnYXRpb25OYW1lfT0nJHtKU09OLnN0cmluZ2lmeSgobVNldHRpbmdzIGFzIGFueSlbYWdncmVnYXRpb25OYW1lXSl9J2ApO1xuXHRcdH1cblx0fSk7XG5cdHJldHVybiBgPCR7dGFnTmFtZX0geG1sbnM6JHtuYW1lc3BhY2VBbGlhc309XCIke25hbWVzcGFjZS5qb2luKFwiLlwiKX1cIiAke3Byb3BlcnRpZXNTdHJpbmcuam9pbihcIiBcIil9PiR7YWdncmVnYXRpb25TdHJpbmcuam9pbihcblx0XHRcIlwiXG5cdCl9PC8ke3RhZ05hbWV9PmA7XG59O1xuZXhwb3J0IGRlZmF1bHQganN4O1xuIl19
75
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImpzeC50cyJdLCJuYW1lcyI6WyJ3cml0ZUNoaWxkcmVuIiwidmFsIiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsImFkZENoaWxkQWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbkNoaWxkcmVuIiwiYWdncmVnYXRpb25OYW1lIiwiY2hpbGQiLCJ1bmRlZmluZWQiLCJ0cmltIiwibGVuZ3RoIiwicHVzaCIsImZvckVhY2giLCJzdWJDaGlsZCIsIk9iamVjdCIsImtleXMiLCJjaGlsZEtleSIsImpzeCIsInR5cGUiLCJtU2V0dGluZ3MiLCJtZXRhZGF0YSIsImdldE1ldGFkYXRhIiwibmFtZXNTcGxpdCIsImdldE5hbWUiLCJzcGxpdCIsIm1ldGFkYXRhUHJvcGVydGllcyIsImdldEFsbFByb3BlcnRpZXMiLCJtZXRhZGF0YUFnZ3JlZ2F0aW9ucyIsImdldEFsbEFnZ3JlZ2F0aW9ucyIsIm5hbWVzcGFjZSIsInNsaWNlIiwibmFtZSIsIm5hbWVzcGFjZUFsaWFzIiwidGFnTmFtZSIsInByb3BlcnRpZXNTdHJpbmciLCJhZ2dyZWdhdGlvblN0cmluZyIsImRlZmF1bHRBZ2dyZWdhdGlvbk5hbWUiLCJnZXREZWZhdWx0QWdncmVnYXRpb25OYW1lIiwicHJvcGVydHlOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJjaGlsZHJlbiIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQVVBLE1BQU1BLGFBQWEsR0FBRyxVQUFTQyxHQUFULEVBQWlDO0FBQ3RELFFBQUlDLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixHQUFkLENBQUosRUFBd0I7QUFDdkIsYUFBT0EsR0FBRyxDQUFDRyxJQUFKLENBQVMsRUFBVCxDQUFQO0FBQ0EsS0FGRCxNQUVPO0FBQ04sYUFBT0gsR0FBUDtBQUNBO0FBQ0QsR0FORDs7QUFRQSxNQUFNSSxtQkFBbUIsR0FBRyxVQUFTQyxtQkFBVCxFQUFtQ0MsZUFBbkMsRUFBNERDLEtBQTVELEVBQXdFO0FBQ25H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QyxlQUFwQyxLQUF3REQsbUJBQW1CLENBQUNDLGVBQUQsQ0FBbkIsQ0FBcUNJLE1BQXJDLEdBQThDLENBQTFHLEVBQTZHO0FBQzVHeUIsUUFBQUEsaUJBQWlCLENBQUN4QixJQUFsQixZQUNLcUIsY0FETCxjQUN1QjFCLGVBRHZCLDRCQUVLUCxhQUFhLENBQUNNLG1CQUFtQixDQUFDQyxlQUFELENBQXBCLENBRmxCLDJCQUdNMEIsY0FITixjQUd3QjFCLGVBSHhCO0FBS0E7O0FBQ0QsVUFBSWEsU0FBUyxDQUFDb0IsY0FBVixDQUF5QmpDLGVBQXpCLENBQUosRUFBK0M7QUFDOUM0QixRQUFBQSxnQkFBZ0IsQ0FBQ3ZCLElBQWpCLFdBQXlCTCxlQUF6QixlQUE2Q21DLElBQUksQ0FBQ0MsU0FBTCxDQUFnQnZCLFNBQUQsQ0FBbUJiLGVBQW5CLENBQWYsQ0FBN0M7QUFDQTtBQUNELEtBWEQ7QUFZQSxzQkFBVzJCLE9BQVgsb0JBQTRCRCxjQUE1QixnQkFBK0NILFNBQVMsQ0FBQzFCLElBQVYsQ0FBZSxHQUFmLENBQS9DLGdCQUF1RStCLGdCQUFnQixDQUFDL0IsSUFBakIsQ0FBc0IsR0FBdEIsQ0FBdkUsY0FBcUdnQyxpQkFBaUIsQ0FBQ2hDLElBQWxCLENBQ3BHLEVBRG9HLENBQXJHLGVBRU04QixPQUZOO0FBR0EsR0F6Q0Q7O1NBMENlaEIsRyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hbmFnZWRPYmplY3RNZXRhZGF0YSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdE1ldGFkYXRhXCI7XG5cbnR5cGUgQ29udHJvbFByb3BlcnR5TmFtZXM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgc3RyaW5nIHwgYm9vbGVhbiB8IEZ1bmN0aW9uIHwgbnVtYmVyIHwgdW5kZWZpbmVkIHwgc3RyaW5nW10gPyBuZXZlciA6IEs7XG59W2tleW9mIFRdO1xudHlwZSBDb250cm9sUHJvcGVydGllczxUPiA9IFBhcnRpYWw8UmVjb3JkPENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+LCBKU1guRWxlbWVudD4+O1xudHlwZSBOb25Db250cm9sUHJvcGVydGllczxUPiA9IFBhcnRpYWw8T21pdDxULCBDb250cm9sUHJvcGVydHlOYW1lczxUPj4+O1xudHlwZSBDb250cm9sV2l0aE1ldGFkYXRhID0ge1xuXHRnZXRNZXRhZGF0YSgpOiBNYW5hZ2VkT2JqZWN0TWV0YWRhdGE7XG59O1xuZXhwb3J0IHR5cGUgV3JhcHBlZENvbnRyb2w8VD4gPSAobVNldHRpbmdzOiBOb25Db250cm9sUHJvcGVydGllczxUPiAmIHsgY2hpbGRyZW4/OiBKU1guRWxlbWVudCB8IENvbnRyb2xQcm9wZXJ0aWVzPFQ+IH0pID0+IEpTWC5FbGVtZW50O1xuXG5jb25zdCB3cml0ZUNoaWxkcmVuID0gZnVuY3Rpb24odmFsOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuXHRpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG5cdFx0cmV0dXJuIHZhbC5qb2luKFwiXCIpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiB2YWw7XG5cdH1cbn07XG5cbmNvbnN0IGFkZENoaWxkQWdncmVnYXRpb24gPSBmdW5jdGlvbihhZ2dyZWdhdGlvbkNoaWxkcmVuOiBhbnksIGFnZ3JlZ2F0aW9uTmFtZTogc3RyaW5nLCBjaGlsZDogYW55KSB7XG5cdGlmIChjaGlsZCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cdGlmICghYWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdKSB7XG5cdFx0YWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdID0gW107XG5cdH1cblx0aWYgKHR5cGVvZiBjaGlsZCA9PT0gXCJzdHJpbmdcIiAmJiBjaGlsZC50cmltKCkubGVuZ3RoID4gMCkge1xuXHRcdGFnZ3JlZ2F0aW9uQ2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXS5wdXNoKGNoaWxkKTtcblx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuXHRcdGNoaWxkLmZvckVhY2goc3ViQ2hpbGQgPT4ge1xuXHRcdFx0YWRkQ2hpbGRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbkNoaWxkcmVuLCBhZ2dyZWdhdGlvbk5hbWUsIHN1YkNoaWxkKTtcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHRPYmplY3Qua2V5cyhjaGlsZCkuZm9yRWFjaChjaGlsZEtleSA9PiB7XG5cdFx0XHRhZGRDaGlsZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4sIGNoaWxkS2V5LCBjaGlsZFtjaGlsZEtleV0pO1xuXHRcdH0pO1xuXHR9XG59O1xuXG5jb25zdCBqc3ggPSBmdW5jdGlvbjxUPihcblx0dHlwZTogQ29udHJvbFdpdGhNZXRhZGF0YSxcblx0bVNldHRpbmdzOiBOb25Db250cm9sUHJvcGVydGllczxUPiAmIHsgY2hpbGRyZW4/OiBKU1guRWxlbWVudCB8IENvbnRyb2xQcm9wZXJ0aWVzPFQ+IH1cbik6IHN0cmluZyB7XG5cdGNvbnN0IG1ldGFkYXRhID0gdHlwZS5nZXRNZXRhZGF0YSgpO1xuXHRjb25zdCBuYW1lc1NwbGl0ID0gbWV0YWRhdGEuZ2V0TmFtZSgpLnNwbGl0KFwiLlwiKTtcblxuXHRjb25zdCBtZXRhZGF0YVByb3BlcnRpZXM6IHsgbmFtZTogc3RyaW5nIH1bXSA9IChtZXRhZGF0YS5nZXRBbGxQcm9wZXJ0aWVzKCkgYXMgdW5rbm93bikgYXMgeyBuYW1lOiBzdHJpbmcgfVtdO1xuXHRjb25zdCBtZXRhZGF0YUFnZ3JlZ2F0aW9uczogeyBuYW1lOiBzdHJpbmcgfVtdID0gKG1ldGFkYXRhLmdldEFsbEFnZ3JlZ2F0aW9ucygpIGFzIHVua25vd24pIGFzIHsgbmFtZTogc3RyaW5nIH1bXTtcblxuXHRjb25zdCBuYW1lc3BhY2UgPSBuYW1lc1NwbGl0LnNsaWNlKDAsIC0xKTtcblx0Y29uc3QgbmFtZSA9IG5hbWVzU3BsaXRbbmFtZXNTcGxpdC5sZW5ndGggLSAxXTtcblx0Y29uc3QgbmFtZXNwYWNlQWxpYXMgPSBuYW1lc3BhY2VbbmFtZXNwYWNlLmxlbmd0aCAtIDFdO1xuXHRjb25zdCB0YWdOYW1lID0gYCR7bmFtZXNwYWNlQWxpYXN9OiR7bmFtZX1gO1xuXHRjb25zdCBwcm9wZXJ0aWVzU3RyaW5nOiBzdHJpbmdbXSA9IFtdO1xuXHRjb25zdCBhZ2dyZWdhdGlvblN0cmluZzogc3RyaW5nW10gPSBbXTtcblx0Y29uc3QgZGVmYXVsdEFnZ3JlZ2F0aW9uTmFtZSA9IG1ldGFkYXRhLmdldERlZmF1bHRBZ2dyZWdhdGlvbk5hbWUoKTtcblx0T2JqZWN0LmtleXMobWV0YWRhdGFQcm9wZXJ0aWVzKS5mb3JFYWNoKHByb3BlcnR5TmFtZSA9PiB7XG5cdFx0aWYgKG1TZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XG5cdFx0XHRwcm9wZXJ0aWVzU3RyaW5nLnB1c2goYCR7cHJvcGVydHlOYW1lfT1cIiR7KG1TZXR0aW5ncyBhcyBhbnkpW3Byb3BlcnR5TmFtZV19XCJgKTtcblx0XHR9XG5cdH0pO1xuXHRjb25zdCBhZ2dyZWdhdGlvbkNoaWxkcmVuOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7XG5cdFx0W2RlZmF1bHRBZ2dyZWdhdGlvbk5hbWVdOiBbXVxuXHR9O1xuXHRhZGRDaGlsZEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4sIGRlZmF1bHRBZ2dyZWdhdGlvbk5hbWUsIG1TZXR0aW5ncy5jaGlsZHJlbik7XG5cdE9iamVjdC5rZXlzKG1ldGFkYXRhQWdncmVnYXRpb25zKS5mb3JFYWNoKGFnZ3JlZ2F0aW9uTmFtZSA9PiB7XG5cdFx0aWYgKGFnZ3JlZ2F0aW9uQ2hpbGRyZW4/Lmhhc093blByb3BlcnR5KGFnZ3JlZ2F0aW9uTmFtZSkgJiYgYWdncmVnYXRpb25DaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdLmxlbmd0aCA+IDApIHtcblx0XHRcdGFnZ3JlZ2F0aW9uU3RyaW5nLnB1c2goXG5cdFx0XHRcdGA8JHtuYW1lc3BhY2VBbGlhc306JHthZ2dyZWdhdGlvbk5hbWV9PlxuXHRcdFx0XHRcdFx0JHt3cml0ZUNoaWxkcmVuKGFnZ3JlZ2F0aW9uQ2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSl9XG5cdFx0XHRcdFx0PC8ke25hbWVzcGFjZUFsaWFzfToke2FnZ3JlZ2F0aW9uTmFtZX0+YFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0aWYgKG1TZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShhZ2dyZWdhdGlvbk5hbWUpKSB7XG5cdFx0XHRwcm9wZXJ0aWVzU3RyaW5nLnB1c2goYCR7YWdncmVnYXRpb25OYW1lfT0nJHtKU09OLnN0cmluZ2lmeSgobVNldHRpbmdzIGFzIGFueSlbYWdncmVnYXRpb25OYW1lXSl9J2ApO1xuXHRcdH1cblx0fSk7XG5cdHJldHVybiBgPCR7dGFnTmFtZX0geG1sbnM6JHtuYW1lc3BhY2VBbGlhc309XCIke25hbWVzcGFjZS5qb2luKFwiLlwiKX1cIiAke3Byb3BlcnRpZXNTdHJpbmcuam9pbihcIiBcIil9PiR7YWdncmVnYXRpb25TdHJpbmcuam9pbihcblx0XHRcIlwiXG5cdCl9PC8ke3RhZ05hbWV9PmA7XG59O1xuZXhwb3J0IGRlZmF1bHQganN4O1xuIl19
@@ -1,4 +1,4 @@
1
- import { ManagedObjectMetadata } from "sap/ui/base";
1
+ import ManagedObjectMetadata from "sap/ui/base/ManagedObjectMetadata";
2
2
 
3
3
  type ControlPropertyNames<T> = {
4
4
  [K in keyof T]: T[K] extends string | boolean | Function | number | undefined | string[] ? never : K;
@@ -1,6 +1,7 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+
4
5
  */
5
6
 
6
7
  /**
@@ -106,7 +107,7 @@ sap.ui.define(
106
107
  interfaces: [],
107
108
  controls: [],
108
109
  elements: [],
109
- version: "1.97.0",
110
+ version: "1.99.1",
110
111
  noLibraryCSS: true,
111
112
  extensions: {
112
113
  //Configuration used for rule loading of Support Assistant
@@ -120,6 +121,32 @@ sap.ui.define(
120
121
  }
121
122
  });
122
123
 
124
+ /**
125
+ * Available values for invocation grouping.
126
+ *
127
+ * @readonly
128
+ * @enum {string}
129
+ * @private
130
+ */
131
+ sap.fe.core.InvocationGrouping = {
132
+ /**
133
+ * Isolated.
134
+ *
135
+ * @constant
136
+ * @type {string}
137
+ * @public
138
+ */
139
+ Isolated: "Isolated",
140
+ /**
141
+ * ChangeSet.
142
+ *
143
+ * @constant
144
+ * @type {string}
145
+ * @public
146
+ */
147
+ ChangeSet: "ChangeSet"
148
+ };
149
+
123
150
  /**
124
151
  * Available values for creation mode.
125
152
  *
@@ -1,6 +1,7 @@
1
1
  /*!
2
- * SAPUI5
3
- * (c) Copyright 2009-2021 SAP SE. All rights reserved.
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+
4
5
  */
5
6
  /**
6
7
  * Adds support rules of the sap.fe.core library to the support infrastructure.
@@ -9,9 +10,10 @@ sap.ui.define(
9
10
  [
10
11
  "./support/AnnotationIssue.support",
11
12
  "./support/CollectionFacetMissingID.support",
12
- "./support/CollectionFacetUnsupportedLevel.support"
13
+ "./support/CollectionFacetUnsupportedLevel.support",
14
+ "./support/InvalidAnnotationColumnKey.support"
13
15
  ],
14
- function(AnnotationIssue, CollectionFacetMissingID, CollectionFacetUnsupportedLevel) {
16
+ function(AnnotationIssue, CollectionFacetMissingID, CollectionFacetUnsupportedLevel, InvalidAnnotationColumnKey) {
15
17
  "use strict";
16
18
 
17
19
  sap.ui.support.SystemPresets.FeV4 = {
@@ -24,7 +26,12 @@ sap.ui.define(
24
26
  return {
25
27
  name: "sap.fe.core",
26
28
  niceName: "SAP.FE V4 - Core library",
27
- ruleset: [AnnotationIssue.getRules(), CollectionFacetMissingID.getRules(), CollectionFacetUnsupportedLevel.getRules()]
29
+ ruleset: [
30
+ AnnotationIssue.getRules(),
31
+ CollectionFacetMissingID.getRules(),
32
+ CollectionFacetUnsupportedLevel.getRules(),
33
+ InvalidAnnotationColumnKey.getRules()
34
+ ]
28
35
  };
29
36
  },
30
37
  true
@@ -0,0 +1,62 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/base/util/ObjectPath"], function (ObjectPath) {
6
+ "use strict";
7
+
8
+ var _exports = {};
9
+
10
+ function applyChange(manifest, change) {
11
+ var _manifest$sapUi, _manifest$sapUi$routi;
12
+
13
+ var changeContent = change.getContent();
14
+ var pageID = changeContent === null || changeContent === void 0 ? void 0 : changeContent.page;
15
+ var targets = ((_manifest$sapUi = manifest["sap.ui5"]) === null || _manifest$sapUi === void 0 ? void 0 : (_manifest$sapUi$routi = _manifest$sapUi.routing) === null || _manifest$sapUi$routi === void 0 ? void 0 : _manifest$sapUi$routi.targets) || {};
16
+ var pageSettings;
17
+ var propertyChange = changeContent === null || changeContent === void 0 ? void 0 : changeContent.entityPropertyChange; // return unmodified manifest in case change not valid
18
+
19
+ if ((propertyChange === null || propertyChange === void 0 ? void 0 : propertyChange.operation) !== "UPSERT" || !(propertyChange !== null && propertyChange !== void 0 && propertyChange.propertyPath) || !(propertyChange !== null && propertyChange !== void 0 && propertyChange.propertyValue) || propertyChange !== null && propertyChange !== void 0 && propertyChange.propertyPath.startsWith("/")) {
20
+ return manifest;
21
+ }
22
+
23
+ for (var p in targets) {
24
+ if (targets[p].id === pageID) {
25
+ var _targets$p$name;
26
+
27
+ if ((_targets$p$name = targets[p].name) !== null && _targets$p$name !== void 0 && _targets$p$name.startsWith("sap.fe.templates.")) {
28
+ var _targets$p, _targets$p$options;
29
+
30
+ pageSettings = ((_targets$p = targets[p]) === null || _targets$p === void 0 ? void 0 : (_targets$p$options = _targets$p.options) === null || _targets$p$options === void 0 ? void 0 : _targets$p$options.settings) || {};
31
+ break;
32
+ }
33
+ }
34
+ }
35
+
36
+ if (!pageSettings) {
37
+ return manifest;
38
+ }
39
+
40
+ var propertyPath = propertyChange.propertyPath.split("/");
41
+
42
+ if (propertyPath[0] === "controlConfiguration") {
43
+ var annotationPath = ""; // the annotation path in the control configuration has to stay together. For now rely on the fact the @ is in the last part
44
+
45
+ for (var i = 1; i < propertyPath.length; i++) {
46
+ annotationPath += (i > 1 ? "/" : "") + propertyPath[i];
47
+
48
+ if (annotationPath.indexOf("@") > -1) {
49
+ propertyPath = ["controlConfiguration", annotationPath].concat(propertyPath.slice(i + 1));
50
+ break;
51
+ }
52
+ }
53
+ }
54
+
55
+ ObjectPath.set(propertyPath, propertyChange.propertyValue, pageSettings);
56
+ return manifest;
57
+ }
58
+
59
+ _exports.applyChange = applyChange;
60
+ return _exports;
61
+ }, false);
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNoYW5nZVBhZ2VDb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbImFwcGx5Q2hhbmdlIiwibWFuaWZlc3QiLCJjaGFuZ2UiLCJjaGFuZ2VDb250ZW50IiwiZ2V0Q29udGVudCIsInBhZ2VJRCIsInBhZ2UiLCJ0YXJnZXRzIiwicm91dGluZyIsInBhZ2VTZXR0aW5ncyIsInByb3BlcnR5Q2hhbmdlIiwiZW50aXR5UHJvcGVydHlDaGFuZ2UiLCJvcGVyYXRpb24iLCJwcm9wZXJ0eVBhdGgiLCJwcm9wZXJ0eVZhbHVlIiwic3RhcnRzV2l0aCIsInAiLCJpZCIsIm5hbWUiLCJvcHRpb25zIiwic2V0dGluZ3MiLCJzcGxpdCIsImFubm90YXRpb25QYXRoIiwiaSIsImxlbmd0aCIsImluZGV4T2YiLCJjb25jYXQiLCJzbGljZSIsIk9iamVjdFBhdGgiLCJzZXQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQWtCTyxXQUFTQSxXQUFULENBQXFCQyxRQUFyQixFQUFvQ0MsTUFBcEMsRUFBeUQ7QUFBQTs7QUFDL0QsUUFBTUMsYUFBYSxHQUFHRCxNQUFNLENBQUNFLFVBQVAsRUFBdEI7QUFDQSxRQUFNQyxNQUFNLEdBQUdGLGFBQUgsYUFBR0EsYUFBSCx1QkFBR0EsYUFBYSxDQUFFRyxJQUE5QjtBQUNBLFFBQU1DLE9BQU8sR0FBRyxvQkFBQU4sUUFBUSxDQUFDLFNBQUQsQ0FBUiw2RkFBcUJPLE9BQXJCLGdGQUE4QkQsT0FBOUIsS0FBeUMsRUFBekQ7QUFDQSxRQUFJRSxZQUFKO0FBQ0EsUUFBTUMsY0FBYyxHQUFHUCxhQUFILGFBQUdBLGFBQUgsdUJBQUdBLGFBQWEsQ0FBRVEsb0JBQXRDLENBTCtELENBTy9EOztBQUNBLFFBQ0MsQ0FBQUQsY0FBYyxTQUFkLElBQUFBLGNBQWMsV0FBZCxZQUFBQSxjQUFjLENBQUVFLFNBQWhCLE1BQThCLFFBQTlCLElBQ0EsRUFBQ0YsY0FBRCxhQUFDQSxjQUFELGVBQUNBLGNBQWMsQ0FBRUcsWUFBakIsQ0FEQSxJQUVBLEVBQUNILGNBQUQsYUFBQ0EsY0FBRCxlQUFDQSxjQUFjLENBQUVJLGFBQWpCLENBRkEsSUFHQUosY0FIQSxhQUdBQSxjQUhBLGVBR0FBLGNBQWMsQ0FBRUcsWUFBaEIsQ0FBNkJFLFVBQTdCLENBQXdDLEdBQXhDLENBSkQsRUFLRTtBQUNELGFBQU9kLFFBQVA7QUFDQTs7QUFFRCxTQUFLLElBQU1lLENBQVgsSUFBZ0JULE9BQWhCLEVBQXlCO0FBQ3hCLFVBQUlBLE9BQU8sQ0FBQ1MsQ0FBRCxDQUFQLENBQVdDLEVBQVgsS0FBa0JaLE1BQXRCLEVBQThCO0FBQUE7O0FBQzdCLCtCQUFJRSxPQUFPLENBQUNTLENBQUQsQ0FBUCxDQUFXRSxJQUFmLDRDQUFJLGdCQUFpQkgsVUFBakIsQ0FBNEIsbUJBQTVCLENBQUosRUFBc0Q7QUFBQTs7QUFDckROLFVBQUFBLFlBQVksR0FBRyxlQUFBRixPQUFPLENBQUNTLENBQUQsQ0FBUCxnRkFBWUcsT0FBWiwwRUFBcUJDLFFBQXJCLEtBQWlDLEVBQWhEO0FBQ0E7QUFDQTtBQUNEO0FBQ0Q7O0FBRUQsUUFBSSxDQUFDWCxZQUFMLEVBQW1CO0FBQ2xCLGFBQU9SLFFBQVA7QUFDQTs7QUFFRCxRQUFJWSxZQUFZLEdBQUdILGNBQWMsQ0FBQ0csWUFBZixDQUE0QlEsS0FBNUIsQ0FBa0MsR0FBbEMsQ0FBbkI7O0FBQ0EsUUFBSVIsWUFBWSxDQUFDLENBQUQsQ0FBWixLQUFvQixzQkFBeEIsRUFBZ0Q7QUFDL0MsVUFBSVMsY0FBYyxHQUFHLEVBQXJCLENBRCtDLENBRS9DOztBQUNBLFdBQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR1YsWUFBWSxDQUFDVyxNQUFqQyxFQUF5Q0QsQ0FBQyxFQUExQyxFQUE4QztBQUM3Q0QsUUFBQUEsY0FBYyxJQUFJLENBQUNDLENBQUMsR0FBRyxDQUFKLEdBQVEsR0FBUixHQUFjLEVBQWYsSUFBcUJWLFlBQVksQ0FBQ1UsQ0FBRCxDQUFuRDs7QUFDQSxZQUFJRCxjQUFjLENBQUNHLE9BQWYsQ0FBdUIsR0FBdkIsSUFBOEIsQ0FBQyxDQUFuQyxFQUFzQztBQUNyQ1osVUFBQUEsWUFBWSxHQUFHLENBQUMsc0JBQUQsRUFBeUJTLGNBQXpCLEVBQXlDSSxNQUF6QyxDQUFnRGIsWUFBWSxDQUFDYyxLQUFiLENBQW1CSixDQUFDLEdBQUcsQ0FBdkIsQ0FBaEQsQ0FBZjtBQUNBO0FBQ0E7QUFDRDtBQUNEOztBQUNESyxJQUFBQSxVQUFVLENBQUNDLEdBQVgsQ0FBZWhCLFlBQWYsRUFBNkJILGNBQWMsQ0FBQ0ksYUFBNUMsRUFBMkRMLFlBQTNEO0FBRUEsV0FBT1IsUUFBUDtBQUNBIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqICR7Y29weXJpZ2h0fVxuICovXG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5cbmV4cG9ydCB0eXBlIENoYW5nZSA9IHtcblx0Z2V0Q29udGVudCgpOiBDaGFuZ2VDb250ZW50O1xufTtcblxudHlwZSBDaGFuZ2VDb250ZW50ID0ge1xuXHRwYWdlOiBzdHJpbmc7IC8vIElEIG9mIHRoZSBwYWdlIHRvIGJlIGNoYW5nZWRcblx0ZW50aXR5UHJvcGVydHlDaGFuZ2U6IEVudGl0eVByb3BlcnR5Q2hhbmdlO1xufTtcblxudHlwZSBFbnRpdHlQcm9wZXJ0eUNoYW5nZSA9IHtcblx0cHJvcGVydHlQYXRoOiBzdHJpbmc7IC8vIHBhdGggdG8gdGhlIHByb3BlcnR5IHRvIGJlIGNoYW5nZWRcblx0b3BlcmF0aW9uOiBzdHJpbmc7IC8vIG9ubHkgVVBTRVJUIHN1cHBvcnRlZFxuXHRwcm9wZXJ0eVZhbHVlOiBzdHJpbmcgfCBPYmplY3Q7IC8vd2hhdCB0byBiZSBjaGFuZ2VkXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlDaGFuZ2UobWFuaWZlc3Q6IGFueSwgY2hhbmdlOiBDaGFuZ2UpOiBhbnkge1xuXHRjb25zdCBjaGFuZ2VDb250ZW50ID0gY2hhbmdlLmdldENvbnRlbnQoKTtcblx0Y29uc3QgcGFnZUlEID0gY2hhbmdlQ29udGVudD8ucGFnZTtcblx0Y29uc3QgdGFyZ2V0cyA9IG1hbmlmZXN0W1wic2FwLnVpNVwiXT8ucm91dGluZz8udGFyZ2V0cyB8fCB7fTtcblx0bGV0IHBhZ2VTZXR0aW5ncztcblx0Y29uc3QgcHJvcGVydHlDaGFuZ2UgPSBjaGFuZ2VDb250ZW50Py5lbnRpdHlQcm9wZXJ0eUNoYW5nZTtcblxuXHQvLyByZXR1cm4gdW5tb2RpZmllZCBtYW5pZmVzdCBpbiBjYXNlIGNoYW5nZSBub3QgdmFsaWRcblx0aWYgKFxuXHRcdHByb3BlcnR5Q2hhbmdlPy5vcGVyYXRpb24gIT09IFwiVVBTRVJUXCIgfHxcblx0XHQhcHJvcGVydHlDaGFuZ2U/LnByb3BlcnR5UGF0aCB8fFxuXHRcdCFwcm9wZXJ0eUNoYW5nZT8ucHJvcGVydHlWYWx1ZSB8fFxuXHRcdHByb3BlcnR5Q2hhbmdlPy5wcm9wZXJ0eVBhdGguc3RhcnRzV2l0aChcIi9cIilcblx0KSB7XG5cdFx0cmV0dXJuIG1hbmlmZXN0O1xuXHR9XG5cblx0Zm9yIChjb25zdCBwIGluIHRhcmdldHMpIHtcblx0XHRpZiAodGFyZ2V0c1twXS5pZCA9PT0gcGFnZUlEKSB7XG5cdFx0XHRpZiAodGFyZ2V0c1twXS5uYW1lPy5zdGFydHNXaXRoKFwic2FwLmZlLnRlbXBsYXRlcy5cIikpIHtcblx0XHRcdFx0cGFnZVNldHRpbmdzID0gdGFyZ2V0c1twXT8ub3B0aW9ucz8uc2V0dGluZ3MgfHwge307XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGlmICghcGFnZVNldHRpbmdzKSB7XG5cdFx0cmV0dXJuIG1hbmlmZXN0O1xuXHR9XG5cblx0bGV0IHByb3BlcnR5UGF0aCA9IHByb3BlcnR5Q2hhbmdlLnByb3BlcnR5UGF0aC5zcGxpdChcIi9cIik7XG5cdGlmIChwcm9wZXJ0eVBhdGhbMF0gPT09IFwiY29udHJvbENvbmZpZ3VyYXRpb25cIikge1xuXHRcdGxldCBhbm5vdGF0aW9uUGF0aCA9IFwiXCI7XG5cdFx0Ly8gdGhlIGFubm90YXRpb24gcGF0aCBpbiB0aGUgY29udHJvbCBjb25maWd1cmF0aW9uIGhhcyB0byBzdGF5IHRvZ2V0aGVyLiBGb3Igbm93IHJlbHkgb24gdGhlIGZhY3QgdGhlIEAgaXMgaW4gdGhlIGxhc3QgcGFydFxuXHRcdGZvciAobGV0IGkgPSAxOyBpIDwgcHJvcGVydHlQYXRoLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRhbm5vdGF0aW9uUGF0aCArPSAoaSA+IDEgPyBcIi9cIiA6IFwiXCIpICsgcHJvcGVydHlQYXRoW2ldO1xuXHRcdFx0aWYgKGFubm90YXRpb25QYXRoLmluZGV4T2YoXCJAXCIpID4gLTEpIHtcblx0XHRcdFx0cHJvcGVydHlQYXRoID0gW1wiY29udHJvbENvbmZpZ3VyYXRpb25cIiwgYW5ub3RhdGlvblBhdGhdLmNvbmNhdChwcm9wZXJ0eVBhdGguc2xpY2UoaSArIDEpKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdE9iamVjdFBhdGguc2V0KHByb3BlcnR5UGF0aCwgcHJvcGVydHlDaGFuZ2UucHJvcGVydHlWYWx1ZSwgcGFnZVNldHRpbmdzKTtcblxuXHRyZXR1cm4gbWFuaWZlc3Q7XG59XG4iXX0=
@@ -0,0 +1,66 @@
1
+ /*!
2
+ * ${copyright}
3
+ */
4
+ import ObjectPath from "sap/base/util/ObjectPath";
5
+
6
+ export type Change = {
7
+ getContent(): ChangeContent;
8
+ };
9
+
10
+ type ChangeContent = {
11
+ page: string; // ID of the page to be changed
12
+ entityPropertyChange: EntityPropertyChange;
13
+ };
14
+
15
+ type EntityPropertyChange = {
16
+ propertyPath: string; // path to the property to be changed
17
+ operation: string; // only UPSERT supported
18
+ propertyValue: string | Object; //what to be changed
19
+ };
20
+
21
+ export function applyChange(manifest: any, change: Change): any {
22
+ const changeContent = change.getContent();
23
+ const pageID = changeContent?.page;
24
+ const targets = manifest["sap.ui5"]?.routing?.targets || {};
25
+ let pageSettings;
26
+ const propertyChange = changeContent?.entityPropertyChange;
27
+
28
+ // return unmodified manifest in case change not valid
29
+ if (
30
+ propertyChange?.operation !== "UPSERT" ||
31
+ !propertyChange?.propertyPath ||
32
+ !propertyChange?.propertyValue ||
33
+ propertyChange?.propertyPath.startsWith("/")
34
+ ) {
35
+ return manifest;
36
+ }
37
+
38
+ for (const p in targets) {
39
+ if (targets[p].id === pageID) {
40
+ if (targets[p].name?.startsWith("sap.fe.templates.")) {
41
+ pageSettings = targets[p]?.options?.settings || {};
42
+ break;
43
+ }
44
+ }
45
+ }
46
+
47
+ if (!pageSettings) {
48
+ return manifest;
49
+ }
50
+
51
+ let propertyPath = propertyChange.propertyPath.split("/");
52
+ if (propertyPath[0] === "controlConfiguration") {
53
+ let annotationPath = "";
54
+ // the annotation path in the control configuration has to stay together. For now rely on the fact the @ is in the last part
55
+ for (let i = 1; i < propertyPath.length; i++) {
56
+ annotationPath += (i > 1 ? "/" : "") + propertyPath[i];
57
+ if (annotationPath.indexOf("@") > -1) {
58
+ propertyPath = ["controlConfiguration", annotationPath].concat(propertyPath.slice(i + 1));
59
+ break;
60
+ }
61
+ }
62
+ }
63
+ ObjectPath.set(propertyPath, propertyChange.propertyValue, pageSettings);
64
+
65
+ return manifest;
66
+ }
@@ -43,7 +43,7 @@ C_TO=To
43
43
  C_APP_COMPONENT_SAPFE_APPSTART_TECHNICAL_ISSUES=Application could not be started due to technical issues.
44
44
 
45
45
  # YMSG, ETAG Technical Error
46
- C_APP_COMPONENT_SAPFE_ETAG_TECHNICAL_ISSUES=Your changes could not be saved. Refresh the data to work with the most recent version.
46
+ C_APP_COMPONENT_SAPFE_ETAG_TECHNICAL_ISSUES=Your changes could not be saved. Refresh the data to work with the most recent version.
47
47
 
48
48
  # YMSG, ETAG Error with Late Property
49
49
  C_APP_COMPONENT_SAPFE_ETAG_LATE_PROPERTY=This action may not work. Refresh the data to work with the most recent version.
@@ -80,6 +80,9 @@ ST_DRAFT_DATALOSS_DISCARD_DRAFT_BTN=Discard Draft
80
80
  # XBUT,30
81
81
  CANCEL=Cancel
82
82
 
83
+ # XMSG,30
84
+ WARNING=Warning
85
+
83
86
  # YMSG, 100: Used in the message box after pressing the edit button of a locked object.
84
87
  C_DRAFT_OBJECT_PAGE_DRAFT_LOCKED_BY_USER=You can\'t edit this object at the moment \nIt is locked by {0}
85
88
 
@@ -131,6 +134,12 @@ T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_GENERAL=General
131
134
  # XFLD,30: Text for table denominator in the message of the group title in message-popover
132
135
  T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=Table
133
136
 
137
+ # XFLD,10: Text for table Row in the message description in message-popover
138
+ T_MESSAGE_GROUP_DESCRIPTION_TABLE_ROW=Row
139
+
140
+ # XFLD,10: Text for table Column in the message description in message-popover
141
+ T_MESSAGE_GROUP_DESCRIPTION_TABLE_COLUMN=Column
142
+
134
143
  # XFLD,30: Text for prefix for the group name of the message from action in message-popover
135
144
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=Last Action
136
145
 
@@ -140,9 +149,21 @@ T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<New>
140
149
  # XFLD,30: Text to be displayed when the row/column indicator is not computed in the message subtitle in message-popover
141
150
  T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=Unknown
142
151
 
143
- # XFLD,10: Text to be displayed if the column is not part of table settings
152
+ # XFLD: Text to be displayed if the column is not part of table settings
144
153
  T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=Hidden
145
154
 
155
+ # XFLD,20: Text to be displayed in message description based on column availability in case of error
156
+ T_COLUMN_AVAILABLE_DIAGNOSIS_MSGDESC_ERROR=The field causing the error is on the linked page
157
+
158
+ # XFLD,20: Fields Affected Title text
159
+ T_FIELDS_AFFECTED_TITLE=Field Affected
160
+
161
+ # XFLD,20: Diagnosis Title text
162
+ T_DIAGNOSIS_TITLE=Diagnosis
163
+
164
+ # XFLD,20: Text to be displayed in message description based on column availability in case of message types other than error
165
+ T_COLUMN_AVAILABLE_DIAGNOSIS_MSGDESC=The underlying field is on the linked page
166
+
146
167
  # XFLD,50: Text in the message subtitle in message-popover. Parameters: {0}= row indicator, {1}= column indicator.
147
168
  T_MESSAGE_ITEM_SUBTITLE=Row: {0}, Column: {1}
148
169
 
@@ -162,10 +183,10 @@ C_MESSAGE_HANDLING_SAPFE_503_ERROR = We expect it to be available again on {0}.
162
183
 
163
184
  C_MESSAGE_HANDLING_SAPFE_503_ERROR_DAY = We expect it to be available again at {0}.
164
185
 
165
- C_MESSAGE_HANDLING_SAPFE_503_ERROR_YEAR = We expect it to be available again on {0}.
166
-
167
186
  C_MESSAGE_HANDLING_SAPFE_503_ERROR_NO_RETRY_AFTER = Please try again later.
168
187
 
188
+ C_MESSAGE_HANDLING_SAPFE_503_BACKEND_PREFIX =Source message:
189
+
169
190
  # XTIT, 24: Title text of Error Message Box
170
191
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=Error
171
192
 
@@ -386,14 +407,6 @@ C_PASTE_HELPER_SAPFE_PASTE_ERROR_CORRECTION_NOTE=(Note: The row/column refers to
386
407
  # YMSG, 240 : Error message on trying to paste when creation is not allowed.
387
408
  T_OP_CONTROLLER_SAPFE_PASTE_DISABLED_MESSAGE=You can\'t use the paste function to create new entries.
388
409
 
389
- #------------Texts for field wrapper control-----------------
390
-
391
- #XMSG: Empty field: this is the aria description that screen readers can access when a field has no value
392
- T_FIELDWRAPPER_NO_VALUE=No value
393
-
394
- #XMSG: Empty indicator for field: this is the character that is displayed when a text field has no value in a Form
395
- T_FIELDWRAPPER_EMPTY_INDICATOR=\u2013
396
-
397
410
  #-------------Intent Based Navigation Messages -------------------------
398
411
  # XTIT,70
399
412
  C_COMMON_NAVIGATION_ERROR_TITLE=Error
@@ -457,4 +470,39 @@ C_KPICARD_FILTERSTRING_NOT=not {0}
457
470
  C_KPICARD_ITEMSLIST={0} and {1}
458
471
 
459
472
  XMSG: Title of the chart in the KPI card : <measures> by <dimensions>
460
- C_KPICARD_CHARTTITLE={0} by {1}
473
+ C_KPICARD_CHARTTITLE={0} by {1}
474
+
475
+ #------------Mass Edit texts-----------------------
476
+
477
+ # XTIT,50: Title of the mass edit dialog
478
+ C_MASS_EDIT_DIALOG_TITLE=Edit ({0})
479
+
480
+ # XBUT,30: Text for the save button in the mass edit dialog
481
+ C_MASS_EDIT_SAVE_BUTTON_TEXT=Save
482
+
483
+ # XBUT,30: Text for the apply button in the mass edit dialog
484
+ C_MASS_EDIT_APPLY_BUTTON_TEXT=Apply
485
+
486
+ # XBUT,30: Text for the cancel button in the mass edit dialog
487
+ C_MASS_EDIT_CANCEL_BUTTON_TEXT=Cancel
488
+
489
+ #XMSG: Message to confirm non-editable contexts
490
+ C_MASS_EDIT_CONFIRM_MESSAGE={0} of {1} products can''t be edited.\nDo you want to edit the remaining {2} products?
491
+
492
+ #XMSG: Message to confirm non-editable contexts detail header
493
+ C_MASS_EDIT_CONFIRM_MESSAGE_DETAIL_HEADER=Possible Causes
494
+
495
+ #XMSG: Message details cause grouping text
496
+ C_MASS_EDIT_CONFIRM_MESSAGE_DETAIL_REASON=Selected products are excluded if:
497
+
498
+ #XMSG: Message details cause for draft products to confirm non-editable contexts
499
+ C_MASS_EDIT_CONFIRM_MESSAGE_DETAIL_REASON_DRAFT=Somebody is working on the product (a draft exists or changes haven't been saved).
500
+
501
+ #XMSG: Message details cause for non-editable products to confirm non-editable contexts.
502
+ C_MASS_EDIT_CONFIRM_MESSAGE_DETAIL_REASON_NON_EDITABLE=Editing isn't allowed for the product.
503
+
504
+ # XBUT,30: Text for Confirm Mass Edit.
505
+ C_MASS_EDIT_CONFIRM_BUTTON_TEXT=Edit
506
+
507
+ # XBUT,30: Text for the cancel Mass Edit.
508
+ C_MASS_EDIT_CANCEL_BUTTON_TEXT=Cancel
@@ -51,6 +51,8 @@ ST_DRAFT_DATALOSS_DISCARD_DRAFT_BTN=\u062A\u062C\u0627\u0647\u0644 \u0627\u0644\
51
51
 
52
52
  CANCEL=\u0625\u0644\u063A\u0627\u0621
53
53
 
54
+ WARNING=\u062A\u062D\u0630\u064A\u0631
55
+
54
56
  C_DRAFT_OBJECT_PAGE_DRAFT_LOCKED_BY_USER=\u0644\u0627 \u064A\u0645\u0643\u0646\u0643 \u062A\u062D\u0631\u064A\u0631 \u0647\u0630\u0627 \u0627\u0644\u0643\u0627\u0626\u0646 \u0641\u064A \u0627\u0644\u0648\u0642\u062A \u0627\u0644\u062D\u0627\u0644\u064A \n\u0645\u0624\u0645\u0646 \u0628\u0648\u0627\u0633\u0637\u0629 {0}
55
57
 
56
58
 
@@ -84,6 +86,10 @@ T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_GENERAL=\u0639\u0627\u0645
84
86
 
85
87
  T_MESSAGE_GROUP_TITLE_TABLE_DENOMINATOR=\u0627\u0644\u062C\u062F\u0648\u0644
86
88
 
89
+ T_MESSAGE_GROUP_DESCRIPTION_TABLE_ROW=\u0627\u0644\u0635\u0641
90
+
91
+ T_MESSAGE_GROUP_DESCRIPTION_TABLE_COLUMN=\u0627\u0644\u0639\u0645\u0648\u062F
92
+
87
93
  T_MESSAGE_BUTTON_SAPFE_MESSAGE_GROUP_LAST_ACTION=\u0622\u062E\u0631 \u0625\u062C\u0631\u0627\u0621
88
94
 
89
95
  T_MESSAGE_ITEM_SUBTITLE_CREATION_ROW_INDICATOR=<\u062C\u062F\u064A\u062F>
@@ -92,15 +98,31 @@ T_MESSAGE_ITEM_SUBTITLE_INDICATOR_UNKNOWN=\u063A\u064A\u0631 \u0645\u0639\u0631\
92
98
 
93
99
  T_COLUMN_INDICATOR_IN_TABLE_DEFINITION=\u0645\u062E\u0641\u0649
94
100
 
101
+ T_COLUMN_AVAILABLE_DIAGNOSIS_MSGDESC_ERROR=\u062D\u0642\u0644 \u062E\u0637\u0623 \u0628\u0635\u0641\u062D\u0629\u0645\u0631\u062A\u0628\u0637\u0629
102
+
103
+ T_FIELDS_AFFECTED_TITLE=\u0627\u0644\u062D\u0642\u0644 \u0627\u0644\u0645\u062A\u0623\u062B\u0631
104
+
105
+ T_DIAGNOSIS_TITLE=\u0627\u0644\u062A\u0634\u062E\u064A\u0635
106
+
107
+ T_COLUMN_AVAILABLE_DIAGNOSIS_MSGDESC=\u062D\u0642\u0644 \u0623\u0633\u0627\u0633\u064A \u0635\u0641\u062D\u0629\u0645\u0631\u062A\u0628\u0637\u0629
108
+
95
109
  T_MESSAGE_ITEM_SUBTITLE=\u0627\u0644\u0635\u0641 {0}\u060C \u0627\u0644\u0639\u0645\u0648\u062F \: {1}
96
110
 
97
111
  C_COMMON_SAPFE_ERROR=\u062E\u0637\u0623
98
112
 
99
113
  C_MESSAGE_HANDLING_SAPFE_ERROR_MESSAGES_PAGE_TITLE=\u0627\u0644\u0631\u0633\u0627\u0626\u0644
100
114
 
101
- C_MESSAGE_HANDLING_SAPFE_503_TITLE=Sorry, this service is temporarily unavailable.
115
+ C_MESSAGE_HANDLING_SAPFE_503_TITLE=\u0639\u0630\u0631\u064B\u0627\u060C\u062E\u062F\u0645\u0629\u063A\u064A\u0631\u0645\u062A\u0648\u0641\u0631\u0629\u0645\u0624\u0642\u062A.
116
+
117
+ C_MESSAGE_HANDLING_SAPFE_503_DESC=\u062D\u0627\u0648\u0644 \u062B\u0627\u0646\u064A\u0629\u0628\u0639\u062F \u062F\u0642\u0627\u0626\u0642.
102
118
 
103
- C_MESSAGE_HANDLING_SAPFE_503_Description=Please try {0}.
119
+ C_MESSAGE_HANDLING_SAPFE_503_ERROR=\u0646\u062A\u0648\u0642\u0639 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u062A\u0648\u0641\u0631\u064B\u0627 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649 \u0641\u064A {0}.
120
+
121
+ C_MESSAGE_HANDLING_SAPFE_503_ERROR_DAY=\u0646\u062A\u0648\u0642\u0639 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u062A\u0648\u0641\u0631\u064B\u0627 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649 \u0641\u064A {0}.
122
+
123
+ C_MESSAGE_HANDLING_SAPFE_503_ERROR_NO_RETRY_AFTER=\u0627\u0644\u0631\u062C\u0627\u0621 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649 \u0644\u0627\u062D\u0642\u064B\u0627.
124
+
125
+ C_MESSAGE_HANDLING_SAPFE_503_BACKEND_PREFIX=\u0631\u0633\u0627\u0644\u0629 \u0627\u0644\u0645\u0635\u062F\u0631\:
104
126
 
105
127
  C_COMMON_SAPFE_ERROR_MESSAGES_PAGE_TITLE_ERROR=\u062E\u0637\u0623
106
128
 
@@ -295,3 +317,12 @@ C_KPICARD_ITEMSLIST={0} \u0648{1}
295
317
 
296
318
  XMSG=\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u062E\u0637\u0637 \u0641\u064A \u0628\u0637\u0627\u0642\u0629 \u0645\u0624\u0634\u0631 \u0627\u0644\u0623\u062F\u0627\u0621 \u0627\u0644\u0623\u0633\u0627\u0633\u064A\: <measures> \u062D\u0633\u0628 <dimensions>
297
319
  C_KPICARD_CHARTTITLE={0} \u062D\u0633\u0628 {1}
320
+
321
+
322
+ C_MASS_EDIT_DIALOG_TITLE=\u062A\u062D\u0631\u064A\u0631 \u0634\u0627\u0645\u0644 ({0})
323
+
324
+ C_MASS_EDIT_SAVE_BUTTON_TEXT=\u062D\u0641\u0638
325
+
326
+ C_MASS_EDIT_APPLY_BUTTON_TEXT=\u062A\u0637\u0628\u064A\u0642
327
+
328
+ C_MASS_EDIT_CANCEL_BUTTON_TEXT=\u0625\u0644\u063A\u0627\u0621