@sap/open.fe 1.99.0 → 1.100.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.
- package/package.json +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +1748 -1813
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +2 -3
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.ts +1801 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessageFilter-dbg.js +77 -32
- package/packages/sap.fe.common/src/sap/fe/common/MessageFilter.js +2 -3
- package/packages/sap.fe.common/src/sap/fe/common/MessageFilter.ts +26 -0
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover-dbg.js +43 -53
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.js +2 -3
- package/packages/sap.fe.common/src/sap/fe/common/MessagePopover.ts +39 -0
- package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +31 -38
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +8 -9
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js.map +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +23 -71
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +4 -4
- package/packages/sap.fe.common/src/sap/fe/common/library.js +4 -5
- package/packages/sap.fe.common/src/sap/fe/common/library.ts +35 -0
- package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/resources.json +54 -32
- package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +1 -69
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.ts +0 -70
- package/packages/sap.fe.core/src/sap/fe/core/AppComponent-dbg.js +388 -399
- package/packages/sap.fe.core/src/sap/fe/core/AppComponent.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/AppComponent.ts +403 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +127 -158
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/BaseController-dbg.js +82 -58
- package/packages/sap.fe.core/src/sap/fe/core/BaseController.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/BaseController.ts +68 -0
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +111 -20
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.ts +131 -32
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI-dbg.js +278 -274
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/ExtensionAPI.ts +250 -0
- package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +157 -29
- package/packages/sap.fe.core/src/sap/fe/core/PageController.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/PageController.ts +60 -32
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +694 -756
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.ts +11 -9
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization-dbg.js +21 -31
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.ts +10 -3
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel-dbg.js +20 -38
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +1354 -1370
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.ts +33 -22
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/ActivitySync-dbg.js +392 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/ActivitySync.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/CollaborationCommon-dbg.js +136 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/Manage-dbg.js +262 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/Manage.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +30 -68
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.ts +44 -71
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +55 -36
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.ts +66 -46
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +34 -15
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.ts +48 -18
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky-dbg.js +17 -4
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.ts +21 -4
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata-dbg.js +69 -66
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +1593 -1669
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +79 -54
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +718 -779
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +796 -816
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +1004 -1005
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +487 -521
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +141 -169
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +233 -244
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +301 -336
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.ts +12 -10
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator-dbg.js +188 -175
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +157 -149
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +144 -125
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +7 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share-dbg.js +230 -268
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Share.ts +231 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +592 -633
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +8 -7
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState-dbg.js +788 -806
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution-dbg.js +67 -66
- package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/CommandExecution.ts +72 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +90 -75
- package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +130 -125
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +103 -112
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +122 -135
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar-dbg.js +162 -159
- package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/FilterBar.ts +143 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper-dbg.js +45 -39
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/MultiValueParameterDelegate-dbg.js +37 -42
- package/packages/sap.fe.core/src/sap/fe/core/controls/MultiValueParameterDelegate.js +1 -2
- package/packages/sap.fe.core/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +126 -116
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +241 -255
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +150 -141
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +335 -322
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +74 -74
- package/packages/sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +348 -379
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +19 -16
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +12 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +12 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +354 -378
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +10 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +6 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +5 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField-dbg.js +26 -12
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/annotations/DataField.ts +37 -13
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +4 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +130 -23
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +134 -29
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +118 -53
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +156 -93
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +161 -207
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +148 -206
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +115 -133
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +20 -6
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +12 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key-dbg.js +42 -57
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Key.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +25 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +20 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +10 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +15 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +7 -5
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +92 -98
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/designtime/library-preload.designtime.js.map +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +104 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CollaborationFormatter.js +5 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +53 -2
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +51 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/Component-dbg.js +50 -54
- package/packages/sap.fe.core/src/sap/fe/core/fpm/Component.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/fpm/Component.ts +48 -0
- package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/fpm/resources.json +7 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +323 -309
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.ts +363 -337
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +7 -7
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +7 -7
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport-dbg.js +186 -62
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.ts +168 -52
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +5 -4
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -5
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper-dbg.js +601 -684
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +25 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.ts +23 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +5 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.ts +4 -0
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +426 -451
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +36 -32
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +644 -738
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +4 -4
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +24 -35
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/library.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/library.support.js +22 -33
- package/packages/sap.fe.core/src/sap/fe/core/library.support.ts +23 -0
- package/packages/sap.fe.core/src/sap/fe/core/library.ts +420 -0
- package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +5 -3
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +4 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +22 -5
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +28 -8
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +28 -8
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +29 -9
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +26 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +28 -8
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +28 -8
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +26 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +30 -10
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +27 -7
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +745 -384
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +45 -71
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +154 -192
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +4 -4
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +66 -92
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +284 -339
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -13
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +67 -102
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.ts +5 -2
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +754 -814
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.ts +13 -13
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +649 -736
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +7 -4
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +567 -592
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +22 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +354 -386
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +21 -14
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/support/CommonHelper.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics-dbg.js +36 -48
- package/packages/sap.fe.core/src/sap/fe/core/support/Diagnostics.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +93 -85
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/DataModelPathHelper.ts +104 -95
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +25 -32
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +36 -35
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +37 -24
- package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1664 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +59 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldDisplay/localService/RootEntity.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/FieldMessages.controller.js +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/FieldMessages.view.xml +18 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/localService/Entities.json +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/localService/service.cds +6 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldMessages/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/fieldMessages.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/FilterBarSVandAnnotationDefaults.controller.js +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +7 -2
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +9 -3
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/RootEntity.js +23 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/RootEntity.ts +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/localService/service.cds +11 -23
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/Component.js +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/TableMessages.controller.js +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/TableMessages.view.xml +21 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/localService/RootEntity.json +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/localService/service.cds +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableMessages/manifest.json +78 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableMessages.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/controllerExtensions/basicExtensibility/localService/ChildEntity.json +5 -4
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/customElements/customColumn/customColumnContent/manifest.json +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/view/App.view.xml +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/AnnotationHelper.spec.js +1 -169
- package/packages/sap.fe.core/test/sap/fe/core/jest/AnnotationHelper.spec.ts +0 -212
- package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.js +2305 -119
- package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.ts +2206 -67
- package/packages/sap.fe.core/test/sap/fe/core/jest/FilterUtils.spec.js +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/FilterUtils.spec.ts +34 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/FlexibleColumnLayout.spec.js +114 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/FlexibleColumnLayout.spec.ts +114 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/Paginators.spec.js +113 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/Paginators.spec.ts +78 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/RouterProxy.spec.js +599 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/RouterProxy.spec.ts +614 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.js +23 -5
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.ts +26 -14
- package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.js +87 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.ts +82 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/VisualFilterUtils.spec.js +124 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/VisualFilterUtils.spec.ts +141 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +34768 -67
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/ActivitySync.spec.js +170 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/ActivitySync.spec.ts +155 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/CollaborationCommon.spec.js +101 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/CollaborationCommon.spec.ts +94 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/Manage.spec.js +82 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/collaboration/Manage.spec.ts +77 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/draft.spec.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/draft.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/messageHandling.spec.js +7 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/messageHandling.spec.ts +7 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/operations.spec.js +104 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/operations.spec.ts +96 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/sticky.spec.js +83 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/sticky.spec.ts +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/appcomponent.spec.js +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/appcomponent.spec.ts +64 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.js +619 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.ts +668 -5
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalEditFlow.spec.js +297 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalEditFlow.spec.ts +276 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalIntentBasedNavigation.spec.js +149 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalIntentBasedNavigation.spec.ts +142 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalRouting.spec.js +776 -182
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalRouting.spec.ts +181 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +19 -43
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MassEdit.spec.js +2 -18
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MassEdit.spec.ts +8 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +5 -27
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Routing.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Routing.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Share.spec.js +86 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Share.spec.ts +80 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.js +2 -18
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/ViewState.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controls/DataLossOrDraftDiscardHandler.spec.js +45 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controls/DataLossOrDraftDiscardHandler.spec.ts +29 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controls/FilterBar.spec.js +51 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controls/FilterBar.spec.ts +47 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controls/__snapshots__/FilterBar.spec.ts.snap +3 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Filter.spec.js +25 -36
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Filter.spec.ts +26 -36
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +3 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +6 -5
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +133 -9
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +171 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.js +174 -210
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.ts +294 -230
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Filter.spec.ts.snap +3 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/Chart.spec.js +237 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/Chart.spec.ts +246 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/DataVisualization.spec.js +9993 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/DataVisualization.spec.ts +11352 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/Table.spec.js +460 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/Table.spec.ts +543 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/TableAnalytics.spec.js +616 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/TableAnalytics.spec.ts +711 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/controls/manifest.json +887 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/objectPage/HeaderAndFooterAction.spec.js +393 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/objectPage/HeaderAndFooterAction.spec.ts +434 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/DataConverter.js +31 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/DataConverter.ts +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/Filter.cds +27 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/MassEditHelper.cds +12 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/manifest.json +150 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/metadata.xml +365 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/metadata_groupable_options.xml +96 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/metadata_textArrangement.xml +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/OKRA/metadata_withPV.xml +359 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/Table.cds +89 -27
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TemplatingTestData.js +421 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/TemplatingTestData.ts +413 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/aggregatedSD/metadata.xml +3767 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/dsr/manifest.json +185 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/dsr/metadata.xml +1534 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/manifest.json +887 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/salesOrderMetadata_qunit.xml +4995 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/CollaborationFormatters.spec.js +48 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/CollaborationFormatters.spec.ts +48 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +131 -51
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +81 -31
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.js +13 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.ts +12 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/MassEditHelper.spec.js +17 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/MassEditHelper.spec.ts +24 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +61 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.ts +59 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/PasteHelper.spec.js +3 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/PasteHelper.spec.ts +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/SemanticDateOperators.spec.js +4 -4
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/SemanticDateOperators.spec.ts +6 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/StableIdHelper.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/StableIdHelper.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/AppStartupHelper.spec.ts.snap +19 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/MassEditHelper.spec.ts.snap +0 -73
- package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.js +11 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/ChangePageConfiguration.spec.ts +15 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/manifestmerger/__snapshots__/ChangePageConfiguration.spec.ts.snap +30 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +49 -5
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +60 -5
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/DataModelPathHelper.spec.js +384 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/DataModelPathHelper.spec.ts +427 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.js +132 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.ts +156 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/UIFormatters.spec.js +273 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/UIFormatters.spec.ts +402 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/ValueHelpTemplating.spec.js +45 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/ValueHelpTemplating.spec.ts +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +2 -1
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +0 -102
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.100.json +326 -0
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.99.json +0 -22
- package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI-dbg.js +22 -43
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.ts +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +14 -24
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/DraftIndicator.fragment.xml +3 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.fragment.xml +16 -18
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +162 -100
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +93 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +2 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +16 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +58 -83
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +16 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +112 -192
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI-dbg.js +4 -20
- package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI-dbg.js +10 -31
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +147 -162
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.ts +32 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata-dbg.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroMetadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +56 -74
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +90 -39
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +284 -251
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +126 -14
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +38 -101
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +68 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +72 -12
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +67 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +5 -12
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/DraftEditState.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper-dbg.js +1 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +62 -39
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue-dbg.js +104 -50
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue.js +2 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/MultiValue.ts +68 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range-dbg.js +83 -35
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range.js +2 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Range.ts +66 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value-dbg.js +327 -216
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value.js +2 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/type/Value.ts +303 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollaborationAvatar.fragment.xml +15 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +14 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +18 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +12 -29
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +9 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +529 -533
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +2 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.ts +568 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/FilterField.fragment.xml +0 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator-dbg.js +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.ts +3 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldContent.fragment.xml +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +13 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/DataPoint.fragment.xml +4 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ExpandableText.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LabelSemanticKey.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Link.fragment.xml +38 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/MdcFieldWithValueHelp.fragment.xml +1 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +55 -11
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/SemanticKeyWithDraftIndicator.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/Text.fragment.xml +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +9 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +9 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +12 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +26 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +10 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/RatingIndicator.fragment.xml +9 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +9 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/fragments/ObjectIdentifierContent.fragment.xml +4 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +31 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +20 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.ts +7 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +90 -118
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +13 -12
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +185 -214
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +4 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +4 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +4 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +4 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +273 -199
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Column.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +2 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/CreationRow.fragment.xml +13 -20
- package/packages/sap.fe.macros/src/sap/fe/macros/table/CustomColumn.fragment.xml +1 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +5 -110
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +98 -78
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.metadata.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +211 -10
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +1 -45
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +0 -60
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldAPI.spec.js +78 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldAPI.spec.ts +71 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.js +35 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroDataFieldTypes.spec.ts +44 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarDelegate.spec.js +0 -76
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.js +27 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterBarMacro.spec.ts +28 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterFieldHelper.spec.js +10 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterFieldHelper.spec.ts +10 -10
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterUtils.spec.js +129 -15
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroAPI.spec.js +13 -39
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroAPI.spec.ts +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/RetrieveTextFromValueList.spec.js +119 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/RetrieveTextFromValueList.spec.ts +113 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/Table.spec.js +166 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/Table.spec.ts +190 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.js +457 -389
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.ts +504 -425
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.js +104 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.ts +158 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartDelegate.spec.ts.snap +0 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +5 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +114 -25
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithSemanticKey.spec.ts.snap +40 -40
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroWithValueHelp.spec.ts.snap +4 -8
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterBarMacro.spec.ts.snap +19 -19
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +3 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +12 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +89 -90
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/Table.spec.ts.snap +1314 -58
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableMacro.spec.ts.snap +459 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +18 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/QuickViewForm.cds +6 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +107 -106
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/TableAPI.cds +197 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +33 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +30 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +72 -29
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +86 -18
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/__snapshots__/columnWidth.spec.ts.snap +51 -27
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.js +55 -9
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.ts +46 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/data/columnWidth.cds +28 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +170 -43
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +131 -15
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +90 -53
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/tsx/TestTSX.spec.tsx +2 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/index.json +0 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +1 -99
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormElementTemplating.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MacroMetadata.qunit.js +4 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableHelper.qunit.js +4 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueHelpTemplating.qunit.js +15 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +265 -106
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/metadata/simpleMetadata.js +38 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.100.json +372 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.99.json +0 -11
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js.map +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
- package/packages/sap.fe.navigation/src/sap/fe/navigation/resources.json +8 -8
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js.map +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js.map +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/resources.json +27 -27
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/css_variables.source.less +316 -15
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/base/resources.json +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.less +315 -14
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/css_variables.source.less +315 -14
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize/resources.json +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.less +316 -15
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/css_variables.source.less +316 -15
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcb/resources.json +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.less +316 -15
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/css_variables.source.less +316 -15
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_hcw/resources.json +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.less +315 -14
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/css_variables.source.less +315 -14
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_belize_plus/resources.json +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.less +317 -16
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/css_variables.source.less +317 -16
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3/resources.json +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.less +317 -16
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/css_variables.source.less +317 -16
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_dark/resources.json +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.less +316 -15
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/css_variables.source.less +316 -15
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcb/resources.json +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.less +316 -15
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/css_variables.source.less +316 -15
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_fiori_3_hcw/resources.json +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_horizon/css_variables.less +400 -99
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_horizon/css_variables.source.less +400 -99
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/themes/sap_horizon/resources.json +2 -2
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/resources.json +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component-dbg.js +7 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +22 -21
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +13 -18
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +7 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/MultipleMode.fragment.xml +3 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +50 -9
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +1 -12
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +5 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +50 -17
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox-dbg.js +7 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/controls/StashableHBox.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox-dbg.designtime.js +3 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/designtime/FlexBox.designtime.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +19 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/CollaborationDraft.fragment.xml +36 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/EditableHeaderFacet.fragment.xml +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacet.fragment.xml +1 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeaderFacetCustomContainer.fragment.xml +1 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl-dbg.controller.js +3 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/Fcl.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer-dbg.controller.js +3 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/RootContainer/controller/NavContainer.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/designtime/library-preload.designtime.js.map +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +4 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +22 -21
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +14 -14
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ar.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_bg.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ca.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cs.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cy.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_da.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_de.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_el.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_GB.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es_MX.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_et.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fi.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr_CA.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hi.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hr.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hu.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_id.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_it.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_iw.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_kk.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ko.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lt.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lv.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ms.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_nl.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_no.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pl.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt_PT.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ro.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ru.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sh.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sk.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sl.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sv.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_th.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_uk.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_vi.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_CN.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_TW.properties +0 -15
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +115 -89
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +353 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/IntentBasedNavigation.spec.js +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/IntentBasedNavigation.spec.ts +3 -3
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/Share.spec.js +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/Share.spec.ts +4 -4
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.js +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.ts +2 -2
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.js +2 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/ObjectPageHeaderForm.spec.ts +2 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/HeaderFacet.spec.ts.snap +7 -7
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.js +30 -61
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.ts +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.100.json +192 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.99.json +0 -11
- package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/FeMocks-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/FeMocks.ts +8 -8
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +6 -4
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +10 -6
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +126 -203
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +17 -2
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI-dbg.js +9 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/FilterBarAPI.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +2 -2
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +2 -2
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +9 -18
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/resources.json +18 -18
- package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +0 -271
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<core:FragmentDefinition xmlns="sap.m" xmlns:f="sap.f" xmlns:core="sap.ui.core">
|
|
2
|
+
<ResponsivePopover id="userDetails" showHeader="false" class="sapUiContentPadding" placement="Bottom">
|
|
3
|
+
|
|
4
|
+
<HBox>
|
|
5
|
+
<f:Avatar initials="{internal>initials}" displaySize="S" />
|
|
6
|
+
<VBox>
|
|
7
|
+
<Label class="sapUiMediumMarginBegin" text="{internal>name}" />
|
|
8
|
+
<Label class="sapUiMediumMarginBegin" text="{internal>id}" />
|
|
9
|
+
</VBox>
|
|
10
|
+
</HBox>
|
|
11
|
+
|
|
12
|
+
</ResponsivePopover>
|
|
13
|
+
</core:FragmentDefinition>
|
|
@@ -136,7 +136,9 @@ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "sap/m/Text", "sap/m/MessageBox",
|
|
|
136
136
|
var oOperation = createOperation(oContext, draftOperations.EDIT, oOptions);
|
|
137
137
|
oOperation.setParameter("PreserveChanges", bPreserveChanges);
|
|
138
138
|
var sGroupId = "direct";
|
|
139
|
-
var
|
|
139
|
+
var localI18nRef = sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");
|
|
140
|
+
var sActionName = localI18nRef.getText("C_COMMON_OBJECT_PAGE_EDIT");
|
|
141
|
+
var oEditPromise = oOperation.execute(sGroupId, undefined, CommonUtils.fnOnStrictHandlingFailed.bind(draft, sGroupId, sActionName, oContext.getModel())).then(function (oDraftDocumentContext) {
|
|
140
142
|
return oDraftDocumentContext;
|
|
141
143
|
});
|
|
142
144
|
oOperation.getModel().submitBatch(sGroupId);
|
|
@@ -145,29 +147,6 @@ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "sap/m/Text", "sap/m/MessageBox",
|
|
|
145
147
|
throw new Error("You cannot edit this draft document");
|
|
146
148
|
}
|
|
147
149
|
}
|
|
148
|
-
/*function fnOnStrictHandlingFailed(oContext: any, sGroupId: any, aMessages: any) { //Will uncomment this function in the commit : 5513510
|
|
149
|
-
if (aMessages.length === 1) {
|
|
150
|
-
const sMessage = aMessages[0].message,
|
|
151
|
-
dialogPromise = new Promise(function(resolve: (value: any) => void) {
|
|
152
|
-
sap.ui.require(["sap/m/MessageBox"], function(MessageBox: any) {
|
|
153
|
-
MessageBox.warning(sMessage, {
|
|
154
|
-
title: "Warning",
|
|
155
|
-
actions: [MessageBox.Action.OK, MessageBox.Action.CANCEL],
|
|
156
|
-
onClose: function(sAction: any) {
|
|
157
|
-
if (sAction === MessageBox.Action.OK) {
|
|
158
|
-
resolve(true);
|
|
159
|
-
oContext.getModel().submitBatch(sGroupId);
|
|
160
|
-
} else {
|
|
161
|
-
resolve(false);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
});
|
|
167
|
-
return dialogPromise;
|
|
168
|
-
}
|
|
169
|
-
}*/
|
|
170
|
-
|
|
171
150
|
/**
|
|
172
151
|
* Activates a draft document. The draft will replace the sibling entity and will be deleted by the back end.
|
|
173
152
|
*
|
|
@@ -191,14 +170,17 @@ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "sap/m/Text", "sap/m/MessageBox",
|
|
|
191
170
|
var oOperation = createOperation(oContext, draftOperations.ACTIVATION, {
|
|
192
171
|
$$inheritExpandSelect: true
|
|
193
172
|
});
|
|
194
|
-
|
|
173
|
+
var localI18nRef = sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");
|
|
174
|
+
var sActionName = localI18nRef.getText("C_OP_OBJECT_PAGE_SAVE");
|
|
175
|
+
return oOperation.execute(sGroupId, bIgnoreEtag, sGroupId ? CommonUtils.fnOnStrictHandlingFailed.bind(draft, sGroupId, sActionName, oContext.getModel()) : undefined) //3rd parameter<------
|
|
176
|
+
.then(function (oActiveDocumentContext) {
|
|
195
177
|
return oActiveDocumentContext;
|
|
196
178
|
}).catch( //if ACTIVATE action fails then we request either the sideEffects against PREPARE action (if annotated) or the messages as fallback:
|
|
197
179
|
function () {
|
|
198
180
|
if (bHasPrepareAction) {
|
|
199
|
-
var
|
|
181
|
+
var _sActionName = getActionName(oContext, draftOperations.PREPARE),
|
|
200
182
|
oSideEffectsService = oAppComponent.getSideEffectsService(),
|
|
201
|
-
oBindingParameters = oSideEffectsService.getODataActionSideEffects(
|
|
183
|
+
oBindingParameters = oSideEffectsService.getODataActionSideEffects(_sActionName, oContext),
|
|
202
184
|
aTargetPaths = oBindingParameters && oBindingParameters.pathExpressions;
|
|
203
185
|
|
|
204
186
|
if (aTargetPaths && aTargetPaths.length > 0) {
|
|
@@ -223,46 +205,24 @@ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "sap/m/Text", "sap/m/MessageBox",
|
|
|
223
205
|
*
|
|
224
206
|
* @function
|
|
225
207
|
* @param {sap.ui.model.odata.v4.Context} oContext Context for which the action should be performed
|
|
226
|
-
* @param {
|
|
227
|
-
* @param {object} mParameters The parameters
|
|
228
|
-
* @param {boolean} [mParameters.groupId] The optional batch group where we want to execute the operation in
|
|
229
|
-
* @param {boolean} [mParameters.bPrepareForEdit] Shall the messages be requested if supported by service
|
|
208
|
+
* @param {string} groupId The optional batch group in which we want to execute the operation
|
|
230
209
|
* @returns {Promise.<sap.ui.model.odata.v4.Context>} Resolve function returns the context of the operation
|
|
231
210
|
* @private
|
|
232
211
|
* @ui5-restricted
|
|
233
212
|
*/
|
|
234
213
|
|
|
235
214
|
|
|
236
|
-
function executeDraftPreparationAction(oContext,
|
|
237
|
-
var mParams = mParameters || {};
|
|
238
|
-
|
|
215
|
+
function executeDraftPreparationAction(oContext, groupId) {
|
|
239
216
|
if (!oContext.getProperty("IsActiveEntity")) {
|
|
240
217
|
var oOperation = createOperation(oContext, draftOperations.PREPARE); // TODO: side effects qualifier shall be even deprecated to be checked
|
|
241
218
|
|
|
242
219
|
oOperation.setParameter("SideEffectsQualifier", "");
|
|
243
|
-
var sGroupId =
|
|
244
|
-
|
|
245
|
-
if (mParams.bPrepareForEdit) {
|
|
246
|
-
// if PREPARE action is triggered after Edit then either the sideEffects (if annotated against PREPARE) are executed or the messages are requested as fallback if no sideEffects:
|
|
247
|
-
var sActionName = getActionName(oContext, draftOperations.PREPARE),
|
|
248
|
-
oSideEffectsService = oAppComponent.getSideEffectsService(),
|
|
249
|
-
oBindingParameters = oSideEffectsService.getODataActionSideEffects(sActionName, oContext),
|
|
250
|
-
aTargetPaths = oBindingParameters && oBindingParameters.pathExpressions;
|
|
251
|
-
|
|
252
|
-
if (aTargetPaths && aTargetPaths.length > 0) {
|
|
253
|
-
oSideEffectsService.requestSideEffects(aTargetPaths, oContext, sGroupId).catch(function (oError) {
|
|
254
|
-
Log.error("Error while requesting side effects", oError);
|
|
255
|
-
});
|
|
256
|
-
} else {
|
|
257
|
-
requestMessages(oContext, oSideEffectsService);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
|
|
220
|
+
var sGroupId = groupId || oOperation.getGroupId();
|
|
221
|
+
return oOperation.execute(sGroupId).then(function () {
|
|
261
222
|
return oOperation;
|
|
262
223
|
}).catch(function (oError) {
|
|
263
224
|
Log.error("Error while executing the operation", oError);
|
|
264
225
|
});
|
|
265
|
-
return oPreparationPromise;
|
|
266
226
|
} else {
|
|
267
227
|
throw new Error("The preparation action cannot be executed on an active document");
|
|
268
228
|
}
|
|
@@ -321,8 +281,11 @@ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "sap/m/Text", "sap/m/MessageBox",
|
|
|
321
281
|
function executeDraftDiscardAction(oContext) {
|
|
322
282
|
if (!oContext.getProperty("IsActiveEntity")) {
|
|
323
283
|
var oDiscardOperation = createOperation(oContext, draftOperations.DISCARD);
|
|
324
|
-
var
|
|
325
|
-
|
|
284
|
+
var localI18nRef = sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");
|
|
285
|
+
var sGroupId = "direct";
|
|
286
|
+
var sActionName = localI18nRef.getText("C_TRANSACTION_HELPER_DRAFT_DISCARD_BUTTON");
|
|
287
|
+
var oDiscardPromise = oDiscardOperation.execute(sGroupId, undefined, CommonUtils.fnOnStrictHandlingFailed.bind(draft, sGroupId, sActionName, oContext.getModel()));
|
|
288
|
+
oContext.getModel().submitBatch(sGroupId);
|
|
326
289
|
return oDiscardPromise;
|
|
327
290
|
} else {
|
|
328
291
|
throw new Error("The discard action cannot be executed on an active document");
|
|
@@ -338,11 +301,10 @@ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "sap/m/Text", "sap/m/MessageBox",
|
|
|
338
301
|
* @memberof sap.fe.core.actions.draft
|
|
339
302
|
* @static
|
|
340
303
|
* @param {sap.ui.model.odata.v4.Context} oContext Context of the active document for the new draft
|
|
341
|
-
* @param {
|
|
304
|
+
* @param {AppComponent} oAppComponent The AppComponent
|
|
342
305
|
* @param {object} mParameters The parameters
|
|
343
306
|
* @param {boolean} [mParameters.oView] The view
|
|
344
307
|
* @param {boolean} [mParameters.bPreserveChanges] Preserve changes of an existing draft of another user
|
|
345
|
-
* @param {boolean} [mParameters.bPrepareOnEdit] Also call prepare when calling draft creation
|
|
346
308
|
* @param {sap.fe.core.actions.draft.ICallback.beforeCreateDraftFromActiveDocument} [mParameters.fnBeforeCreateDraftFromActiveDocument] Callback that allows veto before create request is executed
|
|
347
309
|
* @param {sap.fe.core.actions.draft.ICallback.afterCreateDraftFromActiveDocument} [mParameters.fnAfterCreateDraftFromActiveDocument] Callback for postprocessiong after draft document was created
|
|
348
310
|
* @param {sap.fe.core.actions.draft.ICallback.whenDecisionToOverwriteDocumentIsRequired} [mParameters.fnWhenDecisionToOverwriteDocumentIsRequired] Callback for deciding on overwriting an unsaved change by another user
|
|
@@ -450,15 +412,18 @@ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "sap/m/Text", "sap/m/MessageBox",
|
|
|
450
412
|
}).then(function (oDraftContext) {
|
|
451
413
|
return Promise.resolve(mParam.fnAfterCreateDraftFromActiveDocument ? mParam.fnAfterCreateDraftFromActiveDocument(oContext, oDraftContext) : oDraftContext);
|
|
452
414
|
}).then(function (oDraftContext) {
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
415
|
+
var _oSideEffects$trigger;
|
|
416
|
+
|
|
417
|
+
var sEditActionName = getActionName(oDraftContext, draftOperations.EDIT);
|
|
418
|
+
var oSideEffects = oAppComponent.getSideEffectsService().getODataActionSideEffects(sEditActionName, oDraftContext);
|
|
419
|
+
|
|
420
|
+
if (oSideEffects !== null && oSideEffects !== void 0 && (_oSideEffects$trigger = oSideEffects.triggerActions) !== null && _oSideEffects$trigger !== void 0 && _oSideEffects$trigger.length) {
|
|
421
|
+
return oAppComponent.getSideEffectsService().requestSideEffectsForODataAction(oSideEffects, oDraftContext).then(function () {
|
|
457
422
|
return oDraftContext;
|
|
458
423
|
});
|
|
424
|
+
} else {
|
|
425
|
+
return oDraftContext;
|
|
459
426
|
}
|
|
460
|
-
|
|
461
|
-
return oDraftContext;
|
|
462
427
|
}).catch(function (exc) {
|
|
463
428
|
return Promise.reject(exc);
|
|
464
429
|
});
|
|
@@ -503,10 +468,7 @@ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "sap/m/Text", "sap/m/MessageBox",
|
|
|
503
468
|
|
|
504
469
|
var sBatchGroup = "draft"; // we use the same batchGroup to force prepare and activate in a same batch but with different changeset
|
|
505
470
|
|
|
506
|
-
var oPreparePromise = executeDraftPreparationAction(oContext,
|
|
507
|
-
groupId: sBatchGroup,
|
|
508
|
-
bPrepareForEdit: false
|
|
509
|
-
});
|
|
471
|
+
var oPreparePromise = executeDraftPreparationAction(oContext, sBatchGroup);
|
|
510
472
|
oContext.getModel().submitBatch(sBatchGroup);
|
|
511
473
|
var oActivatePromise = executeDraftActivationAction(oContext, oAppComponent, sBatchGroup);
|
|
512
474
|
return Promise.all([oPreparePromise, oActivatePromise]).then(function (values) {
|
|
@@ -558,4 +520,4 @@ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "sap/m/Text", "sap/m/MessageBox",
|
|
|
558
520
|
|
|
559
521
|
return draft;
|
|
560
522
|
}, false);
|
|
561
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyYWZ0LnRzIl0sIm5hbWVzIjpbImRyYWZ0T3BlcmF0aW9ucyIsIkVESVQiLCJBQ1RJVkFUSU9OIiwiRElTQ0FSRCIsIlBSRVBBUkUiLCJkcmFmdCIsImNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50IiwiYWN0aXZhdGVEb2N1bWVudCIsImRlbGV0ZURyYWZ0IiwiZ2V0QWN0aW9uTmFtZSIsIm9Db250ZXh0Iiwic09wZXJhdGlvbiIsIm9Nb2RlbCIsImdldE1vZGVsIiwib01ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsInNFbnRpdHlTZXRQYXRoIiwiZ2V0TWV0YVBhdGgiLCJnZXRQYXRoIiwiZ2V0T2JqZWN0IiwiY3JlYXRlT3BlcmF0aW9uIiwib09wdGlvbnMiLCJzT3BlcmF0aW9uTmFtZSIsImJpbmRDb250ZXh0IiwiaGFzUHJlcGFyZUFjdGlvbiIsImV4ZWN1dGVEcmFmdEVkaXRBY3Rpb24iLCJiUHJlc2VydmVDaGFuZ2VzIiwiZ2V0UHJvcGVydHkiLCIkJGluaGVyaXRFeHBhbmRTZWxlY3QiLCJvT3BlcmF0aW9uIiwic2V0UGFyYW1ldGVyIiwic0dyb3VwSWQiLCJvRWRpdFByb21pc2UiLCJleGVjdXRlIiwidGhlbiIsIm9EcmFmdERvY3VtZW50Q29udGV4dCIsInN1Ym1pdEJhdGNoIiwiRXJyb3IiLCJleGVjdXRlRHJhZnRBY3RpdmF0aW9uQWN0aW9uIiwib0FwcENvbXBvbmVudCIsImJIYXNQcmVwYXJlQWN0aW9uIiwiYklnbm9yZUV0YWciLCJvQWN0aXZlRG9jdW1lbnRDb250ZXh0IiwiY2F0Y2giLCJzQWN0aW9uTmFtZSIsIm9TaWRlRWZmZWN0c1NlcnZpY2UiLCJnZXRTaWRlRWZmZWN0c1NlcnZpY2UiLCJvQmluZGluZ1BhcmFtZXRlcnMiLCJnZXRPRGF0YUFjdGlvblNpZGVFZmZlY3RzIiwiYVRhcmdldFBhdGhzIiwicGF0aEV4cHJlc3Npb25zIiwibGVuZ3RoIiwicmVxdWVzdFNpZGVFZmZlY3RzIiwib0Vycm9yIiwiTG9nIiwiZXJyb3IiLCJyZXF1ZXN0TWVzc2FnZXMiLCJQcm9taXNlIiwicmVqZWN0IiwiZXhlY3V0ZURyYWZ0UHJlcGFyYXRpb25BY3Rpb24iLCJtUGFyYW1ldGVycyIsIm1QYXJhbXMiLCJncm91cElkIiwiZ2V0R3JvdXBJZCIsIm9QcmVwYXJhdGlvblByb21pc2UiLCJiUHJlcGFyZUZvckVkaXQiLCJnZXRNZXNzYWdlc1BhdGgiLCJzTWVzc2FnZXNQYXRoIiwiJFByb3BlcnR5UGF0aCIsInJlc29sdmUiLCJleGVjdXRlRHJhZnREaXNjYXJkQWN0aW9uIiwib0Rpc2NhcmRPcGVyYXRpb24iLCJvRGlzY2FyZFByb21pc2UiLCJtUGFyYW0iLCJsb2NhbEkxOG5SZWYiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJiUnVuUHJlc2VydmVDaGFuZ2VzRmxvdyIsIm92ZXJ3cml0ZU9uRGVtYW5kIiwiYk92ZXJ3cml0ZSIsImRyYWZ0RGF0YUNvbnRleHQiLCJnZXRCb3VuZENvbnRleHQiLCJvUmVzb3VyY2VCdW5kbGUiLCJvVmlldyIsImdldFJlc291cmNlQnVuZGxlIiwiX29SZXNvdXJjZUJ1bmRsZSIsInJlcXVlc3RPYmplY3QiLCJkcmFmdEFkbWluRGF0YSIsIm1lc3NhZ2VIYW5kbGluZyIsInJlbW92ZVVuYm91bmRUcmFuc2l0aW9uTWVzc2FnZXMiLCJzSW5mbyIsIkluUHJvY2Vzc0J5VXNlckRlc2NyaXB0aW9uIiwiSW5Qcm9jZXNzQnlVc2VyIiwic0VudGl0eVNldCIsImdldFZpZXdEYXRhIiwiZW50aXR5U2V0Iiwic0xvY2tlZEJ5VXNlck1zZyIsIkNvbW1vblV0aWxzIiwiZ2V0VHJhbnNsYXRlZFRleHQiLCJNZXNzYWdlQm94IiwiQ3JlYXRlZEJ5VXNlckRlc2NyaXB0aW9uIiwiQ3JlYXRlZEJ5VXNlciIsInNVbnNhdmVkQ2hhbmdlc01zZyIsInNob3dNZXNzYWdlQm94Iiwib0RpYWxvZyIsIkRpYWxvZyIsInRpdGxlIiwiZ2V0VGV4dCIsInN0YXRlIiwiY29udGVudCIsIlRleHQiLCJ0ZXh0IiwiYmVnaW5CdXR0b24iLCJCdXR0b24iLCJ0eXBlIiwicHJlc3MiLCJjbG9zZSIsImVuZEJ1dHRvbiIsImFmdGVyQ2xvc2UiLCJkZXN0cm95IiwiYWRkU3R5bGVDbGFzcyIsIm9wZW4iLCJmbkJlZm9yZUNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50IiwiYkV4ZWN1dGUiLCJvUmVzcG9uc2UiLCJzdGF0dXMiLCJmbldoZW5EZWNpc2lvblRvT3ZlcndyaXRlRG9jdW1lbnRJc1JlcXVpcmVkIiwib0RyYWZ0Q29udGV4dCIsImZuQWZ0ZXJDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudCIsImJQcmVwYXJlT25FZGl0IiwiZXhjIiwiZm5CZWZvcmVBY3RpdmF0ZURvY3VtZW50Iiwic0JhdGNoR3JvdXAiLCJvUHJlcGFyZVByb21pc2UiLCJvQWN0aXZhdGVQcm9taXNlIiwiYWxsIiwidmFsdWVzIiwiZm5BZnRlckFjdGl2YXRlRG9jdW1lbnQiLCJzRGlzY2FyZEFjdGlvbiIsImJJc0FjdGl2ZUVudGl0eSIsIklzQWN0aXZlRW50aXR5IiwiaGFzUGVuZGluZ0NoYW5nZXMiLCJnZXRCaW5kaW5nIiwicmVzZXRDaGFuZ2VzIiwiZGVsZXRlIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQSxNQUFNQSxlQUFlLEdBQUc7QUFDdkJDLElBQUFBLElBQUksRUFBRSxZQURpQjtBQUV2QkMsSUFBQUEsVUFBVSxFQUFFLGtCQUZXO0FBR3ZCQyxJ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QUFDQyxNQUFSLENBQWUwRSxHQUFmLENBQVA7QUFDQSxLQXBDSyxDQUFQO0FBcUNBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFdBQVM1SCxXQUFULENBQXFCRSxRQUFyQixFQUFzRDtBQUNyRCxRQUFNa0ksY0FBYyxHQUFHbkksYUFBYSxDQUFDQyxRQUFELEVBQVdWLGVBQWUsQ0FBQ0csT0FBM0IsQ0FBcEM7QUFBQSxRQUNDMEksZUFBZSxHQUFHbkksUUFBUSxDQUFDUyxTQUFULEdBQXFCMkgsY0FEeEM7O0FBR0EsUUFBSUQsZUFBZSxJQUFLLENBQUNBLGVBQUQsSUFBb0IsQ0FBQ0QsY0FBN0MsRUFBOEQ7QUFDN0Q7QUFDQSxVQUFJbEksUUFBUSxDQUFDcUksaUJBQVQsRUFBSixFQUFrQztBQUNqQyxlQUFPckksUUFBUSxDQUNic0ksVUFESyxHQUVMQyxZQUZLLEdBR0wvRyxJQUhLLENBR0EsWUFBVztBQUNoQixpQkFBT3hCLFFBQVEsQ0FBQ3dJLE1BQVQsRUFBUDtBQUNBLFNBTEssRUFNTHZHLEtBTkssQ0FNQyxVQUFTWSxLQUFULEVBQXFCO0FBQzNCLGlCQUFPRSxPQUFPLENBQUNDLE1BQVIsQ0FBZUgsS0FBZixDQUFQO0FBQ0EsU0FSSyxDQUFQO0FBU0EsT0FWRCxNQVVPO0FBQ04sZUFBTzdDLFFBQVEsQ0FBQ3dJLE1BQVQsRUFBUDtBQUNBO0FBQ0QsS0FmRCxNQWVPO0FBQ047QUFDQSxhQUFPNUUseUJBQXlCLENBQUM1RCxRQUFELENBQWhDO0FBQ0E7QUFDRDs7U0FFY0wsSyIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IERpYWxvZyBmcm9tIFwic2FwL20vRGlhbG9nXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBUZXh0IGZyb20gXCJzYXAvbS9UZXh0XCI7XG5pbXBvcnQgTWVzc2FnZUJveCBmcm9tIFwic2FwL20vTWVzc2FnZUJveFwiO1xuaW1wb3J0IG1lc3NhZ2VIYW5kbGluZyBmcm9tIFwic2FwL2ZlL2NvcmUvYWN0aW9ucy9tZXNzYWdlSGFuZGxpbmdcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHsgQXBwQ29tcG9uZW50IH0gZnJvbSBcInNhcC9mZS9jb3JlXCI7XG5pbXBvcnQgeyBTaWRlRWZmZWN0c1NlcnZpY2UgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvU2lkZUVmZmVjdHNTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFJlc291cmNlQnVuZGxlIGZyb20gXCJzYXAvYmFzZS9pMThuL1Jlc291cmNlQnVuZGxlXCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvcmVzb3VyY2UvUmVzb3VyY2VNb2RlbFwiO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY2FsbGJhY2tzIHVzZWQgaW4gdGhlIGZ1bmN0aW9uc1xuICpcbiAqXG4gKiBAYXV0aG9yIFNBUCBTRVxuICogQHNpbmNlIDEuNTQuMFxuICogQGludGVyZmFjZVxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdC5JQ2FsbGJhY2tcbiAqIEBwcml2YXRlXG4gKi9cblxuLyoqXG4gKiBDYWxsYmFjayB0byBhcHByb3ZlIG9yIHJlamVjdCB0aGUgY3JlYXRpb24gb2YgYSBkcmFmdFxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdC5JQ2FsbGJhY2suYmVmb3JlQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnRcbiAqIEBmdW5jdGlvblxuICogQHN0YXRpY1xuICogQGFic3RyYWN0XG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBhY3RpdmUgZG9jdW1lbnQgZm9yIHRoZSBuZXcgZHJhZnRcbiAqIEByZXR1cm5zIHsoYm9vbGVhbnxQcm9taXNlKX0gQXBwcm92YWwgb2YgZHJhZnQgY3JlYXRpb24gW3RydWV8ZmFsc2VdIG9yIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBib29sZWFuIHZhbHVlXG4gKlxuICogQHByaXZhdGVcbiAqL1xuXG4vKipcbiAqIENhbGxiYWNrIGFmdGVyIGEgZHJhZnQgd2FzIHN1Y2Nlc3N1bGx5IGNyZWF0ZWRcbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnQuSUNhbGxiYWNrLmFmdGVyQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnRcbiAqIEBmdW5jdGlvblxuICogQHN0YXRpY1xuICogQGFic3RyYWN0XG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBuZXcgZHJhZnRcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9BY3RpdmVEb2N1bWVudENvbnRleHQgQ29udGV4dCBvZiB0aGUgYWN0aXZlIGRvY3VtZW50IGZvciB0aGUgbmV3IGRyYWZ0XG4gKiBAcmV0dXJucyB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9BY3RpdmVEb2N1bWVudENvbnRleHRcbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5cbi8qKlxuICogQ2FsbGJhY2sgdG8gYXBwcm92ZSBvciByZWplY3Qgb3ZlcndyaXRpbmcgYW4gdW5zYXZlZCBkcmFmdCBvZiBhbm90aGVyIHVzZXJcbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnQuSUNhbGxiYWNrLndoZW5EZWNpc2lvblRvT3ZlcndyaXRlRG9jdW1lbnRJc1JlcXVpcmVkXG4gKiBAZnVuY3Rpb25cbiAqIEBwdWJsaWNcbiAqIEBzdGF0aWNcbiAqIEBhYnN0cmFjdFxuICpcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgb2YgdGhlIGFjdGl2ZSBkb2N1bWVudCBmb3IgdGhlIG5ldyBkcmFmdFxuICogQHJldHVybnMgeyhib29sZWFufFByb21pc2UpfSBBcHByb3ZhbCB0byBvdmVyd3JpdGUgdW5zYXZlZCBkcmFmdCBbdHJ1ZXxmYWxzZV0gb3IgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGJvb2xlYW4gdmFsdWVcbiAqXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuLyogQ29uc3RhbnRzIGZvciBkcmFmdCBvcGVyYXRpb25zICovXG5jb25zdCBkcmFmdE9wZXJhdGlvbnMgPSB7XG5cdEVESVQ6IFwiRWRpdEFjdGlvblwiLFxuXHRBQ1RJVkFUSU9OOiBcIkFjdGl2YXRpb25BY3Rpb25cIixcblx0RElTQ0FSRDogXCJEaXNjYXJkQWN0aW9uXCIsXG5cdFBSRVBBUkU6IFwiUHJlcGFyYXRpb25BY3Rpb25cIlxufTtcbi8qKlxuICogU3RhdGljIGZ1bmN0aW9ucyBmb3IgdGhlIGRyYWZ0IHByb2dyYW1taW5nIG1vZGVsXG4gKlxuICogQG5hbWVzcGFjZVxuICogQGFsaWFzIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnRcbiAqIEBwcml2YXRlXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgbW9kdWxlIGlzIG9ubHkgZm9yIGV4cGVyaW1lbnRhbCB1c2UhIDxici8+PGI+VGhpcyBpcyBvbmx5IGEgUE9DIGFuZCBtYXliZSBkZWxldGVkPC9iPlxuICogQHNpbmNlIDEuNTQuMFxuICovXG5jb25zdCBkcmFmdCA9IHtcblx0Y3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnQ6IGNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50LFxuXHRhY3RpdmF0ZURvY3VtZW50OiBhY3RpdmF0ZURvY3VtZW50LFxuXHRkZWxldGVEcmFmdDogZGVsZXRlRHJhZnRcbn07XG4vKipcbiAqIERldGVybWluZXMgYWN0aW9uIG5hbWUgZm9yIGEgZHJhZnQgb3BlcmF0aW9uLlxuICpcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IFRoZSBjb250ZXh0IHRoYXQgc2hvdWxkIGJlIGJvdW5kIHRvIHRoZSBvcGVyYXRpb25cbiAqIEBwYXJhbSB7c3RyaW5nfSBzT3BlcmF0aW9uIFRoZSBvcGVyYXRpb24gbmFtZVxuICogQHJldHVybnMge3N0cmluZ30gVGhlIG5hbWUgb2YgdGhlIGRyYWZ0IG9wZXJhdGlvblxuICovXG5mdW5jdGlvbiBnZXRBY3Rpb25OYW1lKG9Db250ZXh0OiBhbnksIHNPcGVyYXRpb246IHN0cmluZykge1xuXHRjb25zdCBvTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpLFxuXHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCksXG5cdFx0c0VudGl0eVNldFBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKG9Db250ZXh0LmdldFBhdGgoKSk7XG5cblx0cmV0dXJuIG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNFbnRpdHlTZXRQYXRoICsgXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLkRyYWZ0Um9vdC9cIiArIHNPcGVyYXRpb24pO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIG9wZXJhdGlvbiBjb250ZXh0IGJpbmRpbmcgZm9yIHRoZSBnaXZlbiBjb250ZXh0IGFuZCBvcGVyYXRpb24uXG4gKlxuICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgVGhlIGNvbnRleHQgdGhhdCBzaG91bGQgYmUgYm91bmQgdG8gdGhlIG9wZXJhdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IHNPcGVyYXRpb24gVGhlIG9wZXJhdGlvbiAoYWN0aW9uIG9yIGZ1bmN0aW9uIGltcG9ydClcbiAqIEBwYXJhbSBvT3B0aW9ucyBPcHRpb25zIHRvIGNyZWF0ZSB0aGUgb3BlcmF0aW9uIGNvbnRleHRcbiAqIEByZXR1cm5zIHtzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFDb250ZXh0QmluZGluZ30gVGhlIGNvbnRleHQgYmluZGluZyBvZiB0aGUgYm91bmQgb3BlcmF0aW9uXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZU9wZXJhdGlvbihvQ29udGV4dDogYW55LCBzT3BlcmF0aW9uOiBzdHJpbmcsIG9PcHRpb25zPzogYW55KSB7XG5cdGNvbnN0IHNPcGVyYXRpb25OYW1lID0gZ2V0QWN0aW9uTmFtZShvQ29udGV4dCwgc09wZXJhdGlvbik7XG5cblx0cmV0dXJuIG9Db250ZXh0LmdldE1vZGVsKCkuYmluZENvbnRleHQoc09wZXJhdGlvbk5hbWUgKyBcIiguLi4pXCIsIG9Db250ZXh0LCBvT3B0aW9ucyk7XG59XG4vKipcbiAqIENoZWNrIGlmIG9wdGlvbmFsIGRyYWZ0IHByZXBhcmUgYWN0aW9uIGV4aXN0cy5cbiAqXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBUaGUgY29udGV4dCB0aGF0IHNob3VsZCBiZSBib3VuZCB0byB0aGUgb3BlcmF0aW9uXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBhIGEgcHJlcGFyZSBhY3Rpb24gZXhpc3RzXG4gKi9cbmZ1bmN0aW9uIGhhc1ByZXBhcmVBY3Rpb24ob0NvbnRleHQ6IGFueSkge1xuXHRyZXR1cm4gISFnZXRBY3Rpb25OYW1lKG9Db250ZXh0LCBkcmFmdE9wZXJhdGlvbnMuUFJFUEFSRSk7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgZHJhZnQgZnJvbSBhbiBhY3RpdmUgZG9jdW1lbnQuXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IGZvciB3aGljaCB0aGUgYWN0aW9uIHNob3VsZCBiZSBwZXJmb3JtZWRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gYlByZXNlcnZlQ2hhbmdlcyBJZiB0cnVlIC0gZXhpc3RpbmcgY2hhbmdlcyBmcm9tIGFub3RoZXIgdXNlciB0aGF0IGFyZSBub3QgbG9ja2VkIGFyZSBwcmVzZXJ2ZWQgYW5kIGFuIGVycm9yIG1lc3NhZ2UgKGh0dHAgc3RhdHVzIDQwOSkgaXMgc2VuZCBmcm9tIHRoZSBiYWNrZW5kLCBvdGhlcndpc2UgZmFsc2UgLSBleGlzdGluZyBjaGFuZ2VzIGZyb20gYW5vdGhlciB1c2VyIHRoYXQgYXJlIG5vdCBsb2NrZWQgYXJlIG92ZXJ3cml0dGVuPC9saT5cbiAqIEByZXR1cm5zIHtQcm9taXNlLjxzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dD59IFJlc29sdmUgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgb3BlcmF0aW9uXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGV4ZWN1dGVEcmFmdEVkaXRBY3Rpb24ob0NvbnRleHQ6IGFueSwgYlByZXNlcnZlQ2hhbmdlczogYm9vbGVhbikge1xuXHRpZiAob0NvbnRleHQuZ2V0UHJvcGVydHkoXCJJc0FjdGl2ZUVudGl0eVwiKSkge1xuXHRcdGNvbnN0IG9PcHRpb25zID0geyAkJGluaGVyaXRFeHBhbmRTZWxlY3Q6IHRydWUgfTtcblx0XHRjb25zdCBvT3BlcmF0aW9uID0gY3JlYXRlT3BlcmF0aW9uKG9Db250ZXh0LCBkcmFmdE9wZXJhdGlvbnMuRURJVCwgb09wdGlvbnMpO1xuXHRcdG9PcGVyYXRpb24uc2V0UGFyYW1ldGVyKFwiUHJlc2VydmVDaGFuZ2VzXCIsIGJQcmVzZXJ2ZUNoYW5nZXMpO1xuXHRcdGNvbnN0IHNHcm91cElkID0gXCJkaXJlY3RcIjtcblx0XHRjb25zdCBvRWRpdFByb21pc2UgPSBvT3BlcmF0aW9uLmV4ZWN1dGUoc0dyb3VwSWQpLnRoZW4oZnVuY3Rpb24ob0RyYWZ0RG9jdW1lbnRDb250ZXh0OiBhbnkpIHtcblx0XHRcdHJldHVybiBvRHJhZnREb2N1bWVudENvbnRleHQ7XG5cdFx0fSk7XG5cdFx0b09wZXJhdGlvbi5nZXRNb2RlbCgpLnN1Ym1pdEJhdGNoKHNHcm91cElkKTtcblx0XHRyZXR1cm4gb0VkaXRQcm9taXNlO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIllvdSBjYW5ub3QgZWRpdCB0aGlzIGRyYWZ0IGRvY3VtZW50XCIpO1xuXHR9XG59XG4vKmZ1bmN0aW9uIGZuT25TdHJpY3RIYW5kbGluZ0ZhaWxlZChvQ29udGV4dDogYW55LCBzR3JvdXBJZDogYW55LCBhTWVzc2FnZXM6IGFueSkgeyAvL1dpbGwgdW5jb21tZW50IHRoaXMgZnVuY3Rpb24gaW4gdGhlIGNvbW1pdCA6IDU1MTM1MTBcblx0aWYgKGFNZXNzYWdlcy5sZW5ndGggPT09IDEpIHtcblx0XHRjb25zdCBzTWVzc2FnZSA9IGFNZXNzYWdlc1swXS5tZXNzYWdlLFxuXHRcdFx0ZGlhbG9nUHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmU6ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG5cdFx0XHRcdHNhcC51aS5yZXF1aXJlKFtcInNhcC9tL01lc3NhZ2VCb3hcIl0sIGZ1bmN0aW9uKE1lc3NhZ2VCb3g6IGFueSkge1xuXHRcdFx0XHRcdE1lc3NhZ2VCb3gud2FybmluZyhzTWVzc2FnZSwge1xuXHRcdFx0XHRcdFx0dGl0bGU6IFwiV2FybmluZ1wiLFxuXHRcdFx0XHRcdFx0YWN0aW9uczogW01lc3NhZ2VCb3guQWN0aW9uLk9LLCBNZXNzYWdlQm94LkFjdGlvbi5DQU5DRUxdLFxuXHRcdFx0XHRcdFx0b25DbG9zZTogZnVuY3Rpb24oc0FjdGlvbjogYW55KSB7XG5cdFx0XHRcdFx0XHRcdGlmIChzQWN0aW9uID09PSBNZXNzYWdlQm94LkFjdGlvbi5PSykge1xuXHRcdFx0XHRcdFx0XHRcdHJlc29sdmUodHJ1ZSk7XG5cdFx0XHRcdFx0XHRcdFx0b0NvbnRleHQuZ2V0TW9kZWwoKS5zdWJtaXRCYXRjaChzR3JvdXBJZCk7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShmYWxzZSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHRyZXR1cm4gZGlhbG9nUHJvbWlzZTtcblx0fVxufSovXG4vKipcbiAqIEFjdGl2YXRlcyBhIGRyYWZ0IGRvY3VtZW50LiBUaGUgZHJhZnQgd2lsbCByZXBsYWNlIHRoZSBzaWJsaW5nIGVudGl0eSBhbmQgd2lsbCBiZSBkZWxldGVkIGJ5IHRoZSBiYWNrIGVuZC5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgZm9yIHdoaWNoIHRoZSBhY3Rpb24gc2hvdWxkIGJlIHBlcmZvcm1lZFxuICogQHBhcmFtIHtvYmplY3R9IG9BcHBDb21wb25lbnQgVGhlIEFwcENvbXBvbmVudFxuICogQHBhcmFtIHtzdHJpbmd9IFtzR3JvdXBJZF0gVGhlIG9wdGlvbmFsIGJhdGNoIGdyb3VwIGluIHdoaWNoIHRoZSBvcGVyYXRpb24gaXMgdG8gYmUgZXhlY3V0ZWRcbiAqIEByZXR1cm5zIHtQcm9taXNlLjxzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dD59IFJlc29sdmUgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgb3BlcmF0aW9uXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGV4ZWN1dGVEcmFmdEFjdGl2YXRpb25BY3Rpb24ob0NvbnRleHQ6IGFueSwgb0FwcENvbXBvbmVudDogQXBwQ29tcG9uZW50LCBzR3JvdXBJZD86IHN0cmluZykge1xuXHRjb25zdCBiSGFzUHJlcGFyZUFjdGlvbiA9IGhhc1ByZXBhcmVBY3Rpb24ob0NvbnRleHQpO1xuXG5cdC8vIEFjY29yZGluZyB0byB0aGUgZHJhZnQgc3BlYyBpZiB0aGUgc2VydmljZSBjb250YWlucyBhIHByZXBhcmUgYWN0aW9uIGFuZCB3ZSB0cmlnZ2VyIGJvdGggcHJlcGFyZSBhbmRcblx0Ly8gYWN0aXZhdGUgaW4gb25lICRiYXRjaCB0aGUgYWN0aXZhdGUgYWN0aW9uIGlzIGNhbGxlZCB3aXRoIGlGLU1hdGNoPSpcblx0Y29uc3QgYklnbm9yZUV0YWcgPSBiSGFzUHJlcGFyZUFjdGlvbjtcblxuXHRpZiAoIW9Db250ZXh0LmdldFByb3BlcnR5KFwiSXNBY3RpdmVFbnRpdHlcIikpIHtcblx0XHRjb25zdCBvT3BlcmF0aW9uID0gY3JlYXRlT3BlcmF0aW9uKG9Db250ZXh0LCBkcmFmdE9wZXJhdGlvbnMuQUNUSVZBVElPTiwgeyAkJGluaGVyaXRFeHBhbmRTZWxlY3Q6IHRydWUgfSk7XG5cdFx0cmV0dXJuIG9PcGVyYXRpb25cblx0XHRcdC5leGVjdXRlKHNHcm91cElkLCBiSWdub3JlRXRhZylcblx0XHRcdC50aGVuKGZ1bmN0aW9uKG9BY3RpdmVEb2N1bWVudENvbnRleHQ6IGFueSkge1xuXHRcdFx0XHRyZXR1cm4gb0FjdGl2ZURvY3VtZW50Q29udGV4dDtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goXG5cdFx0XHRcdC8vaWYgQUNUSVZBVEUgYWN0aW9uIGZhaWxzIHRoZW4gd2UgcmVxdWVzdCBlaXRoZXIgdGhlIHNpZGVFZmZlY3RzIGFnYWluc3QgUFJFUEFSRSBhY3Rpb24gKGlmIGFubm90YXRlZCkgb3IgdGhlIG1lc3NhZ2VzIGFzIGZhbGxiYWNrOlxuXHRcdFx0XHRmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRpZiAoYkhhc1ByZXBhcmVBY3Rpb24pIHtcblx0XHRcdFx0XHRcdGNvbnN0IHNBY3Rpb25OYW1lID0gZ2V0QWN0aW9uTmFtZShvQ29udGV4dCwgZHJhZnRPcGVyYXRpb25zLlBSRVBBUkUpLFxuXHRcdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHNTZXJ2aWNlID0gb0FwcENvbXBvbmVudC5nZXRTaWRlRWZmZWN0c1NlcnZpY2UoKSxcblx0XHRcdFx0XHRcdFx0b0JpbmRpbmdQYXJhbWV0ZXJzID0gb1NpZGVFZmZlY3RzU2VydmljZS5nZXRPRGF0YUFjdGlvblNpZGVFZmZlY3RzKHNBY3Rpb25OYW1lLCBvQ29udGV4dCksXG5cdFx0XHRcdFx0XHRcdGFUYXJnZXRQYXRocyA9IG9CaW5kaW5nUGFyYW1ldGVycyAmJiBvQmluZGluZ1BhcmFtZXRlcnMucGF0aEV4cHJlc3Npb25zO1xuXHRcdFx0XHRcdFx0aWYgKGFUYXJnZXRQYXRocyAmJiBhVGFyZ2V0UGF0aHMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHNTZXJ2aWNlLnJlcXVlc3RTaWRlRWZmZWN0cyhhVGFyZ2V0UGF0aHMsIG9Db250ZXh0KS5jYXRjaChmdW5jdGlvbihvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIHJlcXVlc3Rpbmcgc2lkZSBlZmZlY3RzXCIsIG9FcnJvcik7XG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0cmVxdWVzdE1lc3NhZ2VzKG9Db250ZXh0LCBvU2lkZUVmZmVjdHNTZXJ2aWNlKS5jYXRjaChmdW5jdGlvbihvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIHJlcXVlc3RpbmcgbWVzc2FnZXNcIiwgb0Vycm9yKTtcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdCgpO1xuXHRcdFx0XHR9XG5cdFx0XHQpO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlRoZSBhY3RpdmF0aW9uIGFjdGlvbiBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gYW4gYWN0aXZlIGRvY3VtZW50XCIpO1xuXHR9XG59XG4vKipcbiAqIEV4ZWN1dGUgYSBwcmVwYXJhdGlvbiBhY3Rpb24uXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IGZvciB3aGljaCB0aGUgYWN0aW9uIHNob3VsZCBiZSBwZXJmb3JtZWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBvQXBwQ29tcG9uZW50IFRoZSBBcHBDb21wb25lbnRcbiAqIEBwYXJhbSB7b2JqZWN0fSBtUGFyYW1ldGVycyBUaGUgcGFyYW1ldGVyc1xuICogQHBhcmFtIHtib29sZWFufSBbbVBhcmFtZXRlcnMuZ3JvdXBJZF0gVGhlIG9wdGlvbmFsIGJhdGNoIGdyb3VwIHdoZXJlIHdlIHdhbnQgdG8gZXhlY3V0ZSB0aGUgb3BlcmF0aW9uIGluXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFttUGFyYW1ldGVycy5iUHJlcGFyZUZvckVkaXRdIFNoYWxsIHRoZSBtZXNzYWdlcyBiZSByZXF1ZXN0ZWQgaWYgc3VwcG9ydGVkIGJ5IHNlcnZpY2VcbiAqIEByZXR1cm5zIHtQcm9taXNlLjxzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dD59IFJlc29sdmUgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgb3BlcmF0aW9uXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGV4ZWN1dGVEcmFmdFByZXBhcmF0aW9uQWN0aW9uKFxuXHRvQ29udGV4dDogYW55LFxuXHRvQXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQsXG5cdG1QYXJhbWV0ZXJzOiB7IGdyb3VwSWQ/OiBzdHJpbmc7IGJQcmVwYXJlRm9yRWRpdD86IGJvb2xlYW4gfVxuKSB7XG5cdGNvbnN0IG1QYXJhbXMgPSBtUGFyYW1ldGVycyB8fCB7fTtcblx0aWYgKCFvQ29udGV4dC5nZXRQcm9wZXJ0eShcIklzQWN0aXZlRW50aXR5XCIpKSB7XG5cdFx0Y29uc3Qgb09wZXJhdGlvbiA9IGNyZWF0ZU9wZXJhdGlvbihvQ29udGV4dCwgZHJhZnRPcGVyYXRpb25zLlBSRVBBUkUpO1xuXG5cdFx0Ly8gVE9ETzogc2lkZSBlZmZlY3RzIHF1YWxpZmllciBzaGFsbCBiZSBldmVuIGRlcHJlY2F0ZWQgdG8gYmUgY2hlY2tlZFxuXHRcdG9PcGVyYXRpb24uc2V0UGFyYW1ldGVyKFwiU2lkZUVmZmVjdHNRdWFsaWZpZXJcIiwgXCJcIik7XG5cblx0XHRjb25zdCBzR3JvdXBJZCA9IG1QYXJhbXMuZ3JvdXBJZCB8fCBvT3BlcmF0aW9uLmdldEdyb3VwSWQoKTtcblx0XHRjb25zdCBvUHJlcGFyYXRpb25Qcm9taXNlID0gb09wZXJhdGlvblxuXHRcdFx0LmV4ZWN1dGUoc0dyb3VwSWQpXG5cdFx0XHQudGhlbihmdW5jdGlvbigpIHtcblx0XHRcdFx0aWYgKG1QYXJhbXMuYlByZXBhcmVGb3JFZGl0KSB7XG5cdFx0XHRcdFx0Ly8gaWYgUFJFUEFSRSBhY3Rpb24gaXMgdHJpZ2dlcmVkIGFmdGVyIEVkaXQgdGhlbiBlaXRoZXIgdGhlIHNpZGVFZmZlY3RzIChpZiBhbm5vdGF0ZWQgYWdhaW5zdCBQUkVQQVJFKSBhcmUgZXhlY3V0ZWQgb3IgdGhlIG1lc3NhZ2VzIGFyZSByZXF1ZXN0ZWQgYXMgZmFsbGJhY2sgaWYgbm8gc2lkZUVmZmVjdHM6XG5cdFx0XHRcdFx0Y29uc3Qgc0FjdGlvbk5hbWUgPSBnZXRBY3Rpb25OYW1lKG9Db250ZXh0LCBkcmFmdE9wZXJhdGlvbnMuUFJFUEFSRSksXG5cdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHNTZXJ2aWNlID0gb0FwcENvbXBvbmVudC5nZXRTaWRlRWZmZWN0c1NlcnZpY2UoKSxcblx0XHRcdFx0XHRcdG9CaW5kaW5nUGFyYW1ldGVycyA9IG9TaWRlRWZmZWN0c1NlcnZpY2UuZ2V0T0RhdGFBY3Rpb25TaWRlRWZmZWN0cyhzQWN0aW9uTmFtZSwgb0NvbnRleHQpLFxuXHRcdFx0XHRcdFx0YVRhcmdldFBhdGhzID0gb0JpbmRpbmdQYXJhbWV0ZXJzICYmIG9CaW5kaW5nUGFyYW1ldGVycy5wYXRoRXhwcmVzc2lvbnM7XG5cdFx0XHRcdFx0aWYgKGFUYXJnZXRQYXRocyAmJiBhVGFyZ2V0UGF0aHMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0b1NpZGVFZmZlY3RzU2VydmljZS5yZXF1ZXN0U2lkZUVmZmVjdHMoYVRhcmdldFBhdGhzLCBvQ29udGV4dCwgc0dyb3VwSWQpLmNhdGNoKGZ1bmN0aW9uKG9FcnJvcjogYW55KSB7XG5cdFx0XHRcdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIHJlcXVlc3Rpbmcgc2lkZSBlZmZlY3RzXCIsIG9FcnJvcik7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0cmVxdWVzdE1lc3NhZ2VzKG9Db250ZXh0LCBvU2lkZUVmZmVjdHNTZXJ2aWNlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG9PcGVyYXRpb247XG5cdFx0XHR9KVxuXHRcdFx0LmNhdGNoKGZ1bmN0aW9uKG9FcnJvcjogYW55KSB7XG5cdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIGV4ZWN1dGluZyB0aGUgb3BlcmF0aW9uXCIsIG9FcnJvcik7XG5cdFx0XHR9KTtcblxuXHRcdHJldHVybiBvUHJlcGFyYXRpb25Qcm9taXNlO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlRoZSBwcmVwYXJhdGlvbiBhY3Rpb24gY2Fubm90IGJlIGV4ZWN1dGVkIG9uIGFuIGFjdGl2ZSBkb2N1bWVudFwiKTtcblx0fVxufVxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBtZXNzYWdlIHBhdGggZm9yIGEgY29udGV4dC5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgZm9yIHdoaWNoIHRoZSBwYXRoIHNoYWxsIGJlIGRldGVybWluZWRcbiAqIEByZXR1cm5zIHtzdHJpbmd9IE1lc3NhZ2UgcGF0aCwgZW1wdHkgaWYgbm90IGFubm90YXRlZFxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiBnZXRNZXNzYWdlc1BhdGgob0NvbnRleHQ6IENvbnRleHQpOiBzdHJpbmcge1xuXHRjb25zdCBvTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpLFxuXHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCkgYXMgT0RhdGFNZXRhTW9kZWwsXG5cdFx0c0VudGl0eVNldFBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKG9Db250ZXh0LmdldFBhdGgoKSk7XG5cdHJldHVybiBvTWV0YU1vZGVsLmdldE9iamVjdChzRW50aXR5U2V0UGF0aCArIFwiL0Bjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuTWVzc2FnZXMvJFBhdGhcIik7XG59XG4vKipcbiAqIFJlcXVlc3RzIHRoZSBtZXNzYWdlcyBpZiBhbm5vdGF0ZWQgZm9yIGEgZ2l2ZW4gY29udGV4dC5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgZm9yIHdoaWNoIHRoZSBtZXNzYWdlcyBzaGFsbCBiZSByZXF1ZXN0ZWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBvU2lkZUVmZmVjdHNTZXJ2aWNlIFNlcnZpY2UgZm9yIHRoZSBTaWRlRWZmZWN0cyBvbiBTQVAgRmlvcmkgZWxlbWVudHNcbiAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIHdoaWNoIGlzIHJlc29sdmVkIG9uY2UgbWVzc2FnZXMgd2VyZSByZXF1ZXN0ZWRcbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gcmVxdWVzdE1lc3NhZ2VzKG9Db250ZXh0OiBhbnksIG9TaWRlRWZmZWN0c1NlcnZpY2U6IFNpZGVFZmZlY3RzU2VydmljZSkge1xuXHRjb25zdCBzTWVzc2FnZXNQYXRoID0gZ2V0TWVzc2FnZXNQYXRoKG9Db250ZXh0KTtcblx0aWYgKHNNZXNzYWdlc1BhdGgpIHtcblx0XHRyZXR1cm4gb1NpZGVFZmZlY3RzU2VydmljZS5yZXF1ZXN0U2lkZUVmZmVjdHMoW3sgJFByb3BlcnR5UGF0aDogc01lc3NhZ2VzUGF0aCB9XSBhcyBhbnksIG9Db250ZXh0KTtcblx0fVxuXHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG59XG4vKipcbiAqIEV4ZWN1dGVzIGRpc2NhcmQgb2YgYSBkcmFmdCBmdW5jdGlvbiB1c2luZyBIVFRQIFBvc3QuXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IGZvciB3aGljaCB0aGUgYWN0aW9uIHNob3VsZCBiZSBwZXJmb3JtZWRcbiAqIEByZXR1cm5zIHtQcm9taXNlLjxzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dD59IFJlc29sdmUgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgb3BlcmF0aW9uXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGV4ZWN1dGVEcmFmdERpc2NhcmRBY3Rpb24ob0NvbnRleHQ6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuXHRpZiAoIW9Db250ZXh0LmdldFByb3BlcnR5KFwiSXNBY3RpdmVFbnRpdHlcIikpIHtcblx0XHRjb25zdCBvRGlzY2FyZE9wZXJhdGlvbiA9IGNyZWF0ZU9wZXJhdGlvbihvQ29udGV4dCwgZHJhZnRPcGVyYXRpb25zLkRJU0NBUkQpO1xuXHRcdGNvbnN0IG9EaXNjYXJkUHJvbWlzZSA9IG9EaXNjYXJkT3BlcmF0aW9uLmV4ZWN1dGUoXCJkaXJlY3RcIik7XG5cdFx0b0NvbnRleHQuZ2V0TW9kZWwoKS5zdWJtaXRCYXRjaChcImRpcmVjdFwiKTtcblx0XHRyZXR1cm4gb0Rpc2NhcmRQcm9taXNlO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlRoZSBkaXNjYXJkIGFjdGlvbiBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gYW4gYWN0aXZlIGRvY3VtZW50XCIpO1xuXHR9XG59XG4vKipcbiAqIENyZWF0ZXMgYSBkcmFmdCBkb2N1bWVudCBmcm9tIGFuIGV4aXN0aW5nIGRvY3VtZW50LlxuICpcbiAqIFRoZSBmdW5jdGlvbiBzdXBwb3J0cyBzZXZlcmFsIGhvb2tzIGFzIHRoZXJlIGlzIGEgY2VydGFpbiBjb3Jlb2dyYXBoeSBkZWZpbmVkLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdCNjcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnRcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgb2YgdGhlIGFjdGl2ZSBkb2N1bWVudCBmb3IgdGhlIG5ldyBkcmFmdFxuICogQHBhcmFtIHtvYmplY3R9IG9BcHBDb21wb25lbnQgVGhlIEFwcENvbXBvbmVudFxuICogQHBhcmFtIHtvYmplY3R9IG1QYXJhbWV0ZXJzIFRoZSBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFttUGFyYW1ldGVycy5vVmlld10gVGhlIHZpZXdcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW21QYXJhbWV0ZXJzLmJQcmVzZXJ2ZUNoYW5nZXNdIFByZXNlcnZlIGNoYW5nZXMgb2YgYW4gZXhpc3RpbmcgZHJhZnQgb2YgYW5vdGhlciB1c2VyXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFttUGFyYW1ldGVycy5iUHJlcGFyZU9uRWRpdF0gQWxzbyBjYWxsIHByZXBhcmUgd2hlbiBjYWxsaW5nIGRyYWZ0IGNyZWF0aW9uXG4gKiBAcGFyYW0ge3NhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnQuSUNhbGxiYWNrLmJlZm9yZUNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50fSBbbVBhcmFtZXRlcnMuZm5CZWZvcmVDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudF0gQ2FsbGJhY2sgdGhhdCBhbGxvd3MgdmV0byBiZWZvcmUgY3JlYXRlIHJlcXVlc3QgaXMgZXhlY3V0ZWRcbiAqIEBwYXJhbSB7c2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdC5JQ2FsbGJhY2suYWZ0ZXJDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudH0gW21QYXJhbWV0ZXJzLmZuQWZ0ZXJDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudF0gQ2FsbGJhY2sgZm9yIHBvc3Rwcm9jZXNzaW9uZyBhZnRlciBkcmFmdCBkb2N1bWVudCB3YXMgY3JlYXRlZFxuICogQHBhcmFtIHtzYXAuZmUuY29yZS5hY3Rpb25zLmRyYWZ0LklDYWxsYmFjay53aGVuRGVjaXNpb25Ub092ZXJ3cml0ZURvY3VtZW50SXNSZXF1aXJlZH0gW21QYXJhbWV0ZXJzLmZuV2hlbkRlY2lzaW9uVG9PdmVyd3JpdGVEb2N1bWVudElzUmVxdWlyZWRdIENhbGxiYWNrIGZvciBkZWNpZGluZyBvbiBvdmVyd3JpdGluZyBhbiB1bnNhdmVkIGNoYW5nZSBieSBhbm90aGVyIHVzZXJcbiAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIHJlc29sdmVzIHdpdGggdGhlIHtAbGluayBzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dCBjb250ZXh0fSBvZiB0aGUgbmV3IGRyYWZ0IGRvY3VtZW50XG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50KFxuXHRvQ29udGV4dDogYW55LFxuXHRvQXBwQ29tcG9uZW50OiBvYmplY3QsXG5cdG1QYXJhbWV0ZXJzOiB7XG5cdFx0b1ZpZXc6IFZpZXc7XG5cdFx0YlByZXNlcnZlQ2hhbmdlcz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cdFx0YlByZXBhcmVPbkVkaXQ/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXHRcdGZuQmVmb3JlQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnQ/OiBhbnk7XG5cdFx0Zm5BZnRlckNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50PzogYW55O1xuXHRcdGZuV2hlbkRlY2lzaW9uVG9PdmVyd3JpdGVEb2N1bWVudElzUmVxdWlyZWQ/OiBhbnk7XG5cdH1cbikge1xuXHRjb25zdCBtUGFyYW0gPSBtUGFyYW1ldGVycyB8fCB7fSxcblx0XHRsb2NhbEkxOG5SZWYgPSBzYXAudWkuZ2V0Q29yZSgpLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5jb3JlXCIpIGFzIFJlc291cmNlQnVuZGxlLFxuXHRcdGJSdW5QcmVzZXJ2ZUNoYW5nZXNGbG93ID1cblx0XHRcdHR5cGVvZiBtUGFyYW0uYlByZXNlcnZlQ2hhbmdlcyA9PT0gXCJ1bmRlZmluZWRcIiB8fCAodHlwZW9mIG1QYXJhbS5iUHJlc2VydmVDaGFuZ2VzID09PSBcImJvb2xlYW5cIiAmJiBtUGFyYW0uYlByZXNlcnZlQ2hhbmdlcyk7IC8vZGVmYXVsdCB0cnVlXG5cblx0LyoqXG5cdCAqIE92ZXJ3cml0ZSBvciByZWplY3QgYmFzZWQgb24gZm5XaGVuRGVjaXNpb25Ub092ZXJ3cml0ZURvY3VtZW50SXNSZXF1aXJlZC5cblx0ICpcblx0ICogQHBhcmFtIHsqfSBiT3ZlcndyaXRlIE92ZXJ3cml0ZSB0aGUgY2hhbmdlIG9yIG5vdFxuXHQgKiBAcmV0dXJucyB7UHJvbWlzZX0gUmVzb2x2ZXMgd2l0aCByZXN1bHQgb2Yge0BsaW5rIHNhcC5mZS5jb3JlLmFjdGlvbnMjZXhlY3V0ZURyYWZ0RWRpdEFjdGlvbn1cblx0ICovXG5cdGZ1bmN0aW9uIG92ZXJ3cml0ZU9uRGVtYW5kKGJPdmVyd3JpdGU6IGFueSkge1xuXHRcdGlmIChiT3ZlcndyaXRlKSB7XG5cdFx0XHQvL092ZXJ3cml0ZSBleGlzdGluZyBjaGFuZ2VzXG5cdFx0XHRjb25zdCBvTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpO1xuXHRcdFx0Y29uc3QgZHJhZnREYXRhQ29udGV4dCA9IG9Nb2RlbC5iaW5kQ29udGV4dChvQ29udGV4dC5nZXRQYXRoKCkgKyBcIi9EcmFmdEFkbWluaXN0cmF0aXZlRGF0YVwiKS5nZXRCb3VuZENvbnRleHQoKTtcblx0XHRcdGxldCBvUmVzb3VyY2VCdW5kbGU6IFJlc291cmNlQnVuZGxlO1xuXG5cdFx0XHRyZXR1cm4gKChtUGFyYW1ldGVycy5vVmlldy5nZXRNb2RlbChcInNhcC5mZS5pMThuXCIpIGFzIFJlc291cmNlTW9kZWwpLmdldFJlc291cmNlQnVuZGxlKCkgYXMgUHJvbWlzZTxSZXNvdXJjZUJ1bmRsZT4pXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uKF9vUmVzb3VyY2VCdW5kbGU6IGFueSkge1xuXHRcdFx0XHRcdG9SZXNvdXJjZUJ1bmRsZSA9IF9vUmVzb3VyY2VCdW5kbGU7XG5cdFx0XHRcdFx0cmV0dXJuIGRyYWZ0RGF0YUNvbnRleHQucmVxdWVzdE9iamVjdCgpO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbihmdW5jdGlvbihkcmFmdEFkbWluRGF0YTogYW55KSB7XG5cdFx0XHRcdFx0aWYgKGRyYWZ0QWRtaW5EYXRhKSB7XG5cdFx0XHRcdFx0XHQvLyByZW1vdmUgYWxsIHVuYm91bmQgdHJhbnNpdGlvbiBtZXNzYWdlcyBhcyB3ZSBzaG93IGEgc3BlY2lhbCBkaWFsb2dcblx0XHRcdFx0XHRcdG1lc3NhZ2VIYW5kbGluZy5yZW1vdmVVbmJvdW5kVHJhbnNpdGlvbk1lc3NhZ2VzKCk7XG5cdFx0XHRcdFx0XHRsZXQgc0luZm8gPSBkcmFmdEFkbWluRGF0YS5JblByb2Nlc3NCeVVzZXJEZXNjcmlwdGlvbiB8fCBkcmFmdEFkbWluRGF0YS5JblByb2Nlc3NCeVVzZXI7XG5cdFx0XHRcdFx0XHRjb25zdCBzRW50aXR5U2V0ID0gKG1QYXJhbWV0ZXJzLm9WaWV3LmdldFZpZXdEYXRhKCkgYXMgYW55KS5lbnRpdHlTZXQ7XG5cdFx0XHRcdFx0XHRpZiAoc0luZm8pIHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc0xvY2tlZEJ5VXNlck1zZyA9IENvbW1vblV0aWxzLmdldFRyYW5zbGF0ZWRUZXh0KFxuXHRcdFx0XHRcdFx0XHRcdFwiQ19EUkFGVF9PQkpFQ1RfUEFHRV9EUkFGVF9MT0NLRURfQllfVVNFUlwiLFxuXHRcdFx0XHRcdFx0XHRcdG9SZXNvdXJjZUJ1bmRsZSxcblx0XHRcdFx0XHRcdFx0XHRzSW5mbyxcblx0XHRcdFx0XHRcdFx0XHRzRW50aXR5U2V0XG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdE1lc3NhZ2VCb3guZXJyb3Ioc0xvY2tlZEJ5VXNlck1zZyk7XG5cdFx0XHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihzTG9ja2VkQnlVc2VyTXNnKTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHNJbmZvID0gZHJhZnRBZG1pbkRhdGEuQ3JlYXRlZEJ5VXNlckRlc2NyaXB0aW9uIHx8IGRyYWZ0QWRtaW5EYXRhLkNyZWF0ZWRCeVVzZXI7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IHNVbnNhdmVkQ2hhbmdlc01zZyA9IENvbW1vblV0aWxzLmdldFRyYW5zbGF0ZWRUZXh0KFxuXHRcdFx0XHRcdFx0XHRcdFwiQ19EUkFGVF9PQkpFQ1RfUEFHRV9EUkFGVF9VTlNBVkVEX0NIQU5HRVNcIixcblx0XHRcdFx0XHRcdFx0XHRvUmVzb3VyY2VCdW5kbGUsXG5cdFx0XHRcdFx0XHRcdFx0c0luZm8sXG5cdFx0XHRcdFx0XHRcdFx0c0VudGl0eVNldFxuXHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gc2hvd01lc3NhZ2VCb3goc1Vuc2F2ZWRDaGFuZ2VzTXNnKS50aGVuKGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBleGVjdXRlRHJhZnRFZGl0QWN0aW9uKG9Db250ZXh0LCBmYWxzZSk7XG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0fVxuXHRcdHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXCJEcmFmdCBjcmVhdGlvbiBhYm9ydGVkIGZvciBkb2N1bWVudDogXCIgKyBvQ29udGV4dC5nZXRQYXRoKCkpKTtcblx0fVxuXG5cdGZ1bmN0aW9uIHNob3dNZXNzYWdlQm94KHNVbnNhdmVkQ2hhbmdlc01zZzogYW55KSB7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmU6ICh2YWx1ZTogYW55KSA9PiB2b2lkLCByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQpIHtcblx0XHRcdGNvbnN0IG9EaWFsb2cgPSBuZXcgRGlhbG9nKHtcblx0XHRcdFx0dGl0bGU6IGxvY2FsSTE4blJlZi5nZXRUZXh0KFwiQ19EUkFGVF9PQkpFQ1RfUEFHRV9XQVJOSU5HXCIpLFxuXHRcdFx0XHRzdGF0ZTogXCJXYXJuaW5nXCIsXG5cdFx0XHRcdGNvbnRlbnQ6IG5ldyBUZXh0KHtcblx0XHRcdFx0XHR0ZXh0OiBzVW5zYXZlZENoYW5nZXNNc2dcblx0XHRcdFx0fSksXG5cdFx0XHRcdGJlZ2luQnV0dG9uOiBuZXcgQnV0dG9uKHtcblx0XHRcdFx0XHR0ZXh0OiBsb2NhbEkxOG5SZWYuZ2V0VGV4dChcIkNfQ09NTU9OX09CSkVDVF9QQUdFX0VESVRcIiksXG5cdFx0XHRcdFx0dHlwZTogXCJFbXBoYXNpemVkXCIsXG5cdFx0XHRcdFx0cHJlc3M6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0b0RpYWxvZy5jbG9zZSgpO1xuXHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRlbmRCdXR0b246IG5ldyBCdXR0b24oe1xuXHRcdFx0XHRcdHRleHQ6IGxvY2FsSTE4blJlZi5nZXRUZXh0KFwiQ19DT01NT05fT0JKRUNUX1BBR0VfQ0FOQ0VMXCIpLFxuXHRcdFx0XHRcdHByZXNzOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdG9EaWFsb2cuY2xvc2UoKTtcblx0XHRcdFx0XHRcdHJlamVjdChcIkRyYWZ0IGNyZWF0aW9uIGFib3J0ZWQgZm9yIGRvY3VtZW50OiBcIiArIG9Db250ZXh0LmdldFBhdGgoKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KSxcblx0XHRcdFx0YWZ0ZXJDbG9zZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0b0RpYWxvZy5kZXN0cm95KCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0b0RpYWxvZy5hZGRTdHlsZUNsYXNzKFwic2FwVWlDb250ZW50UGFkZGluZ1wiKTtcblx0XHRcdG9EaWFsb2cub3BlbigpO1xuXHRcdH0pO1xuXHR9XG5cblx0aWYgKCFvQ29udGV4dCkge1xuXHRcdHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXCJCaW5kaW5nIGNvbnRleHQgdG8gYWN0aXZlIGRvY3VtZW50IGlzIHJlcXVpcmVkXCIpKTtcblx0fVxuXG5cdHJldHVybiBQcm9taXNlLnJlc29sdmUoXG5cdFx0bVBhcmFtLmZuQmVmb3JlQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnRcblx0XHRcdD8gbVBhcmFtLmZuQmVmb3JlQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnQob0NvbnRleHQsIGJSdW5QcmVzZXJ2ZUNoYW5nZXNGbG93KVxuXHRcdFx0OiB0cnVlXG5cdClcblx0XHQudGhlbihmdW5jdGlvbihiRXhlY3V0ZTogYW55KSB7XG5cdFx0XHRpZiAoIWJFeGVjdXRlKSB7XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcihcIkRyYWZ0IGNyZWF0aW9uIHdhcyBhYm9ydGVkIGJ5IGV4dGVuc2lvbiBmb3IgZG9jdW1lbnQ6IFwiICsgb0NvbnRleHQuZ2V0UGF0aCgpKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBleGVjdXRlRHJhZnRFZGl0QWN0aW9uKG9Db250ZXh0LCBiUnVuUHJlc2VydmVDaGFuZ2VzRmxvdykuY2F0Y2goZnVuY3Rpb24ob1Jlc3BvbnNlOiBhbnkpIHtcblx0XHRcdFx0Ly9Pbmx5IGNhbGwgYmFjayBpZiBlcnJvciA0MDlcblx0XHRcdFx0aWYgKGJSdW5QcmVzZXJ2ZUNoYW5nZXNGbG93ICYmIG9SZXNwb25zZS5zdGF0dXMgPT09IDQwOSkge1xuXHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoXG5cdFx0XHRcdFx0XHRtUGFyYW0uZm5XaGVuRGVjaXNpb25Ub092ZXJ3cml0ZURvY3VtZW50SXNSZXF1aXJlZCA/IG1QYXJhbS5mbldoZW5EZWNpc2lvblRvT3ZlcndyaXRlRG9jdW1lbnRJc1JlcXVpcmVkKCkgOiB0cnVlXG5cdFx0XHRcdFx0KS50aGVuKG92ZXJ3cml0ZU9uRGVtYW5kKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3Iob1Jlc3BvbnNlKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSlcblx0XHQudGhlbihmdW5jdGlvbihvRHJhZnRDb250ZXh0OiBhbnkpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoXG5cdFx0XHRcdG1QYXJhbS5mbkFmdGVyQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnRcblx0XHRcdFx0XHQ/IG1QYXJhbS5mbkFmdGVyQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnQob0NvbnRleHQsIG9EcmFmdENvbnRleHQpXG5cdFx0XHRcdFx0OiBvRHJhZnRDb250ZXh0XG5cdFx0XHQpO1xuXHRcdH0pXG5cdFx0LnRoZW4oZnVuY3Rpb24ob0RyYWZ0Q29udGV4dDogYW55KSB7XG5cdFx0XHRpZiAobVBhcmFtLmJQcmVwYXJlT25FZGl0ICYmIGhhc1ByZXBhcmVBY3Rpb24ob0RyYWZ0Q29udGV4dCkpIHtcblx0XHRcdFx0cmV0dXJuIGV4ZWN1dGVEcmFmdFByZXBhcmF0aW9uQWN0aW9uKG9EcmFmdENvbnRleHQsIG9BcHBDb21wb25lbnQsIHsgYlByZXBhcmVGb3JFZGl0OiB0cnVlIH0pLnRoZW4oZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG9EcmFmdENvbnRleHQ7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIG9EcmFmdENvbnRleHQ7XG5cdFx0fSlcblx0XHQuY2F0Y2goZnVuY3Rpb24oZXhjOiBhbnkpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChleGMpO1xuXHRcdH0pO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGFjdGl2ZSBkb2N1bWVudCBmcm9tIGEgZHJhZnQgZG9jdW1lbnQuXG4gKlxuICogVGhlIGZ1bmN0aW9uIHN1cHBvcnRzIHNldmVyYWwgaG9va3MgYXMgdGhlcmUgaXMgYSBjZXJ0YWluIGNob3Jlb2dyYXBoeSBkZWZpbmVkLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdCNhY3RpdmF0ZURvY3VtZW50XG4gKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdFxuICogQHN0YXRpY1xuICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgQ29udGV4dCBvZiB0aGUgYWN0aXZlIGRvY3VtZW50IGZvciB0aGUgbmV3IGRyYWZ0XG4gKiBAcGFyYW0ge29iamVjdH0gb0FwcENvbXBvbmVudCBUaGUgQXBwQ29tcG9uZW50XG4gKiBAcGFyYW0ge29iamVjdH0gbVBhcmFtZXRlcnMgVGhlIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSB7c2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdC5JQ2FsbGJhY2suZm5CZWZvcmVBY3RpdmF0ZURvY3VtZW50fSBbbVBhcmFtZXRlcnMuZm5CZWZvcmVBY3RpdmF0ZURvY3VtZW50XSBDYWxsYmFjayB0aGF0IGFsbG93cyB2ZXRvIGJlZm9yZSBjcmVhdGUgcmVxdWVzdCBpcyBleGVjdXRlZFxuICogQHBhcmFtIHtzYXAuZmUuY29yZS5hY3Rpb25zLmRyYWZ0LklDYWxsYmFjay5mbkFmdGVyQWN0aXZhdGVEb2N1bWVudH0gW21QYXJhbWV0ZXJzLmZuQWZ0ZXJBY3RpdmF0ZURvY3VtZW50XSBDYWxsYmFjayBmb3IgcG9zdHByb2Nlc3Npb25nIGFmdGVyIGRvY3VtZW50IHdhcyBhY3RpdmF0ZWQuXG4gKiBAcmV0dXJucyB7UHJvbWlzZX0gUHJvbWlzZSByZXNvbHZlcyB3aXRoIHRoZSB7QGxpbmsgc2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHQgY29udGV4dH0gb2YgdGhlIG5ldyBkcmFmdCBkb2N1bWVudFxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiBhY3RpdmF0ZURvY3VtZW50KFxuXHRvQ29udGV4dDogYW55LFxuXHRvQXBwQ29tcG9uZW50OiBvYmplY3QsXG5cdG1QYXJhbWV0ZXJzOiB7IGZuQmVmb3JlQWN0aXZhdGVEb2N1bWVudD86IGFueTsgZm5BZnRlckFjdGl2YXRlRG9jdW1lbnQ/OiBhbnkgfVxuKSB7XG5cdGNvbnN0IG1QYXJhbSA9IG1QYXJhbWV0ZXJzIHx8IHt9O1xuXG5cdGlmICghb0NvbnRleHQpIHtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKFwiQmluZGluZyBjb250ZXh0IHRvIGRyYWZ0IGRvY3VtZW50IGlzIHJlcXVpcmVkXCIpKTtcblx0fVxuXHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG1QYXJhbS5mbkJlZm9yZUFjdGl2YXRlRG9jdW1lbnQgPyBtUGFyYW0uZm5CZWZvcmVBY3RpdmF0ZURvY3VtZW50KG9Db250ZXh0KSA6IHRydWUpXG5cdFx0LnRoZW4oZnVuY3Rpb24oYkV4ZWN1dGU6IGFueSkge1xuXHRcdFx0aWYgKCFiRXhlY3V0ZSkge1xuXHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKFwiQWN0aXZhdGlvbiBvZiB0aGUgZG9jdW1lbnQgd2FzIGFib3J0ZWQgYnkgZXh0ZW5zaW9uIGZvciBkb2N1bWVudDogXCIgKyBvQ29udGV4dC5nZXRQYXRoKCkpKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKCFoYXNQcmVwYXJlQWN0aW9uKG9Db250ZXh0KSkge1xuXHRcdFx0XHRyZXR1cm4gZXhlY3V0ZURyYWZ0QWN0aXZhdGlvbkFjdGlvbihvQ29udGV4dCwgb0FwcENvbXBvbmVudCk7XG5cdFx0XHR9XG5cblx0XHRcdC8qIGFjdGl2YXRpb24gcmVxdWlyZXMgcHJlcGFyYXRpb24gKi9cblx0XHRcdGNvbnN0IHNCYXRjaEdyb3VwID0gXCJkcmFmdFwiO1xuXHRcdFx0Ly8gd2UgdXNlIHRoZSBzYW1lIGJhdGNoR3JvdXAgdG8gZm9yY2UgcHJlcGFyZSBhbmQgYWN0aXZhdGUgaW4gYSBzYW1lIGJhdGNoIGJ1dCB3aXRoIGRpZmZlcmVudCBjaGFuZ2VzZXRcblx0XHRcdGNvbnN0IG9QcmVwYXJlUHJvbWlzZSA9IGV4ZWN1dGVEcmFmdFByZXBhcmF0aW9uQWN0aW9uKG9Db250ZXh0LCBvQXBwQ29tcG9uZW50LCB7XG5cdFx0XHRcdGdyb3VwSWQ6IHNCYXRjaEdyb3VwLFxuXHRcdFx0XHRiUHJlcGFyZUZvckVkaXQ6IGZhbHNlXG5cdFx0XHR9KTtcblx0XHRcdG9Db250ZXh0LmdldE1vZGVsKCkuc3VibWl0QmF0Y2goc0JhdGNoR3JvdXApO1xuXG5cdFx0XHRjb25zdCBvQWN0aXZhdGVQcm9taXNlID0gZXhlY3V0ZURyYWZ0QWN0aXZhdGlvbkFjdGlvbihvQ29udGV4dCwgb0FwcENvbXBvbmVudCwgc0JhdGNoR3JvdXApO1xuXG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoW29QcmVwYXJlUHJvbWlzZSwgb0FjdGl2YXRlUHJvbWlzZV0pXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uKHZhbHVlczogW2FueSwgYW55XSkge1xuXHRcdFx0XHRcdHJldHVybiB2YWx1ZXNbMV07XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChmdW5jdGlvbihleGM6IGFueSkge1xuXHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChleGMpO1xuXHRcdFx0XHR9KTtcblx0XHR9KVxuXHRcdC50aGVuKGZ1bmN0aW9uKG9BY3RpdmVEb2N1bWVudENvbnRleHQ6IGFueSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShcblx0XHRcdFx0bVBhcmFtLmZuQWZ0ZXJBY3RpdmF0ZURvY3VtZW50ID8gbVBhcmFtLmZuQWZ0ZXJBY3RpdmF0ZURvY3VtZW50KG9Db250ZXh0LCBvQWN0aXZlRG9jdW1lbnRDb250ZXh0KSA6IG9BY3RpdmVEb2N1bWVudENvbnRleHRcblx0XHRcdCk7XG5cdFx0fSlcblx0XHQuY2F0Y2goZnVuY3Rpb24oZXhjOiBhbnkpIHtcblx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChleGMpO1xuXHRcdH0pO1xufVxuLyoqXG4gKiBIVFRQIFBPU1QgY2FsbCB3aGVuIERyYWZ0QWN0aW9uIGlzIHByZXNlbnQgZm9yIERyYWZ0IERlbGV0ZTsgSFRUUCBERUxFVEUgZm9yIERyYWZ0KHdoZW4gbm8gRHJhZnRBY3Rpb24pXG4gKiBhbmQgQWN0aXZlIEluc3RhbmNlIHVzZXMgREVMRVRFIGFsd2F5cy5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnQjZGVsZXRlRHJhZnRcbiAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5hY3Rpb25zLmRyYWZ0XG4gKiBAc3RhdGljXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBkb2N1bWVudCB0byBiZSBkaXNjYXJkZWRcbiAqIEBwcml2YXRlXG4gKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiBkZWxldGVEcmFmdChvQ29udGV4dDogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG5cdGNvbnN0IHNEaXNjYXJkQWN0aW9uID0gZ2V0QWN0aW9uTmFtZShvQ29udGV4dCwgZHJhZnRPcGVyYXRpb25zLkRJU0NBUkQpLFxuXHRcdGJJc0FjdGl2ZUVudGl0eSA9IG9Db250ZXh0LmdldE9iamVjdCgpLklzQWN0aXZlRW50aXR5O1xuXG5cdGlmIChiSXNBY3RpdmVFbnRpdHkgfHwgKCFiSXNBY3RpdmVFbnRpdHkgJiYgIXNEaXNjYXJkQWN0aW9uKSkge1xuXHRcdC8vVXNlIERlbGV0ZSBpbiBjYXNlIG9mIGFjdGl2ZSBlbnRpdHkgYW5kIG5vIGRpc2NhcmQgYWN0aW9uIGF2YWlsYWJsZSBmb3IgZHJhZnRcblx0XHRpZiAob0NvbnRleHQuaGFzUGVuZGluZ0NoYW5nZXMoKSkge1xuXHRcdFx0cmV0dXJuIG9Db250ZXh0XG5cdFx0XHRcdC5nZXRCaW5kaW5nKClcblx0XHRcdFx0LnJlc2V0Q2hhbmdlcygpXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdHJldHVybiBvQ29udGV4dC5kZWxldGUoKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uKGVycm9yOiBhbnkpIHtcblx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuXHRcdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIG9Db250ZXh0LmRlbGV0ZSgpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHQvL1VzZSBEaXNjYXJkIFBvc3QgQWN0aW9uIGlmIGl0IGlzIGEgZHJhZnQgZW50aXR5IGFuZCBkaXNjYXJkIGFjdGlvbiBleGlzdHNcblx0XHRyZXR1cm4gZXhlY3V0ZURyYWZ0RGlzY2FyZEFjdGlvbihvQ29udGV4dCk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZHJhZnQ7XG4iXX0=
|
|
523
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRyYWZ0LnRzIl0sIm5hbWVzIjpbImRyYWZ0T3BlcmF0aW9ucyIsIkVESVQiLCJBQ1RJVkFUSU9OIiwiRElTQ0FSRCIsIlBSRVBBUkUiLCJkcmFmdCIsImNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50IiwiYWN0aXZhdGVEb2N1bWVudCIsImRlbGV0ZURyYWZ0IiwiZ2V0QWN0aW9uTmFtZSIsIm9Db250ZXh0Iiwic09wZXJhdGlvbiIsIm9Nb2RlbCIsImdldE1vZGVsIiwib01ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsInNFbnRpdHlTZXRQYXRoIiwiZ2V0TWV0YVBhdGgiLCJnZXRQYXRoIiwiZ2V0T2JqZWN0IiwiY3JlYXRlT3BlcmF0aW9uIiwib09wdGlvbnMiLCJzT3BlcmF0aW9uTmFtZSIsImJpbmRDb250ZXh0IiwiaGFzUHJlcGFyZUFjdGlvbiIsImV4ZWN1dGVEcmFmdEVkaXRBY3Rpb24iLCJiUHJlc2VydmVDaGFuZ2VzIiwiZ2V0UHJvcGVydHkiLCIkJGluaGVyaXRFeHBhbmRTZWxlY3QiLCJvT3BlcmF0aW9uIiwic2V0UGFyYW1ldGVyIiwic0dyb3VwSWQiLCJsb2NhbEkxOG5SZWYiLCJzYXAiLCJ1aSIsImdldENvcmUiLCJnZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUiLCJzQWN0aW9uTmFtZSIsImdldFRleHQiLCJvRWRpdFByb21pc2UiLCJleGVjdXRlIiwidW5kZWZpbmVkIiwiQ29tbW9uVXRpbHMiLCJmbk9uU3RyaWN0SGFuZGxpbmdGYWlsZWQiLCJiaW5kIiwidGhlbiIsIm9EcmFmdERvY3VtZW50Q29udGV4dCIsInN1Ym1pdEJhdGNoIiwiRXJyb3IiLCJleGVjdXRlRHJhZnRBY3RpdmF0aW9uQWN0aW9uIiwib0FwcENvbXBvbmVudCIsImJIYXNQcmVwYXJlQWN0aW9uIiwiYklnbm9yZUV0YWciLCJvQWN0aXZlRG9jdW1lbnRDb250ZXh0IiwiY2F0Y2giLCJvU2lkZUVmZmVjdHNTZXJ2aWNlIiwiZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlIiwib0JpbmRpbmdQYXJhbWV0ZXJzIiwiZ2V0T0RhdGFBY3Rpb25TaWRlRWZmZWN0cyIsImFUYXJnZXRQYXRocyIsInBhdGhFeHByZXNzaW9ucyIsImxlbmd0aCIsInJlcXVlc3RTaWRlRWZmZWN0cyIsIm9FcnJvciIsIkxvZyIsImVycm9yIiwicmVxdWVzdE1lc3NhZ2VzIiwiUHJvbWlzZSIsInJlamVjdCIsImV4ZWN1dGVEcmFmdFByZXBhcmF0aW9uQWN0aW9uIiwiZ3JvdXBJZCIsImdldEdyb3VwSWQiLCJnZXRNZXNzYWdlc1BhdGgiLCJzTWVzc2FnZXNQYXRoIiwiJFByb3BlcnR5UGF0aCIsInJlc29sdmUiLCJleGVjdXRlRHJhZnREaXNjYXJkQWN0aW9uIiwib0Rpc2NhcmRPcGVyYXRpb24iLCJvRGlzY2FyZFByb21pc2UiLCJtUGFyYW1ldGVycyIsIm1QYXJhbSIsImJSdW5QcmVzZXJ2ZUNoYW5nZXNGbG93Iiwib3ZlcndyaXRlT25EZW1hbmQiLCJiT3ZlcndyaXRlIiwiZHJhZnREYXRhQ29udGV4dCIsImdldEJvdW5kQ29udGV4dCIsIm9SZXNvdXJjZUJ1bmRsZSIsIm9WaWV3IiwiZ2V0UmVzb3VyY2VCdW5kbGUiLCJfb1Jlc291cmNlQnVuZGxlIiwicmVxdWVzdE9iamVjdCIsImRyYWZ0QWRtaW5EYXRhIiwibWVzc2FnZUhhbmRsaW5nIiwicmVtb3ZlVW5ib3VuZFRyYW5zaXRpb25NZXNzYWdlcyIsInNJbmZvIiwiSW5Qcm9jZXNzQnlVc2VyRGVzY3JpcHRpb24iLCJJblByb2Nlc3NCeVVzZXIiLCJzRW50aXR5U2V0IiwiZ2V0Vmlld0RhdGEiLCJlbnRpdHlTZXQiLCJzTG9ja2VkQnlVc2VyTXNnIiwiZ2V0VHJhbnNsYXRlZFRleHQiLCJNZXNzYWdlQm94IiwiQ3JlYXRlZEJ5VXNlckRlc2NyaXB0aW9uIiwiQ3JlYXRlZEJ5VXNlciIsInNVbnNhdmVkQ2hhbmdlc01zZyIsInNob3dNZXNzYWdlQm94Iiwib0RpYWxvZyIsIkRpYWxvZyIsInRpdGxlIiwic3RhdGUiLCJjb250ZW50IiwiVGV4dCIsInRleHQiLCJiZWdpbkJ1dHRvbiIsIkJ1dHRvbiIsInR5cGUiLCJwcmVzcyIsImNsb3NlIiwiZW5kQnV0dG9uIiwiYWZ0ZXJDbG9zZSIsImRlc3Ryb3kiLCJhZGRTdHlsZUNsYXNzIiwib3BlbiIsImZuQmVmb3JlQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnQiLCJiRXhlY3V0ZSIsIm9SZXNwb25zZSIsInN0YXR1cyIsImZuV2hlbkRlY2lzaW9uVG9PdmVyd3JpdGVEb2N1bWVudElzUmVxdWlyZWQiLCJvRHJhZnRDb250ZXh0IiwiZm5BZnRlckNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50Iiwic0VkaXRBY3Rpb25OYW1lIiwib1NpZGVFZmZlY3RzIiwidHJpZ2dlckFjdGlvbnMiLCJyZXF1ZXN0U2lkZUVmZmVjdHNGb3JPRGF0YUFjdGlvbiIsImV4YyIsImZuQmVmb3JlQWN0aXZhdGVEb2N1bWVudCIsInNCYXRjaEdyb3VwIiwib1ByZXBhcmVQcm9taXNlIiwib0FjdGl2YXRlUHJvbWlzZSIsImFsbCIsInZhbHVlcyIsImZuQWZ0ZXJBY3RpdmF0ZURvY3VtZW50Iiwic0Rpc2NhcmRBY3Rpb24iLCJiSXNBY3RpdmVFbnRpdHkiLCJJc0FjdGl2ZUVudGl0eSIsImhhc1BlbmRpbmdDaGFuZ2VzIiwiZ2V0QmluZGluZyIsInJlc2V0Q2hhbmdlcyIsImRlbGV0ZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7OztBQWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0EsTUFBTUEsZUFBZSxHQUFHO0FB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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IERpYWxvZyBmcm9tIFwic2FwL20vRGlhbG9nXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBUZXh0IGZyb20gXCJzYXAvbS9UZXh0XCI7XG5pbXBvcnQgTWVzc2FnZUJveCBmcm9tIFwic2FwL20vTWVzc2FnZUJveFwiO1xuaW1wb3J0IG1lc3NhZ2VIYW5kbGluZyBmcm9tIFwic2FwL2ZlL2NvcmUvYWN0aW9ucy9tZXNzYWdlSGFuZGxpbmdcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgeyBTaWRlRWZmZWN0c1NlcnZpY2UgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvU2lkZUVmZmVjdHNTZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IFJlc291cmNlQnVuZGxlIGZyb20gXCJzYXAvYmFzZS9pMThuL1Jlc291cmNlQnVuZGxlXCI7XG5pbXBvcnQgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCBSZXNvdXJjZU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvcmVzb3VyY2UvUmVzb3VyY2VNb2RlbFwiO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY2FsbGJhY2tzIHVzZWQgaW4gdGhlIGZ1bmN0aW9uc1xuICpcbiAqXG4gKiBAYXV0aG9yIFNBUCBTRVxuICogQHNpbmNlIDEuNTQuMFxuICogQGludGVyZmFjZVxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdC5JQ2FsbGJhY2tcbiAqIEBwcml2YXRlXG4gKi9cblxuLyoqXG4gKiBDYWxsYmFjayB0byBhcHByb3ZlIG9yIHJlamVjdCB0aGUgY3JlYXRpb24gb2YgYSBkcmFmdFxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdC5JQ2FsbGJhY2suYmVmb3JlQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnRcbiAqIEBmdW5jdGlvblxuICogQHN0YXRpY1xuICogQGFic3RyYWN0XG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBhY3RpdmUgZG9jdW1lbnQgZm9yIHRoZSBuZXcgZHJhZnRcbiAqIEByZXR1cm5zIHsoYm9vbGVhbnxQcm9taXNlKX0gQXBwcm92YWwgb2YgZHJhZnQgY3JlYXRpb24gW3RydWV8ZmFsc2VdIG9yIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBib29sZWFuIHZhbHVlXG4gKlxuICogQHByaXZhdGVcbiAqL1xuXG4vKipcbiAqIENhbGxiYWNrIGFmdGVyIGEgZHJhZnQgd2FzIHN1Y2Nlc3N1bGx5IGNyZWF0ZWRcbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnQuSUNhbGxiYWNrLmFmdGVyQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnRcbiAqIEBmdW5jdGlvblxuICogQHN0YXRpY1xuICogQGFic3RyYWN0XG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IG9mIHRoZSBuZXcgZHJhZnRcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9BY3RpdmVEb2N1bWVudENvbnRleHQgQ29udGV4dCBvZiB0aGUgYWN0aXZlIGRvY3VtZW50IGZvciB0aGUgbmV3IGRyYWZ0XG4gKiBAcmV0dXJucyB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9BY3RpdmVEb2N1bWVudENvbnRleHRcbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5cbi8qKlxuICogQ2FsbGJhY2sgdG8gYXBwcm92ZSBvciByZWplY3Qgb3ZlcndyaXRpbmcgYW4gdW5zYXZlZCBkcmFmdCBvZiBhbm90aGVyIHVzZXJcbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnQuSUNhbGxiYWNrLndoZW5EZWNpc2lvblRvT3ZlcndyaXRlRG9jdW1lbnRJc1JlcXVpcmVkXG4gKiBAZnVuY3Rpb25cbiAqIEBwdWJsaWNcbiAqIEBzdGF0aWNcbiAqIEBhYnN0cmFjdFxuICpcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgb2YgdGhlIGFjdGl2ZSBkb2N1bWVudCBmb3IgdGhlIG5ldyBkcmFmdFxuICogQHJldHVybnMgeyhib29sZWFufFByb21pc2UpfSBBcHByb3ZhbCB0byBvdmVyd3JpdGUgdW5zYXZlZCBkcmFmdCBbdHJ1ZXxmYWxzZV0gb3IgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGJvb2xlYW4gdmFsdWVcbiAqXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuLyogQ29uc3RhbnRzIGZvciBkcmFmdCBvcGVyYXRpb25zICovXG5jb25zdCBkcmFmdE9wZXJhdGlvbnMgPSB7XG5cdEVESVQ6IFwiRWRpdEFjdGlvblwiLFxuXHRBQ1RJVkFUSU9OOiBcIkFjdGl2YXRpb25BY3Rpb25cIixcblx0RElTQ0FSRDogXCJEaXNjYXJkQWN0aW9uXCIsXG5cdFBSRVBBUkU6IFwiUHJlcGFyYXRpb25BY3Rpb25cIlxufTtcbi8qKlxuICogU3RhdGljIGZ1bmN0aW9ucyBmb3IgdGhlIGRyYWZ0IHByb2dyYW1taW5nIG1vZGVsXG4gKlxuICogQG5hbWVzcGFjZVxuICogQGFsaWFzIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnRcbiAqIEBwcml2YXRlXG4gKiBAZXhwZXJpbWVudGFsIFRoaXMgbW9kdWxlIGlzIG9ubHkgZm9yIGV4cGVyaW1lbnRhbCB1c2UhIDxici8+PGI+VGhpcyBpcyBvbmx5IGEgUE9DIGFuZCBtYXliZSBkZWxldGVkPC9iPlxuICogQHNpbmNlIDEuNTQuMFxuICovXG5jb25zdCBkcmFmdCA9IHtcblx0Y3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnQ6IGNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50LFxuXHRhY3RpdmF0ZURvY3VtZW50OiBhY3RpdmF0ZURvY3VtZW50LFxuXHRkZWxldGVEcmFmdDogZGVsZXRlRHJhZnRcbn07XG4vKipcbiAqIERldGVybWluZXMgYWN0aW9uIG5hbWUgZm9yIGEgZHJhZnQgb3BlcmF0aW9uLlxuICpcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IFRoZSBjb250ZXh0IHRoYXQgc2hvdWxkIGJlIGJvdW5kIHRvIHRoZSBvcGVyYXRpb25cbiAqIEBwYXJhbSB7c3RyaW5nfSBzT3BlcmF0aW9uIFRoZSBvcGVyYXRpb24gbmFtZVxuICogQHJldHVybnMge3N0cmluZ30gVGhlIG5hbWUgb2YgdGhlIGRyYWZ0IG9wZXJhdGlvblxuICovXG5mdW5jdGlvbiBnZXRBY3Rpb25OYW1lKG9Db250ZXh0OiBhbnksIHNPcGVyYXRpb246IHN0cmluZykge1xuXHRjb25zdCBvTW9kZWwgPSBvQ29udGV4dC5nZXRNb2RlbCgpLFxuXHRcdG9NZXRhTW9kZWwgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCksXG5cdFx0c0VudGl0eVNldFBhdGggPSBvTWV0YU1vZGVsLmdldE1ldGFQYXRoKG9Db250ZXh0LmdldFBhdGgoKSk7XG5cblx0cmV0dXJuIG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNFbnRpdHlTZXRQYXRoICsgXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLkRyYWZ0Um9vdC9cIiArIHNPcGVyYXRpb24pO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIG9wZXJhdGlvbiBjb250ZXh0IGJpbmRpbmcgZm9yIHRoZSBnaXZlbiBjb250ZXh0IGFuZCBvcGVyYXRpb24uXG4gKlxuICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgVGhlIGNvbnRleHQgdGhhdCBzaG91bGQgYmUgYm91bmQgdG8gdGhlIG9wZXJhdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IHNPcGVyYXRpb24gVGhlIG9wZXJhdGlvbiAoYWN0aW9uIG9yIGZ1bmN0aW9uIGltcG9ydClcbiAqIEBwYXJhbSBvT3B0aW9ucyBPcHRpb25zIHRvIGNyZWF0ZSB0aGUgb3BlcmF0aW9uIGNvbnRleHRcbiAqIEByZXR1cm5zIHtzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFDb250ZXh0QmluZGluZ30gVGhlIGNvbnRleHQgYmluZGluZyBvZiB0aGUgYm91bmQgb3BlcmF0aW9uXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZU9wZXJhdGlvbihvQ29udGV4dDogYW55LCBzT3BlcmF0aW9uOiBzdHJpbmcsIG9PcHRpb25zPzogYW55KSB7XG5cdGNvbnN0IHNPcGVyYXRpb25OYW1lID0gZ2V0QWN0aW9uTmFtZShvQ29udGV4dCwgc09wZXJhdGlvbik7XG5cblx0cmV0dXJuIG9Db250ZXh0LmdldE1vZGVsKCkuYmluZENvbnRleHQoc09wZXJhdGlvbk5hbWUgKyBcIiguLi4pXCIsIG9Db250ZXh0LCBvT3B0aW9ucyk7XG59XG4vKipcbiAqIENoZWNrIGlmIG9wdGlvbmFsIGRyYWZ0IHByZXBhcmUgYWN0aW9uIGV4aXN0cy5cbiAqXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBUaGUgY29udGV4dCB0aGF0IHNob3VsZCBiZSBib3VuZCB0byB0aGUgb3BlcmF0aW9uXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBhIGEgcHJlcGFyZSBhY3Rpb24gZXhpc3RzXG4gKi9cbmZ1bmN0aW9uIGhhc1ByZXBhcmVBY3Rpb24ob0NvbnRleHQ6IGFueSkge1xuXHRyZXR1cm4gISFnZXRBY3Rpb25OYW1lKG9Db250ZXh0LCBkcmFmdE9wZXJhdGlvbnMuUFJFUEFSRSk7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgZHJhZnQgZnJvbSBhbiBhY3RpdmUgZG9jdW1lbnQuXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IGZvciB3aGljaCB0aGUgYWN0aW9uIHNob3VsZCBiZSBwZXJmb3JtZWRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gYlByZXNlcnZlQ2hhbmdlcyBJZiB0cnVlIC0gZXhpc3RpbmcgY2hhbmdlcyBmcm9tIGFub3RoZXIgdXNlciB0aGF0IGFyZSBub3QgbG9ja2VkIGFyZSBwcmVzZXJ2ZWQgYW5kIGFuIGVycm9yIG1lc3NhZ2UgKGh0dHAgc3RhdHVzIDQwOSkgaXMgc2VuZCBmcm9tIHRoZSBiYWNrZW5kLCBvdGhlcndpc2UgZmFsc2UgLSBleGlzdGluZyBjaGFuZ2VzIGZyb20gYW5vdGhlciB1c2VyIHRoYXQgYXJlIG5vdCBsb2NrZWQgYXJlIG92ZXJ3cml0dGVuPC9saT5cbiAqIEByZXR1cm5zIHtQcm9taXNlLjxzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dD59IFJlc29sdmUgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgb3BlcmF0aW9uXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGV4ZWN1dGVEcmFmdEVkaXRBY3Rpb24ob0NvbnRleHQ6IGFueSwgYlByZXNlcnZlQ2hhbmdlczogYm9vbGVhbikge1xuXHRpZiAob0NvbnRleHQuZ2V0UHJvcGVydHkoXCJJc0FjdGl2ZUVudGl0eVwiKSkge1xuXHRcdGNvbnN0IG9PcHRpb25zID0geyAkJGluaGVyaXRFeHBhbmRTZWxlY3Q6IHRydWUgfTtcblx0XHRjb25zdCBvT3BlcmF0aW9uID0gY3JlYXRlT3BlcmF0aW9uKG9Db250ZXh0LCBkcmFmdE9wZXJhdGlvbnMuRURJVCwgb09wdGlvbnMpO1xuXHRcdG9PcGVyYXRpb24uc2V0UGFyYW1ldGVyKFwiUHJlc2VydmVDaGFuZ2VzXCIsIGJQcmVzZXJ2ZUNoYW5nZXMpO1xuXHRcdGNvbnN0IHNHcm91cElkID0gXCJkaXJlY3RcIjtcblx0XHRjb25zdCBsb2NhbEkxOG5SZWYgPSBzYXAudWkuZ2V0Q29yZSgpLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5jb3JlXCIpIGFzIFJlc291cmNlQnVuZGxlO1xuXHRcdGNvbnN0IHNBY3Rpb25OYW1lID0gbG9jYWxJMThuUmVmLmdldFRleHQoXCJDX0NPTU1PTl9PQkpFQ1RfUEFHRV9FRElUXCIpO1xuXHRcdGNvbnN0IG9FZGl0UHJvbWlzZSA9IG9PcGVyYXRpb25cblx0XHRcdC5leGVjdXRlKHNHcm91cElkLCB1bmRlZmluZWQsIENvbW1vblV0aWxzLmZuT25TdHJpY3RIYW5kbGluZ0ZhaWxlZC5iaW5kKGRyYWZ0LCBzR3JvdXBJZCwgc0FjdGlvbk5hbWUsIG9Db250ZXh0LmdldE1vZGVsKCkpKVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24ob0RyYWZ0RG9jdW1lbnRDb250ZXh0OiBhbnkpIHtcblx0XHRcdFx0cmV0dXJuIG9EcmFmdERvY3VtZW50Q29udGV4dDtcblx0XHRcdH0pO1xuXHRcdG9PcGVyYXRpb24uZ2V0TW9kZWwoKS5zdWJtaXRCYXRjaChzR3JvdXBJZCk7XG5cdFx0cmV0dXJuIG9FZGl0UHJvbWlzZTtcblx0fSBlbHNlIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJZb3UgY2Fubm90IGVkaXQgdGhpcyBkcmFmdCBkb2N1bWVudFwiKTtcblx0fVxufVxuXG4vKipcbiAqIEFjdGl2YXRlcyBhIGRyYWZ0IGRvY3VtZW50LiBUaGUgZHJhZnQgd2lsbCByZXBsYWNlIHRoZSBzaWJsaW5nIGVudGl0eSBhbmQgd2lsbCBiZSBkZWxldGVkIGJ5IHRoZSBiYWNrIGVuZC5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgZm9yIHdoaWNoIHRoZSBhY3Rpb24gc2hvdWxkIGJlIHBlcmZvcm1lZFxuICogQHBhcmFtIHtvYmplY3R9IG9BcHBDb21wb25lbnQgVGhlIEFwcENvbXBvbmVudFxuICogQHBhcmFtIHtzdHJpbmd9IFtzR3JvdXBJZF0gVGhlIG9wdGlvbmFsIGJhdGNoIGdyb3VwIGluIHdoaWNoIHRoZSBvcGVyYXRpb24gaXMgdG8gYmUgZXhlY3V0ZWRcbiAqIEByZXR1cm5zIHtQcm9taXNlLjxzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dD59IFJlc29sdmUgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgb3BlcmF0aW9uXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGV4ZWN1dGVEcmFmdEFjdGl2YXRpb25BY3Rpb24ob0NvbnRleHQ6IGFueSwgb0FwcENvbXBvbmVudDogQXBwQ29tcG9uZW50LCBzR3JvdXBJZD86IHN0cmluZykge1xuXHRjb25zdCBiSGFzUHJlcGFyZUFjdGlvbiA9IGhhc1ByZXBhcmVBY3Rpb24ob0NvbnRleHQpO1xuXG5cdC8vIEFjY29yZGluZyB0byB0aGUgZHJhZnQgc3BlYyBpZiB0aGUgc2VydmljZSBjb250YWlucyBhIHByZXBhcmUgYWN0aW9uIGFuZCB3ZSB0cmlnZ2VyIGJvdGggcHJlcGFyZSBhbmRcblx0Ly8gYWN0aXZhdGUgaW4gb25lICRiYXRjaCB0aGUgYWN0aXZhdGUgYWN0aW9uIGlzIGNhbGxlZCB3aXRoIGlGLU1hdGNoPSpcblx0Y29uc3QgYklnbm9yZUV0YWcgPSBiSGFzUHJlcGFyZUFjdGlvbjtcblxuXHRpZiAoIW9Db250ZXh0LmdldFByb3BlcnR5KFwiSXNBY3RpdmVFbnRpdHlcIikpIHtcblx0XHRjb25zdCBvT3BlcmF0aW9uID0gY3JlYXRlT3BlcmF0aW9uKG9Db250ZXh0LCBkcmFmdE9wZXJhdGlvbnMuQUNUSVZBVElPTiwgeyAkJGluaGVyaXRFeHBhbmRTZWxlY3Q6IHRydWUgfSk7XG5cdFx0Y29uc3QgbG9jYWxJMThuUmVmID0gc2FwLnVpLmdldENvcmUoKS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUuY29yZVwiKSBhcyBSZXNvdXJjZUJ1bmRsZTtcblx0XHRjb25zdCBzQWN0aW9uTmFtZSA9IGxvY2FsSTE4blJlZi5nZXRUZXh0KFwiQ19PUF9PQkpFQ1RfUEFHRV9TQVZFXCIpO1xuXHRcdHJldHVybiBvT3BlcmF0aW9uXG5cdFx0XHQuZXhlY3V0ZShcblx0XHRcdFx0c0dyb3VwSWQsXG5cdFx0XHRcdGJJZ25vcmVFdGFnLFxuXHRcdFx0XHRzR3JvdXBJZCA/IENvbW1vblV0aWxzLmZuT25TdHJpY3RIYW5kbGluZ0ZhaWxlZC5iaW5kKGRyYWZ0LCBzR3JvdXBJZCwgc0FjdGlvbk5hbWUsIG9Db250ZXh0LmdldE1vZGVsKCkpIDogdW5kZWZpbmVkXG5cdFx0XHQpIC8vM3JkIHBhcmFtZXRlcjwtLS0tLS1cblx0XHRcdC50aGVuKGZ1bmN0aW9uKG9BY3RpdmVEb2N1bWVudENvbnRleHQ6IGFueSkge1xuXHRcdFx0XHRyZXR1cm4gb0FjdGl2ZURvY3VtZW50Q29udGV4dDtcblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goXG5cdFx0XHRcdC8vaWYgQUNUSVZBVEUgYWN0aW9uIGZhaWxzIHRoZW4gd2UgcmVxdWVzdCBlaXRoZXIgdGhlIHNpZGVFZmZlY3RzIGFnYWluc3QgUFJFUEFSRSBhY3Rpb24gKGlmIGFubm90YXRlZCkgb3IgdGhlIG1lc3NhZ2VzIGFzIGZhbGxiYWNrOlxuXHRcdFx0XHRmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRpZiAoYkhhc1ByZXBhcmVBY3Rpb24pIHtcblx0XHRcdFx0XHRcdGNvbnN0IHNBY3Rpb25OYW1lID0gZ2V0QWN0aW9uTmFtZShvQ29udGV4dCwgZHJhZnRPcGVyYXRpb25zLlBSRVBBUkUpLFxuXHRcdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHNTZXJ2aWNlID0gb0FwcENvbXBvbmVudC5nZXRTaWRlRWZmZWN0c1NlcnZpY2UoKSxcblx0XHRcdFx0XHRcdFx0b0JpbmRpbmdQYXJhbWV0ZXJzID0gb1NpZGVFZmZlY3RzU2VydmljZS5nZXRPRGF0YUFjdGlvblNpZGVFZmZlY3RzKHNBY3Rpb25OYW1lLCBvQ29udGV4dCksXG5cdFx0XHRcdFx0XHRcdGFUYXJnZXRQYXRocyA9IG9CaW5kaW5nUGFyYW1ldGVycyAmJiBvQmluZGluZ1BhcmFtZXRlcnMucGF0aEV4cHJlc3Npb25zO1xuXHRcdFx0XHRcdFx0aWYgKGFUYXJnZXRQYXRocyAmJiBhVGFyZ2V0UGF0aHMubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdFx0XHRvU2lkZUVmZmVjdHNTZXJ2aWNlLnJlcXVlc3RTaWRlRWZmZWN0cyhhVGFyZ2V0UGF0aHMsIG9Db250ZXh0KS5jYXRjaChmdW5jdGlvbihvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIHJlcXVlc3Rpbmcgc2lkZSBlZmZlY3RzXCIsIG9FcnJvcik7XG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0cmVxdWVzdE1lc3NhZ2VzKG9Db250ZXh0LCBvU2lkZUVmZmVjdHNTZXJ2aWNlKS5jYXRjaChmdW5jdGlvbihvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIHJlcXVlc3RpbmcgbWVzc2FnZXNcIiwgb0Vycm9yKTtcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdCgpO1xuXHRcdFx0XHR9XG5cdFx0XHQpO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlRoZSBhY3RpdmF0aW9uIGFjdGlvbiBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gYW4gYWN0aXZlIGRvY3VtZW50XCIpO1xuXHR9XG59XG4vKipcbiAqIEV4ZWN1dGUgYSBwcmVwYXJhdGlvbiBhY3Rpb24uXG4gKlxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge3NhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0fSBvQ29udGV4dCBDb250ZXh0IGZvciB3aGljaCB0aGUgYWN0aW9uIHNob3VsZCBiZSBwZXJmb3JtZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBncm91cElkIFRoZSBvcHRpb25hbCBiYXRjaCBncm91cCBpbiB3aGljaCB3ZSB3YW50IHRvIGV4ZWN1dGUgdGhlIG9wZXJhdGlvblxuICogQHJldHVybnMge1Byb21pc2UuPHNhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0Pn0gUmVzb2x2ZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBjb250ZXh0IG9mIHRoZSBvcGVyYXRpb25cbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gZXhlY3V0ZURyYWZ0UHJlcGFyYXRpb25BY3Rpb24ob0NvbnRleHQ6IENvbnRleHQsIGdyb3VwSWQ/OiBzdHJpbmcpIHtcblx0aWYgKCFvQ29udGV4dC5nZXRQcm9wZXJ0eShcIklzQWN0aXZlRW50aXR5XCIpKSB7XG5cdFx0Y29uc3Qgb09wZXJhdGlvbiA9IGNyZWF0ZU9wZXJhdGlvbihvQ29udGV4dCwgZHJhZnRPcGVyYXRpb25zLlBSRVBBUkUpO1xuXG5cdFx0Ly8gVE9ETzogc2lkZSBlZmZlY3RzIHF1YWxpZmllciBzaGFsbCBiZSBldmVuIGRlcHJlY2F0ZWQgdG8gYmUgY2hlY2tlZFxuXHRcdG9PcGVyYXRpb24uc2V0UGFyYW1ldGVyKFwiU2lkZUVmZmVjdHNRdWFsaWZpZXJcIiwgXCJcIik7XG5cblx0XHRjb25zdCBzR3JvdXBJZCA9IGdyb3VwSWQgfHwgb09wZXJhdGlvbi5nZXRHcm91cElkKCk7XG5cdFx0cmV0dXJuIG9PcGVyYXRpb25cblx0XHRcdC5leGVjdXRlKHNHcm91cElkKVxuXHRcdFx0LnRoZW4oZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBvT3BlcmF0aW9uO1xuXHRcdFx0fSlcblx0XHRcdC5jYXRjaChmdW5jdGlvbihvRXJyb3I6IGFueSkge1xuXHRcdFx0XHRMb2cuZXJyb3IoXCJFcnJvciB3aGlsZSBleGVjdXRpbmcgdGhlIG9wZXJhdGlvblwiLCBvRXJyb3IpO1xuXHRcdFx0fSk7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiVGhlIHByZXBhcmF0aW9uIGFjdGlvbiBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gYW4gYWN0aXZlIGRvY3VtZW50XCIpO1xuXHR9XG59XG4vKipcbiAqIERldGVybWluZXMgdGhlIG1lc3NhZ2UgcGF0aCBmb3IgYSBjb250ZXh0LlxuICpcbiAqIEBmdW5jdGlvblxuICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgQ29udGV4dCBmb3Igd2hpY2ggdGhlIHBhdGggc2hhbGwgYmUgZGV0ZXJtaW5lZFxuICogQHJldHVybnMge3N0cmluZ30gTWVzc2FnZSBwYXRoLCBlbXB0eSBpZiBub3QgYW5ub3RhdGVkXG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGdldE1lc3NhZ2VzUGF0aChvQ29udGV4dDogQ29udGV4dCk6IHN0cmluZyB7XG5cdGNvbnN0IG9Nb2RlbCA9IG9Db250ZXh0LmdldE1vZGVsKCksXG5cdFx0b01ldGFNb2RlbCA9IG9Nb2RlbC5nZXRNZXRhTW9kZWwoKSBhcyBPRGF0YU1ldGFNb2RlbCxcblx0XHRzRW50aXR5U2V0UGF0aCA9IG9NZXRhTW9kZWwuZ2V0TWV0YVBhdGgob0NvbnRleHQuZ2V0UGF0aCgpKTtcblx0cmV0dXJuIG9NZXRhTW9kZWwuZ2V0T2JqZWN0KHNFbnRpdHlTZXRQYXRoICsgXCIvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW1vbi52MS5NZXNzYWdlcy8kUGF0aFwiKTtcbn1cbi8qKlxuICogUmVxdWVzdHMgdGhlIG1lc3NhZ2VzIGlmIGFubm90YXRlZCBmb3IgYSBnaXZlbiBjb250ZXh0LlxuICpcbiAqIEBmdW5jdGlvblxuICogQHBhcmFtIHtzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dH0gb0NvbnRleHQgQ29udGV4dCBmb3Igd2hpY2ggdGhlIG1lc3NhZ2VzIHNoYWxsIGJlIHJlcXVlc3RlZFxuICogQHBhcmFtIHtvYmplY3R9IG9TaWRlRWZmZWN0c1NlcnZpY2UgU2VydmljZSBmb3IgdGhlIFNpZGVFZmZlY3RzIG9uIFNBUCBGaW9yaSBlbGVtZW50c1xuICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2Ugd2hpY2ggaXMgcmVzb2x2ZWQgb25jZSBtZXNzYWdlcyB3ZXJlIHJlcXVlc3RlZFxuICogQHByaXZhdGVcbiAqIEB1aTUtcmVzdHJpY3RlZFxuICovXG5mdW5jdGlvbiByZXF1ZXN0TWVzc2FnZXMob0NvbnRleHQ6IGFueSwgb1NpZGVFZmZlY3RzU2VydmljZTogU2lkZUVmZmVjdHNTZXJ2aWNlKSB7XG5cdGNvbnN0IHNNZXNzYWdlc1BhdGggPSBnZXRNZXNzYWdlc1BhdGgob0NvbnRleHQpO1xuXHRpZiAoc01lc3NhZ2VzUGF0aCkge1xuXHRcdHJldHVybiBvU2lkZUVmZmVjdHNTZXJ2aWNlLnJlcXVlc3RTaWRlRWZmZWN0cyhbeyAkUHJvcGVydHlQYXRoOiBzTWVzc2FnZXNQYXRoIH1dIGFzIGFueSwgb0NvbnRleHQpO1xuXHR9XG5cdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbn1cbi8qKlxuICogRXhlY3V0ZXMgZGlzY2FyZCBvZiBhIGRyYWZ0IGZ1bmN0aW9uIHVzaW5nIEhUVFAgUG9zdC5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgZm9yIHdoaWNoIHRoZSBhY3Rpb24gc2hvdWxkIGJlIHBlcmZvcm1lZFxuICogQHJldHVybnMge1Byb21pc2UuPHNhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0Pn0gUmVzb2x2ZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBjb250ZXh0IG9mIHRoZSBvcGVyYXRpb25cbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gZXhlY3V0ZURyYWZ0RGlzY2FyZEFjdGlvbihvQ29udGV4dDogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG5cdGlmICghb0NvbnRleHQuZ2V0UHJvcGVydHkoXCJJc0FjdGl2ZUVudGl0eVwiKSkge1xuXHRcdGNvbnN0IG9EaXNjYXJkT3BlcmF0aW9uID0gY3JlYXRlT3BlcmF0aW9uKG9Db250ZXh0LCBkcmFmdE9wZXJhdGlvbnMuRElTQ0FSRCk7XG5cdFx0Y29uc3QgbG9jYWxJMThuUmVmID0gc2FwLnVpLmdldENvcmUoKS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUuY29yZVwiKSBhcyBSZXNvdXJjZUJ1bmRsZTtcblx0XHRjb25zdCBzR3JvdXBJZCA9IFwiZGlyZWN0XCI7XG5cdFx0Y29uc3Qgc0FjdGlvbk5hbWUgPSBsb2NhbEkxOG5SZWYuZ2V0VGV4dChcIkNfVFJBTlNBQ1RJT05fSEVMUEVSX0RSQUZUX0RJU0NBUkRfQlVUVE9OXCIpO1xuXHRcdGNvbnN0IG9EaXNjYXJkUHJvbWlzZSA9IG9EaXNjYXJkT3BlcmF0aW9uLmV4ZWN1dGUoXG5cdFx0XHRzR3JvdXBJZCxcblx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdENvbW1vblV0aWxzLmZuT25TdHJpY3RIYW5kbGluZ0ZhaWxlZC5iaW5kKGRyYWZ0LCBzR3JvdXBJZCwgc0FjdGlvbk5hbWUsIG9Db250ZXh0LmdldE1vZGVsKCkpXG5cdFx0KTtcblx0XHRvQ29udGV4dC5nZXRNb2RlbCgpLnN1Ym1pdEJhdGNoKHNHcm91cElkKTtcblx0XHRyZXR1cm4gb0Rpc2NhcmRQcm9taXNlO1xuXHR9IGVsc2Uge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlRoZSBkaXNjYXJkIGFjdGlvbiBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gYW4gYWN0aXZlIGRvY3VtZW50XCIpO1xuXHR9XG59XG4vKipcbiAqIENyZWF0ZXMgYSBkcmFmdCBkb2N1bWVudCBmcm9tIGFuIGV4aXN0aW5nIGRvY3VtZW50LlxuICpcbiAqIFRoZSBmdW5jdGlvbiBzdXBwb3J0cyBzZXZlcmFsIGhvb2tzIGFzIHRoZXJlIGlzIGEgY2VydGFpbiBjb3Jlb2dyYXBoeSBkZWZpbmVkLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdCNjcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnRcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgb2YgdGhlIGFjdGl2ZSBkb2N1bWVudCBmb3IgdGhlIG5ldyBkcmFmdFxuICogQHBhcmFtIHtBcHBDb21wb25lbnR9IG9BcHBDb21wb25lbnQgVGhlIEFwcENvbXBvbmVudFxuICogQHBhcmFtIHtvYmplY3R9IG1QYXJhbWV0ZXJzIFRoZSBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFttUGFyYW1ldGVycy5vVmlld10gVGhlIHZpZXdcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW21QYXJhbWV0ZXJzLmJQcmVzZXJ2ZUNoYW5nZXNdIFByZXNlcnZlIGNoYW5nZXMgb2YgYW4gZXhpc3RpbmcgZHJhZnQgb2YgYW5vdGhlciB1c2VyXG4gKiBAcGFyYW0ge3NhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnQuSUNhbGxiYWNrLmJlZm9yZUNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50fSBbbVBhcmFtZXRlcnMuZm5CZWZvcmVDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudF0gQ2FsbGJhY2sgdGhhdCBhbGxvd3MgdmV0byBiZWZvcmUgY3JlYXRlIHJlcXVlc3QgaXMgZXhlY3V0ZWRcbiAqIEBwYXJhbSB7c2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdC5JQ2FsbGJhY2suYWZ0ZXJDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudH0gW21QYXJhbWV0ZXJzLmZuQWZ0ZXJDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudF0gQ2FsbGJhY2sgZm9yIHBvc3Rwcm9jZXNzaW9uZyBhZnRlciBkcmFmdCBkb2N1bWVudCB3YXMgY3JlYXRlZFxuICogQHBhcmFtIHtzYXAuZmUuY29yZS5hY3Rpb25zLmRyYWZ0LklDYWxsYmFjay53aGVuRGVjaXNpb25Ub092ZXJ3cml0ZURvY3VtZW50SXNSZXF1aXJlZH0gW21QYXJhbWV0ZXJzLmZuV2hlbkRlY2lzaW9uVG9PdmVyd3JpdGVEb2N1bWVudElzUmVxdWlyZWRdIENhbGxiYWNrIGZvciBkZWNpZGluZyBvbiBvdmVyd3JpdGluZyBhbiB1bnNhdmVkIGNoYW5nZSBieSBhbm90aGVyIHVzZXJcbiAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIHJlc29sdmVzIHdpdGggdGhlIHtAbGluayBzYXAudWkubW9kZWwub2RhdGEudjQuQ29udGV4dCBjb250ZXh0fSBvZiB0aGUgbmV3IGRyYWZ0IGRvY3VtZW50XG4gKiBAcHJpdmF0ZVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZURyYWZ0RnJvbUFjdGl2ZURvY3VtZW50KFxuXHRvQ29udGV4dDogYW55LFxuXHRvQXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQsXG5cdG1QYXJhbWV0ZXJzOiB7XG5cdFx0b1ZpZXc6IFZpZXc7XG5cdFx0YlByZXNlcnZlQ2hhbmdlcz86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cdFx0Zm5CZWZvcmVDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudD86IGFueTtcblx0XHRmbkFmdGVyQ3JlYXRlRHJhZnRGcm9tQWN0aXZlRG9jdW1lbnQ/OiBhbnk7XG5cdFx0Zm5XaGVuRGVjaXNpb25Ub092ZXJ3cml0ZURvY3VtZW50SXNSZXF1aXJlZD86IGFueTtcblx0fVxuKSB7XG5cdGNvbnN0IG1QYXJhbSA9IG1QYXJhbWV0ZXJzIHx8IHt9LFxuXHRcdGxvY2FsSTE4blJlZiA9IHNhcC51aS5nZXRDb3JlKCkuZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlKFwic2FwLmZlLmNvcmVcIikgYXMgUmVzb3VyY2VCdW5kbGUsXG5cdFx0YlJ1blByZXNlcnZlQ2hhbmdlc0Zsb3cgPVxuXHRcdFx0dHlwZW9mIG1QYXJhbS5iUHJlc2VydmVDaGFuZ2VzID09PSBcInVuZGVmaW5lZFwiIHx8ICh0eXBlb2YgbVBhcmFtLmJQcmVzZXJ2ZUNoYW5nZXMgPT09IFwiYm9vbGVhblwiICYmIG1QYXJhbS5iUHJlc2VydmVDaGFuZ2VzKTsgLy9kZWZhdWx0IHRydWVcblxuXHQvKipcblx0ICogT3ZlcndyaXRlIG9yIHJlamVjdCBiYXNlZCBvbiBmbldoZW5EZWNpc2lvblRvT3ZlcndyaXRlRG9jdW1lbnRJc1JlcXVpcmVkLlxuXHQgKlxuXHQgKiBAcGFyYW0geyp9IGJPdmVyd3JpdGUgT3ZlcndyaXRlIHRoZSBjaGFuZ2Ugb3Igbm90XG5cdCAqIEByZXR1cm5zIHtQcm9taXNlfSBSZXNvbHZlcyB3aXRoIHJlc3VsdCBvZiB7QGxpbmsgc2FwLmZlLmNvcmUuYWN0aW9ucyNleGVjdXRlRHJhZnRFZGl0QWN0aW9ufVxuXHQgKi9cblx0ZnVuY3Rpb24gb3ZlcndyaXRlT25EZW1hbmQoYk92ZXJ3cml0ZTogYW55KSB7XG5cdFx0aWYgKGJPdmVyd3JpdGUpIHtcblx0XHRcdC8vT3ZlcndyaXRlIGV4aXN0aW5nIGNoYW5nZXNcblx0XHRcdGNvbnN0IG9Nb2RlbCA9IG9Db250ZXh0LmdldE1vZGVsKCk7XG5cdFx0XHRjb25zdCBkcmFmdERhdGFDb250ZXh0ID0gb01vZGVsLmJpbmRDb250ZXh0KG9Db250ZXh0LmdldFBhdGgoKSArIFwiL0RyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhXCIpLmdldEJvdW5kQ29udGV4dCgpO1xuXHRcdFx0bGV0IG9SZXNvdXJjZUJ1bmRsZTogUmVzb3VyY2VCdW5kbGU7XG5cblx0XHRcdHJldHVybiAoKG1QYXJhbWV0ZXJzLm9WaWV3LmdldE1vZGVsKFwic2FwLmZlLmkxOG5cIikgYXMgUmVzb3VyY2VNb2RlbCkuZ2V0UmVzb3VyY2VCdW5kbGUoKSBhcyBQcm9taXNlPFJlc291cmNlQnVuZGxlPilcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24oX29SZXNvdXJjZUJ1bmRsZTogYW55KSB7XG5cdFx0XHRcdFx0b1Jlc291cmNlQnVuZGxlID0gX29SZXNvdXJjZUJ1bmRsZTtcblx0XHRcdFx0XHRyZXR1cm4gZHJhZnREYXRhQ29udGV4dC5yZXF1ZXN0T2JqZWN0KCk7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKGZ1bmN0aW9uKGRyYWZ0QWRtaW5EYXRhOiBhbnkpIHtcblx0XHRcdFx0XHRpZiAoZHJhZnRBZG1pbkRhdGEpIHtcblx0XHRcdFx0XHRcdC8vIHJlbW92ZSBhbGwgdW5ib3VuZCB0cmFuc2l0aW9uIG1lc3NhZ2VzIGFzIHdlIHNob3cgYSBzcGVjaWFsIGRpYWxvZ1xuXHRcdFx0XHRcdFx0bWVzc2FnZUhhbmRsaW5nLnJlbW92ZVVuYm91bmRUcmFuc2l0aW9uTWVzc2FnZXMoKTtcblx0XHRcdFx0XHRcdGxldCBzSW5mbyA9IGRyYWZ0QWRtaW5EYXRhLkluUHJvY2Vzc0J5VXNlckRlc2NyaXB0aW9uIHx8IGRyYWZ0QWRtaW5EYXRhLkluUHJvY2Vzc0J5VXNlcjtcblx0XHRcdFx0XHRcdGNvbnN0IHNFbnRpdHlTZXQgPSAobVBhcmFtZXRlcnMub1ZpZXcuZ2V0Vmlld0RhdGEoKSBhcyBhbnkpLmVudGl0eVNldDtcblx0XHRcdFx0XHRcdGlmIChzSW5mbykge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBzTG9ja2VkQnlVc2VyTXNnID0gQ29tbW9uVXRpbHMuZ2V0VHJhbnNsYXRlZFRleHQoXG5cdFx0XHRcdFx0XHRcdFx0XCJDX0RSQUZUX09CSkVDVF9QQUdFX0RSQUZUX0xPQ0tFRF9CWV9VU0VSXCIsXG5cdFx0XHRcdFx0XHRcdFx0b1Jlc291cmNlQnVuZGxlLFxuXHRcdFx0XHRcdFx0XHRcdHNJbmZvLFxuXHRcdFx0XHRcdFx0XHRcdHNFbnRpdHlTZXRcblx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0TWVzc2FnZUJveC5lcnJvcihzTG9ja2VkQnlVc2VyTXNnKTtcblx0XHRcdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKHNMb2NrZWRCeVVzZXJNc2cpO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0c0luZm8gPSBkcmFmdEFkbWluRGF0YS5DcmVhdGVkQnlVc2VyRGVzY3JpcHRpb24gfHwgZHJhZnRBZG1pbkRhdGEuQ3JlYXRlZEJ5VXNlcjtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc1Vuc2F2ZWRDaGFuZ2VzTXNnID0gQ29tbW9uVXRpbHMuZ2V0VHJhbnNsYXRlZFRleHQoXG5cdFx0XHRcdFx0XHRcdFx0XCJDX0RSQUZUX09CSkVDVF9QQUdFX0RSQUZUX1VOU0FWRURfQ0hBTkdFU1wiLFxuXHRcdFx0XHRcdFx0XHRcdG9SZXNvdXJjZUJ1bmRsZSxcblx0XHRcdFx0XHRcdFx0XHRzSW5mbyxcblx0XHRcdFx0XHRcdFx0XHRzRW50aXR5U2V0XG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBzaG93TWVzc2FnZUJveChzVW5zYXZlZENoYW5nZXNNc2cpLnRoZW4oZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGV4ZWN1dGVEcmFmdEVkaXRBY3Rpb24ob0NvbnRleHQsIGZhbHNlKTtcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHR9XG5cdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcIkRyYWZ0IGNyZWF0aW9uIGFib3J0ZWQgZm9yIGRvY3VtZW50OiBcIiArIG9Db250ZXh0LmdldFBhdGgoKSkpO1xuXHR9XG5cblx0ZnVuY3Rpb24gc2hvd01lc3NhZ2VCb3goc1Vuc2F2ZWRDaGFuZ2VzTXNnOiBhbnkpIHtcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQsIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZCkge1xuXHRcdFx0Y29uc3Qgb0RpYWxvZyA9IG5ldyBEaWFsb2coe1xuXHRcdFx0XHR0aXRsZTogbG9jYWxJMThuUmVmLmdldFRleHQoXCJDX0RSQUZUX09CSkVDVF9QQUdFX1dBUk5JTkdcIiksXG5cdFx0XHRcdHN0YXRlOiBcIldhcm5pbmdcIixcblx0XHRcdFx0Y29udGVudDogbmV3IFRleHQoe1xuXHRcdFx0XHRcdHRleHQ6IHNVbnNhdmVkQ2hhbmdlc01zZ1xuXHRcdFx0XHR9KSxcblx0XHRcdFx0YmVnaW5CdXR0b246IG5ldyBCdXR0b24oe1xuXHRcdFx0XHRcdHRleHQ6IGxvY2FsSTE4blJlZi5nZXRUZXh0KFwiQ19DT01NT05fT0JKRUNUX1BBR0VfRURJVFwiKSxcblx0XHRcdFx0XHR0eXBlOiBcIkVtcGhhc2l6ZWRcIixcblx0XHRcdFx0XHRwcmVzczogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHRvRGlhbG9nLmNsb3NlKCk7XG5cdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSksXG5cdFx0XHRcdGVuZEJ1dHRvbjogbmV3IEJ1dHRvbih7XG5cdFx0XHRcdFx0dGV4dDogbG9jYWxJMThuUmVmLmdldFRleHQoXCJDX0NPTU1PTl9PQkpFQ1RfUEFHRV9DQU5DRUxcIiksXG5cdFx0XHRcdFx0cHJlc3M6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0b0RpYWxvZy5jbG9zZSgpO1xuXHRcdFx0XHRcdFx0cmVqZWN0KFwiRHJhZnQgY3JlYXRpb24gYWJvcnRlZCBmb3IgZG9jdW1lbnQ6IFwiICsgb0NvbnRleHQuZ2V0UGF0aCgpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRhZnRlckNsb3NlOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRvRGlhbG9nLmRlc3Ryb3koKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHRvRGlhbG9nLmFkZFN0eWxlQ2xhc3MoXCJzYXBVaUNvbnRlbnRQYWRkaW5nXCIpO1xuXHRcdFx0b0RpYWxvZy5vcGVuKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRpZiAoIW9Db250ZXh0KSB7XG5cdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcIkJpbmRpbmcgY29udGV4dCB0byBhY3RpdmUgZG9jdW1lbnQgaXMgcmVxdWlyZWRcIikpO1xuXHR9XG5cblx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShcblx0XHRtUGFyYW0uZm5CZWZvcmVDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudFxuXHRcdFx0PyBtUGFyYW0uZm5CZWZvcmVDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudChvQ29udGV4dCwgYlJ1blByZXNlcnZlQ2hhbmdlc0Zsb3cpXG5cdFx0XHQ6IHRydWVcblx0KVxuXHRcdC50aGVuKGZ1bmN0aW9uKGJFeGVjdXRlOiBhbnkpIHtcblx0XHRcdGlmICghYkV4ZWN1dGUpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiRHJhZnQgY3JlYXRpb24gd2FzIGFib3J0ZWQgYnkgZXh0ZW5zaW9uIGZvciBkb2N1bWVudDogXCIgKyBvQ29udGV4dC5nZXRQYXRoKCkpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGV4ZWN1dGVEcmFmdEVkaXRBY3Rpb24ob0NvbnRleHQsIGJSdW5QcmVzZXJ2ZUNoYW5nZXNGbG93KS5jYXRjaChmdW5jdGlvbihvUmVzcG9uc2U6IGFueSkge1xuXHRcdFx0XHQvL09ubHkgY2FsbCBiYWNrIGlmIGVycm9yIDQwOVxuXHRcdFx0XHRpZiAoYlJ1blByZXNlcnZlQ2hhbmdlc0Zsb3cgJiYgb1Jlc3BvbnNlLnN0YXR1cyA9PT0gNDA5KSB7XG5cdFx0XHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShcblx0XHRcdFx0XHRcdG1QYXJhbS5mbldoZW5EZWNpc2lvblRvT3ZlcndyaXRlRG9jdW1lbnRJc1JlcXVpcmVkID8gbVBhcmFtLmZuV2hlbkRlY2lzaW9uVG9PdmVyd3JpdGVEb2N1bWVudElzUmVxdWlyZWQoKSA6IHRydWVcblx0XHRcdFx0XHQpLnRoZW4ob3ZlcndyaXRlT25EZW1hbmQpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRocm93IG5ldyBFcnJvcihvUmVzcG9uc2UpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9KVxuXHRcdC50aGVuKGZ1bmN0aW9uKG9EcmFmdENvbnRleHQ6IGFueSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShcblx0XHRcdFx0bVBhcmFtLmZuQWZ0ZXJDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudFxuXHRcdFx0XHRcdD8gbVBhcmFtLmZuQWZ0ZXJDcmVhdGVEcmFmdEZyb21BY3RpdmVEb2N1bWVudChvQ29udGV4dCwgb0RyYWZ0Q29udGV4dClcblx0XHRcdFx0XHQ6IG9EcmFmdENvbnRleHRcblx0XHRcdCk7XG5cdFx0fSlcblx0XHQudGhlbihmdW5jdGlvbihvRHJhZnRDb250ZXh0OiBhbnkpIHtcblx0XHRcdGNvbnN0IHNFZGl0QWN0aW9uTmFtZSA9IGdldEFjdGlvbk5hbWUob0RyYWZ0Q29udGV4dCwgZHJhZnRPcGVyYXRpb25zLkVESVQpO1xuXHRcdFx0Y29uc3Qgb1NpZGVFZmZlY3RzID0gb0FwcENvbXBvbmVudC5nZXRTaWRlRWZmZWN0c1NlcnZpY2UoKS5nZXRPRGF0YUFjdGlvblNpZGVFZmZlY3RzKHNFZGl0QWN0aW9uTmFtZSwgb0RyYWZ0Q29udGV4dCk7XG5cdFx0XHRpZiAob1NpZGVFZmZlY3RzPy50cmlnZ2VyQWN0aW9ucz8ubGVuZ3RoKSB7XG5cdFx0XHRcdHJldHVybiBvQXBwQ29tcG9uZW50XG5cdFx0XHRcdFx0LmdldFNpZGVFZmZlY3RzU2VydmljZSgpXG5cdFx0XHRcdFx0LnJlcXVlc3RTaWRlRWZmZWN0c0Zvck9EYXRhQWN0aW9uKG9TaWRlRWZmZWN0cywgb0RyYWZ0Q29udGV4dClcblx0XHRcdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gb0RyYWZ0Q29udGV4dDtcblx0XHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBvRHJhZnRDb250ZXh0O1xuXHRcdFx0fVxuXHRcdH0pXG5cdFx0LmNhdGNoKGZ1bmN0aW9uKGV4YzogYW55KSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZWplY3QoZXhjKTtcblx0XHR9KTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBhY3RpdmUgZG9jdW1lbnQgZnJvbSBhIGRyYWZ0IGRvY3VtZW50LlxuICpcbiAqIFRoZSBmdW5jdGlvbiBzdXBwb3J0cyBzZXZlcmFsIGhvb2tzIGFzIHRoZXJlIGlzIGEgY2VydGFpbiBjaG9yZW9ncmFwaHkgZGVmaW5lZC5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBuYW1lIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnQjYWN0aXZhdGVEb2N1bWVudFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnRcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgb2YgdGhlIGFjdGl2ZSBkb2N1bWVudCBmb3IgdGhlIG5ldyBkcmFmdFxuICogQHBhcmFtIHtvYmplY3R9IG9BcHBDb21wb25lbnQgVGhlIEFwcENvbXBvbmVudFxuICogQHBhcmFtIHtvYmplY3R9IG1QYXJhbWV0ZXJzIFRoZSBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0ge3NhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnQuSUNhbGxiYWNrLmZuQmVmb3JlQWN0aXZhdGVEb2N1bWVudH0gW21QYXJhbWV0ZXJzLmZuQmVmb3JlQWN0aXZhdGVEb2N1bWVudF0gQ2FsbGJhY2sgdGhhdCBhbGxvd3MgdmV0byBiZWZvcmUgY3JlYXRlIHJlcXVlc3QgaXMgZXhlY3V0ZWRcbiAqIEBwYXJhbSB7c2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdC5JQ2FsbGJhY2suZm5BZnRlckFjdGl2YXRlRG9jdW1lbnR9IFttUGFyYW1ldGVycy5mbkFmdGVyQWN0aXZhdGVEb2N1bWVudF0gQ2FsbGJhY2sgZm9yIHBvc3Rwcm9jZXNzaW9uZyBhZnRlciBkb2N1bWVudCB3YXMgYWN0aXZhdGVkLlxuICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgcmVzb2x2ZXMgd2l0aCB0aGUge0BsaW5rIHNhcC51aS5tb2RlbC5vZGF0YS52NC5Db250ZXh0IGNvbnRleHR9IG9mIHRoZSBuZXcgZHJhZnQgZG9jdW1lbnRcbiAqIEBwcml2YXRlXG4gKiBAdWk1LXJlc3RyaWN0ZWRcbiAqL1xuZnVuY3Rpb24gYWN0aXZhdGVEb2N1bWVudChcblx0b0NvbnRleHQ6IGFueSxcblx0b0FwcENvbXBvbmVudDogQXBwQ29tcG9uZW50LFxuXHRtUGFyYW1ldGVyczogeyBmbkJlZm9yZUFjdGl2YXRlRG9jdW1lbnQ/OiBhbnk7IGZuQWZ0ZXJBY3RpdmF0ZURvY3VtZW50PzogYW55IH1cbikge1xuXHRjb25zdCBtUGFyYW0gPSBtUGFyYW1ldGVycyB8fCB7fTtcblxuXHRpZiAoIW9Db250ZXh0KSB7XG5cdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcIkJpbmRpbmcgY29udGV4dCB0byBkcmFmdCBkb2N1bWVudCBpcyByZXF1aXJlZFwiKSk7XG5cdH1cblx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShtUGFyYW0uZm5CZWZvcmVBY3RpdmF0ZURvY3VtZW50ID8gbVBhcmFtLmZuQmVmb3JlQWN0aXZhdGVEb2N1bWVudChvQ29udGV4dCkgOiB0cnVlKVxuXHRcdC50aGVuKGZ1bmN0aW9uKGJFeGVjdXRlOiBhbnkpIHtcblx0XHRcdGlmICghYkV4ZWN1dGUpIHtcblx0XHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcIkFjdGl2YXRpb24gb2YgdGhlIGRvY3VtZW50IHdhcyBhYm9ydGVkIGJ5IGV4dGVuc2lvbiBmb3IgZG9jdW1lbnQ6IFwiICsgb0NvbnRleHQuZ2V0UGF0aCgpKSk7XG5cdFx0XHR9XG5cblx0XHRcdGlmICghaGFzUHJlcGFyZUFjdGlvbihvQ29udGV4dCkpIHtcblx0XHRcdFx0cmV0dXJuIGV4ZWN1dGVEcmFmdEFjdGl2YXRpb25BY3Rpb24ob0NvbnRleHQsIG9BcHBDb21wb25lbnQpO1xuXHRcdFx0fVxuXG5cdFx0XHQvKiBhY3RpdmF0aW9uIHJlcXVpcmVzIHByZXBhcmF0aW9uICovXG5cdFx0XHRjb25zdCBzQmF0Y2hHcm91cCA9IFwiZHJhZnRcIjtcblx0XHRcdC8vIHdlIHVzZSB0aGUgc2FtZSBiYXRjaEdyb3VwIHRvIGZvcmNlIHByZXBhcmUgYW5kIGFjdGl2YXRlIGluIGEgc2FtZSBiYXRjaCBidXQgd2l0aCBkaWZmZXJlbnQgY2hhbmdlc2V0XG5cdFx0XHRjb25zdCBvUHJlcGFyZVByb21pc2UgPSBleGVjdXRlRHJhZnRQcmVwYXJhdGlvbkFjdGlvbihvQ29udGV4dCwgc0JhdGNoR3JvdXApO1xuXHRcdFx0b0NvbnRleHQuZ2V0TW9kZWwoKS5zdWJtaXRCYXRjaChzQmF0Y2hHcm91cCk7XG5cblx0XHRcdGNvbnN0IG9BY3RpdmF0ZVByb21pc2UgPSBleGVjdXRlRHJhZnRBY3RpdmF0aW9uQWN0aW9uKG9Db250ZXh0LCBvQXBwQ29tcG9uZW50LCBzQmF0Y2hHcm91cCk7XG5cblx0XHRcdHJldHVybiBQcm9taXNlLmFsbChbb1ByZXBhcmVQcm9taXNlLCBvQWN0aXZhdGVQcm9taXNlXSlcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24odmFsdWVzOiBbYW55LCBhbnldKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHZhbHVlc1sxXTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uKGV4YzogYW55KSB7XG5cdFx0XHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KGV4Yyk7XG5cdFx0XHRcdH0pO1xuXHRcdH0pXG5cdFx0LnRoZW4oZnVuY3Rpb24ob0FjdGl2ZURvY3VtZW50Q29udGV4dDogYW55KSB7XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFxuXHRcdFx0XHRtUGFyYW0uZm5BZnRlckFjdGl2YXRlRG9jdW1lbnQgPyBtUGFyYW0uZm5BZnRlckFjdGl2YXRlRG9jdW1lbnQob0NvbnRleHQsIG9BY3RpdmVEb2N1bWVudENvbnRleHQpIDogb0FjdGl2ZURvY3VtZW50Q29udGV4dFxuXHRcdFx0KTtcblx0XHR9KVxuXHRcdC5jYXRjaChmdW5jdGlvbihleGM6IGFueSkge1xuXHRcdFx0cmV0dXJuIFByb21pc2UucmVqZWN0KGV4Yyk7XG5cdFx0fSk7XG59XG4vKipcbiAqIEhUVFAgUE9TVCBjYWxsIHdoZW4gRHJhZnRBY3Rpb24gaXMgcHJlc2VudCBmb3IgRHJhZnQgRGVsZXRlOyBIVFRQIERFTEVURSBmb3IgRHJhZnQod2hlbiBubyBEcmFmdEFjdGlvbilcbiAqIGFuZCBBY3RpdmUgSW5zdGFuY2UgdXNlcyBERUxFVEUgYWx3YXlzLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgc2FwLmZlLmNvcmUuYWN0aW9ucy5kcmFmdCNkZWxldGVEcmFmdFxuICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLmFjdGlvbnMuZHJhZnRcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSB7c2FwLnVpLm1vZGVsLm9kYXRhLnY0LkNvbnRleHR9IG9Db250ZXh0IENvbnRleHQgb2YgdGhlIGRvY3VtZW50IHRvIGJlIGRpc2NhcmRlZFxuICogQHByaXZhdGVcbiAqIEByZXR1cm5zIHtQcm9taXNlfVxuICogQHVpNS1yZXN0cmljdGVkXG4gKi9cbmZ1bmN0aW9uIGRlbGV0ZURyYWZ0KG9Db250ZXh0OiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcblx0Y29uc3Qgc0Rpc2NhcmRBY3Rpb24gPSBnZXRBY3Rpb25OYW1lKG9Db250ZXh0LCBkcmFmdE9wZXJhdGlvbnMuRElTQ0FSRCksXG5cdFx0YklzQWN0aXZlRW50aXR5ID0gb0NvbnRleHQuZ2V0T2JqZWN0KCkuSXNBY3RpdmVFbnRpdHk7XG5cblx0aWYgKGJJc0FjdGl2ZUVudGl0eSB8fCAoIWJJc0FjdGl2ZUVudGl0eSAmJiAhc0Rpc2NhcmRBY3Rpb24pKSB7XG5cdFx0Ly9Vc2UgRGVsZXRlIGluIGNhc2Ugb2YgYWN0aXZlIGVudGl0eSBhbmQgbm8gZGlzY2FyZCBhY3Rpb24gYXZhaWxhYmxlIGZvciBkcmFmdFxuXHRcdGlmIChvQ29udGV4dC5oYXNQZW5kaW5nQ2hhbmdlcygpKSB7XG5cdFx0XHRyZXR1cm4gb0NvbnRleHRcblx0XHRcdFx0LmdldEJpbmRpbmcoKVxuXHRcdFx0XHQucmVzZXRDaGFuZ2VzKClcblx0XHRcdFx0LnRoZW4oZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG9Db250ZXh0LmRlbGV0ZSgpO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuY2F0Y2goZnVuY3Rpb24oZXJyb3I6IGFueSkge1xuXHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG5cdFx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gb0NvbnRleHQuZGVsZXRlKCk7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdC8vVXNlIERpc2NhcmQgUG9zdCBBY3Rpb24gaWYgaXQgaXMgYSBkcmFmdCBlbnRpdHkgYW5kIGRpc2NhcmQgYWN0aW9uIGV4aXN0c1xuXHRcdHJldHVybiBleGVjdXRlRHJhZnREaXNjYXJkQWN0aW9uKG9Db250ZXh0KTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBkcmFmdDtcbiJdfQ==
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/m/Dialog","sap/m/Button","sap/m/Text","sap/m/MessageBox","sap/fe/core/actions/messageHandling","sap/fe/core/CommonUtils","sap/base/Log"],function(D,B,T,M,m,C,L){"use strict";var d={EDIT:"EditAction",ACTIVATION:"ActivationAction",DISCARD:"DiscardAction",PREPARE:"PreparationAction"};var a={createDraftFromActiveDocument:k,activateDocument:l,deleteDraft:n};function g(o,O){var p=o.getModel(),q=p.getMetaModel(),E=q.getMetaPath(o.getPath());return q.getObject(E+"@com.sap.vocabularies.Common.v1.DraftRoot/"+O);}function c(o,O,p){var s=g(o,O);return o.getModel().bindContext(s+"(...)",o,p);}function h(o){return!!g(o,d.PREPARE);}function e(o,p){if(o.getProperty("IsActiveEntity")){var O={$$inheritExpandSelect:true};var q=c(o,d.EDIT,O);q.setParameter("PreserveChanges",p);var G="direct";var E=q.execute(G).then(function(
|
|
5
|
+
sap.ui.define(["sap/m/Dialog","sap/m/Button","sap/m/Text","sap/m/MessageBox","sap/fe/core/actions/messageHandling","sap/fe/core/CommonUtils","sap/base/Log"],function(D,B,T,M,m,C,L){"use strict";var d={EDIT:"EditAction",ACTIVATION:"ActivationAction",DISCARD:"DiscardAction",PREPARE:"PreparationAction"};var a={createDraftFromActiveDocument:k,activateDocument:l,deleteDraft:n};function g(o,O){var p=o.getModel(),q=p.getMetaModel(),E=q.getMetaPath(o.getPath());return q.getObject(E+"@com.sap.vocabularies.Common.v1.DraftRoot/"+O);}function c(o,O,p){var s=g(o,O);return o.getModel().bindContext(s+"(...)",o,p);}function h(o){return!!g(o,d.PREPARE);}function e(o,p){if(o.getProperty("IsActiveEntity")){var O={$$inheritExpandSelect:true};var q=c(o,d.EDIT,O);q.setParameter("PreserveChanges",p);var G="direct";var s=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");var A=s.getText("C_COMMON_OBJECT_PAGE_EDIT");var E=q.execute(G,undefined,C.fnOnStrictHandlingFailed.bind(a,G,A,o.getModel())).then(function(t){return t;});q.getModel().submitBatch(G);return E;}else{throw new Error("You cannot edit this draft document");}}function b(o,A,G){var H=h(o);var I=H;if(!o.getProperty("IsActiveEntity")){var O=c(o,d.ACTIVATION,{$$inheritExpandSelect:true});var p=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");var s=p.getText("C_OP_OBJECT_PAGE_SAVE");return O.execute(G,I,G?C.fnOnStrictHandlingFailed.bind(a,G,s,o.getModel()):undefined).then(function(q){return q;}).catch(function(){if(H){var _=g(o,d.PREPARE),S=A.getSideEffectsService(),q=S.getODataActionSideEffects(_,o),t=q&&q.pathExpressions;if(t&&t.length>0){S.requestSideEffects(t,o).catch(function(E){L.error("Error while requesting side effects",E);});}else{r(o,S).catch(function(E){L.error("Error while requesting messages",E);});}}return Promise.reject();});}else{throw new Error("The activation action cannot be executed on an active document");}}function f(o,p){if(!o.getProperty("IsActiveEntity")){var O=c(o,d.PREPARE);O.setParameter("SideEffectsQualifier","");var G=p||O.getGroupId();return O.execute(G).then(function(){return O;}).catch(function(E){L.error("Error while executing the operation",E);});}else{throw new Error("The preparation action cannot be executed on an active document");}}function i(o){var p=o.getModel(),q=p.getMetaModel(),E=q.getMetaPath(o.getPath());return q.getObject(E+"/@com.sap.vocabularies.Common.v1.Messages/$Path");}function r(o,s){var p=i(o);if(p){return s.requestSideEffects([{$PropertyPath:p}],o);}return Promise.resolve();}function j(o){if(!o.getProperty("IsActiveEntity")){var p=c(o,d.DISCARD);var q=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core");var G="direct";var A=q.getText("C_TRANSACTION_HELPER_DRAFT_DISCARD_BUTTON");var s=p.execute(G,undefined,C.fnOnStrictHandlingFailed.bind(a,G,A,o.getModel()));o.getModel().submitBatch(G);return s;}else{throw new Error("The discard action cannot be executed on an active document");}}function k(o,A,p){var P=p||{},q=sap.ui.getCore().getLibraryResourceBundle("sap.fe.core"),R=typeof P.bPreserveChanges==="undefined"||typeof P.bPreserveChanges==="boolean"&&P.bPreserveChanges;function s(O){if(O){var u=o.getModel();var v=u.bindContext(o.getPath()+"/DraftAdministrativeData").getBoundContext();var w;return p.oView.getModel("sap.fe.i18n").getResourceBundle().then(function(_){w=_;return v.requestObject();}).then(function(x){if(x){m.removeUnboundTransitionMessages();var I=x.InProcessByUserDescription||x.InProcessByUser;var E=p.oView.getViewData().entitySet;if(I){var y=C.getTranslatedText("C_DRAFT_OBJECT_PAGE_DRAFT_LOCKED_BY_USER",w,I,E);M.error(y);throw new Error(y);}else{I=x.CreatedByUserDescription||x.CreatedByUser;var U=C.getTranslatedText("C_DRAFT_OBJECT_PAGE_DRAFT_UNSAVED_CHANGES",w,I,E);return t(U).then(function(){return e(o,false);});}}});}return Promise.reject(new Error("Draft creation aborted for document: "+o.getPath()));}function t(u){return new Promise(function(v,w){var x=new D({title:q.getText("C_DRAFT_OBJECT_PAGE_WARNING"),state:"Warning",content:new T({text:u}),beginButton:new B({text:q.getText("C_COMMON_OBJECT_PAGE_EDIT"),type:"Emphasized",press:function(){x.close();v(true);}}),endButton:new B({text:q.getText("C_COMMON_OBJECT_PAGE_CANCEL"),press:function(){x.close();w("Draft creation aborted for document: "+o.getPath());}}),afterClose:function(){x.destroy();}});x.addStyleClass("sapUiContentPadding");x.open();});}if(!o){return Promise.reject(new Error("Binding context to active document is required"));}return Promise.resolve(P.fnBeforeCreateDraftFromActiveDocument?P.fnBeforeCreateDraftFromActiveDocument(o,R):true).then(function(E){if(!E){throw new Error("Draft creation was aborted by extension for document: "+o.getPath());}return e(o,R).catch(function(u){if(R&&u.status===409){return Promise.resolve(P.fnWhenDecisionToOverwriteDocumentIsRequired?P.fnWhenDecisionToOverwriteDocumentIsRequired():true).then(s);}else{throw new Error(u);}});}).then(function(u){return Promise.resolve(P.fnAfterCreateDraftFromActiveDocument?P.fnAfterCreateDraftFromActiveDocument(o,u):u);}).then(function(u){var _;var E=g(u,d.EDIT);var S=A.getSideEffectsService().getODataActionSideEffects(E,u);if(S!==null&&S!==void 0&&(_=S.triggerActions)!==null&&_!==void 0&&_.length){return A.getSideEffectsService().requestSideEffectsForODataAction(S,u).then(function(){return u;});}else{return u;}}).catch(function(u){return Promise.reject(u);});}function l(o,A,p){var P=p||{};if(!o){return Promise.reject(new Error("Binding context to draft document is required"));}return Promise.resolve(P.fnBeforeActivateDocument?P.fnBeforeActivateDocument(o):true).then(function(E){if(!E){return Promise.reject(new Error("Activation of the document was aborted by extension for document: "+o.getPath()));}if(!h(o)){return b(o,A);}var s="draft";var q=f(o,s);o.getModel().submitBatch(s);var t=b(o,A,s);return Promise.all([q,t]).then(function(v){return v[1];}).catch(function(u){return Promise.reject(u);});}).then(function(q){return Promise.resolve(P.fnAfterActivateDocument?P.fnAfterActivateDocument(o,q):q);}).catch(function(q){return Promise.reject(q);});}function n(o){var s=g(o,d.DISCARD),I=o.getObject().IsActiveEntity;if(I||!I&&!s){if(o.hasPendingChanges()){return o.getBinding().resetChanges().then(function(){return o.delete();}).catch(function(p){return Promise.reject(p);});}else{return o.delete();}}else{return j(o);}}return a;},false);
|