@sapui5/sap.fe.core 1.112.0 → 1.114.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-dbg.js +70 -6
- package/src/sap/fe/core/ActionRuntime.js +1 -1
- package/src/sap/fe/core/ActionRuntime.js.map +1 -1
- package/src/sap/fe/core/ActionRuntime.ts +118 -3
- package/src/sap/fe/core/AppComponent-dbg.js +16 -6
- package/src/sap/fe/core/AppComponent.js +1 -1
- package/src/sap/fe/core/AppComponent.js.map +1 -1
- package/src/sap/fe/core/AppComponent.ts +21 -7
- package/src/sap/fe/core/AppStateHandler-dbg.js +11 -10
- package/src/sap/fe/core/AppStateHandler.js +1 -1
- package/src/sap/fe/core/AppStateHandler.js.map +1 -1
- package/src/sap/fe/core/AppStateHandler.ts +14 -11
- package/src/sap/fe/core/CommonUtils-dbg.js +102 -175
- package/src/sap/fe/core/CommonUtils.js +1 -1
- package/src/sap/fe/core/CommonUtils.js.map +1 -1
- package/src/sap/fe/core/CommonUtils.ts +114 -211
- package/src/sap/fe/core/ExtensionAPI-dbg.js +3 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +2 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +2 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +13 -18
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +32 -24
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +4 -4
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.ts +41 -29
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +2 -2
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +3 -1
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +124 -57
- package/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +146 -73
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +35 -74
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +35 -78
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +217 -127
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +227 -129
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +3 -5
- package/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/PageReady.ts +2 -4
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +3 -2
- package/src/sap/fe/core/controllerextensions/Share.js +1 -1
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Share.ts +2 -1
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +19 -14
- package/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +22 -14
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +41 -24
- package/src/sap/fe/core/controllerextensions/ViewState.js +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.ts +64 -31
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +8 -8
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.ts +7 -9
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +7 -45
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +5 -48
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +4 -4
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.ts +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +3 -3
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating-dbg.js +52 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.js +6 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialogTemplating.ts +46 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog-dbg.js +103 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.tsx +124 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +106 -205
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +121 -216
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +31 -4
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +38 -3
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +13 -10
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +7 -20
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +9 -4
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +12 -3
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +10 -6
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +20 -11
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +1 -8
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +0 -9
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +19 -15
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +19 -22
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +67 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +68 -0
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -0
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +4 -9
- package/src/sap/fe/core/controls/CommandExecution.js +1 -1
- package/src/sap/fe/core/controls/CommandExecution.js.map +1 -1
- package/src/sap/fe/core/controls/CommandExecution.ts +0 -8
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block-dbg.js +335 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +6 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js.map +1 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +336 -0
- package/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +3 -28
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +8 -29
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +30 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -1
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +38 -0
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +3 -5
- package/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/src/sap/fe/core/converters/ConverterContext.js.map +1 -1
- package/src/sap/fe/core/converters/ConverterContext.ts +2 -5
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +7 -6
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +5 -3
- package/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestWrapper.ts +7 -1
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +49 -28
- package/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -1
- package/src/sap/fe/core/converters/MetaModelConverter.ts +62 -30
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -3
- package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +1 -6
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +22 -7
- package/src/sap/fe/core/converters/annotations/DataField.js +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -1
- package/src/sap/fe/core/converters/annotations/DataField.ts +20 -7
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +701 -681
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +6 -12
- package/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Action.ts +9 -14
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +32 -20
- package/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +30 -18
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +4 -5
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +6 -37
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +7 -6
- package/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form.ts +5 -11
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +5 -5
- package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -4
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +135 -85
- package/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/Table.ts +189 -119
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +56 -22
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -1
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +67 -31
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +137 -49
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +166 -43
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +33 -14
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +31 -12
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +27 -18
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +36 -23
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +37 -15
- package/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation.ts +36 -20
- package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +8 -6
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/BindingHelper.ts +8 -6
- package/src/sap/fe/core/converters/helpers/InsightsHelpers-dbg.js +39 -0
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +6 -0
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +45 -0
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +3 -2
- package/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/IssueManager.ts +2 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +17 -16
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +11 -11
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +20 -17
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +25 -56
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +13 -13
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -1
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +18 -13
- package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +17 -33
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +1 -1
- package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/CollaborationFormatter.ts +27 -22
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +2 -6
- package/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/TableFormatter.ts +1 -5
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +13 -5
- package/src/sap/fe/core/formatters/ValueFormatter.js +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -1
- package/src/sap/fe/core/formatters/ValueFormatter.ts +19 -9
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +2 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit.ts +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +58 -35
- package/src/sap/fe/core/helpers/DeleteHelper.js +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/DeleteHelper.ts +76 -54
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +8 -4
- package/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/MassEditHelper.ts +7 -5
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +6 -5
- package/src/sap/fe/core/helpers/MessageStrip.js +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -1
- package/src/sap/fe/core/helpers/MessageStrip.ts +4 -4
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +167 -4
- package/src/sap/fe/core/helpers/MetaModelFunction.js +1 -1
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -1
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +205 -3
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +37 -73
- package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ModelHelper.ts +41 -68
- package/src/sap/fe/core/helpers/RecommendationHelper-dbg.js +71 -0
- package/src/sap/fe/core/helpers/RecommendationHelper.js +6 -0
- package/src/sap/fe/core/helpers/RecommendationHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/RecommendationHelper.ts +94 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +19 -3
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +1 -1
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +21 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +40 -6
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticDateOperators.ts +39 -5
- package/src/sap/fe/core/helpers/SizeHelper-dbg.js +53 -0
- package/src/sap/fe/core/helpers/SizeHelper.js +6 -0
- package/src/sap/fe/core/helpers/SizeHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/SizeHelper.ts +51 -0
- package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +52 -26
- package/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/StableIdHelper.ts +49 -25
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +147 -1
- package/src/sap/fe/core/helpers/TypeGuards.js +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -1
- package/src/sap/fe/core/helpers/TypeGuards.ts +151 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +25 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +24 -0
- package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.ts +1 -0
- package/src/sap/fe/core/library-dbg.js +1 -1
- package/src/sap/fe/core/library-preload.js +123 -95
- package/src/sap/fe/core/library-preload.js.map +1 -1
- package/src/sap/fe/core/library.js +1 -1
- package/src/sap/fe/core/manifest.json +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +67 -15
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +66 -14
- package/src/sap/fe/core/messagebundle.properties +6 -6
- package/src/sap/fe/core/messagebundle_ar.properties +5 -6
- package/src/sap/fe/core/messagebundle_bg.properties +11 -12
- package/src/sap/fe/core/messagebundle_ca.properties +3 -4
- package/src/sap/fe/core/messagebundle_cs.properties +3 -4
- package/src/sap/fe/core/messagebundle_cy.properties +3 -4
- package/src/sap/fe/core/messagebundle_da.properties +3 -4
- package/src/sap/fe/core/messagebundle_de.properties +11 -12
- package/src/sap/fe/core/messagebundle_el.properties +5 -6
- package/src/sap/fe/core/messagebundle_en.properties +3 -4
- package/src/sap/fe/core/messagebundle_en_GB.properties +4 -5
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +3 -4
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +3 -4
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +3 -2
- package/src/sap/fe/core/messagebundle_es.properties +3 -4
- package/src/sap/fe/core/messagebundle_es_MX.properties +3 -4
- package/src/sap/fe/core/messagebundle_et.properties +3 -4
- package/src/sap/fe/core/messagebundle_fi.properties +3 -4
- package/src/sap/fe/core/messagebundle_fr.properties +3 -4
- package/src/sap/fe/core/messagebundle_fr_CA.properties +11 -12
- package/src/sap/fe/core/messagebundle_hi.properties +11 -12
- package/src/sap/fe/core/messagebundle_hr.properties +3 -4
- package/src/sap/fe/core/messagebundle_hu.properties +3 -4
- package/src/sap/fe/core/messagebundle_id.properties +11 -12
- package/src/sap/fe/core/messagebundle_it.properties +3 -4
- package/src/sap/fe/core/messagebundle_iw.properties +3 -4
- package/src/sap/fe/core/messagebundle_ja.properties +4 -5
- package/src/sap/fe/core/messagebundle_kk.properties +3 -4
- package/src/sap/fe/core/messagebundle_ko.properties +11 -12
- package/src/sap/fe/core/messagebundle_lt.properties +3 -4
- package/src/sap/fe/core/messagebundle_lv.properties +11 -12
- package/src/sap/fe/core/messagebundle_ms.properties +3 -4
- package/src/sap/fe/core/messagebundle_nl.properties +3 -4
- package/src/sap/fe/core/messagebundle_no.properties +3 -4
- package/src/sap/fe/core/messagebundle_pl.properties +11 -12
- package/src/sap/fe/core/messagebundle_pt.properties +3 -4
- package/src/sap/fe/core/messagebundle_pt_PT.properties +3 -4
- package/src/sap/fe/core/messagebundle_ro.properties +14 -15
- package/src/sap/fe/core/messagebundle_ru.properties +11 -12
- package/src/sap/fe/core/messagebundle_sh.properties +3 -4
- package/src/sap/fe/core/messagebundle_sk.properties +3 -4
- package/src/sap/fe/core/messagebundle_sl.properties +3 -4
- package/src/sap/fe/core/messagebundle_sv.properties +11 -12
- package/src/sap/fe/core/messagebundle_th.properties +3 -4
- package/src/sap/fe/core/messagebundle_tr.properties +3 -4
- package/src/sap/fe/core/messagebundle_uk.properties +3 -4
- package/src/sap/fe/core/messagebundle_vi.properties +3 -4
- package/src/sap/fe/core/messagebundle_zh_CN.properties +11 -12
- package/src/sap/fe/core/messagebundle_zh_TW.properties +11 -12
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +22 -8
- package/src/sap/fe/core/rootView/RootViewBaseController.js +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +17 -7
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +36 -3
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +37 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +13 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +13 -0
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +7 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +20 -2
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +7 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +10 -0
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +10 -7
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +12 -13
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +9 -3
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +11 -15
- package/src/sap/fe/core/templating/CommonFormatters-dbg.js +4 -3
- package/src/sap/fe/core/templating/CommonFormatters.js +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/CommonFormatters.ts +2 -2
- package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +1 -1
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +19 -18
- package/src/sap/fe/core/templating/DataModelPathHelper.js +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -1
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +24 -18
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +5 -5
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -1
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +2 -2
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +19 -28
- package/src/sap/fe/core/templating/EntitySetHelper.js +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -1
- package/src/sap/fe/core/templating/EntitySetHelper.ts +14 -24
- package/src/sap/fe/core/templating/EntityTypeHelper-dbg.js +48 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js +6 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.js.map +1 -0
- package/src/sap/fe/core/templating/EntityTypeHelper.ts +37 -0
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +12 -1
- package/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/src/sap/fe/core/templating/FilterHelper.js.map +1 -1
- package/src/sap/fe/core/templating/FilterHelper.ts +12 -0
- package/src/sap/fe/core/templating/FilterTemplating-dbg.js +7 -8
- package/src/sap/fe/core/templating/FilterTemplating.js +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -1
- package/src/sap/fe/core/templating/FilterTemplating.ts +5 -8
- package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +1 -6
- package/src/sap/fe/core/templating/PropertyFormatters.js +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyFormatters.ts +0 -5
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +13 -46
- package/src/sap/fe/core/templating/PropertyHelper.js +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -1
- package/src/sap/fe/core/templating/PropertyHelper.ts +14 -43
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +32 -26
- package/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/src/sap/fe/core/templating/UIFormatters.js.map +1 -1
- package/src/sap/fe/core/templating/UIFormatters.ts +45 -34
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +0 -59
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +0 -171
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +0 -6
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +0 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +0 -184
|
@@ -2,16 +2,23 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log", "sap/fe/core/AppStateHandler", "sap/fe/core/controllerextensions/routing/RouterProxy", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/library", "sap/fe/core/manifestMerger/ChangePageConfiguration", "sap/fe/core/support/Diagnostics", "sap/ui/core/Core", "sap/ui/core/UIComponent", "sap/ui/model/json/JSONModel", "./controllerextensions/BusyLocker", "./converters/MetaModelConverter", "./helpers/SemanticDateOperators"], function (Log, AppStateHandler, RouterProxy, ClassSupport, ModelHelper, library, ChangePageConfiguration, Diagnostics, Core, UIComponent, JSONModel, BusyLocker, MetaModelConverter, SemanticDateOperators) {
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/fe/core/AppStateHandler", "sap/fe/core/controllerextensions/routing/RouterProxy", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/library", "sap/fe/core/manifestMerger/ChangePageConfiguration", "sap/fe/core/support/Diagnostics", "sap/ui/core/Core", "sap/ui/core/Element", "sap/ui/core/UIComponent", "sap/ui/mdc/table/TableTypeBase", "sap/ui/model/json/JSONModel", "./controllerextensions/BusyLocker", "./converters/MetaModelConverter", "./helpers/SemanticDateOperators"], function (Log, AppStateHandler, RouterProxy, ClassSupport, ModelHelper, library, ChangePageConfiguration, Diagnostics, Core, UI5Element, UIComponent, TableTypeBase, JSONModel, BusyLocker, MetaModelConverter, SemanticDateOperators) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _dec, _class, _class2;
|
|
9
9
|
var deleteModelCacheData = MetaModelConverter.deleteModelCacheData;
|
|
10
|
+
var cleanPageConfigurationChanges = ChangePageConfiguration.cleanPageConfigurationChanges;
|
|
10
11
|
var changeConfiguration = ChangePageConfiguration.changeConfiguration;
|
|
11
12
|
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
12
13
|
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
|
|
13
14
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
14
15
|
const StartupMode = library.StartupMode;
|
|
16
|
+
TableTypeBase.prototype.exit = function () {
|
|
17
|
+
var _this$_oManagedObject;
|
|
18
|
+
(_this$_oManagedObject = this._oManagedObjectModel) === null || _this$_oManagedObject === void 0 ? void 0 : _this$_oManagedObject.destroy();
|
|
19
|
+
delete this._oManagedObjectModel;
|
|
20
|
+
UI5Element.prototype.exit.apply(this, []);
|
|
21
|
+
};
|
|
15
22
|
const NAVCONF = {
|
|
16
23
|
FCL: {
|
|
17
24
|
VIEWNAME: "sap.fe.core.rootView.Fcl",
|
|
@@ -138,8 +145,9 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/AppStateHandler", "sap/fe/core/contr
|
|
|
138
145
|
* @memberof sap.fe.core.AppComponent
|
|
139
146
|
* @public
|
|
140
147
|
*/;
|
|
141
|
-
_proto.initializeFeatureToggles = function initializeFeatureToggles() {
|
|
148
|
+
_proto.initializeFeatureToggles = async function initializeFeatureToggles() {
|
|
142
149
|
// this method can be overridden by applications
|
|
150
|
+
return Promise.resolve();
|
|
143
151
|
}
|
|
144
152
|
|
|
145
153
|
/**
|
|
@@ -156,7 +164,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/AppStateHandler", "sap/fe/core/contr
|
|
|
156
164
|
* @public
|
|
157
165
|
*/;
|
|
158
166
|
_proto.changePageConfiguration = function changePageConfiguration(pageId, path, value) {
|
|
159
|
-
changeConfiguration(this.getManifest(), pageId, path, value);
|
|
167
|
+
changeConfiguration(this.getManifest(), pageId, path, value, true);
|
|
160
168
|
}
|
|
161
169
|
|
|
162
170
|
/**
|
|
@@ -253,7 +261,6 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/AppStateHandler", "sap/fe/core/contr
|
|
|
253
261
|
};
|
|
254
262
|
_proto.init = function init() {
|
|
255
263
|
var _oModel$isA, _oManifestUI5$rootVie;
|
|
256
|
-
this.initializeFeatureToggles();
|
|
257
264
|
const uiModel = new JSONModel({
|
|
258
265
|
editMode: library.EditMode.Display,
|
|
259
266
|
isEditable: false,
|
|
@@ -316,7 +323,9 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/AppStateHandler", "sap/fe/core/contr
|
|
|
316
323
|
_UIComponent.prototype.init.call(this);
|
|
317
324
|
AppComponent.instanceMap[this.getId()] = this;
|
|
318
325
|
};
|
|
319
|
-
_proto.onServicesStarted = function onServicesStarted() {
|
|
326
|
+
_proto.onServicesStarted = async function onServicesStarted() {
|
|
327
|
+
await this.initializeFeatureToggles();
|
|
328
|
+
|
|
320
329
|
//router must be started once the rootcontainer is initialized
|
|
321
330
|
//starting of the router
|
|
322
331
|
const finalizedRoutingInitialization = () => {
|
|
@@ -362,6 +371,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/AppStateHandler", "sap/fe/core/contr
|
|
|
362
371
|
delete this._oRouterProxy;
|
|
363
372
|
deleteModelCacheData(this.getMetaModel());
|
|
364
373
|
this.getModel("ui").destroy();
|
|
374
|
+
cleanPageConfigurationChanges();
|
|
365
375
|
};
|
|
366
376
|
_proto.getMetaModel = function getMetaModel() {
|
|
367
377
|
return this.getModel().getMetaModel();
|
|
@@ -454,4 +464,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/AppStateHandler", "sap/fe/core/contr
|
|
|
454
464
|
}(UIComponent), _class2.instanceMap = {}, _class2)) || _class);
|
|
455
465
|
return AppComponent;
|
|
456
466
|
}, false);
|
|
457
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGFydHVwTW9kZSIsImxpYnJhcnkiLCJOQVZDT05GIiwiRkNMIiwiVklFV05BTUUiLCJWSUVXTkFNRV9DT01QQVRJQklMSVRZIiwiUk9VVEVSQ0xBU1MiLCJOQVZDT05UQUlORVIiLCJBcHBDb21wb25lbnQiLCJkZWZpbmVVSTVDbGFzcyIsImludGVyZmFjZXMiLCJjb25maWciLCJmdWxsV2lkdGgiLCJtYW5pZmVzdCIsInNlcnZpY2VzIiwicmVzb3VyY2VNb2RlbCIsImZhY3RvcnlOYW1lIiwic3RhcnR1cCIsInNldHRpbmdzIiwiYnVuZGxlcyIsIm1vZGVsTmFtZSIsInJvdXRpbmdTZXJ2aWNlIiwic2hlbGxTZXJ2aWNlcyIsIlNoZWxsVUlTZXJ2aWNlIiwibmF2aWdhdGlvblNlcnZpY2UiLCJlbnZpcm9ubWVudENhcGFiaWxpdGllcyIsInNpZGVFZmZlY3RzU2VydmljZSIsImFzeW5jQ29tcG9uZW50U2VydmljZSIsInJvb3RWaWV3Iiwidmlld05hbWUiLCJ0eXBlIiwiYXN5bmMiLCJpZCIsInJvdXRpbmciLCJjb250cm9sSWQiLCJyb3V0ZXJDbGFzcyIsInZpZXdUeXBlIiwiY29udHJvbEFnZ3JlZ2F0aW9uIiwiY29udGFpbmVyT3B0aW9ucyIsInByb3BhZ2F0ZU1vZGVsIiwiZGVzaWdudGltZSIsInN0YXJ0dXBNb2RlIiwiTm9ybWFsIiwiX2lzRmNsRW5hYmxlZCIsIm9NYW5pZmVzdFVJNSIsImdldE1hbmlmZXN0RW50cnkiLCJpbml0aWFsaXplRmVhdHVyZVRvZ2dsZXMiLCJjaGFuZ2VQYWdlQ29uZmlndXJhdGlvbiIsInBhZ2VJZCIsInBhdGgiLCJ2YWx1ZSIsImNoYW5nZUNvbmZpZ3VyYXRpb24iLCJnZXRNYW5pZmVzdCIsImdldFJvdXRlclByb3h5IiwiX29Sb3V0ZXJQcm94eSIsImdldEFwcFN0YXRlSGFuZGxlciIsIl9vQXBwU3RhdGVIYW5kbGVyIiwiZ2V0Um9vdFZpZXdDb250cm9sbGVyIiwiZ2V0Um9vdENvbnRyb2wiLCJnZXRDb250cm9sbGVyIiwiZ2V0Um9vdENvbnRhaW5lciIsImdldENvbnRlbnQiLCJnZXRTdGFydHVwTW9kZSIsInNldFN0YXJ0dXBNb2RlQ3JlYXRlIiwiQ3JlYXRlIiwic2V0U3RhcnR1cE1vZGVBdXRvQ3JlYXRlIiwiQXV0b0NyZWF0ZSIsInNldFN0YXJ0dXBNb2RlRGVlcGxpbmsiLCJEZWVwbGluayIsImluaXQiLCJ1aU1vZGVsIiwiSlNPTk1vZGVsIiwiZWRpdE1vZGUiLCJFZGl0TW9kZSIsIkRpc3BsYXkiLCJpc0VkaXRhYmxlIiwiZHJhZnRTdGF0dXMiLCJEcmFmdFN0YXR1cyIsIkNsZWFyIiwiYnVzeSIsImJ1c3lMb2NhbCIsInBhZ2VzIiwib0ludGVybmFsTW9kZWwiLCJzZXREZWZhdWx0QmluZGluZ01vZGUiLCJNb2RlbEhlbHBlciIsImVuaGFuY2VVaUpTT05Nb2RlbCIsImVuaGFuY2VJbnRlcm5hbEpTT05Nb2RlbCIsInNldE1vZGVsIiwiYkluaXRpYWxpemVSb3V0aW5nIiwidW5kZWZpbmVkIiwiUm91dGVyUHJveHkiLCJBcHBTdGF0ZUhhbmRsZXIiLCJfb0RpYWdub3N0aWNzIiwiRGlhZ25vc3RpY3MiLCJvTW9kZWwiLCJnZXRNb2RlbCIsImlzQSIsImVudGl0eUNvbnRhaW5lciIsImdldE1ldGFNb2RlbCIsInJlcXVlc3RPYmplY3QiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkxvZyIsImluZm8iLCJpbmRleE9mIiwiRXJyb3IiLCJTZW1hbnRpY0RhdGVPcGVyYXRvcnMiLCJhZGRTZW1hbnRpY0RhdGVPcGVyYXRvcnMiLCJpbnN0YW5jZU1hcCIsImdldElkIiwib25TZXJ2aWNlc1N0YXJ0ZWQiLCJmaW5hbGl6ZWRSb3V0aW5nSW5pdGlhbGl6YXRpb24iLCJ0aGVuIiwiYXR0YWNoUm91dGVNYXRjaGVycyIsImdldFJvdXRlciIsImluaXRpYWxpemUiLCJjYXRjaCIsImVycm9yIiwib1Jlc291cmNlQnVuZGxlIiwiQ29yZSIsImdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZSIsImRpc3BsYXlFcnJvclBhZ2UiLCJnZXRUZXh0IiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1lc3NhZ2UiLCJGQ0xMZXZlbCIsImdldFJvdXRpbmdTZXJ2aWNlIiwiaW5pdGlhbGl6ZVJvdXRpbmciLCJhdHRhY2hBZnRlckluaXQiLCJlcnIiLCJ0b1N0cmluZyIsImV4aXQiLCJkZXN0cm95IiwiZGVsZXRlTW9kZWxDYWNoZURhdGEiLCJnZXREaWFnbm9zdGljcyIsImJTdXBwcmVzc0ludmFsaWRhdGUiLCJ3aW5kb3ciLCJfcm91dGluZyIsImUiLCJvTWFpbk1vZGVsIiwib01vZGVscyIsIm9IZWFkZXJzIiwib1JlcXVlc3RvciIsImpRdWVyeSIsImV4dGVuZCIsIm1IZWFkZXJzIiwiYmVmb3JlRXhpdCIsImdldFNoZWxsU2VydmljZXMiLCJnZXROYXZpZ2F0aW9uU2VydmljZSIsImdldFNpZGVFZmZlY3RzU2VydmljZSIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwiZ2V0U3RhcnR1cFBhcmFtZXRlcnMiLCJvQ29tcG9uZW50RGF0YSIsImdldENvbXBvbmVudERhdGEiLCJzdGFydHVwUGFyYW1ldGVycyIsInJlc3RvcmUiLCJ2aWV3U3RhdGUiLCJvblJlc3RvcmUiLCJzdXNwZW5kIiwib25TdXNwZW5kIiwibmF2aWdhdGVCYXNlZE9uU3RhcnR1cFBhcmFtZXRlciIsIkJ1c3lMb2NrZXIiLCJpc0xvY2tlZCIsIl9tYW5hZ2VEZWVwTGlua1N0YXJ0dXAiLCJleGNlcHRpb24iLCJ1bmxvY2siLCJVSUNvbXBvbmVudCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQXBwQ29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgRmxleGlibGVDb2x1bW5MYXlvdXQgZnJvbSBcInNhcC9mL0ZsZXhpYmxlQ29sdW1uTGF5b3V0XCI7XG5pbXBvcnQgQXBwU3RhdGVIYW5kbGVyIGZyb20gXCJzYXAvZmUvY29yZS9BcHBTdGF0ZUhhbmRsZXJcIjtcbmltcG9ydCBSb3V0ZXJQcm94eSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvcm91dGluZy9Sb3V0ZXJQcm94eVwiO1xuaW1wb3J0IHR5cGUgeyBDb250ZW50RGVuc2l0aWVzVHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgTW9kZWxIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCBsaWJyYXJ5IGZyb20gXCJzYXAvZmUvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgeyBjaGFuZ2VDb25maWd1cmF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL21hbmlmZXN0TWVyZ2VyL0NoYW5nZVBhZ2VDb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgdHlwZSBSb290Vmlld0Jhc2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9yb290Vmlldy9Sb290Vmlld0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSB7IEVudmlyb25tZW50Q2FwYWJpbGl0aWVzU2VydmljZSB9IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9FbnZpcm9ubWVudFNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgdHlwZSB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL05hdmlnYXRpb25TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgeyBSb3V0aW5nU2VydmljZSB9IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9Sb3V0aW5nU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCB0eXBlIHsgSVNoZWxsU2VydmljZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvU2hlbGxTZXJ2aWNlc0ZhY3RvcnlcIjtcbmltcG9ydCB0eXBlIHsgU2lkZUVmZmVjdHNTZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1NpZGVFZmZlY3RzU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCBEaWFnbm9zdGljcyBmcm9tIFwic2FwL2ZlL2NvcmUvc3VwcG9ydC9EaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgTmF2Q29udGFpbmVyIGZyb20gXCJzYXAvbS9OYXZDb250YWluZXJcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgdHlwZSBWaWV3IGZyb20gXCJzYXAvdWkvY29yZS9tdmMvVmlld1wiO1xuaW1wb3J0IFVJQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9VSUNvbXBvbmVudFwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuaW1wb3J0IEJ1c3lMb2NrZXIgZnJvbSBcIi4vY29udHJvbGxlcmV4dGVuc2lvbnMvQnVzeUxvY2tlclwiO1xuaW1wb3J0IHsgZGVsZXRlTW9kZWxDYWNoZURhdGEgfSBmcm9tIFwiLi9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IFNlbWFudGljRGF0ZU9wZXJhdG9ycyBmcm9tIFwiLi9oZWxwZXJzL1NlbWFudGljRGF0ZU9wZXJhdG9yc1wiO1xuXG5jb25zdCBTdGFydHVwTW9kZSA9IGxpYnJhcnkuU3RhcnR1cE1vZGU7XG5cbmNvbnN0IE5BVkNPTkYgPSB7XG5cdEZDTDoge1xuXHRcdFZJRVdOQU1FOiBcInNhcC5mZS5jb3JlLnJvb3RWaWV3LkZjbFwiLFxuXHRcdFZJRVdOQU1FX0NPTVBBVElCSUxJVFk6IFwic2FwLmZlLnRlbXBsYXRlcy5Sb290Q29udGFpbmVyLnZpZXcuRmNsXCIsXG5cdFx0Uk9VVEVSQ0xBU1M6IFwic2FwLmYucm91dGluZy5Sb3V0ZXJcIlxuXHR9LFxuXHROQVZDT05UQUlORVI6IHtcblx0XHRWSUVXTkFNRTogXCJzYXAuZmUuY29yZS5yb290Vmlldy5OYXZDb250YWluZXJcIixcblx0XHRWSUVXTkFNRV9DT01QQVRJQklMSVRZOiBcInNhcC5mZS50ZW1wbGF0ZXMuUm9vdENvbnRhaW5lci52aWV3Lk5hdkNvbnRhaW5lclwiLFxuXHRcdFJPVVRFUkNMQVNTOiBcInNhcC5tLnJvdXRpbmcuUm91dGVyXCJcblx0fVxufTtcblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RDb250ZW50QXBwID0ge1xuXHRjcm9zc05hdmlnYXRpb24/OiB7XG5cdFx0b3V0Ym91bmRzPzogUmVjb3JkPFxuXHRcdFx0c3RyaW5nLFxuXHRcdFx0e1xuXHRcdFx0XHRzZW1hbnRpY09iamVjdDogc3RyaW5nO1xuXHRcdFx0XHRhY3Rpb246IHN0cmluZztcblx0XHRcdFx0cGFyYW1ldGVyczogc3RyaW5nO1xuXHRcdFx0fVxuXHRcdD47XG5cdH07XG5cdHRpdGxlPzogc3RyaW5nO1xuXHRzdWJUaXRsZT86IHN0cmluZztcblx0aWNvbj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0Q29udGVudFVJNSA9IHtcblx0Y29udGVudERlbnNpdGllcz86IENvbnRlbnREZW5zaXRpZXNUeXBlO1xuXHRwYWdlUmVhZHlUaW1lb3V0PzogbnVtYmVyO1xuXHRyb290Vmlldz86IHtcblx0XHR2aWV3TmFtZTogc3RyaW5nO1xuXHR9O1xuXHRyb3V0aW5nPzoge1xuXHRcdGNvbmZpZz86IHtcblx0XHRcdHJvdXRlckNsYXNzOiBzdHJpbmc7XG5cdFx0XHRjb250cm9sSWQ/OiBzdHJpbmc7XG5cdFx0fTtcblx0XHRyb3V0ZXM6IHtcblx0XHRcdHBhdHRlcm46IHN0cmluZztcblx0XHRcdG5hbWU6IHN0cmluZztcblx0XHRcdHRhcmdldDogc3RyaW5nO1xuXHRcdH1bXTtcblx0XHR0YXJnZXRzPzogUmVjb3JkPFxuXHRcdFx0c3RyaW5nLFxuXHRcdFx0e1xuXHRcdFx0XHRpZDogc3RyaW5nO1xuXHRcdFx0XHRuYW1lOiBzdHJpbmc7XG5cdFx0XHRcdG9wdGlvbnM/OiB7XG5cdFx0XHRcdFx0c2V0dGluZ3M/OiBvYmplY3Q7XG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cdFx0Pjtcblx0fTtcblx0bW9kZWxzOiBSZWNvcmQ8XG5cdFx0c3RyaW5nLFxuXHRcdHtcblx0XHRcdHR5cGU/OiBzdHJpbmc7XG5cdFx0XHRkYXRhU291cmNlPzogc3RyaW5nO1xuXHRcdFx0c2V0dGluZ3M/OiBvYmplY3Q7XG5cdFx0fVxuXHQ+O1xufTtcblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RDb250ZW50ID0ge1xuXHRcInNhcC5hcHBcIj86IE1hbmlmZXN0Q29udGVudEFwcDtcblx0XCJzYXAudWk1XCI/OiBNYW5pZmVzdENvbnRlbnRVSTU7XG5cdFwic2FwLmZlXCI/OiB7XG5cdFx0Zm9ybT86IHtcblx0XHRcdHJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3Q/OiBib29sZWFuO1xuXHRcdH07XG5cdH07XG59O1xuZXhwb3J0IHR5cGUgQ29tcG9uZW50RGF0YSA9IHtcblx0c3RhcnR1cFBhcmFtZXRlcnM/OiB7XG5cdFx0cHJlZmVycmVkTW9kZT86IHN0cmluZ1tdO1xuXHR9ICYgUmVjb3JkPHN0cmluZywgdW5rbm93bltdPjtcblx0Ly9mZUVudmlyb25tZW50IGlzIG9iamVjdCB3aGljaCBpcyByZWNlaXZlZCBhcyBhIHBhcnQgb2YgdGhlIGNvbXBvbmVudCBkYXRhIGZvciBNeSBJbmJveCBhcHBsaWNhdGlvbnMuXG5cdGZlRW52aXJvbm1lbnQ/OiB7XG5cdFx0Ly9XaXRoaW4gdGhpcyBvYmplY3QgdGhleSBwYXNzIGEgZnVuY3Rpb24gY2FsbGVkIGdldEludGVudCgpIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHNlbWFudGljT2JqZWN0IGFuZCBhY3Rpb24gYXMgc2VwYXJhdGUgcHJvcGVydHktdmFsdWUgZW50cmllcyB0aGF0IGFyZSB0aGVuIHVzZWQgdG8gdXBkYXRlIHRoZSByZWxhdGVkIGFwcHMgYnV0dG9uLlxuXHRcdGdldEludGVudDogRnVuY3Rpb247XG5cdFx0Ly9XaXRoaW4gdGhpcyBvYmplY3QgdGhleSBwYXNzIGEgZnVuY3Rpb24gY2FsbGVkIGdldFNoYXJlQ29udHJvbFZpc2liaWxpdHkoKSB0aGF0IHJldHVybnMgYm9vbGVhbiB2YWx1ZXModHJ1ZSBvciBmYWxzZSkgd2hpY2ggZGV0ZXJtaW5lcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgc2hhcmUgYnV0dG9uLlxuXHRcdGdldFNoYXJlQ29udHJvbFZpc2liaWxpdHk6IEZ1bmN0aW9uO1xuXHR9O1xufTtcblxuZXhwb3J0IHR5cGUgU3RhcnR1cFBhcmFtZXRlcnMgPSB7XG5cdHByZWZlcnJlZE1vZGU/OiBzdHJpbmdbXTtcbn0gJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duW10+O1xuLyoqXG4gKiBNYWluIGNsYXNzIGZvciBjb21wb25lbnRzIHVzZWQgZm9yIGFuIGFwcGxpY2F0aW9uIGluIFNBUCBGaW9yaSBlbGVtZW50cy5cbiAqXG4gKiBBcHBsaWNhdGlvbiBkZXZlbG9wZXJzIHVzaW5nIHRoZSB0ZW1wbGF0ZXMgYW5kIGJ1aWxkaW5nIGJsb2NrcyBwcm92aWRlZCBieSBTQVAgRmlvcmkgZWxlbWVudHMgc2hvdWxkIGNyZWF0ZSB0aGVpciBhcHBzIGJ5IGV4dGVuZGluZyB0aGlzIGNvbXBvbmVudC5cbiAqIFRoaXMgZW5zdXJlcyB0aGF0IGFsbCB0aGUgbmVjZXNzYXJ5IHNlcnZpY2VzIHRoYXQgeW91IG5lZWQgZm9yIHRoZSBidWlsZGluZyBibG9ja3MgYW5kIHRlbXBsYXRlcyB0byB3b3JrIHByb3Blcmx5IGFyZSBzdGFydGVkLlxuICpcbiAqIFdoZW4geW91IHVzZSBzYXAuZmUuY29yZS5BcHBDb21wb25lbnQgYXMgdGhlIGJhc2UgY29tcG9uZW50LCB5b3UgYWxzbyBuZWVkIHRvIHVzZSBhIHJvb3RWaWV3LiBTQVAgRmlvcmkgZWxlbWVudHMgcHJvdmlkZXMgdHdvIG9wdGlvbnM6IDxici8+XG4gKiAgLSBzYXAuZmUuY29yZS5yb290Vmlldy5OYXZDb250YWluZXIgd2hlbiB1c2luZyBzYXAubS5yb3V0aW5nLlJvdXRlciA8YnIvPlxuICogIC0gc2FwLmZlLmNvcmUucm9vdFZpZXcuRmNsIHdoZW4gdXNpbmcgc2FwLmYucm91dGluZy5Sb3V0ZXIgKEZDTCB1c2UgY2FzZSkgPGJyLz5cbiAqXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAcHVibGljXG4gKiBAbmFtZSBzYXAuZmUuY29yZS5BcHBDb21wb25lbnRcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50XCIsIHtcblx0aW50ZXJmYWNlczogW1wic2FwLnVpLmNvcmUuSUFzeW5jQ29udGVudENyZWF0aW9uXCJdLFxuXHRjb25maWc6IHtcblx0XHRmdWxsV2lkdGg6IHRydWVcblx0fSxcblx0bWFuaWZlc3Q6IHtcblx0XHRcInNhcC51aTVcIjoge1xuXHRcdFx0c2VydmljZXM6IHtcblx0XHRcdFx0cmVzb3VyY2VNb2RlbDoge1xuXHRcdFx0XHRcdGZhY3RvcnlOYW1lOiBcInNhcC5mZS5jb3JlLnNlcnZpY2VzLlJlc291cmNlTW9kZWxTZXJ2aWNlXCIsXG5cdFx0XHRcdFx0c3RhcnR1cDogXCJ3YWl0Rm9yXCIsXG5cdFx0XHRcdFx0c2V0dGluZ3M6IHtcblx0XHRcdFx0XHRcdGJ1bmRsZXM6IFtcInNhcC5mZS5jb3JlLm1lc3NhZ2VidW5kbGVcIl0sXG5cdFx0XHRcdFx0XHRtb2RlbE5hbWU6IFwic2FwLmZlLmkxOG5cIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0cm91dGluZ1NlcnZpY2U6IHtcblx0XHRcdFx0XHRmYWN0b3J5TmFtZTogXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5Sb3V0aW5nU2VydmljZVwiLFxuXHRcdFx0XHRcdHN0YXJ0dXA6IFwid2FpdEZvclwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHNoZWxsU2VydmljZXM6IHtcblx0XHRcdFx0XHRmYWN0b3J5TmFtZTogXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5TaGVsbFNlcnZpY2VzXCIsXG5cdFx0XHRcdFx0c3RhcnR1cDogXCJ3YWl0Rm9yXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0U2hlbGxVSVNlcnZpY2U6IHtcblx0XHRcdFx0XHRmYWN0b3J5TmFtZTogXCJzYXAudXNoZWxsLnVpNXNlcnZpY2UuU2hlbGxVSVNlcnZpY2VcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHRuYXZpZ2F0aW9uU2VydmljZToge1xuXHRcdFx0XHRcdGZhY3RvcnlOYW1lOiBcInNhcC5mZS5jb3JlLnNlcnZpY2VzLk5hdmlnYXRpb25TZXJ2aWNlXCIsXG5cdFx0XHRcdFx0c3RhcnR1cDogXCJ3YWl0Rm9yXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0ZW52aXJvbm1lbnRDYXBhYmlsaXRpZXM6IHtcblx0XHRcdFx0XHRmYWN0b3J5TmFtZTogXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5FbnZpcm9ubWVudFNlcnZpY2VcIixcblx0XHRcdFx0XHRzdGFydHVwOiBcIndhaXRGb3JcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHRzaWRlRWZmZWN0c1NlcnZpY2U6IHtcblx0XHRcdFx0XHRmYWN0b3J5TmFtZTogXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5TaWRlRWZmZWN0c1NlcnZpY2VcIixcblx0XHRcdFx0XHRzdGFydHVwOiBcIndhaXRGb3JcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHRhc3luY0NvbXBvbmVudFNlcnZpY2U6IHtcblx0XHRcdFx0XHRmYWN0b3J5TmFtZTogXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5Bc3luY0NvbXBvbmVudFNlcnZpY2VcIixcblx0XHRcdFx0XHRzdGFydHVwOiBcIndhaXRGb3JcIlxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0cm9vdFZpZXc6IHtcblx0XHRcdFx0dmlld05hbWU6IE5BVkNPTkYuTkFWQ09OVEFJTkVSLlZJRVdOQU1FLFxuXHRcdFx0XHR0eXBlOiBcIlhNTFwiLFxuXHRcdFx0XHRhc3luYzogdHJ1ZSxcblx0XHRcdFx0aWQ6IFwiYXBwUm9vdFZpZXdcIlxuXHRcdFx0fSxcblx0XHRcdHJvdXRpbmc6IHtcblx0XHRcdFx0Y29uZmlnOiB7XG5cdFx0XHRcdFx0Y29udHJvbElkOiBcImFwcENvbnRlbnRcIixcblx0XHRcdFx0XHRyb3V0ZXJDbGFzczogTkFWQ09ORi5OQVZDT05UQUlORVIuUk9VVEVSQ0xBU1MsXG5cdFx0XHRcdFx0dmlld1R5cGU6IFwiWE1MXCIsXG5cdFx0XHRcdFx0Y29udHJvbEFnZ3JlZ2F0aW9uOiBcInBhZ2VzXCIsXG5cdFx0XHRcdFx0YXN5bmM6IHRydWUsXG5cdFx0XHRcdFx0Y29udGFpbmVyT3B0aW9uczoge1xuXHRcdFx0XHRcdFx0cHJvcGFnYXRlTW9kZWw6IHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdGRlc2lnbnRpbWU6IFwic2FwL2ZlL2NvcmUvZGVzaWdudGltZS9BcHBDb21wb25lbnQuZGVzaWdudGltZVwiLFxuXG5cdGxpYnJhcnk6IFwic2FwLmZlLmNvcmVcIlxufSlcbmNsYXNzIEFwcENvbXBvbmVudCBleHRlbmRzIFVJQ29tcG9uZW50IHtcblx0c3RhdGljIGluc3RhbmNlTWFwOiBSZWNvcmQ8c3RyaW5nLCBBcHBDb21wb25lbnQ+ID0ge307XG5cblx0cHJpdmF0ZSBfb1JvdXRlclByb3h5ITogUm91dGVyUHJveHk7XG5cblx0cHJpdmF0ZSBfb0FwcFN0YXRlSGFuZGxlciE6IEFwcFN0YXRlSGFuZGxlcjtcblxuXHRwcml2YXRlIGJJbml0aWFsaXplUm91dGluZz86IGJvb2xlYW47XG5cblx0cHJpdmF0ZSBfb0RpYWdub3N0aWNzITogRGlhZ25vc3RpY3M7XG5cblx0cHJpdmF0ZSBlbnRpdHlDb250YWluZXIhOiBQcm9taXNlPHZvaWQ+O1xuXG5cdHByaXZhdGUgc3RhcnR1cE1vZGU6IHN0cmluZyA9IFN0YXJ0dXBNb2RlLk5vcm1hbDtcblxuXHQvKipcblx0ICogQHByaXZhdGVcblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50LmdldE1ldGFkYXRhXG5cdCAqIEBmdW5jdGlvblxuXHQgKi9cblxuXHRfaXNGY2xFbmFibGVkKCkge1xuXHRcdGNvbnN0IG9NYW5pZmVzdFVJNSA9IHRoaXMuZ2V0TWFuaWZlc3RFbnRyeShcInNhcC51aTVcIik7XG5cdFx0cmV0dXJuIG9NYW5pZmVzdFVJNT8ucm91dGluZz8uY29uZmlnPy5yb3V0ZXJDbGFzcyA9PT0gTkFWQ09ORi5GQ0wuUk9VVEVSQ0xBU1M7XG5cdH1cblxuXHQvKipcblx0ICogUHJvdmlkZXMgYSBob29rIHRvIGluaXRpYWxpemUgZmVhdHVyZSB0b2dnbGVzLlxuXHQgKlxuXHQgKiBUaGlzIGhvb2sgaXMgYmVpbmcgY2FsbGVkIGJ5IHRoZSBTQVAgRmlvcmkgZWxlbWVudHMgQXBwQ29tcG9uZW50IGF0IHRoZSB0aW1lIGZlYXR1cmUgdG9nZ2xlcyBjYW4gYmUgaW5pdGlhbGl6ZWQuXG5cdCAqIFRvIGNoYW5nZSBwYWdlIGNvbmZpZ3VyYXRpb24gdXNlIHRoZSB7QGxpbmsgc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50I2NoYW5nZVBhZ2VDb25maWd1cmF0aW9ufSBtZXRob2QuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5BcHBDb21wb25lbnQjaW5pdGlhbGl6ZUZlYXR1cmVUb2dnbGVzXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5BcHBDb21wb25lbnRcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0aW5pdGlhbGl6ZUZlYXR1cmVUb2dnbGVzKCk6IHZvaWQge1xuXHRcdC8vIHRoaXMgbWV0aG9kIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGFwcGxpY2F0aW9uc1xuXHR9XG5cblx0LyoqXG5cdCAqIENoYW5nZXMgdGhlIHBhZ2UgY29uZmlndXJhdGlvbiBvZiBTQVAgRmlvcmkgZWxlbWVudHMuXG5cdCAqXG5cdCAqIFRoaXMgbWV0aG9kIGVuYWJsZXMgeW91IHRvIGNoYW5nZSB0aGUgcGFnZSBjb25maWd1cmF0aW9uIG9mIFNBUCBGaW9yaSBlbGVtZW50cy5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudCNjaGFuZ2VQYWdlQ29uZmlndXJhdGlvblxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50XG5cdCAqIEBwYXJhbSBwYWdlSWQgVGhlIElEIG9mIHRoZSBwYWdlIGZvciB3aGljaCB0aGUgY29uZmlndXJhdGlvbiBpcyB0byBiZSBjaGFuZ2VkLlxuXHQgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCBpbiB0aGUgcGFnZSBzZXR0aW5ncyBmb3Igd2hpY2ggdGhlIGNvbmZpZ3VyYXRpb24gaXMgdG8gYmUgY2hhbmdlZC5cblx0ICogQHBhcmFtIHZhbHVlIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGNvbmZpZ3VyYXRpb24uIFRoaXMgY291bGQgYmUgYSBwbGFpbiB2YWx1ZSBsaWtlIGEgc3RyaW5nLCBvciBhIEJvb2xlYW4sIG9yIGEgc3RydWN0dXJlZCBvYmplY3QuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGNoYW5nZVBhZ2VDb25maWd1cmF0aW9uKHBhZ2VJZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG5cdFx0Y2hhbmdlQ29uZmlndXJhdGlvbih0aGlzLmdldE1hbmlmZXN0KCksIHBhZ2VJZCwgcGF0aCwgdmFsdWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCBhIHJlZmVyZW5jZSB0byB0aGUgUm91dGVyUHJveHkuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5BcHBDb21wb25lbnQjZ2V0Um91dGVyUHJveHlcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudFxuXHQgKiBAcmV0dXJucyBBIFJlZmVyZW5jZSB0byB0aGUgUm91dGVyUHJveHlcblx0ICogQHVpNS1yZXN0cmljdGVkXG5cdCAqIEBmaW5hbFxuXHQgKi9cblx0Z2V0Um91dGVyUHJveHkoKTogUm91dGVyUHJveHkge1xuXHRcdHJldHVybiB0aGlzLl9vUm91dGVyUHJveHk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBBcHBTdGF0ZUhhbmRsZXIuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5BcHBDb21wb25lbnQjZ2V0QXBwU3RhdGVIYW5kbGVyXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5BcHBDb21wb25lbnRcblx0ICogQHJldHVybnMgQSByZWZlcmVuY2UgdG8gdGhlIEFwcFN0YXRlSGFuZGxlclxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICogQGZpbmFsXG5cdCAqL1xuXHRnZXRBcHBTdGF0ZUhhbmRsZXIoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX29BcHBTdGF0ZUhhbmRsZXI7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBuYXYvRkNMIENvbnRyb2xsZXIuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5BcHBDb21wb25lbnQjZ2V0Um9vdFZpZXdDb250cm9sbGVyXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5BcHBDb21wb25lbnRcblx0ICogQHJldHVybnMgIEEgcmVmZXJlbmNlIHRvIHRoZSBGQ0wgQ29udHJvbGxlclxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICogQGZpbmFsXG5cdCAqL1xuXHRnZXRSb290Vmlld0NvbnRyb2xsZXIoKTogUm9vdFZpZXdCYXNlQ29udHJvbGxlciB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0Um9vdENvbnRyb2woKS5nZXRDb250cm9sbGVyKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IHRoZSBOYXZDb250YWluZXIgY29udHJvbCBvciB0aGUgRkNMIGNvbnRyb2wuXG5cdCAqXG5cdCAqIEBmdW5jdGlvblxuXHQgKiBAbmFtZSBzYXAuZmUuY29yZS5BcHBDb21wb25lbnQjZ2V0Um9vdENvbnRhaW5lclxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50XG5cdCAqIEByZXR1cm5zICBBIHJlZmVyZW5jZSB0byBOYXZDb250YWluZXIgY29udHJvbCBvciB0aGUgRkNMIGNvbnRyb2xcblx0ICogQHVpNS1yZXN0cmljdGVkXG5cdCAqIEBmaW5hbFxuXHQgKi9cblx0Z2V0Um9vdENvbnRhaW5lcigpIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRSb290Q29udHJvbCgpLmdldENvbnRlbnQoKVswXSBhcyBOYXZDb250YWluZXIgfCBGbGV4aWJsZUNvbHVtbkxheW91dDtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIHN0YXJ0dXAgbW9kZSBvZiB0aGUgYXBwLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBUaGUgc3RhcnR1cCBtb2RlXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRnZXRTdGFydHVwTW9kZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLnN0YXJ0dXBNb2RlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldCB0aGUgc3RhcnR1cCBtb2RlIGZvciB0aGUgYXBwIHRvICdDcmVhdGUnLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0c2V0U3RhcnR1cE1vZGVDcmVhdGUoKSB7XG5cdFx0dGhpcy5zdGFydHVwTW9kZSA9IFN0YXJ0dXBNb2RlLkNyZWF0ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXQgdGhlIHN0YXJ0dXAgbW9kZSBmb3IgdGhlIGFwcCB0byAnQXV0b0NyZWF0ZScuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRzZXRTdGFydHVwTW9kZUF1dG9DcmVhdGUoKSB7XG5cdFx0dGhpcy5zdGFydHVwTW9kZSA9IFN0YXJ0dXBNb2RlLkF1dG9DcmVhdGU7XG5cdH1cblxuXHQvKipcblx0ICogU2V0IHRoZSBzdGFydHVwIG1vZGUgZm9yIHRoZSBhcHAgdG8gJ0RlZXBsaW5rJy5cblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHNldFN0YXJ0dXBNb2RlRGVlcGxpbmsoKSB7XG5cdFx0dGhpcy5zdGFydHVwTW9kZSA9IFN0YXJ0dXBNb2RlLkRlZXBsaW5rO1xuXHR9XG5cblx0aW5pdCgpIHtcblx0XHR0aGlzLmluaXRpYWxpemVGZWF0dXJlVG9nZ2xlcygpO1xuXG5cdFx0Y29uc3QgdWlNb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0ZWRpdE1vZGU6IGxpYnJhcnkuRWRpdE1vZGUuRGlzcGxheSxcblx0XHRcdGlzRWRpdGFibGU6IGZhbHNlLFxuXHRcdFx0ZHJhZnRTdGF0dXM6IGxpYnJhcnkuRHJhZnRTdGF0dXMuQ2xlYXIsXG5cdFx0XHRidXN5OiBmYWxzZSxcblx0XHRcdGJ1c3lMb2NhbDoge30sXG5cdFx0XHRwYWdlczoge31cblx0XHR9KTtcblx0XHRjb25zdCBvSW50ZXJuYWxNb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0cGFnZXM6IHt9XG5cdFx0fSk7XG5cdFx0Ly8gc2V0IHRoZSBiaW5kaW5nIE9uZVdheSBmb3IgdWlNb2RlbCB0byBwcmV2ZW50IGNoYW5nZXMgaWYgY29udHJvbGxlciBleHRlbnNpb25zIG1vZGlmeSBhIGJvdW5kIHByb3BlcnR5IG9mIGEgY29udHJvbFxuXHRcdHVpTW9kZWwuc2V0RGVmYXVsdEJpbmRpbmdNb2RlKFwiT25lV2F5XCIpO1xuXHRcdC8vIGZvciBpbnRlcm5hbCBtb2RlbCBiaW5kaW5nIG5lZWRzIHRvIGJlIHR3byB3YXlcblx0XHRNb2RlbEhlbHBlci5lbmhhbmNlVWlKU09OTW9kZWwodWlNb2RlbCwgbGlicmFyeSk7XG5cdFx0TW9kZWxIZWxwZXIuZW5oYW5jZUludGVybmFsSlNPTk1vZGVsKG9JbnRlcm5hbE1vZGVsKTtcblxuXHRcdHRoaXMuc2V0TW9kZWwodWlNb2RlbCwgXCJ1aVwiKTtcblx0XHR0aGlzLnNldE1vZGVsKG9JbnRlcm5hbE1vZGVsLCBcImludGVybmFsXCIpO1xuXG5cdFx0dGhpcy5iSW5pdGlhbGl6ZVJvdXRpbmcgPSB0aGlzLmJJbml0aWFsaXplUm91dGluZyAhPT0gdW5kZWZpbmVkID8gdGhpcy5iSW5pdGlhbGl6ZVJvdXRpbmcgOiB0cnVlO1xuXHRcdHRoaXMuX29Sb3V0ZXJQcm94eSA9IG5ldyBSb3V0ZXJQcm94eSgpO1xuXHRcdHRoaXMuX29BcHBTdGF0ZUhhbmRsZXIgPSBuZXcgQXBwU3RhdGVIYW5kbGVyKHRoaXMpO1xuXHRcdHRoaXMuX29EaWFnbm9zdGljcyA9IG5ldyBEaWFnbm9zdGljcygpO1xuXG5cdFx0Y29uc3Qgb01vZGVsID0gdGhpcy5nZXRNb2RlbCgpIGFzIE9EYXRhTW9kZWw7XG5cdFx0aWYgKG9Nb2RlbD8uaXNBPy4oXCJzYXAudWkubW9kZWwub2RhdGEudjQuT0RhdGFNb2RlbFwiKSkge1xuXHRcdFx0dGhpcy5lbnRpdHlDb250YWluZXIgPSBvTW9kZWwuZ2V0TWV0YU1vZGVsKCkucmVxdWVzdE9iamVjdChcIi8kRW50aXR5Q29udGFpbmVyL1wiKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gbm90IGFuIE9EYXRhIHY0IHNlcnZpY2Vcblx0XHRcdHRoaXMuZW50aXR5Q29udGFpbmVyID0gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgb01hbmlmZXN0VUk1ID0gdGhpcy5nZXRNYW5pZmVzdCgpW1wic2FwLnVpNVwiXTtcblx0XHRpZiAob01hbmlmZXN0VUk1Py5yb290Vmlldz8udmlld05hbWUpIHtcblx0XHRcdC8vIFRoZSBhcHBsaWNhdGlvbiBzcGVjaWZpZWQgYW4gb3duIHJvb3QgdmlldyBpbiB0aGUgbWFuaWZlc3RcblxuXHRcdFx0Ly8gUm9vdCBWaWV3IHdhcyBtb3ZlZCBmcm9tIHNhcC5mZS50ZW1wbGF0ZXMgdG8gc2FwLmZlLmNvcmUgLSBrZWVwIGl0IGNvbXBhdGlibGVcblx0XHRcdGlmIChvTWFuaWZlc3RVSTUucm9vdFZpZXcudmlld05hbWUgPT09IE5BVkNPTkYuRkNMLlZJRVdOQU1FX0NPTVBBVElCSUxJVFkpIHtcblx0XHRcdFx0b01hbmlmZXN0VUk1LnJvb3RWaWV3LnZpZXdOYW1lID0gTkFWQ09ORi5GQ0wuVklFV05BTUU7XG5cdFx0XHR9IGVsc2UgaWYgKG9NYW5pZmVzdFVJNS5yb290Vmlldy52aWV3TmFtZSA9PT0gTkFWQ09ORi5OQVZDT05UQUlORVIuVklFV05BTUVfQ09NUEFUSUJJTElUWSkge1xuXHRcdFx0XHRvTWFuaWZlc3RVSTUucm9vdFZpZXcudmlld05hbWUgPSBOQVZDT05GLk5BVkNPTlRBSU5FUi5WSUVXTkFNRTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKFxuXHRcdFx0XHRvTWFuaWZlc3RVSTUucm9vdFZpZXcudmlld05hbWUgPT09IE5BVkNPTkYuRkNMLlZJRVdOQU1FICYmXG5cdFx0XHRcdG9NYW5pZmVzdFVJNS5yb3V0aW5nPy5jb25maWc/LnJvdXRlckNsYXNzID09PSBOQVZDT05GLkZDTC5ST1VURVJDTEFTU1xuXHRcdFx0KSB7XG5cdFx0XHRcdExvZy5pbmZvKGBSb290Y29udGFpbmVyOiBcIiR7TkFWQ09ORi5GQ0wuVklFV05BTUV9XCIgLSBSb3V0ZXJjbGFzczogXCIke05BVkNPTkYuRkNMLlJPVVRFUkNMQVNTfVwiYCk7XG5cdFx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0XHRvTWFuaWZlc3RVSTUucm9vdFZpZXcudmlld05hbWUgPT09IE5BVkNPTkYuTkFWQ09OVEFJTkVSLlZJRVdOQU1FICYmXG5cdFx0XHRcdG9NYW5pZmVzdFVJNS5yb3V0aW5nPy5jb25maWc/LnJvdXRlckNsYXNzID09PSBOQVZDT05GLk5BVkNPTlRBSU5FUi5ST1VURVJDTEFTU1xuXHRcdFx0KSB7XG5cdFx0XHRcdExvZy5pbmZvKGBSb290Y29udGFpbmVyOiBcIiR7TkFWQ09ORi5OQVZDT05UQUlORVIuVklFV05BTUV9XCIgLSBSb3V0ZXJjbGFzczogXCIke05BVkNPTkYuTkFWQ09OVEFJTkVSLlJPVVRFUkNMQVNTfVwiYCk7XG5cdFx0XHR9IGVsc2UgaWYgKG9NYW5pZmVzdFVJNS5yb290Vmlldz8udmlld05hbWU/LmluZGV4T2YoXCJzYXAuZmUuY29yZS5yb290Vmlld1wiKSAhPT0gLTEpIHtcblx0XHRcdFx0dGhyb3cgRXJyb3IoXG5cdFx0XHRcdFx0YFxcbldyb25nIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb3VwbGUgKHJvb3RWaWV3L3JvdXRlckNsYXNzKSBpbiBtYW5pZmVzdCBmaWxlLlxcbmAgK1xuXHRcdFx0XHRcdFx0YEN1cnJlbnQgdmFsdWVzIGFyZSA6KCR7b01hbmlmZXN0VUk1LnJvb3RWaWV3LnZpZXdOYW1lfS8ke1xuXHRcdFx0XHRcdFx0XHRvTWFuaWZlc3RVSTUucm91dGluZz8uY29uZmlnPy5yb3V0ZXJDbGFzcyB8fCBcIjxtaXNzaW5nIHJvdXRlciBjbGFzcz5cIlxuXHRcdFx0XHRcdFx0fSlcXG5gICtcblx0XHRcdFx0XHRcdGBFeHBlY3RlZCB2YWx1ZXMgYXJlIFxcbmAgK1xuXHRcdFx0XHRcdFx0YFxcdCAtICgke05BVkNPTkYuTkFWQ09OVEFJTkVSLlZJRVdOQU1FfS8ke05BVkNPTkYuTkFWQ09OVEFJTkVSLlJPVVRFUkNMQVNTfSlcXG5gICtcblx0XHRcdFx0XHRcdGBcXHQgLSAoJHtOQVZDT05GLkZDTC5WSUVXTkFNRX0vJHtOQVZDT05GLkZDTC5ST1VURVJDTEFTU30pYFxuXHRcdFx0XHQpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0TG9nLmluZm8oYFJvb3Rjb250YWluZXI6IFwiJHtvTWFuaWZlc3RVSTUucm9vdFZpZXcudmlld05hbWV9XCIgLSBSb3V0ZXJjbGFzczogXCIke05BVkNPTkYuTkFWQ09OVEFJTkVSLlJPVVRFUkNMQVNTfVwiYCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQWRkaW5nIFNlbWFudGljIERhdGUgT3BlcmF0b3JzXG5cdFx0Ly8gQ29tbWVudGluZyBzaW5jZSBpdCBpcyBub3QgbmVlZGVkIGZvciBTaW5nbGVSYW5nZVxuXHRcdFNlbWFudGljRGF0ZU9wZXJhdG9ycy5hZGRTZW1hbnRpY0RhdGVPcGVyYXRvcnMoKTtcblxuXHRcdC8vIHRoZSBpbml0IGZ1bmN0aW9uIGNvbmZpZ3VyZXMgdGhlIHJvdXRpbmcgYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBhYm92ZVxuXHRcdC8vIGl0IHdpbGwgY2FsbCB0aGUgY3JlYXRlQ29udGVudCBmdW5jdGlvbiB0byBpbnN0YW50aWF0ZSB0aGUgUm9vdFZpZXcgYW5kIGFkZCBpdCB0byB0aGUgVUlDb21wb25lbnQgYWdncmVnYXRpb25zXG5cblx0XHRzdXBlci5pbml0KCk7XG5cdFx0QXBwQ29tcG9uZW50Lmluc3RhbmNlTWFwW3RoaXMuZ2V0SWQoKV0gPSB0aGlzO1xuXHR9XG5cblx0b25TZXJ2aWNlc1N0YXJ0ZWQoKSB7XG5cdFx0Ly9yb3V0ZXIgbXVzdCBiZSBzdGFydGVkIG9uY2UgdGhlIHJvb3Rjb250YWluZXIgaXMgaW5pdGlhbGl6ZWRcblx0XHQvL3N0YXJ0aW5nIG9mIHRoZSByb3V0ZXJcblx0XHRjb25zdCBmaW5hbGl6ZWRSb3V0aW5nSW5pdGlhbGl6YXRpb24gPSAoKSA9PiB7XG5cdFx0XHR0aGlzLmVudGl0eUNvbnRhaW5lclxuXHRcdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHRoaXMuZ2V0Um9vdFZpZXdDb250cm9sbGVyKCkuYXR0YWNoUm91dGVNYXRjaGVycykge1xuXHRcdFx0XHRcdFx0dGhpcy5nZXRSb290Vmlld0NvbnRyb2xsZXIoKS5hdHRhY2hSb3V0ZU1hdGNoZXJzKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuZ2V0Um91dGVyKCkuaW5pdGlhbGl6ZSgpO1xuXHRcdFx0XHRcdHRoaXMuZ2V0Um91dGVyUHJveHkoKS5pbml0KHRoaXMsIHRoaXMuX2lzRmNsRW5hYmxlZCgpKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3Qgb1Jlc291cmNlQnVuZGxlID0gQ29yZS5nZXRMaWJyYXJ5UmVzb3VyY2VCdW5kbGUoXCJzYXAuZmUuY29yZVwiKTtcblxuXHRcdFx0XHRcdHRoaXMuZ2V0Um9vdFZpZXdDb250cm9sbGVyKCkuZGlzcGxheUVycm9yUGFnZShcblx0XHRcdFx0XHRcdG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiQ19BUFBfQ09NUE9ORU5UX1NBUEZFX0FQUFNUQVJUX1RFQ0hOSUNBTF9JU1NVRVNcIiksXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIkNfQ09NTU9OX1NBUEZFX0VSUk9SXCIpLFxuXHRcdFx0XHRcdFx0XHRkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSxcblx0XHRcdFx0XHRcdFx0RkNMTGV2ZWw6IDBcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9KTtcblx0XHR9O1xuXG5cdFx0aWYgKHRoaXMuYkluaXRpYWxpemVSb3V0aW5nKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRSb3V0aW5nU2VydmljZSgpXG5cdFx0XHRcdC5pbml0aWFsaXplUm91dGluZygpXG5cdFx0XHRcdC50aGVuKCgpID0+IHtcblx0XHRcdFx0XHRpZiAodGhpcy5nZXRSb290Vmlld0NvbnRyb2xsZXIoKSkge1xuXHRcdFx0XHRcdFx0ZmluYWxpemVkUm91dGluZ0luaXRpYWxpemF0aW9uKCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHRoaXMuZ2V0Um9vdENvbnRyb2woKS5hdHRhY2hBZnRlckluaXQoZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0XHRmaW5hbGl6ZWRSb3V0aW5nSW5pdGlhbGl6YXRpb24oKTtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAoZXJyOiBFcnJvcikge1xuXHRcdFx0XHRcdExvZy5lcnJvcihgY2Fubm90IGNhbm5vdCBpbml0aWFsaXplIHJvdXRpbmc6ICR7ZXJyLnRvU3RyaW5nKCl9YCk7XG5cdFx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGV4aXQoKSB7XG5cdFx0dGhpcy5fb0FwcFN0YXRlSGFuZGxlci5kZXN0cm95KCk7XG5cdFx0dGhpcy5fb1JvdXRlclByb3h5LmRlc3Ryb3koKTtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGRlbGV0ZSB0aGlzLl9vQXBwU3RhdGVIYW5kbGVyO1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0ZGVsZXRlIHRoaXMuX29Sb3V0ZXJQcm94eTtcblx0XHRkZWxldGVNb2RlbENhY2hlRGF0YSh0aGlzLmdldE1ldGFNb2RlbCgpKTtcblx0XHR0aGlzLmdldE1vZGVsKFwidWlcIikuZGVzdHJveSgpO1xuXHR9XG5cblx0Z2V0TWV0YU1vZGVsKCk6IE9EYXRhTWV0YU1vZGVsIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsO1xuXHR9XG5cblx0Z2V0RGlhZ25vc3RpY3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX29EaWFnbm9zdGljcztcblx0fVxuXG5cdGRlc3Ryb3koYlN1cHByZXNzSW52YWxpZGF0ZT86IGJvb2xlYW4pIHtcblx0XHQvLyBMRUFLUywgd2l0aCB3b3JrYXJvdW5kIGZvciBzb21lIEZsZXggLyBNREMgaXNzdWVcblx0XHR0cnkge1xuXHRcdFx0Ly8gXHQvLyBUaGlzIG9uZSBpcyBvbmx5IGEgbGVhayBpZiB5b3UgZG9uJ3QgZ28gYmFjayB0byB0aGUgc2FtZSBjb21wb25lbnQgaW4gdGhlIGxvbmcgcnVuXG5cdFx0XHQvL2RlbGV0ZSBzYXAudWkuZmwuRmxleENvbnRyb2xsZXJGYWN0b3J5Ll9jb21wb25lbnRJbnN0YW50aWF0aW9uUHJvbWlzZXNbdGhpcy5nZXRJZCgpXTtcblxuXHRcdFx0ZGVsZXRlIEFwcENvbXBvbmVudC5pbnN0YW5jZU1hcFt0aGlzLmdldElkKCldO1xuXG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRkZWxldGUgKHdpbmRvdyBhcyB1bmtub3duKS5fcm91dGluZztcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRMb2cuaW5mbyhlIGFzIHN0cmluZyk7XG5cdFx0fVxuXG5cdFx0Ly9XT1JLQVJPVU5EIGZvciBzdGlja3kgZGlzY2FyZCByZXF1ZXN0IDogZHVlIHRvIGFzeW5jIGNhbGxiYWNrLCByZXF1ZXN0IHRyaWdnZXJlZCBieSB0aGUgZXhpdEFwcGxpY2F0aW9uIHdpbGwgYmUgc2VuZCBhZnRlciB0aGUgVUlDb21wb25lbnQucHJvdG90eXBlLmRlc3Ryb3lcblx0XHQvL3NvIHdlIG5lZWQgdG8gY29weSB0aGUgUmVxdWVzdG9yIGhlYWRlcnMgYXMgaXQgd2lsbCBiZSBkZXN0cm95XG5cblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGNvbnN0IG9NYWluTW9kZWwgPSB0aGlzLm9Nb2RlbHNbdW5kZWZpbmVkXTtcblx0XHRsZXQgb0hlYWRlcnM7XG5cdFx0aWYgKG9NYWluTW9kZWwub1JlcXVlc3Rvcikge1xuXHRcdFx0b0hlYWRlcnMgPSBqUXVlcnkuZXh0ZW5kKHt9LCBvTWFpbk1vZGVsLm9SZXF1ZXN0b3IubUhlYWRlcnMpO1xuXHRcdH1cblxuXHRcdC8vIEFzIHdlIG5lZWQgdG8gY2xlYW51cCB0aGUgYXBwbGljYXRpb24gLyBoYW5kbGUgdGhlIGRpcnR5IG9iamVjdCB3ZSBuZWVkIHRvIGNhbGwgb3VyIGNsZWFudXAgYmVmb3JlIHRoZSBtb2RlbHMgYXJlIGRlc3Ryb3llZFxuXHRcdHRoaXMuZ2V0Um91dGluZ1NlcnZpY2UoKT8uYmVmb3JlRXhpdCgpO1xuXHRcdHN1cGVyLmRlc3Ryb3koYlN1cHByZXNzSW52YWxpZGF0ZSk7XG5cdFx0aWYgKG9IZWFkZXJzICYmIG9NYWluTW9kZWwub1JlcXVlc3Rvcikge1xuXHRcdFx0b01haW5Nb2RlbC5vUmVxdWVzdG9yLm1IZWFkZXJzID0gb0hlYWRlcnM7XG5cdFx0fVxuXHR9XG5cblx0Z2V0Um91dGluZ1NlcnZpY2UoKTogUm91dGluZ1NlcnZpY2Uge1xuXHRcdHJldHVybiB7fSBhcyBSb3V0aW5nU2VydmljZTsgLy8gb3ZlcnJpZGVuIGF0IHJ1bnRpbWVcblx0fVxuXG5cdGdldFNoZWxsU2VydmljZXMoKTogSVNoZWxsU2VydmljZXMge1xuXHRcdHJldHVybiB7fSBhcyBJU2hlbGxTZXJ2aWNlczsgLy8gb3ZlcnJpZGVuIGF0IHJ1bnRpbWVcblx0fVxuXG5cdGdldE5hdmlnYXRpb25TZXJ2aWNlKCk6IE5hdmlnYXRpb25TZXJ2aWNlIHtcblx0XHRyZXR1cm4ge30gYXMgTmF2aWdhdGlvblNlcnZpY2U7IC8vIG92ZXJyaWRlbiBhdCBydW50aW1lXG5cdH1cblxuXHRnZXRTaWRlRWZmZWN0c1NlcnZpY2UoKTogU2lkZUVmZmVjdHNTZXJ2aWNlIHtcblx0XHRyZXR1cm4ge30gYXMgU2lkZUVmZmVjdHNTZXJ2aWNlO1xuXHR9XG5cblx0Z2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKTogRW52aXJvbm1lbnRDYXBhYmlsaXRpZXNTZXJ2aWNlIHtcblx0XHRyZXR1cm4ge30gYXMgRW52aXJvbm1lbnRDYXBhYmlsaXRpZXNTZXJ2aWNlO1xuXHR9XG5cblx0YXN5bmMgZ2V0U3RhcnR1cFBhcmFtZXRlcnMoKSB7XG5cdFx0Y29uc3Qgb0NvbXBvbmVudERhdGEgPSB0aGlzLmdldENvbXBvbmVudERhdGEoKTtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKChvQ29tcG9uZW50RGF0YSAmJiBvQ29tcG9uZW50RGF0YS5zdGFydHVwUGFyYW1ldGVycykgfHwge30pO1xuXHR9XG5cblx0cmVzdG9yZSgpIHtcblx0XHQvLyBjYWxsZWQgYnkgRkxQIHdoZW4gYXBwIHNhcC1rZWVwLWFsaXZlIGlzIGVuYWJsZWQgYW5kIGFwcCBpcyByZXN0b3JlZFxuXHRcdHRoaXMuZ2V0Um9vdFZpZXdDb250cm9sbGVyKCkudmlld1N0YXRlLm9uUmVzdG9yZSgpO1xuXHR9XG5cblx0c3VzcGVuZCgpIHtcblx0XHQvLyBjYWxsZWQgYnkgRkxQIHdoZW4gYXBwIHNhcC1rZWVwLWFsaXZlIGlzIGVuYWJsZWQgYW5kIGFwcCBpcyBzdXNwZW5kZWRcblx0XHR0aGlzLmdldFJvb3RWaWV3Q29udHJvbGxlcigpLnZpZXdTdGF0ZS5vblN1c3BlbmQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBuYXZpZ2F0ZUJhc2VkT25TdGFydHVwUGFyYW1ldGVyIGZ1bmN0aW9uIGlzIGEgcHVibGljIGFwaSB0aGF0IGFjdHMgYXMgYSB3cmFwcGVyIHRvIF9tYW5hZ2VEZWVwTGlua1N0YXJ0dXAgZnVuY3Rpb24uIEl0IHBhc3NlcyB0aGUgc3RhcnR1cCBwYXJhbWV0ZXJzIGZ1cnRoZXIgdG8gX21hbmFnZURlZXBMaW5rU3RhcnR1cCBmdW5jdGlvblxuXHQgKlxuXHQgKiBAcGFyYW0gc3RhcnR1cFBhcmFtZXRlcnMgRGVmaW5lcyB0aGUgc3RhcnR1cCBwYXJhbWV0ZXJzIHdoaWNoIGlzIGZ1cnRoZXIgcGFzc2VkIHRvIF9tYW5hZ2VEZWVwTGlua1N0YXJ0dXAgZnVuY3Rpb24uXG5cdCAqL1xuXG5cdGFzeW5jIG5hdmlnYXRlQmFzZWRPblN0YXJ0dXBQYXJhbWV0ZXIoc3RhcnR1cFBhcmFtZXRlcnM6IFN0YXJ0dXBQYXJhbWV0ZXJzIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuXHRcdHRyeSB7XG5cdFx0XHRpZiAoIUJ1c3lMb2NrZXIuaXNMb2NrZWQodGhpcy5nZXRNb2RlbChcInVpXCIpKSkge1xuXHRcdFx0XHRpZiAoIXN0YXJ0dXBQYXJhbWV0ZXJzKSB7XG5cdFx0XHRcdFx0c3RhcnR1cFBhcmFtZXRlcnMgPSBudWxsO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnN0IHJvdXRpbmdTZXJ2aWNlID0gdGhpcy5nZXRSb3V0aW5nU2VydmljZSgpO1xuXHRcdFx0XHRhd2FpdCByb3V0aW5nU2VydmljZS5fbWFuYWdlRGVlcExpbmtTdGFydHVwKHN0YXJ0dXBQYXJhbWV0ZXJzKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChleGNlcHRpb246IHVua25vd24pIHtcblx0XHRcdExvZy5lcnJvcihleGNlcHRpb24gYXMgc3RyaW5nKTtcblx0XHRcdEJ1c3lMb2NrZXIudW5sb2NrKHRoaXMuZ2V0TW9kZWwoXCJ1aVwiKSk7XG5cdFx0fVxuXHR9XG59XG5cbmludGVyZmFjZSBBcHBDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudCB7XG5cdGdldE1hbmlmZXN0KCk6IE1hbmlmZXN0Q29udGVudDtcblx0Z2V0TWFuaWZlc3RFbnRyeShlbnRyeTogXCJzYXAuYXBwXCIpOiBNYW5pZmVzdENvbnRlbnRBcHA7XG5cdGdldE1hbmlmZXN0RW50cnkoZW50cnk6IFwic2FwLnVpNVwiKTogTWFuaWZlc3RDb250ZW50VUk1O1xuXHRnZXRDb21wb25lbnREYXRhKCk6IENvbXBvbmVudERhdGE7XG5cdGdldFJvb3RDb250cm9sKCk6IHtcblx0XHRnZXRDb250cm9sbGVyKCk6IFJvb3RWaWV3QmFzZUNvbnRyb2xsZXI7XG5cdH0gJiBWaWV3O1xufVxuXG5leHBvcnQgZGVmYXVsdCBBcHBDb21wb25lbnQ7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7RUEyQkEsTUFBTUEsV0FBVyxHQUFHQyxPQUFPLENBQUNELFdBQVc7RUFFdkMsTUFBTUUsT0FBTyxHQUFHO0lBQ2ZDLEdBQUcsRUFBRTtNQUNKQyxRQUFRLEVBQUUsMEJBQTBCO01BQ3BDQyxzQkFBc0IsRUFBRSx5Q0FBeUM7TUFDakVDLFdBQVcs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
|
|
467
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGFydHVwTW9kZSIsImxpYnJhcnkiLCJUYWJsZVR5cGVCYXNlIiwicHJvdG90eXBlIiwiZXhpdCIsIl9vTWFuYWdlZE9iamVjdE1vZGVsIiwiZGVzdHJveSIsIlVJNUVsZW1lbnQiLCJhcHBseSIsIk5BVkNPTkYiLCJGQ0wiLCJWSUVXTkFNRSIsIlZJRVdOQU1FX0NPTVBBVElCSUxJVFkiLCJST1VURVJDTEFTUyIsIk5BVkNPTlRBSU5FUiIsIkFwcENvbXBvbmVudCIsImRlZmluZVVJNUNsYXNzIiwiaW50ZXJmYWNlcyIsImNvbmZpZyIsImZ1bGxXaWR0aCIsIm1hbmlmZXN0Iiwic2VydmljZXMiLCJyZXNvdXJjZU1vZGVsIiwiZmFjdG9yeU5hbWUiLCJzdGFydHVwIiwic2V0dGluZ3MiLCJidW5kbGVzIiwibW9kZWxOYW1lIiwicm91dGluZ1NlcnZpY2UiLCJzaGVsbFNlcnZpY2VzIiwiU2hlbGxVSVNlcnZpY2UiLCJuYXZpZ2F0aW9uU2VydmljZSIsImVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwic2lkZUVmZmVjdHNTZXJ2aWNlIiwiYXN5bmNDb21wb25lbnRTZXJ2aWNlIiwicm9vdFZpZXciLCJ2aWV3TmFtZSIsInR5cGUiLCJhc3luYyIsImlkIiwicm91dGluZyIsImNvbnRyb2xJZCIsInJvdXRlckNsYXNzIiwidmlld1R5cGUiLCJjb250cm9sQWdncmVnYXRpb24iLCJjb250YWluZXJPcHRpb25zIiwicHJvcGFnYXRlTW9kZWwiLCJkZXNpZ250aW1lIiwic3RhcnR1cE1vZGUiLCJOb3JtYWwiLCJfaXNGY2xFbmFibGVkIiwib01hbmlmZXN0VUk1IiwiZ2V0TWFuaWZlc3RFbnRyeSIsImluaXRpYWxpemVGZWF0dXJlVG9nZ2xlcyIsIlByb21pc2UiLCJyZXNvbHZlIiwiY2hhbmdlUGFnZUNvbmZpZ3VyYXRpb24iLCJwYWdlSWQiLCJwYXRoIiwidmFsdWUiLCJjaGFuZ2VDb25maWd1cmF0aW9uIiwiZ2V0TWFuaWZlc3QiLCJnZXRSb3V0ZXJQcm94eSIsIl9vUm91dGVyUHJveHkiLCJnZXRBcHBTdGF0ZUhhbmRsZXIiLCJfb0FwcFN0YXRlSGFuZGxlciIsImdldFJvb3RWaWV3Q29udHJvbGxlciIsImdldFJvb3RDb250cm9sIiwiZ2V0Q29udHJvbGxlciIsImdldFJvb3RDb250YWluZXIiLCJnZXRDb250ZW50IiwiZ2V0U3RhcnR1cE1vZGUiLCJzZXRTdGFydHVwTW9kZUNyZWF0ZSIsIkNyZWF0ZSIsInNldFN0YXJ0dXBNb2RlQXV0b0NyZWF0ZSIsIkF1dG9DcmVhdGUiLCJzZXRTdGFydHVwTW9kZURlZXBsaW5rIiwiRGVlcGxpbmsiLCJpbml0IiwidWlNb2RlbCIsIkpTT05Nb2RlbCIsImVkaXRNb2RlIiwiRWRpdE1vZGUiLCJEaXNwbGF5IiwiaXNFZGl0YWJsZSIsImRyYWZ0U3RhdHVzIiwiRHJhZnRTdGF0dXMiLCJDbGVhciIsImJ1c3kiLCJidXN5TG9jYWwiLCJwYWdlcyIsIm9JbnRlcm5hbE1vZGVsIiwic2V0RGVmYXVsdEJpbmRpbmdNb2RlIiwiTW9kZWxIZWxwZXIiLCJlbmhhbmNlVWlKU09OTW9kZWwiLCJlbmhhbmNlSW50ZXJuYWxKU09OTW9kZWwiLCJzZXRNb2RlbCIsImJJbml0aWFsaXplUm91dGluZyIsInVuZGVmaW5lZCIsIlJvdXRlclByb3h5IiwiQXBwU3RhdGVIYW5kbGVyIiwiX29EaWFnbm9zdGljcyIsIkRpYWdub3N0aWNzIiwib01vZGVsIiwiZ2V0TW9kZWwiLCJpc0EiLCJlbnRpdHlDb250YWluZXIiLCJnZXRNZXRhTW9kZWwiLCJyZXF1ZXN0T2JqZWN0IiwiTG9nIiwiaW5mbyIsImluZGV4T2YiLCJFcnJvciIsIlNlbWFudGljRGF0ZU9wZXJhdG9ycyIsImFkZFNlbWFudGljRGF0ZU9wZXJhdG9ycyIsImluc3RhbmNlTWFwIiwiZ2V0SWQiLCJvblNlcnZpY2VzU3RhcnRlZCIsImZpbmFsaXplZFJvdXRpbmdJbml0aWFsaXphdGlvbiIsInRoZW4iLCJhdHRhY2hSb3V0ZU1hdGNoZXJzIiwiZ2V0Um91dGVyIiwiaW5pdGlhbGl6ZSIsImNhdGNoIiwiZXJyb3IiLCJvUmVzb3VyY2VCdW5kbGUiLCJDb3JlIiwiZ2V0TGlicmFyeVJlc291cmNlQnVuZGxlIiwiZGlzcGxheUVycm9yUGFnZSIsImdldFRleHQiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwibWVzc2FnZSIsIkZDTExldmVsIiwiZ2V0Um91dGluZ1NlcnZpY2UiLCJpbml0aWFsaXplUm91dGluZyIsImF0dGFjaEFmdGVySW5pdCIsImVyciIsInRvU3RyaW5nIiwiZGVsZXRlTW9kZWxDYWNoZURhdGEiLCJjbGVhblBhZ2VDb25maWd1cmF0aW9uQ2hhbmdlcyIsImdldERpYWdub3N0aWNzIiwiYlN1cHByZXNzSW52YWxpZGF0ZSIsIndpbmRvdyIsIl9yb3V0aW5nIiwiZSIsIm9NYWluTW9kZWwiLCJvTW9kZWxzIiwib0hlYWRlcnMiLCJvUmVxdWVzdG9yIiwialF1ZXJ5IiwiZXh0ZW5kIiwibUhlYWRlcnMiLCJiZWZvcmVFeGl0IiwiZ2V0U2hlbGxTZXJ2aWNlcyIsImdldE5hdmlnYXRpb25TZXJ2aWNlIiwiZ2V0U2lkZUVmZmVjdHNTZXJ2aWNlIiwiZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMiLCJnZXRTdGFydHVwUGFyYW1ldGVycyIsIm9Db21wb25lbnREYXRhIiwiZ2V0Q29tcG9uZW50RGF0YSIsInN0YXJ0dXBQYXJhbWV0ZXJzIiwicmVzdG9yZSIsInZpZXdTdGF0ZSIsIm9uUmVzdG9yZSIsInN1c3BlbmQiLCJvblN1c3BlbmQiLCJuYXZpZ2F0ZUJhc2VkT25TdGFydHVwUGFyYW1ldGVyIiwiQnVzeUxvY2tlciIsImlzTG9ja2VkIiwiX21hbmFnZURlZXBMaW5rU3RhcnR1cCIsImV4Y2VwdGlvbiIsInVubG9jayIsIlVJQ29tcG9uZW50Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJBcHBDb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgdHlwZSBGbGV4aWJsZUNvbHVtbkxheW91dCBmcm9tIFwic2FwL2YvRmxleGlibGVDb2x1bW5MYXlvdXRcIjtcbmltcG9ydCBBcHBTdGF0ZUhhbmRsZXIgZnJvbSBcInNhcC9mZS9jb3JlL0FwcFN0YXRlSGFuZGxlclwiO1xuaW1wb3J0IFJvdXRlclByb3h5IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9yb3V0aW5nL1JvdXRlclByb3h5XCI7XG5pbXBvcnQgdHlwZSB7IENvbnRlbnREZW5zaXRpZXNUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWFuaWZlc3RTZXR0aW5nc1wiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBNb2RlbEhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IGxpYnJhcnkgZnJvbSBcInNhcC9mZS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB7IGNoYW5nZUNvbmZpZ3VyYXRpb24sIGNsZWFuUGFnZUNvbmZpZ3VyYXRpb25DaGFuZ2VzIH0gZnJvbSBcInNhcC9mZS9jb3JlL21hbmlmZXN0TWVyZ2VyL0NoYW5nZVBhZ2VDb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgdHlwZSBSb290Vmlld0Jhc2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9yb290Vmlldy9Sb290Vmlld0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSB7IEVudmlyb25tZW50Q2FwYWJpbGl0aWVzU2VydmljZSB9IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9FbnZpcm9ubWVudFNlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgdHlwZSB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL05hdmlnYXRpb25TZXJ2aWNlRmFjdG9yeVwiO1xuaW1wb3J0IHR5cGUgeyBSb3V0aW5nU2VydmljZSB9IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9Sb3V0aW5nU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCB0eXBlIHsgSVNoZWxsU2VydmljZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvU2hlbGxTZXJ2aWNlc0ZhY3RvcnlcIjtcbmltcG9ydCB0eXBlIHsgU2lkZUVmZmVjdHNTZXJ2aWNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1NpZGVFZmZlY3RzU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCBEaWFnbm9zdGljcyBmcm9tIFwic2FwL2ZlL2NvcmUvc3VwcG9ydC9EaWFnbm9zdGljc1wiO1xuaW1wb3J0IHR5cGUgTmF2Q29udGFpbmVyIGZyb20gXCJzYXAvbS9OYXZDb250YWluZXJcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgVUk1RWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHR5cGUgVmlldyBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL1ZpZXdcIjtcbmltcG9ydCBVSUNvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvVUlDb21wb25lbnRcIjtcbmltcG9ydCBUYWJsZVR5cGVCYXNlIGZyb20gXCJzYXAvdWkvbWRjL3RhYmxlL1RhYmxlVHlwZUJhc2VcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3RNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2Jhc2UvTWFuYWdlZE9iamVjdE1vZGVsXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCB0eXBlIE9EYXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1vZGVsXCI7XG5pbXBvcnQgQnVzeUxvY2tlciBmcm9tIFwiLi9jb250cm9sbGVyZXh0ZW5zaW9ucy9CdXN5TG9ja2VyXCI7XG5pbXBvcnQgeyBkZWxldGVNb2RlbENhY2hlRGF0YSB9IGZyb20gXCIuL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgU2VtYW50aWNEYXRlT3BlcmF0b3JzIGZyb20gXCIuL2hlbHBlcnMvU2VtYW50aWNEYXRlT3BlcmF0b3JzXCI7XG5cbmNvbnN0IFN0YXJ0dXBNb2RlID0gbGlicmFyeS5TdGFydHVwTW9kZTtcblRhYmxlVHlwZUJhc2UucHJvdG90eXBlLmV4aXQgPSBmdW5jdGlvbiAodGhpczogeyBfb01hbmFnZWRPYmplY3RNb2RlbD86IE1hbmFnZWRPYmplY3RNb2RlbCB9KSB7XG5cdHRoaXMuX29NYW5hZ2VkT2JqZWN0TW9kZWw/LmRlc3Ryb3koKTtcblx0ZGVsZXRlIHRoaXMuX29NYW5hZ2VkT2JqZWN0TW9kZWw7XG5cdFVJNUVsZW1lbnQucHJvdG90eXBlLmV4aXQuYXBwbHkodGhpcywgW10pO1xufTtcbmNvbnN0IE5BVkNPTkYgPSB7XG5cdEZDTDoge1xuXHRcdFZJRVdOQU1FOiBcInNhcC5mZS5jb3JlLnJvb3RWaWV3LkZjbFwiLFxuXHRcdFZJRVdOQU1FX0NPTVBBVElCSUxJVFk6IFwic2FwLmZlLnRlbXBsYXRlcy5Sb290Q29udGFpbmVyLnZpZXcuRmNsXCIsXG5cdFx0Uk9VVEVSQ0xBU1M6IFwic2FwLmYucm91dGluZy5Sb3V0ZXJcIlxuXHR9LFxuXHROQVZDT05UQUlORVI6IHtcblx0XHRWSUVXTkFNRTogXCJzYXAuZmUuY29yZS5yb290Vmlldy5OYXZDb250YWluZXJcIixcblx0XHRWSUVXTkFNRV9DT01QQVRJQklMSVRZOiBcInNhcC5mZS50ZW1wbGF0ZXMuUm9vdENvbnRhaW5lci52aWV3Lk5hdkNvbnRhaW5lclwiLFxuXHRcdFJPVVRFUkNMQVNTOiBcInNhcC5tLnJvdXRpbmcuUm91dGVyXCJcblx0fVxufTtcblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RDb250ZW50QXBwID0ge1xuXHRkYXRhU291cmNlczoge1xuXHRcdFt4OiBzdHJpbmddOiB7IHVyaTogc3RyaW5nIH07XG5cdH07XG5cdGlkOiBzdHJpbmc7XG5cdHR5cGU6IHN0cmluZztcblx0Y3Jvc3NOYXZpZ2F0aW9uPzoge1xuXHRcdG91dGJvdW5kcz86IFJlY29yZDxcblx0XHRcdHN0cmluZyxcblx0XHRcdHtcblx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IHN0cmluZztcblx0XHRcdFx0YWN0aW9uOiBzdHJpbmc7XG5cdFx0XHRcdHBhcmFtZXRlcnM6IHN0cmluZztcblx0XHRcdH1cblx0XHQ+O1xuXHR9O1xuXHR0aXRsZT86IHN0cmluZztcblx0c3ViVGl0bGU/OiBzdHJpbmc7XG5cdGljb24/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBNYW5pZmVzdENvbnRlbnRVSTUgPSB7XG5cdGNvbnRlbnREZW5zaXRpZXM/OiBDb250ZW50RGVuc2l0aWVzVHlwZTtcblx0cGFnZVJlYWR5VGltZW91dD86IG51bWJlcjtcblx0cm9vdFZpZXc/OiB7XG5cdFx0dmlld05hbWU6IHN0cmluZztcblx0fTtcblx0cm91dGluZz86IHtcblx0XHRjb25maWc/OiB7XG5cdFx0XHRyb3V0ZXJDbGFzczogc3RyaW5nO1xuXHRcdFx0Y29udHJvbElkPzogc3RyaW5nO1xuXHRcdH07XG5cdFx0cm91dGVzOiB7XG5cdFx0XHRwYXR0ZXJuOiBzdHJpbmc7XG5cdFx0XHRuYW1lOiBzdHJpbmc7XG5cdFx0XHR0YXJnZXQ6IHN0cmluZztcblx0XHR9W107XG5cdFx0dGFyZ2V0cz86IFJlY29yZDxcblx0XHRcdHN0cmluZyxcblx0XHRcdHtcblx0XHRcdFx0aWQ6IHN0cmluZztcblx0XHRcdFx0bmFtZTogc3RyaW5nO1xuXHRcdFx0XHRvcHRpb25zPzoge1xuXHRcdFx0XHRcdHNldHRpbmdzPzogb2JqZWN0O1xuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdD47XG5cdH07XG5cdG1vZGVsczogUmVjb3JkPFxuXHRcdHN0cmluZyxcblx0XHR7XG5cdFx0XHR0eXBlPzogc3RyaW5nO1xuXHRcdFx0ZGF0YVNvdXJjZT86IHN0cmluZztcblx0XHRcdHNldHRpbmdzPzogb2JqZWN0O1xuXHRcdH1cblx0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0Q29udGVudCA9IHtcblx0XCJzYXAuYXBwXCI/OiBNYW5pZmVzdENvbnRlbnRBcHA7XG5cdFwic2FwLnVpNVwiPzogTWFuaWZlc3RDb250ZW50VUk1O1xuXHRcInNhcC5mZVwiPzoge1xuXHRcdGZvcm0/OiB7XG5cdFx0XHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0PzogYm9vbGVhbjtcblx0XHR9O1xuXHR9O1xufTtcbmV4cG9ydCB0eXBlIENvbXBvbmVudERhdGEgPSB7XG5cdHN0YXJ0dXBQYXJhbWV0ZXJzPzoge1xuXHRcdHByZWZlcnJlZE1vZGU/OiBzdHJpbmdbXTtcblx0fSAmIFJlY29yZDxzdHJpbmcsIHVua25vd25bXT47XG5cdC8vZmVFbnZpcm9ubWVudCBpcyBvYmplY3Qgd2hpY2ggaXMgcmVjZWl2ZWQgYXMgYSBwYXJ0IG9mIHRoZSBjb21wb25lbnQgZGF0YSBmb3IgTXkgSW5ib3ggYXBwbGljYXRpb25zLlxuXHRmZUVudmlyb25tZW50Pzoge1xuXHRcdC8vV2l0aGluIHRoaXMgb2JqZWN0IHRoZXkgcGFzcyBhIGZ1bmN0aW9uIGNhbGxlZCBnZXRJbnRlbnQoKSB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBzZW1hbnRpY09iamVjdCBhbmQgYWN0aW9uIGFzIHNlcGFyYXRlIHByb3BlcnR5LXZhbHVlIGVudHJpZXMgdGhhdCBhcmUgdGhlbiB1c2VkIHRvIHVwZGF0ZSB0aGUgcmVsYXRlZCBhcHBzIGJ1dHRvbi5cblx0XHRnZXRJbnRlbnQ6IEZ1bmN0aW9uO1xuXHRcdC8vV2l0aGluIHRoaXMgb2JqZWN0IHRoZXkgcGFzcyBhIGZ1bmN0aW9uIGNhbGxlZCBnZXRTaGFyZUNvbnRyb2xWaXNpYmlsaXR5KCkgdGhhdCByZXR1cm5zIGJvb2xlYW4gdmFsdWVzKHRydWUgb3IgZmFsc2UpIHdoaWNoIGRldGVybWluZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIHNoYXJlIGJ1dHRvbi5cblx0XHRnZXRTaGFyZUNvbnRyb2xWaXNpYmlsaXR5OiBGdW5jdGlvbjtcblx0fTtcbn07XG5cbmV4cG9ydCB0eXBlIFN0YXJ0dXBQYXJhbWV0ZXJzID0ge1xuXHRwcmVmZXJyZWRNb2RlPzogc3RyaW5nW107XG59ICYgUmVjb3JkPHN0cmluZywgdW5rbm93bltdPjtcbi8qKlxuICogTWFpbiBjbGFzcyBmb3IgY29tcG9uZW50cyB1c2VkIGZvciBhbiBhcHBsaWNhdGlvbiBpbiBTQVAgRmlvcmkgZWxlbWVudHMuXG4gKlxuICogQXBwbGljYXRpb24gZGV2ZWxvcGVycyB1c2luZyB0aGUgdGVtcGxhdGVzIGFuZCBidWlsZGluZyBibG9ja3MgcHJvdmlkZWQgYnkgU0FQIEZpb3JpIGVsZW1lbnRzIHNob3VsZCBjcmVhdGUgdGhlaXIgYXBwcyBieSBleHRlbmRpbmcgdGhpcyBjb21wb25lbnQuXG4gKiBUaGlzIGVuc3VyZXMgdGhhdCBhbGwgdGhlIG5lY2Vzc2FyeSBzZXJ2aWNlcyB0aGF0IHlvdSBuZWVkIGZvciB0aGUgYnVpbGRpbmcgYmxvY2tzIGFuZCB0ZW1wbGF0ZXMgdG8gd29yayBwcm9wZXJseSBhcmUgc3RhcnRlZC5cbiAqXG4gKiBXaGVuIHlvdSB1c2Ugc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50IGFzIHRoZSBiYXNlIGNvbXBvbmVudCwgeW91IGFsc28gbmVlZCB0byB1c2UgYSByb290Vmlldy4gU0FQIEZpb3JpIGVsZW1lbnRzIHByb3ZpZGVzIHR3byBvcHRpb25zOiA8YnIvPlxuICogIC0gc2FwLmZlLmNvcmUucm9vdFZpZXcuTmF2Q29udGFpbmVyIHdoZW4gdXNpbmcgc2FwLm0ucm91dGluZy5Sb3V0ZXIgPGJyLz5cbiAqICAtIHNhcC5mZS5jb3JlLnJvb3RWaWV3LkZjbCB3aGVuIHVzaW5nIHNhcC5mLnJvdXRpbmcuUm91dGVyIChGQ0wgdXNlIGNhc2UpIDxici8+XG4gKlxuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQHB1YmxpY1xuICogQG5hbWUgc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50XG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5jb3JlLkFwcENvbXBvbmVudFwiLCB7XG5cdGludGVyZmFjZXM6IFtcInNhcC51aS5jb3JlLklBc3luY0NvbnRlbnRDcmVhdGlvblwiXSxcblx0Y29uZmlnOiB7XG5cdFx0ZnVsbFdpZHRoOiB0cnVlXG5cdH0sXG5cdG1hbmlmZXN0OiB7XG5cdFx0XCJzYXAudWk1XCI6IHtcblx0XHRcdHNlcnZpY2VzOiB7XG5cdFx0XHRcdHJlc291cmNlTW9kZWw6IHtcblx0XHRcdFx0XHRmYWN0b3J5TmFtZTogXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5SZXNvdXJjZU1vZGVsU2VydmljZVwiLFxuXHRcdFx0XHRcdHN0YXJ0dXA6IFwid2FpdEZvclwiLFxuXHRcdFx0XHRcdHNldHRpbmdzOiB7XG5cdFx0XHRcdFx0XHRidW5kbGVzOiBbXCJzYXAuZmUuY29yZS5tZXNzYWdlYnVuZGxlXCJdLFxuXHRcdFx0XHRcdFx0bW9kZWxOYW1lOiBcInNhcC5mZS5pMThuXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHJvdXRpbmdTZXJ2aWNlOiB7XG5cdFx0XHRcdFx0ZmFjdG9yeU5hbWU6IFwic2FwLmZlLmNvcmUuc2VydmljZXMuUm91dGluZ1NlcnZpY2VcIixcblx0XHRcdFx0XHRzdGFydHVwOiBcIndhaXRGb3JcIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHRzaGVsbFNlcnZpY2VzOiB7XG5cdFx0XHRcdFx0ZmFjdG9yeU5hbWU6IFwic2FwLmZlLmNvcmUuc2VydmljZXMuU2hlbGxTZXJ2aWNlc1wiLFxuXHRcdFx0XHRcdHN0YXJ0dXA6IFwid2FpdEZvclwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdFNoZWxsVUlTZXJ2aWNlOiB7XG5cdFx0XHRcdFx0ZmFjdG9yeU5hbWU6IFwic2FwLnVzaGVsbC51aTVzZXJ2aWNlLlNoZWxsVUlTZXJ2aWNlXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0bmF2aWdhdGlvblNlcnZpY2U6IHtcblx0XHRcdFx0XHRmYWN0b3J5TmFtZTogXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5OYXZpZ2F0aW9uU2VydmljZVwiLFxuXHRcdFx0XHRcdHN0YXJ0dXA6IFwid2FpdEZvclwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGVudmlyb25tZW50Q2FwYWJpbGl0aWVzOiB7XG5cdFx0XHRcdFx0ZmFjdG9yeU5hbWU6IFwic2FwLmZlLmNvcmUuc2VydmljZXMuRW52aXJvbm1lbnRTZXJ2aWNlXCIsXG5cdFx0XHRcdFx0c3RhcnR1cDogXCJ3YWl0Rm9yXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0c2lkZUVmZmVjdHNTZXJ2aWNlOiB7XG5cdFx0XHRcdFx0ZmFjdG9yeU5hbWU6IFwic2FwLmZlLmNvcmUuc2VydmljZXMuU2lkZUVmZmVjdHNTZXJ2aWNlXCIsXG5cdFx0XHRcdFx0c3RhcnR1cDogXCJ3YWl0Rm9yXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0YXN5bmNDb21wb25lbnRTZXJ2aWNlOiB7XG5cdFx0XHRcdFx0ZmFjdG9yeU5hbWU6IFwic2FwLmZlLmNvcmUuc2VydmljZXMuQXN5bmNDb21wb25lbnRTZXJ2aWNlXCIsXG5cdFx0XHRcdFx0c3RhcnR1cDogXCJ3YWl0Rm9yXCJcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdHJvb3RWaWV3OiB7XG5cdFx0XHRcdHZpZXdOYW1lOiBOQVZDT05GLk5BVkNPTlRBSU5FUi5WSUVXTkFNRSxcblx0XHRcdFx0dHlwZTogXCJYTUxcIixcblx0XHRcdFx0YXN5bmM6IHRydWUsXG5cdFx0XHRcdGlkOiBcImFwcFJvb3RWaWV3XCJcblx0XHRcdH0sXG5cdFx0XHRyb3V0aW5nOiB7XG5cdFx0XHRcdGNvbmZpZzoge1xuXHRcdFx0XHRcdGNvbnRyb2xJZDogXCJhcHBDb250ZW50XCIsXG5cdFx0XHRcdFx0cm91dGVyQ2xhc3M6IE5BVkNPTkYuTkFWQ09OVEFJTkVSLlJPVVRFUkNMQVNTLFxuXHRcdFx0XHRcdHZpZXdUeXBlOiBcIlhNTFwiLFxuXHRcdFx0XHRcdGNvbnRyb2xBZ2dyZWdhdGlvbjogXCJwYWdlc1wiLFxuXHRcdFx0XHRcdGFzeW5jOiB0cnVlLFxuXHRcdFx0XHRcdGNvbnRhaW5lck9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHByb3BhZ2F0ZU1vZGVsOiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9LFxuXHRkZXNpZ250aW1lOiBcInNhcC9mZS9jb3JlL2Rlc2lnbnRpbWUvQXBwQ29tcG9uZW50LmRlc2lnbnRpbWVcIixcblxuXHRsaWJyYXJ5OiBcInNhcC5mZS5jb3JlXCJcbn0pXG5jbGFzcyBBcHBDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudCB7XG5cdHN0YXRpYyBpbnN0YW5jZU1hcDogUmVjb3JkPHN0cmluZywgQXBwQ29tcG9uZW50PiA9IHt9O1xuXG5cdHByaXZhdGUgX29Sb3V0ZXJQcm94eSE6IFJvdXRlclByb3h5O1xuXG5cdHByaXZhdGUgX29BcHBTdGF0ZUhhbmRsZXIhOiBBcHBTdGF0ZUhhbmRsZXI7XG5cblx0cHJpdmF0ZSBiSW5pdGlhbGl6ZVJvdXRpbmc/OiBib29sZWFuO1xuXG5cdHByaXZhdGUgX29EaWFnbm9zdGljcyE6IERpYWdub3N0aWNzO1xuXG5cdHByaXZhdGUgZW50aXR5Q29udGFpbmVyITogUHJvbWlzZTx2b2lkPjtcblxuXHRwcml2YXRlIHN0YXJ0dXBNb2RlOiBzdHJpbmcgPSBTdGFydHVwTW9kZS5Ob3JtYWw7XG5cblx0LyoqXG5cdCAqIEBwcml2YXRlXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudC5nZXRNZXRhZGF0YVxuXHQgKiBAZnVuY3Rpb25cblx0ICovXG5cblx0X2lzRmNsRW5hYmxlZCgpIHtcblx0XHRjb25zdCBvTWFuaWZlc3RVSTUgPSB0aGlzLmdldE1hbmlmZXN0RW50cnkoXCJzYXAudWk1XCIpO1xuXHRcdHJldHVybiBvTWFuaWZlc3RVSTU/LnJvdXRpbmc/LmNvbmZpZz8ucm91dGVyQ2xhc3MgPT09IE5BVkNPTkYuRkNMLlJPVVRFUkNMQVNTO1xuXHR9XG5cblx0LyoqXG5cdCAqIFByb3ZpZGVzIGEgaG9vayB0byBpbml0aWFsaXplIGZlYXR1cmUgdG9nZ2xlcy5cblx0ICpcblx0ICogVGhpcyBob29rIGlzIGJlaW5nIGNhbGxlZCBieSB0aGUgU0FQIEZpb3JpIGVsZW1lbnRzIEFwcENvbXBvbmVudCBhdCB0aGUgdGltZSBmZWF0dXJlIHRvZ2dsZXMgY2FuIGJlIGluaXRpYWxpemVkLlxuXHQgKiBUbyBjaGFuZ2UgcGFnZSBjb25maWd1cmF0aW9uIHVzZSB0aGUge0BsaW5rIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudCNjaGFuZ2VQYWdlQ29uZmlndXJhdGlvbn0gbWV0aG9kLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50I2luaXRpYWxpemVGZWF0dXJlVG9nZ2xlc1xuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFzeW5jIGluaXRpYWxpemVGZWF0dXJlVG9nZ2xlcygpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHQvLyB0aGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBhcHBsaWNhdGlvbnNcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hhbmdlcyB0aGUgcGFnZSBjb25maWd1cmF0aW9uIG9mIFNBUCBGaW9yaSBlbGVtZW50cy5cblx0ICpcblx0ICogVGhpcyBtZXRob2QgZW5hYmxlcyB5b3UgdG8gY2hhbmdlIHRoZSBwYWdlIGNvbmZpZ3VyYXRpb24gb2YgU0FQIEZpb3JpIGVsZW1lbnRzLlxuXHQgKlxuXHQgKiBAZnVuY3Rpb25cblx0ICogQG5hbWUgc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50I2NoYW5nZVBhZ2VDb25maWd1cmF0aW9uXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5BcHBDb21wb25lbnRcblx0ICogQHBhcmFtIHBhZ2VJZCBUaGUgSUQgb2YgdGhlIHBhZ2UgZm9yIHdoaWNoIHRoZSBjb25maWd1cmF0aW9uIGlzIHRvIGJlIGNoYW5nZWQuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIGluIHRoZSBwYWdlIHNldHRpbmdzIGZvciB3aGljaCB0aGUgY29uZmlndXJhdGlvbiBpcyB0byBiZSBjaGFuZ2VkLlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIG5ldyB2YWx1ZSBvZiB0aGUgY29uZmlndXJhdGlvbi4gVGhpcyBjb3VsZCBiZSBhIHBsYWluIHZhbHVlIGxpa2UgYSBzdHJpbmcsIG9yIGEgQm9vbGVhbiwgb3IgYSBzdHJ1Y3R1cmVkIG9iamVjdC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Y2hhbmdlUGFnZUNvbmZpZ3VyYXRpb24ocGFnZUlkOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgdmFsdWU6IHVua25vd24pOiB2b2lkIHtcblx0XHRjaGFuZ2VDb25maWd1cmF0aW9uKHRoaXMuZ2V0TWFuaWZlc3QoKSwgcGFnZUlkLCBwYXRoLCB2YWx1ZSwgdHJ1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGEgcmVmZXJlbmNlIHRvIHRoZSBSb3V0ZXJQcm94eS5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudCNnZXRSb3V0ZXJQcm94eVxuXHQgKiBAbWVtYmVyb2Ygc2FwLmZlLmNvcmUuQXBwQ29tcG9uZW50XG5cdCAqIEByZXR1cm5zIEEgUmVmZXJlbmNlIHRvIHRoZSBSb3V0ZXJQcm94eVxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICogQGZpbmFsXG5cdCAqL1xuXHRnZXRSb3V0ZXJQcm94eSgpOiBSb3V0ZXJQcm94eSB7XG5cdFx0cmV0dXJuIHRoaXMuX29Sb3V0ZXJQcm94eTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgYSByZWZlcmVuY2UgdG8gdGhlIEFwcFN0YXRlSGFuZGxlci5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudCNnZXRBcHBTdGF0ZUhhbmRsZXJcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudFxuXHQgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGUgQXBwU3RhdGVIYW5kbGVyXG5cdCAqIEB1aTUtcmVzdHJpY3RlZFxuXHQgKiBAZmluYWxcblx0ICovXG5cdGdldEFwcFN0YXRlSGFuZGxlcigpIHtcblx0XHRyZXR1cm4gdGhpcy5fb0FwcFN0YXRlSGFuZGxlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgYSByZWZlcmVuY2UgdG8gdGhlIG5hdi9GQ0wgQ29udHJvbGxlci5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudCNnZXRSb290Vmlld0NvbnRyb2xsZXJcblx0ICogQG1lbWJlcm9mIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudFxuXHQgKiBAcmV0dXJucyAgQSByZWZlcmVuY2UgdG8gdGhlIEZDTCBDb250cm9sbGVyXG5cdCAqIEB1aTUtcmVzdHJpY3RlZFxuXHQgKiBAZmluYWxcblx0ICovXG5cdGdldFJvb3RWaWV3Q29udHJvbGxlcigpOiBSb290Vmlld0Jhc2VDb250cm9sbGVyIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRSb290Q29udHJvbCgpLmdldENvbnRyb2xsZXIoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIE5hdkNvbnRhaW5lciBjb250cm9sIG9yIHRoZSBGQ0wgY29udHJvbC5cblx0ICpcblx0ICogQGZ1bmN0aW9uXG5cdCAqIEBuYW1lIHNhcC5mZS5jb3JlLkFwcENvbXBvbmVudCNnZXRSb290Q29udGFpbmVyXG5cdCAqIEBtZW1iZXJvZiBzYXAuZmUuY29yZS5BcHBDb21wb25lbnRcblx0ICogQHJldHVybnMgIEEgcmVmZXJlbmNlIHRvIE5hdkNvbnRhaW5lciBjb250cm9sIG9yIHRoZSBGQ0wgY29udHJvbFxuXHQgKiBAdWk1LXJlc3RyaWN0ZWRcblx0ICogQGZpbmFsXG5cdCAqL1xuXHRnZXRSb290Q29udGFpbmVyKCkge1xuXHRcdHJldHVybiB0aGlzLmdldFJvb3RDb250cm9sKCkuZ2V0Q29udGVudCgpWzBdIGFzIE5hdkNvbnRhaW5lciB8IEZsZXhpYmxlQ29sdW1uTGF5b3V0O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgc3RhcnR1cCBtb2RlIG9mIHRoZSBhcHAuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBzdGFydHVwIG1vZGVcblx0ICogQHByaXZhdGVcblx0ICovXG5cdGdldFN0YXJ0dXBNb2RlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuc3RhcnR1cE1vZGU7XG5cdH1cblxuXHQvKipcblx0ICogU2V0IHRoZSBzdGFydHVwIG1vZGUgZm9yIHRoZSBhcHAgdG8gJ0NyZWF0ZScuXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRzZXRTdGFydHVwTW9kZUNyZWF0ZSgpIHtcblx0XHR0aGlzLnN0YXJ0dXBNb2RlID0gU3RhcnR1cE1vZGUuQ3JlYXRlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldCB0aGUgc3RhcnR1cCBtb2RlIGZvciB0aGUgYXBwIHRvICdBdXRvQ3JlYXRlJy5cblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdHNldFN0YXJ0dXBNb2RlQXV0b0NyZWF0ZSgpIHtcblx0XHR0aGlzLnN0YXJ0dXBNb2RlID0gU3RhcnR1cE1vZGUuQXV0b0NyZWF0ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXQgdGhlIHN0YXJ0dXAgbW9kZSBmb3IgdGhlIGFwcCB0byAnRGVlcGxpbmsnLlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0c2V0U3RhcnR1cE1vZGVEZWVwbGluaygpIHtcblx0XHR0aGlzLnN0YXJ0dXBNb2RlID0gU3RhcnR1cE1vZGUuRGVlcGxpbms7XG5cdH1cblxuXHRpbml0KCkge1xuXHRcdGNvbnN0IHVpTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdGVkaXRNb2RlOiBsaWJyYXJ5LkVkaXRNb2RlLkRpc3BsYXksXG5cdFx0XHRpc0VkaXRhYmxlOiBmYWxzZSxcblx0XHRcdGRyYWZ0U3RhdHVzOiBsaWJyYXJ5LkRyYWZ0U3RhdHVzLkNsZWFyLFxuXHRcdFx0YnVzeTogZmFsc2UsXG5cdFx0XHRidXN5TG9jYWw6IHt9LFxuXHRcdFx0cGFnZXM6IHt9XG5cdFx0fSk7XG5cdFx0Y29uc3Qgb0ludGVybmFsTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdHBhZ2VzOiB7fVxuXHRcdH0pO1xuXHRcdC8vIHNldCB0aGUgYmluZGluZyBPbmVXYXkgZm9yIHVpTW9kZWwgdG8gcHJldmVudCBjaGFuZ2VzIGlmIGNvbnRyb2xsZXIgZXh0ZW5zaW9ucyBtb2RpZnkgYSBib3VuZCBwcm9wZXJ0eSBvZiBhIGNvbnRyb2xcblx0XHR1aU1vZGVsLnNldERlZmF1bHRCaW5kaW5nTW9kZShcIk9uZVdheVwiKTtcblx0XHQvLyBmb3IgaW50ZXJuYWwgbW9kZWwgYmluZGluZyBuZWVkcyB0byBiZSB0d28gd2F5XG5cdFx0TW9kZWxIZWxwZXIuZW5oYW5jZVVpSlNPTk1vZGVsKHVpTW9kZWwsIGxpYnJhcnkpO1xuXHRcdE1vZGVsSGVscGVyLmVuaGFuY2VJbnRlcm5hbEpTT05Nb2RlbChvSW50ZXJuYWxNb2RlbCk7XG5cblx0XHR0aGlzLnNldE1vZGVsKHVpTW9kZWwsIFwidWlcIik7XG5cdFx0dGhpcy5zZXRNb2RlbChvSW50ZXJuYWxNb2RlbCwgXCJpbnRlcm5hbFwiKTtcblxuXHRcdHRoaXMuYkluaXRpYWxpemVSb3V0aW5nID0gdGhpcy5iSW5pdGlhbGl6ZVJvdXRpbmcgIT09IHVuZGVmaW5lZCA/IHRoaXMuYkluaXRpYWxpemVSb3V0aW5nIDogdHJ1ZTtcblx0XHR0aGlzLl9vUm91dGVyUHJveHkgPSBuZXcgUm91dGVyUHJveHkoKTtcblx0XHR0aGlzLl9vQXBwU3RhdGVIYW5kbGVyID0gbmV3IEFwcFN0YXRlSGFuZGxlcih0aGlzKTtcblx0XHR0aGlzLl9vRGlhZ25vc3RpY3MgPSBuZXcgRGlhZ25vc3RpY3MoKTtcblxuXHRcdGNvbnN0IG9Nb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKSBhcyBPRGF0YU1vZGVsO1xuXHRcdGlmIChvTW9kZWw/LmlzQT8uKFwic2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhTW9kZWxcIikpIHtcblx0XHRcdHRoaXMuZW50aXR5Q29udGFpbmVyID0gb01vZGVsLmdldE1ldGFNb2RlbCgpLnJlcXVlc3RPYmplY3QoXCIvJEVudGl0eUNvbnRhaW5lci9cIik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIG5vdCBhbiBPRGF0YSB2NCBzZXJ2aWNlXG5cdFx0XHR0aGlzLmVudGl0eUNvbnRhaW5lciA9IFByb21pc2UucmVzb2x2ZSgpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG9NYW5pZmVzdFVJNSA9IHRoaXMuZ2V0TWFuaWZlc3QoKVtcInNhcC51aTVcIl07XG5cdFx0aWYgKG9NYW5pZmVzdFVJNT8ucm9vdFZpZXc/LnZpZXdOYW1lKSB7XG5cdFx0XHQvLyBUaGUgYXBwbGljYXRpb24gc3BlY2lmaWVkIGFuIG93biByb290IHZpZXcgaW4gdGhlIG1hbmlmZXN0XG5cblx0XHRcdC8vIFJvb3QgVmlldyB3YXMgbW92ZWQgZnJvbSBzYXAuZmUudGVtcGxhdGVzIHRvIHNhcC5mZS5jb3JlIC0ga2VlcCBpdCBjb21wYXRpYmxlXG5cdFx0XHRpZiAob01hbmlmZXN0VUk1LnJvb3RWaWV3LnZpZXdOYW1lID09PSBOQVZDT05GLkZDTC5WSUVXTkFNRV9DT01QQVRJQklMSVRZKSB7XG5cdFx0XHRcdG9NYW5pZmVzdFVJNS5yb290Vmlldy52aWV3TmFtZSA9IE5BVkNPTkYuRkNMLlZJRVdOQU1FO1xuXHRcdFx0fSBlbHNlIGlmIChvTWFuaWZlc3RVSTUucm9vdFZpZXcudmlld05hbWUgPT09IE5BVkNPTkYuTkFWQ09OVEFJTkVSLlZJRVdOQU1FX0NPTVBBVElCSUxJVFkpIHtcblx0XHRcdFx0b01hbmlmZXN0VUk1LnJvb3RWaWV3LnZpZXdOYW1lID0gTkFWQ09ORi5OQVZDT05UQUlORVIuVklFV05BTUU7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChcblx0XHRcdFx0b01hbmlmZXN0VUk1LnJvb3RWaWV3LnZpZXdOYW1lID09PSBOQVZDT05GLkZDTC5WSUVXTkFNRSAmJlxuXHRcdFx0XHRvTWFuaWZlc3RVSTUucm91dGluZz8uY29uZmlnPy5yb3V0ZXJDbGFzcyA9PT0gTkFWQ09ORi5GQ0wuUk9VVEVSQ0xBU1Ncblx0XHRcdCkge1xuXHRcdFx0XHRMb2cuaW5mbyhgUm9vdGNvbnRhaW5lcjogXCIke05BVkNPTkYuRkNMLlZJRVdOQU1FfVwiIC0gUm91dGVyY2xhc3M6IFwiJHtOQVZDT05GLkZDTC5ST1VURVJDTEFTU31cImApO1xuXHRcdFx0fSBlbHNlIGlmIChcblx0XHRcdFx0b01hbmlmZXN0VUk1LnJvb3RWaWV3LnZpZXdOYW1lID09PSBOQVZDT05GLk5BVkNPTlRBSU5FUi5WSUVXTkFNRSAmJlxuXHRcdFx0XHRvTWFuaWZlc3RVSTUucm91dGluZz8uY29uZmlnPy5yb3V0ZXJDbGFzcyA9PT0gTkFWQ09ORi5OQVZDT05UQUlORVIuUk9VVEVSQ0xBU1Ncblx0XHRcdCkge1xuXHRcdFx0XHRMb2cuaW5mbyhgUm9vdGNvbnRhaW5lcjogXCIke05BVkNPTkYuTkFWQ09OVEFJTkVSLlZJRVdOQU1FfVwiIC0gUm91dGVyY2xhc3M6IFwiJHtOQVZDT05GLk5BVkNPTlRBSU5FUi5ST1VURVJDTEFTU31cImApO1xuXHRcdFx0fSBlbHNlIGlmIChvTWFuaWZlc3RVSTUucm9vdFZpZXc/LnZpZXdOYW1lPy5pbmRleE9mKFwic2FwLmZlLmNvcmUucm9vdFZpZXdcIikgIT09IC0xKSB7XG5cdFx0XHRcdHRocm93IEVycm9yKFxuXHRcdFx0XHRcdGBcXG5Xcm9uZyBjb25maWd1cmF0aW9uIGZvciB0aGUgY291cGxlIChyb290Vmlldy9yb3V0ZXJDbGFzcykgaW4gbWFuaWZlc3QgZmlsZS5cXG5gICtcblx0XHRcdFx0XHRcdGBDdXJyZW50IHZhbHVlcyBhcmUgOigke29NYW5pZmVzdFVJNS5yb290Vmlldy52aWV3TmFtZX0vJHtcblx0XHRcdFx0XHRcdFx0b01hbmlmZXN0VUk1LnJvdXRpbmc/LmNvbmZpZz8ucm91dGVyQ2xhc3MgfHwgXCI8bWlzc2luZyByb3V0ZXIgY2xhc3M+XCJcblx0XHRcdFx0XHRcdH0pXFxuYCArXG5cdFx0XHRcdFx0XHRgRXhwZWN0ZWQgdmFsdWVzIGFyZSBcXG5gICtcblx0XHRcdFx0XHRcdGBcXHQgLSAoJHtOQVZDT05GLk5BVkNPTlRBSU5FUi5WSUVXTkFNRX0vJHtOQVZDT05GLk5BVkNPTlRBSU5FUi5ST1VURVJDTEFTU30pXFxuYCArXG5cdFx0XHRcdFx0XHRgXFx0IC0gKCR7TkFWQ09ORi5GQ0wuVklFV05BTUV9LyR7TkFWQ09ORi5GQ0wuUk9VVEVSQ0xBU1N9KWBcblx0XHRcdFx0KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdExvZy5pbmZvKGBSb290Y29udGFpbmVyOiBcIiR7b01hbmlmZXN0VUk1LnJvb3RWaWV3LnZpZXdOYW1lfVwiIC0gUm91dGVyY2xhc3M6IFwiJHtOQVZDT05GLk5BVkNPTlRBSU5FUi5ST1VURVJDTEFTU31cImApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEFkZGluZyBTZW1hbnRpYyBEYXRlIE9wZXJhdG9yc1xuXHRcdC8vIENvbW1lbnRpbmcgc2luY2UgaXQgaXMgbm90IG5lZWRlZCBmb3IgU2luZ2xlUmFuZ2Vcblx0XHRTZW1hbnRpY0RhdGVPcGVyYXRvcnMuYWRkU2VtYW50aWNEYXRlT3BlcmF0b3JzKCk7XG5cblx0XHQvLyB0aGUgaW5pdCBmdW5jdGlvbiBjb25maWd1cmVzIHRoZSByb3V0aW5nIGFjY29yZGluZyB0byB0aGUgc2V0dGluZ3MgYWJvdmVcblx0XHQvLyBpdCB3aWxsIGNhbGwgdGhlIGNyZWF0ZUNvbnRlbnQgZnVuY3Rpb24gdG8gaW5zdGFudGlhdGUgdGhlIFJvb3RWaWV3IGFuZCBhZGQgaXQgdG8gdGhlIFVJQ29tcG9uZW50IGFnZ3JlZ2F0aW9uc1xuXG5cdFx0c3VwZXIuaW5pdCgpO1xuXHRcdEFwcENvbXBvbmVudC5pbnN0YW5jZU1hcFt0aGlzLmdldElkKCldID0gdGhpcztcblx0fVxuXG5cdGFzeW5jIG9uU2VydmljZXNTdGFydGVkKCkge1xuXHRcdGF3YWl0IHRoaXMuaW5pdGlhbGl6ZUZlYXR1cmVUb2dnbGVzKCk7XG5cblx0XHQvL3JvdXRlciBtdXN0IGJlIHN0YXJ0ZWQgb25jZSB0aGUgcm9vdGNvbnRhaW5lciBpcyBpbml0aWFsaXplZFxuXHRcdC8vc3RhcnRpbmcgb2YgdGhlIHJvdXRlclxuXHRcdGNvbnN0IGZpbmFsaXplZFJvdXRpbmdJbml0aWFsaXphdGlvbiA9ICgpID0+IHtcblx0XHRcdHRoaXMuZW50aXR5Q29udGFpbmVyXG5cdFx0XHRcdC50aGVuKCgpID0+IHtcblx0XHRcdFx0XHRpZiAodGhpcy5nZXRSb290Vmlld0NvbnRyb2xsZXIoKS5hdHRhY2hSb3V0ZU1hdGNoZXJzKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmdldFJvb3RWaWV3Q29udHJvbGxlcigpLmF0dGFjaFJvdXRlTWF0Y2hlcnMoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5nZXRSb3V0ZXIoKS5pbml0aWFsaXplKCk7XG5cdFx0XHRcdFx0dGhpcy5nZXRSb3V0ZXJQcm94eSgpLmluaXQodGhpcywgdGhpcy5faXNGY2xFbmFibGVkKCkpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcblx0XHRcdFx0XHRjb25zdCBvUmVzb3VyY2VCdW5kbGUgPSBDb3JlLmdldExpYnJhcnlSZXNvdXJjZUJ1bmRsZShcInNhcC5mZS5jb3JlXCIpO1xuXG5cdFx0XHRcdFx0dGhpcy5nZXRSb290Vmlld0NvbnRyb2xsZXIoKS5kaXNwbGF5RXJyb3JQYWdlKFxuXHRcdFx0XHRcdFx0b1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJDX0FQUF9DT01QT05FTlRfU0FQRkVfQVBQU1RBUlRfVEVDSE5JQ0FMX0lTU1VFU1wiKSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IG9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiQ19DT01NT05fU0FQRkVfRVJST1JcIiksXG5cdFx0XHRcdFx0XHRcdGRlc2NyaXB0aW9uOiBlcnJvci5tZXNzYWdlLFxuXHRcdFx0XHRcdFx0XHRGQ0xMZXZlbDogMFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH0pO1xuXHRcdH07XG5cblx0XHRpZiAodGhpcy5iSW5pdGlhbGl6ZVJvdXRpbmcpIHtcblx0XHRcdHJldHVybiB0aGlzLmdldFJvdXRpbmdTZXJ2aWNlKClcblx0XHRcdFx0LmluaXRpYWxpemVSb3V0aW5nKClcblx0XHRcdFx0LnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLmdldFJvb3RWaWV3Q29udHJvbGxlcigpKSB7XG5cdFx0XHRcdFx0XHRmaW5hbGl6ZWRSb3V0aW5nSW5pdGlhbGl6YXRpb24oKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dGhpcy5nZXRSb290Q29udHJvbCgpLmF0dGFjaEFmdGVySW5pdChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRcdGZpbmFsaXplZFJvdXRpbmdJbml0aWFsaXphdGlvbigpO1xuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKGZ1bmN0aW9uIChlcnI6IEVycm9yKSB7XG5cdFx0XHRcdFx0TG9nLmVycm9yKGBjYW5ub3QgY2Fubm90IGluaXRpYWxpemUgcm91dGluZzogJHtlcnIudG9TdHJpbmcoKX1gKTtcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0ZXhpdCgpIHtcblx0XHR0aGlzLl9vQXBwU3RhdGVIYW5kbGVyLmRlc3Ryb3koKTtcblx0XHR0aGlzLl9vUm91dGVyUHJveHkuZGVzdHJveSgpO1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0ZGVsZXRlIHRoaXMuX29BcHBTdGF0ZUhhbmRsZXI7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRkZWxldGUgdGhpcy5fb1JvdXRlclByb3h5O1xuXHRcdGRlbGV0ZU1vZGVsQ2FjaGVEYXRhKHRoaXMuZ2V0TWV0YU1vZGVsKCkpO1xuXHRcdHRoaXMuZ2V0TW9kZWwoXCJ1aVwiKS5kZXN0cm95KCk7XG5cdFx0Y2xlYW5QYWdlQ29uZmlndXJhdGlvbkNoYW5nZXMoKTtcblx0fVxuXG5cdGdldE1ldGFNb2RlbCgpOiBPRGF0YU1ldGFNb2RlbCB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0TW9kZWwoKS5nZXRNZXRhTW9kZWwoKSBhcyBPRGF0YU1ldGFNb2RlbDtcblx0fVxuXG5cdGdldERpYWdub3N0aWNzKCkge1xuXHRcdHJldHVybiB0aGlzLl9vRGlhZ25vc3RpY3M7XG5cdH1cblxuXHRkZXN0cm95KGJTdXBwcmVzc0ludmFsaWRhdGU/OiBib29sZWFuKSB7XG5cdFx0Ly8gTEVBS1MsIHdpdGggd29ya2Fyb3VuZCBmb3Igc29tZSBGbGV4IC8gTURDIGlzc3VlXG5cdFx0dHJ5IHtcblx0XHRcdC8vIFx0Ly8gVGhpcyBvbmUgaXMgb25seSBhIGxlYWsgaWYgeW91IGRvbid0IGdvIGJhY2sgdG8gdGhlIHNhbWUgY29tcG9uZW50IGluIHRoZSBsb25nIHJ1blxuXHRcdFx0Ly9kZWxldGUgc2FwLnVpLmZsLkZsZXhDb250cm9sbGVyRmFjdG9yeS5fY29tcG9uZW50SW5zdGFudGlhdGlvblByb21pc2VzW3RoaXMuZ2V0SWQoKV07XG5cblx0XHRcdGRlbGV0ZSBBcHBDb21wb25lbnQuaW5zdGFuY2VNYXBbdGhpcy5nZXRJZCgpXTtcblxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0ZGVsZXRlICh3aW5kb3cgYXMgdW5rbm93bikuX3JvdXRpbmc7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0TG9nLmluZm8oZSBhcyBzdHJpbmcpO1xuXHRcdH1cblxuXHRcdC8vV09SS0FST1VORCBmb3Igc3RpY2t5IGRpc2NhcmQgcmVxdWVzdCA6IGR1ZSB0byBhc3luYyBjYWxsYmFjaywgcmVxdWVzdCB0cmlnZ2VyZWQgYnkgdGhlIGV4aXRBcHBsaWNhdGlvbiB3aWxsIGJlIHNlbmQgYWZ0ZXIgdGhlIFVJQ29tcG9uZW50LnByb3RvdHlwZS5kZXN0cm95XG5cdFx0Ly9zbyB3ZSBuZWVkIHRvIGNvcHkgdGhlIFJlcXVlc3RvciBoZWFkZXJzIGFzIGl0IHdpbGwgYmUgZGVzdHJveVxuXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRjb25zdCBvTWFpbk1vZGVsID0gdGhpcy5vTW9kZWxzW3VuZGVmaW5lZF07XG5cdFx0bGV0IG9IZWFkZXJzO1xuXHRcdGlmIChvTWFpbk1vZGVsLm9SZXF1ZXN0b3IpIHtcblx0XHRcdG9IZWFkZXJzID0galF1ZXJ5LmV4dGVuZCh7fSwgb01haW5Nb2RlbC5vUmVxdWVzdG9yLm1IZWFkZXJzKTtcblx0XHR9XG5cblx0XHQvLyBBcyB3ZSBuZWVkIHRvIGNsZWFudXAgdGhlIGFwcGxpY2F0aW9uIC8gaGFuZGxlIHRoZSBkaXJ0eSBvYmplY3Qgd2UgbmVlZCB0byBjYWxsIG91ciBjbGVhbnVwIGJlZm9yZSB0aGUgbW9kZWxzIGFyZSBkZXN0cm95ZWRcblx0XHR0aGlzLmdldFJvdXRpbmdTZXJ2aWNlKCk/LmJlZm9yZUV4aXQoKTtcblx0XHRzdXBlci5kZXN0cm95KGJTdXBwcmVzc0ludmFsaWRhdGUpO1xuXHRcdGlmIChvSGVhZGVycyAmJiBvTWFpbk1vZGVsLm9SZXF1ZXN0b3IpIHtcblx0XHRcdG9NYWluTW9kZWwub1JlcXVlc3Rvci5tSGVhZGVycyA9IG9IZWFkZXJzO1xuXHRcdH1cblx0fVxuXG5cdGdldFJvdXRpbmdTZXJ2aWNlKCk6IFJvdXRpbmdTZXJ2aWNlIHtcblx0XHRyZXR1cm4ge30gYXMgUm91dGluZ1NlcnZpY2U7IC8vIG92ZXJyaWRlbiBhdCBydW50aW1lXG5cdH1cblxuXHRnZXRTaGVsbFNlcnZpY2VzKCk6IElTaGVsbFNlcnZpY2VzIHtcblx0XHRyZXR1cm4ge30gYXMgSVNoZWxsU2VydmljZXM7IC8vIG92ZXJyaWRlbiBhdCBydW50aW1lXG5cdH1cblxuXHRnZXROYXZpZ2F0aW9uU2VydmljZSgpOiBOYXZpZ2F0aW9uU2VydmljZSB7XG5cdFx0cmV0dXJuIHt9IGFzIE5hdmlnYXRpb25TZXJ2aWNlOyAvLyBvdmVycmlkZW4gYXQgcnVudGltZVxuXHR9XG5cblx0Z2V0U2lkZUVmZmVjdHNTZXJ2aWNlKCk6IFNpZGVFZmZlY3RzU2VydmljZSB7XG5cdFx0cmV0dXJuIHt9IGFzIFNpZGVFZmZlY3RzU2VydmljZTtcblx0fVxuXG5cdGdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzKCk6IEVudmlyb25tZW50Q2FwYWJpbGl0aWVzU2VydmljZSB7XG5cdFx0cmV0dXJuIHt9IGFzIEVudmlyb25tZW50Q2FwYWJpbGl0aWVzU2VydmljZTtcblx0fVxuXG5cdGFzeW5jIGdldFN0YXJ0dXBQYXJhbWV0ZXJzKCkge1xuXHRcdGNvbnN0IG9Db21wb25lbnREYXRhID0gdGhpcy5nZXRDb21wb25lbnREYXRhKCk7XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgob0NvbXBvbmVudERhdGEgJiYgb0NvbXBvbmVudERhdGEuc3RhcnR1cFBhcmFtZXRlcnMpIHx8IHt9KTtcblx0fVxuXG5cdHJlc3RvcmUoKSB7XG5cdFx0Ly8gY2FsbGVkIGJ5IEZMUCB3aGVuIGFwcCBzYXAta2VlcC1hbGl2ZSBpcyBlbmFibGVkIGFuZCBhcHAgaXMgcmVzdG9yZWRcblx0XHR0aGlzLmdldFJvb3RWaWV3Q29udHJvbGxlcigpLnZpZXdTdGF0ZS5vblJlc3RvcmUoKTtcblx0fVxuXG5cdHN1c3BlbmQoKSB7XG5cdFx0Ly8gY2FsbGVkIGJ5IEZMUCB3aGVuIGFwcCBzYXAta2VlcC1hbGl2ZSBpcyBlbmFibGVkIGFuZCBhcHAgaXMgc3VzcGVuZGVkXG5cdFx0dGhpcy5nZXRSb290Vmlld0NvbnRyb2xsZXIoKS52aWV3U3RhdGUub25TdXNwZW5kKCk7XG5cdH1cblxuXHQvKipcblx0ICogbmF2aWdhdGVCYXNlZE9uU3RhcnR1cFBhcmFtZXRlciBmdW5jdGlvbiBpcyBhIHB1YmxpYyBhcGkgdGhhdCBhY3RzIGFzIGEgd3JhcHBlciB0byBfbWFuYWdlRGVlcExpbmtTdGFydHVwIGZ1bmN0aW9uLiBJdCBwYXNzZXMgdGhlIHN0YXJ0dXAgcGFyYW1ldGVycyBmdXJ0aGVyIHRvIF9tYW5hZ2VEZWVwTGlua1N0YXJ0dXAgZnVuY3Rpb25cblx0ICpcblx0ICogQHBhcmFtIHN0YXJ0dXBQYXJhbWV0ZXJzIERlZmluZXMgdGhlIHN0YXJ0dXAgcGFyYW1ldGVycyB3aGljaCBpcyBmdXJ0aGVyIHBhc3NlZCB0byBfbWFuYWdlRGVlcExpbmtTdGFydHVwIGZ1bmN0aW9uLlxuXHQgKi9cblxuXHRhc3luYyBuYXZpZ2F0ZUJhc2VkT25TdGFydHVwUGFyYW1ldGVyKHN0YXJ0dXBQYXJhbWV0ZXJzOiBTdGFydHVwUGFyYW1ldGVycyB8IG51bGwgfCB1bmRlZmluZWQpIHtcblx0XHR0cnkge1xuXHRcdFx0aWYgKCFCdXN5TG9ja2VyLmlzTG9ja2VkKHRoaXMuZ2V0TW9kZWwoXCJ1aVwiKSkpIHtcblx0XHRcdFx0aWYgKCFzdGFydHVwUGFyYW1ldGVycykge1xuXHRcdFx0XHRcdHN0YXJ0dXBQYXJhbWV0ZXJzID0gbnVsbDtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCByb3V0aW5nU2VydmljZSA9IHRoaXMuZ2V0Um91dGluZ1NlcnZpY2UoKTtcblx0XHRcdFx0YXdhaXQgcm91dGluZ1NlcnZpY2UuX21hbmFnZURlZXBMaW5rU3RhcnR1cChzdGFydHVwUGFyYW1ldGVycyk7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXhjZXB0aW9uOiB1bmtub3duKSB7XG5cdFx0XHRMb2cuZXJyb3IoZXhjZXB0aW9uIGFzIHN0cmluZyk7XG5cdFx0XHRCdXN5TG9ja2VyLnVubG9jayh0aGlzLmdldE1vZGVsKFwidWlcIikpO1xuXHRcdH1cblx0fVxufVxuXG5pbnRlcmZhY2UgQXBwQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQge1xuXHRnZXRNYW5pZmVzdCgpOiBNYW5pZmVzdENvbnRlbnQ7XG5cdGdldE1hbmlmZXN0RW50cnkoZW50cnk6IFwic2FwLmFwcFwiKTogTWFuaWZlc3RDb250ZW50QXBwO1xuXHRnZXRNYW5pZmVzdEVudHJ5KGVudHJ5OiBcInNhcC51aTVcIik6IE1hbmlmZXN0Q29udGVudFVJNTtcblx0Z2V0Q29tcG9uZW50RGF0YSgpOiBDb21wb25lbnREYXRhO1xuXHRnZXRSb290Q29udHJvbCgpOiB7XG5cdFx0Z2V0Q29udHJvbGxlcigpOiBSb290Vmlld0Jhc2VDb250cm9sbGVyO1xuXHR9ICYgVmlldztcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXBwQ29tcG9uZW50O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztFQThCQSxNQUFNQSxXQUFXLEdBQUdDLE9BQU8sQ0FBQ0QsV0FBVztFQUN2Q0UsYUFBYSxDQUFDQyxTQUFTLENBQUNDLElBQUksR0FBRyxZQUErRDtJQUFBO0lBQzdGLDZCQUFJLENBQUNDLG9CQUFvQiwwREFBekIsc0JBQTJCQyxPQUFPLEVBQUU7SUFDcEMsT0FBTyxJQUFJLENBQUNELG9CQUFvQjtJQUNoQ0UsVUFBVSxDQUFDSixTQUFTLENBQUNDLElBQUksQ0FBQ0ksS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7RUFDMUMsQ0FBQztFQUNELE1BQU1DLE9BQU8sR0FBRztJQUNmQyxHQUFHLEVBQUU7TUFDSkMsUUFB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
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log","sap/fe/core/AppStateHandler","sap/fe/core/controllerextensions/routing/RouterProxy","sap/fe/core/helpers/ClassSupport","sap/fe/core/helpers/ModelHelper","sap/fe/core/library","sap/fe/core/manifestMerger/ChangePageConfiguration","sap/fe/core/support/Diagnostics","sap/ui/core/Core","sap/ui/core/UIComponent","sap/ui/model/json/JSONModel","./controllerextensions/BusyLocker","./converters/MetaModelConverter","./helpers/SemanticDateOperators"],function(e,t,o,i,r,n,a,s,u,
|
|
5
|
+
sap.ui.define(["sap/base/Log","sap/fe/core/AppStateHandler","sap/fe/core/controllerextensions/routing/RouterProxy","sap/fe/core/helpers/ClassSupport","sap/fe/core/helpers/ModelHelper","sap/fe/core/library","sap/fe/core/manifestMerger/ChangePageConfiguration","sap/fe/core/support/Diagnostics","sap/ui/core/Core","sap/ui/core/Element","sap/ui/core/UIComponent","sap/ui/mdc/table/TableTypeBase","sap/ui/model/json/JSONModel","./controllerextensions/BusyLocker","./converters/MetaModelConverter","./helpers/SemanticDateOperators"],function(e,t,o,i,r,n,a,s,c,u,l,p,d,f,g,v){"use strict";var C,h,R;var N=g.deleteModelCacheData;var S=a.cleanPageConfigurationChanges;var M=a.changeConfiguration;var A=i.defineUI5Class;function E(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e;y(e,t)}function y(e,t){y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,o){t.__proto__=o;return t};return y(e,t)}const m=n.StartupMode;p.prototype.exit=function(){var e;(e=this._oManagedObjectModel)===null||e===void 0?void 0:e.destroy();delete this._oManagedObjectModel;u.prototype.exit.apply(this,[])};const w={FCL:{VIEWNAME:"sap.fe.core.rootView.Fcl",VIEWNAME_COMPATIBILITY:"sap.fe.templates.RootContainer.view.Fcl",ROUTERCLASS:"sap.f.routing.Router"},NAVCONTAINER:{VIEWNAME:"sap.fe.core.rootView.NavContainer",VIEWNAME_COMPATIBILITY:"sap.fe.templates.RootContainer.view.NavContainer",ROUTERCLASS:"sap.m.routing.Router"}};let I=(C=A("sap.fe.core.AppComponent",{interfaces:["sap.ui.core.IAsyncContentCreation"],config:{fullWidth:true},manifest:{"sap.ui5":{services:{resourceModel:{factoryName:"sap.fe.core.services.ResourceModelService",startup:"waitFor",settings:{bundles:["sap.fe.core.messagebundle"],modelName:"sap.fe.i18n"}},routingService:{factoryName:"sap.fe.core.services.RoutingService",startup:"waitFor"},shellServices:{factoryName:"sap.fe.core.services.ShellServices",startup:"waitFor"},ShellUIService:{factoryName:"sap.ushell.ui5service.ShellUIService"},navigationService:{factoryName:"sap.fe.core.services.NavigationService",startup:"waitFor"},environmentCapabilities:{factoryName:"sap.fe.core.services.EnvironmentService",startup:"waitFor"},sideEffectsService:{factoryName:"sap.fe.core.services.SideEffectsService",startup:"waitFor"},asyncComponentService:{factoryName:"sap.fe.core.services.AsyncComponentService",startup:"waitFor"}},rootView:{viewName:w.NAVCONTAINER.VIEWNAME,type:"XML",async:true,id:"appRootView"},routing:{config:{controlId:"appContent",routerClass:w.NAVCONTAINER.ROUTERCLASS,viewType:"XML",controlAggregation:"pages",async:true,containerOptions:{propagateModel:true}}}}},designtime:"sap/fe/core/designtime/AppComponent.designtime",library:"sap.fe.core"}),C(h=(R=function(i){E(a,i);function a(){var e;for(var t=arguments.length,o=new Array(t),r=0;r<t;r++){o[r]=arguments[r]}e=i.call(this,...o)||this;e.startupMode=m.Normal;return e}var u=a.prototype;u._isFclEnabled=function e(){var t,o;const i=this.getManifestEntry("sap.ui5");return(i===null||i===void 0?void 0:(t=i.routing)===null||t===void 0?void 0:(o=t.config)===null||o===void 0?void 0:o.routerClass)===w.FCL.ROUTERCLASS};u.initializeFeatureToggles=async function e(){return Promise.resolve()};u.changePageConfiguration=function e(t,o,i){M(this.getManifest(),t,o,i,true)};u.getRouterProxy=function e(){return this._oRouterProxy};u.getAppStateHandler=function e(){return this._oAppStateHandler};u.getRootViewController=function e(){return this.getRootControl().getController()};u.getRootContainer=function e(){return this.getRootControl().getContent()[0]};u.getStartupMode=function e(){return this.startupMode};u.setStartupModeCreate=function e(){this.startupMode=m.Create};u.setStartupModeAutoCreate=function e(){this.startupMode=m.AutoCreate};u.setStartupModeDeeplink=function e(){this.startupMode=m.Deeplink};u.init=function c(){var u,l;const p=new d({editMode:n.EditMode.Display,isEditable:false,draftStatus:n.DraftStatus.Clear,busy:false,busyLocal:{},pages:{}});const f=new d({pages:{}});p.setDefaultBindingMode("OneWay");r.enhanceUiJSONModel(p,n);r.enhanceInternalJSONModel(f);this.setModel(p,"ui");this.setModel(f,"internal");this.bInitializeRouting=this.bInitializeRouting!==undefined?this.bInitializeRouting:true;this._oRouterProxy=new o;this._oAppStateHandler=new t(this);this._oDiagnostics=new s;const g=this.getModel();if(g!==null&&g!==void 0&&(u=g.isA)!==null&&u!==void 0&&u.call(g,"sap.ui.model.odata.v4.ODataModel")){this.entityContainer=g.getMetaModel().requestObject("/$EntityContainer/")}else{this.entityContainer=Promise.resolve()}const C=this.getManifest()["sap.ui5"];if(C!==null&&C!==void 0&&(l=C.rootView)!==null&&l!==void 0&&l.viewName){var h,R,N,S,M,A;if(C.rootView.viewName===w.FCL.VIEWNAME_COMPATIBILITY){C.rootView.viewName=w.FCL.VIEWNAME}else if(C.rootView.viewName===w.NAVCONTAINER.VIEWNAME_COMPATIBILITY){C.rootView.viewName=w.NAVCONTAINER.VIEWNAME}if(C.rootView.viewName===w.FCL.VIEWNAME&&((h=C.routing)===null||h===void 0?void 0:(R=h.config)===null||R===void 0?void 0:R.routerClass)===w.FCL.ROUTERCLASS){e.info(`Rootcontainer: "${w.FCL.VIEWNAME}" - Routerclass: "${w.FCL.ROUTERCLASS}"`)}else if(C.rootView.viewName===w.NAVCONTAINER.VIEWNAME&&((N=C.routing)===null||N===void 0?void 0:(S=N.config)===null||S===void 0?void 0:S.routerClass)===w.NAVCONTAINER.ROUTERCLASS){e.info(`Rootcontainer: "${w.NAVCONTAINER.VIEWNAME}" - Routerclass: "${w.NAVCONTAINER.ROUTERCLASS}"`)}else if(((M=C.rootView)===null||M===void 0?void 0:(A=M.viewName)===null||A===void 0?void 0:A.indexOf("sap.fe.core.rootView"))!==-1){var E,y;throw Error(`\nWrong configuration for the couple (rootView/routerClass) in manifest file.\n`+`Current values are :(${C.rootView.viewName}/${((E=C.routing)===null||E===void 0?void 0:(y=E.config)===null||y===void 0?void 0:y.routerClass)||"<missing router class>"})\n`+`Expected values are \n`+`\t - (${w.NAVCONTAINER.VIEWNAME}/${w.NAVCONTAINER.ROUTERCLASS})\n`+`\t - (${w.FCL.VIEWNAME}/${w.FCL.ROUTERCLASS})`)}else{e.info(`Rootcontainer: "${C.rootView.viewName}" - Routerclass: "${w.NAVCONTAINER.ROUTERCLASS}"`)}}v.addSemanticDateOperators();i.prototype.init.call(this);a.instanceMap[this.getId()]=this};u.onServicesStarted=async function t(){await this.initializeFeatureToggles();const o=()=>{this.entityContainer.then(()=>{if(this.getRootViewController().attachRouteMatchers){this.getRootViewController().attachRouteMatchers()}this.getRouter().initialize();this.getRouterProxy().init(this,this._isFclEnabled());return}).catch(e=>{const t=c.getLibraryResourceBundle("sap.fe.core");this.getRootViewController().displayErrorPage(t.getText("C_APP_COMPONENT_SAPFE_APPSTART_TECHNICAL_ISSUES"),{title:t.getText("C_COMMON_SAPFE_ERROR"),description:e.message,FCLLevel:0})})};if(this.bInitializeRouting){return this.getRoutingService().initializeRouting().then(()=>{if(this.getRootViewController()){o()}else{this.getRootControl().attachAfterInit(function(){o()})}return}).catch(function(t){e.error(`cannot cannot initialize routing: ${t.toString()}`)})}};u.exit=function e(){this._oAppStateHandler.destroy();this._oRouterProxy.destroy();delete this._oAppStateHandler;delete this._oRouterProxy;N(this.getMetaModel());this.getModel("ui").destroy();S()};u.getMetaModel=function e(){return this.getModel().getMetaModel()};u.getDiagnostics=function e(){return this._oDiagnostics};u.destroy=function t(o){var r;try{delete a.instanceMap[this.getId()];delete window._routing}catch(t){e.info(t)}const n=this.oModels[undefined];let s;if(n.oRequestor){s=jQuery.extend({},n.oRequestor.mHeaders)}(r=this.getRoutingService())===null||r===void 0?void 0:r.beforeExit();i.prototype.destroy.call(this,o);if(s&&n.oRequestor){n.oRequestor.mHeaders=s}};u.getRoutingService=function e(){return{}};u.getShellServices=function e(){return{}};u.getNavigationService=function e(){return{}};u.getSideEffectsService=function e(){return{}};u.getEnvironmentCapabilities=function e(){return{}};u.getStartupParameters=async function e(){const t=this.getComponentData();return Promise.resolve(t&&t.startupParameters||{})};u.restore=function e(){this.getRootViewController().viewState.onRestore()};u.suspend=function e(){this.getRootViewController().viewState.onSuspend()};u.navigateBasedOnStartupParameter=async function t(o){try{if(!f.isLocked(this.getModel("ui"))){if(!o){o=null}const e=this.getRoutingService();await e._manageDeepLinkStartup(o)}}catch(t){e.error(t);f.unlock(this.getModel("ui"))}};return a}(l),R.instanceMap={},R))||h);return I},false);
|
|
6
6
|
//# sourceMappingURL=AppComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppComponent.js","names":["sap","ui","define","Log","AppStateHandler","RouterProxy","ClassSupport","ModelHelper","library","ChangePageConfiguration","Diagnostics","Core","UIComponent","JSONModel","BusyLocker","MetaModelConverter","SemanticDateOperators","_dec","_class","_class2","deleteModelCacheData","changeConfiguration","defineUI5Class","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","StartupMode","NAVCONF","FCL","VIEWNAME","VIEWNAME_COMPATIBILITY","ROUTERCLASS","NAVCONTAINER","AppComponent","interfaces","config","fullWidth","manifest","services","resourceModel","factoryName","startup","settings","bundles","modelName","routingService","shellServices","ShellUIService","navigationService","environmentCapabilities","sideEffectsService","asyncComponentService","rootView","viewName","type","async","id","routing","controlId","routerClass","viewType","controlAggregation","containerOptions","propagateModel","designtime","_UIComponent","_this","_len","arguments","length","args","Array","_key","call","this","startupMode","Normal","_proto","_isFclEnabled","_oManifestUI5$routing","_oManifestUI5$routing2","oManifestUI5","getManifestEntry","initializeFeatureToggles","changePageConfiguration","pageId","path","value","getManifest","getRouterProxy","_oRouterProxy","getAppStateHandler","_oAppStateHandler","getRootViewController","getRootControl","getController","getRootContainer","getContent","getStartupMode","setStartupModeCreate","Create","setStartupModeAutoCreate","AutoCreate","setStartupModeDeeplink","Deeplink","init","_oModel$isA","_oManifestUI5$rootVie","uiModel","editMode","EditMode","Display","isEditable","draftStatus","DraftStatus","Clear","busy","busyLocal","pages","oInternalModel","setDefaultBindingMode","enhanceUiJSONModel","enhanceInternalJSONModel","setModel","bInitializeRouting","undefined","_oDiagnostics","oModel","getModel","isA","entityContainer","getMetaModel","requestObject","Promise","resolve","_oManifestUI5$routing3","_oManifestUI5$routing4","_oManifestUI5$routing5","_oManifestUI5$routing6","_oManifestUI5$rootVie2","_oManifestUI5$rootVie3","info","indexOf","_oManifestUI5$routing7","_oManifestUI5$routing8","Error","addSemanticDateOperators","instanceMap","getId","onServicesStarted","finalizedRoutingInitialization","then","attachRouteMatchers","getRouter","initialize","catch","error","oResourceBundle","getLibraryResourceBundle","displayErrorPage","getText","title","description","message","FCLLevel","getRoutingService","initializeRouting","attachAfterInit","err","toString","exit","destroy","getDiagnostics","bSuppressInvalidate","_this$getRoutingServi","window","_routing","e","oMainModel","oModels","oHeaders","oRequestor","jQuery","extend","mHeaders","beforeExit","getShellServices","getNavigationService","getSideEffectsService","getEnvironmentCapabilities","getStartupParameters","oComponentData","getComponentData","startupParameters","restore","viewState","onRestore","suspend","onSuspend","navigateBasedOnStartupParameter","isLocked","_manageDeepLinkStartup","exception","unlock"],"sources":["AppComponent-dbg.js"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AppComponent.js","names":["sap","ui","define","Log","AppStateHandler","RouterProxy","ClassSupport","ModelHelper","library","ChangePageConfiguration","Diagnostics","Core","UI5Element","UIComponent","TableTypeBase","JSONModel","BusyLocker","MetaModelConverter","SemanticDateOperators","_dec","_class","_class2","deleteModelCacheData","cleanPageConfigurationChanges","changeConfiguration","defineUI5Class","_inheritsLoose","subClass","superClass","prototype","Object","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","StartupMode","exit","_this$_oManagedObject","this","_oManagedObjectModel","destroy","apply","NAVCONF","FCL","VIEWNAME","VIEWNAME_COMPATIBILITY","ROUTERCLASS","NAVCONTAINER","AppComponent","interfaces","config","fullWidth","manifest","services","resourceModel","factoryName","startup","settings","bundles","modelName","routingService","shellServices","ShellUIService","navigationService","environmentCapabilities","sideEffectsService","asyncComponentService","rootView","viewName","type","async","id","routing","controlId","routerClass","viewType","controlAggregation","containerOptions","propagateModel","designtime","_UIComponent","_this","_len","arguments","length","args","Array","_key","call","startupMode","Normal","_proto","_isFclEnabled","_oManifestUI5$routing","_oManifestUI5$routing2","oManifestUI5","getManifestEntry","initializeFeatureToggles","Promise","resolve","changePageConfiguration","pageId","path","value","getManifest","getRouterProxy","_oRouterProxy","getAppStateHandler","_oAppStateHandler","getRootViewController","getRootControl","getController","getRootContainer","getContent","getStartupMode","setStartupModeCreate","Create","setStartupModeAutoCreate","AutoCreate","setStartupModeDeeplink","Deeplink","init","_oModel$isA","_oManifestUI5$rootVie","uiModel","editMode","EditMode","Display","isEditable","draftStatus","DraftStatus","Clear","busy","busyLocal","pages","oInternalModel","setDefaultBindingMode","enhanceUiJSONModel","enhanceInternalJSONModel","setModel","bInitializeRouting","undefined","_oDiagnostics","oModel","getModel","isA","entityContainer","getMetaModel","requestObject","_oManifestUI5$routing3","_oManifestUI5$routing4","_oManifestUI5$routing5","_oManifestUI5$routing6","_oManifestUI5$rootVie2","_oManifestUI5$rootVie3","info","indexOf","_oManifestUI5$routing7","_oManifestUI5$routing8","Error","addSemanticDateOperators","instanceMap","getId","onServicesStarted","finalizedRoutingInitialization","then","attachRouteMatchers","getRouter","initialize","catch","error","oResourceBundle","getLibraryResourceBundle","displayErrorPage","getText","title","description","message","FCLLevel","getRoutingService","initializeRouting","attachAfterInit","err","toString","getDiagnostics","bSuppressInvalidate","_this$getRoutingServi","window","_routing","e","oMainModel","oModels","oHeaders","oRequestor","jQuery","extend","mHeaders","beforeExit","getShellServices","getNavigationService","getSideEffectsService","getEnvironmentCapabilities","getStartupParameters","oComponentData","getComponentData","startupParameters","restore","viewState","onRestore","suspend","onSuspend","navigateBasedOnStartupParameter","isLocked","_manageDeepLinkStartup","exception","unlock"],"sources":["AppComponent-dbg.js"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { ContentDensitiesType } from "sap/fe/core/converters/ManifestSettin
|
|
|
6
6
|
import { defineUI5Class } from "sap/fe/core/helpers/ClassSupport";
|
|
7
7
|
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
8
8
|
import library from "sap/fe/core/library";
|
|
9
|
-
import { changeConfiguration } from "sap/fe/core/manifestMerger/ChangePageConfiguration";
|
|
9
|
+
import { changeConfiguration, cleanPageConfigurationChanges } from "sap/fe/core/manifestMerger/ChangePageConfiguration";
|
|
10
10
|
import type RootViewBaseController from "sap/fe/core/rootView/RootViewBaseController";
|
|
11
11
|
import type { EnvironmentCapabilitiesService } from "sap/fe/core/services/EnvironmentServiceFactory";
|
|
12
12
|
import type { NavigationService } from "sap/fe/core/services/NavigationServiceFactory";
|
|
@@ -16,8 +16,11 @@ import type { SideEffectsService } from "sap/fe/core/services/SideEffectsService
|
|
|
16
16
|
import Diagnostics from "sap/fe/core/support/Diagnostics";
|
|
17
17
|
import type NavContainer from "sap/m/NavContainer";
|
|
18
18
|
import Core from "sap/ui/core/Core";
|
|
19
|
+
import UI5Element from "sap/ui/core/Element";
|
|
19
20
|
import type View from "sap/ui/core/mvc/View";
|
|
20
21
|
import UIComponent from "sap/ui/core/UIComponent";
|
|
22
|
+
import TableTypeBase from "sap/ui/mdc/table/TableTypeBase";
|
|
23
|
+
import type ManagedObjectModel from "sap/ui/model/base/ManagedObjectModel";
|
|
21
24
|
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
22
25
|
import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
|
|
23
26
|
import type ODataModel from "sap/ui/model/odata/v4/ODataModel";
|
|
@@ -26,7 +29,11 @@ import { deleteModelCacheData } from "./converters/MetaModelConverter";
|
|
|
26
29
|
import SemanticDateOperators from "./helpers/SemanticDateOperators";
|
|
27
30
|
|
|
28
31
|
const StartupMode = library.StartupMode;
|
|
29
|
-
|
|
32
|
+
TableTypeBase.prototype.exit = function (this: { _oManagedObjectModel?: ManagedObjectModel }) {
|
|
33
|
+
this._oManagedObjectModel?.destroy();
|
|
34
|
+
delete this._oManagedObjectModel;
|
|
35
|
+
UI5Element.prototype.exit.apply(this, []);
|
|
36
|
+
};
|
|
30
37
|
const NAVCONF = {
|
|
31
38
|
FCL: {
|
|
32
39
|
VIEWNAME: "sap.fe.core.rootView.Fcl",
|
|
@@ -41,6 +48,11 @@ const NAVCONF = {
|
|
|
41
48
|
};
|
|
42
49
|
|
|
43
50
|
export type ManifestContentApp = {
|
|
51
|
+
dataSources: {
|
|
52
|
+
[x: string]: { uri: string };
|
|
53
|
+
};
|
|
54
|
+
id: string;
|
|
55
|
+
type: string;
|
|
44
56
|
crossNavigation?: {
|
|
45
57
|
outbounds?: Record<
|
|
46
58
|
string,
|
|
@@ -237,8 +249,9 @@ class AppComponent extends UIComponent {
|
|
|
237
249
|
* @memberof sap.fe.core.AppComponent
|
|
238
250
|
* @public
|
|
239
251
|
*/
|
|
240
|
-
initializeFeatureToggles(): void {
|
|
252
|
+
async initializeFeatureToggles(): Promise<void> {
|
|
241
253
|
// this method can be overridden by applications
|
|
254
|
+
return Promise.resolve();
|
|
242
255
|
}
|
|
243
256
|
|
|
244
257
|
/**
|
|
@@ -255,7 +268,7 @@ class AppComponent extends UIComponent {
|
|
|
255
268
|
* @public
|
|
256
269
|
*/
|
|
257
270
|
changePageConfiguration(pageId: string, path: string, value: unknown): void {
|
|
258
|
-
changeConfiguration(this.getManifest(), pageId, path, value);
|
|
271
|
+
changeConfiguration(this.getManifest(), pageId, path, value, true);
|
|
259
272
|
}
|
|
260
273
|
|
|
261
274
|
/**
|
|
@@ -352,8 +365,6 @@ class AppComponent extends UIComponent {
|
|
|
352
365
|
}
|
|
353
366
|
|
|
354
367
|
init() {
|
|
355
|
-
this.initializeFeatureToggles();
|
|
356
|
-
|
|
357
368
|
const uiModel = new JSONModel({
|
|
358
369
|
editMode: library.EditMode.Display,
|
|
359
370
|
isEditable: false,
|
|
@@ -434,7 +445,9 @@ class AppComponent extends UIComponent {
|
|
|
434
445
|
AppComponent.instanceMap[this.getId()] = this;
|
|
435
446
|
}
|
|
436
447
|
|
|
437
|
-
onServicesStarted() {
|
|
448
|
+
async onServicesStarted() {
|
|
449
|
+
await this.initializeFeatureToggles();
|
|
450
|
+
|
|
438
451
|
//router must be started once the rootcontainer is initialized
|
|
439
452
|
//starting of the router
|
|
440
453
|
const finalizedRoutingInitialization = () => {
|
|
@@ -491,6 +504,7 @@ class AppComponent extends UIComponent {
|
|
|
491
504
|
delete this._oRouterProxy;
|
|
492
505
|
deleteModelCacheData(this.getMetaModel());
|
|
493
506
|
this.getModel("ui").destroy();
|
|
507
|
+
cleanPageConfigurationChanges();
|
|
494
508
|
}
|
|
495
509
|
|
|
496
510
|
getMetaModel(): ODataMetaModel {
|