@sapui5/sap.fe.core 1.103.0 → 1.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/package.json +5 -5
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/ActionRuntime.js +121 -0
  4. package/src/sap/fe/core/ActionRuntime.ts +122 -0
  5. package/src/sap/fe/core/AppComponent.js +24 -11
  6. package/src/sap/fe/core/AppComponent.ts +17 -5
  7. package/src/sap/fe/core/AppStateHandler.js +74 -62
  8. package/src/sap/fe/core/AppStateHandler.ts +24 -29
  9. package/src/sap/fe/core/BaseController.js +2 -2
  10. package/src/sap/fe/core/CommonUtils.js +147 -180
  11. package/src/sap/fe/core/CommonUtils.ts +166 -193
  12. package/src/sap/fe/core/ExtensionAPI.js +2 -2
  13. package/src/sap/fe/core/PageController.js +2 -2
  14. package/src/sap/fe/core/TemplateComponent.js +21 -10
  15. package/src/sap/fe/core/TemplateComponent.ts +3 -0
  16. package/src/sap/fe/core/TemplateModel.js +2 -2
  17. package/src/sap/fe/core/buildingBlocks/AttributeModel.js +11 -3
  18. package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +7 -1
  19. package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +194 -43
  20. package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +162 -24
  21. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +14 -0
  22. package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.ts +5 -0
  23. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +609 -227
  24. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +268 -119
  25. package/src/sap/fe/core/buildingBlocks/TraceInfo.js +111 -76
  26. package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +96 -76
  27. package/src/sap/fe/core/controllerextensions/BusyLocker.js +1 -1
  28. package/src/sap/fe/core/controllerextensions/EditFlow.js +723 -637
  29. package/src/sap/fe/core/controllerextensions/EditFlow.ts +361 -398
  30. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +2 -2
  31. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +83 -55
  32. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +42 -44
  33. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +29 -27
  34. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +35 -30
  35. package/src/sap/fe/core/controllerextensions/InternalRouting.js +171 -74
  36. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +167 -76
  37. package/src/sap/fe/core/controllerextensions/KPIManagement.js +5 -21
  38. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -17
  39. package/src/sap/fe/core/controllerextensions/MassEdit.js +3 -3
  40. package/src/sap/fe/core/controllerextensions/MassEdit.ts +1 -1
  41. package/src/sap/fe/core/controllerextensions/MessageHandler.js +2 -2
  42. package/src/sap/fe/core/controllerextensions/PageReady.js +3 -3
  43. package/src/sap/fe/core/controllerextensions/PageReady.ts +5 -1
  44. package/src/sap/fe/core/controllerextensions/Paginator.js +13 -13
  45. package/src/sap/fe/core/controllerextensions/Paginator.ts +11 -11
  46. package/src/sap/fe/core/controllerextensions/Placeholder.js +2 -2
  47. package/src/sap/fe/core/controllerextensions/Routing.js +2 -2
  48. package/src/sap/fe/core/controllerextensions/RoutingListener.js +1 -1
  49. package/src/sap/fe/core/controllerextensions/Share.js +154 -123
  50. package/src/sap/fe/core/controllerextensions/Share.ts +93 -95
  51. package/src/sap/fe/core/controllerextensions/SideEffects.js +157 -97
  52. package/src/sap/fe/core/controllerextensions/SideEffects.ts +151 -95
  53. package/src/sap/fe/core/controllerextensions/ViewState.js +151 -80
  54. package/src/sap/fe/core/controllerextensions/ViewState.ts +95 -93
  55. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
  56. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +9 -9
  57. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +6 -7
  58. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +26 -11
  59. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +30 -11
  60. package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +57 -40
  61. package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +55 -47
  62. package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +31 -32
  63. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1376 -914
  64. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +654 -714
  65. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +372 -326
  66. package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +210 -276
  67. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +309 -0
  68. package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +320 -0
  69. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +670 -521
  70. package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +537 -535
  71. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +85 -65
  72. package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +16 -21
  73. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +25 -13
  74. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +53 -43
  75. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +18 -27
  76. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +9 -15
  77. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +19 -3
  78. package/src/sap/fe/core/controls/ActionParameterDialogFieldValueHelp.fragment.xml +35 -0
  79. package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +26 -16
  80. package/src/sap/fe/core/controls/Any.js +1 -1
  81. package/src/sap/fe/core/controls/CommandExecution.js +2 -2
  82. package/src/sap/fe/core/controls/ConditionalWrapper.js +2 -2
  83. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +5 -5
  84. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -3
  85. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -2
  86. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
  87. package/src/sap/fe/core/controls/FieldWrapper.js +2 -2
  88. package/src/sap/fe/core/controls/FileWrapper.js +8 -3
  89. package/src/sap/fe/core/controls/FileWrapper.ts +5 -1
  90. package/src/sap/fe/core/controls/FilterBar.js +2 -2
  91. package/src/sap/fe/core/controls/FormElementWrapper.js +2 -2
  92. package/src/sap/fe/core/controls/MassEditSelect.js +1 -1
  93. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -1
  94. package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +48 -17
  95. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -2
  96. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +2 -2
  97. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +2 -2
  98. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -3
  99. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +2 -2
  100. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +22 -35
  101. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +2 -2
  102. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +1 -1
  103. package/src/sap/fe/core/converters/ConverterContext.js +23 -2
  104. package/src/sap/fe/core/converters/ConverterContext.ts +34 -9
  105. package/src/sap/fe/core/converters/ManifestSettings.js +19 -18
  106. package/src/sap/fe/core/converters/ManifestSettings.ts +53 -47
  107. package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
  108. package/src/sap/fe/core/converters/MetaModelConverter.js +32 -10
  109. package/src/sap/fe/core/converters/MetaModelConverter.ts +42 -19
  110. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  111. package/src/sap/fe/core/converters/annotations/DataField.js +5 -2
  112. package/src/sap/fe/core/converters/annotations/DataField.ts +5 -1
  113. package/src/sap/fe/core/converters/common/AnnotationConverter.js +69 -23
  114. package/src/sap/fe/core/converters/controls/Common/Action.js +98 -51
  115. package/src/sap/fe/core/converters/controls/Common/Action.ts +121 -44
  116. package/src/sap/fe/core/converters/controls/Common/Chart.js +31 -34
  117. package/src/sap/fe/core/converters/controls/Common/Chart.ts +26 -34
  118. package/src/sap/fe/core/converters/controls/Common/Criticality.js +1 -1
  119. package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +43 -7
  120. package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +60 -33
  121. package/src/sap/fe/core/converters/controls/Common/Form.js +8 -6
  122. package/src/sap/fe/core/converters/controls/Common/Form.ts +11 -14
  123. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  124. package/src/sap/fe/core/converters/controls/Common/KPI.ts +16 -15
  125. package/src/sap/fe/core/converters/controls/Common/Table.js +188 -157
  126. package/src/sap/fe/core/converters/controls/Common/Table.ts +279 -230
  127. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
  128. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +4 -4
  129. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +57 -21
  130. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +71 -18
  131. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +30 -8
  132. package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +24 -7
  133. package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +1 -1
  134. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +43 -34
  135. package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +37 -25
  136. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +85 -49
  137. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +74 -50
  138. package/src/sap/fe/core/converters/helpers/Aggregation.js +54 -4
  139. package/src/sap/fe/core/converters/helpers/Aggregation.ts +56 -8
  140. package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
  141. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +6 -4
  142. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +10 -2
  143. package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +182 -0
  144. package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +167 -0
  145. package/src/sap/fe/core/converters/helpers/ID.js +3 -1
  146. package/src/sap/fe/core/converters/helpers/ID.ts +1 -0
  147. package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
  148. package/src/sap/fe/core/converters/helpers/Key.js +1 -1
  149. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +1 -1
  150. package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.ts +2 -3
  151. package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +1 -1
  152. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +8 -14
  153. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +6 -9
  154. package/src/sap/fe/core/converters/templates/ListReportConverter.js +31 -31
  155. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +54 -47
  156. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +44 -15
  157. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +64 -30
  158. package/src/sap/fe/core/designtime/AppComponent.designtime.js +1 -1
  159. package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
  160. package/src/sap/fe/core/formatters/FPMFormatter.js +1 -1
  161. package/src/sap/fe/core/formatters/KPIFormatter.js +1 -1
  162. package/src/sap/fe/core/formatters/StandardFormatter.js +13 -6
  163. package/src/sap/fe/core/formatters/StandardFormatter.ts +20 -14
  164. package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
  165. package/src/sap/fe/core/formatters/TableFormatterTypes.js +1 -1
  166. package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
  167. package/src/sap/fe/core/fpm/Component.js +33 -7
  168. package/src/sap/fe/core/fpm/Component.ts +14 -0
  169. package/src/sap/fe/core/helpers/AnnotationEnum.js +1 -1
  170. package/src/sap/fe/core/helpers/AppStartupHelper.js +5 -4
  171. package/src/sap/fe/core/helpers/AppStartupHelper.ts +4 -3
  172. package/src/sap/fe/core/helpers/BindingToolkit.js +56 -24
  173. package/src/sap/fe/core/helpers/BindingToolkit.ts +67 -21
  174. package/src/sap/fe/core/helpers/ClassSupport.js +31 -3
  175. package/src/sap/fe/core/helpers/ClassSupport.ts +24 -1
  176. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +1 -1
  177. package/src/sap/fe/core/helpers/EditState.js +1 -1
  178. package/src/sap/fe/core/helpers/ExcelFormatHelper.js +1 -1
  179. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  180. package/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
  181. package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +1 -1
  182. package/src/sap/fe/core/helpers/LoaderUtils.js +39 -0
  183. package/src/sap/fe/core/helpers/LoaderUtils.ts +14 -0
  184. package/src/sap/fe/core/helpers/MassEditHelper.js +475 -99
  185. package/src/sap/fe/core/helpers/MassEditHelper.ts +468 -155
  186. package/src/sap/fe/core/helpers/MessageStrip.js +81 -0
  187. package/src/sap/fe/core/helpers/MessageStrip.ts +79 -0
  188. package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  189. package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
  190. package/src/sap/fe/core/helpers/SemanticDateOperators.js +82 -36
  191. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +52 -36
  192. package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
  193. package/src/sap/fe/core/helpers/SideEffectsHelper.js +146 -0
  194. package/src/sap/fe/core/helpers/SideEffectsHelper.ts +128 -0
  195. package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
  196. package/src/sap/fe/core/helpers/Synchronization.js +1 -1
  197. package/src/sap/fe/core/helpers/ToES6Promise.js +32 -0
  198. package/src/sap/fe/core/helpers/ToES6Promise.ts +19 -0
  199. package/src/sap/fe/core/jsx-runtime/Fragment.js +16 -0
  200. package/src/sap/fe/core/jsx-runtime/Fragment.ts +3 -0
  201. package/src/sap/fe/core/jsx-runtime/ViewLoader.js +109 -0
  202. package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +47 -0
  203. package/src/sap/fe/core/jsx-runtime/jsx-control.js +119 -0
  204. package/src/sap/fe/core/jsx-runtime/jsx-control.ts +98 -0
  205. package/src/sap/fe/core/jsx-runtime/jsx-xml.js +105 -0
  206. package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +89 -0
  207. package/src/sap/fe/core/jsx-runtime/jsx.js +12 -90
  208. package/src/sap/fe/core/jsx-runtime/jsx.ts +24 -85
  209. package/src/sap/fe/core/jsx-runtime/jsxs.js +1 -1
  210. package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +179 -0
  211. package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +150 -0
  212. package/src/sap/fe/core/library.js +2 -2
  213. package/src/sap/fe/core/library.support.js +1 -1
  214. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
  215. package/src/sap/fe/core/messagebundle.properties +4 -41
  216. package/src/sap/fe/core/messagebundle_ar.properties +22 -45
  217. package/src/sap/fe/core/messagebundle_bg.properties +22 -45
  218. package/src/sap/fe/core/messagebundle_ca.properties +22 -45
  219. package/src/sap/fe/core/messagebundle_cs.properties +22 -45
  220. package/src/sap/fe/core/messagebundle_cy.properties +21 -44
  221. package/src/sap/fe/core/messagebundle_da.properties +22 -45
  222. package/src/sap/fe/core/messagebundle_de.properties +22 -45
  223. package/src/sap/fe/core/messagebundle_el.properties +22 -45
  224. package/src/sap/fe/core/messagebundle_en.properties +21 -44
  225. package/src/sap/fe/core/messagebundle_en_GB.properties +21 -44
  226. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +21 -42
  227. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +20 -40
  228. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +21 -42
  229. package/src/sap/fe/core/messagebundle_es.properties +22 -45
  230. package/src/sap/fe/core/messagebundle_es_MX.properties +22 -45
  231. package/src/sap/fe/core/messagebundle_et.properties +22 -45
  232. package/src/sap/fe/core/messagebundle_fi.properties +22 -45
  233. package/src/sap/fe/core/messagebundle_fr.properties +21 -44
  234. package/src/sap/fe/core/messagebundle_fr_CA.properties +20 -43
  235. package/src/sap/fe/core/messagebundle_hi.properties +22 -45
  236. package/src/sap/fe/core/messagebundle_hr.properties +22 -45
  237. package/src/sap/fe/core/messagebundle_hu.properties +22 -45
  238. package/src/sap/fe/core/messagebundle_id.properties +22 -45
  239. package/src/sap/fe/core/messagebundle_it.properties +22 -45
  240. package/src/sap/fe/core/messagebundle_iw.properties +22 -45
  241. package/src/sap/fe/core/messagebundle_ja.properties +22 -45
  242. package/src/sap/fe/core/messagebundle_kk.properties +22 -45
  243. package/src/sap/fe/core/messagebundle_ko.properties +27 -50
  244. package/src/sap/fe/core/messagebundle_lt.properties +22 -45
  245. package/src/sap/fe/core/messagebundle_lv.properties +22 -45
  246. package/src/sap/fe/core/messagebundle_ms.properties +22 -45
  247. package/src/sap/fe/core/messagebundle_nl.properties +24 -47
  248. package/src/sap/fe/core/messagebundle_no.properties +22 -45
  249. package/src/sap/fe/core/messagebundle_pl.properties +23 -46
  250. package/src/sap/fe/core/messagebundle_pt.properties +23 -46
  251. package/src/sap/fe/core/messagebundle_pt_PT.properties +22 -45
  252. package/src/sap/fe/core/messagebundle_ro.properties +22 -45
  253. package/src/sap/fe/core/messagebundle_ru.properties +22 -45
  254. package/src/sap/fe/core/messagebundle_sh.properties +22 -45
  255. package/src/sap/fe/core/messagebundle_sk.properties +22 -45
  256. package/src/sap/fe/core/messagebundle_sl.properties +22 -45
  257. package/src/sap/fe/core/messagebundle_sv.properties +22 -45
  258. package/src/sap/fe/core/messagebundle_th.properties +20 -43
  259. package/src/sap/fe/core/messagebundle_tr.properties +22 -45
  260. package/src/sap/fe/core/messagebundle_uk.properties +22 -45
  261. package/src/sap/fe/core/messagebundle_vi.properties +22 -45
  262. package/src/sap/fe/core/messagebundle_zh_CN.properties +22 -45
  263. package/src/sap/fe/core/messagebundle_zh_TW.properties +22 -45
  264. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +2 -2
  265. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +102 -74
  266. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +62 -63
  267. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +2 -2
  268. package/src/sap/fe/core/services/NavigationServiceFactory.js +11 -8
  269. package/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -7
  270. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -2
  271. package/src/sap/fe/core/services/RoutingServiceFactory.js +2 -2
  272. package/src/sap/fe/core/services/ShellServicesFactory.js +22 -2
  273. package/src/sap/fe/core/services/ShellServicesFactory.ts +19 -0
  274. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +4 -4
  275. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +2 -2
  276. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +251 -200
  277. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +160 -144
  278. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
  279. package/src/sap/fe/core/support/AnnotationIssue.support.js +1 -1
  280. package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +1 -1
  281. package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +1 -1
  282. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  283. package/src/sap/fe/core/support/Diagnostics.js +1 -1
  284. package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +1 -1
  285. package/src/sap/fe/core/templating/CommonFormatters.js +4 -3
  286. package/src/sap/fe/core/templating/CommonFormatters.ts +5 -1
  287. package/src/sap/fe/core/templating/CriticalityFormatters.js +1 -1
  288. package/src/sap/fe/core/templating/DataFieldFormatters.js +1 -1
  289. package/src/sap/fe/core/templating/DataModelPathHelper.js +8 -1
  290. package/src/sap/fe/core/templating/DataModelPathHelper.ts +5 -2
  291. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  292. package/src/sap/fe/core/templating/EntitySetHelper.js +4 -5
  293. package/src/sap/fe/core/templating/EntitySetHelper.ts +4 -3
  294. package/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
  295. package/src/sap/fe/core/templating/FilterHelper.js +34 -15
  296. package/src/sap/fe/core/templating/FilterHelper.ts +28 -12
  297. package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
  298. package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
  299. package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
  300. package/src/sap/fe/core/templating/UIFormatters.js +5 -3
  301. package/src/sap/fe/core/templating/UIFormatters.ts +7 -5
  302. package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
  303. package/src/sap/fe/core/type/Email.js +2 -2
@@ -11,6 +11,7 @@ import {
11
11
  import type * as DisplayModeFormatter from "sap/fe/core/templating/DisplayModeFormatter";
12
12
  import * as PropertyHelper from "sap/fe/core/templating/PropertyHelper";
13
13
  import * as UIFormatters from "sap/fe/core/templating/UIFormatters";
14
+ import { isReferencePropertyStaticallyHidden } from "../converters/helpers/DataFieldHelper";
14
15
  export type DisplayMode = DisplayModeFormatter.DisplayMode;
15
16
 
16
17
  // Import-export methods related to the common annotations used by the converter to use them in the templating through the Common Formatters.
@@ -82,5 +83,8 @@ export const getBindingWithText = function (targetDataModelPath: DataModelObject
82
83
 
83
84
  propertyBindingExpression = UIFormatters.formatWithTypeInformation(propertyDefinition, propertyBindingExpression, true);
84
85
  const textArrangementBinding = getBindingWithTextArrangement(propertyDataModelPath, propertyBindingExpression);
85
- return compileExpression(textArrangementBinding);
86
+ return ((propertyDefinition.annotations.UI &&
87
+ !isReferencePropertyStaticallyHidden(propertyDefinition.annotations.UI.DataFieldDefault) &&
88
+ compileExpression(textArrangementBinding)) ||
89
+ undefined) as CompiledBindingToolkitExpression;
86
90
  };
@@ -153,4 +153,4 @@ sap.ui.define(["sap/fe/core/helpers/BindingToolkit", "sap/fe/core/templating/Dat
153
153
  _exports.buildExpressionForCriticalityColorMicroChart = buildExpressionForCriticalityColorMicroChart;
154
154
  return _exports;
155
155
  }, false);
156
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNyaXRpY2FsaXR5Rm9ybWF0dGVycy50cyJdLCJuYW1lcyI6WyJidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yIiwib1RhcmdldCIsIm9Qcm9wZXJ0eURhdGFNb2RlbFBhdGgiLCJvQW5ub3RhdGlvblRhcmdldCIsInRhcmdldE9iamVjdCIsIm9Dcml0aWNhbGl0eVByb3BlcnR5IiwiQ3JpdGljYWxpdHkiLCJyZWxhdGl2ZUxvY2F0aW9uIiwiZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24iLCJjb250ZXh0TG9jYXRpb24iLCJuYXZpZ2F0aW9uUHJvcGVydGllcyIsIm1hcCIsIm5wIiwibmFtZSIsInVuZGVmaW5lZCIsIm9Dcml0aWNhbGl0eUV4cHJlc3Npb24iLCJnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24iLCJzVmFsdWVTdGF0ZUV4cHJlc3Npb24iLCJpZkVsc2UiLCJvciIsImVxdWFsIiwiY29uc3RhbnQiLCJjb21waWxlRXhwcmVzc2lvbiIsImJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5SWNvbiIsImJDb25kaXRpb24iLCJDcml0aWNhbGl0eVJlcHJlc2VudGF0aW9uIiwic0ljb25QYXRoIiwiYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlCdXR0b25UeXBlIiwic0J1dHRvblR5cGVFeHByZXNzaW9uIiwiYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQiLCJzQ29sb3JFeHByZXNzaW9uIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1BLGtDQUFrQyxHQUFHLFVBQUNDLE9BQUQsRUFBZUMsc0JBQWYsRUFBbUY7QUFDcEksUUFBTUMsaUJBQWlCLEdBQUdGLE9BQU8sQ0FBQ0csWUFBUixHQUF1QkgsT0FBTyxDQUFDRyxZQUEv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RCxLQUFLLENBQUNMLHNCQUFELEVBQXlCTSxRQUFRLENBQUMsR0FBRCxDQUFqQyxDQUhKLENBREcsRUFNTEEsUUFBUSxDQUFDLE1BQUQsQ0FOSCxFQU9MQSxRQUFRLENBQUMsU0FBRCxDQVBILENBUEQsQ0FQa0IsQ0FBekI7QUF5QkEsS0ExQkQsTUEwQk87QUFDTlMsTUFBQUEsZ0JBQWdCLEdBQUdULFFBQVEsQ0FBQyxTQUFELENBQTNCO0FBQ0E7O0FBQ0QsV0FBT0MsaUJBQWlCLENBQUNRLGdCQUFELENBQXhCO0FBQ0EsR0FuQ00iLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uLCBjb25zdGFudCwgZXF1YWwsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbiwgaWZFbHNlLCBvciB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgdHlwZSB7IERhdGFNb2RlbE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgeyBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbi8qKlxuICogUmV0dXJucyBhbiBleHByZXNzaW9uIHRvIHNldCBidXR0b24gdHlwZSBiYXNlZCBvbiBDcml0aWNhbGl0eVxuICogU3VwcG9ydGVkIENyaXRpY2FsaXR5OiBQb3NpdGl2ZSwgTmVnYXRpdmUsIENyaXRpY2FsIGFuZCBJbmZvcm1hdGlvbiBsZWFkaW5nIHRvIFN1Y2Nlc3MsIEVycm9yLCBXYXJuaW5nIGFuZCBOb25lIHN0YXRlIHJlc3BlY3RpdmVseS5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBzdGF0aWNcbiAqIEBuYW1lIHNhcC5mZS5jb3JlLkNyaXRpY2FsaXR5Rm9ybWF0dGVycy5idWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yXG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuQ3JpdGljYWxpdHlGb3JtYXR0ZXJzXG4gKiBAcGFyYW0gb1RhcmdldCBBIERhdGFGaWVsZCBhIERhdGFQb2ludCBvciBhIERhdGFNb2RlbE9iamVjdFBhdGguXG4gKiBAcGFyYW0gW29Qcm9wZXJ0eURhdGFNb2RlbFBhdGhdIERhdGFNb2RlbE9iamVjdFBhdGguXG4gKiBAcmV0dXJucyBBbiBleHByZXNzaW9uIHRvIGRlZHVjZSB0aGUgc3RhdGUgb2YgYW4gb2JqZWN0U3RhdHVzLlxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5leHBvcnQgY29uc3QgYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlDb2xvciA9IChvVGFyZ2V0OiBhbnksIG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRjb25zdCBvQW5ub3RhdGlvblRhcmdldCA9IG9UYXJnZXQudGFyZ2V0T2JqZWN0ID8gb1RhcmdldC50YXJnZXRPYmplY3QgOiBvVGFyZ2V0O1xuXHRjb25zdCBvQ3JpdGljYWxpdHlQcm9wZXJ0eSA9IG9Bbm5vdGF0aW9uVGFyZ2V0Py5Dcml0aWNhbGl0eTtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGhcblx0XHQ/IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGguY29udGV4dExvY2F0aW9uLCBvUHJvcGVydHlEYXRhTW9kZWxQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzKS5tYXAoKG5wKSA9PiBucC5uYW1lKVxuXHRcdDogdW5kZWZpbmVkO1xuXHRjb25zdCBvQ3JpdGljYWxpdHlFeHByZXNzaW9uOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248c3RyaW5nPiA9IGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvQ3JpdGljYWxpdHlQcm9wZXJ0eSwgcmVsYXRpdmVMb2NhdGlvbik7XG5cdGxldCBzVmFsdWVTdGF0ZUV4cHJlc3Npb247XG5cdGlmIChvQ3JpdGljYWxpdHlQcm9wZXJ0eSkge1xuXHRcdHNWYWx1ZVN0YXRlRXhwcmVzc2lvbiA9IGlmRWxzZShcblx0XHRcdG9yKFxuXHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9OZWdhdGl2ZVwiKSksXG5cdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24gYXMgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPE51bWJlcj4sIGNvbnN0YW50KDEpKSxcblx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIxXCIpKVxuXHRcdFx0KSxcblx0XHRcdGNvbnN0YW50KFwiRXJyb3JcIiksXG5cdFx0XHRpZkVsc2UoXG5cdFx0XHRcdG9yKFxuXHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiVUkuQ3JpdGljYWxpdHlUeXBlL0NyaXRpY2FsXCIpKSxcblx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCgyKSksXG5cdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIyXCIpKVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRjb25zdGFudChcIldhcm5pbmdcIiksXG5cdFx0XHRcdGlmRWxzZShcblx0XHRcdFx0XHRvcihcblx0XHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiVUkuQ3JpdGljYWxpdHlUeXBlL1Bvc2l0aXZlXCIpKSxcblx0XHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24gYXMgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPE51bWJlcj4sIGNvbnN0YW50KDMpKSxcblx0XHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiM1wiKSlcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdGNvbnN0YW50KFwiU3VjY2Vzc1wiKSxcblx0XHRcdFx0XHRpZkVsc2UoXG5cdFx0XHRcdFx0XHRvcihcblx0XHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvSW5mb3JtYXRpb25cIikpLFxuXHRcdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCg1KSksXG5cdFx0XHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiNVwiKSlcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRjb25zdGFudChcIkluZm9ybWF0aW9uXCIpLFxuXHRcdFx0XHRcdFx0Y29uc3RhbnQoXCJOb25lXCIpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpXG5cdFx0XHQpXG5cdFx0KTtcblx0fSBlbHNlIHtcblx0XHQvLyBBbnkgb3RoZXIgY2FzZXMgYXJlIG5vdCB2YWxpZCwgdGhlIGRlZmF1bHQgdmFsdWUgb2YgJ05vbmUnIHdpbGwgYmUgcmV0dXJuZWRcblx0XHRzVmFsdWVTdGF0ZUV4cHJlc3Npb24gPSBjb25zdGFudChcIk5vbmVcIik7XG5cdH1cblx0cmV0dXJuIGNvbXBpbGVFeHByZXNzaW9uKHNWYWx1ZVN0YXRlRXhwcmVzc2lvbik7XG59O1xuXG4vKipcbiAqIFJldHVybnMgYW4gZXhwcmVzc2lvbiB0byBzZXQgaWNvbiB0eXBlIGJhc2VkIG9uIENyaXRpY2FsaXR5XG4gKiBTdXBwb3J0ZWQgQ3JpdGljYWxpdHk6IFBvc2l0aXZlLCBOZWdhdGl2ZSwgQ3JpdGljYWwgYW5kIEluZm9ybWF0aW9uLlxuICpcbiAqIEBmdW5jdGlvblxuICogQHN0YXRpY1xuICogQG5hbWUgc2FwLmZlLmNvcmUuQ3JpdGljYWxpdHlGb3JtYXR0ZXJzLmJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5SWNvblxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLkNyaXRpY2FsaXR5Rm9ybWF0dGVyc1xuICogQHBhcmFtIG9UYXJnZXQgQSBEYXRhRmllbGQgYSBEYXRhUG9pbnQgb3IgYSBEYXRhTW9kZWxPYmplY3RQYXRoLlxuICogQHBhcmFtIFtvUHJvcGVydHlEYXRhTW9kZWxQYXRoXSBEYXRhTW9kZWxPYmplY3RQYXRoLlxuICogQHJldHVybnMgQW4gZXhwcmVzc2lvbiB0byBkZWR1Y2UgdGhlIGljb24gb2YgYW4gb2JqZWN0U3RhdHVzLlxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5leHBvcnQgY29uc3QgYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlJY29uID0gKG9UYXJnZXQ6IGFueSwgb1Byb3BlcnR5RGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGNvbnN0IG9Bbm5vdGF0aW9uVGFyZ2V0ID0gb1RhcmdldD8udGFyZ2V0T2JqZWN0ID8gb1RhcmdldC50YXJnZXRPYmplY3QgOiBvVGFyZ2V0O1xuXHRjb25zdCBvQ3JpdGljYWxpdHlQcm9wZXJ0eSA9IG9Bbm5vdGF0aW9uVGFyZ2V0Py5Dcml0aWNhbGl0eTtcblx0Y29uc3QgcmVsYXRpdmVMb2NhdGlvbiA9IG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGhcblx0XHQ/IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGguY29udGV4dExvY2F0aW9uLCBvUHJvcGVydHlEYXRhTW9kZWxQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzKS5tYXAoKG5wKSA9PiBucC5uYW1lKVxuXHRcdDogdW5kZWZpbmVkO1xuXHRjb25zdCBvQ3JpdGljYWxpdHlFeHByZXNzaW9uOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248c3RyaW5nPiA9IGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvQ3JpdGljYWxpdHlQcm9wZXJ0eSwgcmVsYXRpdmVMb2NhdGlvbik7XG5cdGNvbnN0IGJDb25kaXRpb24gPVxuXHRcdG9Bbm5vdGF0aW9uVGFyZ2V0Py5Dcml0aWNhbGl0eVJlcHJlc2VudGF0aW9uICYmXG5cdFx0b0Fubm90YXRpb25UYXJnZXQ/LkNyaXRpY2FsaXR5UmVwcmVzZW50YXRpb24gPT09IFwiVUkuQ3JpdGljYWxpdHlSZXByZXNlbnRhdGlvblR5cGUvV2l0aG91dEljb25cIjtcblx0bGV0IHNJY29uUGF0aDtcblx0aWYgKCFiQ29uZGl0aW9uKSB7XG5cdFx0aWYgKG9Dcml0aWNhbGl0eVByb3BlcnR5KSB7XG5cdFx0XHRzSWNvblBhdGggPSBpZkVsc2UoXG5cdFx0XHRcdG9yKFxuXHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiVUkuQ3JpdGljYWxpdHlUeXBlL05lZ2F0aXZlXCIpKSxcblx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCgxKSksXG5cdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIxXCIpKVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRjb25zdGFudChcInNhcC1pY29uOi8vbWVzc2FnZS1lcnJvclwiKSxcblx0XHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRcdG9yKFxuXHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvQ3JpdGljYWxcIikpLFxuXHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiBhcyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248TnVtYmVyPiwgY29uc3RhbnQoMikpLFxuXHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIyXCIpKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0Y29uc3RhbnQoXCJzYXAtaWNvbjovL21lc3NhZ2Utd2FybmluZ1wiKSxcblx0XHRcdFx0XHRpZkVsc2UoXG5cdFx0XHRcdFx0XHRvcihcblx0XHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvUG9zaXRpdmVcIikpLFxuXHRcdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCgzKSksXG5cdFx0XHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiM1wiKSlcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRjb25zdGFudChcInNhcC1pY29uOi8vbWVzc2FnZS1zdWNjZXNzXCIpLFxuXHRcdFx0XHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRcdFx0XHRvcihcblx0XHRcdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9JbmZvcm1hdGlvblwiKSksXG5cdFx0XHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiBhcyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248TnVtYmVyPiwgY29uc3RhbnQoNSkpLFxuXHRcdFx0XHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiNVwiKSlcblx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0Y29uc3RhbnQoXCJzYXAtaWNvbjovL21lc3NhZ2UtaW5mb3JtYXRpb25cIiksXG5cdFx0XHRcdFx0XHRcdGNvbnN0YW50KFwiXCIpXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzSWNvblBhdGggPSBjb25zdGFudChcIlwiKTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0c0ljb25QYXRoID0gY29uc3RhbnQoXCJcIik7XG5cdH1cblx0cmV0dXJuIGNvbXBpbGVFeHByZXNzaW9uKHNJY29uUGF0aCk7XG59O1xuXG4vKipcbiAqIFJldHVybnMgYW4gZXhwcmVzc2lvbiB0byBzZXQgYnV0dG9uIHR5cGUgYmFzZWQgb24gQ3JpdGljYWxpdHlcbiAqIFN1cHBvcnRlZCBDcml0aWNhbGl0eTogUG9zaXRpdmUgYW5kIE5lZ2F0aXZlIGxlYWRpbmcgdG8gQWNjZXB0IGFuZCBSZWplY3QgYnV0dG9uIHR5cGUgcmVzcGVjdGl2ZWx5LlxuICpcbiAqIEBmdW5jdGlvblxuICogQHN0YXRpY1xuICogQG5hbWUgc2FwLmZlLmNvcmUuQ3JpdGljYWxpdHlGb3JtYXR0ZXJzLmJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5QnV0dG9uVHlwZVxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLkNyaXRpY2FsaXR5Rm9ybWF0dGVyc1xuICogQHBhcmFtIG9UYXJnZXQgQSBEYXRhRmllbGQsIERhdGFQb2ludCwgRGF0YU1vZGVsT2JqZWN0UGF0aC5cbiAqIEByZXR1cm5zIEFuIGV4cHJlc3Npb24gdG8gZGVkdWNlIGJ1dHRvbiB0eXBlLlxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5leHBvcnQgY29uc3QgYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlCdXR0b25UeXBlID0gKG9UYXJnZXQ6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGNvbnN0IG9Bbm5vdGF0aW9uVGFyZ2V0ID0gb1RhcmdldD8udGFyZ2V0T2JqZWN0ID8gb1RhcmdldC50YXJnZXRPYmplY3QgOiBvVGFyZ2V0O1xuXHRjb25zdCBvQ3JpdGljYWxpdHlQcm9wZXJ0eSA9IG9Bbm5vdGF0aW9uVGFyZ2V0Py5Dcml0aWNhbGl0eTtcblx0Y29uc3Qgb0NyaXRpY2FsaXR5RXhwcmVzc2lvbjogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPHN0cmluZz4gPSBnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24ob0NyaXRpY2FsaXR5UHJvcGVydHkpO1xuXHRsZXQgc0J1dHRvblR5cGVFeHByZXNzaW9uO1xuXHRpZiAob0NyaXRpY2FsaXR5UHJvcGVydHkpIHtcblx0XHRzQnV0dG9uVHlwZUV4cHJlc3Npb24gPSBpZkVsc2UoXG5cdFx0XHRvcihcblx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvTmVnYXRpdmVcIikpLFxuXHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCgxKSksXG5cdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiMVwiKSlcblx0XHRcdCksXG5cdFx0XHRjb25zdGFudChcIlJlamVjdFwiKSxcblx0XHRcdGlmRWxzZShcblx0XHRcdFx0b3IoXG5cdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvUG9zaXRpdmVcIikpLFxuXHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24gYXMgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPE51bWJlcj4sIGNvbnN0YW50KDMpKSxcblx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIjNcIikpXG5cdFx0XHRcdCksXG5cdFx0XHRcdGNvbnN0YW50KFwiQWNjZXB0XCIpLFxuXHRcdFx0XHRjb25zdGFudChcIkRlZmF1bHRcIilcblx0XHRcdClcblx0XHQpO1xuXHR9IGVsc2Uge1xuXHRcdC8vIEFueSBvdGhlciBjYXNlcyBhcmUgbm90IHZhbGlkLCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAnRGVmYXVsdCcgd2lsbCBiZSByZXR1cm5lZFxuXHRcdHNCdXR0b25UeXBlRXhwcmVzc2lvbiA9IGNvbnN0YW50KFwiRGVmYXVsdFwiKTtcblx0fVxuXHRyZXR1cm4gY29tcGlsZUV4cHJlc3Npb24oc0J1dHRvblR5cGVFeHByZXNzaW9uKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyBhbiBleHByZXNzaW9uIHRvIHNldCBjb2xvciBpbiBNaWNyb0NoYXJ0cyBiYXNlZCBvbiBDcml0aWNhbGl0eVxuICogU3VwcG9ydGVkIENyaXRpY2FsaXR5OiBQb3NpdGl2ZSwgTmVnYXRpdmUgYW5kIENyaXRpY2FsIGxlYWRpbmcgdG8gR29vZCwgRXJyb3IgYW5kIENyaXRpY2FsIGNvbG9yIHJlc3BlY3RpdmVseS5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBzdGF0aWNcbiAqIEBuYW1lIHNhcC5mZS5jb3JlLkNyaXRpY2FsaXR5Rm9ybWF0dGVycy5idWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yTWljcm9DaGFydFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLkNyaXRpY2FsaXR5Rm9ybWF0dGVyc1xuICogQHBhcmFtIG9UYXJnZXQgQSBEYXRhRmllbGQsIERhdGFQb2ludCwgRGF0YU1vZGVsT2JqZWN0UGF0aFxuICogQHJldHVybnMgQW4gZXhwcmVzc2lvbiB0byBkZWR1Y2UgY29sb3JzIGluIE1pY3JvY2hhcnRzXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yTWljcm9DaGFydCA9IChvVGFyZ2V0OiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRjb25zdCBvQW5ub3RhdGlvblRhcmdldCA9IG9UYXJnZXQ/LnRhcmdldE9iamVjdCA/IG9UYXJnZXQudGFyZ2V0T2JqZWN0IDogb1RhcmdldDtcblx0Y29uc3Qgb0NyaXRpY2FsaXR5UHJvcGVydHkgPSBvQW5ub3RhdGlvblRhcmdldD8uQ3JpdGljYWxpdHk7XG5cdGNvbnN0IG9Dcml0aWNhbGl0eUV4cHJlc3Npb246IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxzdHJpbmc+ID0gZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9Dcml0aWNhbGl0eVByb3BlcnR5KTtcblx0bGV0IHNDb2xvckV4cHJlc3Npb247XG5cdGlmIChvQ3JpdGljYWxpdHlQcm9wZXJ0eSkge1xuXHRcdHNDb2xvckV4cHJlc3Npb24gPSBpZkVsc2UoXG5cdFx0XHRvcihcblx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvTmVnYXRpdmVcIikpLFxuXHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCgxKSksXG5cdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiMVwiKSlcblx0XHRcdCksXG5cdFx0XHRjb25zdGFudChcIkVycm9yXCIpLFxuXHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRvcihcblx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9Dcml0aWNhbFwiKSksXG5cdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiBhcyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248TnVtYmVyPiwgY29uc3RhbnQoMikpLFxuXHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiMlwiKSlcblx0XHRcdFx0KSxcblx0XHRcdFx0Y29uc3RhbnQoXCJDcml0aWNhbFwiKSxcblx0XHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRcdG9yKFxuXHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvUG9zaXRpdmVcIikpLFxuXHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiBhcyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248TnVtYmVyPiwgY29uc3RhbnQoMykpLFxuXHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIzXCIpKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0Y29uc3RhbnQoXCJHb29kXCIpLFxuXHRcdFx0XHRcdGNvbnN0YW50KFwiTmV1dHJhbFwiKVxuXHRcdFx0XHQpXG5cdFx0XHQpXG5cdFx0KTtcblx0fSBlbHNlIHtcblx0XHRzQ29sb3JFeHByZXNzaW9uID0gY29uc3RhbnQoXCJOZXV0cmFsXCIpO1xuXHR9XG5cdHJldHVybiBjb21waWxlRXhwcmVzc2lvbihzQ29sb3JFeHByZXNzaW9uKTtcbn07XG4iXX0=
156
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yIiwib1RhcmdldCIsIm9Qcm9wZXJ0eURhdGFNb2RlbFBhdGgiLCJvQW5ub3RhdGlvblRhcmdldCIsInRhcmdldE9iamVjdCIsIm9Dcml0aWNhbGl0eVByb3BlcnR5IiwiQ3JpdGljYWxpdHkiLCJyZWxhdGl2ZUxvY2F0aW9uIiwiZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24iLCJjb250ZXh0TG9jYXRpb24iLCJuYXZpZ2F0aW9uUHJvcGVydGllcyIsIm1hcCIsIm5wIiwibmFtZSIsInVuZGVmaW5lZCIsIm9Dcml0aWNhbGl0eUV4cHJlc3Npb24iLCJnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24iLCJzVmFsdWVTdGF0ZUV4cHJlc3Npb24iLCJpZkVsc2UiLCJvciIsImVxdWFsIiwiY29uc3RhbnQiLCJjb21waWxlRXhwcmVzc2lvbiIsImJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5SWNvbiIsImJDb25kaXRpb24iLCJDcml0aWNhbGl0eVJlcHJlc2VudGF0aW9uIiwic0ljb25QYXRoIiwiYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlCdXR0b25UeXBlIiwic0J1dHRvblR5cGVFeHByZXNzaW9uIiwiYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlDb2xvck1pY3JvQ2hhcnQiLCJzQ29sb3JFeHByZXNzaW9uIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDcml0aWNhbGl0eUZvcm1hdHRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgY29tcGlsZUV4cHJlc3Npb24sIGNvbnN0YW50LCBlcXVhbCwgZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uLCBpZkVsc2UsIG9yIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuLyoqXG4gKiBSZXR1cm5zIGFuIGV4cHJlc3Npb24gdG8gc2V0IGJ1dHRvbiB0eXBlIGJhc2VkIG9uIENyaXRpY2FsaXR5XG4gKiBTdXBwb3J0ZWQgQ3JpdGljYWxpdHk6IFBvc2l0aXZlLCBOZWdhdGl2ZSwgQ3JpdGljYWwgYW5kIEluZm9ybWF0aW9uIGxlYWRpbmcgdG8gU3VjY2VzcywgRXJyb3IsIFdhcm5pbmcgYW5kIE5vbmUgc3RhdGUgcmVzcGVjdGl2ZWx5LlxuICpcbiAqIEBmdW5jdGlvblxuICogQHN0YXRpY1xuICogQG5hbWUgc2FwLmZlLmNvcmUuQ3JpdGljYWxpdHlGb3JtYXR0ZXJzLmJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5Q29sb3JcbiAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5Dcml0aWNhbGl0eUZvcm1hdHRlcnNcbiAqIEBwYXJhbSBvVGFyZ2V0IEEgRGF0YUZpZWxkIGEgRGF0YVBvaW50IG9yIGEgRGF0YU1vZGVsT2JqZWN0UGF0aC5cbiAqIEBwYXJhbSBbb1Byb3BlcnR5RGF0YU1vZGVsUGF0aF0gRGF0YU1vZGVsT2JqZWN0UGF0aC5cbiAqIEByZXR1cm5zIEFuIGV4cHJlc3Npb24gdG8gZGVkdWNlIHRoZSBzdGF0ZSBvZiBhbiBvYmplY3RTdGF0dXMuXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUNvbG9yID0gKG9UYXJnZXQ6IGFueSwgb1Byb3BlcnR5RGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGNvbnN0IG9Bbm5vdGF0aW9uVGFyZ2V0ID0gb1RhcmdldC50YXJnZXRPYmplY3QgPyBvVGFyZ2V0LnRhcmdldE9iamVjdCA6IG9UYXJnZXQ7XG5cdGNvbnN0IG9Dcml0aWNhbGl0eVByb3BlcnR5ID0gb0Fubm90YXRpb25UYXJnZXQ/LkNyaXRpY2FsaXR5O1xuXHRjb25zdCByZWxhdGl2ZUxvY2F0aW9uID0gb1Byb3BlcnR5RGF0YU1vZGVsUGF0aFxuXHRcdD8gZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24ob1Byb3BlcnR5RGF0YU1vZGVsUGF0aC5jb250ZXh0TG9jYXRpb24sIG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMpLm1hcCgobnApID0+IG5wLm5hbWUpXG5cdFx0OiB1bmRlZmluZWQ7XG5cdGNvbnN0IG9Dcml0aWNhbGl0eUV4cHJlc3Npb246IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxzdHJpbmc+ID0gZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9Dcml0aWNhbGl0eVByb3BlcnR5LCByZWxhdGl2ZUxvY2F0aW9uKTtcblx0bGV0IHNWYWx1ZVN0YXRlRXhwcmVzc2lvbjtcblx0aWYgKG9Dcml0aWNhbGl0eVByb3BlcnR5KSB7XG5cdFx0c1ZhbHVlU3RhdGVFeHByZXNzaW9uID0gaWZFbHNlKFxuXHRcdFx0b3IoXG5cdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiVUkuQ3JpdGljYWxpdHlUeXBlL05lZ2F0aXZlXCIpKSxcblx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiBhcyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248TnVtYmVyPiwgY29uc3RhbnQoMSkpLFxuXHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIjFcIikpXG5cdFx0XHQpLFxuXHRcdFx0Y29uc3RhbnQoXCJFcnJvclwiKSxcblx0XHRcdGlmRWxzZShcblx0XHRcdFx0b3IoXG5cdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvQ3JpdGljYWxcIikpLFxuXHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24gYXMgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPE51bWJlcj4sIGNvbnN0YW50KDIpKSxcblx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIjJcIikpXG5cdFx0XHRcdCksXG5cdFx0XHRcdGNvbnN0YW50KFwiV2FybmluZ1wiKSxcblx0XHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRcdG9yKFxuXHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvUG9zaXRpdmVcIikpLFxuXHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiBhcyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248TnVtYmVyPiwgY29uc3RhbnQoMykpLFxuXHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIzXCIpKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0Y29uc3RhbnQoXCJTdWNjZXNzXCIpLFxuXHRcdFx0XHRcdGlmRWxzZShcblx0XHRcdFx0XHRcdG9yKFxuXHRcdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9JbmZvcm1hdGlvblwiKSksXG5cdFx0XHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24gYXMgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPE51bWJlcj4sIGNvbnN0YW50KDUpKSxcblx0XHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCI1XCIpKVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdGNvbnN0YW50KFwiSW5mb3JtYXRpb25cIiksXG5cdFx0XHRcdFx0XHRjb25zdGFudChcIk5vbmVcIilcblx0XHRcdFx0XHQpXG5cdFx0XHRcdClcblx0XHRcdClcblx0XHQpO1xuXHR9IGVsc2Uge1xuXHRcdC8vIEFueSBvdGhlciBjYXNlcyBhcmUgbm90IHZhbGlkLCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAnTm9uZScgd2lsbCBiZSByZXR1cm5lZFxuXHRcdHNWYWx1ZVN0YXRlRXhwcmVzc2lvbiA9IGNvbnN0YW50KFwiTm9uZVwiKTtcblx0fVxuXHRyZXR1cm4gY29tcGlsZUV4cHJlc3Npb24oc1ZhbHVlU3RhdGVFeHByZXNzaW9uKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyBhbiBleHByZXNzaW9uIHRvIHNldCBpY29uIHR5cGUgYmFzZWQgb24gQ3JpdGljYWxpdHlcbiAqIFN1cHBvcnRlZCBDcml0aWNhbGl0eTogUG9zaXRpdmUsIE5lZ2F0aXZlLCBDcml0aWNhbCBhbmQgSW5mb3JtYXRpb24uXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAc3RhdGljXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5Dcml0aWNhbGl0eUZvcm1hdHRlcnMuYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlJY29uXG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuQ3JpdGljYWxpdHlGb3JtYXR0ZXJzXG4gKiBAcGFyYW0gb1RhcmdldCBBIERhdGFGaWVsZCBhIERhdGFQb2ludCBvciBhIERhdGFNb2RlbE9iamVjdFBhdGguXG4gKiBAcGFyYW0gW29Qcm9wZXJ0eURhdGFNb2RlbFBhdGhdIERhdGFNb2RlbE9iamVjdFBhdGguXG4gKiBAcmV0dXJucyBBbiBleHByZXNzaW9uIHRvIGRlZHVjZSB0aGUgaWNvbiBvZiBhbiBvYmplY3RTdGF0dXMuXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUljb24gPSAob1RhcmdldDogYW55LCBvUHJvcGVydHlEYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0Y29uc3Qgb0Fubm90YXRpb25UYXJnZXQgPSBvVGFyZ2V0Py50YXJnZXRPYmplY3QgPyBvVGFyZ2V0LnRhcmdldE9iamVjdCA6IG9UYXJnZXQ7XG5cdGNvbnN0IG9Dcml0aWNhbGl0eVByb3BlcnR5ID0gb0Fubm90YXRpb25UYXJnZXQ/LkNyaXRpY2FsaXR5O1xuXHRjb25zdCByZWxhdGl2ZUxvY2F0aW9uID0gb1Byb3BlcnR5RGF0YU1vZGVsUGF0aFxuXHRcdD8gZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24ob1Byb3BlcnR5RGF0YU1vZGVsUGF0aC5jb250ZXh0TG9jYXRpb24sIG9Qcm9wZXJ0eURhdGFNb2RlbFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMpLm1hcCgobnApID0+IG5wLm5hbWUpXG5cdFx0OiB1bmRlZmluZWQ7XG5cdGNvbnN0IG9Dcml0aWNhbGl0eUV4cHJlc3Npb246IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxzdHJpbmc+ID0gZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9Dcml0aWNhbGl0eVByb3BlcnR5LCByZWxhdGl2ZUxvY2F0aW9uKTtcblx0Y29uc3QgYkNvbmRpdGlvbiA9XG5cdFx0b0Fubm90YXRpb25UYXJnZXQ/LkNyaXRpY2FsaXR5UmVwcmVzZW50YXRpb24gJiZcblx0XHRvQW5ub3RhdGlvblRhcmdldD8uQ3JpdGljYWxpdHlSZXByZXNlbnRhdGlvbiA9PT0gXCJVSS5Dcml0aWNhbGl0eVJlcHJlc2VudGF0aW9uVHlwZS9XaXRob3V0SWNvblwiO1xuXHRsZXQgc0ljb25QYXRoO1xuXHRpZiAoIWJDb25kaXRpb24pIHtcblx0XHRpZiAob0NyaXRpY2FsaXR5UHJvcGVydHkpIHtcblx0XHRcdHNJY29uUGF0aCA9IGlmRWxzZShcblx0XHRcdFx0b3IoXG5cdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCJVSS5Dcml0aWNhbGl0eVR5cGUvTmVnYXRpdmVcIikpLFxuXHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24gYXMgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPE51bWJlcj4sIGNvbnN0YW50KDEpKSxcblx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIjFcIikpXG5cdFx0XHRcdCksXG5cdFx0XHRcdGNvbnN0YW50KFwic2FwLWljb246Ly9tZXNzYWdlLWVycm9yXCIpLFxuXHRcdFx0XHRpZkVsc2UoXG5cdFx0XHRcdFx0b3IoXG5cdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9Dcml0aWNhbFwiKSksXG5cdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCgyKSksXG5cdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIjJcIikpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRjb25zdGFudChcInNhcC1pY29uOi8vbWVzc2FnZS13YXJuaW5nXCIpLFxuXHRcdFx0XHRcdGlmRWxzZShcblx0XHRcdFx0XHRcdG9yKFxuXHRcdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9Qb3NpdGl2ZVwiKSksXG5cdFx0XHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24gYXMgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPE51bWJlcj4sIGNvbnN0YW50KDMpKSxcblx0XHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIzXCIpKVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdGNvbnN0YW50KFwic2FwLWljb246Ly9tZXNzYWdlLXN1Y2Nlc3NcIiksXG5cdFx0XHRcdFx0XHRpZkVsc2UoXG5cdFx0XHRcdFx0XHRcdG9yKFxuXHRcdFx0XHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiVUkuQ3JpdGljYWxpdHlUeXBlL0luZm9ybWF0aW9uXCIpKSxcblx0XHRcdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCg1KSksXG5cdFx0XHRcdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCI1XCIpKVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRjb25zdGFudChcInNhcC1pY29uOi8vbWVzc2FnZS1pbmZvcm1hdGlvblwiKSxcblx0XHRcdFx0XHRcdFx0Y29uc3RhbnQoXCJcIilcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpXG5cdFx0XHRcdClcblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHNJY29uUGF0aCA9IGNvbnN0YW50KFwiXCIpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRzSWNvblBhdGggPSBjb25zdGFudChcIlwiKTtcblx0fVxuXHRyZXR1cm4gY29tcGlsZUV4cHJlc3Npb24oc0ljb25QYXRoKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyBhbiBleHByZXNzaW9uIHRvIHNldCBidXR0b24gdHlwZSBiYXNlZCBvbiBDcml0aWNhbGl0eVxuICogU3VwcG9ydGVkIENyaXRpY2FsaXR5OiBQb3NpdGl2ZSBhbmQgTmVnYXRpdmUgbGVhZGluZyB0byBBY2NlcHQgYW5kIFJlamVjdCBidXR0b24gdHlwZSByZXNwZWN0aXZlbHkuXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAc3RhdGljXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5Dcml0aWNhbGl0eUZvcm1hdHRlcnMuYnVpbGRFeHByZXNzaW9uRm9yQ3JpdGljYWxpdHlCdXR0b25UeXBlXG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuQ3JpdGljYWxpdHlGb3JtYXR0ZXJzXG4gKiBAcGFyYW0gb1RhcmdldCBBIERhdGFGaWVsZCwgRGF0YVBvaW50LCBEYXRhTW9kZWxPYmplY3RQYXRoLlxuICogQHJldHVybnMgQW4gZXhwcmVzc2lvbiB0byBkZWR1Y2UgYnV0dG9uIHR5cGUuXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZEV4cHJlc3Npb25Gb3JDcml0aWNhbGl0eUJ1dHRvblR5cGUgPSAob1RhcmdldDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0Y29uc3Qgb0Fubm90YXRpb25UYXJnZXQgPSBvVGFyZ2V0Py50YXJnZXRPYmplY3QgPyBvVGFyZ2V0LnRhcmdldE9iamVjdCA6IG9UYXJnZXQ7XG5cdGNvbnN0IG9Dcml0aWNhbGl0eVByb3BlcnR5ID0gb0Fubm90YXRpb25UYXJnZXQ/LkNyaXRpY2FsaXR5O1xuXHRjb25zdCBvQ3JpdGljYWxpdHlFeHByZXNzaW9uOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248c3RyaW5nPiA9IGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvQ3JpdGljYWxpdHlQcm9wZXJ0eSk7XG5cdGxldCBzQnV0dG9uVHlwZUV4cHJlc3Npb247XG5cdGlmIChvQ3JpdGljYWxpdHlQcm9wZXJ0eSkge1xuXHRcdHNCdXR0b25UeXBlRXhwcmVzc2lvbiA9IGlmRWxzZShcblx0XHRcdG9yKFxuXHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9OZWdhdGl2ZVwiKSksXG5cdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24gYXMgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPE51bWJlcj4sIGNvbnN0YW50KDEpKSxcblx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIxXCIpKVxuXHRcdFx0KSxcblx0XHRcdGNvbnN0YW50KFwiUmVqZWN0XCIpLFxuXHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRvcihcblx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9Qb3NpdGl2ZVwiKSksXG5cdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiBhcyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248TnVtYmVyPiwgY29uc3RhbnQoMykpLFxuXHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiM1wiKSlcblx0XHRcdFx0KSxcblx0XHRcdFx0Y29uc3RhbnQoXCJBY2NlcHRcIiksXG5cdFx0XHRcdGNvbnN0YW50KFwiRGVmYXVsdFwiKVxuXHRcdFx0KVxuXHRcdCk7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gQW55IG90aGVyIGNhc2VzIGFyZSBub3QgdmFsaWQsIHRoZSBkZWZhdWx0IHZhbHVlIG9mICdEZWZhdWx0JyB3aWxsIGJlIHJldHVybmVkXG5cdFx0c0J1dHRvblR5cGVFeHByZXNzaW9uID0gY29uc3RhbnQoXCJEZWZhdWx0XCIpO1xuXHR9XG5cdHJldHVybiBjb21waWxlRXhwcmVzc2lvbihzQnV0dG9uVHlwZUV4cHJlc3Npb24pO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIGV4cHJlc3Npb24gdG8gc2V0IGNvbG9yIGluIE1pY3JvQ2hhcnRzIGJhc2VkIG9uIENyaXRpY2FsaXR5XG4gKiBTdXBwb3J0ZWQgQ3JpdGljYWxpdHk6IFBvc2l0aXZlLCBOZWdhdGl2ZSBhbmQgQ3JpdGljYWwgbGVhZGluZyB0byBHb29kLCBFcnJvciBhbmQgQ3JpdGljYWwgY29sb3IgcmVzcGVjdGl2ZWx5LlxuICpcbiAqIEBmdW5jdGlvblxuICogQHN0YXRpY1xuICogQG5hbWUgc2FwLmZlLmNvcmUuQ3JpdGljYWxpdHlGb3JtYXR0ZXJzLmJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0XG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuQ3JpdGljYWxpdHlGb3JtYXR0ZXJzXG4gKiBAcGFyYW0gb1RhcmdldCBBIERhdGFGaWVsZCwgRGF0YVBvaW50LCBEYXRhTW9kZWxPYmplY3RQYXRoXG4gKiBAcmV0dXJucyBBbiBleHByZXNzaW9uIHRvIGRlZHVjZSBjb2xvcnMgaW4gTWljcm9jaGFydHNcbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkRXhwcmVzc2lvbkZvckNyaXRpY2FsaXR5Q29sb3JNaWNyb0NoYXJ0ID0gKG9UYXJnZXQ6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG5cdGNvbnN0IG9Bbm5vdGF0aW9uVGFyZ2V0ID0gb1RhcmdldD8udGFyZ2V0T2JqZWN0ID8gb1RhcmdldC50YXJnZXRPYmplY3QgOiBvVGFyZ2V0O1xuXHRjb25zdCBvQ3JpdGljYWxpdHlQcm9wZXJ0eSA9IG9Bbm5vdGF0aW9uVGFyZ2V0Py5Dcml0aWNhbGl0eTtcblx0Y29uc3Qgb0NyaXRpY2FsaXR5RXhwcmVzc2lvbjogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPHN0cmluZz4gPSBnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24ob0NyaXRpY2FsaXR5UHJvcGVydHkpO1xuXHRsZXQgc0NvbG9yRXhwcmVzc2lvbjtcblx0aWYgKG9Dcml0aWNhbGl0eVByb3BlcnR5KSB7XG5cdFx0c0NvbG9yRXhwcmVzc2lvbiA9IGlmRWxzZShcblx0XHRcdG9yKFxuXHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9OZWdhdGl2ZVwiKSksXG5cdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24gYXMgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPE51bWJlcj4sIGNvbnN0YW50KDEpKSxcblx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIxXCIpKVxuXHRcdFx0KSxcblx0XHRcdGNvbnN0YW50KFwiRXJyb3JcIiksXG5cdFx0XHRpZkVsc2UoXG5cdFx0XHRcdG9yKFxuXHRcdFx0XHRcdGVxdWFsKG9Dcml0aWNhbGl0eUV4cHJlc3Npb24sIGNvbnN0YW50KFwiVUkuQ3JpdGljYWxpdHlUeXBlL0NyaXRpY2FsXCIpKSxcblx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCgyKSksXG5cdFx0XHRcdFx0ZXF1YWwob0NyaXRpY2FsaXR5RXhwcmVzc2lvbiwgY29uc3RhbnQoXCIyXCIpKVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRjb25zdGFudChcIkNyaXRpY2FsXCIpLFxuXHRcdFx0XHRpZkVsc2UoXG5cdFx0XHRcdFx0b3IoXG5cdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIlVJLkNyaXRpY2FsaXR5VHlwZS9Qb3NpdGl2ZVwiKSksXG5cdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxOdW1iZXI+LCBjb25zdGFudCgzKSksXG5cdFx0XHRcdFx0XHRlcXVhbChvQ3JpdGljYWxpdHlFeHByZXNzaW9uLCBjb25zdGFudChcIjNcIikpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRjb25zdGFudChcIkdvb2RcIiksXG5cdFx0XHRcdFx0Y29uc3RhbnQoXCJOZXV0cmFsXCIpXG5cdFx0XHRcdClcblx0XHRcdClcblx0XHQpO1xuXHR9IGVsc2Uge1xuXHRcdHNDb2xvckV4cHJlc3Npb24gPSBjb25zdGFudChcIk5ldXRyYWxcIik7XG5cdH1cblx0cmV0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
@@ -74,4 +74,4 @@ sap.ui.define(["sap/fe/core/converters/MetaModelConverter", "sap/fe/core/templat
74
74
  _exports.isSemanticallyConnectedFields = isSemanticallyConnectedFields;
75
75
  return _exports;
76
76
  }, false);
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFGaWVsZEZvcm1hdHRlcnMudHMiXSwibmFtZXMiOlsiZ2V0RGF0YUZpZWxkIiwib0NvbnRleHQiLCJvSW50ZXJmYWNlIiwic1BhdGgiLCJjb250ZXh0IiwiZ2V0UGF0aCIsIkVycm9yIiwiaXNQYXRoIiwiaGFzT3duUHJvcGVydHkiLCIka2luZCIsIm9Db252ZXJ0ZXJDb250ZXh0IiwiZ2V0Q29udmVydGVyQ29udGV4dCIsIiR0YXJnZXQiLCJnZXREYXRhRmllbGRPYmplY3RQYXRoIiwiaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwidGFyZ2V0T2JqZWN0IiwidHlwZSIsImVuaGFuY2VEYXRhTW9kZWxQYXRoIiwicGF0aCIsImVuZHNXaXRoIiwiaXNTZW1hbnRpY2FsbHlDb25uZWN0ZWRGaWVsZHMiLCJvRGF0YUZpZWxkIiwiJFR5cGUiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQU1PLE1BQU1BLFlBQVksR0FBRyxVQUMzQkMsUUFEMkIsRUFFM0JDLFVBRjJCLEVBR2lCO0FBQzVDLFFBQU1DLEtBQUssR0FBR0QsVUFBVSxDQUFDRSxPQUFYLENBQW1CQyxPQUFuQixFQUFkOztBQUNBLFFBQUksQ0FBQ0osUUFBTCxFQUFlO0FBQ2QsWUFBTSxJQUFJSyxLQUFKLG1DQUFxQ0gsS0FBckMsRUFBTjtBQUNBOztBQUNELFFBQUlJLE1BQU0sR0FBRyxLQUFiOztBQUNBLFFBQUksT0FBT04sUUFBUCxLQUFvQixRQUFwQixLQUFpQ0EsUUFBUSxDQUFDTyxjQUFULENBQXdCLE9BQXhCLEtBQW9DUCxRQUFRLENBQUNPLGNBQVQsQ0FBd0IsaUJBQXhCLENBQXJFLENBQUosRUFBc0g7QUFDckhELE1BQUFBLE1BQU0sR0FBRyxJQUFUO0FBQ0EsS0FGRCxNQUVPLElBQUksT0FBT04sUUFBUCxLQUFvQixRQUFwQixJQUFnQ0EsUUFBUSxDQUFDTyxjQUFULENBQXdCLE9BQXhCLENBQWhDLElBQW9FUCxRQUFRLENBQUNRLEtBQVQsS0FBbUIsVUFBM0YsRUFBdUc7QUFDN0csWUFBTSxJQUFJSCxLQUFKLG1FQUFxRUwsUUFBUSxDQUFDUSxLQUE5RSxFQUFOO0FBQ0E7O0FBQ0QsUUFBSUMsaUJBQWlCLEdBQUdDLG1CQUFtQixDQUFDVixRQUFELEVBQVdDLFVBQVgsQ0FBM0M7O0FBQ0EsUUFBSUssTUFBSixFQUFZO0FBQ1hHLE1BQUFBLGlCQUFpQixHQUFJQSxpQkFBRCxDQUEyQkUsT0FBL0M7QUFDQTs7QUFDRCxXQUFPRixpQkFBUDtBQUNBLEdBbkJNOzs7O0FBcUJBLE1BQU1HLHNCQUFzQixHQUFHLFVBQ3JDWixRQURxQyxFQUVyQ0MsVUFGcUMsRUFHZjtBQUN0QixRQUFNQyxLQUFLLEdBQUdELFVBQVUsQ0FBQ0UsT0FBWCxDQUFtQkMsT0FBbkIsRUFBZDs7QUFDQSxRQUFJLENBQUNKLFFBQUwsRUFBZTtBQUNkLFlBQU0sSUFBSUssS0FBSixtQ0FBcUNILEtBQXJDLEVBQU47QUFDQTs7QUFDRCxRQUFJLE9BQU9GLFFBQVAsS0FBb0IsUUFBcEIsSUFBZ0NBLFFBQVEsQ0FBQ08sY0FBVCxDQUF3QixPQUF4QixDQUFoQyxJQUFvRVAsUUFBUSxDQUFDUSxLQUFULEtBQW1CLFVBQTNGLEVBQXVHO0FBQ3RHLFlBQU0sSUFBSUgsS0FBSixrRUFBb0VMLFFBQVEsQ0FBQ1EsS0FBN0UsRUFBTjtBQUNBOztBQUNELFFBQUlLLHdCQUF3QixHQUFHQywyQkFBMkIsQ0FBQ2IsVUFBVSxDQUFDRSxPQUFaLENBQTFEOztBQUNBLFFBQUlVLHdCQUF3QixDQUFDRSxZQUF6QixJQUF5Q0Ysd0JBQXdCLENBQUNFLFlBQXpCLENBQXNDQyxJQUF0QyxLQUErQyxNQUE1RixFQUFvRztBQUNuR0gsTUFBQUEsd0JBQXdCLEdBQUdJLG9CQUFvQixDQUFDSix3QkFBRCxFQUEyQkEsd0JBQXdCLENBQUNFLFlBQXpCLENBQXNDRyxJQUFqRSxDQUEvQztBQUNBOztBQUNELFFBQUlMLHdCQUF3QixDQUFDRSxZQUF6QixJQUF5Q0Ysd0JBQXdCLENBQUNFLFlBQXpCLENBQXNDQyxJQUF0QyxLQUErQyxnQkFBNUYsRUFBOEc7QUFDN0dILE1BQUFBLHdCQUF3QixHQUFHSSxvQkFBb0IsQ0FBQ0osd0JBQUQsRUFBMkJBLHdCQUF3QixDQUFDRSxZQUFwRCxDQUEvQztBQUNBOztBQUNELFFBQUliLEtBQUssQ0FBQ2lCLFFBQU4sQ0FBZSxPQUFmLEtBQTJCakIsS0FBSyxDQUFDaUIsUUFBTixDQUFlLGlCQUFmLENBQS9CLEVBQWtFO0FBQ2pFTixNQUFBQSx3QkFBd0IsR0FBR0ksb0JBQW9CLENBQUNKLHdCQUFELEVBQTJCYixRQUEzQixDQUEvQztBQUNBOztBQUNELFdBQU9hLHdCQUFQO0FBQ0EsR0F0Qk07Ozs7QUF3QkEsTUFBTU8sNkJBQTZCLEdBQUcsVUFBVXBCLFFBQVYsRUFBc0NDLFVBQXRDLEVBQXdGO0FBQ3BJLFFBQU1vQixVQUFxRCxHQUFHdEIsWUFBWSxDQUFDQyxRQUFELEVBQVdDLFVBQVgsQ0FBMUU7QUFDQSxXQUFRb0IsVUFBRCxDQUF5Q0MsS0FBekMscURBQVA7QUFDQSxHQUhNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbm5lY3RlZEZpZWxkc1R5cGVUeXBlcywgRGF0YUZpZWxkVHlwZXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgeyBVSUFubm90YXRpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZW5oYW5jZURhdGFNb2RlbFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IENvbXB1dGVkQW5ub3RhdGlvbkludGVyZmFjZSwgTWV0YU1vZGVsQ29udGV4dCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IHsgZ2V0Q29udmVydGVyQ29udGV4dCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuXG5leHBvcnQgY29uc3QgZ2V0RGF0YUZpZWxkID0gZnVuY3Rpb24gKFxuXHRvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCxcblx0b0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlXG4pOiBEYXRhRmllbGRUeXBlcyB8IENvbm5lY3RlZEZpZWxkc1R5cGVUeXBlcyB7XG5cdGNvbnN0IHNQYXRoID0gb0ludGVyZmFjZS5jb250ZXh0LmdldFBhdGgoKTtcblx0aWYgKCFvQ29udGV4dCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihgVW5yZXNvbHZlZCBjb250ZXh0IHBhdGggJHtzUGF0aH1gKTtcblx0fVxuXHRsZXQgaXNQYXRoID0gZmFsc2U7XG5cdGlmICh0eXBlb2Ygb0NvbnRleHQgPT09IFwib2JqZWN0XCIgJiYgKG9Db250ZXh0Lmhhc093blByb3BlcnR5KFwiJFBhdGhcIikgfHwgb0NvbnRleHQuaGFzT3duUHJvcGVydHkoXCIkQW5ub3RhdGlvblBhdGhcIikpKSB7XG5cdFx0aXNQYXRoID0gdHJ1ZTtcblx0fSBlbHNlIGlmICh0eXBlb2Ygb0NvbnRleHQgPT09IFwib2JqZWN0XCIgJiYgb0NvbnRleHQuaGFzT3duUHJvcGVydHkoXCIka2luZFwiKSAmJiBvQ29udGV4dC4ka2luZCAhPT0gXCJQcm9wZXJ0eVwiKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKGBDb250ZXh0IGRvZXMgbm90IHJlc29sdmUgdG8gYSBEYXRhRmllbGQgb2JqZWN0IGJ1dCB0byBhICR7b0NvbnRleHQuJGtpbmR9YCk7XG5cdH1cblx0bGV0IG9Db252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dChvQ29udGV4dCwgb0ludGVyZmFjZSkgYXMgRGF0YUZpZWxkVHlwZXM7XG5cdGlmIChpc1BhdGgpIHtcblx0XHRvQ29udmVydGVyQ29udGV4dCA9IChvQ29udmVydGVyQ29udGV4dCBhcyBhbnkpLiR0YXJnZXQ7XG5cdH1cblx0cmV0dXJuIG9Db252ZXJ0ZXJDb250ZXh0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERhdGFGaWVsZE9iamVjdFBhdGggPSBmdW5jdGlvbiAoXG5cdG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0IHwgc3RyaW5nLFxuXHRvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2Vcbik6IERhdGFNb2RlbE9iamVjdFBhdGgge1xuXHRjb25zdCBzUGF0aCA9IG9JbnRlcmZhY2UuY29udGV4dC5nZXRQYXRoKCk7XG5cdGlmICghb0NvbnRleHQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYFVucmVzb2x2ZWQgY29udGV4dCBwYXRoICR7c1BhdGh9YCk7XG5cdH1cblx0aWYgKHR5cGVvZiBvQ29udGV4dCA9PT0gXCJvYmplY3RcIiAmJiBvQ29udGV4dC5oYXNPd25Qcm9wZXJ0eShcIiRraW5kXCIpICYmIG9Db250ZXh0LiRraW5kICE9PSBcIlByb3BlcnR5XCIpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYENvbnRleHQgZG9lcyBub3QgcmVzb2x2ZSB0byBhIFByb3BlcnR5IG9iamVjdCBidXQgdG8gYSAke29Db250ZXh0LiRraW5kfWApO1xuXHR9XG5cdGxldCBpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMob0ludGVyZmFjZS5jb250ZXh0KTtcblx0aWYgKGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cy50YXJnZXRPYmplY3QgJiYgaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdC50eXBlID09PSBcIlBhdGhcIikge1xuXHRcdGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cywgaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdC5wYXRoKTtcblx0fVxuXHRpZiAoaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdCAmJiBpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMudGFyZ2V0T2JqZWN0LnR5cGUgPT09IFwiQW5ub3RhdGlvblBhdGhcIikge1xuXHRcdGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cywgaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdCk7XG5cdH1cblx0aWYgKHNQYXRoLmVuZHNXaXRoKFwiJFBhdGhcIikgfHwgc1BhdGguZW5kc1dpdGgoXCIkQW5ub3RhdGlvblBhdGhcIikpIHtcblx0XHRpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgPSBlbmhhbmNlRGF0YU1vZGVsUGF0aChpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMsIG9Db250ZXh0IGFzIHN0cmluZyk7XG5cdH1cblx0cmV0dXJuIGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cztcbn07XG5cbmV4cG9ydCBjb25zdCBpc1NlbWFudGljYWxseUNvbm5lY3RlZEZpZWxkcyA9IGZ1bmN0aW9uIChvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCwgb0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlKTogYm9vbGVhbiB7XG5cdGNvbnN0IG9EYXRhRmllbGQ6IERhdGFGaWVsZFR5cGVzIHwgQ29ubmVjdGVkRmllbGRzVHlwZVR5cGVzID0gZ2V0RGF0YUZpZWxkKG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIChvRGF0YUZpZWxkIGFzIENvbm5lY3RlZEZpZWxkc1R5cGVUeXBlcykuJFR5cGUgPT09IFVJQW5ub3RhdGlvblR5cGVzLkNvbm5lY3RlZEZpZWxkc1R5cGU7XG59O1xuIl19
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXREYXRhRmllbGQiLCJvQ29udGV4dCIsIm9JbnRlcmZhY2UiLCJzUGF0aCIsImNvbnRleHQiLCJnZXRQYXRoIiwiRXJyb3IiLCJpc1BhdGgiLCJoYXNPd25Qcm9wZXJ0eSIsIiRraW5kIiwib0NvbnZlcnRlckNvbnRleHQiLCJnZXRDb252ZXJ0ZXJDb250ZXh0IiwiJHRhcmdldCIsImdldERhdGFGaWVsZE9iamVjdFBhdGgiLCJpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJ0YXJnZXRPYmplY3QiLCJ0eXBlIiwiZW5oYW5jZURhdGFNb2RlbFBhdGgiLCJwYXRoIiwiZW5kc1dpdGgiLCJpc1NlbWFudGljYWxseUNvbm5lY3RlZEZpZWxkcyIsIm9EYXRhRmllbGQiLCIkVHlwZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRGF0YUZpZWxkRm9ybWF0dGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbm5lY3RlZEZpZWxkc1R5cGVUeXBlcywgRGF0YUZpZWxkVHlwZXMgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL1VJXCI7XG5pbXBvcnQgeyBVSUFubm90YXRpb25UeXBlcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCB7IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZW5oYW5jZURhdGFNb2RlbFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IENvbXB1dGVkQW5ub3RhdGlvbkludGVyZmFjZSwgTWV0YU1vZGVsQ29udGV4dCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IHsgZ2V0Q29udmVydGVyQ29udGV4dCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuXG5leHBvcnQgY29uc3QgZ2V0RGF0YUZpZWxkID0gZnVuY3Rpb24gKFxuXHRvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCxcblx0b0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlXG4pOiBEYXRhRmllbGRUeXBlcyB8IENvbm5lY3RlZEZpZWxkc1R5cGVUeXBlcyB7XG5cdGNvbnN0IHNQYXRoID0gb0ludGVyZmFjZS5jb250ZXh0LmdldFBhdGgoKTtcblx0aWYgKCFvQ29udGV4dCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihgVW5yZXNvbHZlZCBjb250ZXh0IHBhdGggJHtzUGF0aH1gKTtcblx0fVxuXHRsZXQgaXNQYXRoID0gZmFsc2U7XG5cdGlmICh0eXBlb2Ygb0NvbnRleHQgPT09IFwib2JqZWN0XCIgJiYgKG9Db250ZXh0Lmhhc093blByb3BlcnR5KFwiJFBhdGhcIikgfHwgb0NvbnRleHQuaGFzT3duUHJvcGVydHkoXCIkQW5ub3RhdGlvblBhdGhcIikpKSB7XG5cdFx0aXNQYXRoID0gdHJ1ZTtcblx0fSBlbHNlIGlmICh0eXBlb2Ygb0NvbnRleHQgPT09IFwib2JqZWN0XCIgJiYgb0NvbnRleHQuaGFzT3duUHJvcGVydHkoXCIka2luZFwiKSAmJiBvQ29udGV4dC4ka2luZCAhPT0gXCJQcm9wZXJ0eVwiKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKGBDb250ZXh0IGRvZXMgbm90IHJlc29sdmUgdG8gYSBEYXRhRmllbGQgb2JqZWN0IGJ1dCB0byBhICR7b0NvbnRleHQuJGtpbmR9YCk7XG5cdH1cblx0bGV0IG9Db252ZXJ0ZXJDb250ZXh0ID0gZ2V0Q29udmVydGVyQ29udGV4dChvQ29udGV4dCwgb0ludGVyZmFjZSkgYXMgRGF0YUZpZWxkVHlwZXM7XG5cdGlmIChpc1BhdGgpIHtcblx0XHRvQ29udmVydGVyQ29udGV4dCA9IChvQ29udmVydGVyQ29udGV4dCBhcyBhbnkpLiR0YXJnZXQ7XG5cdH1cblx0cmV0dXJuIG9Db252ZXJ0ZXJDb250ZXh0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERhdGFGaWVsZE9iamVjdFBhdGggPSBmdW5jdGlvbiAoXG5cdG9Db250ZXh0OiBNZXRhTW9kZWxDb250ZXh0IHwgc3RyaW5nLFxuXHRvSW50ZXJmYWNlOiBDb21wdXRlZEFubm90YXRpb25JbnRlcmZhY2Vcbik6IERhdGFNb2RlbE9iamVjdFBhdGgge1xuXHRjb25zdCBzUGF0aCA9IG9JbnRlcmZhY2UuY29udGV4dC5nZXRQYXRoKCk7XG5cdGlmICghb0NvbnRleHQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYFVucmVzb2x2ZWQgY29udGV4dCBwYXRoICR7c1BhdGh9YCk7XG5cdH1cblx0aWYgKHR5cGVvZiBvQ29udGV4dCA9PT0gXCJvYmplY3RcIiAmJiBvQ29udGV4dC5oYXNPd25Qcm9wZXJ0eShcIiRraW5kXCIpICYmIG9Db250ZXh0LiRraW5kICE9PSBcIlByb3BlcnR5XCIpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYENvbnRleHQgZG9lcyBub3QgcmVzb2x2ZSB0byBhIFByb3BlcnR5IG9iamVjdCBidXQgdG8gYSAke29Db250ZXh0LiRraW5kfWApO1xuXHR9XG5cdGxldCBpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMob0ludGVyZmFjZS5jb250ZXh0KTtcblx0aWYgKGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cy50YXJnZXRPYmplY3QgJiYgaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdC50eXBlID09PSBcIlBhdGhcIikge1xuXHRcdGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cywgaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdC5wYXRoKTtcblx0fVxuXHRpZiAoaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdCAmJiBpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMudGFyZ2V0T2JqZWN0LnR5cGUgPT09IFwiQW5ub3RhdGlvblBhdGhcIikge1xuXHRcdGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cywgaW52b2x2ZWREYXRhTW9kZWxPYmplY3RzLnRhcmdldE9iamVjdCk7XG5cdH1cblx0aWYgKHNQYXRoLmVuZHNXaXRoKFwiJFBhdGhcIikgfHwgc1BhdGguZW5kc1dpdGgoXCIkQW5ub3RhdGlvblBhdGhcIikpIHtcblx0XHRpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgPSBlbmhhbmNlRGF0YU1vZGVsUGF0aChpbnZvbHZlZERhdGFNb2RlbE9iamVjdHMsIG9Db250ZXh0IGFzIHN0cmluZyk7XG5cdH1cblx0cmV0dXJuIGludm9sdmVkRGF0YU1vZGVsT2JqZWN0cztcbn07XG5cbmV4cG9ydCBjb25zdCBpc1NlbWFudGljYWxseUNvbm5lY3RlZEZpZWxkcyA9IGZ1bmN0aW9uIChvQ29udGV4dDogTWV0YU1vZGVsQ29udGV4dCwgb0ludGVyZmFjZTogQ29tcHV0ZWRBbm5vdGF0aW9uSW50ZXJmYWNlKTogYm9vbGVhbiB7XG5cdGNvbnN0IG9EYXRhRmllbGQ6IERhdGFGaWVsZFR5cGVzIHwgQ29ubmVjdGVkRmllbGRzVHlwZVR5cGVzID0gZ2V0RGF0YUZpZWxkKG9Db250ZXh0LCBvSW50ZXJmYWNlKTtcblx0cmV0dXJuIChvRGF0YUZpZWxkIGFzIENvbm5lY3RlZEZpZWxkc1R5cGVUeXBlcykuJFR5cGUgPT09IFVJQW5ub3RhdGlvblR5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
@@ -194,7 +194,14 @@ sap.ui.define(["sap/fe/core/helpers/BindingToolkit", "sap/fe/core/templating/Pro
194
194
  _exports.getTargetObjectPath = getTargetObjectPath;
195
195
 
196
196
  var getContextRelativeTargetObjectPath = function (dataModelObjectPath) {
197
+ var _dataModelObjectPath$;
198
+
197
199
  var forBindingExpression = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
200
+
201
+ if (((_dataModelObjectPath$ = dataModelObjectPath.contextLocation) === null || _dataModelObjectPath$ === void 0 ? void 0 : _dataModelObjectPath$.startingEntitySet) !== dataModelObjectPath.startingEntitySet) {
202
+ return getTargetObjectPath(dataModelObjectPath);
203
+ }
204
+
198
205
  var navProperties = getPathRelativeLocation(dataModelObjectPath.contextLocation, dataModelObjectPath.navigationProperties);
199
206
 
200
207
  if (forBindingExpression) {
@@ -414,4 +421,4 @@ sap.ui.define(["sap/fe/core/helpers/BindingToolkit", "sap/fe/core/templating/Pro
414
421
 
415
422
  return _exports;
416
423
  }, false);
417
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRhdGFNb2RlbFBhdGhIZWxwZXIudHMiXSwibmFtZXMiOlsiZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24iLCJjb250ZXh0UGF0aCIsInZpc2l0ZWROYXZQcm9wcyIsImxlbmd0aCIsIm5hdmlnYXRpb25Qcm9wZXJ0aWVzIiwicmVtYWluaW5nTmF2UHJvcHMiLCJmb3JFYWNoIiwibmF2UHJvcCIsIm5hdkluZGV4IiwicHVzaCIsImNvbmNhdCIsInNsaWNlIiwiY3VycmVudElkeCIsImN1cnJlbnROYXYiLCJuZXh0TmF2UHJvcCIsInBhcnRuZXIiLCJuYW1lIiwic3BsaWNlIiwiZXh0cmFOYXZQcm9wIiwibWFwIiwidGFyZ2V0VHlwZSIsImZpbmQiLCJucCIsImVuaGFuY2VEYXRhTW9kZWxQYXRoIiwiZGF0YU1vZGVsT2JqZWN0UGF0aCIsInByb3BlcnR5UGF0aCIsInNQcm9wZXJ0eVBhdGgiLCJpc1BhdGhFeHByZXNzaW9uIiwiaXNBbm5vdGF0aW9uUGF0aEV4cHJlc3Npb24iLCJwYXRoIiwib1RhcmdldCIsIiR0YXJnZXQiLCJ0YXJnZXRFbnRpdHlUeXBlIiwicmVzb2x2ZVBhdGgiLCJ0YXJnZXRPYmplY3QiLCJhUGF0aFNwbGl0Iiwic3BsaXQiLCJjdXJyZW50RW50aXR5U2V0IiwidGFyZ2V0RW50aXR5U2V0IiwiY3VycmVudEVudGl0eVR5cGUiLCJyZWR1Y2VkRW50aXR5VHlwZSIsInBhdGhQYXJ0IiwicG90ZW50aWFsTmF2UHJvcCIsIm5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmciLCJoYXNPd25Qcm9wZXJ0eSIsInVuZGVmaW5lZCIsInN0YXJ0aW5nRW50aXR5U2V0IiwiY29udGV4dExvY2F0aW9uIiwiY29udmVydGVkVHlwZXMiLCJnZXRUYXJnZXRFbnRpdHlTZXRQYXRoIiwidGFyZ2V0RW50aXR5U2V0UGF0aCIsIm5hdmlnYXRlZFBhdGhzIiwiam9pbiIsImdldFRhcmdldE9iamVjdFBhdGgiLCJiUmVsYXRpdmUiLCJfdHlwZSIsImVuZHNXaXRoIiwidGVybSIsImdldENvbnRleHRSZWxhdGl2ZVRhcmdldE9iamVjdFBhdGgiLCJmb3JCaW5kaW5nRXhwcmVzc2lvbiIsIm5hdlByb3BlcnRpZXMiLCJpc0NvbGxlY3Rpb24iLCJ0eXBlIiwidmFsdWUiLCJxdWFsaWZpZXIiLCJpc1BhdGhVcGRhdGFibGUiLCJleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aCIsImNoZWNrT25QYXRoIiwiYW5ub3RhdGlvbk9iamVjdCIsIlVwZGF0ZVJlc3RyaWN0aW9ucyIsIlVwZGF0YWJsZSIsImlzUGF0aFNlYXJjaGFibGUiLCJTZWFyY2hSZXN0cmljdGlvbnMiLCJTZWFyY2hhYmxlIiwiaXNQYXRoRGVsZXRhYmxlIiwiRGVsZXRlUmVzdHJpY3Rpb25zIiwiRGVsZXRhYmxlIiwiaXNQYXRoSW5zZXJ0YWJsZSIsIkluc2VydFJlc3RyaWN0aW9ucyIsIkluc2VydGFibGUiLCJjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMiLCJhbGxvd2VkRXhwcmVzc2lvbiIsImZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMiLCJGaWx0ZXJSZXN0cmljdGlvbnMiLCJGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zIiwiY3VycmVudE9iamVjdFJlc3RyaWN0aW9uIiwicmVzdHJpY3Rpb24iLCJQcm9wZXJ0eSIsImluZGV4T2YiLCJBbGxvd2VkRXhwcmVzc2lvbnMiLCJ0b1N0cmluZyIsImNoZWNrRnVuY3Rpb24iLCJjb25zdGFudCIsInBhcmVudEVudGl0eVNldCIsInZpc2l0ZWROYXZpZ2F0aW9uUHJvcHNOYW1lIiwiYWxsVmlzaXRlZE5hdmlnYXRpb25Qcm9wcyIsInJlc2V0VmlzaXRlZE5hdlByb3BzIiwibmF2aWdhdGlvblByb3BlcnR5IiwiY29udGFpbnNUYXJnZXQiLCJmdWxsTmF2aWdhdGlvblBhdGgiLCJyZXN0cmljdGlvbnMiLCJfcGFyZW50RW50aXR5U2V0IiwiYW5ub3RhdGlvbnMiLCJDYXBhYmlsaXRpZXMiLCJOYXZpZ2F0aW9uUmVzdHJpY3Rpb25zIiwiUmVzdHJpY3RlZFByb3BlcnRpZXMiLCJyZXN0cmljdGVkTmF2UHJvcCIsIk5hdmlnYXRpb25Qcm9wZXJ0eSIsInJlc3RyaWN0aW9uRGVmaW5pdGlvbiIsIl9hbGxWaXNpdGVkTmF2aWdhdGlvblByb3BzIiwicGF0aFJlbGF0aXZlTG9jYXRpb24iLCJwYXRoVmlzaXRvckZ1bmN0aW9uIiwicGF0aFZpc2l0b3IiLCJnZXRQYXRoVmlzaXRvckZvclNpbmdsZXRvbiIsImVxdWFsIiwiZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uIiwidGFyZ2V0UmVzdHJpY3Rpb25zIiwiaWdub3JlVGFyZ2V0Q29sbGVjdGlvbiIsImF1dGhvcml6ZVVucmVzb2x2YWJsZSIsInVucmVzb2x2ZWFibGVFeHByZXNzaW9uIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUFzQ08sTUFBTUEsdUJBQXVCLEdBQUcsVUFDdENDLFdBRHNDLEVBR2Y7QUFBQSxRQUR2QkMsZUFDdUIsdUVBRGlCLEVBQ2pCOztBQUN2QixRQUFJLENBQUNELFdBQUwsRUFBa0I7QUFDakIsYUFBT0MsZUFBUDtBQUNBLEtBRkQsTUFFTyxJQUFJQSxlQUFlLENBQUNDLE1BQWhCLElBQTBCRixXQUFXLENBQUNHLG9CQUFaLENBQWlDRCxNQUEvRCxFQUF1RTtBQUM3RSxVQUFJRSxpQkFBdUMsR0FBRyxFQUE5QztBQUNBSixNQUFBQSxXQUFXLENBQUNHLG9CQUFaLENBQWlDRSxPQUFqQyxDQUF5QyxVQUFDQyxPQUFELEVBQVVDLFFBQVYsRUFBdUI7QUFDL0QsWUFBSU4sZUFBZSxDQUFDTSxRQUFELENBQWYsS0FBOEJELE9BQWxDLEVBQTJDO0FBQzFDRixVQUFBQSxpQkFBaUIsQ0FBQ0ksSUFBbEIsQ0FBdUJQLGVBQWUsQ0FBQ00sUUFBRCxDQUF0QztBQUNBO0FBQ0QsT0FKRDtBQUtBSCxNQUFBQSxpQkFBaUIsR0FBR0EsaUJBQWlCLENBQUNLLE1BQWxCLENBQXlCUixlQUFlLENBQUNTLEtBQWhCLENBQXNCVixXQUFXLENBQUNHLG9C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SUE7QUFDRDs7QUFFRCxXQUNDWCxZQUFZLElBQUlnQixrQkFBaEIsS0FBdUNsRCwwQkFBMEIsU0FBMUIsSUFBQUEsMEJBQTBCLFdBQTFCLElBQUFBLDBCQUEwQixDQUFFb0QscUJBQTVCLEdBQW9EQyx1QkFBcEQsR0FBOEUzQixRQUFRLENBQUMsSUFBRCxDQUE3SCxDQUREO0FBR0EsR0FyR00sQyxDQXNHUDtBQUNBO0FBQ0E7Ozs7O0FBQ0EsTUFBTXFCLDBCQUEwQixHQUFHLFVBQVVELFdBQVYsRUFBaUNGLG9CQUFqQyxFQUFpRTtBQUNuRyxXQUFPLFVBQVVqRixJQUFWLEVBQXdCO0FBQzlCLGFBQU9tRixXQUFXLENBQUNuRixJQUFELEVBQU9pRixvQkFBUCxDQUFsQjtBQUNBLEtBRkQ7QUFHQSxHQUpEIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG5cdENvbnZlcnRlZE1ldGFkYXRhLFxuXHRFbnRpdHlTZXQsXG5cdEVudGl0eVR5cGUsXG5cdE5hdmlnYXRpb25Qcm9wZXJ0eSxcblx0UHJvcGVydHksXG5cdFByb3BlcnR5UGF0aCxcblx0U2luZ2xldG9uXG59IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUge1xuXHRGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25UeXBlVHlwZXMsXG5cdE5hdmlnYXRpb25Qcm9wZXJ0eVJlc3RyaWN0aW9uLFxuXHROYXZpZ2F0aW9uUHJvcGVydHlSZXN0cmljdGlvblR5cGVzXG59IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvQ2FwYWJpbGl0aWVzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdEVudGl0eVNldEFubm90YXRpb25zX0NhcGFiaWxpdGllcyxcblx0RW50aXR5VHlwZUFubm90YXRpb25zX0NhcGFiaWxpdGllc1xufSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0NhcGFiaWxpdGllc19FZG1cIjtcbmltcG9ydCB0eXBlIHsgQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGNvbnN0YW50LCBlcXVhbCwgZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uLCB1bnJlc29sdmVhYmxlRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5T3JQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGlzcGxheU1vZGVGb3JtYXR0ZXJcIjtcbmltcG9ydCB7IGlzQW5ub3RhdGlvblBhdGhFeHByZXNzaW9uLCBpc1BhdGhFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvUHJvcGVydHlIZWxwZXJcIjtcblxuZXhwb3J0IHR5cGUgRGF0YU1vZGVsT2JqZWN0UGF0aCA9IHtcblx0c3RhcnRpbmdFbnRpdHlTZXQ6IEVudGl0eVNldDtcblx0Y29udGV4dExvY2F0aW9uPzogRGF0YU1vZGVsT2JqZWN0UGF0aDtcblx0bmF2aWdhdGlvblByb3BlcnRpZXM6IE5hdmlnYXRpb25Qcm9wZXJ0eVtdO1xuXHR0YXJnZXRFbnRpdHlTZXQ/OiBFbnRpdHlTZXQ7XG5cdHRhcmdldEVudGl0eVR5cGU6IEVudGl0eVR5cGU7XG5cdHRhcmdldE9iamVjdDogYW55O1xuXHRjb252ZXJ0ZWRUeXBlczogQ29udmVydGVkTWV0YWRhdGE7XG59O1xuXG50eXBlIEV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoID0ge1xuXHRwcm9wZXJ0eVBhdGg/OiBQcm9wZXJ0eU9yUGF0aDxQcm9wZXJ0eT47XG5cdHBhdGhWaXNpdG9yPzogRnVuY3Rpb247XG5cdGlnbm9yZVRhcmdldENvbGxlY3Rpb24/OiBib29sZWFuO1xuXHRhdXRob3JpemVVbnJlc29sdmFibGU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uID0gZnVuY3Rpb24gKFxuXHRjb250ZXh0UGF0aD86IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdHZpc2l0ZWROYXZQcm9wczogTmF2aWdhdGlvblByb3BlcnR5W10gPSBbXVxuKTogTmF2aWdhdGlvblByb3BlcnR5W10ge1xuXHRpZiAoIWNvbnRleHRQYXRoKSB7XG5cdFx0cmV0dXJuIHZpc2l0ZWROYXZQcm9wcztcblx0fSBlbHNlIGlmICh2aXNpdGVkTmF2UHJvcHMubGVuZ3RoID49IGNvbnRleHRQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmxlbmd0aCkge1xuXHRcdGxldCByZW1haW5pbmdOYXZQcm9wczogTmF2aWdhdGlvblByb3BlcnR5W10gPSBbXTtcblx0XHRjb250ZXh0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcy5mb3JFYWNoKChuYXZQcm9wLCBuYXZJbmRleCkgPT4ge1xuXHRcdFx0aWYgKHZpc2l0ZWROYXZQcm9wc1tuYXZJbmRleF0gIT09IG5hdlByb3ApIHtcblx0XHRcdFx0cmVtYWluaW5nTmF2UHJvcHMucHVzaCh2aXNpdGVkTmF2UHJvcHNbbmF2SW5kZXhdKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRyZW1haW5pbmdOYXZQcm9wcyA9IHJlbWFpbmluZ05hdlByb3BzLmNvbmNhdCh2aXNpdGVkTmF2UHJvcHMuc2xpY2UoY29udGV4dFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMubGVuZ3RoKSk7XG5cdFx0Ly8gQ2xlYW4gdXAgTmF2UHJvcCAtPiBPd25lclxuXHRcdGxldCBjdXJyZW50SWR4ID0gMDtcblx0XHR3aGlsZSAocmVtYWluaW5nTmF2UHJvcHMubGVuZ3RoID4gMSAmJiBjdXJyZW50SWR4ICE9IHJlbWFpbmluZ05hdlByb3BzLmxlbmd0aCAtIDEpIHtcblx0XHRcdGNvbnN0IGN1cnJlbnROYXYgPSByZW1haW5pbmdOYXZQcm9wc1tjdXJyZW50SWR4XTtcblx0XHRcdGNvbnN0IG5leHROYXZQcm9wID0gcmVtYWluaW5nTmF2UHJvcHNbY3VycmVudElkeCArIDFdO1xuXHRcdFx0aWYgKGN1cnJlbnROYXYucGFydG5lciA9PT0gbmV4dE5hdlByb3AubmFtZSkge1xuXHRcdFx0XHRyZW1haW5pbmdOYXZQcm9wcy5zcGxpY2UoMCwgMik7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjdXJyZW50SWR4Kys7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiByZW1haW5pbmdOYXZQcm9wcztcblx0fSBlbHNlIHtcblx0XHRsZXQgZXh0cmFOYXZQcm9wOiBOYXZpZ2F0aW9uUHJvcGVydHlbXSA9IFtdO1xuXHRcdHZpc2l0ZWROYXZQcm9wcy5mb3JFYWNoKChuYXZQcm9wLCBuYXZJbmRleCkgPT4ge1xuXHRcdFx0aWYgKGNvbnRleHRQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzW25hdkluZGV4XSAhPT0gbmF2UHJvcCkge1xuXHRcdFx0XHRleHRyYU5hdlByb3AucHVzaCh2aXNpdGVkTmF2UHJvcHNbbmF2SW5kZXhdKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRleHRyYU5hdlByb3AgPSBleHRyYU5hdlByb3AuY29uY2F0KGNvbnRleHRQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLnNsaWNlKHZpc2l0ZWROYXZQcm9wcy5sZW5ndGgpKTtcblx0XHQvLyBDbGVhbiB1cCBOYXZQcm9wIC0+IE93bmVyXG5cdFx0bGV0IGN1cnJlbnRJZHggPSAwO1xuXHRcdHdoaWxlIChleHRyYU5hdlByb3AubGVuZ3RoID4gMSAmJiBjdXJyZW50SWR4ICE9IGV4dHJhTmF2UHJvcC5sZW5ndGggLSAxKSB7XG5cdFx0XHRjb25zdCBjdXJyZW50TmF2ID0gZXh0cmFOYXZQcm9wW2N1cnJlbnRJZHhdO1xuXHRcdFx0Y29uc3QgbmV4dE5hdlByb3AgPSBleHRyYU5hdlByb3BbY3VycmVudElkeCArIDFdO1xuXHRcdFx0aWYgKGN1cnJlbnROYXYucGFydG5lciA9PT0gbmV4dE5hdlByb3AubmFtZSkge1xuXHRcdFx0XHRleHRyYU5hdlByb3Auc3BsaWNlKDAsIDIpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y3VycmVudElkeCsrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRleHRyYU5hdlByb3AgPSBleHRyYU5hdlByb3AubWFwKChuYXZQcm9wKSA9PiB7XG5cdFx0XHRyZXR1cm4gbmF2UHJvcC50YXJnZXRUeXBlLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmZpbmQoKG5wKSA9PiBucC5uYW1lID09PSBuYXZQcm9wLnBhcnRuZXIpIGFzIE5hdmlnYXRpb25Qcm9wZXJ0eTtcblx0XHR9KTtcblx0XHRyZXR1cm4gZXh0cmFOYXZQcm9wO1xuXHR9XG59O1xuXG5leHBvcnQgY29uc3QgZW5oYW5jZURhdGFNb2RlbFBhdGggPSBmdW5jdGlvbiAoXG5cdGRhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdHByb3BlcnR5UGF0aD86IFByb3BlcnR5T3JQYXRoPFByb3BlcnR5PlxuKTogRGF0YU1vZGVsT2JqZWN0UGF0aCB7XG5cdGxldCBzUHJvcGVydHlQYXRoOiBzdHJpbmcgPSBcIlwiO1xuXHRpZiAoKGlzUGF0aEV4cHJlc3Npb24ocHJvcGVydHlQYXRoKSB8fCBpc0Fubm90YXRpb25QYXRoRXhwcmVzc2lvbihwcm9wZXJ0eVBhdGgpKSAmJiBwcm9wZXJ0eVBhdGgucGF0aCkge1xuXHRcdHNQcm9wZXJ0eVBhdGggPSBwcm9wZXJ0eVBhdGgucGF0aDtcblx0fSBlbHNlIGlmICh0eXBlb2YgcHJvcGVydHlQYXRoID09PSBcInN0cmluZ1wiKSB7XG5cdFx0c1Byb3BlcnR5UGF0aCA9IHByb3BlcnR5UGF0aDtcblx0fVxuXHRsZXQgb1RhcmdldDtcblx0aWYgKGlzUGF0aEV4cHJlc3Npb24ocHJvcGVydHlQYXRoKSB8fCBpc0Fubm90YXRpb25QYXRoRXhwcmVzc2lvbihwcm9wZXJ0eVBhdGgpKSB7XG5cdFx0b1RhcmdldCA9IHByb3BlcnR5UGF0aC4kdGFyZ2V0O1xuXHR9IGVsc2UgaWYgKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0RW50aXR5VHlwZSkge1xuXHRcdG9UYXJnZXQgPSBkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldEVudGl0eVR5cGUucmVzb2x2ZVBhdGgoc1Byb3BlcnR5UGF0aCk7XG5cdH0gZWxzZSB7XG5cdFx0b1RhcmdldCA9IGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0O1xuXHR9XG5cdGNvbnN0IGFQYXRoU3BsaXQgPSBzUHJvcGVydHlQYXRoLnNwbGl0KFwiL1wiKTtcblx0bGV0IGN1cnJlbnRFbnRpdHlTZXQgPSBkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldEVudGl0eVNldDtcblx0bGV0IGN1cnJlbnRFbnRpdHlUeXBlID0gZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRFbnRpdHlUeXBlO1xuXHRjb25zdCBuYXZpZ2F0aW9uUHJvcGVydGllcyA9IGRhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMuY29uY2F0KCk7XG5cdC8vIFByb2Nlc3Mgb25seSBpZiB3ZSBoYXZlIHRvIGdvIHRocm91Z2ggbmF2aWdhdGlvbiBwcm9wZXJ0aWVzXG5cblx0bGV0IHJlZHVjZWRFbnRpdHlUeXBlOiBFbnRpdHlUeXBlIHwgdW5kZWZpbmVkID0gZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRFbnRpdHlUeXBlO1xuXHRhUGF0aFNwbGl0LmZvckVhY2goKHBhdGhQYXJ0OiBzdHJpbmcpID0+IHtcblx0XHRpZiAoIXJlZHVjZWRFbnRpdHlUeXBlKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IHBvdGVudGlhbE5hdlByb3AgPSByZWR1Y2VkRW50aXR5VHlwZS5uYXZpZ2F0aW9uUHJvcGVydGllcy5maW5kKChuYXZQcm9wKSA9PiBuYXZQcm9wLm5hbWUgPT09IHBhdGhQYXJ0KTtcblx0XHRpZiAocG90ZW50aWFsTmF2UHJvcCkge1xuXHRcdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaChwb3RlbnRpYWxOYXZQcm9wKTtcblx0XHRcdGN1cnJlbnRFbnRpdHlUeXBlID0gcG90ZW50aWFsTmF2UHJvcC50YXJnZXRUeXBlO1xuXHRcdFx0aWYgKGN1cnJlbnRFbnRpdHlTZXQgJiYgY3VycmVudEVudGl0eVNldC5uYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nLmhhc093blByb3BlcnR5KHBhdGhQYXJ0KSkge1xuXHRcdFx0XHRjdXJyZW50RW50aXR5U2V0ID0gY3VycmVudEVudGl0eVNldC5uYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nW3BhdGhQYXJ0XSBhcyBFbnRpdHlTZXQ7XG5cdFx0XHR9XG5cdFx0XHRyZWR1Y2VkRW50aXR5VHlwZSA9IGN1cnJlbnRFbnRpdHlUeXBlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZWR1Y2VkRW50aXR5VHlwZSA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdH0pO1xuXG5cdHJldHVybiB7XG5cdFx0c3RhcnRpbmdFbnRpdHlTZXQ6IGRhdGFNb2RlbE9iamVjdFBhdGguc3RhcnRpbmdFbnRpdHlTZXQsXG5cdFx0bmF2aWdhdGlvblByb3BlcnRpZXM6IG5hdmlnYXRpb25Qcm9wZXJ0aWVzLFxuXHRcdGNvbnRleHRMb2NhdGlvbjogZGF0YU1vZGVsT2JqZWN0UGF0aC5jb250ZXh0TG9jYXRpb24sXG5cdFx0dGFyZ2V0RW50aXR5U2V0OiBjdXJyZW50RW50aXR5U2V0LFxuXHRcdHRhcmdldEVudGl0eVR5cGU6IGN1cnJlbnRFbnRpdHlUeXBlLFxuXHRcdHRhcmdldE9iamVjdDogb1RhcmdldCxcblx0XHRjb252ZXJ0ZWRUeXBlczogZGF0YU1vZGVsT2JqZWN0UGF0aC5jb252ZXJ0ZWRUeXBlc1xuXHR9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRhcmdldEVudGl0eVNldFBhdGggPSBmdW5jdGlvbiAoZGF0YU1vZGVsT2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCk6IHN0cmluZyB7XG5cdGxldCB0YXJnZXRFbnRpdHlTZXRQYXRoOiBzdHJpbmcgPSBgLyR7ZGF0YU1vZGVsT2JqZWN0UGF0aC5zdGFydGluZ0VudGl0eVNldC5uYW1lfWA7XG5cdGxldCBjdXJyZW50RW50aXR5U2V0ID0gZGF0YU1vZGVsT2JqZWN0UGF0aC5zdGFydGluZ0VudGl0eVNldDtcblx0bGV0IG5hdmlnYXRlZFBhdGhzOiBzdHJpbmdbXSA9IFtdO1xuXHRkYXRhTW9kZWxPYmplY3RQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmZvckVhY2goKG5hdlByb3ApID0+IHtcblx0XHRuYXZpZ2F0ZWRQYXRocy5wdXNoKG5hdlByb3AubmFtZSk7XG5cdFx0aWYgKGN1cnJlbnRFbnRpdHlTZXQgJiYgY3VycmVudEVudGl0eVNldC5uYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nLmhhc093blByb3BlcnR5KG5hdmlnYXRlZFBhdGhzLmpvaW4oXCIvXCIpKSkge1xuXHRcdFx0dGFyZ2V0RW50aXR5U2V0UGF0aCArPSBgLyROYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nLyR7bmF2aWdhdGVkUGF0aHMuam9pbihcIi9cIil9LyRgO1xuXHRcdFx0Y3VycmVudEVudGl0eVNldCA9IGN1cnJlbnRFbnRpdHlTZXQubmF2aWdhdGlvblByb3BlcnR5QmluZGluZ1tuYXZpZ2F0ZWRQYXRocy5qb2luKFwiL1wiKV0gYXMgRW50aXR5U2V0O1xuXHRcdFx0bmF2aWdhdGVkUGF0aHMgPSBbXTtcblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gdGFyZ2V0RW50aXR5U2V0UGF0aDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUYXJnZXRPYmplY3RQYXRoID0gZnVuY3Rpb24gKGRhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsIGJSZWxhdGl2ZTogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcblx0bGV0IHBhdGggPSBcIlwiO1xuXHRpZiAoIWRhdGFNb2RlbE9iamVjdFBhdGguc3RhcnRpbmdFbnRpdHlTZXQpIHtcblx0XHRyZXR1cm4gXCIvXCI7XG5cdH1cblx0aWYgKCFiUmVsYXRpdmUpIHtcblx0XHRwYXRoICs9IGAvJHtkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0Lm5hbWV9YDtcblx0fVxuXHRpZiAoZGF0YU1vZGVsT2JqZWN0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcy5sZW5ndGggPiAwKSB7XG5cdFx0aWYgKHBhdGgubGVuZ3RoID4gMCkge1xuXHRcdFx0cGF0aCArPSBcIi9cIjtcblx0XHR9XG5cdFx0cGF0aCArPSBkYXRhTW9kZWxPYmplY3RQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLm1hcCgobmF2UHJvcCkgPT4gbmF2UHJvcC5uYW1lKS5qb2luKFwiL1wiKTtcblx0fVxuXG5cdGlmIChcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCAmJlxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Lm5hbWUgJiZcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5fdHlwZSAhPT0gXCJOYXZpZ2F0aW9uUHJvcGVydHlcIiAmJlxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Ll90eXBlICE9PSBcIkVudGl0eVR5cGVcIiAmJlxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0ICE9PSBkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0XG5cdCkge1xuXHRcdGlmICghcGF0aC5lbmRzV2l0aChcIi9cIikpIHtcblx0XHRcdHBhdGggKz0gXCIvXCI7XG5cdFx0fVxuXHRcdHBhdGggKz0gYCR7ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QubmFtZX1gO1xuXHR9IGVsc2UgaWYgKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0ICYmIGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Lmhhc093blByb3BlcnR5KFwidGVybVwiKSkge1xuXHRcdGlmIChwYXRoLmxlbmd0aCA+IDAgJiYgIXBhdGguZW5kc1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRwYXRoICs9IFwiL1wiO1xuXHRcdH1cblx0XHRwYXRoICs9IGBAJHtkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC50ZXJtfWA7XG5cdH1cblx0cmV0dXJuIHBhdGg7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29udGV4dFJlbGF0aXZlVGFyZ2V0T2JqZWN0UGF0aCA9IGZ1bmN0aW9uIChcblx0ZGF0YU1vZGVsT2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCxcblx0Zm9yQmluZGluZ0V4cHJlc3Npb246IGJvb2xlYW4gPSBmYWxzZVxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0Y29uc3QgbmF2UHJvcGVydGllcyA9IGdldFBhdGhSZWxhdGl2ZUxvY2F0aW9uKGRhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLCBkYXRhTW9kZWxPYmplY3RQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzKTtcblx0aWYgKGZvckJpbmRpbmdFeHByZXNzaW9uKSB7XG5cdFx0aWYgKG5hdlByb3BlcnRpZXMuZmluZCgobnApID0+IG5wLmlzQ29sbGVjdGlvbikpIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9XG5cdGxldCBwYXRoID0gbmF2UHJvcGVydGllcy5tYXAoKG5wKSA9PiBucC5uYW1lKS5qb2luKFwiL1wiKTtcblx0aWYgKFxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0ICYmXG5cdFx0KGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Lm5hbWUgfHxcblx0XHRcdChkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC50eXBlID09PSBcIlByb3BlcnR5UGF0aFwiICYmIGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LnZhbHVlKSkgJiZcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5fdHlwZSAhPT0gXCJOYXZpZ2F0aW9uUHJvcGVydHlcIiAmJlxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0ICE9PSBkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0XG5cdCkge1xuXHRcdGlmIChwYXRoLmxlbmd0aCA+IDAgJiYgIXBhdGguZW5kc1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRwYXRoICs9IFwiL1wiO1xuXHRcdH1cblx0XHRwYXRoICs9XG5cdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC50eXBlID09PSBcIlByb3BlcnR5UGF0aFwiXG5cdFx0XHRcdD8gYCR7ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QudmFsdWV9YFxuXHRcdFx0XHQ6IGAke2RhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Lm5hbWV9YDtcblx0fSBlbHNlIGlmIChkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCAmJiBkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5oYXNPd25Qcm9wZXJ0eShcInRlcm1cIikpIHtcblx0XHRpZiAocGF0aC5sZW5ndGggPiAwICYmICFwYXRoLmVuZHNXaXRoKFwiL1wiKSkge1xuXHRcdFx0cGF0aCArPSBcIi9cIjtcblx0XHR9XG5cdFx0cGF0aCArPSBgQCR7ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QudGVybX1gO1xuXHRcdGlmIChkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5oYXNPd25Qcm9wZXJ0eShcInF1YWxpZmllclwiKSAmJiAhIWRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LnF1YWxpZmllcikge1xuXHRcdFx0cGF0aCArPSBgIyR7ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QucXVhbGlmaWVyfWA7XG5cdFx0fVxuXHR9IGVsc2UgaWYgKCFkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCkge1xuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIHBhdGg7XG59O1xuXG5leHBvcnQgY29uc3QgaXNQYXRoVXBkYXRhYmxlID0gZnVuY3Rpb24gKFxuXHRkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoIHwgdW5kZWZpbmVkLFxuXHRleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aD86IEV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoXG4pOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248Ym9vbGVhbj4ge1xuXHRyZXR1cm4gY2hlY2tPblBhdGgoXG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aCxcblx0XHQoYW5ub3RhdGlvbk9iamVjdDogTmF2aWdhdGlvblByb3BlcnR5UmVzdHJpY3Rpb24gfCBFbnRpdHlTZXRBbm5vdGF0aW9uc19DYXBhYmlsaXRpZXMpID0+IHtcblx0XHRcdHJldHVybiBhbm5vdGF0aW9uT2JqZWN0Py5VcGRhdGVSZXN0cmljdGlvbnM/LlVwZGF0YWJsZTtcblx0XHR9LFxuXHRcdGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoXG5cdCk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNQYXRoU2VhcmNoYWJsZSA9IGZ1bmN0aW9uIChcblx0ZGF0YU1vZGVsT2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCB8IHVuZGVmaW5lZCxcblx0ZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGg/OiBFeHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aFxuKTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0cmV0dXJuIGNoZWNrT25QYXRoKFxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgsXG5cdFx0KGFubm90YXRpb25PYmplY3Q6IE5hdmlnYXRpb25Qcm9wZXJ0eVJlc3RyaWN0aW9uIHwgRW50aXR5U2V0QW5ub3RhdGlvbnNfQ2FwYWJpbGl0aWVzKSA9PiB7XG5cdFx0XHRyZXR1cm4gYW5ub3RhdGlvbk9iamVjdD8uU2VhcmNoUmVzdHJpY3Rpb25zPy5TZWFyY2hhYmxlO1xuXHRcdH0sXG5cdFx0ZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGhcblx0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1BhdGhEZWxldGFibGUgPSBmdW5jdGlvbiAoXG5cdGRhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGggfCB1bmRlZmluZWQsXG5cdGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoPzogRXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGhcbik6IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxib29sZWFuPiB7XG5cdHJldHVybiBjaGVja09uUGF0aChcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRcdChhbm5vdGF0aW9uT2JqZWN0OiBOYXZpZ2F0aW9uUHJvcGVydHlSZXN0cmljdGlvbiB8IEVudGl0eVNldEFubm90YXRpb25zX0NhcGFiaWxpdGllcykgPT4ge1xuXHRcdFx0cmV0dXJuIGFubm90YXRpb25PYmplY3Q/LkRlbGV0ZVJlc3RyaWN0aW9ucz8uRGVsZXRhYmxlO1xuXHRcdH0sXG5cdFx0ZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGhcblx0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1BhdGhJbnNlcnRhYmxlID0gZnVuY3Rpb24gKFxuXHRkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoIHwgdW5kZWZpbmVkLFxuXHRleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aD86IEV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoXG4pOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248Ym9vbGVhbj4ge1xuXHRyZXR1cm4gY2hlY2tPblBhdGgoXG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aCxcblx0XHQoYW5ub3RhdGlvbk9iamVjdDogTmF2aWdhdGlvblByb3BlcnR5UmVzdHJpY3Rpb24gfCBFbnRpdHlTZXRBbm5vdGF0aW9uc19DYXBhYmlsaXRpZXMpID0+IHtcblx0XHRcdHJldHVybiBhbm5vdGF0aW9uT2JqZWN0Py5JbnNlcnRSZXN0cmljdGlvbnM/Lkluc2VydGFibGU7XG5cdFx0fSxcblx0XHRleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aFxuXHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNoZWNrRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyA9IGZ1bmN0aW9uIChcblx0ZGF0YU1vZGVsT2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCxcblx0YWxsb3dlZEV4cHJlc3Npb246IChzdHJpbmcgfCB1bmRlZmluZWQpW11cbik6IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxib29sZWFuPiB7XG5cdHJldHVybiBjaGVja09uUGF0aChcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRcdChhbm5vdGF0aW9uT2JqZWN0OiBOYXZpZ2F0aW9uUHJvcGVydHlSZXN0cmljdGlvbiB8IEVudGl0eVNldEFubm90YXRpb25zX0NhcGFiaWxpdGllcyB8IEVudGl0eVR5cGVBbm5vdGF0aW9uc19DYXBhYmlsaXRpZXMpID0+IHtcblx0XHRcdGlmIChhbm5vdGF0aW9uT2JqZWN0ICYmIFwiRmlsdGVyUmVzdHJpY3Rpb25zXCIgaW4gYW5ub3RhdGlvbk9iamVjdCkge1xuXHRcdFx0XHRjb25zdCBmaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zOiBGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25UeXBlVHlwZXNbXSA9XG5cdFx0XHRcdFx0KGFubm90YXRpb25PYmplY3Q/LkZpbHRlclJlc3RyaWN0aW9ucz8uRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyBhcyBGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25UeXBlVHlwZXNbXSkgfHwgW107XG5cdFx0XHRcdGNvbnN0IGN1cnJlbnRPYmplY3RSZXN0cmljdGlvbiA9IGZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMuZmluZCgocmVzdHJpY3Rpb24pID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gKHJlc3RyaWN0aW9uLlByb3BlcnR5IGFzIFByb3BlcnR5UGF0aCkuJHRhcmdldCA9PT0gZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3Q7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRpZiAoY3VycmVudE9iamVjdFJlc3RyaWN0aW9uKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGFsbG93ZWRFeHByZXNzaW9uLmluZGV4T2YoY3VycmVudE9iamVjdFJlc3RyaWN0aW9uPy5BbGxvd2VkRXhwcmVzc2lvbnM/LnRvU3RyaW5nKCkpICE9PSAtMTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblx0XHR9XG5cdCk7XG59O1xuXG5leHBvcnQgY29uc3QgY2hlY2tPblBhdGggPSBmdW5jdGlvbiAoXG5cdGRhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGggfCB1bmRlZmluZWQsXG5cdGNoZWNrRnVuY3Rpb246IEZ1bmN0aW9uLFxuXHRleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aD86IEV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoXG4pOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248Ym9vbGVhbj4ge1xuXHRpZiAoIWRhdGFNb2RlbE9iamVjdFBhdGggfHwgIWRhdGFNb2RlbE9iamVjdFBhdGguc3RhcnRpbmdFbnRpdHlTZXQpIHtcblx0XHRyZXR1cm4gY29uc3RhbnQodHJ1ZSk7XG5cdH1cblxuXHRkYXRhTW9kZWxPYmplY3RQYXRoID0gZW5oYW5jZURhdGFNb2RlbFBhdGgoZGF0YU1vZGVsT2JqZWN0UGF0aCwgZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGg/LnByb3BlcnR5UGF0aCk7XG5cblx0bGV0IGN1cnJlbnRFbnRpdHlTZXQ6IEVudGl0eVNldCB8IFNpbmdsZXRvbiB8IG51bGwgPSBkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0O1xuXHRsZXQgcGFyZW50RW50aXR5U2V0OiBFbnRpdHlTZXQgfCBTaW5nbGV0b24gfCBudWxsID0gbnVsbDtcblx0bGV0IHZpc2l0ZWROYXZpZ2F0aW9uUHJvcHNOYW1lOiBzdHJpbmdbXSA9IFtdO1xuXHRjb25zdCBhbGxWaXNpdGVkTmF2aWdhdGlvblByb3BzOiBOYXZpZ2F0aW9uUHJvcGVydHlbXSA9IFtdO1xuXHRsZXQgdGFyZ2V0RW50aXR5U2V0OiBFbnRpdHlTZXQgfCBTaW5nbGV0b24gfCBudWxsID0gY3VycmVudEVudGl0eVNldDtcblx0Y29uc3QgdGFyZ2V0RW50aXR5VHlwZTogRW50aXR5VHlwZSB8IG51bGwgPSBkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldEVudGl0eVR5cGU7XG5cdGxldCByZXNldFZpc2l0ZWROYXZQcm9wcyA9IGZhbHNlO1xuXG5cdGRhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMuZm9yRWFjaCgobmF2aWdhdGlvblByb3BlcnR5OiBOYXZpZ2F0aW9uUHJvcGVydHkpID0+IHtcblx0XHRpZiAocmVzZXRWaXNpdGVkTmF2UHJvcHMpIHtcblx0XHRcdHZpc2l0ZWROYXZpZ2F0aW9uUHJvcHNOYW1lID0gW107XG5cdFx0fVxuXHRcdHZpc2l0ZWROYXZpZ2F0aW9uUHJvcHNOYW1lLnB1c2gobmF2aWdhdGlvblByb3BlcnR5Lm5hbWUpO1xuXHRcdGFsbFZpc2l0ZWROYXZpZ2F0aW9uUHJvcHMucHVzaChuYXZpZ2F0aW9uUHJvcGVydHkpO1xuXHRcdGlmICghbmF2aWdhdGlvblByb3BlcnR5LmNvbnRhaW5zVGFyZ2V0KSB7XG5cdFx0XHQvLyBXZSBzaG91bGQgaGF2ZSBhIG5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXRoIHNvIGZhciB3aGljaCBjYW4gY29uc2lzdCBvZiAoW0NvbnRhaW5tZW50TmF2UHJvcF0vKSpbTmF2UHJvcF1cblx0XHRcdGNvbnN0IGZ1bGxOYXZpZ2F0aW9uUGF0aCA9IHZpc2l0ZWROYXZpZ2F0aW9uUHJvcHNOYW1lLmpvaW4oXCIvXCIpO1xuXHRcdFx0aWYgKGN1cnJlbnRFbnRpdHlTZXQgJiYgY3VycmVudEVudGl0eVNldC5uYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nLmhhc093blByb3BlcnR5KGZ1bGxOYXZpZ2F0aW9uUGF0aCkpIHtcblx0XHRcdFx0cGFyZW50RW50aXR5U2V0ID0gY3VycmVudEVudGl0eVNldDtcblx0XHRcdFx0Y3VycmVudEVudGl0eVNldCA9IGN1cnJlbnRFbnRpdHlTZXQubmF2aWdhdGlvblByb3BlcnR5QmluZGluZ1tmdWxsTmF2aWdhdGlvblBhdGhdO1xuXHRcdFx0XHR0YXJnZXRFbnRpdHlTZXQgPSBjdXJyZW50RW50aXR5U2V0O1xuXHRcdFx0XHQvLyBJZiB3ZSByZWFjaGVkIGEgbmF2aWdhdGlvbiBwcm9wZXJ0eSB3aXRoIGEgbmF2aWdhdGlvbnByb3BlcnR5YmluZGluZywgd2UgbmVlZCB0byByZXNldCB0aGUgdmlzaXRlZCBwYXRoIG9uIHRoZSBuZXh0IGl0ZXJhdGlvbiAoaWYgdGhlcmUgaXMgb25lKVxuXHRcdFx0XHRyZXNldFZpc2l0ZWROYXZQcm9wcyA9IHRydWU7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBXZSByZWFsbHkgc2hvdWxkIG5vdCBlbmQgdXAgaGVyZSBidXQgYXQgbGVhc3QgbGV0J3MgdHJ5IHRvIGF2b2lkIGluY29ycmVjdCBiZWhhdmlvclxuXHRcdFx0XHRwYXJlbnRFbnRpdHlTZXQgPSBjdXJyZW50RW50aXR5U2V0O1xuXHRcdFx0XHRjdXJyZW50RW50aXR5U2V0ID0gbnVsbDtcblx0XHRcdFx0cmVzZXRWaXNpdGVkTmF2UHJvcHMgPSB0cnVlO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRwYXJlbnRFbnRpdHlTZXQgPSBjdXJyZW50RW50aXR5U2V0O1xuXHRcdFx0dGFyZ2V0RW50aXR5U2V0ID0gbnVsbDtcblx0XHR9XG5cdH0pO1xuXG5cdC8vIEF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBuYXZpZ2F0ZWQgZG93biBhbGwgdGhlIG5hdiBwcm9wIGFuZCB3ZSBzaG91bGQgaGF2ZVxuXHQvLyBUaGUgdGFyZ2V0IGVudGl0eVNldCBwb2ludGluZyB0byBlaXRoZXIgbnVsbCAoaW4gY2FzZSBvZiBjb250YWlubWVudCBuYXZwcm9wIGEgbGFzdCBwYXJ0KSwgb3IgdGhlIGFjdHVhbCB0YXJnZXQgKG5vbiBjb250YWlubWVudCBhcyB0YXJnZXQpXG5cdC8vIFRoZSBwYXJlbnQgZW50aXR5U2V0IHBvaW50aW5nIHRvIHRoZSBwcmV2aW91cyBlbnRpdHlTZXQgdXNlZCBpbiB0aGUgcGF0aFxuXHQvLyBWaXNpdGVkTmF2aWdhdGlvblBhdGggc2hvdWxkIGNvbnRhaW4gdGhlIHBhdGggdXAgdG8gdGhpcyBwcm9wZXJ0eVxuXG5cdC8vIFJlc3RyaWN0aW9ucyBzaG91bGQgdGhlbiBiZSBldmFsdWF0ZWQgYXMgUGFyZW50RW50aXR5U2V0Lk5hdlJlc3RyaWN0aW9uc1tOYXZQcm9wZXJ0eVBhdGhdIHx8IFRhcmdldEVudGl0eVNldC5SZXN0cmljdGlvbnNcblx0Y29uc3QgZnVsbE5hdmlnYXRpb25QYXRoID0gdmlzaXRlZE5hdmlnYXRpb25Qcm9wc05hbWUuam9pbihcIi9cIik7XG5cdGxldCByZXN0cmljdGlvbnMsIHZpc2l0ZWROYXZQcm9wcztcblx0aWYgKHBhcmVudEVudGl0eVNldCAhPT0gbnVsbCkge1xuXHRcdGNvbnN0IF9wYXJlbnRFbnRpdHlTZXQ6IEVudGl0eVNldCA9IHBhcmVudEVudGl0eVNldDtcblx0XHRfcGFyZW50RW50aXR5U2V0LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/Lk5hdmlnYXRpb25SZXN0cmljdGlvbnM/LlJlc3RyaWN0ZWRQcm9wZXJ0aWVzLmZvckVhY2goXG5cdFx0XHQocmVzdHJpY3RlZE5hdlByb3A6IE5hdmlnYXRpb25Qcm9wZXJ0eVJlc3RyaWN0aW9uVHlwZXMpID0+IHtcblx0XHRcdFx0aWYgKHJlc3RyaWN0ZWROYXZQcm9wLk5hdmlnYXRpb25Qcm9wZXJ0eT8udHlwZSA9PT0gXCJOYXZpZ2F0aW9uUHJvcGVydHlQYXRoXCIpIHtcblx0XHRcdFx0XHRjb25zdCByZXN0cmljdGlvbkRlZmluaXRpb24gPSBjaGVja0Z1bmN0aW9uKHJlc3RyaWN0ZWROYXZQcm9wKTtcblx0XHRcdFx0XHRpZiAoZnVsbE5hdmlnYXRpb25QYXRoID09PSByZXN0cmljdGVkTmF2UHJvcC5OYXZpZ2F0aW9uUHJvcGVydHkudmFsdWUgJiYgcmVzdHJpY3Rpb25EZWZpbml0aW9uICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRcdGNvbnN0IF9hbGxWaXNpdGVkTmF2aWdhdGlvblByb3BzID0gYWxsVmlzaXRlZE5hdmlnYXRpb25Qcm9wcy5zbGljZSgwLCAtMSk7XG5cdFx0XHRcdFx0XHR2aXNpdGVkTmF2UHJvcHMgPSBfYWxsVmlzaXRlZE5hdmlnYXRpb25Qcm9wcztcblx0XHRcdFx0XHRcdGNvbnN0IHBhdGhSZWxhdGl2ZUxvY2F0aW9uID0gZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24oZGF0YU1vZGVsT2JqZWN0UGF0aD8uY29udGV4dExvY2F0aW9uLCB2aXNpdGVkTmF2UHJvcHMpLm1hcChcblx0XHRcdFx0XHRcdFx0KG5wKSA9PiBucC5uYW1lXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0Y29uc3QgcGF0aFZpc2l0b3JGdW5jdGlvbiA9IGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoPy5wYXRoVmlzaXRvclxuXHRcdFx0XHRcdFx0XHQ/IGdldFBhdGhWaXNpdG9yRm9yU2luZ2xldG9uKGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoLnBhdGhWaXNpdG9yLCBwYXRoUmVsYXRpdmVMb2NhdGlvbilcblx0XHRcdFx0XHRcdFx0OiB1bmRlZmluZWQ7IC8vIHNlbmQgcGF0aFZpc2l0b3IgZnVuY3Rpb24gb25seSB3aGVuIGl0IGlzIGRlZmluZWQgYW5kIG9ubHkgc2VuZCBmdW5jdGlvbiBvciBkZWZpbmVkIGFzIGEgcGFyYW1ldGVyXG5cdFx0XHRcdFx0XHRyZXN0cmljdGlvbnMgPSBlcXVhbChcblx0XHRcdFx0XHRcdFx0Z2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKHJlc3RyaWN0aW9uRGVmaW5pdGlvbiwgcGF0aFJlbGF0aXZlTG9jYXRpb24sIHVuZGVmaW5lZCwgcGF0aFZpc2l0b3JGdW5jdGlvbiksXG5cdFx0XHRcdFx0XHRcdHRydWVcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0KTtcblx0fVxuXHRsZXQgdGFyZ2V0UmVzdHJpY3Rpb25zO1xuXHRpZiAoIWV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoPy5pZ25vcmVUYXJnZXRDb2xsZWN0aW9uKSB7XG5cdFx0bGV0IHJlc3RyaWN0aW9uRGVmaW5pdGlvbiA9IGNoZWNrRnVuY3Rpb24odGFyZ2V0RW50aXR5U2V0Py5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzKTtcblx0XHRpZiAodGFyZ2V0RW50aXR5U2V0ID09PSBudWxsICYmIHJlc3RyaWN0aW9uRGVmaW5pdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXN0cmljdGlvbkRlZmluaXRpb24gPSBjaGVja0Z1bmN0aW9uKHRhcmdldEVudGl0eVR5cGU/LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXMpO1xuXHRcdH1cblx0XHRpZiAocmVzdHJpY3Rpb25EZWZpbml0aW9uICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGNvbnN0IHBhdGhSZWxhdGl2ZUxvY2F0aW9uID0gZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24oZGF0YU1vZGVsT2JqZWN0UGF0aC5jb250ZXh0TG9jYXRpb24sIGFsbFZpc2l0ZWROYXZpZ2F0aW9uUHJvcHMpLm1hcChcblx0XHRcdFx0KG5wKSA9PiBucC5uYW1lXG5cdFx0XHQpO1xuXHRcdFx0Y29uc3QgcGF0aFZpc2l0b3JGdW5jdGlvbiA9IGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoPy5wYXRoVmlzaXRvclxuXHRcdFx0XHQ/IGdldFBhdGhWaXNpdG9yRm9yU2luZ2xldG9uKGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoLnBhdGhWaXNpdG9yLCBwYXRoUmVsYXRpdmVMb2NhdGlvbilcblx0XHRcdFx0OiB1bmRlZmluZWQ7XG5cdFx0XHR0YXJnZXRSZXN0cmljdGlvbnMgPSBlcXVhbChcblx0XHRcdFx0Z2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKHJlc3RyaWN0aW9uRGVmaW5pdGlvbiwgcGF0aFJlbGF0aXZlTG9jYXRpb24sIHVuZGVmaW5lZCwgcGF0aFZpc2l0b3JGdW5jdGlvbiksXG5cdFx0XHRcdHRydWVcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIChcblx0XHRyZXN0cmljdGlvbnMgfHwgdGFyZ2V0UmVzdHJpY3Rpb25zIHx8IChleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aD8uYXV0aG9yaXplVW5yZXNvbHZhYmxlID8gdW5yZXNvbHZlYWJsZUV4cHJlc3Npb24gOiBjb25zdGFudCh0cnVlKSlcblx0KTtcbn07XG4vLyBUaGlzIGhlbHBlciBtZXRob2QgaXMgdXNlZCB0byBhZGQgcmVsYXRpdmUgcGF0aCBsb2NhdGlvbiBhcmd1bWVudCB0byBzaW5nbGV0b25QYXRoVmlzaXRvckZ1bmN0aW9uIGkuZS4gcGF0aFZpc2l0b3Jcbi8vIHBhdGhWaXNpdG9yIG1ldGhvZCBpcyB1c2VkIGxhdGVyIHRvIGdldCB0aGUgY29ycmVjdCBiaW5kaW5ncyBmb3Igc2luZ2xldG9uIGVudGl0eVxuLy8gbWV0aG9kIGlzIGludm9rZWQgbGF0ZXIgaW4gcGF0aEluTW9kZWwoKSBtZXRob2QgdG8gZ2V0IHRoZSBjb3JyZWN0IGJpbmRpbmcuXG5jb25zdCBnZXRQYXRoVmlzaXRvckZvclNpbmdsZXRvbiA9IGZ1bmN0aW9uIChwYXRoVmlzaXRvcjogRnVuY3Rpb24sIHBhdGhSZWxhdGl2ZUxvY2F0aW9uOiBzdHJpbmdbXSkge1xuXHRyZXR1cm4gZnVuY3Rpb24gKHBhdGg6IHN0cmluZykge1xuXHRcdHJldHVybiBwYXRoVmlzaXRvcihwYXRoLCBwYXRoUmVsYXRpdmVMb2NhdGlvbik7XG5cdH07XG59O1xuIl19
424
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbiIsImNvbnRleHRQYXRoIiwidmlzaXRlZE5hdlByb3BzIiwibGVuZ3RoIiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJyZW1haW5pbmdOYXZQcm9wcyIsImZvckVhY2giLCJuYXZQcm9wIiwibmF2SW5kZXgiLCJwdXNoIiwiY29uY2F0Iiwic2xpY2UiLCJjdXJyZW50SWR4IiwiY3VycmVudE5hdiIsIm5leHROYXZQcm9wIiwicGFydG5lciIsIm5hbWUiLCJzcGxpY2UiLCJleHRyYU5hdlByb3AiLCJtYXAiLCJ0YXJnZXRUeXBlIiwiZmluZCIsIm5wIiwiZW5oYW5jZURhdGFNb2RlbFBhdGgiLCJkYXRhTW9kZWxPYmplY3RQYXRoIiwicHJvcGVydHlQYXRoIiwic1Byb3BlcnR5UGF0aCIsImlzUGF0aEV4cHJlc3Npb24iLCJpc0Fubm90YXRpb25QYXRoRXhwcmVzc2lvbiIsInBhdGgiLCJvVGFyZ2V0IiwiJHRhcmdldCIsInRhcmdldEVudGl0eVR5cGUiLCJyZXNvbHZlUGF0aCIsInRhcmdldE9iamVjdCIsImFQYXRoU3BsaXQiLCJzcGxpdCIsImN1cnJlbnRFbnRpdHlTZXQiLCJ0YXJnZXRFbnRpdHlTZXQiLCJjdXJyZW50RW50aXR5VHlwZSIsInJlZHVjZWRFbnRpdHlUeXBlIiwicGF0aFBhcnQiLCJwb3RlbnRpYWxOYXZQcm9wIiwibmF2aWdhdGlvblByb3BlcnR5QmluZGluZyIsImhhc093blByb3BlcnR5IiwidW5kZWZpbmVkIiwic3RhcnRpbmdFbnRpdHlTZXQiLCJjb250ZXh0TG9jYXRpb24iLCJjb252ZXJ0ZWRUeXBlcyIsImdldFRhcmdldEVudGl0eVNldFBhdGgiLCJ0YXJnZXRFbnRpdHlTZXRQYXRoIiwibmF2aWdhdGVkUGF0aHMiLCJqb2luIiwiZ2V0VGFyZ2V0T2JqZWN0UGF0aCIsImJSZWxhdGl2ZSIsIl90eXBlIiwiZW5kc1dpdGgiLCJ0ZXJtIiwiZ2V0Q29udGV4dFJlbGF0aXZlVGFyZ2V0T2JqZWN0UGF0aCIsImZvckJpbmRpbmdFeHByZXNzaW9uIiwibmF2UHJvcGVydGllcyIsImlzQ29sbGVjdGlvbiIsInR5cGUiLCJ2YWx1ZSIsInF1YWxpZmllciIsImlzUGF0aFVwZGF0YWJsZSIsImV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoIiwiY2hlY2tPblBhdGgiLCJhbm5vdGF0aW9uT2JqZWN0IiwiVXBkYXRlUmVzdHJpY3Rpb25zIiwiVXBkYXRhYmxlIiwiaXNQYXRoU2VhcmNoYWJsZSIsIlNlYXJjaFJlc3RyaWN0aW9ucyIsIlNlYXJjaGFibGUiLCJpc1BhdGhEZWxldGFibGUiLCJEZWxldGVSZXN0cmljdGlvbnMiLCJEZWxldGFibGUiLCJpc1BhdGhJbnNlcnRhYmxlIiwiSW5zZXJ0UmVzdHJpY3Rpb25zIiwiSW5zZXJ0YWJsZSIsImNoZWNrRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImFsbG93ZWRFeHByZXNzaW9uIiwiZmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsIkZpbHRlclJlc3RyaWN0aW9ucyIsIkZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMiLCJjdXJyZW50T2JqZWN0UmVzdHJpY3Rpb24iLCJyZXN0cmljdGlvbiIsIlByb3BlcnR5IiwiaW5kZXhPZiIsIkFsbG93ZWRFeHByZXNzaW9ucyIsInRvU3RyaW5nIiwiY2hlY2tGdW5jdGlvbiIsImNvbnN0YW50IiwicGFyZW50RW50aXR5U2V0IiwidmlzaXRlZE5hdmlnYXRpb25Qcm9wc05hbWUiLCJhbGxWaXNpdGVkTmF2aWdhdGlvblByb3BzIiwicmVzZXRWaXNpdGVkTmF2UHJvcHMiLCJuYXZpZ2F0aW9uUHJvcGVydHkiLCJjb250YWluc1RhcmdldCIsImZ1bGxOYXZpZ2F0aW9uUGF0aCIsInJlc3RyaWN0aW9ucyIsIl9wYXJlbnRFbnRpdHlTZXQiLCJhbm5vdGF0aW9ucyIsIkNhcGFiaWxpdGllcyIsIk5hdmlnYXRpb25SZXN0cmljdGlvbnMiLCJSZXN0cmljdGVkUHJvcGVydGllcyIsInJlc3RyaWN0ZWROYXZQcm9wIiwiTmF2aWdhdGlvblByb3BlcnR5IiwicmVzdHJpY3Rpb25EZWZpbml0aW9uIiwiX2FsbFZpc2l0ZWROYXZpZ2F0aW9uUHJvcHMiLCJwYXRoUmVsYXRpdmVMb2NhdGlvbiIsInBhdGhWaXNpdG9yRnVuY3Rpb24iLCJwYXRoVmlzaXRvciIsImdldFBhdGhWaXNpdG9yRm9yU2luZ2xldG9uIiwiZXF1YWwiLCJnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24iLCJ0YXJnZXRSZXN0cmljdGlvbnMiLCJpZ25vcmVUYXJnZXRDb2xsZWN0aW9uIiwiYXV0aG9yaXplVW5yZXNvbHZhYmxlIiwidW5yZXNvbHZlYWJsZUV4cHJlc3Npb24iXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkRhdGFNb2RlbFBhdGhIZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuXHRDb252ZXJ0ZWRNZXRhZGF0YSxcblx0RW50aXR5U2V0LFxuXHRFbnRpdHlUeXBlLFxuXHROYXZpZ2F0aW9uUHJvcGVydHksXG5cdFByb3BlcnR5LFxuXHRQcm9wZXJ0eVBhdGgsXG5cdFNpbmdsZXRvblxufSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHtcblx0RmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9uVHlwZVR5cGVzLFxuXHROYXZpZ2F0aW9uUHJvcGVydHlSZXN0cmljdGlvbixcblx0TmF2aWdhdGlvblByb3BlcnR5UmVzdHJpY3Rpb25UeXBlc1xufSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXMvdm9jYWJ1bGFyaWVzL0NhcGFiaWxpdGllc1wiO1xuaW1wb3J0IHR5cGUge1xuXHRFbnRpdHlTZXRBbm5vdGF0aW9uc19DYXBhYmlsaXRpZXMsXG5cdEVudGl0eVR5cGVBbm5vdGF0aW9uc19DYXBhYmlsaXRpZXNcbn0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9DYXBhYmlsaXRpZXNfRWRtXCI7XG5pbXBvcnQgdHlwZSB7IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBjb25zdGFudCwgZXF1YWwsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbiwgdW5yZXNvbHZlYWJsZUV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eU9yUGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0Rpc3BsYXlNb2RlRm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBpc0Fubm90YXRpb25QYXRoRXhwcmVzc2lvbiwgaXNQYXRoRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5SGVscGVyXCI7XG5cbmV4cG9ydCB0eXBlIERhdGFNb2RlbE9iamVjdFBhdGggPSB7XG5cdHN0YXJ0aW5nRW50aXR5U2V0OiBTaW5nbGV0b24gfCBFbnRpdHlTZXQ7XG5cdGNvbnRleHRMb2NhdGlvbj86IERhdGFNb2RlbE9iamVjdFBhdGg7XG5cdG5hdmlnYXRpb25Qcm9wZXJ0aWVzOiBOYXZpZ2F0aW9uUHJvcGVydHlbXTtcblx0dGFyZ2V0RW50aXR5U2V0PzogU2luZ2xldG9uIHwgRW50aXR5U2V0O1xuXHR0YXJnZXRFbnRpdHlUeXBlOiBFbnRpdHlUeXBlO1xuXHR0YXJnZXRPYmplY3Q6IGFueTtcblx0Y29udmVydGVkVHlwZXM6IENvbnZlcnRlZE1ldGFkYXRhO1xufTtcblxudHlwZSBFeHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aCA9IHtcblx0cHJvcGVydHlQYXRoPzogUHJvcGVydHlPclBhdGg8UHJvcGVydHk+O1xuXHRwYXRoVmlzaXRvcj86IEZ1bmN0aW9uO1xuXHRpZ25vcmVUYXJnZXRDb2xsZWN0aW9uPzogYm9vbGVhbjtcblx0YXV0aG9yaXplVW5yZXNvbHZhYmxlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbiA9IGZ1bmN0aW9uIChcblx0Y29udGV4dFBhdGg/OiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHR2aXNpdGVkTmF2UHJvcHM6IE5hdmlnYXRpb25Qcm9wZXJ0eVtdID0gW11cbik6IE5hdmlnYXRpb25Qcm9wZXJ0eVtdIHtcblx0aWYgKCFjb250ZXh0UGF0aCkge1xuXHRcdHJldHVybiB2aXNpdGVkTmF2UHJvcHM7XG5cdH0gZWxzZSBpZiAodmlzaXRlZE5hdlByb3BzLmxlbmd0aCA+PSBjb250ZXh0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcy5sZW5ndGgpIHtcblx0XHRsZXQgcmVtYWluaW5nTmF2UHJvcHM6IE5hdmlnYXRpb25Qcm9wZXJ0eVtdID0gW107XG5cdFx0Y29udGV4dFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMuZm9yRWFjaCgobmF2UHJvcCwgbmF2SW5kZXgpID0+IHtcblx0XHRcdGlmICh2aXNpdGVkTmF2UHJvcHNbbmF2SW5kZXhdICE9PSBuYXZQcm9wKSB7XG5cdFx0XHRcdHJlbWFpbmluZ05hdlByb3BzLnB1c2godmlzaXRlZE5hdlByb3BzW25hdkluZGV4XSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0cmVtYWluaW5nTmF2UHJvcHMgPSByZW1haW5pbmdOYXZQcm9wcy5jb25jYXQodmlzaXRlZE5hdlByb3BzLnNsaWNlKGNvbnRleHRQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmxlbmd0aCkpO1xuXHRcdC8vIENsZWFuIHVwIE5hdlByb3AgLT4gT3duZXJcblx0XHRsZXQgY3VycmVudElkeCA9IDA7XG5cdFx0d2hpbGUgKHJlbWFpbmluZ05hdlByb3BzLmxlbmd0aCA+IDEgJiYgY3VycmVudElkeCAhPSByZW1haW5pbmdOYXZQcm9wcy5sZW5ndGggLSAxKSB7XG5cdFx0XHRjb25zdCBjdXJyZW50TmF2ID0gcmVtYWluaW5nTmF2UHJvcHNbY3VycmVudElkeF07XG5cdFx0XHRjb25zdCBuZXh0TmF2UHJvcCA9IHJlbWFpbmluZ05hdlByb3BzW2N1cnJlbnRJZHggKyAxXTtcblx0XHRcdGlmIChjdXJyZW50TmF2LnBhcnRuZXIgPT09IG5leHROYXZQcm9wLm5hbWUpIHtcblx0XHRcdFx0cmVtYWluaW5nTmF2UHJvcHMuc3BsaWNlKDAsIDIpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y3VycmVudElkeCsrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gcmVtYWluaW5nTmF2UHJvcHM7XG5cdH0gZWxzZSB7XG5cdFx0bGV0IGV4dHJhTmF2UHJvcDogTmF2aWdhdGlvblByb3BlcnR5W10gPSBbXTtcblx0XHR2aXNpdGVkTmF2UHJvcHMuZm9yRWFjaCgobmF2UHJvcCwgbmF2SW5kZXgpID0+IHtcblx0XHRcdGlmIChjb250ZXh0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllc1tuYXZJbmRleF0gIT09IG5hdlByb3ApIHtcblx0XHRcdFx0ZXh0cmFOYXZQcm9wLnB1c2godmlzaXRlZE5hdlByb3BzW25hdkluZGV4XSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0ZXh0cmFOYXZQcm9wID0gZXh0cmFOYXZQcm9wLmNvbmNhdChjb250ZXh0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcy5zbGljZSh2aXNpdGVkTmF2UHJvcHMubGVuZ3RoKSk7XG5cdFx0Ly8gQ2xlYW4gdXAgTmF2UHJvcCAtPiBPd25lclxuXHRcdGxldCBjdXJyZW50SWR4ID0gMDtcblx0XHR3aGlsZSAoZXh0cmFOYXZQcm9wLmxlbmd0aCA+IDEgJiYgY3VycmVudElkeCAhPSBleHRyYU5hdlByb3AubGVuZ3RoIC0gMSkge1xuXHRcdFx0Y29uc3QgY3VycmVudE5hdiA9IGV4dHJhTmF2UHJvcFtjdXJyZW50SWR4XTtcblx0XHRcdGNvbnN0IG5leHROYXZQcm9wID0gZXh0cmFOYXZQcm9wW2N1cnJlbnRJZHggKyAxXTtcblx0XHRcdGlmIChjdXJyZW50TmF2LnBhcnRuZXIgPT09IG5leHROYXZQcm9wLm5hbWUpIHtcblx0XHRcdFx0ZXh0cmFOYXZQcm9wLnNwbGljZSgwLCAyKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGN1cnJlbnRJZHgrKztcblx0XHRcdH1cblx0XHR9XG5cdFx0ZXh0cmFOYXZQcm9wID0gZXh0cmFOYXZQcm9wLm1hcCgobmF2UHJvcCkgPT4ge1xuXHRcdFx0cmV0dXJuIG5hdlByb3AudGFyZ2V0VHlwZS5uYXZpZ2F0aW9uUHJvcGVydGllcy5maW5kKChucCkgPT4gbnAubmFtZSA9PT0gbmF2UHJvcC5wYXJ0bmVyKSBhcyBOYXZpZ2F0aW9uUHJvcGVydHk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIGV4dHJhTmF2UHJvcDtcblx0fVxufTtcblxuZXhwb3J0IGNvbnN0IGVuaGFuY2VEYXRhTW9kZWxQYXRoID0gZnVuY3Rpb24gKFxuXHRkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRwcm9wZXJ0eVBhdGg/OiBQcm9wZXJ0eU9yUGF0aDxQcm9wZXJ0eT5cbik6IERhdGFNb2RlbE9iamVjdFBhdGgge1xuXHRsZXQgc1Byb3BlcnR5UGF0aDogc3RyaW5nID0gXCJcIjtcblx0aWYgKChpc1BhdGhFeHByZXNzaW9uKHByb3BlcnR5UGF0aCkgfHwgaXNBbm5vdGF0aW9uUGF0aEV4cHJlc3Npb24ocHJvcGVydHlQYXRoKSkgJiYgcHJvcGVydHlQYXRoLnBhdGgpIHtcblx0XHRzUHJvcGVydHlQYXRoID0gcHJvcGVydHlQYXRoLnBhdGg7XG5cdH0gZWxzZSBpZiAodHlwZW9mIHByb3BlcnR5UGF0aCA9PT0gXCJzdHJpbmdcIikge1xuXHRcdHNQcm9wZXJ0eVBhdGggPSBwcm9wZXJ0eVBhdGg7XG5cdH1cblx0bGV0IG9UYXJnZXQ7XG5cdGlmIChpc1BhdGhFeHByZXNzaW9uKHByb3BlcnR5UGF0aCkgfHwgaXNBbm5vdGF0aW9uUGF0aEV4cHJlc3Npb24ocHJvcGVydHlQYXRoKSkge1xuXHRcdG9UYXJnZXQgPSBwcm9wZXJ0eVBhdGguJHRhcmdldDtcblx0fSBlbHNlIGlmIChkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldEVudGl0eVR5cGUpIHtcblx0XHRvVGFyZ2V0ID0gZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRFbnRpdHlUeXBlLnJlc29sdmVQYXRoKHNQcm9wZXJ0eVBhdGgpO1xuXHR9IGVsc2Uge1xuXHRcdG9UYXJnZXQgPSBkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdDtcblx0fVxuXHRjb25zdCBhUGF0aFNwbGl0ID0gc1Byb3BlcnR5UGF0aC5zcGxpdChcIi9cIik7XG5cdGxldCBjdXJyZW50RW50aXR5U2V0ID0gZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRFbnRpdHlTZXQ7XG5cdGxldCBjdXJyZW50RW50aXR5VHlwZSA9IGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0RW50aXR5VHlwZTtcblx0Y29uc3QgbmF2aWdhdGlvblByb3BlcnRpZXMgPSBkYXRhTW9kZWxPYmplY3RQYXRoLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmNvbmNhdCgpO1xuXHQvLyBQcm9jZXNzIG9ubHkgaWYgd2UgaGF2ZSB0byBnbyB0aHJvdWdoIG5hdmlnYXRpb24gcHJvcGVydGllc1xuXG5cdGxldCByZWR1Y2VkRW50aXR5VHlwZTogRW50aXR5VHlwZSB8IHVuZGVmaW5lZCA9IGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0RW50aXR5VHlwZTtcblx0YVBhdGhTcGxpdC5mb3JFYWNoKChwYXRoUGFydDogc3RyaW5nKSA9PiB7XG5cdFx0aWYgKCFyZWR1Y2VkRW50aXR5VHlwZSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBwb3RlbnRpYWxOYXZQcm9wID0gcmVkdWNlZEVudGl0eVR5cGUubmF2aWdhdGlvblByb3BlcnRpZXMuZmluZCgobmF2UHJvcCkgPT4gbmF2UHJvcC5uYW1lID09PSBwYXRoUGFydCk7XG5cdFx0aWYgKHBvdGVudGlhbE5hdlByb3ApIHtcblx0XHRcdG5hdmlnYXRpb25Qcm9wZXJ0aWVzLnB1c2gocG90ZW50aWFsTmF2UHJvcCk7XG5cdFx0XHRjdXJyZW50RW50aXR5VHlwZSA9IHBvdGVudGlhbE5hdlByb3AudGFyZ2V0VHlwZTtcblx0XHRcdGlmIChjdXJyZW50RW50aXR5U2V0ICYmIGN1cnJlbnRFbnRpdHlTZXQubmF2aWdhdGlvblByb3BlcnR5QmluZGluZy5oYXNPd25Qcm9wZXJ0eShwYXRoUGFydCkpIHtcblx0XHRcdFx0Y3VycmVudEVudGl0eVNldCA9IGN1cnJlbnRFbnRpdHlTZXQubmF2aWdhdGlvblByb3BlcnR5QmluZGluZ1twYXRoUGFydF0gYXMgRW50aXR5U2V0O1xuXHRcdFx0fVxuXHRcdFx0cmVkdWNlZEVudGl0eVR5cGUgPSBjdXJyZW50RW50aXR5VHlwZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVkdWNlZEVudGl0eVR5cGUgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9KTtcblxuXHRyZXR1cm4ge1xuXHRcdHN0YXJ0aW5nRW50aXR5U2V0OiBkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0LFxuXHRcdG5hdmlnYXRpb25Qcm9wZXJ0aWVzOiBuYXZpZ2F0aW9uUHJvcGVydGllcyxcblx0XHRjb250ZXh0TG9jYXRpb246IGRhdGFNb2RlbE9iamVjdFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdHRhcmdldEVudGl0eVNldDogY3VycmVudEVudGl0eVNldCxcblx0XHR0YXJnZXRFbnRpdHlUeXBlOiBjdXJyZW50RW50aXR5VHlwZSxcblx0XHR0YXJnZXRPYmplY3Q6IG9UYXJnZXQsXG5cdFx0Y29udmVydGVkVHlwZXM6IGRhdGFNb2RlbE9iamVjdFBhdGguY29udmVydGVkVHlwZXNcblx0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUYXJnZXRFbnRpdHlTZXRQYXRoID0gZnVuY3Rpb24gKGRhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgpOiBzdHJpbmcge1xuXHRsZXQgdGFyZ2V0RW50aXR5U2V0UGF0aDogc3RyaW5nID0gYC8ke2RhdGFNb2RlbE9iamVjdFBhdGguc3RhcnRpbmdFbnRpdHlTZXQubmFtZX1gO1xuXHRsZXQgY3VycmVudEVudGl0eVNldCA9IGRhdGFNb2RlbE9iamVjdFBhdGguc3RhcnRpbmdFbnRpdHlTZXQ7XG5cdGxldCBuYXZpZ2F0ZWRQYXRoczogc3RyaW5nW10gPSBbXTtcblx0ZGF0YU1vZGVsT2JqZWN0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcy5mb3JFYWNoKChuYXZQcm9wKSA9PiB7XG5cdFx0bmF2aWdhdGVkUGF0aHMucHVzaChuYXZQcm9wLm5hbWUpO1xuXHRcdGlmIChjdXJyZW50RW50aXR5U2V0ICYmIGN1cnJlbnRFbnRpdHlTZXQubmF2aWdhdGlvblByb3BlcnR5QmluZGluZy5oYXNPd25Qcm9wZXJ0eShuYXZpZ2F0ZWRQYXRocy5qb2luKFwiL1wiKSkpIHtcblx0XHRcdHRhcmdldEVudGl0eVNldFBhdGggKz0gYC8kTmF2aWdhdGlvblByb3BlcnR5QmluZGluZy8ke25hdmlnYXRlZFBhdGhzLmpvaW4oXCIvXCIpfS8kYDtcblx0XHRcdGN1cnJlbnRFbnRpdHlTZXQgPSBjdXJyZW50RW50aXR5U2V0Lm5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmdbbmF2aWdhdGVkUGF0aHMuam9pbihcIi9cIildIGFzIEVudGl0eVNldDtcblx0XHRcdG5hdmlnYXRlZFBhdGhzID0gW107XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIHRhcmdldEVudGl0eVNldFBhdGg7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VGFyZ2V0T2JqZWN0UGF0aCA9IGZ1bmN0aW9uIChkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLCBiUmVsYXRpdmU6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XG5cdGxldCBwYXRoID0gXCJcIjtcblx0aWYgKCFkYXRhTW9kZWxPYmplY3RQYXRoLnN0YXJ0aW5nRW50aXR5U2V0KSB7XG5cdFx0cmV0dXJuIFwiL1wiO1xuXHR9XG5cdGlmICghYlJlbGF0aXZlKSB7XG5cdFx0cGF0aCArPSBgLyR7ZGF0YU1vZGVsT2JqZWN0UGF0aC5zdGFydGluZ0VudGl0eVNldC5uYW1lfWA7XG5cdH1cblx0aWYgKGRhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMubGVuZ3RoID4gMCkge1xuXHRcdGlmIChwYXRoLmxlbmd0aCA+IDApIHtcblx0XHRcdHBhdGggKz0gXCIvXCI7XG5cdFx0fVxuXHRcdHBhdGggKz0gZGF0YU1vZGVsT2JqZWN0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcy5tYXAoKG5hdlByb3ApID0+IG5hdlByb3AubmFtZSkuam9pbihcIi9cIik7XG5cdH1cblxuXHRpZiAoXG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QgJiZcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5uYW1lICYmXG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QuX3R5cGUgIT09IFwiTmF2aWdhdGlvblByb3BlcnR5XCIgJiZcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5fdHlwZSAhPT0gXCJFbnRpdHlUeXBlXCIgJiZcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCAhPT0gZGF0YU1vZGVsT2JqZWN0UGF0aC5zdGFydGluZ0VudGl0eVNldFxuXHQpIHtcblx0XHRpZiAoIXBhdGguZW5kc1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRwYXRoICs9IFwiL1wiO1xuXHRcdH1cblx0XHRwYXRoICs9IGAke2RhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Lm5hbWV9YDtcblx0fSBlbHNlIGlmIChkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCAmJiBkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5oYXNPd25Qcm9wZXJ0eShcInRlcm1cIikpIHtcblx0XHRpZiAocGF0aC5sZW5ndGggPiAwICYmICFwYXRoLmVuZHNXaXRoKFwiL1wiKSkge1xuXHRcdFx0cGF0aCArPSBcIi9cIjtcblx0XHR9XG5cdFx0cGF0aCArPSBgQCR7ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QudGVybX1gO1xuXHR9XG5cdHJldHVybiBwYXRoO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbnRleHRSZWxhdGl2ZVRhcmdldE9iamVjdFBhdGggPSBmdW5jdGlvbiAoXG5cdGRhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGgsXG5cdGZvckJpbmRpbmdFeHByZXNzaW9uOiBib29sZWFuID0gZmFsc2Vcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGlmIChkYXRhTW9kZWxPYmplY3RQYXRoLmNvbnRleHRMb2NhdGlvbj8uc3RhcnRpbmdFbnRpdHlTZXQgIT09IGRhdGFNb2RlbE9iamVjdFBhdGguc3RhcnRpbmdFbnRpdHlTZXQpIHtcblx0XHRyZXR1cm4gZ2V0VGFyZ2V0T2JqZWN0UGF0aChkYXRhTW9kZWxPYmplY3RQYXRoKTtcblx0fVxuXHRjb25zdCBuYXZQcm9wZXJ0aWVzID0gZ2V0UGF0aFJlbGF0aXZlTG9jYXRpb24oZGF0YU1vZGVsT2JqZWN0UGF0aC5jb250ZXh0TG9jYXRpb24sIGRhdGFNb2RlbE9iamVjdFBhdGgubmF2aWdhdGlvblByb3BlcnRpZXMpO1xuXHRpZiAoZm9yQmluZGluZ0V4cHJlc3Npb24pIHtcblx0XHRpZiAobmF2UHJvcGVydGllcy5maW5kKChucCkgPT4gbnAuaXNDb2xsZWN0aW9uKSkge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblx0bGV0IHBhdGggPSBuYXZQcm9wZXJ0aWVzLm1hcCgobnApID0+IG5wLm5hbWUpLmpvaW4oXCIvXCIpO1xuXHRpZiAoXG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QgJiZcblx0XHQoZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QubmFtZSB8fFxuXHRcdFx0KGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LnR5cGUgPT09IFwiUHJvcGVydHlQYXRoXCIgJiYgZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QudmFsdWUpKSAmJlxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Ll90eXBlICE9PSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVwiICYmXG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QgIT09IGRhdGFNb2RlbE9iamVjdFBhdGguc3RhcnRpbmdFbnRpdHlTZXRcblx0KSB7XG5cdFx0aWYgKHBhdGgubGVuZ3RoID4gMCAmJiAhcGF0aC5lbmRzV2l0aChcIi9cIikpIHtcblx0XHRcdHBhdGggKz0gXCIvXCI7XG5cdFx0fVxuXHRcdHBhdGggKz1cblx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LnR5cGUgPT09IFwiUHJvcGVydHlQYXRoXCJcblx0XHRcdFx0PyBgJHtkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC52YWx1ZX1gXG5cdFx0XHRcdDogYCR7ZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QubmFtZX1gO1xuXHR9IGVsc2UgaWYgKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0ICYmIGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Lmhhc093blByb3BlcnR5KFwidGVybVwiKSkge1xuXHRcdGlmIChwYXRoLmxlbmd0aCA+IDAgJiYgIXBhdGguZW5kc1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRwYXRoICs9IFwiL1wiO1xuXHRcdH1cblx0XHRwYXRoICs9IGBAJHtkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC50ZXJtfWA7XG5cdFx0aWYgKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Lmhhc093blByb3BlcnR5KFwicXVhbGlmaWVyXCIpICYmICEhZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QucXVhbGlmaWVyKSB7XG5cdFx0XHRwYXRoICs9IGAjJHtkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5xdWFsaWZpZXJ9YDtcblx0XHR9XG5cdH0gZWxzZSBpZiAoIWRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRyZXR1cm4gcGF0aDtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1BhdGhVcGRhdGFibGUgPSBmdW5jdGlvbiAoXG5cdGRhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGggfCB1bmRlZmluZWQsXG5cdGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoPzogRXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGhcbik6IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxib29sZWFuPiB7XG5cdHJldHVybiBjaGVja09uUGF0aChcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRcdChhbm5vdGF0aW9uT2JqZWN0OiBOYXZpZ2F0aW9uUHJvcGVydHlSZXN0cmljdGlvbiB8IEVudGl0eVNldEFubm90YXRpb25zX0NhcGFiaWxpdGllcykgPT4ge1xuXHRcdFx0cmV0dXJuIGFubm90YXRpb25PYmplY3Q/LlVwZGF0ZVJlc3RyaWN0aW9ucz8uVXBkYXRhYmxlO1xuXHRcdH0sXG5cdFx0ZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGhcblx0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1BhdGhTZWFyY2hhYmxlID0gZnVuY3Rpb24gKFxuXHRkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoIHwgdW5kZWZpbmVkLFxuXHRleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aD86IEV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoXG4pOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248Ym9vbGVhbj4ge1xuXHRyZXR1cm4gY2hlY2tPblBhdGgoXG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aCxcblx0XHQoYW5ub3RhdGlvbk9iamVjdDogTmF2aWdhdGlvblByb3BlcnR5UmVzdHJpY3Rpb24gfCBFbnRpdHlTZXRBbm5vdGF0aW9uc19DYXBhYmlsaXRpZXMpID0+IHtcblx0XHRcdHJldHVybiBhbm5vdGF0aW9uT2JqZWN0Py5TZWFyY2hSZXN0cmljdGlvbnM/LlNlYXJjaGFibGU7XG5cdFx0fSxcblx0XHRleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aFxuXHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzUGF0aERlbGV0YWJsZSA9IGZ1bmN0aW9uIChcblx0ZGF0YU1vZGVsT2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCB8IHVuZGVmaW5lZCxcblx0ZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGg/OiBFeHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aFxuKTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0cmV0dXJuIGNoZWNrT25QYXRoKFxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgsXG5cdFx0KGFubm90YXRpb25PYmplY3Q6IE5hdmlnYXRpb25Qcm9wZXJ0eVJlc3RyaWN0aW9uIHwgRW50aXR5U2V0QW5ub3RhdGlvbnNfQ2FwYWJpbGl0aWVzKSA9PiB7XG5cdFx0XHRyZXR1cm4gYW5ub3RhdGlvbk9iamVjdD8uRGVsZXRlUmVzdHJpY3Rpb25zPy5EZWxldGFibGU7XG5cdFx0fSxcblx0XHRleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aFxuXHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzUGF0aEluc2VydGFibGUgPSBmdW5jdGlvbiAoXG5cdGRhdGFNb2RlbE9iamVjdFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGggfCB1bmRlZmluZWQsXG5cdGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoPzogRXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGhcbik6IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxib29sZWFuPiB7XG5cdHJldHVybiBjaGVja09uUGF0aChcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRcdChhbm5vdGF0aW9uT2JqZWN0OiBOYXZpZ2F0aW9uUHJvcGVydHlSZXN0cmljdGlvbiB8IEVudGl0eVNldEFubm90YXRpb25zX0NhcGFiaWxpdGllcykgPT4ge1xuXHRcdFx0cmV0dXJuIGFubm90YXRpb25PYmplY3Q/Lkluc2VydFJlc3RyaWN0aW9ucz8uSW5zZXJ0YWJsZTtcblx0XHR9LFxuXHRcdGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoXG5cdCk7XG59O1xuXG5leHBvcnQgY29uc3QgY2hlY2tGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zID0gZnVuY3Rpb24gKFxuXHRkYXRhTW9kZWxPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRhbGxvd2VkRXhwcmVzc2lvbjogKHN0cmluZyB8IHVuZGVmaW5lZClbXVxuKTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0cmV0dXJuIGNoZWNrT25QYXRoKFxuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGgsXG5cdFx0KGFubm90YXRpb25PYmplY3Q6IE5hdmlnYXRpb25Qcm9wZXJ0eVJlc3RyaWN0aW9uIHwgRW50aXR5U2V0QW5ub3RhdGlvbnNfQ2FwYWJpbGl0aWVzIHwgRW50aXR5VHlwZUFubm90YXRpb25zX0NhcGFiaWxpdGllcykgPT4ge1xuXHRcdFx0aWYgKGFubm90YXRpb25PYmplY3QgJiYgXCJGaWx0ZXJSZXN0cmljdGlvbnNcIiBpbiBhbm5vdGF0aW9uT2JqZWN0KSB7XG5cdFx0XHRcdGNvbnN0IGZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnM6IEZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvblR5cGVUeXBlc1tdID1cblx0XHRcdFx0XHQoYW5ub3RhdGlvbk9iamVjdD8uRmlsdGVyUmVzdHJpY3Rpb25zPy5GaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zIGFzIEZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvblR5cGVUeXBlc1tdKSB8fCBbXTtcblx0XHRcdFx0Y29uc3QgY3VycmVudE9iamVjdFJlc3RyaWN0aW9uID0gZmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucy5maW5kKChyZXN0cmljdGlvbikgPT4ge1xuXHRcdFx0XHRcdHJldHVybiAocmVzdHJpY3Rpb24uUHJvcGVydHkgYXMgUHJvcGVydHlQYXRoKS4kdGFyZ2V0ID09PSBkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdDtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmIChjdXJyZW50T2JqZWN0UmVzdHJpY3Rpb24pIHtcblx0XHRcdFx0XHRyZXR1cm4gYWxsb3dlZEV4cHJlc3Npb24uaW5kZXhPZihjdXJyZW50T2JqZWN0UmVzdHJpY3Rpb24/LkFsbG93ZWRFeHByZXNzaW9ucz8udG9TdHJpbmcoKSkgIT09IC0xO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjaGVja09uUGF0aCA9IGZ1bmN0aW9uIChcblx0ZGF0YU1vZGVsT2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aCB8IHVuZGVmaW5lZCxcblx0Y2hlY2tGdW5jdGlvbjogRnVuY3Rpb24sXG5cdGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoPzogRXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGhcbik6IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxib29sZWFuPiB7XG5cdGlmICghZGF0YU1vZGVsT2JqZWN0UGF0aCB8fCAhZGF0YU1vZGVsT2JqZWN0UGF0aC5zdGFydGluZ0VudGl0eVNldCkge1xuXHRcdHJldHVybiBjb25zdGFudCh0cnVlKTtcblx0fVxuXG5cdGRhdGFNb2RlbE9iamVjdFBhdGggPSBlbmhhbmNlRGF0YU1vZGVsUGF0aChkYXRhTW9kZWxPYmplY3RQYXRoLCBleHRyYWN0aW9uUGFyYW1ldGVyc09uUGF0aD8ucHJvcGVydHlQYXRoKTtcblxuXHRsZXQgY3VycmVudEVudGl0eVNldDogRW50aXR5U2V0IHwgU2luZ2xldG9uIHwgbnVsbCA9IGRhdGFNb2RlbE9iamVjdFBhdGguc3RhcnRpbmdFbnRpdHlTZXQ7XG5cdGxldCBwYXJlbnRFbnRpdHlTZXQ6IEVudGl0eVNldCB8IFNpbmdsZXRvbiB8IG51bGwgPSBudWxsO1xuXHRsZXQgdmlzaXRlZE5hdmlnYXRpb25Qcm9wc05hbWU6IHN0cmluZ1tdID0gW107XG5cdGNvbnN0IGFsbFZpc2l0ZWROYXZpZ2F0aW9uUHJvcHM6IE5hdmlnYXRpb25Qcm9wZXJ0eVtdID0gW107XG5cdGxldCB0YXJnZXRFbnRpdHlTZXQ6IEVudGl0eVNldCB8IFNpbmdsZXRvbiB8IG51bGwgPSBjdXJyZW50RW50aXR5U2V0O1xuXHRjb25zdCB0YXJnZXRFbnRpdHlUeXBlOiBFbnRpdHlUeXBlIHwgbnVsbCA9IGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0RW50aXR5VHlwZTtcblx0bGV0IHJlc2V0VmlzaXRlZE5hdlByb3BzID0gZmFsc2U7XG5cblx0ZGF0YU1vZGVsT2JqZWN0UGF0aC5uYXZpZ2F0aW9uUHJvcGVydGllcy5mb3JFYWNoKChuYXZpZ2F0aW9uUHJvcGVydHk6IE5hdmlnYXRpb25Qcm9wZXJ0eSkgPT4ge1xuXHRcdGlmIChyZXNldFZpc2l0ZWROYXZQcm9wcykge1xuXHRcdFx0dmlzaXRlZE5hdmlnYXRpb25Qcm9wc05hbWUgPSBbXTtcblx0XHR9XG5cdFx0dmlzaXRlZE5hdmlnYXRpb25Qcm9wc05hbWUucHVzaChuYXZpZ2F0aW9uUHJvcGVydHkubmFtZSk7XG5cdFx0YWxsVmlzaXRlZE5hdmlnYXRpb25Qcm9wcy5wdXNoKG5hdmlnYXRpb25Qcm9wZXJ0eSk7XG5cdFx0aWYgKCFuYXZpZ2F0aW9uUHJvcGVydHkuY29udGFpbnNUYXJnZXQpIHtcblx0XHRcdC8vIFdlIHNob3VsZCBoYXZlIGEgbmF2aWdhdGlvblByb3BlcnR5QmluZGluZyBhc3NvY2lhdGVkIHdpdGggdGhlIHBhdGggc28gZmFyIHdoaWNoIGNhbiBjb25zaXN0IG9mIChbQ29udGFpbm1lbnROYXZQcm9wXS8pKltOYXZQcm9wXVxuXHRcdFx0Y29uc3QgZnVsbE5hdmlnYXRpb25QYXRoID0gdmlzaXRlZE5hdmlnYXRpb25Qcm9wc05hbWUuam9pbihcIi9cIik7XG5cdFx0XHRpZiAoY3VycmVudEVudGl0eVNldCAmJiBjdXJyZW50RW50aXR5U2V0Lm5hdmlnYXRpb25Qcm9wZXJ0eUJpbmRpbmcuaGFzT3duUHJvcGVydHkoZnVsbE5hdmlnYXRpb25QYXRoKSkge1xuXHRcdFx0XHRwYXJlbnRFbnRpdHlTZXQgPSBjdXJyZW50RW50aXR5U2V0O1xuXHRcdFx0XHRjdXJyZW50RW50aXR5U2V0ID0gY3VycmVudEVudGl0eVNldC5uYXZpZ2F0aW9uUHJvcGVydHlCaW5kaW5nW2Z1bGxOYXZpZ2F0aW9uUGF0aF07XG5cdFx0XHRcdHRhcmdldEVudGl0eVNldCA9IGN1cnJlbnRFbnRpdHlTZXQ7XG5cdFx0XHRcdC8vIElmIHdlIHJlYWNoZWQgYSBuYXZpZ2F0aW9uIHByb3BlcnR5IHdpdGggYSBuYXZpZ2F0aW9ucHJvcGVydHliaW5kaW5nLCB3ZSBuZWVkIHRvIHJlc2V0IHRoZSB2aXNpdGVkIHBhdGggb24gdGhlIG5leHQgaXRlcmF0aW9uIChpZiB0aGVyZSBpcyBvbmUpXG5cdFx0XHRcdHJlc2V0VmlzaXRlZE5hdlByb3BzID0gdHJ1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIFdlIHJlYWxseSBzaG91bGQgbm90IGVuZCB1cCBoZXJlIGJ1dCBhdCBsZWFzdCBsZXQncyB0cnkgdG8gYXZvaWQgaW5jb3JyZWN0IGJlaGF2aW9yXG5cdFx0XHRcdHBhcmVudEVudGl0eVNldCA9IGN1cnJlbnRFbnRpdHlTZXQ7XG5cdFx0XHRcdGN1cnJlbnRFbnRpdHlTZXQgPSBudWxsO1xuXHRcdFx0XHRyZXNldFZpc2l0ZWROYXZQcm9wcyA9IHRydWU7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHBhcmVudEVudGl0eVNldCA9IGN1cnJlbnRFbnRpdHlTZXQ7XG5cdFx0XHR0YXJnZXRFbnRpdHlTZXQgPSBudWxsO1xuXHRcdH1cblx0fSk7XG5cblx0Ly8gQXQgdGhpcyBwb2ludCB3ZSBoYXZlIG5hdmlnYXRlZCBkb3duIGFsbCB0aGUgbmF2IHByb3AgYW5kIHdlIHNob3VsZCBoYXZlXG5cdC8vIFRoZSB0YXJnZXQgZW50aXR5U2V0IHBvaW50aW5nIHRvIGVpdGhlciBudWxsIChpbiBjYXNlIG9mIGNvbnRhaW5tZW50IG5hdnByb3AgYSBsYXN0IHBhcnQpLCBvciB0aGUgYWN0dWFsIHRhcmdldCAobm9uIGNvbnRhaW5tZW50IGFzIHRhcmdldClcblx0Ly8gVGhlIHBhcmVudCBlbnRpdHlTZXQgcG9pbnRpbmcgdG8gdGhlIHByZXZpb3VzIGVudGl0eVNldCB1c2VkIGluIHRoZSBwYXRoXG5cdC8vIFZpc2l0ZWROYXZpZ2F0aW9uUGF0aCBzaG91bGQgY29udGFpbiB0aGUgcGF0aCB1cCB0byB0aGlzIHByb3BlcnR5XG5cblx0Ly8gUmVzdHJpY3Rpb25zIHNob3VsZCB0aGVuIGJlIGV2YWx1YXRlZCBhcyBQYXJlbnRFbnRpdHlTZXQuTmF2UmVzdHJpY3Rpb25zW05hdlByb3BlcnR5UGF0aF0gfHwgVGFyZ2V0RW50aXR5U2V0LlJlc3RyaWN0aW9uc1xuXHRjb25zdCBmdWxsTmF2aWdhdGlvblBhdGggPSB2aXNpdGVkTmF2aWdhdGlvblByb3BzTmFtZS5qb2luKFwiL1wiKTtcblx0bGV0IHJlc3RyaWN0aW9ucywgdmlzaXRlZE5hdlByb3BzO1xuXHRpZiAocGFyZW50RW50aXR5U2V0ICE9PSBudWxsKSB7XG5cdFx0Y29uc3QgX3BhcmVudEVudGl0eVNldDogRW50aXR5U2V0ID0gcGFyZW50RW50aXR5U2V0O1xuXHRcdF9wYXJlbnRFbnRpdHlTZXQuYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uTmF2aWdhdGlvblJlc3RyaWN0aW9ucz8uUmVzdHJpY3RlZFByb3BlcnRpZXMuZm9yRWFjaChcblx0XHRcdChyZXN0cmljdGVkTmF2UHJvcDogTmF2aWdhdGlvblByb3BlcnR5UmVzdHJpY3Rpb25UeXBlcykgPT4ge1xuXHRcdFx0XHRpZiAocmVzdHJpY3RlZE5hdlByb3AuTmF2aWdhdGlvblByb3BlcnR5Py50eXBlID09PSBcIk5hdmlnYXRpb25Qcm9wZXJ0eVBhdGhcIikge1xuXHRcdFx0XHRcdGNvbnN0IHJlc3RyaWN0aW9uRGVmaW5pdGlvbiA9IGNoZWNrRnVuY3Rpb24ocmVzdHJpY3RlZE5hdlByb3ApO1xuXHRcdFx0XHRcdGlmIChmdWxsTmF2aWdhdGlvblBhdGggPT09IHJlc3RyaWN0ZWROYXZQcm9wLk5hdmlnYXRpb25Qcm9wZXJ0eS52YWx1ZSAmJiByZXN0cmljdGlvbkRlZmluaXRpb24gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgX2FsbFZpc2l0ZWROYXZpZ2F0aW9uUHJvcHMgPSBhbGxWaXNpdGVkTmF2aWdhdGlvblByb3BzLnNsaWNlKDAsIC0xKTtcblx0XHRcdFx0XHRcdHZpc2l0ZWROYXZQcm9wcyA9IF9hbGxWaXNpdGVkTmF2aWdhdGlvblByb3BzO1xuXHRcdFx0XHRcdFx0Y29uc3QgcGF0aFJlbGF0aXZlTG9jYXRpb24gPSBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihkYXRhTW9kZWxPYmplY3RQYXRoPy5jb250ZXh0TG9jYXRpb24sIHZpc2l0ZWROYXZQcm9wcykubWFwKFxuXHRcdFx0XHRcdFx0XHQobnApID0+IG5wLm5hbWVcblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRjb25zdCBwYXRoVmlzaXRvckZ1bmN0aW9uID0gZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGg/LnBhdGhWaXNpdG9yXG5cdFx0XHRcdFx0XHRcdD8gZ2V0UGF0aFZpc2l0b3JGb3JTaW5nbGV0b24oZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGgucGF0aFZpc2l0b3IsIHBhdGhSZWxhdGl2ZUxvY2F0aW9uKVxuXHRcdFx0XHRcdFx0XHQ6IHVuZGVmaW5lZDsgLy8gc2VuZCBwYXRoVmlzaXRvciBmdW5jdGlvbiBvbmx5IHdoZW4gaXQgaXMgZGVmaW5lZCBhbmQgb25seSBzZW5kIGZ1bmN0aW9uIG9yIGRlZmluZWQgYXMgYSBwYXJhbWV0ZXJcblx0XHRcdFx0XHRcdHJlc3RyaWN0aW9ucyA9IGVxdWFsKFxuXHRcdFx0XHRcdFx0XHRnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24ocmVzdHJpY3Rpb25EZWZpbml0aW9uLCBwYXRoUmVsYXRpdmVMb2NhdGlvbiwgdW5kZWZpbmVkLCBwYXRoVmlzaXRvckZ1bmN0aW9uKSxcblx0XHRcdFx0XHRcdFx0dHJ1ZVxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQpO1xuXHR9XG5cdGxldCB0YXJnZXRSZXN0cmljdGlvbnM7XG5cdGlmICghZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGg/Lmlnbm9yZVRhcmdldENvbGxlY3Rpb24pIHtcblx0XHRsZXQgcmVzdHJpY3Rpb25EZWZpbml0aW9uID0gY2hlY2tGdW5jdGlvbih0YXJnZXRFbnRpdHlTZXQ/LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXMpO1xuXHRcdGlmICh0YXJnZXRFbnRpdHlTZXQgPT09IG51bGwgJiYgcmVzdHJpY3Rpb25EZWZpbml0aW9uID09PSB1bmRlZmluZWQpIHtcblx0XHRcdHJlc3RyaWN0aW9uRGVmaW5pdGlvbiA9IGNoZWNrRnVuY3Rpb24odGFyZ2V0RW50aXR5VHlwZT8uYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcyk7XG5cdFx0fVxuXHRcdGlmIChyZXN0cmljdGlvbkRlZmluaXRpb24gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Y29uc3QgcGF0aFJlbGF0aXZlTG9jYXRpb24gPSBnZXRQYXRoUmVsYXRpdmVMb2NhdGlvbihkYXRhTW9kZWxPYmplY3RQYXRoLmNvbnRleHRMb2NhdGlvbiwgYWxsVmlzaXRlZE5hdmlnYXRpb25Qcm9wcykubWFwKFxuXHRcdFx0XHQobnApID0+IG5wLm5hbWVcblx0XHRcdCk7XG5cdFx0XHRjb25zdCBwYXRoVmlzaXRvckZ1bmN0aW9uID0gZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGg/LnBhdGhWaXNpdG9yXG5cdFx0XHRcdD8gZ2V0UGF0aFZpc2l0b3JGb3JTaW5nbGV0b24oZXh0cmFjdGlvblBhcmFtZXRlcnNPblBhdGgucGF0aFZpc2l0b3IsIHBhdGhSZWxhdGl2ZUxvY2F0aW9uKVxuXHRcdFx0XHQ6IHVuZGVmaW5lZDtcblx0XHRcdHRhcmdldFJlc3RyaWN0aW9ucyA9IGVxdWFsKFxuXHRcdFx0XHRnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24ocmVzdHJpY3Rpb25EZWZpbml0aW9uLCBwYXRoUmVsYXRpdmVMb2NhdGlvbiwgdW5kZWZpbmVkLCBwYXRoVmlzaXRvckZ1bmN0aW9uKSxcblx0XHRcdFx0dHJ1ZVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gKFxuXHRcdHJlc3RyaWN0aW9ucyB8fCB0YXJnZXRSZXN0cmljdGlvbnMgfHwgKGV4dHJhY3Rpb25QYXJhbWV0ZXJzT25QYXRoPy5hdXRob3JpemVVbnJlc29sdmFibGUgPyB1bnJlc29sdmVhYmxlRXhwcmVzc2lvbiA6IGNvbnN0YW50KHRydWUpKVxuXHQpO1xufTtcbi8vIFRoaXMgaGVscGVyIG1ldGhvZCBpcyB1c2VkIHRvIGFkZCByZWxhdGl2ZSBwYXRoIGxvY2F0aW9uIGFyZ3VtZW50IHRvIHNpbmdsZXRvblBhdGhWaXNpdG9yRnVuY3Rpb24gaS5lLiBwYXRoVmlzaXRvclxuLy8gcGF0aFZpc2l0b3IgbWV0aG9kIGlzIHVzZWQgbGF0ZXIgdG8gZ2V0IHRoZSBjb3JyZWN0IGJpbmRpbmdzIGZvciBzaW5nbGV0b24gZW50aXR5XG4vLyBtZXRob2QgaXMgaW52b2tlZCBsYXRlciBpbiBwYXRoSW5Nb2RlbCgpIG1ldGhvZCB0byBnZXQgdGhlIGNvcnJlY3QgYmluZGluZy5cbmNvbnN0IGdldFBhdGhWaXNpdG9yRm9yU2luZ2xldG9uID0gZnVuY3Rpb24gKHBhdGhWaXNpdG9yOiBGdW5jdGlvbiwgcGF0aFJlbGF0aXZlTG9jYXRpb246IHN0cmluZ1tdKSB7XG5cdHJldHVybiBmdW5jdGlvbiAocGF0aDogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIHBhdGhW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
@@ -22,10 +22,10 @@ import type { PropertyOrPath } from "sap/fe/core/templating/DisplayModeFormatter
22
22
  import { isAnnotationPathExpression, isPathExpression } from "sap/fe/core/templating/PropertyHelper";
23
23
 
24
24
  export type DataModelObjectPath = {
25
- startingEntitySet: EntitySet;
25
+ startingEntitySet: Singleton | EntitySet;
26
26
  contextLocation?: DataModelObjectPath;
27
27
  navigationProperties: NavigationProperty[];
28
- targetEntitySet?: EntitySet;
28
+ targetEntitySet?: Singleton | EntitySet;
29
29
  targetEntityType: EntityType;
30
30
  targetObject: any;
31
31
  convertedTypes: ConvertedMetadata;
@@ -197,6 +197,9 @@ export const getContextRelativeTargetObjectPath = function (
197
197
  dataModelObjectPath: DataModelObjectPath,
198
198
  forBindingExpression: boolean = false
199
199
  ): string | undefined {
200
+ if (dataModelObjectPath.contextLocation?.startingEntitySet !== dataModelObjectPath.startingEntitySet) {
201
+ return getTargetObjectPath(dataModelObjectPath);
202
+ }
200
203
  const navProperties = getPathRelativeLocation(dataModelObjectPath.contextLocation, dataModelObjectPath.navigationProperties);
201
204
  if (forBindingExpression) {
202
205
  if (navProperties.find((np) => np.isCollection)) {
@@ -131,4 +131,4 @@ sap.ui.define(["sap/fe/core/templating/PropertyHelper"], function (PropertyHelpe
131
131
  _exports.getDisplayMode = getDisplayMode;
132
132
  return _exports;
133
133
  }, false);
134
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRpc3BsYXlNb2RlRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbIkVETV9UWVBFX01BUFBJTkciLCJ0eXBlIiwiY29uc3RyYWludHMiLCJPREFUQV9UWVBFX01BUFBJTkciLCJnZXREaXNwbGF5TW9kZSIsIm9Qcm9wZXJ0eVBhdGgiLCJvRGF0YU1vZGVsT2JqZWN0UGF0aCIsIm9Qcm9wZXJ0eSIsImlzUGF0aEV4cHJlc3Npb24iLCJpc1Byb3BlcnR5UGF0aEV4cHJlc3Npb24iLCIkdGFyZ2V0Iiwib0VudGl0eVR5cGUiLCJ0YXJnZXRFbnRpdHlUeXBlIiwib1RleHRBbm5vdGF0aW9uIiwiYW5ub3RhdGlvbnMiLCJDb21tb24iLCJUZXh0Iiwib1RleHRBcnJhbmdlbWVudEFubm90YXRpb24iLCJVSSIsIlRleHRBcnJhbmdlbWVudCIsInRvU3RyaW5nIiwic0Rpc3BsYXlWYWx1ZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFVTyxNQUFNQSxnQkFBcUMsR0FBRztBQUNwRCxtQkFBZTtBQUFFQyxNQUFBQSxJQUFJLEVBQUU7QUFBUixLQURxQztBQUVwRCxnQkFBWTtBQUFFQSxNQUFBQSxJQUFJLEVBQUU7QUFBUixLQUZ3QztBQUdwRCxnQkFBWTtBQUFFQSxNQUFBQSxJQUFJLEVBQUU7QUFBUixLQUh3QztBQUlwRCwwQkFBc0I7QUFDckJDLE1BQUFBLFdBQVcsRUFBRTtBQUNaLHNCQUFjLFdBREY7QUFFWixlQUFPO0FBRkssT0FEUTtBQUtyQkQsTUFBQUEsSUFBSSxFQUFFO0FBTGUsS0FKOEI7QUFXcEQsbUJBQWU7QUFDZEMsTUFBQUEsV0FBVyxFQUFFO0FBQ1oscURBQTZDLFNBRGpDO0FBRVosOEVBQXNFLGtCQUYxRDtBQUdaLHFEQUE2QyxTQUhqQztBQUlaLDhFQUFzRSxrQkFKMUQ7QUFLWixzQkFBYyxXQUxGO0FBTVosa0JBQVU7QUFORSxPQURDO0FBU2RELE1BQUFBLElBQUksRUFBRTtBQVRRLEtBWHFDO0FBc0JwRCxrQkFBYztBQUFF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QW1ELHVCQUErQ0MsUUFBL0MsRUFBdkQsRUFBa0g7QUFDakgsVUFBSUgsMEJBQTBCLEtBQUssaUNBQW5DLEVBQXNFO0FBQ3JFSSxRQUFBQSxhQUFhLEdBQUcsYUFBaEI7QUFDQSxPQUZELE1BRU8sSUFBSUosMEJBQTBCLEtBQUssaUNBQW5DLEVBQXNFO0FBQzVFSSxRQUFBQSxhQUFhLEdBQUcsa0JBQWhCO0FBQ0EsT0FGTSxNQUVBLElBQUlKLDBCQUEwQixLQUFLLHFDQUFuQyxFQUEwRTtBQUNoRkksUUFBQUEsYUFBYSxHQUFHLE9BQWhCO0FBQ0EsT0FGTSxNQUVBO0FBQ047QUFDQUEsUUFBQUEsYUFBYSxHQUFHLGtCQUFoQjtBQUNBO0FBQ0Q7O0FBQ0QsV0FBT0EsYUFBUDtBQUNBLEdBM0JNIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNlcGFyYXRpbmcgdGhlc2UgbWV0aG9kcyBmcm9tIHRoZSBVSUZvcm1hdHRlcnMgYXMgdGhleSBhcmUgdXNlZCBhbHNvIGluIHRoZSBjb252ZXJ0ZXIuXG4gKiBUaGVzZSBtZXRob2RzIG11c3QgTk9UIHVzZSBhbnkgZGVwZW5kZW5jeSBmcm9tIHRoZSBTQVAgVUk1IHJ1bnRpbWUuXG4gKiBXaGVuIGNvbnN1bWVkIG91dHNpZGUgb2YgY29udmVydGVycywgeW91IHNob3VsZCBjYWxsIHRoZW0gdmlhIFVJRm9ybWF0dGVycy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbiwgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7IGlzUGF0aEV4cHJlc3Npb24sIGlzUHJvcGVydHlQYXRoRXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5SGVscGVyXCI7XG5cbmV4cG9ydCB0eXBlIFByb3BlcnR5T3JQYXRoPFA+ID0gc3RyaW5nIHwgUCB8IFBhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbjxQPjtcblxuZXhwb3J0IGNvbnN0IEVETV9UWVBFX01BUFBJTkc6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XG5cdFwiRWRtLkJvb2xlYW5cIjogeyB0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkJvb2xlYW5cIiB9LFxuXHRcIkVkbS5CeXRlXCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5CeXRlXCIgfSxcblx0XCJFZG0uRGF0ZVwiOiB7IHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuRGF0ZVwiIH0sXG5cdFwiRWRtLkRhdGVUaW1lT2Zmc2V0XCI6IHtcblx0XHRjb25zdHJhaW50czoge1xuXHRcdFx0XCIkUHJlY2lzaW9uXCI6IFwicHJlY2lzaW9uXCIsXG5cdFx0XHRcIiRWNFwiOiBcIlY0XCJcblx0XHR9LFxuXHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuRGF0ZVRpbWVPZmZzZXRcIlxuXHR9LFxuXHRcIkVkbS5EZWNpbWFsXCI6IHtcblx0XHRjb25zdHJhaW50czoge1xuXHRcdFx0XCJAT3JnLk9EYXRhLlZhbGlkYXRpb24uVjEuTWluaW11bS8kRGVjaW1hbFwiOiBcIm1pbmltdW1cIixcblx0XHRcdFwiQE9yZy5PRGF0YS5WYWxpZGF0aW9uLlYxLk1pbmltdW1AT3JnLk9EYXRhLlZhbGlkYXRpb24uVjEuRXhjbHVzaXZlXCI6IFwibWluaW11bUV4Y2x1c2l2ZVwiLFxuXHRcdFx0XCJAT3JnLk9EYXRhLlZhbGlkYXRpb24uVjEuTWF4aW11bS8kRGVjaW1hbFwiOiBcIm1heGltdW1cIixcblx0XHRcdFwiQE9yZy5PRGF0YS5WYWxpZGF0aW9uLlYxLk1heGltdW1AT3JnLk9EYXRhLlZhbGlkYXRpb24uVjEuRXhjbHVzaXZlXCI6IFwibWF4aW11bUV4Y2x1c2l2ZVwiLFxuXHRcdFx0XCIkUHJlY2lzaW9uXCI6IFwicHJlY2lzaW9uXCIsXG5cdFx0XHRcIiRTY2FsZVwiOiBcInNjYWxlXCJcblx0XHR9LFxuXHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuRGVjaW1hbFwiXG5cdH0sXG5cdFwiRWRtLkRvdWJsZVwiOiB7IHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuRG91YmxlXCIgfSxcblx0XCJFZG0uR3VpZFwiOiB7IHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuR3VpZFwiIH0sXG5cdFwiRWRtLkludDE2XCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQxNlwiIH0sXG5cdFwiRWRtLkludDMyXCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQzMlwiIH0sXG5cdFwiRWRtLkludDY0XCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQ2NFwiIH0sXG5cdFwiRWRtLlNCeXRlXCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5TQnl0ZVwiIH0sXG5cdFwiRWRtLlNpbmdsZVwiOiB7IHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuU2luZ2xlXCIgfSxcblx0XCJFZG0uU3RyZWFtXCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5TdHJlYW1cIiB9LFxuXHRcIkVkbS5CaW5hcnlcIjogeyB0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmVhbVwiIH0sXG5cdFwiRWRtLlN0cmluZ1wiOiB7XG5cdFx0Y29uc3RyYWludHM6IHtcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5Jc0RpZ2l0U2VxdWVuY2VcIjogXCJpc0RpZ2l0U2VxdWVuY2VcIixcblx0XHRcdFwiJE1heExlbmd0aFwiOiBcIm1heExlbmd0aFwiLFxuXHRcdFx0XCIkTnVsbGFibGVcIjogXCJudWxsYWJsZVwiXG5cdFx0fSxcblx0XHR0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZ1wiXG5cdH0sXG5cdFwiRWRtLlRpbWVPZkRheVwiOiB7XG5cdFx0Y29uc3RyYWludHM6IHtcblx0XHRcdFwiJFByZWNpc2lvblwiOiBcInByZWNpc2lvblwiXG5cdFx0fSxcblx0XHR0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLlRpbWVPZkRheVwiXG5cdH1cbn07XG5cbmV4cG9ydCBjb25zdCBPREFUQV9UWVBFX01BUFBJTkc6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7XG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuQm9vbGVhblwiOiBcIkVkbS5Cb29sZWFuXCIsXG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuQnl0ZVwiOiBcIkVkbS5CeXRlXCIsXG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuRGF0ZVwiOiBcIkVkbS5EYXRlXCIsXG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuRGF0ZVRpbWVPZmZzZXRcIjogXCJFZG0uRGF0ZVRpbWVPZmZzZXRcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5EZWNpbWFsXCI6IFwiRWRtLkRlY2ltYWxcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5Eb3VibGVcIjogXCJFZG0uRG91YmxlXCIsXG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuR3VpZFwiOiBcIkVkbS5HdWlkXCIsXG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuSW50MTZcIjogXCJFZG0uSW50MTZcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQzMlwiOiBcIkVkbS5JbnQzMlwiLFxuXHRcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkludDY0XCI6IFwiRWRtLkludDY0XCIsXG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuU0J5dGVcIjogXCJFZG0uU0J5dGVcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5TaW5nbGVcIjogXCJFZG0uU2luZ2xlXCIsXG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuU3RyZWFtXCI6IFwiRWRtLlN0cmVhbVwiLFxuXHRcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLlRpbWVPZkRheVwiOiBcIkVkbS5UaW1lT2ZEYXlcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5TdHJpbmdcIjogXCJFZG0uU3RyaW5nXCJcbn07XG5cbmV4cG9ydCB0eXBlIERpc3BsYXlNb2RlID0gXCJWYWx1ZVwiIHwgXCJEZXNjcmlwdGlvblwiIHwgXCJEZXNjcmlwdGlvblZhbHVlXCIgfCBcIlZhbHVlRGVzY3JpcHRpb25cIjtcbmV4cG9ydCBjb25zdCBnZXREaXNwbGF5TW9kZSA9IGZ1bmN0aW9uIChvUHJvcGVydHlQYXRoOiBQcm9wZXJ0eU9yUGF0aDxQcm9wZXJ0eT4sIG9EYXRhTW9kZWxPYmplY3RQYXRoPzogRGF0YU1vZGVsT2JqZWN0UGF0aCk6IERpc3BsYXlNb2RlIHtcblx0aWYgKCFvUHJvcGVydHlQYXRoIHx8IHR5cGVvZiBvUHJvcGVydHlQYXRoID09PSBcInN0cmluZ1wiKSB7XG5cdFx0cmV0dXJuIFwiVmFsdWVcIjtcblx0fVxuXHRjb25zdCBvUHJvcGVydHkgPVxuXHRcdCgoaXNQYXRoRXhwcmVzc2lvbihvUHJvcGVydHlQYXRoKSB8fCBpc1Byb3BlcnR5UGF0aEV4cHJlc3Npb24ob1Byb3BlcnR5UGF0aCkpICYmIChvUHJvcGVydHlQYXRoLiR0YXJnZXQgYXMgUHJvcGVydHkpKSB8fFxuXHRcdChvUHJvcGVydHlQYXRoIGFzIFByb3BlcnR5KTtcblx0Y29uc3Qgb0VudGl0eVR5cGUgPSBvRGF0YU1vZGVsT2JqZWN0UGF0aCAmJiBvRGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRFbnRpdHlUeXBlO1xuXHRjb25zdCBvVGV4dEFubm90YXRpb24gPSBvUHJvcGVydHkuYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dDtcblx0Y29uc3Qgb1RleHRBcnJhbmdlbWVudEFubm90YXRpb24gPVxuXHRcdCh0eXBlb2Ygb1RleHRBbm5vdGF0aW9uICE9PSBcInN0cmluZ1wiICYmIG9UZXh0QW5ub3RhdGlvbj8uYW5ub3RhdGlvbnM/LlVJPy5UZXh0QXJyYW5nZW1lbnQ/LnRvU3RyaW5nKCkpIHx8XG5cdFx0b0VudGl0eVR5cGU/LmFubm90YXRpb25zPy5VST8uVGV4dEFycmFuZ2VtZW50Py50b1N0cmluZygpO1xuXG5cdGxldCBzRGlzcGxheVZhbHVlID0gb1RleHRBbm5vdGF0aW9uID8gXCJEZXNjcmlwdGlvblZhbHVlXCIgOiBcIlZhbHVlXCI7XG5cdGlmICgob1RleHRBbm5vdGF0aW9uICYmIG9UZXh0QXJyYW5nZW1lbnRBbm5vdGF0aW9uKSB8fCBvRW50aXR5VHlwZT8uYW5ub3RhdGlvbnM/LlVJPy5UZXh0QXJyYW5nZW1lbnQ/LnRvU3RyaW5nKCkpIHtcblx0XHRpZiAob1RleHRBcnJhbmdlbWVudEFubm90YXRpb24gPT09IFwiVUkuVGV4dEFycmFuZ2VtZW50VHlwZS9UZXh0T25seVwiKSB7XG5cdFx0XHRzRGlzcGxheVZhbHVlID0gXCJEZXNjcmlwdGlvblwiO1xuXHRcdH0gZWxzZSBpZiAob1RleHRBcnJhbmdlbWVudEFubm90YXRpb24gPT09IFwiVUkuVGV4dEFycmFuZ2VtZW50VHlwZS9UZXh0TGFzdFwiKSB7XG5cdFx0XHRzRGlzcGxheVZhbHVlID0gXCJWYWx1ZURlc2NyaXB0aW9uXCI7XG5cdFx0fSBlbHNlIGlmIChvVGV4dEFycmFuZ2VtZW50QW5ub3RhdGlvbiA9PT0gXCJVSS5UZXh0QXJyYW5nZW1lbnRUeXBlL1RleHRTZXBhcmF0ZVwiKSB7XG5cdFx0XHRzRGlzcGxheVZhbHVlID0gXCJWYWx1ZVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvL0RlZmF1bHQgc2hvdWxkIGJlIFRleHRGaXJzdCBpZiB0aGVyZSBpcyBhIFRleHQgYW5ub3RhdGlvbiBhbmQgbmVpdGhlciBUZXh0T25seSBub3IgVGV4dExhc3QgYXJlIHNldFxuXHRcdFx0c0Rpc3BsYXlWYWx1ZSA9IFwiRGVzY3JpcHRpb25WYWx1ZVwiO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gc0Rpc3BsYXlWYWx1ZSBhcyBEaXNwbGF5TW9kZTtcbn07XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFRE1fVFlQRV9NQVBQSU5HIiwidHlwZSIsImNvbnN0cmFpbnRzIiwiT0RBVEFfVFlQRV9NQVBQSU5HIiwiZ2V0RGlzcGxheU1vZGUiLCJvUHJvcGVydHlQYXRoIiwib0RhdGFNb2RlbE9iamVjdFBhdGgiLCJvUHJvcGVydHkiLCJpc1BhdGhFeHByZXNzaW9uIiwiaXNQcm9wZXJ0eVBhdGhFeHByZXNzaW9uIiwiJHRhcmdldCIsIm9FbnRpdHlUeXBlIiwidGFyZ2V0RW50aXR5VHlwZSIsIm9UZXh0QW5ub3RhdGlvbiIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiVGV4dCIsIm9UZXh0QXJyYW5nZW1lbnRBbm5vdGF0aW9uIiwiVUkiLCJUZXh0QXJyYW5nZW1lbnQiLCJ0b1N0cmluZyIsInNEaXNwbGF5VmFsdWUiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkRpc3BsYXlNb2RlRm9ybWF0dGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2VwYXJhdGluZyB0aGVzZSBtZXRob2RzIGZyb20gdGhlIFVJRm9ybWF0dGVycyBhcyB0aGV5IGFyZSB1c2VkIGFsc28gaW4gdGhlIGNvbnZlcnRlci5cbiAqIFRoZXNlIG1ldGhvZHMgbXVzdCBOT1QgdXNlIGFueSBkZXBlbmRlbmN5IGZyb20gdGhlIFNBUCBVSTUgcnVudGltZS5cbiAqIFdoZW4gY29uc3VtZWQgb3V0c2lkZSBvZiBjb252ZXJ0ZXJzLCB5b3Ugc2hvdWxkIGNhbGwgdGhlbSB2aWEgVUlGb3JtYXR0ZXJzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGF0aEFubm90YXRpb25FeHByZXNzaW9uLCBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgaXNQYXRoRXhwcmVzc2lvbiwgaXNQcm9wZXJ0eVBhdGhFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvUHJvcGVydHlIZWxwZXJcIjtcblxuZXhwb3J0IHR5cGUgUHJvcGVydHlPclBhdGg8UD4gPSBzdHJpbmcgfCBQIHwgUGF0aEFubm90YXRpb25FeHByZXNzaW9uPFA+O1xuXG5leHBvcnQgY29uc3QgRURNX1RZUEVfTUFQUElORzogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcblx0XCJFZG0uQm9vbGVhblwiOiB7IHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuQm9vbGVhblwiIH0sXG5cdFwiRWRtLkJ5dGVcIjogeyB0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkJ5dGVcIiB9LFxuXHRcIkVkbS5EYXRlXCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5EYXRlXCIgfSxcblx0XCJFZG0uRGF0ZVRpbWVPZmZzZXRcIjoge1xuXHRcdGNvbnN0cmFpbnRzOiB7XG5cdFx0XHRcIiRQcmVjaXNpb25cIjogXCJwcmVjaXNpb25cIixcblx0XHRcdFwiJFY0XCI6IFwiVjRcIlxuXHRcdH0sXG5cdFx0dHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5EYXRlVGltZU9mZnNldFwiXG5cdH0sXG5cdFwiRWRtLkRlY2ltYWxcIjoge1xuXHRcdGNvbnN0cmFpbnRzOiB7XG5cdFx0XHRcIkBPcmcuT0RhdGEuVmFsaWRhdGlvbi5WMS5NaW5pbXVtLyREZWNpbWFsXCI6IFwibWluaW11bVwiLFxuXHRcdFx0XCJAT3JnLk9EYXRhLlZhbGlkYXRpb24uVjEuTWluaW11bUBPcmcuT0RhdGEuVmFsaWRhdGlvbi5WMS5FeGNsdXNpdmVcIjogXCJtaW5pbXVtRXhjbHVzaXZlXCIsXG5cdFx0XHRcIkBPcmcuT0RhdGEuVmFsaWRhdGlvbi5WMS5NYXhpbXVtLyREZWNpbWFsXCI6IFwibWF4aW11bVwiLFxuXHRcdFx0XCJAT3JnLk9EYXRhLlZhbGlkYXRpb24uVjEuTWF4aW11bUBPcmcuT0RhdGEuVmFsaWRhdGlvbi5WMS5FeGNsdXNpdmVcIjogXCJtYXhpbXVtRXhjbHVzaXZlXCIsXG5cdFx0XHRcIiRQcmVjaXNpb25cIjogXCJwcmVjaXNpb25cIixcblx0XHRcdFwiJFNjYWxlXCI6IFwic2NhbGVcIlxuXHRcdH0sXG5cdFx0dHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5EZWNpbWFsXCJcblx0fSxcblx0XCJFZG0uRG91YmxlXCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5Eb3VibGVcIiB9LFxuXHRcIkVkbS5HdWlkXCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5HdWlkXCIgfSxcblx0XCJFZG0uSW50MTZcIjogeyB0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkludDE2XCIgfSxcblx0XCJFZG0uSW50MzJcIjogeyB0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkludDMyXCIgfSxcblx0XCJFZG0uSW50NjRcIjogeyB0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkludDY0XCIgfSxcblx0XCJFZG0uU0J5dGVcIjogeyB0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLlNCeXRlXCIgfSxcblx0XCJFZG0uU2luZ2xlXCI6IHsgdHlwZTogXCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5TaW5nbGVcIiB9LFxuXHRcIkVkbS5TdHJlYW1cIjogeyB0eXBlOiBcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmVhbVwiIH0sXG5cdFwiRWRtLkJpbmFyeVwiOiB7IHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuU3RyZWFtXCIgfSxcblx0XCJFZG0uU3RyaW5nXCI6IHtcblx0XHRjb25zdHJhaW50czoge1xuXHRcdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLklzRGlnaXRTZXF1ZW5jZVwiOiBcImlzRGlnaXRTZXF1ZW5jZVwiLFxuXHRcdFx0XCIkTWF4TGVuZ3RoXCI6IFwibWF4TGVuZ3RoXCIsXG5cdFx0XHRcIiROdWxsYWJsZVwiOiBcIm51bGxhYmxlXCJcblx0XHR9LFxuXHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuU3RyaW5nXCJcblx0fSxcblx0XCJFZG0uVGltZU9mRGF5XCI6IHtcblx0XHRjb25zdHJhaW50czoge1xuXHRcdFx0XCIkUHJlY2lzaW9uXCI6IFwicHJlY2lzaW9uXCJcblx0XHR9LFxuXHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuVGltZU9mRGF5XCJcblx0fVxufTtcblxuZXhwb3J0IGNvbnN0IE9EQVRBX1RZUEVfTUFQUElORzogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5Cb29sZWFuXCI6IFwiRWRtLkJvb2xlYW5cIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5CeXRlXCI6IFwiRWRtLkJ5dGVcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5EYXRlXCI6IFwiRWRtLkRhdGVcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5EYXRlVGltZU9mZnNldFwiOiBcIkVkbS5EYXRlVGltZU9mZnNldFwiLFxuXHRcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkRlY2ltYWxcIjogXCJFZG0uRGVjaW1hbFwiLFxuXHRcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkRvdWJsZVwiOiBcIkVkbS5Eb3VibGVcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5HdWlkXCI6IFwiRWRtLkd1aWRcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQxNlwiOiBcIkVkbS5JbnQxNlwiLFxuXHRcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLkludDMyXCI6IFwiRWRtLkludDMyXCIsXG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuSW50NjRcIjogXCJFZG0uSW50NjRcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5TQnl0ZVwiOiBcIkVkbS5TQnl0ZVwiLFxuXHRcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLlNpbmdsZVwiOiBcIkVkbS5TaW5nbGVcIixcblx0XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5TdHJlYW1cIjogXCJFZG0uU3RyZWFtXCIsXG5cdFwic2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuVGltZU9mRGF5XCI6IFwiRWRtLlRpbWVPZkRheVwiLFxuXHRcInNhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZ1wiOiBcIkVkbS5TdHJpbmdcIlxufTtcblxuZXhwb3J0IHR5cGUgRGlzcGxheU1vZGUgPSBcIlZhbHVlXCIgfCBcIkRlc2NyaXB0aW9uXCIgfCBcIkRlc2NyaXB0aW9uVmFsdWVcIiB8IFwiVmFsdWVEZXNjcmlwdGlvblwiO1xuZXhwb3J0IGNvbnN0IGdldERpc3BsYXlNb2RlID0gZnVuY3Rpb24gKG9Qcm9wZXJ0eVBhdGg6IFByb3BlcnR5T3JQYXRoPFByb3BlcnR5Piwgb0RhdGFNb2RlbE9iamVjdFBhdGg/OiBEYXRhTW9kZWxPYmplY3RQYXRoKTogRGlzcGxheU1vZGUge1xuXHRpZiAoIW9Qcm9wZXJ0eVBhdGggfHwgdHlwZW9mIG9Qcm9wZXJ0eVBhdGggPT09IFwic3RyaW5nXCIpIHtcblx0XHRyZXR1cm4gXCJWYWx1ZVwiO1xuXHR9XG5cdGNvbnN0IG9Qcm9wZXJ0eSA9XG5cdFx0KChpc1BhdGhFeHByZXNzaW9uKG9Qcm9wZXJ0eVBhdGgpIHx8IGlzUHJvcGVydHlQYXRoRXhwcmVzc2lvbihvUHJvcGVydHlQYXRoKSkgJiYgKG9Qcm9wZXJ0eVBhdGguJHRhcmdldCBhcyBQcm9wZXJ0eSkpIHx8XG5cdFx0KG9Qcm9wZXJ0eVBhdGggYXMgUHJvcGVydHkpO1xuXHRjb25zdCBvRW50aXR5VHlwZSA9IG9EYXRhTW9kZWxPYmplY3RQYXRoICYmIG9EYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldEVudGl0eVR5cGU7XG5cdGNvbnN0IG9UZXh0QW5ub3RhdGlvbiA9IG9Qcm9wZXJ0eS5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0O1xuXHRjb25zdCBvVGV4dEFycmFuZ2VtZW50QW5ub3RhdGlvbiA9XG5cdFx0KHR5cGVvZiBvVGV4dEFubm90YXRpb24gIT09IFwic3RyaW5nXCIgJiYgb1RleHRBbm5vdGF0aW9uPy5hbm5vdGF0aW9ucz8uVUk/LlRleHRBcnJhbmdlbWVudD8udG9TdHJpbmcoKSkgfHxcblx0XHRvRW50aXR5VHlwZT8uYW5ub3RhdGlvbnM/LlVJPy5UZXh0QXJyYW5nZW1lbnQ/LnRvU3RyaW5nKCk7XG5cblx0bGV0IHNEaXNwbGF5VmFsdWUgPSBvVGV4dEFubm90YXRpb24gPyBcIkRlc2NyaXB0aW9uVmFsdWVcIiA6IFwiVmFsdWVcIjtcblx0aWYgKChvVGV4dEFubm90YXRpb24gJiYgb1RleHRBcnJhbmdlbWVudEFubm90YXRpb24pIHx8IG9FbnRpdHlUeXBlPy5hbm5vdGF0aW9ucz8uVUk/LlRleHRBcnJhbmdlbWVudD8udG9TdHJpbmcoKSkge1xuXHRcdGlmIChvVGV4dEFycmFuZ2VtZW50QW5ub3RhdGlvbiA9PT0gXCJVSS5UZXh0QXJyYW5nZW1lbnRUeXBlL1RleHRPbmx5XCIpIHtcblx0XHRcdHNEaXNwbGF5VmFsdWUgPSBcIkRlc2NyaXB0aW9uXCI7XG5cdFx0fSBlbHNlIGlmIChvVGV4dEFycmFuZ2VtZW50QW5ub3RhdGlvbiA9PT0gXCJVSS5UZXh0QXJyYW5nZW1lbnRUeXBlL1RleHRMYXN0XCIpIHtcblx0XHRcdHNEaXNwbGF5VmFsdWUgPSBcIlZhbHVlRGVzY3JpcHRpb25cIjtcblx0XHR9IGVsc2UgaWYgKG9UZXh0QXJyYW5nZW1lbnRBbm5vdGF0aW9uID09PSBcIlVJLlRleHRBcnJhbmdlbWVudFR5cGUvVGV4dFNlcGFyYXRlXCIpIHtcblx0XHRcdHNEaXNwbGF5VmFsdWUgPSBcIlZhbHVlXCI7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vRGVmYXVsdCBzaG91bGQgYmUgVGV4dEZpcnN0IGlmIHRoZXJlIGlzIGEgVGV4dCBhbm5vdGF0aW9uIGFuZCBuZWl0aGVyIFRleHRPbmx5IG5vciBUZXh0TGFzdCBhcmUgc2V0XG5cdFx0XHRzRGlzcGxheVZhbHVlID0gXCJEZXNjcmlwdGlvblZhbHVlXCI7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBzRGlzcGxheVZhbHVlIGFzIERpc3BsYXlNb2RlO1xufTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7RUFZTyxJQUFNQSxnQkFBcUMsR0FBRztJQUNwRCxlQUFlO01BQUVDLElBQUksRUFBRTtJQUFSLENBRHFDO0lBRXBELFlBQVk7TUFBRUEsSUFBSSxFQUFFO0lBQVIsQ0FGd0M7SUFHcEQsWUFBWTtNQUFFQSxJQUFJLEVBQUU7SUFBUixDQUh3QztJQUlwRCxzQkFBc0I7TUFDckJDLFdBQVcsRUFBRTtRQUNaLGNBQWMsV0FERjtRQUVaLE9BQU87TUFGSyxDQURRO01BS3JCRCxJQUFJLEVBQUU7SUFMZSxDQUo4QjtJQVdwRCxlQUFlO01BQ2RDLFdBQVcsRUFBRTtRQUNaLDZDQUE2QyxTQURqQztRQUVaLHNFQUFzRSxrQkFGMUQ7UUFHWiw2Q0FBNkMsU0FIakM7UUFJWixzRUFBc0Usa0JBSjFEO1FBS1osY0FBYyxXQUxGO1FBTVosVUFBVTtNQU5FLENBREM7TUFTZEQsSUFBSSxFQUFFO0lBVFEsQ0FYcUM7SUFzQnBELGNBQWM7TUFBRUEsSUFBSSxFQUFFO0lBQVIsQ0F0QnNDO0lBdUJwRCxZQUFZO01BQUVBLElBQUksRUFBRTtJQUFSLENBdkJ3QztJQXdCcEQsYUFBYTtNQUFFQSxJQUFJLEVBQUU7SUFBUixDQXhCdUM7SUF5QnBELGFBQWE7TUFBRUEsSUFBSSxFQUFFO0lBQVIsQ0F6QnVDO0lBMEJwRCxhQUFhO01BQUVBLElBQUksRUFBRTtJQUFSLENBMUJ1QztJQTJCcEQsYUFBYTtNQUFFQSxJQUFJLEVBQUU7SUFBUixDQTNCdUM7SUE0QnBELGNBQWM7TUFBRUEsSUFBSSxFQUFFO0lBQVIsQ0E1QnNDO0lBNkJwRCxjQUFjO01BQUVBLElBQUksRUFBRTtJQUFSLENBN0JzQztJQThCcEQsY0FBYztNQUFF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
@@ -72,7 +72,7 @@ sap.ui.define([], function () {
72
72
  var navigationProperty = entitySet === null || entitySet === void 0 ? void 0 : (_entitySet$entityType = entitySet.entityType) === null || _entitySet$entityType === void 0 ? void 0 : (_entitySet$entityType2 = _entitySet$entityType.navigationProperties) === null || _entitySet$entityType2 === void 0 ? void 0 : _entitySet$entityType2.filter(function (navProperty) {
73
73
  var _navigationRestrictio2;
74
74
 
75
- return navProperty.name == (navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio2 = navigationRestriction.NavigationProperty) === null || _navigationRestrictio2 === void 0 ? void 0 : _navigationRestrictio2.value);
75
+ return navProperty.name === (navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio2 = navigationRestriction.NavigationProperty) === null || _navigationRestrictio2 === void 0 ? void 0 : _navigationRestrictio2.value);
76
76
  });
77
77
 
78
78
  if (navigationProperty[0]) {
@@ -86,10 +86,9 @@ sap.ui.define([], function () {
86
86
  } else {
87
87
  var _navigationRestrictio3, _navigationRestrictio4;
88
88
 
89
+ // leave the property path unchanged (it is relative to the annotation target!)
89
90
  var nonSortableNavigationProperties = navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio3 = navigationRestriction.SortRestrictions) === null || _navigationRestrictio3 === void 0 ? void 0 : (_navigationRestrictio4 = _navigationRestrictio3.NonSortableProperties) === null || _navigationRestrictio4 === void 0 ? void 0 : _navigationRestrictio4.map(function (property) {
90
- var _navigationRestrictio5;
91
-
92
- return "".concat(navigationRestriction === null || navigationRestriction === void 0 ? void 0 : (_navigationRestrictio5 = navigationRestriction.NavigationProperty) === null || _navigationRestrictio5 === void 0 ? void 0 : _navigationRestrictio5.value, "/").concat(property.value);
91
+ return property.value;
93
92
  });
94
93
 
95
94
  if (nonSortableNavigationProperties) {
@@ -105,4 +104,4 @@ sap.ui.define([], function () {
105
104
  _exports.getNonSortablePropertiesRestrictions = getNonSortablePropertiesRestrictions;
106
105
  return _exports;
107
106
  }, false);
108
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVudGl0eVNldEhlbHBlci50cyJdLCJuYW1lcyI6WyJpc0VudGl0eVNldCIsImRhdGFPYmplY3QiLCJoYXNPd25Qcm9wZXJ0eSIsIl90eXBlIiwiZ2V0RmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImVudGl0eVNldCIsImFubm90YXRpb25zIiwiQ2FwYWJpbGl0aWVzIiwiRmlsdGVyUmVzdHJpY3Rpb25zIiwiRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImdldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyIsIm5vblNvcnRhYmxlUHJvcGVydGllcyIsIlNvcnRSZXN0cmljdGlvbnMiLCJTb3J0YWJsZSIsInB1c2giLCJlbnRpdHlUeXBlIiwiZW50aXR5UHJvcGVydGllcyIsIm1hcCIsInByb3BlcnR5IiwibmFtZSIsIk5vblNvcnRhYmxlUHJvcGVydGllcyIsInZhbHVlIiwiTmF2aWdhdGlvblJlc3RyaWN0aW9ucyIsIlJlc3RyaWN0ZWRQcm9wZXJ0aWVzIiwiZm9yRWFjaCIsIm5hdmlnYXRpb25SZXN0cmljdGlvbiIsIm5hdmlnYXRpb25Qcm9wZXJ0eSIsIm5hdmlnYXRpb25Qcm9wZXJ0aWVzIiwiZmlsdGVyIiwibmF2UHJvcGVydHkiLCJOYXZpZ2F0aW9uUHJvcGVydHkiLCJ0YXJnZXRUeXBlIiwibm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcyJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU8sTUFBTUEsV0FBVyxHQUFHLFVBQVVDLFVBQVYsRUFBb0Q7QUFDOUUsV0FBT0EsVUFBVSxJQUFJQSxVQUFVLENBQUNDLGNBQVgsQ0FBMEIsT0FBMUIsQ0FBZCxJQUFvREQsVUFBVSxDQUFDRSxLQUFYLEtBQXFCLFdBQWhGO0FBQ0EsR0FGTTs7OztBQUlBLE1BQU1DLCtCQUErQixHQUFHLFVBQVVDLFNBQVYsRUFBZ0M7QUFBQTs7QUFDOUUsV0FBTywwQkFBQUEsU0FBUyxDQUFD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QXhDOztBQUdBLFlBQUlXLCtCQUFKLEVBQXFDO0FBQUE7O0FBQ3BDLG9DQUFBckIscUJBQXFCLEVBQUNHLElBQXRCLGtEQUE4QmtCLCtCQUE5QjtBQUNBO0FBQ0Q7QUFDRCxLQXRCRDtBQXVCQSxXQUFPckIscUJBQVA7QUFDQSxHQW5DTSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbnRpdHlTZXQsIE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGggfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IGlzRW50aXR5U2V0ID0gZnVuY3Rpb24gKGRhdGFPYmplY3Q6IGFueSk6IGRhdGFPYmplY3QgaXMgRW50aXR5U2V0IHtcblx0cmV0dXJuIGRhdGFPYmplY3QgJiYgZGF0YU9iamVjdC5oYXNPd25Qcm9wZXJ0eShcIl90eXBlXCIpICYmIGRhdGFPYmplY3QuX3R5cGUgPT09IFwiRW50aXR5U2V0XCI7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyA9IGZ1bmN0aW9uIChlbnRpdHlTZXQ6IEVudGl0eVNldCkge1xuXHRyZXR1cm4gZW50aXR5U2V0LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/LkZpbHRlclJlc3RyaWN0aW9ucz8uRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyB8fCBbXTtcbn07XG5cbi8qKlxuICogUmVhZHMgYWxsIFNvcnRSZXN0cmljdGlvbnMgb2YgdGhlIG1haW4gZW50aXR5IGFuZCB0aGUgKGZpcnN0IGxldmVsKSBuYXZpZ2F0aW9uIHJlc3RyaWN0aW9ucy5cbiAqIFRoaXMgZG9lcyBub3Qgd29yayBmb3IgbW9yZSB0aGFuIG9uZSBsZXZlbCBvZiBuYXZpZ2F0aW9uLlxuICpcbiAqIEBwYXJhbSBlbnRpdHlTZXQgRW50aXR5IHNldCB0byBiZSBhbmFseXplZFxuICogQHJldHVybnMgQXJyYXkgY29udGFpbmluZyB0aGUgcHJvcGVydHkgbmFtZXMgb2YgYWxsIG5vbi1zb3J0YWJsZSBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXROb25Tb3J0YWJsZVByb3BlcnRpZXNSZXN0cmljdGlvbnMgPSBmdW5jdGlvbiAoZW50aXR5U2V0OiBFbnRpdHlTZXQgfCB1bmRlZmluZWQpOiBzdHJpbmdbXSB7XG5cdGxldCBub25Tb3J0YWJsZVByb3BlcnRpZXMgPSBbXTtcblx0Ly8gQ2hlY2sgYW5ub3RhdGlvbnMgZm9yIG1haW4gZW50aXR5XG5cdGlmIChlbnRpdHlTZXQ/LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/LlNvcnRSZXN0cmljdGlvbnM/LlNvcnRhYmxlID09PSBmYWxzZSkge1xuXHRcdC8vIGFkZCBhbGwgcHJvcGVydGllcyBvZiB0aGUgZW50aXR5IHRvIHRoZSBub25Tb3J0YWJsZVByb3BlcnRpZXNcblx0XHRub25Tb3J0YWJsZVByb3BlcnRpZXMucHVzaCguLi5lbnRpdHlTZXQuZW50aXR5VHlwZS5lbnRpdHlQcm9wZXJ0aWVzLm1hcCgocHJvcGVydHkpID0+IHByb3BlcnR5Lm5hbWUpKTtcblx0fSBlbHNlIHtcblx0XHRub25Tb3J0YWJsZVByb3BlcnRpZXMgPVxuXHRcdFx0ZW50aXR5U2V0Py5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5Tb3J0UmVzdHJpY3Rpb25zPy5Ob25Tb3J0YWJsZVByb3BlcnRpZXM/Lm1hcCgocHJvcGVydHkpID0+IHByb3BlcnR5LnZhbHVlKSB8fCBbXTtcblx0fVxuXHQvLyBDaGVjayBmb3IgZXZlcnkgbmF2aWdhdGlvblJlc3RyaWN0aW9uIGlmIGl0IGhhcyBzb3J0UmVzdHJpY3Rpb25zXG5cdGVudGl0eVNldD8uYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uTmF2aWdhdGlvblJlc3RyaWN0aW9ucz8uUmVzdHJpY3RlZFByb3BlcnRpZXM/LmZvckVhY2goKG5hdmlnYXRpb25SZXN0cmljdGlvbikgPT4ge1xuXHRcdGlmIChuYXZpZ2F0aW9uUmVzdHJpY3Rpb24/LlNvcnRSZXN0cmljdGlvbnM/LlNvcnRhYmxlID09PSBmYWxzZSkge1xuXHRcdFx0Ly8gZmluZCBjb3JyZWN0IG5hdmlnYXRpb24gcHJvcGVydHlcblx0XHRcdGNvbnN0IG5hdmlnYXRpb25Qcm9wZXJ0eSA9IGVudGl0eVNldD8uZW50aXR5VHlwZT8ubmF2aWdhdGlvblByb3BlcnRpZXM/LmZpbHRlcihcblx0XHRcdFx0KG5hdlByb3BlcnR5KSA9PiBuYXZQcm9wZXJ0eS5uYW1lID09IChuYXZpZ2F0aW9uUmVzdHJpY3Rpb24/Lk5hdmlnYXRpb25Qcm9wZXJ0eSBhcyBOYXZpZ2F0aW9uUHJvcGVydHlQYXRoKT8udmFsdWVcblx0XHRcdCk7XG5cdFx0XHRpZiAobmF2aWdhdGlvblByb3BlcnR5WzBdKSB7XG5cdFx0XHRcdC8vIGFkZCBhbGwgcHJvcGVydGllcyBvZiB0aGUgbmF2aWdhdGlvbiBwcm9wZXJ0eSB0byB0aGUgbm9uU29ydGFibGVQcm9wZXJ0aWVzXG5cdFx0XHRcdG5vblNvcnRhYmxlUHJvcGVydGllcy5wdXNoKFxuXHRcdFx0XHRcdC4uLm5hdmlnYXRpb25Qcm9wZXJ0eVswXS50YXJnZXRUeXBlPy5lbnRpdHlQcm9wZXJ0aWVzLm1hcChcblx0XHRcdFx0XHRcdChwcm9wZXJ0eSkgPT4gYCR7bmF2aWdhdGlvblByb3BlcnR5WzBdLm5hbWV9LyR7cHJvcGVydHkubmFtZX1gXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zdCBub25Tb3J0YWJsZU5hdmlnYXRpb25Qcm9wZXJ0aWVzID0gbmF2aWdhdGlvblJlc3RyaWN0aW9uPy5Tb3J0UmVzdHJpY3Rpb25zPy5Ob25Tb3J0YWJsZVByb3BlcnRpZXM/Lm1hcChcblx0XHRcdFx0KHByb3BlcnR5KSA9PiBgJHsobmF2aWdhdGlvblJlc3RyaWN0aW9uPy5OYXZpZ2F0aW9uUHJvcGVydHkgYXMgTmF2aWdhdGlvblByb3BlcnR5UGF0aCk/LnZhbHVlfS8ke3Byb3BlcnR5LnZhbHVlfWBcblx0XHRcdCk7XG5cdFx0XHRpZiAobm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcykge1xuXHRcdFx0XHRub25Tb3J0YWJsZVByb3BlcnRpZXMucHVzaCguLi5ub25Tb3J0YWJsZU5hdmlnYXRpb25Qcm9wZXJ0aWVzKTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gbm9uU29ydGFibGVQcm9wZXJ0aWVzO1xufTtcbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc0VudGl0eVNldCIsImRhdGFPYmplY3QiLCJoYXNPd25Qcm9wZXJ0eSIsIl90eXBlIiwiZ2V0RmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImVudGl0eVNldCIsImFubm90YXRpb25zIiwiQ2FwYWJpbGl0aWVzIiwiRmlsdGVyUmVzdHJpY3Rpb25zIiwiRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyIsImdldE5vblNvcnRhYmxlUHJvcGVydGllc1Jlc3RyaWN0aW9ucyIsIm5vblNvcnRhYmxlUHJvcGVydGllcyIsIlNvcnRSZXN0cmljdGlvbnMiLCJTb3J0YWJsZSIsInB1c2giLCJlbnRpdHlUeXBlIiwiZW50aXR5UHJvcGVydGllcyIsIm1hcCIsInByb3BlcnR5IiwibmFtZSIsIk5vblNvcnRhYmxlUHJvcGVydGllcyIsInZhbHVlIiwiTmF2aWdhdGlvblJlc3RyaWN0aW9ucyIsIlJlc3RyaWN0ZWRQcm9wZXJ0aWVzIiwiZm9yRWFjaCIsIm5hdmlnYXRpb25SZXN0cmljdGlvbiIsIm5hdmlnYXRpb25Qcm9wZXJ0eSIsIm5hdmlnYXRpb25Qcm9wZXJ0aWVzIiwiZmlsdGVyIiwibmF2UHJvcGVydHkiLCJOYXZpZ2F0aW9uUHJvcGVydHkiLCJ0YXJnZXRUeXBlIiwibm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcyJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRW50aXR5U2V0SGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5U2V0IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBpc0VudGl0eVNldCA9IGZ1bmN0aW9uIChkYXRhT2JqZWN0OiBhbnkpOiBkYXRhT2JqZWN0IGlzIEVudGl0eVNldCB7XG5cdHJldHVybiBkYXRhT2JqZWN0ICYmIGRhdGFPYmplY3QuaGFzT3duUHJvcGVydHkoXCJfdHlwZVwiKSAmJiBkYXRhT2JqZWN0Ll90eXBlID09PSBcIkVudGl0eVNldFwiO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMgPSBmdW5jdGlvbiAoZW50aXR5U2V0OiBFbnRpdHlTZXQpIHtcblx0cmV0dXJuIGVudGl0eVNldC5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5GaWx0ZXJSZXN0cmljdGlvbnM/LkZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMgfHwgW107XG59O1xuXG4vKipcbiAqIFJlYWRzIGFsbCBTb3J0UmVzdHJpY3Rpb25zIG9mIHRoZSBtYWluIGVudGl0eSBhbmQgdGhlIChmaXJzdCBsZXZlbCkgbmF2aWdhdGlvbiByZXN0cmljdGlvbnMuXG4gKiBUaGlzIGRvZXMgbm90IHdvcmsgZm9yIG1vcmUgdGhhbiBvbmUgbGV2ZWwgb2YgbmF2aWdhdGlvbi5cbiAqXG4gKiBAcGFyYW0gZW50aXR5U2V0IEVudGl0eSBzZXQgdG8gYmUgYW5hbHl6ZWRcbiAqIEByZXR1cm5zIEFycmF5IGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5IG5hbWVzIG9mIGFsbCBub24tc29ydGFibGUgcHJvcGVydGllc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Tm9uU29ydGFibGVQcm9wZXJ0aWVzUmVzdHJpY3Rpb25zID0gZnVuY3Rpb24gKGVudGl0eVNldDogRW50aXR5U2V0IHwgdW5kZWZpbmVkKTogc3RyaW5nW10ge1xuXHRsZXQgbm9uU29ydGFibGVQcm9wZXJ0aWVzID0gW107XG5cdC8vIENoZWNrIGFubm90YXRpb25zIGZvciBtYWluIGVudGl0eVxuXHRpZiAoZW50aXR5U2V0Py5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5Tb3J0UmVzdHJpY3Rpb25zPy5Tb3J0YWJsZSA9PT0gZmFsc2UpIHtcblx0XHQvLyBhZGQgYWxsIHByb3BlcnRpZXMgb2YgdGhlIGVudGl0eSB0byB0aGUgbm9uU29ydGFibGVQcm9wZXJ0aWVzXG5cdFx0bm9uU29ydGFibGVQcm9wZXJ0aWVzLnB1c2goLi4uZW50aXR5U2V0LmVudGl0eVR5cGUuZW50aXR5UHJvcGVydGllcy5tYXAoKHByb3BlcnR5KSA9PiBwcm9wZXJ0eS5uYW1lKSk7XG5cdH0gZWxzZSB7XG5cdFx0bm9uU29ydGFibGVQcm9wZXJ0aWVzID1cblx0XHRcdGVudGl0eVNldD8uYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uU29ydFJlc3RyaWN0aW9ucz8uTm9uU29ydGFibGVQcm9wZXJ0aWVzPy5tYXAoKHByb3BlcnR5KSA9PiBwcm9wZXJ0eS52YWx1ZSkgfHwgW107XG5cdH1cblx0Ly8gQ2hlY2sgZm9yIGV2ZXJ5IG5hdmlnYXRpb25SZXN0cmljdGlvbiBpZiBpdCBoYXMgc29ydFJlc3RyaWN0aW9uc1xuXHRlbnRpdHlTZXQ/LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/Lk5hdmlnYXRpb25SZXN0cmljdGlvbnM/LlJlc3RyaWN0ZWRQcm9wZXJ0aWVzPy5mb3JFYWNoKChuYXZpZ2F0aW9uUmVzdHJpY3Rpb24pID0+IHtcblx0XHRpZiAobmF2aWdhdGlvblJlc3RyaWN0aW9uPy5Tb3J0UmVzdHJpY3Rpb25zPy5Tb3J0YWJsZSA9PT0gZmFsc2UpIHtcblx0XHRcdC8vIGZpbmQgY29ycmVjdCBuYXZpZ2F0aW9uIHByb3BlcnR5XG5cdFx0XHRjb25zdCBuYXZpZ2F0aW9uUHJvcGVydHkgPSBlbnRpdHlTZXQ/LmVudGl0eVR5cGU/Lm5hdmlnYXRpb25Qcm9wZXJ0aWVzPy5maWx0ZXIoXG5cdFx0XHRcdChuYXZQcm9wZXJ0eSkgPT4gbmF2UHJvcGVydHkubmFtZSA9PT0gbmF2aWdhdGlvblJlc3RyaWN0aW9uPy5OYXZpZ2F0aW9uUHJvcGVydHk/LnZhbHVlXG5cdFx0XHQpO1xuXHRcdFx0aWYgKG5hdmlnYXRpb25Qcm9wZXJ0eVswXSkge1xuXHRcdFx0XHQvLyBhZGQgYWxsIHByb3BlcnRpZXMgb2YgdGhlIG5hdmlnYXRpb24gcHJvcGVydHkgdG8gdGhlIG5vblNvcnRhYmxlUHJvcGVydGllc1xuXHRcdFx0XHRub25Tb3J0YWJsZVByb3BlcnRpZXMucHVzaChcblx0XHRcdFx0XHQuLi5uYXZpZ2F0aW9uUHJvcGVydHlbMF0udGFyZ2V0VHlwZT8uZW50aXR5UHJvcGVydGllcy5tYXAoXG5cdFx0XHRcdFx0XHQocHJvcGVydHkpID0+IGAke25hdmlnYXRpb25Qcm9wZXJ0eVswXS5uYW1lfS8ke3Byb3BlcnR5Lm5hbWV9YFxuXHRcdFx0XHRcdClcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gbGVhdmUgdGhlIHByb3BlcnR5IHBhdGggdW5jaGFuZ2VkIChpdCBpcyByZWxhdGl2ZSB0byB0aGUgYW5ub3RhdGlvbiB0YXJnZXQhKVxuXHRcdFx0Y29uc3Qgbm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcyA9IG5hdmlnYXRpb25SZXN0cmljdGlvbj8uU29ydFJlc3RyaWN0aW9ucz8uTm9uU29ydGFibGVQcm9wZXJ0aWVzPy5tYXAoXG5cdFx0XHRcdChwcm9wZXJ0eSkgPT4gcHJvcGVydHkudmFsdWVcblx0XHRcdCk7XG5cdFx0XHRpZiAobm9uU29ydGFibGVOYXZpZ2F0aW9uUHJvcGVydGllcykge1xuXHRcdFx0XHRub25Tb3J0YWJsZVByb3BlcnRpZXMucHVzaCguLi5ub25Tb3J0YWJsZU5hdmlnYXRpb25Qcm9wZXJ0aWVzKTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gbm9uU29ydGFibGVQcm9wZXJ0aWVzO1xufTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRU8sSUFBTUEsV0FBVyxHQUFHLFVBQVVDLFVBQVYsRUFBb0Q7SUFDOUUsT0FBT0EsVUFBVSxJQUFJQSxVQUFVLENBQUNDLGNBQVgsQ0FBMEIsT0FBMUIsQ0FBZCxJQUFvREQsVUFBVSxDQUFDRSxLQUFYLEtBQXFCLFdBQWhGO0VBQ0EsQ0FGTTs7OztFQUlBLElBQU1DLCtCQUErQixHQUFHLFVBQVVDLFNBQVYsRUFBZ0M7SUFBQTs7SUFDOUUsT0FBTywwQkFBQUEsU0FBUyxDQUFDQyxXQUFWLDBH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
@@ -1,4 +1,4 @@
1
- import type { EntitySet, NavigationPropertyPath } from "@sap-ux/vocabularies-types";
1
+ import type { EntitySet } from "@sap-ux/vocabularies-types";
2
2
 
3
3
  export const isEntitySet = function (dataObject: any): dataObject is EntitySet {
4
4
  return dataObject && dataObject.hasOwnProperty("_type") && dataObject._type === "EntitySet";
@@ -30,7 +30,7 @@ export const getNonSortablePropertiesRestrictions = function (entitySet: EntityS
30
30
  if (navigationRestriction?.SortRestrictions?.Sortable === false) {
31
31
  // find correct navigation property
32
32
  const navigationProperty = entitySet?.entityType?.navigationProperties?.filter(
33
- (navProperty) => navProperty.name == (navigationRestriction?.NavigationProperty as NavigationPropertyPath)?.value
33
+ (navProperty) => navProperty.name === navigationRestriction?.NavigationProperty?.value
34
34
  );
35
35
  if (navigationProperty[0]) {
36
36
  // add all properties of the navigation property to the nonSortableProperties
@@ -41,8 +41,9 @@ export const getNonSortablePropertiesRestrictions = function (entitySet: EntityS
41
41
  );
42
42
  }
43
43
  } else {
44
+ // leave the property path unchanged (it is relative to the annotation target!)
44
45
  const nonSortableNavigationProperties = navigationRestriction?.SortRestrictions?.NonSortableProperties?.map(
45
- (property) => `${(navigationRestriction?.NavigationProperty as NavigationPropertyPath)?.value}/${property.value}`
46
+ (property) => property.value
46
47
  );
47
48
  if (nonSortableNavigationProperties) {
48
49
  nonSortableProperties.push(...nonSortableNavigationProperties);
@@ -87,4 +87,4 @@ sap.ui.define(["sap/fe/core/helpers/BindingToolkit"], function (BindingToolkit)
87
87
  _exports.isRequiredExpression = isRequiredExpression;
88
88
  return _exports;
89
89
  }, false);
90
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkQ29udHJvbEhlbHBlci50cyJdLCJuYW1lcyI6WyJpc1JlYWRPbmx5RXhwcmVzc2lvbiIsIm9UYXJnZXQiLCJvRmllbGRDb250cm9sVmFsdWUiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIkZpZWxkQ29udHJvbCIsInZhbHVlT2YiLCJvciIsImVxdWFsIiwiZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uIiwiY29uc3RhbnQiLCJpc0Rpc2FibGVkRXhwcmVzc2lvbiIsImlzTm9uRWRpdGFibGVFeHByZXNzaW9uIiwiaXNSZXF1aXJlZEV4cHJlc3Npb24iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNQSxvQkFBb0IsR0FBRyxVQUFVQyxPQUFWLEVBQTJEO0FBQUE7O0FBQzlGLFFBQU1DLGtCQUFrQixHQUFHRCxPQUFILGFBQUdBLE9BQUgsK0NBQUdBLE9BQU8sQ0FBRUUsV0FBWixrRkFBRyxxQkFBc0JDLE1BQXpCLG9GQUFHLHNCQUE4QkMsWUFBakMsMkRBQUcsdUJBQTRDQyxPQUE1QyxFQUEzQjs7QUFDQSxRQUFJLE9BQU9KLGtCQUFQLEtBQThCLFFBQTlCLElBQTBDLENBQUMsQ0FBQ0Esa0JBQWhELEVBQW9FO0FBQ25FLGFBQU9LLEVBQUUsQ0FBQ0MsS0FBSyxDQUFDQywyQkFBMkIsQ0FBQ1Asa0JBQUQsQ0FBNUIsRUFBa0QsQ0FBbEQsQ0FBTixFQUE0RE0sS0FBSyxDQUFDQywyQkFBMkIsQ0FBQ1Asa0JBQUQsQ0FBNUIsRUFBa0QsR0FBbEQsQ0FBakUsQ0FBVDtBQUNBOztBQUNELFdBQU9RLFFBQVEsQ0FBQ1Isa0JBQWtCLEtBQUssa0NBQXhCLENBQWY7QUFDQSxHQU5NO0FBUVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUNPLE1BQU1TLG9CQUFvQixHQUFHLFVBQVVWLE9BQVYsRUFBMkQ7QUFBQTs7QUFDOUYsUUFBTUMsa0JBQWtCLEdBQUdELE9BQUgsYUFBR0EsT0FBSCxnREFBR0EsT0FBTyxDQUFFRSxXQUFaLG1GQUFHLHNCQUFzQkMsTUFBekIsbUZBQUcsc0JBQThCQyxZQUFqQywwREFBRyxzQkFBNENDLE9BQTVDLEVBQTNCOztBQUNBLFFBQUksT0FBT0osa0JBQVAsS0FBOEIsUUFBOUIsSUFBMEMsQ0FBQyxDQUFDQSxrQkFBaEQsRUFBb0U7QUFDbkUsYUFBT0ssRUFBRSxDQUFDQyxLQUFLLENBQUNDLDJCQUEyQixDQUFDUCxrQkFBRCxDQUE1QixFQUFrRCxDQUFsRCxDQUFOLEVBQTRETSxLQUFLLENBQUNDLDJCQUEyQixDQUFDUCxrQkFBRCxDQUE1QixFQUFrRCxHQUFsRCxDQUFqRSxDQUFUO0FBQ0E7O0FBQ0QsV0FBT1EsUUFBUSxDQUFDUixrQkFBa0IsS0FBSyxzQ0FBeEIsQ0FBZjtBQUNBLEdBTk07QUFRUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sTUFBTVUsdUJBQXVCLEdBQUcsVUFBVVgsT0FBVixFQUEyRDtBQUNqRyxXQUFPTSxFQUFFLENBQUNQLG9CQUFvQixDQUFDQyxPQUFELENBQXJCLEVBQWdDVSxvQkFBb0IsQ0FBQ1YsT0FBRCxDQUFwRCxDQUFUO0FBQ0EsR0FGTTtBQUlQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFDTyxNQUFNWSxvQkFBb0IsR0FBRyxVQUFVWixPQUFWLEVBQTJEO0FBQUE7O0FBQzlGLFFBQU1DLGtCQUFrQixHQUFHRCxPQUFILGFBQUdBLE9BQUgsZ0RBQUdBLE9BQU8sQ0FBRUUsV0FBWixtRkFBRyxzQkFBc0JDLE1BQXpCLG1GQUFHLHNCQUE4QkMsWUFBakMsMERBQUcsc0JBQTRDQyxPQUE1QyxFQUEzQjs7QUFDQSxRQUFJLE9BQU9KLGtCQUFQLEtBQThCLFFBQTlCLElBQTBDLENBQUMsQ0FBQ0Esa0JBQWhELEVBQW9FO0FBQ25FLGFBQU9LLEVBQUUsQ0FBQ0MsS0FBSyxDQUFDQywyQkFBMkIsQ0FBQ1Asa0JBQUQsQ0FBNUIsRUFBa0QsQ0FBbEQsQ0FBTixFQUE0RE0sS0FBSyxDQUFDQywyQkFBMkIsQ0FBQ1Asa0JBQUQsQ0FBNUIsRUFBa0QsR0FBbEQsQ0FBakUsQ0FBVDtBQUNBOztBQUNELFdBQU9RLFFBQVEsQ0FBQ1Isa0JBQWtCLEtBQUssbUNBQXhCLENBQWY7QUFDQSxHQU5NIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBjb25zdGFudCwgZXF1YWwsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbiwgb3IgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyByZWFkIG9ubHkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIEJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIHJlYWQgb25seVxuICovXG5leHBvcnQgY29uc3QgaXNSZWFkT25seUV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiICYmICEhb0ZpZWxkQ29udHJvbFZhbHVlKSB7XG5cdFx0cmV0dXJuIG9yKGVxdWFsKGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvRmllbGRDb250cm9sVmFsdWUpLCAxKSwgZXF1YWwoZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9GaWVsZENvbnRyb2xWYWx1ZSksIFwiMVwiKSk7XG5cdH1cblx0cmV0dXJuIGNvbnN0YW50KG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9SZWFkT25seVwiKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gdG8gY2hlY2sgaWYgdGhlIHByb3BlcnR5IGlzIGRpc2FibGVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1RhcmdldCBUaGUgdGFyZ2V0IHByb3BlcnR5IG9yIERhdGFGaWVsZFxuICogQHJldHVybnMgVGhlIGJpbmRpbmcgZXhwcmVzc2lvbiByZXNvbHZpbmcgdG8gYSBCb29sZWFuIGJlaW5nIHRydWUgaWYgaXQncyBkaXNhYmxlZFxuICovXG5leHBvcnQgY29uc3QgaXNEaXNhYmxlZEV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiICYmICEhb0ZpZWxkQ29udHJvbFZhbHVlKSB7XG5cdFx0cmV0dXJuIG9yKGVxdWFsKGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvRmllbGRDb250cm9sVmFsdWUpLCAwKSwgZXF1YWwoZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9GaWVsZENvbnRyb2xWYWx1ZSksIFwiMFwiKSk7XG5cdH1cblx0cmV0dXJuIGNvbnN0YW50KG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9JbmFwcGxpY2FibGVcIik7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyBub24gZWRpdGFibGUgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIEJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIG5vbiBlZGl0YWJsZVxuICovXG5leHBvcnQgY29uc3QgaXNOb25FZGl0YWJsZUV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0cmV0dXJuIG9yKGlzUmVhZE9ubHlFeHByZXNzaW9uKG9UYXJnZXQpLCBpc0Rpc2FibGVkRXhwcmVzc2lvbihvVGFyZ2V0KSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyByZWFkIG9ubHkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIEJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIHJlYWQgb25seVxuICovXG5leHBvcnQgY29uc3QgaXNSZXF1aXJlZEV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiICYmICEhb0ZpZWxkQ29udHJvbFZhbHVlKSB7XG5cdFx0cmV0dXJuIG9yKGVxdWFsKGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvRmllbGRDb250cm9sVmFsdWUpLCA3KSwgZXF1YWwoZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9GaWVsZENvbnRyb2xWYWx1ZSksIFwiN1wiKSk7XG5cdH1cblx0cmV0dXJuIGNvbnN0YW50KG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9NYW5kYXRvcnlcIik7XG59O1xuIl19
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1JlYWRPbmx5RXhwcmVzc2lvbiIsIm9UYXJnZXQiLCJvRmllbGRDb250cm9sVmFsdWUiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIkZpZWxkQ29udHJvbCIsInZhbHVlT2YiLCJvciIsImVxdWFsIiwiZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uIiwiY29uc3RhbnQiLCJpc0Rpc2FibGVkRXhwcmVzc2lvbiIsImlzTm9uRWRpdGFibGVFeHByZXNzaW9uIiwiaXNSZXF1aXJlZEV4cHJlc3Npb24iXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpZWxkQ29udHJvbEhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBjb25zdGFudCwgZXF1YWwsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbiwgb3IgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nVG9vbGtpdFwiO1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyByZWFkIG9ubHkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIEJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIHJlYWQgb25seVxuICovXG5leHBvcnQgY29uc3QgaXNSZWFkT25seUV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiICYmICEhb0ZpZWxkQ29udHJvbFZhbHVlKSB7XG5cdFx0cmV0dXJuIG9yKGVxdWFsKGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvRmllbGRDb250cm9sVmFsdWUpLCAxKSwgZXF1YWwoZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9GaWVsZENvbnRyb2xWYWx1ZSksIFwiMVwiKSk7XG5cdH1cblx0cmV0dXJuIGNvbnN0YW50KG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9SZWFkT25seVwiKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gdG8gY2hlY2sgaWYgdGhlIHByb3BlcnR5IGlzIGRpc2FibGVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0gb1RhcmdldCBUaGUgdGFyZ2V0IHByb3BlcnR5IG9yIERhdGFGaWVsZFxuICogQHJldHVybnMgVGhlIGJpbmRpbmcgZXhwcmVzc2lvbiByZXNvbHZpbmcgdG8gYSBCb29sZWFuIGJlaW5nIHRydWUgaWYgaXQncyBkaXNhYmxlZFxuICovXG5leHBvcnQgY29uc3QgaXNEaXNhYmxlZEV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiICYmICEhb0ZpZWxkQ29udHJvbFZhbHVlKSB7XG5cdFx0cmV0dXJuIG9yKGVxdWFsKGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvRmllbGRDb250cm9sVmFsdWUpLCAwKSwgZXF1YWwoZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9GaWVsZENvbnRyb2xWYWx1ZSksIFwiMFwiKSk7XG5cdH1cblx0cmV0dXJuIGNvbnN0YW50KG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9JbmFwcGxpY2FibGVcIik7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyBub24gZWRpdGFibGUgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIEJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIG5vbiBlZGl0YWJsZVxuICovXG5leHBvcnQgY29uc3QgaXNOb25FZGl0YWJsZUV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0cmV0dXJuIG9yKGlzUmVhZE9ubHlFeHByZXNzaW9uKG9UYXJnZXQpLCBpc0Rpc2FibGVkRXhwcmVzc2lvbihvVGFyZ2V0KSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgYmluZGluZyBleHByZXNzaW9uIHRvIGNoZWNrIGlmIHRoZSBwcm9wZXJ0eSBpcyByZWFkIG9ubHkgb3Igbm90LlxuICpcbiAqIEBwYXJhbSBvVGFyZ2V0IFRoZSB0YXJnZXQgcHJvcGVydHkgb3IgRGF0YUZpZWxkXG4gKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uIHJlc29sdmluZyB0byBhIEJvb2xlYW4gYmVpbmcgdHJ1ZSBpZiBpdCdzIHJlYWQgb25seVxuICovXG5leHBvcnQgY29uc3QgaXNSZXF1aXJlZEV4cHJlc3Npb24gPSBmdW5jdGlvbiAob1RhcmdldDogYW55KTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPGJvb2xlYW4+IHtcblx0Y29uc3Qgb0ZpZWxkQ29udHJvbFZhbHVlID0gb1RhcmdldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRmllbGRDb250cm9sPy52YWx1ZU9mKCk7XG5cdGlmICh0eXBlb2Ygb0ZpZWxkQ29udHJvbFZhbHVlID09PSBcIm9iamVjdFwiICYmICEhb0ZpZWxkQ29udHJvbFZhbHVlKSB7XG5cdFx0cmV0dXJuIG9yKGVxdWFsKGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihvRmllbGRDb250cm9sVmFsdWUpLCA3KSwgZXF1YWwoZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKG9GaWVsZENvbnRyb2xWYWx1ZSksIFwiN1wiKSk7XG5cdH1cblx0cmV0dXJuIGNvbnN0YW50KG9GaWVsZENvbnRyb2xWYWx1ZSA9PT0gXCJDb21tb24uRmllbGRDb250cm9sVHlwZS9NYW5kYXRvcnlcIik7XG59O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7O0VBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ08sSUFBTUEsb0JBQW9CLEdBQUcsVUFBVUMsT0FBVixFQUEyRDtJQUFBOztJQUM5RixJQUFNQyxrQkFBa0IsR0FBR0QsT0FBSCxhQUFHQSxPQUFILCtDQUFHQSxPQUFPLENBQUVFLFdBQVosa0ZBQUcscUJBQXNCQyxNQUF6QixvRkFBRyxzQkFBOEJDLFlBQWpDLDJEQUFHLHVCQUE0Q0MsT0FBNUMsRUFBM0I7O0lBQ0EsSUFBSSxPQUFPSixrQkFBUCxLQUE4QixRQUE5QixJQUEwQyxDQUFDLENBQUNBLGtCQUFoRCxFQUFvRTtNQUNuRSxPQUFPSyxFQUFFLENBQUNDLEtBQUssQ0FBQ0MsMkJBQTJCLENBQUNQLGtCQUFELENBQTVCLEVBQWtELENBQWxELENBQU4sRUFBNERNLEtBQUssQ0FBQ0MsMkJBQTJCLENBQUNQLGtCQUFELENBQTVCLEVBQWtELEdBQWxELENBQWpFLENBQVQ7SUFDQTs7SUFDRCxPQUFPUSxRQUFRLENBQUNSLGtCQUFrQixLQUFLLGtDQUF4QixDQUFmO0VBQ0EsQ0FOTTtFQVFQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7RUFDTyxJQUFNUyxvQkFBb0IsR0FBRyxVQUFVVixPQUFWLEVBQTJEO0lBQUE7O0lBQzlGLElBQU1DLGtCQUFrQixHQUFHRCxPQUFILGFBQUdBLE9BQUgsZ0RBQUdBLE9BQU8sQ0FBRUUsV0FBWixtRkFBRyxzQkFBc0JDLE1BQXpCLG1GQUFHLHNCQUE4QkMsWUFBakMsMERBQUcsc0JBQTRDQyxPQUE1QyxFQUEzQjs7SUFDQSxJQUFJLE9BQU9KLGtCQUFQLEtBQThCLFFBQTlCLElBQTBDLENBQUMsQ0FBQ0Esa0JBQWhELEVBQW9FO01BQ25FLE9BQU9LLEVBQUUsQ0FBQ0MsS0FBSyxDQUFDQywyQkFBMkIsQ0FBQ1Asa0JBQUQsQ0FBNUIsRUFBa0QsQ0FBbEQsQ0FBTixFQUE0RE0sS0FBSyxDQUFDQywyQkFBMkIsQ0FBQ1Asa0JBQUQsQ0FBNUIsRUFBa0QsR0FBbEQsQ0FBakUsQ0FBVDtJQUNBOztJQUNELE9BQU9RLFFBQVEsQ0FBQ1Isa0JBQWtCLEtBQUssc0NBQXhCLENBQWY7RUFDQSxDQU5NO0VBUVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztFQUNPLElBQU1VLHVCQUF1QixHQUFHLFVBQVVYLE9BQVYsRUFBMkQ7SUFDakcsT0FBT00sRUFBRSxDQUFDUCxvQkFBb0IsQ0FBQ0MsT0FBRCxDQUFyQixFQUFnQ1Usb0JBQW9CLENBQUNWLE9BQUQsQ0FBcEQsQ0FBVDtFQUNBLENBRk07RUFJUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0VBQ08sSUFBTVksb0JBQW9CLEdBQUcsVUFBVVosT0FBVixFQUEyRDtJQUFBOztJQUM5RixJQUFNQyxrQkFBa0IsR0FBR0QsT0FBSCxhQUFHQSxPQUFILGdEQUFHQSxPQUFPLENBQUVFLFdBQVosbUZBQUcsc0JBQXNCQyxNQUF6QixtRkFBRyxzQkFBOEJDLFlBQWpDLDBEQUFHLHNCQUE0Q0MsT0FBNUMsRUFBM0I7O0lBQ0EsSUFBSSxPQUFPSixrQkFBUCxLQUE4QixRQUE5QixJQUEwQyxDQUFDLENBQUNBLGtCQUFoRCxFQUFvRTtNQUNuRSxPQUFPSyxFQUFFLENBQUNDLEtBQUssQ0FBQ0MsMkJBQTJCLENBQUNQLGtCQUFELENBQTVCLEVBQWtELENBQWxELENBQU4sRUFBNERNLEtBQUssQ0FBQ0MsMkJBQTJCLENBQUNQLGtCQUFELENBQTVCLEVBQWtELEdBQWxELENBQWpFLENBQVQ7SUFDQTs7SUFDRCxPQUFPUSxRQUFRLENBQUNSLGtCQUFrQixLQUFLLG1DQUF4QixDQUFmO0VBQ0EsQ0FOTSJ9