@sapui5/sap.fe.core 1.131.0 → 1.133.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/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime.js +17 -23
- package/src/sap/fe/core/AppComponent.js +74 -36
- package/src/sap/fe/core/AppComponent.ts +70 -3
- package/src/sap/fe/core/AppStateHandler.js +44 -13
- package/src/sap/fe/core/AppStateHandler.ts +38 -0
- package/src/sap/fe/core/BaseController.js +3 -3
- package/src/sap/fe/core/CommonUtils.js +30 -37
- package/src/sap/fe/core/CommonUtils.ts +15 -13
- package/src/sap/fe/core/ExtensionAPI.js +29 -34
- package/src/sap/fe/core/ExtensionAPI.ts +3 -0
- package/src/sap/fe/core/InsightsFormattersExtension.js +2 -2
- package/src/sap/fe/core/PageController.js +40 -31
- package/src/sap/fe/core/PageController.ts +14 -1
- package/src/sap/fe/core/ResourceModel.js +4 -4
- package/src/sap/fe/core/ReuseComponent.js +27 -13
- package/src/sap/fe/core/ReuseComponent.ts +18 -0
- package/src/sap/fe/core/TemplateComponent.js +102 -89
- package/src/sap/fe/core/TemplateComponent.ts +20 -1
- package/src/sap/fe/core/TemplateModel.js +6 -7
- package/src/sap/fe/core/UIProvider.js +1 -1
- package/src/sap/fe/core/UIProvider.ts +2 -9
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +63 -48
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +56 -27
- package/src/sap/fe/core/buildingBlocks/IBuildingBlockOwnerComponent.js +9 -0
- package/src/sap/fe/core/buildingBlocks/IBuildingBlockOwnerComponent.ts +48 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +4 -6
- package/src/sap/fe/core/buildingBlocks/templating/AttributeModel.js +2 -2
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +2 -3
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +32 -18
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +30 -3
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +9 -13
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.ts +2 -1
- package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlock.js +2 -2
- package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.js +19 -25
- package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.ts +1 -1
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +3 -4
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +20 -24
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +10 -15
- package/src/sap/fe/core/controllerextensions/ContextSharing.js +3 -3
- package/src/sap/fe/core/controllerextensions/EditFlow.js +296 -246
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +253 -175
- package/src/sap/fe/core/controllerextensions/Feedback.js +10 -11
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +6 -6
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +1 -0
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +27 -36
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +57 -78
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +42 -50
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +12 -19
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +23 -17
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +21 -7
- package/src/sap/fe/core/controllerextensions/PageReady.js +15 -21
- package/src/sap/fe/core/controllerextensions/Paginator.js +3 -3
- package/src/sap/fe/core/controllerextensions/Placeholder.js +3 -3
- package/src/sap/fe/core/controllerextensions/Recommendations.js +23 -36
- package/src/sap/fe/core/controllerextensions/Recommendations.ts +1 -1
- package/src/sap/fe/core/controllerextensions/Routing.js +3 -3
- package/src/sap/fe/core/controllerextensions/Share.js +19 -28
- package/src/sap/fe/core/controllerextensions/SideEffects.js +68 -32
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +58 -6
- package/src/sap/fe/core/controllerextensions/Telemetry.js +4 -5
- package/src/sap/fe/core/controllerextensions/ViewState.js +23 -24
- package/src/sap/fe/core/controllerextensions/ViewState.ts +6 -1
- package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js +13 -10
- package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.ts +13 -8
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +5 -5
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +15 -16
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +3 -4
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.js +288 -0
- package/src/sap/fe/core/controllerextensions/dialog/{OperationsDialog.block.tsx → OperationsDialog.tsx} +27 -29
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +41 -5
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +61 -8
- package/src/sap/fe/core/controllerextensions/editFlow/ODataOperation.js +404 -0
- package/src/sap/fe/core/controllerextensions/editFlow/ODataOperation.ts +502 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +35 -43
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +34 -14
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +37 -27
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +27 -15
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +51 -39
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +75 -34
- package/src/sap/fe/core/controllerextensions/editFlow/editFlowConstants.js +4 -4
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +88 -427
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +82 -620
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +9 -5
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +6 -5
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +116 -79
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +87 -13
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js +4 -6
- package/src/sap/fe/core/controllerextensions/recommendations/Telemetry.js +5 -7
- package/src/sap/fe/core/controllerextensions/routing/ContextPathHelper.js +6 -7
- package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js +4 -4
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +58 -20
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +55 -4
- package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.js +1 -1
- package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.ts +1 -1
- package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributorMixin.js +9 -12
- package/src/sap/fe/core/controls/CommandExecution.js +2 -2
- package/src/sap/fe/core/controls/ComponentLoader.js +20 -21
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.js +250 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/{DraftDataLossDialog.block.tsx → DraftDataLossDialog.tsx} +31 -19
- package/src/sap/fe/core/controls/FormElementWrapper.js +19 -21
- package/src/sap/fe/core/controls/HideFormGroupAutomatically.js +114 -0
- package/src/sap/fe/core/controls/HideFormGroupAutomatically.ts +115 -0
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.js +454 -0
- package/src/sap/fe/core/controls/Recommendations/{ConfirmRecommendationDialog.block.tsx → ConfirmRecommendationDialog.tsx} +5 -9
- package/src/sap/fe/core/converters/ConverterContext.js +17 -18
- package/src/sap/fe/core/converters/ConverterContext.ts +10 -15
- package/src/sap/fe/core/converters/ManifestSettings.js +29 -28
- package/src/sap/fe/core/converters/ManifestSettings.ts +22 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js +26 -48
- package/src/sap/fe/core/converters/MetaModelConverter.js +21 -28
- package/src/sap/fe/core/converters/MetaModelConverter.ts +2 -0
- package/src/sap/fe/core/converters/TemplateConverter.js +17 -21
- package/src/sap/fe/core/converters/TemplateConverter.ts +5 -3
- package/src/sap/fe/core/converters/annotations/DataField.js +69 -66
- package/src/sap/fe/core/converters/annotations/DataField.ts +30 -0
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +20 -23
- package/src/sap/fe/core/converters/controls/Common/Action.js +178 -43
- package/src/sap/fe/core/converters/controls/Common/Action.ts +202 -19
- package/src/sap/fe/core/converters/controls/Common/Chart.js +47 -22
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +50 -5
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +16 -23
- package/src/sap/fe/core/converters/controls/Common/Form.js +25 -38
- package/src/sap/fe/core/converters/controls/Common/Form.ts +3 -0
- package/src/sap/fe/core/converters/controls/Common/KPI.js +32 -47
- package/src/sap/fe/core/converters/controls/Common/Table.js +464 -506
- package/src/sap/fe/core/converters/controls/Common/Table.ts +335 -219
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +17 -28
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +1 -2
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +66 -90
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +10 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +49 -73
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +6 -10
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +35 -50
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +110 -60
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +137 -41
- package/src/sap/fe/core/converters/helpers/Aggregation.js +19 -30
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +5 -5
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +11 -14
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +14 -21
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +4 -6
- package/src/sap/fe/core/converters/helpers/IssueManager.js +7 -7
- package/src/sap/fe/core/converters/helpers/Key.js +1 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +2 -3
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +18 -52
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.ts +0 -34
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +103 -74
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +111 -39
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +28 -31
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +17 -9
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +61 -52
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +60 -21
- package/src/sap/fe/core/definition/FEDefinition.js +104 -44
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +37 -7
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +42 -2
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +4 -5
- package/src/sap/fe/core/formatters/FiscalFormat.js +24 -24
- package/src/sap/fe/core/formatters/ValueFormatter.js +4 -23
- package/src/sap/fe/core/formatters/ValueFormatter.ts +0 -18
- package/src/sap/fe/core/fpm/Component.js +12 -14
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js +20 -15
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +22 -13
- package/src/sap/fe/core/helpers/BindingHelper.js +3 -3
- package/src/sap/fe/core/helpers/BindingHelper.ts +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.js +55 -62
- package/src/sap/fe/core/helpers/DeleteHelper.ts +48 -51
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +4 -7
- package/src/sap/fe/core/helpers/FPMHelper.js +4 -7
- package/src/sap/fe/core/helpers/HTTP503Handler.js +2 -1
- package/src/sap/fe/core/helpers/HTTP503Handler.ts +4 -3
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +5 -5
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +6 -6
- package/src/sap/fe/core/helpers/LoaderUtils.js +8 -3
- package/src/sap/fe/core/helpers/LoaderUtils.ts +15 -4
- package/src/sap/fe/core/helpers/MessageStrip.js +3 -4
- package/src/sap/fe/core/helpers/MetaModelFunction.js +26 -40
- package/src/sap/fe/core/helpers/MetaPath.js +9 -7
- package/src/sap/fe/core/helpers/MetaPath.ts +9 -3
- package/src/sap/fe/core/helpers/ModelHelper.js +33 -57
- package/src/sap/fe/core/helpers/ModelHelper.ts +3 -3
- package/src/sap/fe/core/helpers/PasteHelper.js +11 -19
- package/src/sap/fe/core/helpers/PromiseKeeper.js +1 -1
- package/src/sap/fe/core/helpers/RecommendationHelper.js +3 -4
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +3 -5
- package/src/sap/fe/core/helpers/SizeHelper.js +3 -5
- package/src/sap/fe/core/helpers/StableIdHelper.js +13 -11
- package/src/sap/fe/core/helpers/StableIdHelper.ts +5 -1
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +28 -38
- package/src/sap/fe/core/helpers/Synchronization.js +1 -1
- package/src/sap/fe/core/helpers/TitleHelper.js +19 -40
- package/src/sap/fe/core/helpers/TitleHelper.ts +5 -25
- package/src/sap/fe/core/helpers/TypeGuards.js +25 -18
- package/src/sap/fe/core/helpers/TypeGuards.ts +7 -0
- package/src/sap/fe/core/helpers/WebSocket.js +4 -4
- package/src/sap/fe/core/library.js +8 -7
- package/src/sap/fe/core/library.ts +2 -0
- package/src/sap/fe/core/manifestMerger/AddNewPage.js +9 -11
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +14 -25
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +15 -17
- package/src/sap/fe/core/messagebundle.properties +21 -0
- package/src/sap/fe/core/messagebundle_ar.properties +5 -1
- package/src/sap/fe/core/messagebundle_bg.properties +4 -0
- package/src/sap/fe/core/messagebundle_ca.properties +4 -0
- package/src/sap/fe/core/messagebundle_cnr.properties +4 -0
- package/src/sap/fe/core/messagebundle_cs.properties +8 -4
- package/src/sap/fe/core/messagebundle_cy.properties +4 -0
- package/src/sap/fe/core/messagebundle_da.properties +4 -0
- package/src/sap/fe/core/messagebundle_de.properties +4 -0
- package/src/sap/fe/core/messagebundle_el.properties +4 -0
- package/src/sap/fe/core/messagebundle_en.properties +4 -0
- package/src/sap/fe/core/messagebundle_en_GB.properties +4 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +4 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +249 -231
- package/src/sap/fe/core/messagebundle_es.properties +5 -1
- package/src/sap/fe/core/messagebundle_es_MX.properties +4 -0
- package/src/sap/fe/core/messagebundle_et.properties +4 -0
- package/src/sap/fe/core/messagebundle_fi.properties +4 -0
- package/src/sap/fe/core/messagebundle_fr.properties +6 -2
- package/src/sap/fe/core/messagebundle_fr_CA.properties +4 -0
- package/src/sap/fe/core/messagebundle_hi.properties +4 -0
- package/src/sap/fe/core/messagebundle_hr.properties +4 -0
- package/src/sap/fe/core/messagebundle_hu.properties +4 -0
- package/src/sap/fe/core/messagebundle_id.properties +4 -0
- package/src/sap/fe/core/messagebundle_it.properties +4 -0
- package/src/sap/fe/core/messagebundle_iw.properties +4 -0
- package/src/sap/fe/core/messagebundle_ja.properties +4 -0
- package/src/sap/fe/core/messagebundle_kk.properties +4 -0
- package/src/sap/fe/core/messagebundle_ko.properties +4 -0
- package/src/sap/fe/core/messagebundle_lt.properties +4 -0
- package/src/sap/fe/core/messagebundle_lv.properties +4 -0
- package/src/sap/fe/core/messagebundle_mk.properties +4 -0
- package/src/sap/fe/core/messagebundle_ms.properties +4 -0
- package/src/sap/fe/core/messagebundle_nl.properties +4 -0
- package/src/sap/fe/core/messagebundle_no.properties +4 -0
- package/src/sap/fe/core/messagebundle_pl.properties +4 -0
- package/src/sap/fe/core/messagebundle_pt.properties +4 -0
- package/src/sap/fe/core/messagebundle_pt_PT.properties +4 -0
- package/src/sap/fe/core/messagebundle_ro.properties +4 -0
- package/src/sap/fe/core/messagebundle_ru.properties +4 -0
- package/src/sap/fe/core/messagebundle_sh.properties +4 -0
- package/src/sap/fe/core/messagebundle_sk.properties +4 -0
- package/src/sap/fe/core/messagebundle_sl.properties +4 -0
- package/src/sap/fe/core/messagebundle_sr.properties +4 -0
- package/src/sap/fe/core/messagebundle_sv.properties +4 -0
- package/src/sap/fe/core/messagebundle_th.properties +4 -0
- package/src/sap/fe/core/messagebundle_tr.properties +5 -1
- package/src/sap/fe/core/messagebundle_uk.properties +4 -0
- package/src/sap/fe/core/messagebundle_vi.properties +4 -0
- package/src/sap/fe/core/messagebundle_zh_CN.properties +4 -0
- package/src/sap/fe/core/messagebundle_zh_TW.properties +4 -0
- package/src/sap/fe/core/operationsHelper.js +23 -27
- package/src/sap/fe/core/operationsHelper.ts +6 -7
- package/src/sap/fe/core/rootView/Fcl.controller.js +53 -40
- package/src/sap/fe/core/rootView/Fcl.controller.ts +42 -7
- package/src/sap/fe/core/rootView/NavContainer.controller.js +7 -10
- package/src/sap/fe/core/rootView/RootViewBaseController.js +22 -21
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +10 -2
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -3
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +4 -3
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +1 -0
- package/src/sap/fe/core/services/CollaborationManagerServiceFactory.js +12 -10
- package/src/sap/fe/core/services/CollaborationManagerServiceFactory.ts +6 -2
- package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js +8 -13
- package/src/sap/fe/core/services/ContextSharingServiceFactory.js +5 -7
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +31 -8
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +31 -5
- package/src/sap/fe/core/services/InlineEditServiceFactory.js +190 -0
- package/src/sap/fe/core/services/InlineEditServiceFactory.ts +226 -0
- package/src/sap/fe/core/services/NavigationServiceFactory.js +10 -15
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -3
- package/src/sap/fe/core/services/RoutingServiceFactory.js +76 -56
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +47 -14
- package/src/sap/fe/core/services/ShellServicesFactory.js +32 -34
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +75 -60
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +58 -12
- package/src/sap/fe/core/services/TelemetryServiceFactory.js +8 -9
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +13 -18
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +3 -0
- package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.js +7 -9
- package/src/sap/fe/core/services/collaborativeDraftServiceFactory.js +12 -16
- package/src/sap/fe/core/services/collaborativeDraftServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/valueHelpService/HistoryOptOutProvider.js +4 -7
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +5 -6
- package/src/sap/fe/core/support/CommonHelper.js +2 -3
- package/src/sap/fe/core/support/Diagnostics.js +1 -1
- package/src/sap/fe/core/templating/ActionHelper.js +3 -4
- package/src/sap/fe/core/templating/CommonFormatters.js +6 -8
- package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
- package/src/sap/fe/core/templating/CriticalityFormatters.js +53 -5
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +129 -7
- package/src/sap/fe/core/templating/DataFieldFormatters.js +8 -11
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js +33 -56
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +4 -5
- package/src/sap/fe/core/templating/EntitySetHelper.js +11 -19
- package/src/sap/fe/core/templating/EntityTypeHelper.js +4 -5
- package/src/sap/fe/core/templating/FieldControlHelper.js +13 -20
- package/src/sap/fe/core/templating/FilterTemplating.js +6 -9
- package/src/sap/fe/core/templating/PropertyHelper.js +33 -63
- package/src/sap/fe/core/templating/PropertyHelper.ts +0 -1
- package/src/sap/fe/core/templating/SemanticObjectHelper.js +13 -21
- package/src/sap/fe/core/templating/UIFormatters.js +57 -78
- package/src/sap/fe/core/templating/UIFormatters.ts +2 -1
- package/src/sap/fe/core/type/Date.js +2 -2
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +3 -3
- package/src/sap/fe/core/type/EDM.js +3 -5
- package/src/sap/fe/core/type/Email.js +17 -6
- package/src/sap/fe/core/type/Email.ts +23 -4
- package/src/sap/fe/core/type/FiscalDate.js +8 -9
- package/src/sap/fe/core/type/InputMask.js +3 -4
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +0 -299
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +0 -87
- package/src/sap/fe/core/controls/ActionParameterDialogValueHelp.fragment.xml +0 -43
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +0 -251
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js +0 -471
|
@@ -2,105 +2,105 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2024 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConverter", "sap/ui/core/UIComponent"], function (ClassSupport, CommonUtils, MetaModelConverter, UIComponent) {
|
|
5
|
+
sap.ui.define(["sap/base/util/merge", "sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/core/converters/ManifestWrapper", "sap/fe/core/converters/MetaModelConverter", "sap/ui/core/UIComponent"], function (merge, ClassSupport, CommonUtils, ManifestWrapper, MetaModelConverter, UIComponent) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17;
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18;
|
|
9
9
|
var getMetaModelById = MetaModelConverter.getMetaModelById;
|
|
10
10
|
var property = ClassSupport.property;
|
|
11
11
|
var implementInterface = ClassSupport.implementInterface;
|
|
12
12
|
var event = ClassSupport.event;
|
|
13
13
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
14
14
|
function _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }
|
|
15
|
-
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
16
15
|
function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
|
|
17
16
|
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
18
17
|
function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
|
|
19
18
|
function _initializerWarningHelper(r, e) { throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform."); }
|
|
20
|
-
let TemplateComponent = (_dec = defineUI5Class("sap.fe.core.TemplateComponent"), _dec2 = implementInterface("sap.ui.core.IAsyncContentCreation"), _dec3 = property({
|
|
19
|
+
let TemplateComponent = (_dec = defineUI5Class("sap.fe.core.TemplateComponent"), _dec2 = implementInterface("sap.ui.core.IAsyncContentCreation"), _dec3 = implementInterface("sap.fe.core.buildingBlocks.IBuildingBlockOwnerComponent"), _dec4 = property({
|
|
21
20
|
type: "string",
|
|
22
21
|
defaultValue: null
|
|
23
|
-
}),
|
|
22
|
+
}), _dec5 = property({
|
|
24
23
|
type: "string",
|
|
25
24
|
defaultValue: null
|
|
26
|
-
}), _dec5 = property({
|
|
27
|
-
type: "object"
|
|
28
25
|
}), _dec6 = property({
|
|
29
|
-
type: "string"
|
|
30
|
-
}), _dec7 = property({
|
|
31
26
|
type: "object"
|
|
27
|
+
}), _dec7 = property({
|
|
28
|
+
type: "string"
|
|
32
29
|
}), _dec8 = property({
|
|
33
|
-
type: "string[]"
|
|
34
|
-
}), _dec9 = property({
|
|
35
30
|
type: "object"
|
|
31
|
+
}), _dec9 = property({
|
|
32
|
+
type: "string[]"
|
|
36
33
|
}), _dec10 = property({
|
|
37
34
|
type: "object"
|
|
38
35
|
}), _dec11 = property({
|
|
39
|
-
type: "boolean"
|
|
40
|
-
}), _dec12 = property({
|
|
41
36
|
type: "object"
|
|
37
|
+
}), _dec12 = property({
|
|
38
|
+
type: "boolean"
|
|
42
39
|
}), _dec13 = property({
|
|
43
|
-
type: "
|
|
40
|
+
type: "object"
|
|
44
41
|
}), _dec14 = property({
|
|
45
42
|
type: "string"
|
|
46
43
|
}), _dec15 = property({
|
|
47
44
|
type: "string"
|
|
48
|
-
}), _dec16 =
|
|
49
|
-
|
|
45
|
+
}), _dec16 = property({
|
|
46
|
+
type: "string"
|
|
47
|
+
}), _dec17 = event(), _dec18 = event(), _dec19 = event(), _dec(_class = (_class2 = /*#__PURE__*/function (_UIComponent) {
|
|
50
48
|
function TemplateComponent() {
|
|
51
49
|
var _this;
|
|
52
50
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
53
51
|
args[_key] = arguments[_key];
|
|
54
52
|
}
|
|
55
53
|
_this = _UIComponent.call(this, ...args) || this;
|
|
56
|
-
_initializerDefineProperty(_this, "__implements__sap_ui_core_IAsyncContentCreation", _descriptor,
|
|
57
|
-
_initializerDefineProperty(_this, "
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
_initializerDefineProperty(_this, "
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
_initializerDefineProperty(_this, "
|
|
66
|
-
_initializerDefineProperty(_this, "
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
_initializerDefineProperty(_this, "
|
|
72
|
-
|
|
54
|
+
_initializerDefineProperty(_this, "__implements__sap_ui_core_IAsyncContentCreation", _descriptor, _this);
|
|
55
|
+
_initializerDefineProperty(_this, "__implements__sap_fe_core_buildingBlocks_IBuildingBlockOwnerComponent", _descriptor2, _this);
|
|
56
|
+
/**
|
|
57
|
+
* Name of the OData entity set
|
|
58
|
+
*/
|
|
59
|
+
_initializerDefineProperty(_this, "entitySet", _descriptor3, _this);
|
|
60
|
+
/**
|
|
61
|
+
* Context Path for rendering the template
|
|
62
|
+
*/
|
|
63
|
+
_initializerDefineProperty(_this, "contextPath", _descriptor4, _this);
|
|
64
|
+
_initializerDefineProperty(_this, "preprocessorContext", _descriptor5, _this);
|
|
65
|
+
/**
|
|
66
|
+
* The pattern for the binding context to be create based on the parameters from the navigation
|
|
67
|
+
* If not provided we'll default to what was passed in the URL
|
|
68
|
+
*/
|
|
69
|
+
_initializerDefineProperty(_this, "bindingContextPattern", _descriptor6, _this);
|
|
70
|
+
/**
|
|
71
|
+
* Map of used OData navigations and its routing targets
|
|
72
|
+
*/
|
|
73
|
+
_initializerDefineProperty(_this, "navigation", _descriptor7, _this);
|
|
74
|
+
/**
|
|
75
|
+
* Enhance the i18n bundle used for this page with one or more app specific i18n resource bundles or resource models
|
|
76
|
+
* or a combination of both. The last resource bundle/model is given highest priority
|
|
77
|
+
*/
|
|
78
|
+
_initializerDefineProperty(_this, "enhanceI18n", _descriptor8, _this);
|
|
79
|
+
/**
|
|
80
|
+
* Define control related configuration settings
|
|
81
|
+
*/
|
|
82
|
+
_initializerDefineProperty(_this, "controlConfiguration", _descriptor9, _this);
|
|
83
|
+
/**
|
|
84
|
+
* Adjusts the template content
|
|
85
|
+
*/
|
|
86
|
+
_initializerDefineProperty(_this, "content", _descriptor10, _this);
|
|
87
|
+
/**
|
|
88
|
+
* Whether or not you can reach this page directly through semantic bookmarks
|
|
89
|
+
*/
|
|
90
|
+
_initializerDefineProperty(_this, "allowDeepLinking", _descriptor11, _this);
|
|
91
|
+
/**
|
|
92
|
+
* Defines the context path on the component that is refreshed when the app is restored using keep alive mode
|
|
93
|
+
*/
|
|
94
|
+
_initializerDefineProperty(_this, "refreshStrategyOnAppRestore", _descriptor12, _this);
|
|
95
|
+
_initializerDefineProperty(_this, "viewType", _descriptor13, _this);
|
|
96
|
+
_initializerDefineProperty(_this, "viewName", _descriptor14, _this);
|
|
97
|
+
_initializerDefineProperty(_this, "_jsxViewName", _descriptor15, _this);
|
|
98
|
+
_initializerDefineProperty(_this, "containerDefined", _descriptor16, _this);
|
|
99
|
+
_initializerDefineProperty(_this, "heroesBatchReceived", _descriptor17, _this);
|
|
100
|
+
_initializerDefineProperty(_this, "workersBatchReceived", _descriptor18, _this);
|
|
73
101
|
return _this;
|
|
74
102
|
}
|
|
75
|
-
|
|
76
|
-
* Name of the OData entity set
|
|
77
|
-
*/
|
|
78
|
-
/**
|
|
79
|
-
* Context Path for rendering the template
|
|
80
|
-
*/
|
|
81
|
-
/**
|
|
82
|
-
* The pattern for the binding context to be create based on the parameters from the navigation
|
|
83
|
-
* If not provided we'll default to what was passed in the URL
|
|
84
|
-
*/
|
|
85
|
-
/**
|
|
86
|
-
* Map of used OData navigations and its routing targets
|
|
87
|
-
*/
|
|
88
|
-
/**
|
|
89
|
-
* Enhance the i18n bundle used for this page with one or more app specific i18n resource bundles or resource models
|
|
90
|
-
* or a combination of both. The last resource bundle/model is given highest priority
|
|
91
|
-
*/
|
|
92
|
-
/**
|
|
93
|
-
* Define control related configuration settings
|
|
94
|
-
*/
|
|
95
|
-
/**
|
|
96
|
-
* Adjusts the template content
|
|
97
|
-
*/
|
|
98
|
-
/**
|
|
99
|
-
* Whether or not you can reach this page directly through semantic bookmarks
|
|
100
|
-
*/
|
|
101
|
-
/**
|
|
102
|
-
* Defines the context path on the component that is refreshed when the app is restored using keep alive mode
|
|
103
|
-
*/
|
|
103
|
+
_inheritsLoose(TemplateComponent, _UIComponent);
|
|
104
104
|
var _proto = TemplateComponent.prototype;
|
|
105
105
|
// The id of a fragment being processed, it will take priority in the ID generation
|
|
106
106
|
_proto.setContainer = function setContainer(oContainer) {
|
|
@@ -157,6 +157,8 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
|
|
|
157
157
|
delete oViewData.preprocessorContext;
|
|
158
158
|
// Access the internal _isFclEnabled which will be there
|
|
159
159
|
oViewData.fclEnabled = this.oAppComponent._isFclEnabled();
|
|
160
|
+
const routingTargetName = this.oAppComponent.getRoutingService().getTargetName(this);
|
|
161
|
+
oViewData.isInlineEditEnabled = routingTargetName ? this.oAppComponent.getInlineEditService().doesPageHaveInlineEdit(routingTargetName) : false;
|
|
160
162
|
return oViewData;
|
|
161
163
|
};
|
|
162
164
|
_proto._getPageTitleInformation = function _getPageTitleInformation() {
|
|
@@ -178,16 +180,13 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
|
|
|
178
180
|
*/;
|
|
179
181
|
_proto.getMetaModel = function getMetaModel(metaModelReference) {
|
|
180
182
|
if (!metaModelReference) {
|
|
181
|
-
|
|
182
|
-
return (_this$preprocessorCon = this.preprocessorContext) === null || _this$preprocessorCon === void 0 ? void 0 : _this$preprocessorCon.models.metaModel;
|
|
183
|
+
return this.preprocessorContext?.models.metaModel;
|
|
183
184
|
} else if (metaModelReference.startsWith("id-")) {
|
|
184
185
|
return getMetaModelById(metaModelReference);
|
|
185
186
|
} else if (!this.getModel(metaModelReference)) {
|
|
186
|
-
|
|
187
|
-
return (_this$getAppComponent = this.getAppComponent().getModel(metaModelReference)) === null || _this$getAppComponent === void 0 ? void 0 : _this$getAppComponent.getMetaModel();
|
|
187
|
+
return this.getAppComponent().getModel(metaModelReference)?.getMetaModel();
|
|
188
188
|
} else {
|
|
189
|
-
|
|
190
|
-
return (_this$getModel = this.getModel(metaModelReference)) === null || _this$getModel === void 0 ? void 0 : _this$getModel.getMetaModel();
|
|
189
|
+
return this.getModel(metaModelReference)?.getMetaModel();
|
|
191
190
|
}
|
|
192
191
|
}
|
|
193
192
|
|
|
@@ -198,107 +197,121 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
|
|
|
198
197
|
*/;
|
|
199
198
|
_proto.getFullContextPath = function getFullContextPath(metaModelReference) {
|
|
200
199
|
if (!metaModelReference) {
|
|
201
|
-
|
|
202
|
-
return (_this$preprocessorCon2 = this.preprocessorContext) === null || _this$preprocessorCon2 === void 0 ? void 0 : _this$preprocessorCon2.fullContextPath;
|
|
200
|
+
return this.preprocessorContext?.fullContextPath;
|
|
203
201
|
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Retrieves the ManifestWrapper for the current view.
|
|
206
|
+
* @returns The ManifestWrapper
|
|
207
|
+
*/;
|
|
208
|
+
_proto.getManifestWrapper = function getManifestWrapper() {
|
|
209
|
+
return new ManifestWrapper(this.getViewData(), merge);
|
|
204
210
|
};
|
|
205
211
|
return TemplateComponent;
|
|
206
|
-
}(UIComponent),
|
|
212
|
+
}(UIComponent), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "__implements__sap_ui_core_IAsyncContentCreation", [_dec2], {
|
|
213
|
+
configurable: true,
|
|
214
|
+
enumerable: true,
|
|
215
|
+
writable: true,
|
|
216
|
+
initializer: function () {
|
|
217
|
+
return true;
|
|
218
|
+
}
|
|
219
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "__implements__sap_fe_core_buildingBlocks_IBuildingBlockOwnerComponent", [_dec3], {
|
|
207
220
|
configurable: true,
|
|
208
221
|
enumerable: true,
|
|
209
222
|
writable: true,
|
|
210
223
|
initializer: function () {
|
|
211
224
|
return true;
|
|
212
225
|
}
|
|
213
|
-
}),
|
|
226
|
+
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "entitySet", [_dec4], {
|
|
214
227
|
configurable: true,
|
|
215
228
|
enumerable: true,
|
|
216
229
|
writable: true,
|
|
217
230
|
initializer: function () {
|
|
218
231
|
return null;
|
|
219
232
|
}
|
|
220
|
-
}),
|
|
233
|
+
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "contextPath", [_dec5], {
|
|
221
234
|
configurable: true,
|
|
222
235
|
enumerable: true,
|
|
223
236
|
writable: true,
|
|
224
237
|
initializer: function () {
|
|
225
238
|
return null;
|
|
226
239
|
}
|
|
227
|
-
}),
|
|
240
|
+
}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, "preprocessorContext", [_dec6], {
|
|
228
241
|
configurable: true,
|
|
229
242
|
enumerable: true,
|
|
230
243
|
writable: true,
|
|
231
244
|
initializer: null
|
|
232
|
-
}),
|
|
245
|
+
}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "bindingContextPattern", [_dec7], {
|
|
233
246
|
configurable: true,
|
|
234
247
|
enumerable: true,
|
|
235
248
|
writable: true,
|
|
236
249
|
initializer: null
|
|
237
|
-
}),
|
|
250
|
+
}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, "navigation", [_dec8], {
|
|
238
251
|
configurable: true,
|
|
239
252
|
enumerable: true,
|
|
240
253
|
writable: true,
|
|
241
254
|
initializer: null
|
|
242
|
-
}),
|
|
255
|
+
}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, "enhanceI18n", [_dec9], {
|
|
243
256
|
configurable: true,
|
|
244
257
|
enumerable: true,
|
|
245
258
|
writable: true,
|
|
246
259
|
initializer: null
|
|
247
|
-
}),
|
|
260
|
+
}), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, "controlConfiguration", [_dec10], {
|
|
248
261
|
configurable: true,
|
|
249
262
|
enumerable: true,
|
|
250
263
|
writable: true,
|
|
251
264
|
initializer: null
|
|
252
|
-
}),
|
|
265
|
+
}), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, "content", [_dec11], {
|
|
253
266
|
configurable: true,
|
|
254
267
|
enumerable: true,
|
|
255
268
|
writable: true,
|
|
256
269
|
initializer: null
|
|
257
|
-
}),
|
|
270
|
+
}), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, "allowDeepLinking", [_dec12], {
|
|
258
271
|
configurable: true,
|
|
259
272
|
enumerable: true,
|
|
260
273
|
writable: true,
|
|
261
274
|
initializer: null
|
|
262
|
-
}),
|
|
275
|
+
}), _descriptor12 = _applyDecoratedDescriptor(_class2.prototype, "refreshStrategyOnAppRestore", [_dec13], {
|
|
263
276
|
configurable: true,
|
|
264
277
|
enumerable: true,
|
|
265
278
|
writable: true,
|
|
266
279
|
initializer: null
|
|
267
|
-
}),
|
|
280
|
+
}), _descriptor13 = _applyDecoratedDescriptor(_class2.prototype, "viewType", [_dec14], {
|
|
268
281
|
configurable: true,
|
|
269
282
|
enumerable: true,
|
|
270
283
|
writable: true,
|
|
271
284
|
initializer: function () {
|
|
272
285
|
return "XML";
|
|
273
286
|
}
|
|
274
|
-
}),
|
|
287
|
+
}), _descriptor14 = _applyDecoratedDescriptor(_class2.prototype, "viewName", [_dec15], {
|
|
275
288
|
configurable: true,
|
|
276
289
|
enumerable: true,
|
|
277
290
|
writable: true,
|
|
278
291
|
initializer: null
|
|
279
|
-
}),
|
|
292
|
+
}), _descriptor15 = _applyDecoratedDescriptor(_class2.prototype, "_jsxViewName", [_dec16], {
|
|
280
293
|
configurable: true,
|
|
281
294
|
enumerable: true,
|
|
282
295
|
writable: true,
|
|
283
296
|
initializer: function () {
|
|
284
297
|
return "";
|
|
285
298
|
}
|
|
286
|
-
}),
|
|
299
|
+
}), _descriptor16 = _applyDecoratedDescriptor(_class2.prototype, "containerDefined", [_dec17], {
|
|
287
300
|
configurable: true,
|
|
288
301
|
enumerable: true,
|
|
289
302
|
writable: true,
|
|
290
303
|
initializer: null
|
|
291
|
-
}),
|
|
304
|
+
}), _descriptor17 = _applyDecoratedDescriptor(_class2.prototype, "heroesBatchReceived", [_dec18], {
|
|
292
305
|
configurable: true,
|
|
293
306
|
enumerable: true,
|
|
294
307
|
writable: true,
|
|
295
308
|
initializer: null
|
|
296
|
-
}),
|
|
309
|
+
}), _descriptor18 = _applyDecoratedDescriptor(_class2.prototype, "workersBatchReceived", [_dec19], {
|
|
297
310
|
configurable: true,
|
|
298
311
|
enumerable: true,
|
|
299
312
|
writable: true,
|
|
300
313
|
initializer: null
|
|
301
|
-
})
|
|
314
|
+
}), _class2)) || _class);
|
|
302
315
|
return TemplateComponent;
|
|
303
316
|
}, false);
|
|
304
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZUNvbXBvbmVudCIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwiX2RlYzMiLCJwcm9wZXJ0eSIsInR5cGUiLCJkZWZhdWx0VmFsdWUiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfZGVjNyIsIl9kZWM4IiwiX2RlYzkiLCJfZGVjMTAiLCJfZGVjMTEiLCJfZGVjMTIiLCJfZGVjMTMiLCJfZGVjMTQiLCJfZGVjMTUiLCJfZGVjMTYiLCJldmVudCIsIl9kZWMxNyIsIl9kZWMxOCIsIl9jbGFzcyIsIl9jbGFzczIiLCJfVUlDb21wb25lbnQiLCJfaW5oZXJpdHNMb29zZSIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwiX2Rlc2NyaXB0b3IxMSIsIl9kZXNjcmlwdG9yMTIiLCJfZGVzY3JpcHRvcjEzIiwiX2Rlc2NyaXB0b3IxNCIsIl9kZXNjcmlwdG9yMTUiLCJfZGVzY3JpcHRvcjE2IiwiX2Rlc2NyaXB0b3IxNyIsIl9wcm90byIsInByb3RvdHlwZSIsInNldENvbnRhaW5lciIsIm9Db250YWluZXIiLCJmaXJlRXZlbnQiLCJjb250YWluZXIiLCJpbml0Iiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0RXh0ZW5zaW9uQ29tcG9uZW50Iiwic2V0Um9vdENvbnRyb2xsZXIiLCJjb250cm9sbGVyIiwiX3Jvb3RDb250cm9sbGVyIiwiZ2V0Um9vdENvbnRyb2xsZXIiLCJyb290Q29udHJvbCIsImdldFJvb3RDb250cm9sIiwicm9vdENvbnRyb2xsZXIiLCJnZXRDb250cm9sbGVyIiwib25QYWdlUmVhZHkiLCJtUGFyYW1ldGVycyIsImdldE5hdmlnYXRpb25Db25maWd1cmF0aW9uIiwic1RhcmdldFBhdGgiLCJtTmF2aWdhdGlvbiIsIm5hdmlnYXRpb24iLCJnZXRWaWV3RGF0YSIsIm1Qcm9wZXJ0aWVzIiwiZ2V0TWV0YWRhdGEiLCJnZXRBbGxQcm9wZXJ0aWVzIiwib1ZpZXdEYXRhIiwiT2JqZWN0Iiwia2V5cyIsInJlZHVjZSIsIm1WaWV3RGF0YSIsInNQcm9wZXJ0eU5hbWUiLCJnZXQiLCJwcmVwcm9jZXNzb3JDb250ZXh0IiwiZmNsRW5hYmxlZCIsIl9pc0ZjbEVuYWJsZWQiLCJfZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24iLCJnZXRFeHRlbnNpb25BUEkiLCJnZXRNZXRhTW9kZWwiLCJtZXRhTW9kZWxSZWZlcmVuY2UiLCJfdGhpcyRwcmVwcm9jZXNzb3JDb24iLCJtb2RlbHMiLCJtZXRhTW9kZWwiLCJzdGFydHNXaXRoIiwiZ2V0TWV0YU1vZGVsQnlJZCIsImdldE1vZGVsIiwiX3RoaXMkZ2V0QXBwQ29tcG9uZW50IiwiX3RoaXMkZ2V0TW9kZWwiLCJnZXRGdWxsQ29udGV4dFBhdGgiLCJfdGhpcyRwcmVwcm9jZXNzb3JDb24yIiwiZnVsbENvbnRleHRQYXRoIiwiVUlDb21wb25lbnQiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29udmVydGVkTWV0YWRhdGEgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBldmVudCwgaW1wbGVtZW50SW50ZXJmYWNlLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBFeHRlbnNpb25BUEkgZnJvbSBcInNhcC9mZS9jb3JlL0V4dGVuc2lvbkFQSVwiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBDb252ZXJ0ZXJDb250ZXh0IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL0NvbnZlcnRlckNvbnRleHRcIjtcbmltcG9ydCB0eXBlIHsgTmF2aWdhdGlvblRhcmdldENvbmZpZ3VyYXRpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBnZXRNZXRhTW9kZWxCeUlkIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgdHlwZSB7IERlZmluaXRpb25Db250ZXh0LCBEZWZpbml0aW9uUGFnZSB9IGZyb20gXCJzYXAvZmUvY29yZS9kZWZpbml0aW9uL0ZFRGVmaW5pdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBUaXRsZUluZm9ybWF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3Jvb3RWaWV3L1Jvb3RWaWV3QmFzZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIENvbXBvbmVudENvbnRhaW5lciBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50Q29udGFpbmVyXCI7XG5pbXBvcnQgVUlDb21wb25lbnQgZnJvbSBcInNhcC91aS9jb3JlL1VJQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IElBc3luY0NvbnRlbnRDcmVhdGlvbiB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IHR5cGUgQmFzZUNvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL01vZGVsXCI7XG5pbXBvcnQgdHlwZSBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE9EYXRhTGlzdEJpbmRpbmcgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YUxpc3RCaW5kaW5nXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uQ29uZmlndXJhdGlvbiA9IHtcblx0ZGV0YWlsOiB7XG5cdFx0cm91dGU6IHN0cmluZztcblx0XHRwYXJhbWV0ZXJzOiB1bmtub3duO1xuXHRcdG91dGJvdW5kPzogc3RyaW5nO1xuXHRcdG91dGJvdW5kRGV0YWlsPzogTmF2aWdhdGlvblRhcmdldENvbmZpZ3VyYXRpb25bXCJvdXRib3VuZERldGFpbFwiXTtcblx0fTtcblx0Y3JlYXRlOiB7XG5cdFx0cm91dGU6IHN0cmluZztcblx0XHRwYXJhbWV0ZXJzOiB1bmtub3duO1xuXHRcdG91dGJvdW5kPzogc3RyaW5nO1xuXHRcdG91dGJvdW5kRGV0YWlsPzogTmF2aWdhdGlvblRhcmdldENvbmZpZ3VyYXRpb25bXCJvdXRib3VuZERldGFpbFwiXTtcblx0fTtcbn07XG5cbmV4cG9ydCB0eXBlIFhNTFByZXByb2Nlc3NvckNvbnRleHQgPSB7XG5cdGJpbmRpbmdDb250ZXh0czogUmVjb3JkPHN0cmluZywgQmFzZUNvbnRleHQgfCBudWxsPjtcblx0bW9kZWxzOiBSZWNvcmQ8c3RyaW5nLCBNb2RlbD47XG5cdGZ1bGxDb250ZXh0UGF0aDogc3RyaW5nO1xuXHRnZXRDb252ZXJ0ZWRNZXRhZGF0YTogKCkgPT4gQ29udmVydGVkTWV0YWRhdGE7XG5cdGdldERlZmluaXRpb25Db250ZXh0OiAoKSA9PiBEZWZpbml0aW9uQ29udGV4dDtcblx0Z2V0RGVmaW5pdGlvbkZvclBhZ2U6ICgpID0+IERlZmluaXRpb25QYWdlO1xuXHRhcHBDb21wb25lbnQ6IEFwcENvbXBvbmVudDtcblx0dmlld0lkOiBzdHJpbmc7XG59O1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5UZW1wbGF0ZUNvbXBvbmVudFwiKVxuY2xhc3MgVGVtcGxhdGVDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudCBpbXBsZW1lbnRzIElBc3luY0NvbnRlbnRDcmVhdGlvbiB7XG5cdEBpbXBsZW1lbnRJbnRlcmZhY2UoXCJzYXAudWkuY29yZS5JQXN5bmNDb250ZW50Q3JlYXRpb25cIilcblx0X19pbXBsZW1lbnRzX19zYXBfdWlfY29yZV9JQXN5bmNDb250ZW50Q3JlYXRpb24gPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBOYW1lIG9mIHRoZSBPRGF0YSBlbnRpdHkgc2V0XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBkZWZhdWx0VmFsdWU6IG51bGwgfSlcblx0ZW50aXR5U2V0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuXHQvKipcblx0ICogQ29udGV4dCBQYXRoIGZvciByZW5kZXJpbmcgdGhlIHRlbXBsYXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBkZWZhdWx0VmFsdWU6IG51bGwgfSlcblx0Y29udGV4dFBhdGg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0cHJlcHJvY2Vzc29yQ29udGV4dD86IFhNTFByZXByb2Nlc3NvckNvbnRleHQ7XG5cblx0LyoqXG5cdCAqIFRoZSBwYXR0ZXJuIGZvciB0aGUgYmluZGluZyBjb250ZXh0IHRvIGJlIGNyZWF0ZSBiYXNlZCBvbiB0aGUgcGFyYW1ldGVycyBmcm9tIHRoZSBuYXZpZ2F0aW9uXG5cdCAqIElmIG5vdCBwcm92aWRlZCB3ZSdsbCBkZWZhdWx0IHRvIHdoYXQgd2FzIHBhc3NlZCBpbiB0aGUgVVJMXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGJpbmRpbmdDb250ZXh0UGF0dGVybiE6IHN0cmluZztcblxuXHQvKipcblx0ICogTWFwIG9mIHVzZWQgT0RhdGEgbmF2aWdhdGlvbnMgYW5kIGl0cyByb3V0aW5nIHRhcmdldHNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0bmF2aWdhdGlvbiE6IFJlY29yZDxzdHJpbmcsIE5hdmlnYXRpb25Db25maWd1cmF0aW9uPjtcblxuXHQvKipcblx0ICogRW5oYW5jZSB0aGUgaTE4biBidW5kbGUgdXNlZCBmb3IgdGhpcyBwYWdlIHdpdGggb25lIG9yIG1vcmUgYXBwIHNwZWNpZmljIGkxOG4gcmVzb3VyY2UgYnVuZGxlcyBvciByZXNvdXJjZSBtb2RlbHNcblx0ICogb3IgYSBjb21iaW5hdGlvbiBvZiBib3RoLiBUaGUgbGFzdCByZXNvdXJjZSBidW5kbGUvbW9kZWwgaXMgZ2l2ZW4gaGlnaGVzdCBwcmlvcml0eVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdbXVwiIH0pXG5cdGVuaGFuY2VJMThuITogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIERlZmluZSBjb250cm9sIHJlbGF0ZWQgY29uZmlndXJhdGlvbiBzZXR0aW5nc1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRjb250cm9sQ29uZmlndXJhdGlvbj86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdC8qKlxuXHQgKiBBZGp1c3RzIHRoZSB0ZW1wbGF0ZSBjb250ZW50XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdGNvbnRlbnQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgeW91IGNhbiByZWFjaCB0aGlzIHBhZ2UgZGlyZWN0bHkgdGhyb3VnaCBzZW1hbnRpYyBib29rbWFya3Ncblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGFsbG93RGVlcExpbmtpbmchOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBjb250ZXh0IHBhdGggb24gdGhlIGNvbXBvbmVudCB0aGF0IGlzIHJlZnJlc2hlZCB3aGVuIHRoZSBhcHAgaXMgcmVzdG9yZWQgdXNpbmcga2VlcCBhbGl2ZSBtb2RlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdHJlZnJlc2hTdHJhdGVneU9uQXBwUmVzdG9yZTogdW5rbm93bjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHZpZXdUeXBlID0gXCJYTUxcIjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHZpZXdOYW1lPzogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0X2pzeFZpZXdOYW1lID0gXCJcIjtcblxuXHRAZXZlbnQoKVxuXHRjb250YWluZXJEZWZpbmVkITogRnVuY3Rpb247XG5cblx0QGV2ZW50KClcblx0aGVyb2VzQmF0Y2hSZWNlaXZlZCE6IEZ1bmN0aW9uO1xuXG5cdEBldmVudCgpXG5cdHdvcmtlcnNCYXRjaFJlY2VpdmVkITogRnVuY3Rpb247XG5cblx0cHJvdGVjdGVkIG9BcHBDb21wb25lbnQhOiBBcHBDb21wb25lbnQ7XG5cblx0cHJpdmF0ZSBfcm9vdENvbnRyb2xsZXI/OiBQYWdlQ29udHJvbGxlcjtcblxuXHQvLyBUaGUgaWQgb2YgYSBmcmFnbWVudCBiZWluZyBwcm9jZXNzZWQsIGl0IHdpbGwgdGFrZSBwcmlvcml0eSBpbiB0aGUgSUQgZ2VuZXJhdGlvblxuXHRwcml2YXRlIF90ZW1wb3JhcnlGcmFnbWVudElkPzogc3RyaW5nO1xuXG5cdHNldENvbnRhaW5lcihvQ29udGFpbmVyOiBDb21wb25lbnRDb250YWluZXIpOiB0aGlzIHtcblx0XHRzdXBlci5zZXRDb250YWluZXIob0NvbnRhaW5lcik7XG5cdFx0dGhpcy5maXJlRXZlbnQoXCJjb250YWluZXJEZWZpbmVkXCIsIHsgY29udGFpbmVyOiBvQ29udGFpbmVyIH0pO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0aW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLm9BcHBDb21wb25lbnQgPSBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodGhpcyk7XG5cdFx0c3VwZXIuaW5pdCgpO1xuXHR9XG5cblx0Ly8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIGJ5IFVJNSBjb3JlIHRvIGFjY2VzcyB0byB0aGUgY29tcG9uZW50IGNvbnRhaW5pbmcgdGhlIGN1c3RvbWl6aW5nIGNvbmZpZ3VyYXRpb24uXG5cdC8vIGFzIGNvbnRyb2xsZXIgZXh0ZW5zaW9ucyBhcmUgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3QgZm9yIHRoZSBhcHAgY29tcG9uZW50IGFuZCBub3QgZm9yIHRoZVxuXHQvLyB0ZW1wbGF0ZSBjb21wb25lbnQgd2UgcmV0dXJuIHRoZSBhcHAgY29tcG9uZW50LlxuXHRnZXRFeHRlbnNpb25Db21wb25lbnQoKTogQXBwQ29tcG9uZW50IHtcblx0XHRyZXR1cm4gdGhpcy5vQXBwQ29tcG9uZW50O1xuXHR9XG5cblx0Z2V0QXBwQ29tcG9uZW50KCk6IEFwcENvbXBvbmVudCB7XG5cdFx0cmV0dXJuIHRoaXMub0FwcENvbXBvbmVudDtcblx0fVxuXG5cdHNldFJvb3RDb250cm9sbGVyKGNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyKTogdm9pZCB7XG5cdFx0dGhpcy5fcm9vdENvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuXHR9XG5cblx0Z2V0Um9vdENvbnRyb2xsZXIoKTogUGFnZUNvbnRyb2xsZXIgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHJvb3RDb250cm9sOiBWaWV3ID0gdGhpcy5nZXRSb290Q29udHJvbCgpO1xuXHRcdGxldCByb290Q29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXIgfCB1bmRlZmluZWQ7XG5cdFx0aWYgKHJvb3RDb250cm9sICYmIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIpIHtcblx0XHRcdHJvb3RDb250cm9sbGVyID0gcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpIGFzIFBhZ2VDb250cm9sbGVyO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyb290Q29udHJvbGxlciA9IHRoaXMuX3Jvb3RDb250cm9sbGVyO1xuXHRcdH1cblx0XHRyZXR1cm4gcm9vdENvbnRyb2xsZXI7XG5cdH1cblxuXHRvblBhZ2VSZWFkeShtUGFyYW1ldGVyczogdW5rbm93bik6IHZvaWQge1xuXHRcdGNvbnN0IHJvb3RDb250cm9sbGVyID0gdGhpcy5nZXRSb290Q29udHJvbGxlcigpO1xuXHRcdGlmIChyb290Q29udHJvbGxlciAmJiByb290Q29udHJvbGxlci5vblBhZ2VSZWFkeSkge1xuXHRcdFx0cm9vdENvbnRyb2xsZXIub25QYWdlUmVhZHkobVBhcmFtZXRlcnMpO1xuXHRcdH1cblx0fVxuXG5cdGdldE5hdmlnYXRpb25Db25maWd1cmF0aW9uKHNUYXJnZXRQYXRoOiBzdHJpbmcpOiBOYXZpZ2F0aW9uQ29uZmlndXJhdGlvbiB7XG5cdFx0Y29uc3QgbU5hdmlnYXRpb24gPSB0aGlzLm5hdmlnYXRpb247XG5cdFx0cmV0dXJuIG1OYXZpZ2F0aW9uW3NUYXJnZXRQYXRoXTtcblx0fVxuXG5cdGdldFZpZXdEYXRhKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcblx0XHRjb25zdCBtUHJvcGVydGllcyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxQcm9wZXJ0aWVzKCk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhID0gT2JqZWN0LmtleXMobVByb3BlcnRpZXMpLnJlZHVjZSgobVZpZXdEYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgc1Byb3BlcnR5TmFtZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRtVmlld0RhdGFbc1Byb3BlcnR5TmFtZV0gPSBtUHJvcGVydGllc1tzUHJvcGVydHlOYW1lXS5nZXQhKHRoaXMpO1xuXHRcdFx0cmV0dXJuIG1WaWV3RGF0YTtcblx0XHR9LCB7fSk7XG5cdFx0ZGVsZXRlIG9WaWV3RGF0YS5wcmVwcm9jZXNzb3JDb250ZXh0O1xuXHRcdC8vIEFjY2VzcyB0aGUgaW50ZXJuYWwgX2lzRmNsRW5hYmxlZCB3aGljaCB3aWxsIGJlIHRoZXJlXG5cdFx0b1ZpZXdEYXRhLmZjbEVuYWJsZWQgPSB0aGlzLm9BcHBDb21wb25lbnQuX2lzRmNsRW5hYmxlZCgpO1xuXG5cdFx0cmV0dXJuIG9WaWV3RGF0YTtcblx0fVxuXG5cdF9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbigpOiBUaXRsZUluZm9ybWF0aW9uIHtcblx0XHRjb25zdCByb290Q29udHJvbCA9IHRoaXMuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRpZiAocm9vdENvbnRyb2wgJiYgcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpICYmIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIoKS5fZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24pIHtcblx0XHRcdHJldHVybiByb290Q29udHJvbC5nZXRDb250cm9sbGVyKCkuX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB7fSBhcyBUaXRsZUluZm9ybWF0aW9uO1xuXHRcdH1cblx0fVxuXG5cdGdldEV4dGVuc2lvbkFQSSgpOiBFeHRlbnNpb25BUEkge1xuXHRcdHJldHVybiB0aGlzLmdldFJvb3RDb250cm9sKCkuZ2V0Q29udHJvbGxlcigpLmdldEV4dGVuc2lvbkFQSSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgbWV0YW1vZGVsIGZvciB0aGUgZ2l2ZW4gbWV0YW1vZGVsIHJlZmVyZW5jZSAoSUQgLyBuYW1lIG9yIHVuZGVmaW5lZCBmb3IgdGhlIGRlZmF1bHQgb25lKS5cblx0ICogQHBhcmFtIG1ldGFNb2RlbFJlZmVyZW5jZSBUaGUgbWV0YW1vZGVsIHJlZmVyZW5jZVxuXHQgKiBAcmV0dXJucyBUaGUgY29ycmVjdCBtZXRhbW9kZWwgaWYgaXQgZXhpdHNcblx0ICovXG5cdGdldE1ldGFNb2RlbChtZXRhTW9kZWxSZWZlcmVuY2U/OiBzdHJpbmcpOiBPRGF0YU1ldGFNb2RlbCB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCFtZXRhTW9kZWxSZWZlcmVuY2UpIHtcblx0XHRcdHJldHVybiB0aGlzLnByZXByb2Nlc3NvckNvbnRleHQ/Lm1vZGVscy5tZXRhTW9kZWwgYXMgT0RhdGFNZXRhTW9kZWwgfCB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIGlmIChtZXRhTW9kZWxSZWZlcmVuY2Uuc3RhcnRzV2l0aChcImlkLVwiKSkge1xuXHRcdFx0cmV0dXJuIGdldE1ldGFNb2RlbEJ5SWQobWV0YU1vZGVsUmVmZXJlbmNlKTtcblx0XHR9IGVsc2UgaWYgKCF0aGlzLmdldE1vZGVsKG1ldGFNb2RlbFJlZmVyZW5jZSkpIHtcblx0XHRcdHJldHVybiB0aGlzLmdldEFwcENvbXBvbmVudCgpLmdldE1vZGVsKG1ldGFNb2RlbFJlZmVyZW5jZSk/LmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsIHwgdW5kZWZpbmVkO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRNb2RlbChtZXRhTW9kZWxSZWZlcmVuY2UpPy5nZXRNZXRhTW9kZWwoKSBhcyBPRGF0YU1ldGFNb2RlbCB8IHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBmdWxsIGNvbnRleHQgcGF0aCBmb3IgdGhlIGdpdmVuIG1ldGFtb2RlbCByZWZlcmVuY2UgKElEIC8gbmFtZSBvciB1bmRlZmluZWQgZm9yIHRoZSBkZWZhdWx0IG9uZSkuXG5cdCAqIEBwYXJhbSBtZXRhTW9kZWxSZWZlcmVuY2UgVGhlIG1ldGFtb2RlbCByZWZlcmVuY2Vcblx0ICogQHJldHVybnMgVGhlIGNvcnJlY3QgZnVsbCBjb250ZXh0IHBhdGhcblx0ICovXG5cdGdldEZ1bGxDb250ZXh0UGF0aChtZXRhTW9kZWxSZWZlcmVuY2U6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCFtZXRhTW9kZWxSZWZlcmVuY2UpIHtcblx0XHRcdHJldHVybiB0aGlzLnByZXByb2Nlc3NvckNvbnRleHQ/LmZ1bGxDb250ZXh0UGF0aDtcblx0XHR9XG5cdH1cbn1cbmludGVyZmFjZSBUZW1wbGF0ZUNvbXBvbmVudCB7XG5cdC8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIGlkZWFsbHkgYmUgaGFuZGxlZCBieSB0aGUgZWRpdGZsb3cvcm91dGluZyB3aXRob3V0IHRoZSBuZWVkIHRvIGhhdmUgdGhpcyBtZXRob2QgaW4gdGhlIG9iamVjdCBwYWdlIC0gZm9yIG5vdyBrZWVwIGl0IGhlcmVcblx0Y3JlYXRlRGVmZXJyZWRDb250ZXh0Pyhcblx0XHRzUGF0aDogc3RyaW5nLFxuXHRcdG9MaXN0QmluZGluZzogT0RhdGFMaXN0QmluZGluZyB8IHVuZGVmaW5lZCxcblx0XHRwYXJlbnRDb250ZXh0OiBDb250ZXh0IHwgdW5kZWZpbmVkLFxuXHRcdGRhdGE6IG9iamVjdCB8IHVuZGVmaW5lZCxcblx0XHRiQWN0aW9uQ3JlYXRlOiBib29sZWFuXG5cdCk6IHZvaWQ7XG5cdGlzT3BlbkluRWRpdE1vZGUoKTogYm9vbGVhbjtcblx0Z2V0Um9vdENvbnRyb2woKTogeyBnZXRDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIH0gJiBWaWV3O1xuXHRleHRlbmRQYWdlRGVmaW5pdGlvbj8ocGFnZURlZmluaXRpb246IHt9LCBjb252ZXJ0ZXJDb250ZXh0PzogQ29udmVydGVyQ29udGV4dCk6IHt9O1xuXHRnZXRNb2RlbCgpOiBPRGF0YU1vZGVsO1xuXHRnZXRNb2RlbChtb2RlbE5hbWU6IFwiX3BhZ2VNb2RlbFwiKTogSlNPTk1vZGVsO1xuXHRnZXRNb2RlbChtb2RlbE5hbWU6IHN0cmluZyk6IE1vZGVsIHwgdW5kZWZpbmVkO1xufVxuZXhwb3J0IGRlZmF1bHQgVGVtcGxhdGVDb21wb25lbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFrRE1BLGlCQUFpQixJQUFBQyxJQUFBLEdBRHRCQyxjQUFjLENBQUMsK0JBQStCLENBQUMsRUFBQUMsS0FBQSxHQUU5Q0Msa0JBQWtCLENBQUMsbUNBQW1DLENBQUMsRUFBQUMsS0FBQSxHQU12REMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVDLFlBQVksRUFBRTtFQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBTWhESCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLFFBQVE7SUFBRUMsWUFBWSxFQUFFO0VBQUssQ0FBQyxDQUFDLEVBQUFFLEtBQUEsR0FHaERKLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUksS0FBQSxHQU81QkwsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBSyxLQUFBLEdBTTVCTixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFNLEtBQUEsR0FPNUJQLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVyxDQUFDLENBQUMsRUFBQU8sS0FBQSxHQU05QlIsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBUSxNQUFBLEdB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
|
|
317
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZUNvbXBvbmVudCIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwiX2RlYzMiLCJfZGVjNCIsInByb3BlcnR5IiwidHlwZSIsImRlZmF1bHRWYWx1ZSIsIl9kZWM1IiwiX2RlYzYiLCJfZGVjNyIsIl9kZWM4IiwiX2RlYzkiLCJfZGVjMTAiLCJfZGVjMTEiLCJfZGVjMTIiLCJfZGVjMTMiLCJfZGVjMTQiLCJfZGVjMTUiLCJfZGVjMTYiLCJfZGVjMTciLCJldmVudCIsIl9kZWMxOCIsIl9kZWMxOSIsIl9jbGFzcyIsIl9jbGFzczIiLCJfVUlDb21wb25lbnQiLCJfdGhpcyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwiX2Rlc2NyaXB0b3IxMSIsIl9kZXNjcmlwdG9yMTIiLCJfZGVzY3JpcHRvcjEzIiwiX2Rlc2NyaXB0b3IxNCIsIl9kZXNjcmlwdG9yMTUiLCJfZGVzY3JpcHRvcjE2IiwiX2Rlc2NyaXB0b3IxNyIsIl9kZXNjcmlwdG9yMTgiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsInNldENvbnRhaW5lciIsIm9Db250YWluZXIiLCJmaXJlRXZlbnQiLCJjb250YWluZXIiLCJpbml0Iiwib0FwcENvbXBvbmVudCIsIkNvbW1vblV0aWxzIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0RXh0ZW5zaW9uQ29tcG9uZW50Iiwic2V0Um9vdENvbnRyb2xsZXIiLCJjb250cm9sbGVyIiwiX3Jvb3RDb250cm9sbGVyIiwiZ2V0Um9vdENvbnRyb2xsZXIiLCJyb290Q29udHJvbCIsImdldFJvb3RDb250cm9sIiwicm9vdENvbnRyb2xsZXIiLCJnZXRDb250cm9sbGVyIiwib25QYWdlUmVhZHkiLCJtUGFyYW1ldGVycyIsImdldE5hdmlnYXRpb25Db25maWd1cmF0aW9uIiwic1RhcmdldFBhdGgiLCJtTmF2aWdhdGlvbiIsIm5hdmlnYXRpb24iLCJnZXRWaWV3RGF0YSIsIm1Qcm9wZXJ0aWVzIiwiZ2V0TWV0YWRhdGEiLCJnZXRBbGxQcm9wZXJ0aWVzIiwib1ZpZXdEYXRhIiwiT2JqZWN0Iiwia2V5cyIsInJlZHVjZSIsIm1WaWV3RGF0YSIsInNQcm9wZXJ0eU5hbWUiLCJnZXQiLCJwcmVwcm9jZXNzb3JDb250ZXh0IiwiZmNsRW5hYmxlZCIsIl9pc0ZjbEVuYWJsZWQiLCJyb3V0aW5nVGFyZ2V0TmFtZSIsImdldFJvdXRpbmdTZXJ2aWNlIiwiZ2V0VGFyZ2V0TmFtZSIsImlzSW5saW5lRWRpdEVuYWJsZWQiLCJnZXRJbmxpbmVFZGl0U2VydmljZSIsImRvZXNQYWdlSGF2ZUlubGluZUVkaXQiLCJfZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24iLCJnZXRFeHRlbnNpb25BUEkiLCJnZXRNZXRhTW9kZWwiLCJtZXRhTW9kZWxSZWZlcmVuY2UiLCJtb2RlbHMiLCJtZXRhTW9kZWwiLCJzdGFydHNXaXRoIiwiZ2V0TWV0YU1vZGVsQnlJZCIsImdldE1vZGVsIiwiZ2V0RnVsbENvbnRleHRQYXRoIiwiZnVsbENvbnRleHRQYXRoIiwiZ2V0TWFuaWZlc3RXcmFwcGVyIiwiTWFuaWZlc3RXcmFwcGVyIiwibWVyZ2UiLCJVSUNvbXBvbmVudCIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVGVtcGxhdGVDb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb252ZXJ0ZWRNZXRhZGF0YSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJzYXAvYmFzZS91dGlsL21lcmdlXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIGltcGxlbWVudEludGVyZmFjZSwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IENvbW1vblV0aWxzIGZyb20gXCJzYXAvZmUvY29yZS9Db21tb25VdGlsc1wiO1xuaW1wb3J0IHR5cGUgRXh0ZW5zaW9uQVBJIGZyb20gXCJzYXAvZmUvY29yZS9FeHRlbnNpb25BUElcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgeyBJQnVpbGRpbmdCbG9ja093bmVyQ29tcG9uZW50IH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0lCdWlsZGluZ0Jsb2NrT3duZXJDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIENvbnZlcnRlckNvbnRleHQgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvQ29udmVydGVyQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBOYXZpZ2F0aW9uVGFyZ2V0Q29uZmlndXJhdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB7IHR5cGUgQmFzZU1hbmlmZXN0U2V0dGluZ3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgTWFuaWZlc3RXcmFwcGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0V3JhcHBlclwiO1xuaW1wb3J0IHsgZ2V0TWV0YU1vZGVsQnlJZCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHR5cGUgeyBEZWZpbml0aW9uQ29udGV4dCwgRGVmaW5pdGlvblBhZ2UgfSBmcm9tIFwic2FwL2ZlL2NvcmUvZGVmaW5pdGlvbi9GRURlZmluaXRpb25cIjtcbmltcG9ydCB0eXBlIHsgVGl0bGVJbmZvcm1hdGlvbiB9IGZyb20gXCJzYXAvZmUvY29yZS9yb290Vmlldy9Sb290Vmlld0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBDb21wb25lbnRDb250YWluZXIgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudENvbnRhaW5lclwiO1xuaW1wb3J0IFVJQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9VSUNvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBJQXN5bmNDb250ZW50Q3JlYXRpb24gfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCB0eXBlIEJhc2VDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YUxpc3RCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFMaXN0QmluZGluZ1wiO1xuaW1wb3J0IHR5cGUgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTW9kZWxcIjtcblxuZXhwb3J0IHR5cGUgTmF2aWdhdGlvbkNvbmZpZ3VyYXRpb24gPSB7XG5cdGRldGFpbDoge1xuXHRcdHJvdXRlOiBzdHJpbmc7XG5cdFx0cGFyYW1ldGVyczogdW5rbm93bjtcblx0XHRvdXRib3VuZD86IHN0cmluZztcblx0XHRvdXRib3VuZERldGFpbD86IE5hdmlnYXRpb25UYXJnZXRDb25maWd1cmF0aW9uW1wib3V0Ym91bmREZXRhaWxcIl07XG5cdH07XG5cdGNyZWF0ZToge1xuXHRcdHJvdXRlOiBzdHJpbmc7XG5cdFx0cGFyYW1ldGVyczogdW5rbm93bjtcblx0XHRvdXRib3VuZD86IHN0cmluZztcblx0XHRvdXRib3VuZERldGFpbD86IE5hdmlnYXRpb25UYXJnZXRDb25maWd1cmF0aW9uW1wib3V0Ym91bmREZXRhaWxcIl07XG5cdH07XG59O1xuXG5leHBvcnQgdHlwZSBYTUxQcmVwcm9jZXNzb3JDb250ZXh0ID0ge1xuXHRiaW5kaW5nQ29udGV4dHM6IFJlY29yZDxzdHJpbmcsIEJhc2VDb250ZXh0IHwgbnVsbD47XG5cdG1vZGVsczogUmVjb3JkPHN0cmluZywgTW9kZWw+O1xuXHRmdWxsQ29udGV4dFBhdGg6IHN0cmluZztcblx0Z2V0Q29udmVydGVkTWV0YWRhdGE6ICgpID0+IENvbnZlcnRlZE1ldGFkYXRhO1xuXHRnZXREZWZpbml0aW9uQ29udGV4dDogKCkgPT4gRGVmaW5pdGlvbkNvbnRleHQ7XG5cdGdldERlZmluaXRpb25Gb3JQYWdlOiAoKSA9PiBEZWZpbml0aW9uUGFnZTtcblx0YXBwQ29tcG9uZW50OiBBcHBDb21wb25lbnQ7XG5cdHZpZXdJZDogc3RyaW5nO1xufTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuVGVtcGxhdGVDb21wb25lbnRcIilcbmNsYXNzIFRlbXBsYXRlQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQgaW1wbGVtZW50cyBJQXN5bmNDb250ZW50Q3JlYXRpb24sIElCdWlsZGluZ0Jsb2NrT3duZXJDb21wb25lbnQge1xuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLnVpLmNvcmUuSUFzeW5jQ29udGVudENyZWF0aW9uXCIpXG5cdF9faW1wbGVtZW50c19fc2FwX3VpX2NvcmVfSUFzeW5jQ29udGVudENyZWF0aW9uID0gdHJ1ZTtcblxuXHRAaW1wbGVtZW50SW50ZXJmYWNlKFwic2FwLmZlLmNvcmUuYnVpbGRpbmdCbG9ja3MuSUJ1aWxkaW5nQmxvY2tPd25lckNvbXBvbmVudFwiKVxuXHRfX2ltcGxlbWVudHNfX3NhcF9mZV9jb3JlX2J1aWxkaW5nQmxvY2tzX0lCdWlsZGluZ0Jsb2NrT3duZXJDb21wb25lbnQgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBOYW1lIG9mIHRoZSBPRGF0YSBlbnRpdHkgc2V0XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBkZWZhdWx0VmFsdWU6IG51bGwgfSlcblx0ZW50aXR5U2V0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuXHQvKipcblx0ICogQ29udGV4dCBQYXRoIGZvciByZW5kZXJpbmcgdGhlIHRlbXBsYXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBkZWZhdWx0VmFsdWU6IG51bGwgfSlcblx0Y29udGV4dFBhdGg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0cHJlcHJvY2Vzc29yQ29udGV4dD86IFhNTFByZXByb2Nlc3NvckNvbnRleHQ7XG5cblx0LyoqXG5cdCAqIFRoZSBwYXR0ZXJuIGZvciB0aGUgYmluZGluZyBjb250ZXh0IHRvIGJlIGNyZWF0ZSBiYXNlZCBvbiB0aGUgcGFyYW1ldGVycyBmcm9tIHRoZSBuYXZpZ2F0aW9uXG5cdCAqIElmIG5vdCBwcm92aWRlZCB3ZSdsbCBkZWZhdWx0IHRvIHdoYXQgd2FzIHBhc3NlZCBpbiB0aGUgVVJMXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGJpbmRpbmdDb250ZXh0UGF0dGVybiE6IHN0cmluZztcblxuXHQvKipcblx0ICogTWFwIG9mIHVzZWQgT0RhdGEgbmF2aWdhdGlvbnMgYW5kIGl0cyByb3V0aW5nIHRhcmdldHNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0bmF2aWdhdGlvbiE6IFJlY29yZDxzdHJpbmcsIE5hdmlnYXRpb25Db25maWd1cmF0aW9uPjtcblxuXHQvKipcblx0ICogRW5oYW5jZSB0aGUgaTE4biBidW5kbGUgdXNlZCBmb3IgdGhpcyBwYWdlIHdpdGggb25lIG9yIG1vcmUgYXBwIHNwZWNpZmljIGkxOG4gcmVzb3VyY2UgYnVuZGxlcyBvciByZXNvdXJjZSBtb2RlbHNcblx0ICogb3IgYSBjb21iaW5hdGlvbiBvZiBib3RoLiBUaGUgbGFzdCByZXNvdXJjZSBidW5kbGUvbW9kZWwgaXMgZ2l2ZW4gaGlnaGVzdCBwcmlvcml0eVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdbXVwiIH0pXG5cdGVuaGFuY2VJMThuITogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIERlZmluZSBjb250cm9sIHJlbGF0ZWQgY29uZmlndXJhdGlvbiBzZXR0aW5nc1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJvYmplY3RcIiB9KVxuXHRjb250cm9sQ29uZmlndXJhdGlvbj86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdC8qKlxuXHQgKiBBZGp1c3RzIHRoZSB0ZW1wbGF0ZSBjb250ZW50XG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdGNvbnRlbnQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgeW91IGNhbiByZWFjaCB0aGlzIHBhZ2UgZGlyZWN0bHkgdGhyb3VnaCBzZW1hbnRpYyBib29rbWFya3Ncblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGFsbG93RGVlcExpbmtpbmchOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBjb250ZXh0IHBhdGggb24gdGhlIGNvbXBvbmVudCB0aGF0IGlzIHJlZnJlc2hlZCB3aGVuIHRoZSBhcHAgaXMgcmVzdG9yZWQgdXNpbmcga2VlcCBhbGl2ZSBtb2RlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcIm9iamVjdFwiIH0pXG5cdHJlZnJlc2hTdHJhdGVneU9uQXBwUmVzdG9yZTogdW5rbm93bjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHZpZXdUeXBlID0gXCJYTUxcIjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHZpZXdOYW1lPzogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0X2pzeFZpZXdOYW1lID0gXCJcIjtcblxuXHRAZXZlbnQoKVxuXHRjb250YWluZXJEZWZpbmVkITogRnVuY3Rpb247XG5cblx0QGV2ZW50KClcblx0aGVyb2VzQmF0Y2hSZWNlaXZlZCE6IEZ1bmN0aW9uO1xuXG5cdEBldmVudCgpXG5cdHdvcmtlcnNCYXRjaFJlY2VpdmVkITogRnVuY3Rpb247XG5cblx0cHJvdGVjdGVkIG9BcHBDb21wb25lbnQhOiBBcHBDb21wb25lbnQ7XG5cblx0cHJpdmF0ZSBfcm9vdENvbnRyb2xsZXI/OiBQYWdlQ29udHJvbGxlcjtcblxuXHQvLyBUaGUgaWQgb2YgYSBmcmFnbWVudCBiZWluZyBwcm9jZXNzZWQsIGl0IHdpbGwgdGFrZSBwcmlvcml0eSBpbiB0aGUgSUQgZ2VuZXJhdGlvblxuXHRwcml2YXRlIF90ZW1wb3JhcnlGcmFnbWVudElkPzogc3RyaW5nO1xuXG5cdHNldENvbnRhaW5lcihvQ29udGFpbmVyOiBDb21wb25lbnRDb250YWluZXIpOiB0aGlzIHtcblx0XHRzdXBlci5zZXRDb250YWluZXIob0NvbnRhaW5lcik7XG5cdFx0dGhpcy5maXJlRXZlbnQoXCJjb250YWluZXJEZWZpbmVkXCIsIHsgY29udGFpbmVyOiBvQ29udGFpbmVyIH0pO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0aW5pdCgpOiB2b2lkIHtcblx0XHR0aGlzLm9BcHBDb21wb25lbnQgPSBDb21tb25VdGlscy5nZXRBcHBDb21wb25lbnQodGhpcyk7XG5cdFx0c3VwZXIuaW5pdCgpO1xuXHR9XG5cblx0Ly8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIGJ5IFVJNSBjb3JlIHRvIGFjY2VzcyB0byB0aGUgY29tcG9uZW50IGNvbnRhaW5pbmcgdGhlIGN1c3RvbWl6aW5nIGNvbmZpZ3VyYXRpb24uXG5cdC8vIGFzIGNvbnRyb2xsZXIgZXh0ZW5zaW9ucyBhcmUgZGVmaW5lZCBpbiB0aGUgbWFuaWZlc3QgZm9yIHRoZSBhcHAgY29tcG9uZW50IGFuZCBub3QgZm9yIHRoZVxuXHQvLyB0ZW1wbGF0ZSBjb21wb25lbnQgd2UgcmV0dXJuIHRoZSBhcHAgY29tcG9uZW50LlxuXHRnZXRFeHRlbnNpb25Db21wb25lbnQoKTogQXBwQ29tcG9uZW50IHtcblx0XHRyZXR1cm4gdGhpcy5vQXBwQ29tcG9uZW50O1xuXHR9XG5cblx0Z2V0QXBwQ29tcG9uZW50KCk6IEFwcENvbXBvbmVudCB7XG5cdFx0cmV0dXJuIHRoaXMub0FwcENvbXBvbmVudDtcblx0fVxuXG5cdHNldFJvb3RDb250cm9sbGVyKGNvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyKTogdm9pZCB7XG5cdFx0dGhpcy5fcm9vdENvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuXHR9XG5cblx0Z2V0Um9vdENvbnRyb2xsZXIoKTogUGFnZUNvbnRyb2xsZXIgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHJvb3RDb250cm9sOiBWaWV3ID0gdGhpcy5nZXRSb290Q29udHJvbCgpO1xuXHRcdGxldCByb290Q29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXIgfCB1bmRlZmluZWQ7XG5cdFx0aWYgKHJvb3RDb250cm9sICYmIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIpIHtcblx0XHRcdHJvb3RDb250cm9sbGVyID0gcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpIGFzIFBhZ2VDb250cm9sbGVyO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyb290Q29udHJvbGxlciA9IHRoaXMuX3Jvb3RDb250cm9sbGVyO1xuXHRcdH1cblx0XHRyZXR1cm4gcm9vdENvbnRyb2xsZXI7XG5cdH1cblxuXHRvblBhZ2VSZWFkeShtUGFyYW1ldGVyczogdW5rbm93bik6IHZvaWQge1xuXHRcdGNvbnN0IHJvb3RDb250cm9sbGVyID0gdGhpcy5nZXRSb290Q29udHJvbGxlcigpO1xuXHRcdGlmIChyb290Q29udHJvbGxlciAmJiByb290Q29udHJvbGxlci5vblBhZ2VSZWFkeSkge1xuXHRcdFx0cm9vdENvbnRyb2xsZXIub25QYWdlUmVhZHkobVBhcmFtZXRlcnMpO1xuXHRcdH1cblx0fVxuXG5cdGdldE5hdmlnYXRpb25Db25maWd1cmF0aW9uKHNUYXJnZXRQYXRoOiBzdHJpbmcpOiBOYXZpZ2F0aW9uQ29uZmlndXJhdGlvbiB7XG5cdFx0Y29uc3QgbU5hdmlnYXRpb24gPSB0aGlzLm5hdmlnYXRpb247XG5cdFx0cmV0dXJuIG1OYXZpZ2F0aW9uW3NUYXJnZXRQYXRoXTtcblx0fVxuXG5cdGdldFZpZXdEYXRhKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcblx0XHRjb25zdCBtUHJvcGVydGllcyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxQcm9wZXJ0aWVzKCk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhID0gT2JqZWN0LmtleXMobVByb3BlcnRpZXMpLnJlZHVjZSgobVZpZXdEYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgc1Byb3BlcnR5TmFtZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRtVmlld0RhdGFbc1Byb3BlcnR5TmFtZV0gPSBtUHJvcGVydGllc1tzUHJvcGVydHlOYW1lXS5nZXQhKHRoaXMpO1xuXHRcdFx0cmV0dXJuIG1WaWV3RGF0YTtcblx0XHR9LCB7fSk7XG5cdFx0ZGVsZXRlIG9WaWV3RGF0YS5wcmVwcm9jZXNzb3JDb250ZXh0O1xuXHRcdC8vIEFjY2VzcyB0aGUgaW50ZXJuYWwgX2lzRmNsRW5hYmxlZCB3aGljaCB3aWxsIGJlIHRoZXJlXG5cdFx0b1ZpZXdEYXRhLmZjbEVuYWJsZWQgPSB0aGlzLm9BcHBDb21wb25lbnQuX2lzRmNsRW5hYmxlZCgpO1xuXHRcdGNvbnN0IHJvdXRpbmdUYXJnZXROYW1lID0gdGhpcy5vQXBwQ29tcG9uZW50LmdldFJvdXRpbmdTZXJ2aWNlKCkuZ2V0VGFyZ2V0TmFtZSh0aGlzKTtcblx0XHRvVmlld0RhdGEuaXNJbmxpbmVFZGl0RW5hYmxlZCA9IHJvdXRpbmdUYXJnZXROYW1lXG5cdFx0XHQ/IHRoaXMub0FwcENvbXBvbmVudC5nZXRJbmxpbmVFZGl0U2VydmljZSgpLmRvZXNQYWdlSGF2ZUlubGluZUVkaXQocm91dGluZ1RhcmdldE5hbWUpXG5cdFx0XHQ6IGZhbHNlO1xuXG5cdFx0cmV0dXJuIG9WaWV3RGF0YTtcblx0fVxuXG5cdF9nZXRQYWdlVGl0bGVJbmZvcm1hdGlvbigpOiBUaXRsZUluZm9ybWF0aW9uIHtcblx0XHRjb25zdCByb290Q29udHJvbCA9IHRoaXMuZ2V0Um9vdENvbnRyb2woKTtcblx0XHRpZiAocm9vdENvbnRyb2wgJiYgcm9vdENvbnRyb2wuZ2V0Q29udHJvbGxlcigpICYmIHJvb3RDb250cm9sLmdldENvbnRyb2xsZXIoKS5fZ2V0UGFnZVRpdGxlSW5mb3JtYXRpb24pIHtcblx0XHRcdHJldHVybiByb290Q29udHJvbC5nZXRDb250cm9sbGVyKCkuX2dldFBhZ2VUaXRsZUluZm9ybWF0aW9uKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB7fSBhcyBUaXRsZUluZm9ybWF0aW9uO1xuXHRcdH1cblx0fVxuXG5cdGdldEV4dGVuc2lvbkFQSSgpOiBFeHRlbnNpb25BUEkge1xuXHRcdHJldHVybiB0aGlzLmdldFJvb3RDb250cm9sKCkuZ2V0Q29udHJvbGxlcigpLmdldEV4dGVuc2lvbkFQSSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgbWV0YW1vZGVsIGZvciB0aGUgZ2l2ZW4gbWV0YW1vZGVsIHJlZmVyZW5jZSAoSUQgLyBuYW1lIG9yIHVuZGVmaW5lZCBmb3IgdGhlIGRlZmF1bHQgb25lKS5cblx0ICogQHBhcmFtIG1ldGFNb2RlbFJlZmVyZW5jZSBUaGUgbWV0YW1vZGVsIHJlZmVyZW5jZVxuXHQgKiBAcmV0dXJucyBUaGUgY29ycmVjdCBtZXRhbW9kZWwgaWYgaXQgZXhpdHNcblx0ICovXG5cdGdldE1ldGFNb2RlbChtZXRhTW9kZWxSZWZlcmVuY2U/OiBzdHJpbmcpOiBPRGF0YU1ldGFNb2RlbCB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCFtZXRhTW9kZWxSZWZlcmVuY2UpIHtcblx0XHRcdHJldHVybiB0aGlzLnByZXByb2Nlc3NvckNvbnRleHQ/Lm1vZGVscy5tZXRhTW9kZWwgYXMgT0RhdGFNZXRhTW9kZWwgfCB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIGlmIChtZXRhTW9kZWxSZWZlcmVuY2Uuc3RhcnRzV2l0aChcImlkLVwiKSkge1xuXHRcdFx0cmV0dXJuIGdldE1ldGFNb2RlbEJ5SWQobWV0YU1vZGVsUmVmZXJlbmNlKTtcblx0XHR9IGVsc2UgaWYgKCF0aGlzLmdldE1vZGVsKG1ldGFNb2RlbFJlZmVyZW5jZSkpIHtcblx0XHRcdHJldHVybiB0aGlzLmdldEFwcENvbXBvbmVudCgpLmdldE1vZGVsKG1ldGFNb2RlbFJlZmVyZW5jZSk/LmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsIHwgdW5kZWZpbmVkO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRNb2RlbChtZXRhTW9kZWxSZWZlcmVuY2UpPy5nZXRNZXRhTW9kZWwoKSBhcyBPRGF0YU1ldGFNb2RlbCB8IHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBmdWxsIGNvbnRleHQgcGF0aCBmb3IgdGhlIGdpdmVuIG1ldGFtb2RlbCByZWZlcmVuY2UgKElEIC8gbmFtZSBvciB1bmRlZmluZWQgZm9yIHRoZSBkZWZhdWx0IG9uZSkuXG5cdCAqIEBwYXJhbSBtZXRhTW9kZWxSZWZlcmVuY2UgVGhlIG1ldGFtb2RlbCByZWZlcmVuY2Vcblx0ICogQHJldHVybnMgVGhlIGNvcnJlY3QgZnVsbCBjb250ZXh0IHBhdGhcblx0ICovXG5cdGdldEZ1bGxDb250ZXh0UGF0aChtZXRhTW9kZWxSZWZlcmVuY2U6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCFtZXRhTW9kZWxSZWZlcmVuY2UpIHtcblx0XHRcdHJldHVybiB0aGlzLnByZXByb2Nlc3NvckNvbnRleHQ/LmZ1bGxDb250ZXh0UGF0aDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBNYW5pZmVzdFdyYXBwZXIgZm9yIHRoZSBjdXJyZW50IHZpZXcuXG5cdCAqIEByZXR1cm5zIFRoZSBNYW5pZmVzdFdyYXBwZXJcblx0ICovXG5cdGdldE1hbmlmZXN0V3JhcHBlcigpOiBNYW5pZmVzdFdyYXBwZXIge1xuXHRcdHJldHVybiBuZXcgTWFuaWZlc3RXcmFwcGVyKHRoaXMuZ2V0Vmlld0RhdGEoKSBhcyBCYXNlTWFuaWZlc3RTZXR0aW5ncywgbWVyZ2UpO1xuXHR9XG59XG5pbnRlcmZhY2UgVGVtcGxhdGVDb21wb25lbnQge1xuXHQvLyBUT0RPOiB0aGlzIHNob3VsZCBiZSBpZGVhbGx5IGJlIGhhbmRsZWQgYnkgdGhlIGVkaXRmbG93L3JvdXRpbmcgd2l0aG91dCB0aGUgbmVlZCB0byBoYXZlIHRoaXMgbWV0aG9kIGluIHRoZSBvYmplY3QgcGFnZSAtIGZvciBub3cga2VlcCBpdCBoZXJlXG5cdGNyZWF0ZURlZmVycmVkQ29udGV4dD8oXG5cdFx0c1BhdGg6IHN0cmluZyxcblx0XHRvTGlzdEJpbmRpbmc6IE9EYXRhTGlzdEJpbmRpbmcgfCB1bmRlZmluZWQsXG5cdFx0cGFyZW50Q29udGV4dDogQ29udGV4dCB8IHVuZGVmaW5lZCxcblx0XHRkYXRhOiBvYmplY3QgfCB1bmRlZmluZWQsXG5cdFx0YkFjdGlvbkNyZWF0ZTogYm9vbGVhblxuXHQpOiB2b2lkO1xuXHRpc09wZW5JbkVkaXRNb2RlKCk6IGJvb2xlYW47XG5cdGdldFJvb3RDb250cm9sKCk6IHsgZ2V0Q29udHJvbGxlcigpOiBQYWdlQ29udHJvbGxlciB9ICYgVmlldztcblx0ZXh0ZW5kUGFnZURlZmluaXRpb24/KHBhZ2VEZWZpbml0aW9uOiB7fSwgY29udmVydGVyQ29udGV4dD86IENvbnZlcnRlckNvbnRleHQpOiB7fTtcblx0Z2V0TW9kZWwoKTogT0RhdGFNb2RlbDtcblx0Z2V0TW9kZWwobW9kZWxOYW1lOiBcIl9wYWdlTW9kZWxcIik6IEpTT05Nb2RlbDtcblx0Z2V0TW9kZWwobW9kZWxOYW1lOiBzdHJpbmcpOiBNb2RlbCB8IHVuZGVmaW5lZDtcbn1cbmV4cG9ydCBkZWZhdWx0IFRlbXBsYXRlQ29tcG9uZW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFzRE1BLGlCQUFpQixJQUFBQyxJQUFBLEdBRHRCQyxjQUFjLENBQUMsK0JBQStCLENBQUMsRUFBQUMsS0FBQSxHQUU5Q0Msa0JBQWtCLENBQUMsbUNBQW1DLENBQUMsRUFBQUMsS0FBQSxHQUd2REQsa0JBQWtCLENBQUMseURBQXlELENBQUMsRUFBQUUsS0FBQSxHQU03RUMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVDLFlBQVksRUFBRTtFQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBTWhESCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLFFBQVE7SUFBRUMsWUFBWSxFQUFFO0VBQUssQ0FBQyxDQUFDLEVBQUFFLEtBQUEsR0FHaERKLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUksS0FBQSxHQU81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
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { ConvertedMetadata } from "@sap-ux/vocabularies-types";
|
|
2
|
+
import merge from "sap/base/util/merge";
|
|
2
3
|
import { defineUI5Class, event, implementInterface, property } from "sap/fe/base/ClassSupport";
|
|
3
4
|
import type AppComponent from "sap/fe/core/AppComponent";
|
|
4
5
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
5
6
|
import type ExtensionAPI from "sap/fe/core/ExtensionAPI";
|
|
6
7
|
import type PageController from "sap/fe/core/PageController";
|
|
8
|
+
import type { IBuildingBlockOwnerComponent } from "sap/fe/core/buildingBlocks/IBuildingBlockOwnerComponent";
|
|
7
9
|
import type ConverterContext from "sap/fe/core/converters/ConverterContext";
|
|
8
10
|
import type { NavigationTargetConfiguration } from "sap/fe/core/converters/ManifestSettings";
|
|
11
|
+
import { type BaseManifestSettings } from "sap/fe/core/converters/ManifestSettings";
|
|
12
|
+
import ManifestWrapper from "sap/fe/core/converters/ManifestWrapper";
|
|
9
13
|
import { getMetaModelById } from "sap/fe/core/converters/MetaModelConverter";
|
|
10
14
|
import type { DefinitionContext, DefinitionPage } from "sap/fe/core/definition/FEDefinition";
|
|
11
15
|
import type { TitleInformation } from "sap/fe/core/rootView/RootViewBaseController";
|
|
@@ -48,10 +52,13 @@ export type XMLPreprocessorContext = {
|
|
|
48
52
|
};
|
|
49
53
|
|
|
50
54
|
@defineUI5Class("sap.fe.core.TemplateComponent")
|
|
51
|
-
class TemplateComponent extends UIComponent implements IAsyncContentCreation {
|
|
55
|
+
class TemplateComponent extends UIComponent implements IAsyncContentCreation, IBuildingBlockOwnerComponent {
|
|
52
56
|
@implementInterface("sap.ui.core.IAsyncContentCreation")
|
|
53
57
|
__implements__sap_ui_core_IAsyncContentCreation = true;
|
|
54
58
|
|
|
59
|
+
@implementInterface("sap.fe.core.buildingBlocks.IBuildingBlockOwnerComponent")
|
|
60
|
+
__implements__sap_fe_core_buildingBlocks_IBuildingBlockOwnerComponent = true;
|
|
61
|
+
|
|
55
62
|
/**
|
|
56
63
|
* Name of the OData entity set
|
|
57
64
|
*/
|
|
@@ -194,6 +201,10 @@ class TemplateComponent extends UIComponent implements IAsyncContentCreation {
|
|
|
194
201
|
delete oViewData.preprocessorContext;
|
|
195
202
|
// Access the internal _isFclEnabled which will be there
|
|
196
203
|
oViewData.fclEnabled = this.oAppComponent._isFclEnabled();
|
|
204
|
+
const routingTargetName = this.oAppComponent.getRoutingService().getTargetName(this);
|
|
205
|
+
oViewData.isInlineEditEnabled = routingTargetName
|
|
206
|
+
? this.oAppComponent.getInlineEditService().doesPageHaveInlineEdit(routingTargetName)
|
|
207
|
+
: false;
|
|
197
208
|
|
|
198
209
|
return oViewData;
|
|
199
210
|
}
|
|
@@ -238,6 +249,14 @@ class TemplateComponent extends UIComponent implements IAsyncContentCreation {
|
|
|
238
249
|
return this.preprocessorContext?.fullContextPath;
|
|
239
250
|
}
|
|
240
251
|
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Retrieves the ManifestWrapper for the current view.
|
|
255
|
+
* @returns The ManifestWrapper
|
|
256
|
+
*/
|
|
257
|
+
getManifestWrapper(): ManifestWrapper {
|
|
258
|
+
return new ManifestWrapper(this.getViewData() as BaseManifestSettings, merge);
|
|
259
|
+
}
|
|
241
260
|
}
|
|
242
261
|
interface TemplateComponent {
|
|
243
262
|
// TODO: this should be ideally be handled by the editflow/routing without the need to have this method in the object page - for now keep it here
|
|
@@ -12,7 +12,6 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/Object", "sap/ui/model/j
|
|
|
12
12
|
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
13
13
|
// We are overriding internal from the JSONModel so this makes sense
|
|
14
14
|
let TemplateModel = (_dec = defineUI5Class("sap.fe.core.TemplateModel"), _dec(_class = /*#__PURE__*/function (_BaseObject) {
|
|
15
|
-
_inheritsLoose(TemplateModel, _BaseObject);
|
|
16
15
|
function TemplateModel(pageConfig, oMetaModel) {
|
|
17
16
|
var _this;
|
|
18
17
|
_this = _BaseObject.call(this) || this;
|
|
@@ -22,7 +21,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/Object", "sap/ui/model/j
|
|
|
22
21
|
_this.oConfigModel.setSizeLimit(Number.MAX_VALUE);
|
|
23
22
|
_this.bConfigLoaded = false;
|
|
24
23
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
25
|
-
const that =
|
|
24
|
+
const that = _this;
|
|
26
25
|
if (typeof pageConfig === "function") {
|
|
27
26
|
const fnGetObject = _this.oConfigModel._getObject.bind(_this.oConfigModel);
|
|
28
27
|
_this.oConfigModel._getObject = function (sPath, oContext) {
|
|
@@ -37,8 +36,8 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/Object", "sap/ui/model/j
|
|
|
37
36
|
_this.fnCreateMetaBindingContext = _this.oMetaModel.createBindingContext.bind(_this.oMetaModel);
|
|
38
37
|
_this.fnCreateConfigBindingContext = _this.oConfigModel.createBindingContext.bind(_this.oConfigModel);
|
|
39
38
|
_this.fnSetData = _this.oConfigModel.setData.bind(_this.oConfigModel);
|
|
40
|
-
_this.oConfigModel.createBindingContext = _this.createBindingContext.bind(
|
|
41
|
-
_this.oConfigModel.setData = _this.setData.bind(
|
|
39
|
+
_this.oConfigModel.createBindingContext = _this.createBindingContext.bind(_this);
|
|
40
|
+
_this.oConfigModel.setData = _this.setData.bind(_this);
|
|
42
41
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
43
42
|
// @ts-ignore
|
|
44
43
|
return _this.oConfigModel || _assertThisInitialized(_this);
|
|
@@ -48,17 +47,17 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/Object", "sap/ui/model/j
|
|
|
48
47
|
* Overwrite the standard setData to keep track whether the external configuration has been loaded or not.
|
|
49
48
|
* @param dataToSet The data to set to the json model containing the configuration
|
|
50
49
|
*/
|
|
50
|
+
_inheritsLoose(TemplateModel, _BaseObject);
|
|
51
51
|
var _proto = TemplateModel.prototype;
|
|
52
52
|
_proto.setData = function setData(dataToSet) {
|
|
53
53
|
this.fnSetData(dataToSet);
|
|
54
54
|
this.bConfigLoaded = true;
|
|
55
55
|
};
|
|
56
56
|
_proto.createBindingContext = function createBindingContext(sPath, oContext, mParameters, fnCallBack) {
|
|
57
|
-
var _oBindingContext;
|
|
58
57
|
let oBindingContext;
|
|
59
58
|
const bNoResolve = mParameters && mParameters.noResolve;
|
|
60
59
|
oBindingContext = this.fnCreateConfigBindingContext(sPath, oContext, mParameters, fnCallBack);
|
|
61
|
-
const sResolvedPath = !bNoResolve &&
|
|
60
|
+
const sResolvedPath = !bNoResolve && oBindingContext?.getObject();
|
|
62
61
|
if (sResolvedPath && typeof sResolvedPath === "string") {
|
|
63
62
|
oBindingContext = this.fnCreateMetaBindingContext(sResolvedPath, oContext, mParameters, fnCallBack);
|
|
64
63
|
}
|
|
@@ -72,4 +71,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/ui/base/Object", "sap/ui/model/j
|
|
|
72
71
|
}(BaseObject)) || _class);
|
|
73
72
|
return TemplateModel;
|
|
74
73
|
}, false);
|
|
75
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUZW1wbGF0ZU1vZGVsIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2NsYXNzIiwiX0Jhc2VPYmplY3QiLCJwYWdlQ29uZmlnIiwib01ldGFNb2RlbCIsIl90aGlzIiwiY2FsbCIsIm9Db25maWdNb2RlbCIsIkpTT05Nb2RlbCIsInNldFNpemVMaW1pdCIsIk51bWJlciIsIk1BWF9WQUxVRSIsImJDb25maWdMb2FkZWQiLCJ0aGF0IiwiZm5HZXRPYmplY3QiLCJfZ2V0T2JqZWN0IiwiYmluZCIsInNQYXRoIiwib0NvbnRleHQiLCJzZXREYXRhIiwiZm5DcmVhdGVNZXRhQmluZGluZ0NvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsImZuQ3JlYXRlQ29uZmlnQmluZGluZ0NvbnRleHQiLCJmblNldERhdGEiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemVkIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJkYXRhVG9TZXQiLCJtUGFyYW1ldGVycyIsImZuQ2FsbEJhY2siLCJvQmluZGluZ0NvbnRleHQiLCJiTm9SZXNvbHZlIiwibm9SZXNvbHZlIiwic1Jlc29sdmVkUGF0aCIsImdldE9iamVjdCIsImRlc3Ryb3kiLCJhcHBseSIsIkJhc2VPYmplY3QiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlRlbXBsYXRlTW9kZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQmFzZU9iamVjdCBmcm9tIFwic2FwL3VpL2Jhc2UvT2JqZWN0XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5cbi8vIFdlIGFyZSBvdmVycmlkaW5nIGludGVybmFsIGZyb20gdGhlIEpTT05Nb2RlbCBzbyB0aGlzIG1ha2VzIHNlbnNlXG50eXBlIEludGVybmFsSlNPTk1vZGVsID0gSlNPTk1vZGVsICYge1xuXHRfZ2V0T2JqZWN0KHNQYXRoOiBzdHJpbmcsIG9Db250ZXh0PzogQ29udGV4dCk6IG9iamVjdDtcbn07XG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5UZW1wbGF0ZU1vZGVsXCIpXG5jbGFzcyBUZW1wbGF0ZU1vZGVsIGV4dGVuZHMgQmFzZU9iamVjdCB7XG5cdHB1YmxpYyBvTWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbDtcblxuXHRwdWJsaWMgb0NvbmZpZ01vZGVsOiBKU09OTW9kZWw7XG5cblx0cHVibGljIGJDb25maWdMb2FkZWQ6IGJvb2xlYW47XG5cblx0cHVibGljIGZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0OiBGdW5jdGlvbjtcblxuXHRwdWJsaWMgZm5DcmVhdGVDb25maWdCaW5kaW5nQ29udGV4dDogRnVuY3Rpb247XG5cblx0cHVibGljIGZuU2V0RGF0YTogRnVuY3Rpb247XG5cblx0Y29uc3RydWN0b3IocGFnZUNvbmZpZzogRnVuY3Rpb24gfCBvYmplY3QsIG9NZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsKSB7XG5cdFx0c3VwZXIoKTtcblx0XHR0aGlzLm9NZXRhTW9kZWwgPSBvTWV0YU1vZGVsO1xuXHRcdHRoaXMub0NvbmZpZ01vZGVsID0gbmV3IEpTT05Nb2RlbCgpO1xuXHRcdC8vIGRvbid0IGxpbWl0IGFnZ3JlZ2F0aW9uIGJpbmRpbmdzXG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuc2V0U2l6ZUxpbWl0KE51bWJlci5NQVhfVkFMVUUpO1xuXHRcdHRoaXMuYkNvbmZpZ0xvYWRlZCA9IGZhbHNlO1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXG5cdFx0aWYgKHR5cGVvZiBwYWdlQ29uZmlnID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdGNvbnN0IGZuR2V0T2JqZWN0ID0gKHRoaXMub0NvbmZpZ01vZGVsIGFzIEludGVybmFsSlNPTk1vZGVsKS5fZ2V0T2JqZWN0LmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXHRcdFx0KHRoaXMub0NvbmZpZ01vZGVsIGFzIEludGVybmFsSlNPTk1vZGVsKS5fZ2V0T2JqZWN0ID0gZnVuY3Rpb24gKHNQYXRoOiBzdHJpbmcsIG9Db250ZXh0OiBDb250ZXh0KTogT2JqZWN0IHtcblx0XHRcdFx0aWYgKCF0aGF0LmJDb25maWdMb2FkZWQpIHtcblx0XHRcdFx0XHR0aGlzLnNldERhdGEocGFnZUNvbmZpZygpKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZm5HZXRPYmplY3Qoc1BhdGgsIG9Db250ZXh0KTtcblx0XHRcdH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMub0NvbmZpZ01vZGVsLnNldERhdGEocGFnZUNvbmZpZyk7XG5cdFx0fVxuXG5cdFx0dGhpcy5mbkNyZWF0ZU1ldGFCaW5kaW5nQ29udGV4dCA9IHRoaXMub01ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dC5iaW5kKHRoaXMub01ldGFNb2RlbCk7XG5cdFx0dGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0ID0gdGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQuYmluZCh0aGlzLm9Db25maWdNb2RlbCk7XG5cdFx0dGhpcy5mblNldERhdGEgPSB0aGlzLm9Db25maWdNb2RlbC5zZXREYXRhLmJpbmQodGhpcy5vQ29uZmlnTW9kZWwpO1xuXG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQgPSB0aGlzLmNyZWF0ZUJpbmRpbmdDb250ZXh0LmJpbmQodGhpcyk7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuc2V0RGF0YSA9IHRoaXMuc2V0RGF0YS5iaW5kKHRoaXMpO1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0cmV0dXJuIHRoaXMub0NvbmZpZ01vZGVsO1xuXHR9XG5cblx0LyoqXG5cdCAqIE92ZXJ3cml0ZSB0aGUgc3RhbmRhcmQgc2V0RGF0YSB0byBrZWVwIHRyYWNrIHdoZXRoZXIgdGhlIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gbG9hZGVkIG9yIG5vdC5cblx0ICogQHBhcmFtIGRhdGFUb1NldCBUaGUgZGF0YSB0byBzZXQgdG8gdGhlIGpzb24gbW9kZWwgY29udGFpbmluZyB0aGUgY29uZmlndXJhdGlvblxuXHQgKi9cblx0c2V0RGF0YShkYXRhVG9TZXQ6IG9iamVjdCk6IHZvaWQge1xuXHRcdHRoaXMuZm5TZXREYXRhKGRhdGFUb1NldCk7XG5cdFx0dGhpcy5iQ29uZmlnTG9hZGVkID0gdHJ1ZTtcblx0fVxuXG5cdGNyZWF0ZUJpbmRpbmdDb250ZXh0KHNQYXRoOiBzdHJpbmcsIG9Db250ZXh0PzogQ29udGV4dCwgbVBhcmFtZXRlcnM/OiB7IG5vUmVzb2x2ZT86IGJvb2xlYW4gfSwgZm5DYWxsQmFjaz86IEZ1bmN0aW9uKTogQ29udGV4dCB7XG5cdFx0bGV0IG9CaW5kaW5nQ29udGV4dDtcblx0XHRjb25zdCBiTm9SZXNvbHZlID0gbVBhcmFtZXRlcnMgJiYgbVBhcmFtZXRlcnMubm9SZXNvbHZlO1xuXG5cdFx0b0JpbmRpbmdDb250ZXh0ID0gdGhpcy5mbkNyZWF0ZUNvbmZpZ0JpbmRpbmdDb250ZXh0KHNQYXRoLCBvQ29udGV4dCwgbVBhcmFtZXRlcnMsIGZuQ2FsbEJhY2spO1xuXHRcdGNvbnN0IHNSZXNvbHZlZFBhdGggPSAhYk5vUmVzb2x2ZSAmJiBvQmluZGluZ0NvbnRleHQ/LmdldE9iamVjdCgpO1xuXHRcdGlmIChzUmVzb2x2ZWRQYXRoICYmIHR5cGVvZiBzUmVzb2x2ZWRQYXRoID09PSBcInN0cmluZ1wiKSB7XG5cdFx0XHRvQmluZGluZ0NvbnRleHQgPSB0aGlzLmZuQ3JlYXRlTWV0YUJpbmRpbmdDb250ZXh0KHNSZXNvbHZlZFBhdGgsIG9Db250ZXh0LCBtUGFyYW1ldGVycywgZm5DYWxsQmFjayk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG9CaW5kaW5nQ29udGV4dDtcblx0fVxuXG5cdGRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5vQ29uZmlnTW9kZWwuZGVzdHJveSgpO1xuXHRcdEpTT05Nb2RlbC5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBUZW1wbGF0ZU1vZGVsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7RUFNQTtFQUFBLElBS01BLGFBQWEsSUFBQUMsSUFBQSxHQURsQkMsY0FBYyxDQUFDLDJCQUEyQixDQUFDLEVBQUFELElBQUEsQ0FBQUUsTUFBQSwwQkFBQUMsV0FBQTtJQWMzQyxTQUFBSixjQUFZSyxVQUE2QixFQUFFQyxVQUEwQixFQUFFO01BQUEsSUFBQUMsS0FBQTtNQUN0RUEsS0FBQSxHQUFBSCxXQUFBLENBQUFJLElBQUEsS0FBTSxDQUFDO01BQ1BELEtBQUEsQ0FBS0QsVUFBVSxHQUFHQSxVQUFVO01BQzVCQyxLQUFBLENBQUtFLFlBQVksR0FBRyxJQUFJQyxTQUFTLENBQUMsQ0FBQztNQUNuQztNQUNBSCxLQUFBLENBQUtFLFlBQVksQ0FBQ0UsWUFBWSxDQUFDQyxNQUFNLENBQUNDLFNBQVMsQ0FBQztNQUNoRE4sS0FBQSxDQUFLTyxhQUFhLEdBQUcsS0FBSztNQUMxQjtNQUNBLE1BQU1DLElBQUksR0FBQVIsS0FBTztNQUVqQixJQUFJLE9BQU9GLFVBQVUsS0FBSyxVQUFVLEVBQUU7UUFDckMsTUFBTVcsV0FBVyxHQUFJVCxLQUFBLENBQUtFLFlBQVksQ0FBdUJRLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDWCxLQUFBLENBQUtFLFlBQVksQ0FBQztRQUM5RkYs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
|