@sapui5/sap.fe.core 1.124.2 → 1.126.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 +5 -1
- package/src/sap/fe/core/ActionRuntime.js +2 -2
- package/src/sap/fe/core/ActionRuntime.ts +4 -4
- package/src/sap/fe/core/AppComponent.js +2 -2
- package/src/sap/fe/core/AppComponent.ts +1 -1
- package/src/sap/fe/core/AppStateHandler.js +2 -2
- package/src/sap/fe/core/AppStateHandler.ts +1 -1
- package/src/sap/fe/core/BaseController.js +2 -2
- package/src/sap/fe/core/BaseController.ts +1 -1
- package/src/sap/fe/core/CommonUtils.js +3 -3
- package/src/sap/fe/core/CommonUtils.ts +12 -15
- package/src/sap/fe/core/ExtensionAPI.js +2 -2
- package/src/sap/fe/core/ExtensionAPI.ts +4 -3
- package/src/sap/fe/core/PageController.js +2 -2
- package/src/sap/fe/core/PageController.ts +1 -1
- package/src/sap/fe/core/ResourceModel.js +2 -2
- package/src/sap/fe/core/ResourceModel.ts +1 -1
- package/src/sap/fe/core/ReuseComponent.js +172 -0
- package/src/sap/fe/core/ReuseComponent.ts +165 -0
- package/src/sap/fe/core/TemplateComponent.js +2 -2
- package/src/sap/fe/core/TemplateComponent.ts +5 -1
- package/src/sap/fe/core/TemplateModel.js +2 -2
- package/src/sap/fe/core/TemplateModel.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +92 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +90 -10
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.js +1 -1
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockSupport.ts +1 -1
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.js +30 -3
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor.ts +28 -4
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.js +10 -16
- package/src/sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase.ts +19 -16
- package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.js +3 -3
- package/src/sap/fe/core/buildingBlocks/templating/RuntimeBuildingBlockFragment.ts +5 -5
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.js +2 -2
- package/src/sap/fe/core/controllerextensions/BaseControllerExtension.ts +1 -1
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.js +17 -5
- package/src/sap/fe/core/controllerextensions/CollaborativeDraft.ts +14 -6
- package/src/sap/fe/core/controllerextensions/ContextSharing.js +2 -2
- package/src/sap/fe/core/controllerextensions/ContextSharing.ts +1 -1
- package/src/sap/fe/core/controllerextensions/EditFlow.js +57 -43
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +61 -46
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +2 -2
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +1 -1
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +8 -11
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +8 -16
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +10 -7
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +5 -5
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +22 -18
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +28 -23
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +4 -4
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +4 -1
- package/src/sap/fe/core/controllerextensions/PageReady.js +21 -15
- package/src/sap/fe/core/controllerextensions/PageReady.ts +29 -20
- package/src/sap/fe/core/controllerextensions/Paginator.js +2 -2
- package/src/sap/fe/core/controllerextensions/Paginator.ts +1 -1
- package/src/sap/fe/core/controllerextensions/Placeholder.js +12 -6
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +15 -1
- package/src/sap/fe/core/controllerextensions/Recommendations.js +26 -8
- package/src/sap/fe/core/controllerextensions/Recommendations.ts +29 -3
- package/src/sap/fe/core/controllerextensions/Routing.js +5 -7
- package/src/sap/fe/core/controllerextensions/Routing.ts +4 -4
- package/src/sap/fe/core/controllerextensions/Share.js +4 -4
- package/src/sap/fe/core/controllerextensions/Share.ts +10 -6
- package/src/sap/fe/core/controllerextensions/SideEffects.js +20 -5
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +22 -2
- package/src/sap/fe/core/controllerextensions/Telemetry.js +2 -2
- package/src/sap/fe/core/controllerextensions/Telemetry.ts +1 -1
- package/src/sap/fe/core/controllerextensions/ViewState.js +79 -81
- package/src/sap/fe/core/controllerextensions/ViewState.ts +117 -105
- package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.js +3 -3
- package/src/sap/fe/core/controllerextensions/cards/CollaborationManager.ts +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +2 -2
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.ts +2 -2
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +17 -8
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +8 -2
- package/src/sap/fe/core/controllerextensions/editFlow/NotApplicableContextDialog.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +10 -9
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +15 -10
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +2 -2
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.ts +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +130 -158
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +240 -275
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +2 -2
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +1 -1
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +46 -28
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.ts +60 -32
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +2 -2
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.ts +1 -1
- package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.js +2 -2
- package/src/sap/fe/core/controllerextensions/viewState/IViewStateContributor.ts +27 -3
- package/src/sap/fe/core/controls/CommandExecution.js +2 -2
- package/src/sap/fe/core/controls/CommandExecution.ts +2 -2
- package/src/sap/fe/core/controls/ComponentLoader.js +3 -3
- package/src/sap/fe/core/controls/ComponentLoader.ts +2 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.js +3 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block.tsx +2 -2
- package/src/sap/fe/core/controls/EventDelegateHook.js +2 -2
- package/src/sap/fe/core/controls/EventDelegateHook.ts +2 -2
- package/src/sap/fe/core/controls/FormElementWrapper.js +51 -6
- package/src/sap/fe/core/controls/FormElementWrapper.ts +43 -2
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.js +3 -3
- package/src/sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block.tsx +3 -3
- package/src/sap/fe/core/converters/ConverterContext.js +4 -2
- package/src/sap/fe/core/converters/ConverterContext.ts +5 -2
- package/src/sap/fe/core/converters/ManifestSettings.js +8 -2
- package/src/sap/fe/core/converters/ManifestSettings.ts +25 -3
- package/src/sap/fe/core/converters/ManifestWrapper.js +12 -3
- package/src/sap/fe/core/converters/ManifestWrapper.ts +11 -1
- package/src/sap/fe/core/converters/MetaModelConverter.js +7 -6
- package/src/sap/fe/core/converters/MetaModelConverter.ts +6 -2
- package/src/sap/fe/core/converters/annotations/DataField.js +56 -16
- package/src/sap/fe/core/converters/annotations/DataField.ts +74 -25
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +19 -18
- package/src/sap/fe/core/converters/controls/Common/Action.js +5 -5
- package/src/sap/fe/core/converters/controls/Common/Action.ts +14 -14
- package/src/sap/fe/core/converters/controls/Common/Chart.js +40 -7
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +56 -20
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +8 -11
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +23 -27
- package/src/sap/fe/core/converters/controls/Common/Form.js +10 -3
- package/src/sap/fe/core/converters/controls/Common/Form.ts +13 -4
- package/src/sap/fe/core/converters/controls/Common/KPI.js +3 -2
- package/src/sap/fe/core/converters/controls/Common/KPI.ts +6 -2
- package/src/sap/fe/core/converters/controls/Common/Table.js +137 -48
- package/src/sap/fe/core/converters/controls/Common/Table.ts +174 -52
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +73 -21
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +91 -20
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +4 -4
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +2 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +2 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +2 -2
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +3 -3
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +17 -16
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +18 -17
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.js +2 -2
- package/src/sap/fe/core/converters/helpers/InsightsHelpers.ts +1 -1
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +9 -9
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +12 -12
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +13 -7
- package/src/sap/fe/core/converters/templates/ListReportConverter.ts +12 -5
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +9 -73
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +4 -74
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +5 -10
- package/src/sap/fe/core/designtime/AppComponent.designtime.ts +3 -12
- package/src/sap/fe/core/formatters/CriticalityFormatter.js +4 -7
- package/src/sap/fe/core/formatters/CriticalityFormatter.ts +3 -3
- package/src/sap/fe/core/formatters/FiscalFormat.js +5 -3
- package/src/sap/fe/core/formatters/FiscalFormat.ts +4 -2
- package/src/sap/fe/core/formatters/StandardFormatter.js +2 -2
- package/src/sap/fe/core/formatters/StandardFormatter.ts +3 -3
- package/src/sap/fe/core/fpm/Component.js +3 -3
- package/src/sap/fe/core/fpm/Component.ts +3 -3
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.js +2 -2
- package/src/sap/fe/core/helpers/AdaptiveCardExpressionCompiler.ts +1 -1
- package/src/sap/fe/core/helpers/BindingHelper.js +2 -2
- package/src/sap/fe/core/helpers/BindingHelper.ts +2 -2
- package/src/sap/fe/core/helpers/BindingToolkitEvaluator.js +2 -2
- package/src/sap/fe/core/helpers/BindingToolkitEvaluator.ts +2 -2
- package/src/sap/fe/core/helpers/DeleteHelper.js +7 -4
- package/src/sap/fe/core/helpers/DeleteHelper.ts +9 -3
- package/src/sap/fe/core/helpers/MetaModelFunction.js +5 -5
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +2 -2
- package/src/sap/fe/core/helpers/MetaPath.js +9 -3
- package/src/sap/fe/core/helpers/MetaPath.ts +8 -2
- package/src/sap/fe/core/helpers/ModelHelper.js +149 -3
- package/src/sap/fe/core/helpers/ModelHelper.ts +202 -6
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.js +3 -3
- package/src/sap/fe/core/helpers/StandardRecommendationHelper.ts +2 -2
- package/src/sap/fe/core/helpers/TitleHelper.js +4 -4
- package/src/sap/fe/core/helpers/TitleHelper.ts +4 -4
- package/src/sap/fe/core/library.js +4 -4
- package/src/sap/fe/core/library.ts +2 -1
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +11 -3
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +10 -2
- package/src/sap/fe/core/messagebundle.properties +8 -57
- package/src/sap/fe/core/messagebundle_ar.properties +2 -0
- package/src/sap/fe/core/messagebundle_bg.properties +2 -0
- package/src/sap/fe/core/messagebundle_ca.properties +2 -0
- package/src/sap/fe/core/messagebundle_cnr.properties +2 -0
- package/src/sap/fe/core/messagebundle_cs.properties +2 -0
- package/src/sap/fe/core/messagebundle_cy.properties +4 -2
- package/src/sap/fe/core/messagebundle_da.properties +2 -0
- package/src/sap/fe/core/messagebundle_de.properties +2 -0
- package/src/sap/fe/core/messagebundle_el.properties +2 -0
- package/src/sap/fe/core/messagebundle_en.properties +6 -57
- package/src/sap/fe/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +3 -36
- package/src/sap/fe/core/messagebundle_es.properties +2 -0
- package/src/sap/fe/core/messagebundle_es_MX.properties +2 -0
- package/src/sap/fe/core/messagebundle_et.properties +2 -0
- package/src/sap/fe/core/messagebundle_fi.properties +2 -0
- package/src/sap/fe/core/messagebundle_fr.properties +2 -0
- package/src/sap/fe/core/messagebundle_fr_CA.properties +3 -1
- package/src/sap/fe/core/messagebundle_hi.properties +2 -0
- package/src/sap/fe/core/messagebundle_hr.properties +2 -0
- package/src/sap/fe/core/messagebundle_hu.properties +3 -1
- package/src/sap/fe/core/messagebundle_id.properties +2 -0
- package/src/sap/fe/core/messagebundle_it.properties +2 -0
- package/src/sap/fe/core/messagebundle_iw.properties +3 -1
- package/src/sap/fe/core/messagebundle_ja.properties +2 -0
- package/src/sap/fe/core/messagebundle_kk.properties +2 -0
- package/src/sap/fe/core/messagebundle_ko.properties +2 -0
- package/src/sap/fe/core/messagebundle_lt.properties +2 -0
- package/src/sap/fe/core/messagebundle_lv.properties +2 -0
- package/src/sap/fe/core/messagebundle_mk.properties +2 -0
- package/src/sap/fe/core/messagebundle_ms.properties +2 -0
- package/src/sap/fe/core/messagebundle_nl.properties +2 -0
- package/src/sap/fe/core/messagebundle_no.properties +2 -0
- package/src/sap/fe/core/messagebundle_pl.properties +2 -0
- package/src/sap/fe/core/messagebundle_pt.properties +2 -0
- package/src/sap/fe/core/messagebundle_pt_PT.properties +2 -0
- package/src/sap/fe/core/messagebundle_ro.properties +2 -0
- package/src/sap/fe/core/messagebundle_ru.properties +2 -0
- package/src/sap/fe/core/messagebundle_sh.properties +64 -62
- package/src/sap/fe/core/messagebundle_sk.properties +2 -0
- package/src/sap/fe/core/messagebundle_sl.properties +2 -0
- package/src/sap/fe/core/messagebundle_sr.properties +2 -0
- package/src/sap/fe/core/messagebundle_sv.properties +2 -0
- package/src/sap/fe/core/messagebundle_th.properties +2 -0
- package/src/sap/fe/core/messagebundle_tr.properties +2 -0
- package/src/sap/fe/core/messagebundle_uk.properties +3 -1
- package/src/sap/fe/core/messagebundle_vi.properties +2 -0
- package/src/sap/fe/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/fe/core/messagebundle_zh_TW.properties +2 -0
- package/src/sap/fe/core/operationsHelper.js +3 -3
- package/src/sap/fe/core/operationsHelper.ts +2 -2
- package/src/sap/fe/core/rootView/Fcl.controller.js +3 -3
- package/src/sap/fe/core/rootView/Fcl.controller.ts +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.ts +1 -1
- package/src/sap/fe/core/rootView/RootViewBaseController.js +114 -92
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +120 -106
- package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.js +2 -2
- package/src/sap/fe/core/services/CollaborativeToolsServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js +6 -4
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +4 -3
- package/src/sap/fe/core/services/RoutingServiceFactory.js +2 -2
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.js +1 -1
- package/src/sap/fe/core/services/ShellServicesFactory.ts +12 -2
- package/src/sap/fe/core/services/TelemetryServiceFactory.js +8 -2
- package/src/sap/fe/core/services/TelemetryServiceFactory.ts +7 -1
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +16 -9
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +22 -11
- package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.js +2 -2
- package/src/sap/fe/core/services/ValueHelpHistoryServiceFactory.ts +1 -1
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -2
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
- package/src/sap/fe/core/templating/ActionHelper.js +2 -2
- package/src/sap/fe/core/templating/ActionHelper.ts +2 -2
- package/src/sap/fe/core/templating/CommonFormatters.js +2 -2
- package/src/sap/fe/core/templating/CommonFormatters.ts +3 -3
- package/src/sap/fe/core/templating/CriticalityFormatters.js +2 -2
- package/src/sap/fe/core/templating/CriticalityFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataFieldFormatters.js +4 -4
- package/src/sap/fe/core/templating/DataFieldFormatters.ts +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper.js +2 -2
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +2 -2
- package/src/sap/fe/core/templating/EntityTypeHelper.js +2 -2
- package/src/sap/fe/core/templating/EntityTypeHelper.ts +2 -2
- package/src/sap/fe/core/templating/FieldControlHelper.js +2 -2
- package/src/sap/fe/core/templating/FieldControlHelper.ts +2 -2
- package/src/sap/fe/core/templating/SemanticObjectHelper.js +2 -2
- package/src/sap/fe/core/templating/SemanticObjectHelper.ts +2 -2
- package/src/sap/fe/core/templating/UIFormatters.js +7 -7
- package/src/sap/fe/core/templating/UIFormatters.ts +6 -6
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +2 -2
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +1 -1
- package/src/sap/fe/core/type/Email.js +2 -2
- package/src/sap/fe/core/type/Email.ts +1 -1
- package/src/sap/fe/core/type/FiscalDate.js +2 -2
- package/src/sap/fe/core/type/FiscalDate.ts +1 -1
- package/src/sap/fe/core/type/InputMask.js +124 -0
- package/src/sap/fe/core/type/InputMask.ts +131 -0
- package/ui5.yaml +19 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +0 -81
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +0 -117
- package/src/sap/fe/core/helpers/AnnotationEnum.js +0 -33
- package/src/sap/fe/core/helpers/AnnotationEnum.ts +0 -21
- package/src/sap/fe/core/helpers/BindingToolkit.js +0 -1813
- package/src/sap/fe/core/helpers/BindingToolkit.ts +0 -2450
- package/src/sap/fe/core/helpers/ClassSupport.js +0 -584
- package/src/sap/fe/core/helpers/ClassSupport.ts +0 -697
- package/src/sap/fe/core/jsx-runtime/Fragment.js +0 -14
- package/src/sap/fe/core/jsx-runtime/Fragment.ts +0 -3
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js +0 -93
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +0 -86
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +0 -177
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +0 -197
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js +0 -237
- package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +0 -246
- package/src/sap/fe/core/jsx-runtime/jsx.js +0 -47
- package/src/sap/fe/core/jsx-runtime/jsx.ts +0 -71
- package/src/sap/fe/core/jsx-runtime/jsxs.js +0 -10
- package/src/sap/fe/core/jsx-runtime/jsxs.ts +0 -3
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +0 -172
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +0 -194
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2024 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/base/util/extend", "sap/fe/
|
|
5
|
+
sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/base/util/extend", "sap/fe/base/ClassSupport", "sap/m/library", "sap/ui/core/Component", "sap/ui/core/Element", "sap/ui/core/Fragment", "sap/ui/core/Lib", "sap/ui/core/XMLTemplateProcessor", "sap/ui/core/mvc/ControllerExtension", "sap/ui/core/mvc/OverrideExecution", "sap/ui/core/routing/HashChanger", "sap/ui/core/util/XMLPreprocessor", "sap/ui/model/json/JSONModel"], function (Log, ObjectPath, extend, ClassSupport, library, Component, Element, Fragment, Library, XMLTemplateProcessor, ControllerExtension, OverrideExecution, HashChanger, XMLPreprocessor, JSONModel) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _class, _class2;
|
|
@@ -25,7 +25,7 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/base/util/extend
|
|
|
25
25
|
let ShareUtils = (_dec = defineUI5Class("sap.fe.core.controllerextensions.Share"), _dec2 = methodOverride(), _dec3 = methodOverride(), _dec4 = publicExtension(), _dec5 = finalExtension(), _dec6 = publicExtension(), _dec7 = extensible("AfterAsync"), _dec8 = publicExtension(), _dec9 = extensible(OverrideExecution.After), _dec10 = publicExtension(), _dec11 = finalExtension(), _dec12 = publicExtension(), _dec13 = finalExtension(), _dec14 = publicExtension(), _dec15 = finalExtension(), _dec16 = publicExtension(), _dec17 = finalExtension(), _dec(_class = (_class2 = /*#__PURE__*/function (_ControllerExtension) {
|
|
26
26
|
_inheritsLoose(ShareUtils, _ControllerExtension);
|
|
27
27
|
function ShareUtils() {
|
|
28
|
-
return _ControllerExtension.
|
|
28
|
+
return _ControllerExtension.call(this) || this;
|
|
29
29
|
}
|
|
30
30
|
var _proto = ShareUtils.prototype;
|
|
31
31
|
_proto.onInit = function onInit() {
|
|
@@ -317,7 +317,7 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/base/util/extend
|
|
|
317
317
|
_proto._adaptShareMetadata = async function _adaptShareMetadata() {
|
|
318
318
|
var _this$base$getAppComp3, _this$base$getAppComp4;
|
|
319
319
|
const hashChangerInstance = HashChanger.getInstance();
|
|
320
|
-
const sHash = hashChangerInstance.getHash();
|
|
320
|
+
const sHash = encodeURIComponent(hashChangerInstance.getHash());
|
|
321
321
|
const sBasePath = hashChangerInstance.hrefForAppSpecificHash ? hashChangerInstance.hrefForAppSpecificHash("") : "";
|
|
322
322
|
const oShareMetadata = {
|
|
323
323
|
url: window.location.origin + window.location.pathname + window.location.search + (sHash ? sBasePath + sHash : window.location.hash),
|
|
@@ -344,4 +344,4 @@ sap.ui.define(["sap/base/Log", "sap/base/util/ObjectPath", "sap/base/util/extend
|
|
|
344
344
|
}(ControllerExtension), (_applyDecoratedDescriptor(_class2.prototype, "onInit", [_dec2], Object.getOwnPropertyDescriptor(_class2.prototype, "onInit"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "onExit", [_dec3], Object.getOwnPropertyDescriptor(_class2.prototype, "onExit"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "openShareSheet", [_dec4, _dec5], Object.getOwnPropertyDescriptor(_class2.prototype, "openShareSheet"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "getCardDefinition", [_dec6, _dec7], Object.getOwnPropertyDescriptor(_class2.prototype, "getCardDefinition"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "adaptShareMetadata", [_dec8, _dec9], Object.getOwnPropertyDescriptor(_class2.prototype, "adaptShareMetadata"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "_triggerEmail", [_dec10, _dec11], Object.getOwnPropertyDescriptor(_class2.prototype, "_triggerEmail"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "_triggerShareToJam", [_dec12, _dec13], Object.getOwnPropertyDescriptor(_class2.prototype, "_triggerShareToJam"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "_saveAsTile", [_dec14, _dec15], Object.getOwnPropertyDescriptor(_class2.prototype, "_saveAsTile"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "_adaptShareMetadata", [_dec16, _dec17], Object.getOwnPropertyDescriptor(_class2.prototype, "_adaptShareMetadata"), _class2.prototype)), _class2)) || _class);
|
|
345
345
|
return ShareUtils;
|
|
346
346
|
}, false);
|
|
347
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvTGFzdEZvY3VzZWRDb250cm9sIiwiU2hhcmVVdGlscyIsImRlZmluZVVJNUNsYXNzIiwibWV0aG9kT3ZlcnJpZGUiLCJwdWJsaWNFeHRlbnNpb24iLCJmaW5hbEV4dGVuc2lvbiIsImV4dGVuc2libGUiLCJPdmVycmlkZUV4ZWN1dGlvbiIsIkFmdGVyIiwib25Jbml0Iiwic2hhcmVJbmZvTW9kZWwiLCJKU09OTW9kZWwiLCJzYXZlQXNUaWxlQ2xpY2tlZCIsImNvbGxhYm9yYXRpb25JbmZvIiwidXJsIiwiYXBwVGl0bGUiLCJzdWJUaXRsZSIsIm1pbmlmeVVybEZvckNoYXQiLCJhcHBJZCIsImJhc2UiLCJnZXRWaWV3Iiwic2V0TW9kZWwiLCJvbkV4aXQiLCJnZXRNb2RlbCIsImRlc3Ryb3kiLCJvcGVuU2hhcmVTaGVldCIsIm9Db250cm9sIiwiX29wZW5TaGFyZVNoZWV0SW1wbCIsImdldENhcmREZWZpbml0aW9uIiwiYWRhcHRTaGFyZU1ldGFkYXRhIiwib1NoYXJlTWV0YWRhdGEiLCJieSIsIm9TaGFyZUFjdGlvblNoZWV0IiwiaGFzaENoYW5nZXJJbnN0YW5jZSIsIkhhc2hDaGFuZ2VyIiwiZ2V0SW5zdGFuY2UiLCJzSGFzaCIsImdldEhhc2giLCJzQmFzZVBhdGgiLCJocmVmRm9yQXBwU3BlY2lmaWNIYXNoIiwid2luZG93IiwibG9jYXRpb24iLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImhhc2giLCJ0aXRsZSIsImdldEFwcENvbXBvbmVudCIsImdldFNoZWxsU2VydmljZXMiLCJnZXRUaXRsZSIsImVtYWlsIiwiamFtIiwidGlsZSIsInN1YnRpdGxlIiwiaWNvbiIsInF1ZXJ5VXJsIiwic2V0U2hhcmVFbWFpbERhdGEiLCJzaGFyZUFjdGlvblNoZWV0Iiwib01vZGVsRGF0YSIsIm9TaGFyZU1haWxNb2RlbCIsIm9OZXdNYWlsRGF0YSIsImV4dGVuZCIsImdldERhdGEiLCJzZXREYXRhIiwiZ2V0Q29udHJvbGxlciIsInNoYXJlIiwiZnJhZ21lbnRDb250cm9sbGVyIiwic2hhcmVFbWFpbFByZXNzZWQiLCJvTWFpbE1vZGVsIiwib01haWxEYXRhIiwib1Jlc291cmNlIiwiTGlicmFyeSIsImdldFJlc291cmNlQnVuZGxlRm9yIiwic0VtYWlsU3ViamVjdCIsImdldFRleHQiLCJsaWJyYXJ5IiwiVVJMSGVscGVyIiwidHJpZ2dlckVtYWlsIiwidW5kZWZpbmVkIiwic2hhcmVNU1RlYW1zUHJlc3NlZCIsIm1zVGVhbXNNb2RlbCIsIm1zVGVhbXNEYXRhIiwibWVzc2FnZSIsIm5ld1dpbmRvd09wZW4iLCJvcGVuIiwib3BlbmVyIiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwib25TYXZlVGlsZVByZXNzIiwic2V0VGltZW91dCIsIkVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImF0dGFjaEFmdGVyQ2xvc2UiLCJmb2N1cyIsInNoYXJlSmFtUHJlc3NlZCIsIl9kb09wZW5KYW1TaGFyZURpYWxvZyIsIm9uQ2FuY2VsUHJlc3NlZCIsImNsb3NlIiwic2V0U2hhcmVTaGVldCIsIm9TaGFyZVNoZWV0Iiwic2hhcmVTaGVldCIsIm9UaGlzIiwib1ByZXByb2Nlc3NvclNldHRpbmdzIiwiYmluZGluZ0NvbnRleHRzIiwidGhpcyIsImNyZWF0ZUJpbmRpbmdDb250ZXh0IiwibW9kZWxzIiwib1RpbGVEYXRhIiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsIm9TaGFyZU1vZGVsIiwiX3NldFN0YXRpY1NoYXJlRGF0YSIsIm9OZXdEYXRhIiwib3BlbkJ5Iiwic0ZyYWdtZW50TmFtZSIsIm9Qb3BvdmVyRnJhZ21lbnQiLCJYTUxUZW1wbGF0ZVByb2Nlc3NvciIsImxvYWRUZW1wbGF0ZSIsIm9GcmFnbWVudCIsIlhNTFByZXByb2Nlc3NvciIsInByb2Nlc3MiLCJuYW1lIiwiRnJhZ21lbnQiLCJsb2FkIiwiZGVmaW5pdGlvbiIsImNvbnRyb2xsZXIiLCJhZGREZXBlbmRlbnQiLCJvRXJyb3IiLCJMb2ciLCJlcnJvciIsInNoYXJlTW9kZWwiLCJzZXRQcm9wZXJ0eSIsIk9iamVjdFBhdGgiLCJnZXQiLCJmbkdldFVzZXIiLCJpc0phbUFjdGl2ZSIsInNhcCIsInVpIiwicmVxdWlyZSIsInRleHQiLCJzVXJsIiwib1NoYXJlRGlhbG9nIiwiQ29tcG9uZW50IiwiY3JlYXRlIiwic2V0dGluZ3MiLCJvYmplY3QiLCJpZCIsIl90cmlnZ2VyRW1haWwiLCJzaGFyZU1ldGFkYXRhIiwiX2FkYXB0U2hhcmVNZXRhZGF0YSIsIl90cmlnZ2VyU2hhcmVUb0phbSIsIl9zYXZlQXNUaWxlIiwic291cmNlIiwiaW50ZXJuYWxBZGRCb29rbWFya0J1dHRvbiIsImdldERlcGVuZGVudHMiLCJzZXRUaXRsZSIsInNldFN1YnRpdGxlIiwic2V0VGlsZUljb24iLCJzZXRDdXN0b21VcmwiLCJzZXRTZXJ2aWNlVXJsIiwic2V0RGF0YVNvdXJjZSIsInR5cGUiLCJvZGF0YVZlcnNpb24iLCJmaXJlUHJlc3MiLCJDb250cm9sbGVyRXh0ZW5zaW9uIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTaGFyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBPYmplY3RQYXRoIGZyb20gXCJzYXAvYmFzZS91dGlsL09iamVjdFBhdGhcIjtcbmltcG9ydCBleHRlbmQgZnJvbSBcInNhcC9iYXNlL3V0aWwvZXh0ZW5kXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXh0ZW5zaWJsZSwgZmluYWxFeHRlbnNpb24sIG1ldGhvZE92ZXJyaWRlLCBwdWJsaWNFeHRlbnNpb24gfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIEFjdGlvblNoZWV0IGZyb20gXCJzYXAvbS9BY3Rpb25TaGVldFwiO1xuaW1wb3J0IHR5cGUgRGlhbG9nIGZyb20gXCJzYXAvbS9EaWFsb2dcIjtcbmltcG9ydCBsaWJyYXJ5IGZyb20gXCJzYXAvbS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSB7ICRDb21wb25lbnRTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCBDb21wb25lbnQgZnJvbSBcInNhcC91aS9jb3JlL0NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IEVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCBGcmFnbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRnJhZ21lbnRcIjtcbmltcG9ydCB0eXBlIEl0ZW0gZnJvbSBcInNhcC91aS9jb3JlL0l0ZW1cIjtcbmltcG9ydCBMaWJyYXJ5IGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCBYTUxUZW1wbGF0ZVByb2Nlc3NvciBmcm9tIFwic2FwL3VpL2NvcmUvWE1MVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCBDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlckV4dGVuc2lvblwiO1xuaW1wb3J0IE92ZXJyaWRlRXhlY3V0aW9uIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvT3ZlcnJpZGVFeGVjdXRpb25cIjtcbmltcG9ydCBIYXNoQ2hhbmdlciBmcm9tIFwic2FwL3VpL2NvcmUvcm91dGluZy9IYXNoQ2hhbmdlclwiO1xuaW1wb3J0IFhNTFByZXByb2Nlc3NvciBmcm9tIFwic2FwL3VpL2NvcmUvdXRpbC9YTUxQcmVwcm9jZXNzb3JcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgQWRkQm9va21hcmtCdXR0b24gZnJvbSBcInNhcC91c2hlbGwvdWkvZm9vdGVyYmFyL0FkZEJvb2ttYXJrQnV0dG9uXCI7XG5pbXBvcnQgdHlwZSB7IElBZGFwdGl2ZUNhcmQgfSBmcm9tIFwidHlwZXMvYWRhcHRpdmVDYXJkX3R5cGVzXCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwiLi4vUGFnZUNvbnRyb2xsZXJcIjtcblxubGV0IG9MYXN0Rm9jdXNlZENvbnRyb2w6IENvbnRyb2w7XG5cbmV4cG9ydCB0eXBlIFNoYXJlTWV0YWRhdGEgPSB7XG5cdHVybDogc3RyaW5nO1xuXHR0aXRsZTogc3RyaW5nO1xuXHRlbWFpbDogeyB1cmw6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9O1xuXHRqYW06IHsgdXJsOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfTtcblx0dGlsZTogeyB1cmw6IHN0cmluZzsgdGl0bGU6IHN0cmluZzsgc3VidGl0bGU6IHN0cmluZzsgaWNvbjogc3RyaW5nOyBxdWVyeVVybDogc3RyaW5nIH07XG59O1xuXG4vKipcbiAqIEEgY29udHJvbGxlciBleHRlbnNpb24gb2ZmZXJpbmcgaG9va3MgaW50byB0aGUgcm91dGluZyBmbG93IG9mIHRoZSBhcHBsaWNhdGlvblxuICpcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBwdWJsaWNcbiAqIEBzaW5jZSAxLjg2LjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLmNvcmUuY29udHJvbGxlcmV4dGVuc2lvbnMuU2hhcmVcIilcbmNsYXNzIFNoYXJlVXRpbHMgZXh0ZW5kcyBDb250cm9sbGVyRXh0ZW5zaW9uIHtcblx0cHJvdGVjdGVkIGJhc2UhOiBQYWdlQ29udHJvbGxlcjtcblxuXHRAbWV0aG9kT3ZlcnJpZGUoKVxuXHRvbkluaXQoKTogdm9pZCB7XG5cdFx0Y29uc3Qgc2hhcmVJbmZvTW9kZWw6IEpTT05Nb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0c2F2ZUFzVGlsZUNsaWNrZWQ6IGZhbHNlLFxuXHRcdFx0Y29sbGFib3JhdGlvbkluZm86IHtcblx0XHRcdFx0dXJsOiBcIlwiLFxuXHRcdFx0XHRhcHBUaXRsZTogXCJcIixcblx0XHRcdFx0c3ViVGl0bGU6IFwiXCIsXG5cdFx0XHRcdG1pbmlmeVVybEZvckNoYXQ6IHRydWUsXG5cdFx0XHRcdGFwcElkOiBcIlwiXG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0dGhpcy5iYXNlLmdldFZpZXcoKS5zZXRNb2RlbChzaGFyZUluZm9Nb2RlbCwgXCJzaGFyZUluZm9cIik7XG5cdH1cblxuXHRAbWV0aG9kT3ZlcnJpZGUoKVxuXHRvbkV4aXQoKTogdm9pZCB7XG5cdFx0Y29uc3Qgc2hhcmVJbmZvTW9kZWwgPSB0aGlzLmJhc2U/LmdldFZpZXcoKT8uZ2V0TW9kZWwoXCJzaGFyZUluZm9cIikgYXMgSlNPTk1vZGVsIHwgdW5kZWZpbmVkO1xuXHRcdGlmIChzaGFyZUluZm9Nb2RlbCkge1xuXHRcdFx0c2hhcmVJbmZvTW9kZWwuZGVzdHJveSgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBPcGVucyB0aGUgc2hhcmUgc2hlZXQuXG5cdCAqXG5cdCAqIEBwYXJhbSBvQ29udHJvbCBUaGUgY29udHJvbCB0byB3aGljaCB0aGUgQWN0aW9uU2hlZXQgaXMgb3BlbmVkLlxuXHQgKiBAcHVibGljXG5cdCAqIEBzaW5jZSAxLjkzLjBcblx0ICovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZmluYWxFeHRlbnNpb24oKVxuXHRvcGVuU2hhcmVTaGVldChvQ29udHJvbDogQ29udHJvbCk6IHZvaWQge1xuXHRcdHRoaXMuX29wZW5TaGFyZVNoZWV0SW1wbChvQ29udHJvbCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGFkYXB0aXZlIGNhcmQgZGVmaW5pdGlvbi5cblx0ICovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZXh0ZW5zaWJsZShcIkFmdGVyQXN5bmNcIilcblx0YXN5bmMgZ2V0Q2FyZERlZmluaXRpb24oKTogUHJvbWlzZTxJQWRhcHRpdmVDYXJkIHwgdW5kZWZpbmVkPiB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkYXB0cyB0aGUgbWV0YWRhdGEgdXNlZCB3aGlsZSBzaGFyaW5nIHRoZSBwYWdlIFVSTCB2aWEgJ1NlbmQgRW1haWwnLCAnU2hhcmUgaW4gU0FQIEphbScsIGFuZCAnU2F2ZSBhcyBUaWxlJy5cblx0ICpcblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhIE9iamVjdCBjb250YWluaW5nIHRoZSBzaGFyZSBtZXRhZGF0YS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLnVybCBEZWZhdWx0IFVSTCB0aGF0IHdpbGwgYmUgdXNlZCB2aWEgJ1NlbmQgRW1haWwnLCAnU2hhcmUgaW4gU0FQIEphbScsIGFuZCAnU2F2ZSBhcyBUaWxlJ1xuXHQgKiBAcGFyYW0gb1NoYXJlTWV0YWRhdGEudGl0bGUgRGVmYXVsdCB0aXRsZSB0aGF0IHdpbGwgYmUgdXNlZCBhcyAnZW1haWwgc3ViamVjdCcgaW4gJ1NlbmQgRW1haWwnLCAnc2hhcmUgdGV4dCcgaW4gJ1NoYXJlIGluIFNBUCBKYW0nIGFuZCAndGl0bGUnIGluICdTYXZlIGFzIFRpbGUnXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS5lbWFpbCBFbWFpbC1zcGVjaWZpYyBtZXRhZGF0YS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLmVtYWlsLnVybCBVUkwgdGhhdCB3aWxsIGJlIHVzZWQgc3BlY2lmaWNhbGx5IGZvciAnU2VuZCBFbWFpbCcuIFRoaXMgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIG9TaGFyZU1ldGFkYXRhLnVybC5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLmVtYWlsLnRpdGxlIFRpdGxlIHRoYXQgd2lsbCBiZSB1c2VkIGFzIFwiZW1haWwgc3ViamVjdFwiIGluICdTZW5kIEVtYWlsJy4gVGhpcyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgb1NoYXJlTWV0YWRhdGEudGl0bGUuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS5qYW0gU0FQIEphbS1zcGVjaWZpYyBtZXRhZGF0YS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLmphbS51cmwgVVJMIHRoYXQgd2lsbCBiZSB1c2VkIHNwZWNpZmljYWxseSBmb3IgJ1NoYXJlIGluIFNBUCBKYW0nLiBUaGlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBvU2hhcmVNZXRhZGF0YS51cmwuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS5qYW0udGl0bGUgVGl0bGUgdGhhdCB3aWxsIGJlIHVzZWQgYXMgJ3NoYXJlIHRleHQnIGluICdTaGFyZSBpbiBTQVAgSmFtJy4gVGhpcyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgb1NoYXJlTWV0YWRhdGEudGl0bGUuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS50aWxlIFNhdmUgYXMgVGlsZS1zcGVjaWZpYyBtZXRhZGF0YS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLnRpbGUudXJsIFVSTCB0aGF0IHdpbGwgYmUgdXNlZCBzcGVjaWZpY2FsbHkgZm9yICdTYXZlIGFzIFRpbGUnLiBUaGlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBvU2hhcmVNZXRhZGF0YS51cmwuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS50aWxlLnRpdGxlIFRpdGxlIHRvIGJlIHVzZWQgZm9yIHRoZSB0aWxlLiBUaGlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBvU2hhcmVNZXRhZGF0YS50aXRsZS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLnRpbGUuc3VidGl0bGUgU3VidGl0bGUgdG8gYmUgdXNlZCBmb3IgdGhlIHRpbGUuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS50aWxlLmljb24gSWNvbiB0byBiZSB1c2VkIGZvciB0aGUgdGlsZS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLnRpbGUucXVlcnlVcmwgUXVlcnkgVVJMIG9mIGFuIE9EYXRhIHNlcnZpY2UgZnJvbSB3aGljaCBkYXRhIGZvciBhIGR5bmFtaWMgdGlsZSBpcyByZWFkLlxuXHQgKiBAcmV0dXJucyBTaGFyZSBNZXRhZGF0YSBvciBhIFByb21pc2UgcmVzb2x2aW5nIHRoZSBTaGFyZSBNZXRhZGF0YVxuXHQgKiBAcHVibGljXG5cdCAqIEBzaW5jZSAxLjkzLjBcblx0ICovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZXh0ZW5zaWJsZShPdmVycmlkZUV4ZWN1dGlvbi5BZnRlcilcblx0YWRhcHRTaGFyZU1ldGFkYXRhKG9TaGFyZU1ldGFkYXRhOiB7XG5cdFx0dXJsOiBzdHJpbmc7XG5cdFx0dGl0bGU6IHN0cmluZztcblx0XHRlbWFpbDogeyB1cmw6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9O1xuXHRcdGphbTogeyB1cmw6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9O1xuXHRcdHRpbGU6IHsgdXJsOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmc7IHN1YnRpdGxlOiBzdHJpbmc7IGljb246IHN0cmluZzsgcXVlcnlVcmw6IHN0cmluZyB9O1xuXHR9KTogU2hhcmVNZXRhZGF0YSB8IFByb21pc2U8U2hhcmVNZXRhZGF0YT4ge1xuXHRcdHJldHVybiBvU2hhcmVNZXRhZGF0YTtcblx0fVxuXG5cdGFzeW5jIF9vcGVuU2hhcmVTaGVldEltcGwoYnk6IENvbnRyb2wgJiB7IHNoYXJlU2hlZXQ/OiBBY3Rpb25TaGVldCB9KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0bGV0IG9TaGFyZUFjdGlvblNoZWV0OiBBY3Rpb25TaGVldDtcblx0XHRjb25zdCBoYXNoQ2hhbmdlckluc3RhbmNlID0gSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKTtcblx0XHRjb25zdCBzSGFzaCA9IGhhc2hDaGFuZ2VySW5zdGFuY2UuZ2V0SGFzaCgpO1xuXHRcdGNvbnN0IHNCYXNlUGF0aCA9IGhhc2hDaGFuZ2VySW5zdGFuY2UuaHJlZkZvckFwcFNwZWNpZmljSGFzaCA/IGhhc2hDaGFuZ2VySW5zdGFuY2UuaHJlZkZvckFwcFNwZWNpZmljSGFzaChcIlwiKSA6IFwiXCI7XG5cdFx0Y29uc3Qgb1NoYXJlTWV0YWRhdGEgPSB7XG5cdFx0XHR1cmw6XG5cdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gK1xuXHRcdFx0XHR3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgK1xuXHRcdFx0XHR3aW5kb3cubG9jYXRpb24uc2VhcmNoICtcblx0XHRcdFx0KHNIYXNoID8gc0Jhc2VQYXRoICsgc0hhc2ggOiB3aW5kb3cubG9jYXRpb24uaGFzaCksXG5cdFx0XHR0aXRsZTogdGhpcy5iYXNlLmdldEFwcENvbXBvbmVudCgpPy5nZXRTaGVsbFNlcnZpY2VzKCk/LmdldFRpdGxlKCksXG5cdFx0XHRlbWFpbDoge1xuXHRcdFx0XHR1cmw6IFwiXCIsXG5cdFx0XHRcdHRpdGxlOiBcIlwiXG5cdFx0XHR9LFxuXHRcdFx0amFtOiB7XG5cdFx0XHRcdHVybDogXCJcIixcblx0XHRcdFx0dGl0bGU6IFwiXCJcblx0XHRcdH0sXG5cdFx0XHR0aWxlOiB7XG5cdFx0XHRcdHVybDogXCJcIixcblx0XHRcdFx0dGl0bGU6IFwiXCIsXG5cdFx0XHRcdHN1YnRpdGxlOiBcIlwiLFxuXHRcdFx0XHRpY29uOiBcIlwiLFxuXHRcdFx0XHRxdWVyeVVybDogXCJcIlxuXHRcdFx0fVxuXHRcdH07XG5cdFx0b0xhc3RGb2N1c2VkQ29udHJvbCA9IGJ5O1xuXG5cdFx0Y29uc3Qgc2V0U2hhcmVFbWFpbERhdGEgPSBmdW5jdGlvbiAoc2hhcmVBY3Rpb25TaGVldDogQWN0aW9uU2hlZXQsIG9Nb2RlbERhdGE6IG9iamVjdCk6IHZvaWQge1xuXHRcdFx0Y29uc3Qgb1NoYXJlTWFpbE1vZGVsID0gc2hhcmVBY3Rpb25TaGVldC5nZXRNb2RlbChcInNoYXJlRGF0YVwiKSBhcyBKU09OTW9kZWw7XG5cdFx0XHRjb25zdCBvTmV3TWFpbERhdGEgPSBleHRlbmQob1NoYXJlTWFpbE1vZGVsLmdldERhdGEoKSwgb01vZGVsRGF0YSk7XG5cdFx0XHRvU2hhcmVNYWlsTW9kZWwuc2V0RGF0YShvTmV3TWFpbERhdGEpO1xuXHRcdH07XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3Qgb01vZGVsRGF0YTogU2hhcmVNZXRhZGF0YSA9IGF3YWl0IHRoaXMuYmFzZS5nZXRWaWV3KCkuZ2V0Q29udHJvbGxlcigpPy5zaGFyZT8uYWRhcHRTaGFyZU1ldGFkYXRhKG9TaGFyZU1ldGFkYXRhKTtcblx0XHRcdGNvbnN0IGZyYWdtZW50Q29udHJvbGxlcjogUmVjb3JkPHN0cmluZywgRnVuY3Rpb24+ID0ge1xuXHRcdFx0XHRzaGFyZUVtYWlsUHJlc3NlZDogZnVuY3Rpb24gKCk6IHZvaWQge1xuXHRcdFx0XHRcdGNvbnN0IG9NYWlsTW9kZWwgPSBvU2hhcmVBY3Rpb25TaGVldC5nZXRNb2RlbChcInNoYXJlRGF0YVwiKSBhcyBKU09OTW9kZWw7XG5cdFx0XHRcdFx0Y29uc3Qgb01haWxEYXRhID0gb01haWxNb2RlbC5nZXREYXRhKCk7XG5cdFx0XHRcdFx0Y29uc3Qgb1Jlc291cmNlID0gTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb3JlXCIpITtcblx0XHRcdFx0XHRjb25zdCBzRW1haWxTdWJqZWN0ID0gb01haWxEYXRhLmVtYWlsLnRpdGxlXG5cdFx0XHRcdFx0XHQ/IG9NYWlsRGF0YS5lbWFpbC50aXRsZVxuXHRcdFx0XHRcdFx0OiBvUmVzb3VyY2UuZ2V0VGV4dChcIlRfU0hBUkVfVVRJTF9IRUxQRVJfU0FQRkVfRU1BSUxfU1VCSkVDVFwiLCBbb01haWxEYXRhLnRpdGxlXSk7XG5cdFx0XHRcdFx0bGlicmFyeS5VUkxIZWxwZXIudHJpZ2dlckVtYWlsKHVuZGVmaW5lZCwgc0VtYWlsU3ViamVjdCwgb01haWxEYXRhLmVtYWlsLnVybCA/IG9NYWlsRGF0YS5lbWFpbC51cmwgOiBvTWFpbERhdGEudXJsKTtcblx0XHRcdFx0fSxcblx0XHRcdFx0c2hhcmVNU1RlYW1zUHJlc3NlZDogZnVuY3Rpb24gKCk6IHZvaWQge1xuXHRcdFx0XHRcdGNvbnN0IG1zVGVhbXNNb2RlbCA9IG9TaGFyZUFjdGlvblNoZWV0LmdldE1vZGVsKFwic2hhcmVEYXRhXCIpIGFzIEpTT05Nb2RlbDtcblx0XHRcdFx0XHRjb25zdCBtc1RlYW1zRGF0YSA9IG1zVGVhbXNNb2RlbC5nZXREYXRhKCk7XG5cdFx0XHRcdFx0Y29uc3QgbWVzc2FnZSA9IG1zVGVhbXNEYXRhLmVtYWlsLnRpdGxlID8gbXNUZWFtc0RhdGEuZW1haWwudGl0bGUgOiBtc1RlYW1zRGF0YS50aXRsZTtcblx0XHRcdFx0XHRjb25zdCB1cmwgPSBtc1RlYW1zRGF0YS5lbWFpbC51cmwgPyBtc1RlYW1zRGF0YS5lbWFpbC51cmwgOiBtc1RlYW1zRGF0YS51cmw7XG5cdFx0XHRcdFx0Y29uc3QgbmV3V2luZG93T3BlbiA9IHdpbmRvdy5vcGVuKFwiXCIsIFwibXMtdGVhbXMtc2hhcmUtcG9wdXBcIiwgXCJ3aWR0aD03MDAsaGVpZ2h0PTYwMFwiKTtcblx0XHRcdFx0XHRuZXdXaW5kb3dPcGVuIS5vcGVuZXIgPSBudWxsO1xuXHRcdFx0XHRcdG5ld1dpbmRvd09wZW4hLmxvY2F0aW9uID0gYGh0dHBzOi8vdGVhbXMubWljcm9zb2Z0LmNvbS9zaGFyZT9tc2dUZXh0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KFxuXHRcdFx0XHRcdFx0bWVzc2FnZVxuXHRcdFx0XHRcdCl9JmhyZWY9JHtlbmNvZGVVUklDb21wb25lbnQodXJsKX1gO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRvblNhdmVUaWxlUHJlc3M6IGZ1bmN0aW9uICgpOiB2b2lkIHtcblx0XHRcdFx0XHQvLyBUT0RPIGl0IHNlZW1zIHRoYXQgdGhlIHByZXNzIGV2ZW50IGlzIGV4ZWN1dGVkIGJlZm9yZSB0aGUgZGlhbG9nIGlzIGF2YWlsYWJsZSAtIGFkZGluZyBhIHRpbWVvdXQgaXMgYSBjaGVhcCB3b3JrYXJvdW5kXG5cdFx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHQoRWxlbWVudC5nZXRFbGVtZW50QnlJZChcImJvb2ttYXJrRGlhbG9nXCIpIGFzIERpYWxvZyB8IHVuZGVmaW5lZCk/LmF0dGFjaEFmdGVyQ2xvc2UoZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0XHRvTGFzdEZvY3VzZWRDb250cm9sLmZvY3VzKCk7XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9LCAwKTtcblx0XHRcdFx0fSxcblx0XHRcdFx0c2hhcmVKYW1QcmVzc2VkOiBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG5cdFx0XHRcdFx0YXdhaXQgdGhpcy5fZG9PcGVuSmFtU2hhcmVEaWFsb2coXG5cdFx0XHRcdFx0XHRvTW9kZWxEYXRhPy5qYW0/LnRpdGxlID8gb01vZGVsRGF0YS5qYW0udGl0bGUgOiBvTW9kZWxEYXRhLnRpdGxlLFxuXHRcdFx0XHRcdFx0b01vZGVsRGF0YT8uamFtPy51cmwgPyBvTW9kZWxEYXRhLmphbS51cmwgOiBvTW9kZWxEYXRhLnVybFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cblx0XHRcdGZyYWdtZW50Q29udHJvbGxlci5vbkNhbmNlbFByZXNzZWQgPSBmdW5jdGlvbiAoKTogdm9pZCB7XG5cdFx0XHRcdG9TaGFyZUFjdGlvblNoZWV0LmNsb3NlKCk7XG5cdFx0XHR9O1xuXG5cdFx0XHRmcmFnbWVudENvbnRyb2xsZXIuc2V0U2hhcmVTaGVldCA9IGZ1bmN0aW9uIChvU2hhcmVTaGVldDogQWN0aW9uU2hlZXQpOiB2b2lkIHtcblx0XHRcdFx0Ynkuc2hhcmVTaGVldCA9IG9TaGFyZVNoZWV0O1xuXHRcdFx0fTtcblxuXHRcdFx0Y29uc3Qgb1RoaXMgPSBuZXcgSlNPTk1vZGVsKHt9KTtcblx0XHRcdGNvbnN0IG9QcmVwcm9jZXNzb3JTZXR0aW5ncyA9IHtcblx0XHRcdFx0YmluZGluZ0NvbnRleHRzOiB7XG5cdFx0XHRcdFx0dGhpczogb1RoaXMuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpXG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1vZGVsczoge1xuXHRcdFx0XHRcdHRoaXM6IG9UaGlzXG5cdFx0XHRcdH1cblx0XHRcdH07XG5cdFx0XHRjb25zdCBvVGlsZURhdGEgPSB7XG5cdFx0XHRcdHRpdGxlOiBvTW9kZWxEYXRhPy50aWxlPy50aXRsZSA/IG9Nb2RlbERhdGEudGlsZS50aXRsZSA6IG9Nb2RlbERhdGEudGl0bGUsXG5cdFx0XHRcdHN1YnRpdGxlOiBvTW9kZWxEYXRhPy50aWxlPy5zdWJ0aXRsZSxcblx0XHRcdFx0aWNvbjogb01vZGVsRGF0YT8udGlsZT8uaWNvbixcblx0XHRcdFx0dXJsOiBvTW9kZWxEYXRhPy50aWxlPy51cmwgPyBvTW9kZWxEYXRhLnRpbGUudXJsIDogb01vZGVsRGF0YS51cmwuc3Vic3RyaW5nKG9Nb2RlbERhdGEudXJsLmluZGV4T2YoXCIjXCIpKSxcblx0XHRcdFx0cXVlcnlVcmw6IG9Nb2RlbERhdGE/LnRpbGU/LnF1ZXJ5VXJsXG5cdFx0XHR9O1xuXHRcdFx0aWYgKGJ5LnNoYXJlU2hlZXQpIHtcblx0XHRcdFx0b1NoYXJlQWN0aW9uU2hlZXQgPSBieS5zaGFyZVNoZWV0O1xuXG5cdFx0XHRcdGNvbnN0IG9TaGFyZU1vZGVsID0gb1NoYXJlQWN0aW9uU2hlZXQuZ2V0TW9kZWwoXCJzaGFyZVwiKSBhcyBKU09OTW9kZWw7XG5cdFx0XHRcdHRoaXMuX3NldFN0YXRpY1NoYXJlRGF0YShvU2hhcmVNb2RlbCk7XG5cdFx0XHRcdGNvbnN0IG9OZXdEYXRhID0gZXh0ZW5kKG9TaGFyZU1vZGVsLmdldERhdGEoKSwgb1RpbGVEYXRhKTtcblx0XHRcdFx0b1NoYXJlTW9kZWwuc2V0RGF0YShvTmV3RGF0YSk7XG5cdFx0XHRcdHNldFNoYXJlRW1haWxEYXRhKG9TaGFyZUFjdGlvblNoZWV0LCBvTW9kZWxEYXRhKTtcblx0XHRcdFx0b1NoYXJlQWN0aW9uU2hlZXQub3BlbkJ5KGJ5KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IHNGcmFnbWVudE5hbWUgPSBcInNhcC5mZS5tYWNyb3Muc2hhcmUuU2hhcmVTaGVldFwiO1xuXHRcdFx0XHRjb25zdCBvUG9wb3ZlckZyYWdtZW50ID0gWE1MVGVtcGxhdGVQcm9jZXNzb3IubG9hZFRlbXBsYXRlKHNGcmFnbWVudE5hbWUsIFwiZnJhZ21lbnRcIik7XG5cblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRjb25zdCBvRnJhZ21lbnQgPSBhd2FpdCBYTUxQcmVwcm9jZXNzb3IucHJvY2VzcyhvUG9wb3ZlckZyYWdtZW50LCB7IG5hbWU6IHNGcmFnbWVudE5hbWUgfSwgb1ByZXByb2Nlc3NvclNldHRpbmdzKTtcblx0XHRcdFx0XHRvU2hhcmVBY3Rpb25TaGVldCA9IChhd2FpdCBGcmFnbWVudC5sb2FkKHtcblx0XHRcdFx0XHRcdGRlZmluaXRpb246IG9GcmFnbWVudCBhcyB1bmtub3duIGFzIHN0cmluZyxcblx0XHRcdFx0XHRcdGNvbnRyb2xsZXI6IGZyYWdtZW50Q29udHJvbGxlclxuXHRcdFx0XHRcdH0pKSBhcyBBY3Rpb25TaGVldDtcblxuXHRcdFx0XHRcdG9TaGFyZUFjdGlvblNoZWV0LnNldE1vZGVsKG5ldyBKU09OTW9kZWwob1RpbGVEYXRhIHx8IHt9KSwgXCJzaGFyZVwiKTtcblx0XHRcdFx0XHRjb25zdCBvU2hhcmVNb2RlbCA9IG9TaGFyZUFjdGlvblNoZWV0LmdldE1vZGVsKFwic2hhcmVcIikgYXMgSlNPTk1vZGVsO1xuXHRcdFx0XHRcdHRoaXMuX3NldFN0YXRpY1NoYXJlRGF0YShvU2hhcmVNb2RlbCk7XG5cdFx0XHRcdFx0Y29uc3Qgb05ld0RhdGEgPSBleHRlbmQob1NoYXJlTW9kZWwuZ2V0RGF0YSgpLCBvVGlsZURhdGEpO1xuXHRcdFx0XHRcdG9TaGFyZU1vZGVsLnNldERhdGEob05ld0RhdGEpO1xuXG5cdFx0XHRcdFx0b1NoYXJlQWN0aW9uU2hlZXQuc2V0TW9kZWwobmV3IEpTT05Nb2RlbChvTW9kZWxEYXRhIHx8IHt9KSwgXCJzaGFyZURhdGFcIik7XG5cdFx0XHRcdFx0c2V0U2hhcmVFbWFpbERhdGEob1NoYXJlQWN0aW9uU2hlZXQsIG9Nb2RlbERhdGEpO1xuXG5cdFx0XHRcdFx0YnkuYWRkRGVwZW5kZW50KG9TaGFyZUFjdGlvblNoZWV0KTtcblx0XHRcdFx0XHRvU2hhcmVBY3Rpb25TaGVldC5vcGVuQnkoYnkpO1xuXHRcdFx0XHRcdGZyYWdtZW50Q29udHJvbGxlci5zZXRTaGFyZVNoZWV0KG9TaGFyZUFjdGlvblNoZWV0KTtcblx0XHRcdFx0fSBjYXRjaCAob0Vycm9yOiB1bmtub3duKSB7XG5cdFx0XHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgb3BlbmluZyB0aGUgc2hhcmUgZnJhZ21lbnRcIiwgb0Vycm9yIGFzIHN0cmluZyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGNhdGNoIChvRXJyb3I6IHVua25vd24pIHtcblx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIGZldGNoaW5nIHRoZSBzaGFyZSBtb2RlbCBkYXRhXCIsIG9FcnJvciBhcyBzdHJpbmcpO1xuXHRcdH1cblx0fVxuXG5cdF9zZXRTdGF0aWNTaGFyZURhdGEoc2hhcmVNb2RlbDogSlNPTk1vZGVsKTogdm9pZCB7XG5cdFx0Y29uc3Qgb1Jlc291cmNlID0gTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb3JlXCIpITtcblx0XHRzaGFyZU1vZGVsLnNldFByb3BlcnR5KFwiL2phbUJ1dHRvblRleHRcIiwgb1Jlc291cmNlLmdldFRleHQoXCJUX0NPTU1PTl9TQVBGRV9TSEFSRV9KQU1cIikpO1xuXHRcdHNoYXJlTW9kZWwuc2V0UHJvcGVydHkoXCIvZW1haWxCdXR0b25UZXh0XCIsIG9SZXNvdXJjZS5nZXRUZXh0KFwiVF9TRU1BTlRJQ19DT05UUk9MX1NFTkRfRU1BSUxcIikpO1xuXHRcdHNoYXJlTW9kZWwuc2V0UHJvcGVydHkoXCIvbXNUZWFtc1NoYXJlQnV0dG9uVGV4dFwiLCBvUmVzb3VyY2UuZ2V0VGV4dChcIlRfQ09NTU9OX1NBUEZFX1NIQVJFX01TVEVBTVNcIikpO1xuXHRcdC8vIFNoYXJlIHRvIE1pY3Jvc29mdCBUZWFtcyBpcyBmZWF0dXJlIHdoaWNoIGZvciBub3cgb25seSBnZXRzIGVuYWJsZWQgZm9yIHNlbGVjdGVkIGN1c3RvbWVycy5cblx0XHQvLyBUaGUgc3dpdGNoIFwic2FwSG9yaXpvbkVuYWJsZWRcIiBhbmQgY2hlY2sgZm9yIGl0IHdhcyBhbGlnbmVkIHdpdGggdGhlIEZpb3JpIGxhdW5jaHBhZCB0ZWFtLlxuXHRcdGlmIChPYmplY3RQYXRoLmdldChcInNhcC11c2hlbGwtY29uZmlnLnJlbmRlcmVycy5maW9yaTIuY29tcG9uZW50RGF0YS5jb25maWcuc2FwSG9yaXpvbkVuYWJsZWRcIikgPT09IHRydWUpIHtcblx0XHRcdHNoYXJlTW9kZWwuc2V0UHJvcGVydHkoXCIvbXNUZWFtc1Zpc2libGVcIiwgdHJ1ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHNoYXJlTW9kZWwuc2V0UHJvcGVydHkoXCIvbXNUZWFtc1Zpc2libGVcIiwgZmFsc2UpO1xuXHRcdH1cblx0XHRjb25zdCBmbkdldFVzZXIgPSBPYmplY3RQYXRoLmdldChcInNhcC51c2hlbGwuQ29udGFpbmVyLmdldFVzZXJcIik7XG5cdFx0c2hhcmVNb2RlbC5zZXRQcm9wZXJ0eShcIi9qYW1WaXNpYmxlXCIsICEhZm5HZXRVc2VyICYmIGZuR2V0VXNlcigpLmlzSmFtQWN0aXZlKCkpO1xuXHRcdHNoYXJlTW9kZWwuc2V0UHJvcGVydHkoXCIvc2F2ZUFzVGlsZVZpc2libGVcIiwgISFzYXAudWkucmVxdWlyZShcInNhcC91c2hlbGwvQ29udGFpbmVyXCIpKTtcblx0fVxuXG5cdC8vdGhlIGFjdHVhbCBvcGVuaW5nIG9mIHRoZSBKQU0gc2hhcmUgZGlhbG9nXG5cdGFzeW5jIF9kb09wZW5KYW1TaGFyZURpYWxvZyh0ZXh0OiBzdHJpbmcsIHNVcmw/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBvU2hhcmVEaWFsb2cgPSBhd2FpdCBDb21wb25lbnQuY3JlYXRlKHtcblx0XHRcdG5hbWU6IFwic2FwLmNvbGxhYm9yYXRpb24uY29tcG9uZW50cy5maW9yaS5zaGFyaW5nLmRpYWxvZ1wiLFxuXHRcdFx0c2V0dGluZ3M6IHtcblx0XHRcdFx0b2JqZWN0OiB7XG5cdFx0XHRcdFx0aWQ6IHNVcmwsXG5cdFx0XHRcdFx0c2hhcmU6IHRleHRcblx0XHRcdFx0fVxuXHRcdFx0fSBhcyAkQ29tcG9uZW50U2V0dGluZ3Ncblx0XHR9KTtcblx0XHQob1NoYXJlRGlhbG9nIGFzIHVua25vd24gYXMgeyBvcGVuOiBGdW5jdGlvbiB9KS5vcGVuKCk7XG5cdH1cblxuXHQvKipcblx0ICogVHJpZ2dlcnMgdGhlIGVtYWlsIGZsb3cuXG5cdCAqXG5cdCAqL1xuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0QGZpbmFsRXh0ZW5zaW9uKClcblx0YXN5bmMgX3RyaWdnZXJFbWFpbCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBzaGFyZU1ldGFkYXRhOiBTaGFyZU1ldGFkYXRhID0gYXdhaXQgdGhpcy5fYWRhcHRTaGFyZU1ldGFkYXRhKCk7XG5cdFx0Y29uc3Qgb1Jlc291cmNlID0gTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5jb3JlXCIpITtcblx0XHRjb25zdCBzRW1haWxTdWJqZWN0ID0gc2hhcmVNZXRhZGF0YS5lbWFpbC50aXRsZVxuXHRcdFx0PyBzaGFyZU1ldGFkYXRhLmVtYWlsLnRpdGxlXG5cdFx0XHQ6IG9SZXNvdXJjZS5nZXRUZXh0KFwiVF9TSEFSRV9VVElMX0hFTFBFUl9TQVBGRV9FTUFJTF9TVUJKRUNUXCIsIFtzaGFyZU1ldGFkYXRhLnRpdGxlXSk7XG5cdFx0bGlicmFyeS5VUkxIZWxwZXIudHJpZ2dlckVtYWlsKHVuZGVmaW5lZCwgc0VtYWlsU3ViamVjdCwgc2hhcmVNZXRhZGF0YS5lbWFpbC51cmwgPyBzaGFyZU1ldGFkYXRhLmVtYWlsLnVybCA6IHNoYXJlTWV0YWRhdGEudXJsKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUcmlnZ2VycyB0aGUgc2hhcmUgdG8gamFtIGZsb3cuXG5cdCAqXG5cdCAqL1xuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0QGZpbmFsRXh0ZW5zaW9uKClcblx0YXN5bmMgX3RyaWdnZXJTaGFyZVRvSmFtKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IHNoYXJlTWV0YWRhdGE6IFNoYXJlTWV0YWRhdGEgPSBhd2FpdCB0aGlzLl9hZGFwdFNoYXJlTWV0YWRhdGEoKTtcblx0XHRhd2FpdCB0aGlzLl9kb09wZW5KYW1TaGFyZURpYWxvZyhcblx0XHRcdHNoYXJlTWV0YWRhdGEuamFtLnRpdGxlID8gc2hhcmVNZXRhZGF0YS5qYW0udGl0bGUgOiBzaGFyZU1ldGFkYXRhLnRpdGxlLFxuXHRcdFx0c2hhcmVNZXRhZGF0YS5qYW0udXJsID8gc2hhcmVNZXRhZGF0YS5qYW0udXJsIDogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArIHNoYXJlTWV0YWRhdGEudXJsXG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUcmlnZ2VycyB0aGUgc2F2ZSBhcyB0aWxlIGZsb3cuXG5cdCAqXG5cdCAqIEBwYXJhbSBbc291cmNlXVxuXHQgKi9cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdEBmaW5hbEV4dGVuc2lvbigpXG5cdGFzeW5jIF9zYXZlQXNUaWxlKHNvdXJjZTogSXRlbSk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IHNoYXJlSW5mb01vZGVsID0gdGhpcy5iYXNlPy5nZXRWaWV3KCk/LmdldE1vZGVsKFwic2hhcmVJbmZvXCIpIGFzIEpTT05Nb2RlbCB8IHVuZGVmaW5lZDtcblx0XHRpZiAoc2hhcmVJbmZvTW9kZWwpIHtcblx0XHRcdC8vIHNldCB0aGUgc2F2ZUFzVGlsZUNsaWNrZWQgZmxhZyB0byB0cnVlIHdoZW4gc2F2ZSBhcyB0aWxlIGlzIGNsaWNrZWRcblx0XHRcdHNoYXJlSW5mb01vZGVsLnNldFByb3BlcnR5KFwiL3NhdmVBc1RpbGVDbGlja2VkXCIsIHRydWUpO1xuXHRcdH1cblx0XHRjb25zdCBzaGFyZU1ldGFkYXRhOiBTaGFyZU1ldGFkYXRhID0gYXdhaXQgdGhpcy5fYWRhcHRTaGFyZU1ldGFkYXRhKCksXG5cdFx0XHRpbnRlcm5hbEFkZEJvb2ttYXJrQnV0dG9uID0gc291cmNlLmdldERlcGVuZGVudHMoKVswXSBhcyBBZGRCb29rbWFya0J1dHRvbixcblx0XHRcdGhhc2hDaGFuZ2VySW5zdGFuY2UgPSBIYXNoQ2hhbmdlci5nZXRJbnN0YW5jZSgpLFxuXHRcdFx0c0hhc2ggPSBoYXNoQ2hhbmdlckluc3RhbmNlLmdldEhhc2goKSxcblx0XHRcdHNCYXNlUGF0aCA9IGhhc2hDaGFuZ2VySW5zdGFuY2UuaHJlZkZvckFwcFNwZWNpZmljSGFzaCA/IGhhc2hDaGFuZ2VySW5zdGFuY2UuaHJlZkZvckFwcFNwZWNpZmljSGFzaChcIlwiKSA6IFwiXCI7XG5cdFx0c2hhcmVNZXRhZGF0YS51cmwgPSBzSGFzaCA/IHNCYXNlUGF0aCArIHNIYXNoIDogd2luZG93LmxvY2F0aW9uLmhhc2g7XG5cblx0XHQvLyBzZXQgQWRkQm9va21hcmtCdXR0b24gcHJvcGVydGllc1xuXHRcdGludGVybmFsQWRkQm9va21hcmtCdXR0b24uc2V0VGl0bGUoc2hhcmVNZXRhZGF0YS50aWxlLnRpdGxlID8gc2hhcmVNZXRhZGF0YS50aWxlLnRpdGxlIDogc2hhcmVNZXRhZGF0YS50aXRsZSk7XG5cdFx0aW50ZXJuYWxBZGRCb29rbWFya0J1dHRvbi5zZXRTdWJ0aXRsZShzaGFyZU1ldGFkYXRhLnRpbGUuc3VidGl0bGUpO1xuXHRcdGludGVybmFsQWRkQm9va21hcmtCdXR0b24uc2V0VGlsZUljb24oc2hhcmVNZXRhZGF0YS50aWxlLmljb24pO1xuXHRcdGludGVybmFsQWRkQm9va21hcmtCdXR0b24uc2V0Q3VzdG9tVXJsKHNoYXJlTWV0YWRhdGEudGlsZS51cmwgPyBzaGFyZU1ldGFkYXRhLnRpbGUudXJsIDogc2hhcmVNZXRhZGF0YS51cmwpO1xuXHRcdGludGVybmFsQWRkQm9va21hcmtCdXR0b24uc2V0U2VydmljZVVybChzaGFyZU1ldGFkYXRhLnRpbGUucXVlcnlVcmwpO1xuXHRcdGludGVybmFsQWRkQm9va21hcmtCdXR0b24uc2V0RGF0YVNvdXJjZSh7XG5cdFx0XHR0eXBlOiBcIk9EYXRhXCIsXG5cdFx0XHRzZXR0aW5nczoge1xuXHRcdFx0XHRvZGF0YVZlcnNpb246IFwiNC4wXCJcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdC8vIG9uY2UgdGhlIHNlcnZpY2UgdXJsIGlzIHJlYWQsIHNldCB0aGUgc2F2ZUFzVGlsZUNsaWNrZWQgZmxhZyB0byBmYWxzZVxuXHRcdGlmIChzaGFyZUluZm9Nb2RlbCkge1xuXHRcdFx0c2hhcmVJbmZvTW9kZWwuc2V0UHJvcGVydHkoXCIvc2F2ZUFzVGlsZUNsaWNrZWRcIiwgZmFsc2UpO1xuXHRcdH1cblxuXHRcdC8vIGFkZEJvb2ttYXJrQnV0dG9uIGZpcmUgcHJlc3Ncblx0XHRpbnRlcm5hbEFkZEJvb2ttYXJrQnV0dG9uLmZpcmVQcmVzcygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENhbGwgdGhlIGFkYXB0U2hhcmVNZXRhZGF0YSBleHRlbnNpb24uXG5cdCAqXG5cdCAqIEByZXR1cm5zIFNoYXJlIE1ldGFkYXRhXG5cdCAqL1xuXHRAcHVibGljRXh0ZW5zaW9uKClcblx0QGZpbmFsRXh0ZW5zaW9uKClcblx0YXN5bmMgX2FkYXB0U2hhcmVNZXRhZGF0YSgpOiBQcm9taXNlPFNoYXJlTWV0YWRhdGE+IHtcblx0XHRjb25zdCBoYXNoQ2hhbmdlckluc3RhbmNlID0gSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKTtcblx0XHRjb25zdCBzSGFzaCA9IGhhc2hDaGFuZ2VySW5zdGFuY2UuZ2V0SGFzaCgpO1xuXHRcdGNvbnN0IHNCYXNlUGF0aCA9IGhhc2hDaGFuZ2VySW5zdGFuY2UuaHJlZkZvckFwcFNwZWNpZmljSGFzaCA/IGhhc2hDaGFuZ2VySW5zdGFuY2UuaHJlZkZvckFwcFNwZWNpZmljSGFzaChcIlwiKSA6IFwiXCI7XG5cblx0XHRjb25zdCBvU2hhcmVNZXRhZGF0YTogU2hhcmVNZXRhZGF0YSA9IHtcblx0XHRcdHVybDpcblx0XHRcdFx0d2luZG93LmxvY2F0aW9uLm9yaWdpbiArXG5cdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArXG5cdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggK1xuXHRcdFx0XHQoc0hhc2ggPyBzQmFzZVBhdGggKyBzSGFzaCA6IHdpbmRvdy5sb2NhdGlvbi5oYXNoKSxcblx0XHRcdHRpdGxlOiB0aGlzLmJhc2UuZ2V0QXBwQ29tcG9uZW50KCk/LmdldFNoZWxsU2VydmljZXMoKT8uZ2V0VGl0bGUoKSxcblx0XHRcdGVtYWlsOiB7XG5cdFx0XHRcdHVybDogXCJcIixcblx0XHRcdFx0dGl0bGU6IFwiXCJcblx0XHRcdH0sXG5cdFx0XHRqYW06IHtcblx0XHRcdFx0dXJsOiBcIlwiLFxuXHRcdFx0XHR0aXRsZTogXCJcIlxuXHRcdFx0fSxcblx0XHRcdHRpbGU6IHtcblx0XHRcdFx0dXJsOiBcIlwiLFxuXHRcdFx0XHR0aXRsZTogXCJcIixcblx0XHRcdFx0c3VidGl0bGU6IFwiXCIsXG5cdFx0XHRcdGljb246IFwiXCIsXG5cdFx0XHRcdHF1ZXJ5VXJsOiBcIlwiXG5cdFx0XHR9XG5cdFx0fTtcblx0XHRyZXR1cm4gdGhpcy5iYXNlLmdldFZpZXcoKS5nZXRDb250cm9sbGVyKCkuc2hhcmUuYWRhcHRTaGFyZU1ldGFkYXRhKG9TaGFyZU1ldGFkYXRhKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBTaGFyZVV0aWxzO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7O0VBd0JBLElBQUlBLG1CQUE0QjtFQVVoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQU5BLElBUU1DLFVBQVUsV0FEZkMsY0FBYyxDQUFDLHdDQUF3QyxDQUFDLFVBSXZEQyxjQUFjLEVBQUUsVUFlaEJBLGNBQWMsRUFBRSxVQWVoQkMsZUFBZSxFQUFFLFVBQ2pCQyxjQUFjLEVBQUUsVUFRaEJELGVBQWUsRUFBRSxVQUNqQkUsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQTJCeEJGLGVBQWUsRUFBRSxVQUNqQkUsVUFBVSxDQUFDQyxpQkFBaUIsQ0FBQ0MsS0FBSyxDQUFDLFdBMExuQ0osZUFBZSxFQUFFLFdBQ2pCQyxjQUFjLEVBQUUsV0FjaEJELGVBQWUsRUFBRSxXQUNqQkMsY0FBYyxFQUFFLFdBY2hCRCxlQUFlLEVBQUUsV0FDakJDLGNBQWMsRUFBRSxXQXlDaEJELGVBQWUsRUFBRSxXQUNqQkMsY0FBYyxF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
|
|
347
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvTGFzdEZvY3VzZWRDb250cm9sIiwiU2hhcmVVdGlscyIsImRlZmluZVVJNUNsYXNzIiwibWV0aG9kT3ZlcnJpZGUiLCJwdWJsaWNFeHRlbnNpb24iLCJmaW5hbEV4dGVuc2lvbiIsImV4dGVuc2libGUiLCJPdmVycmlkZUV4ZWN1dGlvbiIsIkFmdGVyIiwib25Jbml0Iiwic2hhcmVJbmZvTW9kZWwiLCJKU09OTW9kZWwiLCJzYXZlQXNUaWxlQ2xpY2tlZCIsImNvbGxhYm9yYXRpb25JbmZvIiwidXJsIiwiYXBwVGl0bGUiLCJzdWJUaXRsZSIsIm1pbmlmeVVybEZvckNoYXQiLCJhcHBJZCIsImJhc2UiLCJnZXRWaWV3Iiwic2V0TW9kZWwiLCJvbkV4aXQiLCJnZXRNb2RlbCIsImRlc3Ryb3kiLCJvcGVuU2hhcmVTaGVldCIsIm9Db250cm9sIiwiX29wZW5TaGFyZVNoZWV0SW1wbCIsImdldENhcmREZWZpbml0aW9uIiwiYWRhcHRTaGFyZU1ldGFkYXRhIiwib1NoYXJlTWV0YWRhdGEiLCJieSIsIm9TaGFyZUFjdGlvblNoZWV0IiwiaGFzaENoYW5nZXJJbnN0YW5jZSIsIkhhc2hDaGFuZ2VyIiwiZ2V0SW5zdGFuY2UiLCJzSGFzaCIsImdldEhhc2giLCJzQmFzZVBhdGgiLCJocmVmRm9yQXBwU3BlY2lmaWNIYXNoIiwid2luZG93IiwibG9jYXRpb24iLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImhhc2giLCJ0aXRsZSIsImdldEFwcENvbXBvbmVudCIsImdldFNoZWxsU2VydmljZXMiLCJnZXRUaXRsZSIsImVtYWlsIiwiamFtIiwidGlsZSIsInN1YnRpdGxlIiwiaWNvbiIsInF1ZXJ5VXJsIiwic2V0U2hhcmVFbWFpbERhdGEiLCJzaGFyZUFjdGlvblNoZWV0Iiwib01vZGVsRGF0YSIsIm9TaGFyZU1haWxNb2RlbCIsIm9OZXdNYWlsRGF0YSIsImV4dGVuZCIsImdldERhdGEiLCJzZXREYXRhIiwiZ2V0Q29udHJvbGxlciIsInNoYXJlIiwiZnJhZ21lbnRDb250cm9sbGVyIiwic2hhcmVFbWFpbFByZXNzZWQiLCJvTWFpbE1vZGVsIiwib01haWxEYXRhIiwib1Jlc291cmNlIiwiTGlicmFyeSIsImdldFJlc291cmNlQnVuZGxlRm9yIiwic0VtYWlsU3ViamVjdCIsImdldFRleHQiLCJsaWJyYXJ5IiwiVVJMSGVscGVyIiwidHJpZ2dlckVtYWlsIiwidW5kZWZpbmVkIiwic2hhcmVNU1RlYW1zUHJlc3NlZCIsIm1zVGVhbXNNb2RlbCIsIm1zVGVhbXNEYXRhIiwibWVzc2FnZSIsIm5ld1dpbmRvd09wZW4iLCJvcGVuIiwib3BlbmVyIiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwib25TYXZlVGlsZVByZXNzIiwic2V0VGltZW91dCIsIkVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImF0dGFjaEFmdGVyQ2xvc2UiLCJmb2N1cyIsInNoYXJlSmFtUHJlc3NlZCIsIl9kb09wZW5KYW1TaGFyZURpYWxvZyIsIm9uQ2FuY2VsUHJlc3NlZCIsImNsb3NlIiwic2V0U2hhcmVTaGVldCIsIm9TaGFyZVNoZWV0Iiwic2hhcmVTaGVldCIsIm9UaGlzIiwib1ByZXByb2Nlc3NvclNldHRpbmdzIiwiYmluZGluZ0NvbnRleHRzIiwidGhpcyIsImNyZWF0ZUJpbmRpbmdDb250ZXh0IiwibW9kZWxzIiwib1RpbGVEYXRhIiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsIm9TaGFyZU1vZGVsIiwiX3NldFN0YXRpY1NoYXJlRGF0YSIsIm9OZXdEYXRhIiwib3BlbkJ5Iiwic0ZyYWdtZW50TmFtZSIsIm9Qb3BvdmVyRnJhZ21lbnQiLCJYTUxUZW1wbGF0ZVByb2Nlc3NvciIsImxvYWRUZW1wbGF0ZSIsIm9GcmFnbWVudCIsIlhNTFByZXByb2Nlc3NvciIsInByb2Nlc3MiLCJuYW1lIiwiRnJhZ21lbnQiLCJsb2FkIiwiZGVmaW5pdGlvbiIsImNvbnRyb2xsZXIiLCJhZGREZXBlbmRlbnQiLCJvRXJyb3IiLCJMb2ciLCJlcnJvciIsInNoYXJlTW9kZWwiLCJzZXRQcm9wZXJ0eSIsIk9iamVjdFBhdGgiLCJnZXQiLCJmbkdldFVzZXIiLCJpc0phbUFjdGl2ZSIsInNhcCIsInVpIiwicmVxdWlyZSIsInRleHQiLCJzVXJsIiwib1NoYXJlRGlhbG9nIiwiQ29tcG9uZW50IiwiY3JlYXRlIiwic2V0dGluZ3MiLCJvYmplY3QiLCJpZCIsIl90cmlnZ2VyRW1haWwiLCJzaGFyZU1ldGFkYXRhIiwiX2FkYXB0U2hhcmVNZXRhZGF0YSIsIl90cmlnZ2VyU2hhcmVUb0phbSIsIl9zYXZlQXNUaWxlIiwic291cmNlIiwiaW50ZXJuYWxBZGRCb29rbWFya0J1dHRvbiIsImdldERlcGVuZGVudHMiLCJzZXRUaXRsZSIsInNldFN1YnRpdGxlIiwic2V0VGlsZUljb24iLCJzZXRDdXN0b21VcmwiLCJzZXRTZXJ2aWNlVXJsIiwic2V0RGF0YVNvdXJjZSIsInR5cGUiLCJvZGF0YVZlcnNpb24iLCJmaXJlUHJlc3MiLCJDb250cm9sbGVyRXh0ZW5zaW9uIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTaGFyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBPYmplY3RQYXRoIGZyb20gXCJzYXAvYmFzZS91dGlsL09iamVjdFBhdGhcIjtcbmltcG9ydCBleHRlbmQgZnJvbSBcInNhcC9iYXNlL3V0aWwvZXh0ZW5kXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXh0ZW5zaWJsZSwgZmluYWxFeHRlbnNpb24sIG1ldGhvZE92ZXJyaWRlLCBwdWJsaWNFeHRlbnNpb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSBBY3Rpb25TaGVldCBmcm9tIFwic2FwL20vQWN0aW9uU2hlZXRcIjtcbmltcG9ydCB0eXBlIERpYWxvZyBmcm9tIFwic2FwL20vRGlhbG9nXCI7XG5pbXBvcnQgbGlicmFyeSBmcm9tIFwic2FwL20vbGlicmFyeVwiO1xuaW1wb3J0IHR5cGUgeyAkQ29tcG9uZW50U2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5pbXBvcnQgRnJhZ21lbnQgZnJvbSBcInNhcC91aS9jb3JlL0ZyYWdtZW50XCI7XG5pbXBvcnQgdHlwZSBJdGVtIGZyb20gXCJzYXAvdWkvY29yZS9JdGVtXCI7XG5pbXBvcnQgTGlicmFyeSBmcm9tIFwic2FwL3VpL2NvcmUvTGliXCI7XG5pbXBvcnQgWE1MVGVtcGxhdGVQcm9jZXNzb3IgZnJvbSBcInNhcC91aS9jb3JlL1hNTFRlbXBsYXRlUHJvY2Vzc29yXCI7XG5pbXBvcnQgQ29udHJvbGxlckV4dGVuc2lvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJFeHRlbnNpb25cIjtcbmltcG9ydCBPdmVycmlkZUV4ZWN1dGlvbiBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL092ZXJyaWRlRXhlY3V0aW9uXCI7XG5pbXBvcnQgSGFzaENoYW5nZXIgZnJvbSBcInNhcC91aS9jb3JlL3JvdXRpbmcvSGFzaENoYW5nZXJcIjtcbmltcG9ydCBYTUxQcmVwcm9jZXNzb3IgZnJvbSBcInNhcC91aS9jb3JlL3V0aWwvWE1MUHJlcHJvY2Vzc29yXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIEFkZEJvb2ttYXJrQnV0dG9uIGZyb20gXCJzYXAvdXNoZWxsL3VpL2Zvb3RlcmJhci9BZGRCb29rbWFya0J1dHRvblwiO1xuaW1wb3J0IHR5cGUgeyBJQWRhcHRpdmVDYXJkIH0gZnJvbSBcInR5cGVzL2FkYXB0aXZlQ2FyZF90eXBlc1wiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcIi4uL1BhZ2VDb250cm9sbGVyXCI7XG5cbmxldCBvTGFzdEZvY3VzZWRDb250cm9sOiBDb250cm9sO1xuXG5leHBvcnQgdHlwZSBTaGFyZU1ldGFkYXRhID0ge1xuXHR1cmw6IHN0cmluZztcblx0dGl0bGU6IHN0cmluZztcblx0ZW1haWw6IHsgdXJsOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfTtcblx0amFtOiB7IHVybD86IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9O1xuXHR0aWxlOiB7IHVybD86IHN0cmluZzsgdGl0bGU6IHN0cmluZzsgc3VidGl0bGU6IHN0cmluZzsgaWNvbj86IHN0cmluZzsgcXVlcnlVcmw/OiBzdHJpbmcgfTtcbn07XG5cbi8qKlxuICogQSBjb250cm9sbGVyIGV4dGVuc2lvbiBvZmZlcmluZyBob29rcyBpbnRvIHRoZSByb3V0aW5nIGZsb3cgb2YgdGhlIGFwcGxpY2F0aW9uXG4gKlxuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQHB1YmxpY1xuICogQHNpbmNlIDEuODYuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5jb250cm9sbGVyZXh0ZW5zaW9ucy5TaGFyZVwiKVxuY2xhc3MgU2hhcmVVdGlscyBleHRlbmRzIENvbnRyb2xsZXJFeHRlbnNpb24ge1xuXHRwcm90ZWN0ZWQgYmFzZSE6IFBhZ2VDb250cm9sbGVyO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRAbWV0aG9kT3ZlcnJpZGUoKVxuXHRvbkluaXQoKTogdm9pZCB7XG5cdFx0Y29uc3Qgc2hhcmVJbmZvTW9kZWw6IEpTT05Nb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0c2F2ZUFzVGlsZUNsaWNrZWQ6IGZhbHNlLFxuXHRcdFx0Y29sbGFib3JhdGlvbkluZm86IHtcblx0XHRcdFx0dXJsOiBcIlwiLFxuXHRcdFx0XHRhcHBUaXRsZTogXCJcIixcblx0XHRcdFx0c3ViVGl0bGU6IFwiXCIsXG5cdFx0XHRcdG1pbmlmeVVybEZvckNoYXQ6IHRydWUsXG5cdFx0XHRcdGFwcElkOiBcIlwiXG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0dGhpcy5iYXNlLmdldFZpZXcoKS5zZXRNb2RlbChzaGFyZUluZm9Nb2RlbCwgXCJzaGFyZUluZm9cIik7XG5cdH1cblxuXHRAbWV0aG9kT3ZlcnJpZGUoKVxuXHRvbkV4aXQoKTogdm9pZCB7XG5cdFx0Y29uc3Qgc2hhcmVJbmZvTW9kZWwgPSB0aGlzLmJhc2U/LmdldFZpZXcoKT8uZ2V0TW9kZWwoXCJzaGFyZUluZm9cIikgYXMgSlNPTk1vZGVsIHwgdW5kZWZpbmVkO1xuXHRcdGlmIChzaGFyZUluZm9Nb2RlbCkge1xuXHRcdFx0c2hhcmVJbmZvTW9kZWwuZGVzdHJveSgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBPcGVucyB0aGUgc2hhcmUgc2hlZXQuXG5cdCAqXG5cdCAqIEBwYXJhbSBvQ29udHJvbCBUaGUgY29udHJvbCB0byB3aGljaCB0aGUgQWN0aW9uU2hlZXQgaXMgb3BlbmVkLlxuXHQgKiBAcHVibGljXG5cdCAqIEBzaW5jZSAxLjkzLjBcblx0ICovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZmluYWxFeHRlbnNpb24oKVxuXHRvcGVuU2hhcmVTaGVldChvQ29udHJvbDogQ29udHJvbCk6IHZvaWQge1xuXHRcdHRoaXMuX29wZW5TaGFyZVNoZWV0SW1wbChvQ29udHJvbCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGFkYXB0aXZlIGNhcmQgZGVmaW5pdGlvbi5cblx0ICovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZXh0ZW5zaWJsZShcIkFmdGVyQXN5bmNcIilcblx0YXN5bmMgZ2V0Q2FyZERlZmluaXRpb24oKTogUHJvbWlzZTxJQWRhcHRpdmVDYXJkIHwgdW5kZWZpbmVkPiB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkYXB0cyB0aGUgbWV0YWRhdGEgdXNlZCB3aGlsZSBzaGFyaW5nIHRoZSBwYWdlIFVSTCB2aWEgJ1NlbmQgRW1haWwnLCAnU2hhcmUgaW4gU0FQIEphbScsIGFuZCAnU2F2ZSBhcyBUaWxlJy5cblx0ICpcblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhIE9iamVjdCBjb250YWluaW5nIHRoZSBzaGFyZSBtZXRhZGF0YS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLnVybCBEZWZhdWx0IFVSTCB0aGF0IHdpbGwgYmUgdXNlZCB2aWEgJ1NlbmQgRW1haWwnLCAnU2hhcmUgaW4gU0FQIEphbScsIGFuZCAnU2F2ZSBhcyBUaWxlJ1xuXHQgKiBAcGFyYW0gb1NoYXJlTWV0YWRhdGEudGl0bGUgRGVmYXVsdCB0aXRsZSB0aGF0IHdpbGwgYmUgdXNlZCBhcyAnZW1haWwgc3ViamVjdCcgaW4gJ1NlbmQgRW1haWwnLCAnc2hhcmUgdGV4dCcgaW4gJ1NoYXJlIGluIFNBUCBKYW0nIGFuZCAndGl0bGUnIGluICdTYXZlIGFzIFRpbGUnXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS5lbWFpbCBFbWFpbC1zcGVjaWZpYyBtZXRhZGF0YS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLmVtYWlsLnVybCBVUkwgdGhhdCB3aWxsIGJlIHVzZWQgc3BlY2lmaWNhbGx5IGZvciAnU2VuZCBFbWFpbCcuIFRoaXMgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIG9TaGFyZU1ldGFkYXRhLnVybC5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLmVtYWlsLnRpdGxlIFRpdGxlIHRoYXQgd2lsbCBiZSB1c2VkIGFzIFwiZW1haWwgc3ViamVjdFwiIGluICdTZW5kIEVtYWlsJy4gVGhpcyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgb1NoYXJlTWV0YWRhdGEudGl0bGUuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS5qYW0gU0FQIEphbS1zcGVjaWZpYyBtZXRhZGF0YS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLmphbS51cmwgVVJMIHRoYXQgd2lsbCBiZSB1c2VkIHNwZWNpZmljYWxseSBmb3IgJ1NoYXJlIGluIFNBUCBKYW0nLiBUaGlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBvU2hhcmVNZXRhZGF0YS51cmwuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS5qYW0udGl0bGUgVGl0bGUgdGhhdCB3aWxsIGJlIHVzZWQgYXMgJ3NoYXJlIHRleHQnIGluICdTaGFyZSBpbiBTQVAgSmFtJy4gVGhpcyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgb1NoYXJlTWV0YWRhdGEudGl0bGUuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS50aWxlIFNhdmUgYXMgVGlsZS1zcGVjaWZpYyBtZXRhZGF0YS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLnRpbGUudXJsIFVSTCB0aGF0IHdpbGwgYmUgdXNlZCBzcGVjaWZpY2FsbHkgZm9yICdTYXZlIGFzIFRpbGUnLiBUaGlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBvU2hhcmVNZXRhZGF0YS51cmwuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS50aWxlLnRpdGxlIFRpdGxlIHRvIGJlIHVzZWQgZm9yIHRoZSB0aWxlLiBUaGlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBvU2hhcmVNZXRhZGF0YS50aXRsZS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLnRpbGUuc3VidGl0bGUgU3VidGl0bGUgdG8gYmUgdXNlZCBmb3IgdGhlIHRpbGUuXG5cdCAqIEBwYXJhbSBvU2hhcmVNZXRhZGF0YS50aWxlLmljb24gSWNvbiB0byBiZSB1c2VkIGZvciB0aGUgdGlsZS5cblx0ICogQHBhcmFtIG9TaGFyZU1ldGFkYXRhLnRpbGUucXVlcnlVcmwgUXVlcnkgVVJMIG9mIGFuIE9EYXRhIHNlcnZpY2UgZnJvbSB3aGljaCBkYXRhIGZvciBhIGR5bmFtaWMgdGlsZSBpcyByZWFkLlxuXHQgKiBAcmV0dXJucyBTaGFyZSBNZXRhZGF0YSBvciBhIFByb21pc2UgcmVzb2x2aW5nIHRoZSBTaGFyZSBNZXRhZGF0YVxuXHQgKiBAcHVibGljXG5cdCAqIEBzaW5jZSAxLjkzLjBcblx0ICovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZXh0ZW5zaWJsZShPdmVycmlkZUV4ZWN1dGlvbi5BZnRlcilcblx0YWRhcHRTaGFyZU1ldGFkYXRhKG9TaGFyZU1ldGFkYXRhOiB7XG5cdFx0dXJsOiBzdHJpbmc7XG5cdFx0dGl0bGU6IHN0cmluZztcblx0XHRlbWFpbDogeyB1cmw6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9O1xuXHRcdGphbTogeyB1cmw/OiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfTtcblx0XHR0aWxlOiB7IHVybD86IHN0cmluZzsgdGl0bGU6IHN0cmluZzsgc3VidGl0bGU6IHN0cmluZzsgaWNvbj86IHN0cmluZzsgcXVlcnlVcmw/OiBzdHJpbmcgfTtcblx0fSk6IFNoYXJlTWV0YWRhdGEgfCBQcm9taXNlPFNoYXJlTWV0YWRhdGE+IHtcblx0XHRyZXR1cm4gb1NoYXJlTWV0YWRhdGE7XG5cdH1cblxuXHRhc3luYyBfb3BlblNoYXJlU2hlZXRJbXBsKGJ5OiBDb250cm9sICYgeyBzaGFyZVNoZWV0PzogQWN0aW9uU2hlZXQgfSk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGxldCBvU2hhcmVBY3Rpb25TaGVldDogQWN0aW9uU2hlZXQ7XG5cdFx0Y29uc3QgaGFzaENoYW5nZXJJbnN0YW5jZSA9IEhhc2hDaGFuZ2VyLmdldEluc3RhbmNlKCk7XG5cdFx0Y29uc3Qgc0hhc2ggPSBoYXNoQ2hhbmdlckluc3RhbmNlLmdldEhhc2goKTtcblx0XHRjb25zdCBzQmFzZVBhdGggPSBoYXNoQ2hhbmdlckluc3RhbmNlLmhyZWZGb3JBcHBTcGVjaWZpY0hhc2ggPyBoYXNoQ2hhbmdlckluc3RhbmNlLmhyZWZGb3JBcHBTcGVjaWZpY0hhc2goXCJcIikgOiBcIlwiO1xuXHRcdGNvbnN0IG9TaGFyZU1ldGFkYXRhID0ge1xuXHRcdFx0dXJsOlxuXHRcdFx0XHR3aW5kb3cubG9jYXRpb24ub3JpZ2luICtcblx0XHRcdFx0d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lICtcblx0XHRcdFx0d2luZG93LmxvY2F0aW9uLnNlYXJjaCArXG5cdFx0XHRcdChzSGFzaCA/IHNCYXNlUGF0aCArIHNIYXNoIDogd2luZG93LmxvY2F0aW9uLmhhc2gpLFxuXHRcdFx0dGl0bGU6IHRoaXMuYmFzZS5nZXRBcHBDb21wb25lbnQoKT8uZ2V0U2hlbGxTZXJ2aWNlcygpPy5nZXRUaXRsZSgpLFxuXHRcdFx0ZW1haWw6IHtcblx0XHRcdFx0dXJsOiBcIlwiLFxuXHRcdFx0XHR0aXRsZTogXCJcIlxuXHRcdFx0fSxcblx0XHRcdGphbToge1xuXHRcdFx0XHR1cmw6IFwiXCIsXG5cdFx0XHRcdHRpdGxlOiBcIlwiXG5cdFx0XHR9LFxuXHRcdFx0dGlsZToge1xuXHRcdFx0XHR1cmw6IFwiXCIsXG5cdFx0XHRcdHRpdGxlOiBcIlwiLFxuXHRcdFx0XHRzdWJ0aXRsZTogXCJcIixcblx0XHRcdFx0aWNvbjogXCJcIixcblx0XHRcdFx0cXVlcnlVcmw6IFwiXCJcblx0XHRcdH1cblx0XHR9O1xuXHRcdG9MYXN0Rm9jdXNlZENvbnRyb2wgPSBieTtcblxuXHRcdGNvbnN0IHNldFNoYXJlRW1haWxEYXRhID0gZnVuY3Rpb24gKHNoYXJlQWN0aW9uU2hlZXQ6IEFjdGlvblNoZWV0LCBvTW9kZWxEYXRhOiBvYmplY3QpOiB2b2lkIHtcblx0XHRcdGNvbnN0IG9TaGFyZU1haWxNb2RlbCA9IHNoYXJlQWN0aW9uU2hlZXQuZ2V0TW9kZWwoXCJzaGFyZURhdGFcIikgYXMgSlNPTk1vZGVsO1xuXHRcdFx0Y29uc3Qgb05ld01haWxEYXRhID0gZXh0ZW5kKG9TaGFyZU1haWxNb2RlbC5nZXREYXRhKCksIG9Nb2RlbERhdGEpO1xuXHRcdFx0b1NoYXJlTWFpbE1vZGVsLnNldERhdGEob05ld01haWxEYXRhKTtcblx0XHR9O1xuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IG9Nb2RlbERhdGE6IFNoYXJlTWV0YWRhdGEgPSBhd2FpdCB0aGlzLmJhc2UuZ2V0VmlldygpLmdldENvbnRyb2xsZXIoKT8uc2hhcmU/LmFkYXB0U2hhcmVNZXRhZGF0YShvU2hhcmVNZXRhZGF0YSk7XG5cdFx0XHRjb25zdCBmcmFnbWVudENvbnRyb2xsZXI6IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPiA9IHtcblx0XHRcdFx0c2hhcmVFbWFpbFByZXNzZWQ6IGZ1bmN0aW9uICgpOiB2b2lkIHtcblx0XHRcdFx0XHRjb25zdCBvTWFpbE1vZGVsID0gb1NoYXJlQWN0aW9uU2hlZXQuZ2V0TW9kZWwoXCJzaGFyZURhdGFcIikgYXMgSlNPTk1vZGVsO1xuXHRcdFx0XHRcdGNvbnN0IG9NYWlsRGF0YSA9IG9NYWlsTW9kZWwuZ2V0RGF0YSgpO1xuXHRcdFx0XHRcdGNvbnN0IG9SZXNvdXJjZSA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSE7XG5cdFx0XHRcdFx0Y29uc3Qgc0VtYWlsU3ViamVjdCA9IG9NYWlsRGF0YS5lbWFpbC50aXRsZVxuXHRcdFx0XHRcdFx0PyBvTWFpbERhdGEuZW1haWwudGl0bGVcblx0XHRcdFx0XHRcdDogb1Jlc291cmNlLmdldFRleHQoXCJUX1NIQVJFX1VUSUxfSEVMUEVSX1NBUEZFX0VNQUlMX1NVQkpFQ1RcIiwgW29NYWlsRGF0YS50aXRsZV0pO1xuXHRcdFx0XHRcdGxpYnJhcnkuVVJMSGVscGVyLnRyaWdnZXJFbWFpbCh1bmRlZmluZWQsIHNFbWFpbFN1YmplY3QsIG9NYWlsRGF0YS5lbWFpbC51cmwgPyBvTWFpbERhdGEuZW1haWwudXJsIDogb01haWxEYXRhLnVybCk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHNoYXJlTVNUZWFtc1ByZXNzZWQ6IGZ1bmN0aW9uICgpOiB2b2lkIHtcblx0XHRcdFx0XHRjb25zdCBtc1RlYW1zTW9kZWwgPSBvU2hhcmVBY3Rpb25TaGVldC5nZXRNb2RlbChcInNoYXJlRGF0YVwiKSBhcyBKU09OTW9kZWw7XG5cdFx0XHRcdFx0Y29uc3QgbXNUZWFtc0RhdGEgPSBtc1RlYW1zTW9kZWwuZ2V0RGF0YSgpO1xuXHRcdFx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBtc1RlYW1zRGF0YS5lbWFpbC50aXRsZSA/IG1zVGVhbXNEYXRhLmVtYWlsLnRpdGxlIDogbXNUZWFtc0RhdGEudGl0bGU7XG5cdFx0XHRcdFx0Y29uc3QgdXJsID0gbXNUZWFtc0RhdGEuZW1haWwudXJsID8gbXNUZWFtc0RhdGEuZW1haWwudXJsIDogbXNUZWFtc0RhdGEudXJsO1xuXHRcdFx0XHRcdGNvbnN0IG5ld1dpbmRvd09wZW4gPSB3aW5kb3cub3BlbihcIlwiLCBcIm1zLXRlYW1zLXNoYXJlLXBvcHVwXCIsIFwid2lkdGg9NzAwLGhlaWdodD02MDBcIik7XG5cdFx0XHRcdFx0bmV3V2luZG93T3BlbiEub3BlbmVyID0gbnVsbDtcblx0XHRcdFx0XHRuZXdXaW5kb3dPcGVuIS5sb2NhdGlvbiA9IGBodHRwczovL3RlYW1zLm1pY3Jvc29mdC5jb20vc2hhcmU/bXNnVGV4dD0ke2VuY29kZVVSSUNvbXBvbmVudChcblx0XHRcdFx0XHRcdG1lc3NhZ2Vcblx0XHRcdFx0XHQpfSZocmVmPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVybCl9YDtcblx0XHRcdFx0fSxcblx0XHRcdFx0b25TYXZlVGlsZVByZXNzOiBmdW5jdGlvbiAoKTogdm9pZCB7XG5cdFx0XHRcdFx0Ly8gVE9ETyBpdCBzZWVtcyB0aGF0IHRoZSBwcmVzcyBldmVudCBpcyBleGVjdXRlZCBiZWZvcmUgdGhlIGRpYWxvZyBpcyBhdmFpbGFibGUgLSBhZGRpbmcgYSB0aW1lb3V0IGlzIGEgY2hlYXAgd29ya2Fyb3VuZFxuXHRcdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0KEVsZW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJib29rbWFya0RpYWxvZ1wiKSBhcyBEaWFsb2cgfCB1bmRlZmluZWQpPy5hdHRhY2hBZnRlckNsb3NlKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdFx0b0xhc3RGb2N1c2VkQ29udHJvbC5mb2N1cygpO1xuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSwgMCk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHNoYXJlSmFtUHJlc3NlZDogYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuXHRcdFx0XHRcdGF3YWl0IHRoaXMuX2RvT3BlbkphbVNoYXJlRGlhbG9nKFxuXHRcdFx0XHRcdFx0b01vZGVsRGF0YT8uamFtPy50aXRsZSA/IG9Nb2RlbERhdGEuamFtLnRpdGxlIDogb01vZGVsRGF0YS50aXRsZSxcblx0XHRcdFx0XHRcdG9Nb2RlbERhdGE/LmphbT8udXJsID8gb01vZGVsRGF0YS5qYW0udXJsIDogb01vZGVsRGF0YS51cmxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0XHRmcmFnbWVudENvbnRyb2xsZXIub25DYW5jZWxQcmVzc2VkID0gZnVuY3Rpb24gKCk6IHZvaWQge1xuXHRcdFx0XHRvU2hhcmVBY3Rpb25TaGVldC5jbG9zZSgpO1xuXHRcdFx0fTtcblxuXHRcdFx0ZnJhZ21lbnRDb250cm9sbGVyLnNldFNoYXJlU2hlZXQgPSBmdW5jdGlvbiAob1NoYXJlU2hlZXQ6IEFjdGlvblNoZWV0KTogdm9pZCB7XG5cdFx0XHRcdGJ5LnNoYXJlU2hlZXQgPSBvU2hhcmVTaGVldDtcblx0XHRcdH07XG5cblx0XHRcdGNvbnN0IG9UaGlzID0gbmV3IEpTT05Nb2RlbCh7fSk7XG5cdFx0XHRjb25zdCBvUHJlcHJvY2Vzc29yU2V0dGluZ3MgPSB7XG5cdFx0XHRcdGJpbmRpbmdDb250ZXh0czoge1xuXHRcdFx0XHRcdHRoaXM6IG9UaGlzLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL1wiKVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRtb2RlbHM6IHtcblx0XHRcdFx0XHR0aGlzOiBvVGhpc1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdFx0Y29uc3Qgb1RpbGVEYXRhID0ge1xuXHRcdFx0XHR0aXRsZTogb01vZGVsRGF0YT8udGlsZT8udGl0bGUgPyBvTW9kZWxEYXRhLnRpbGUudGl0bGUgOiBvTW9kZWxEYXRhLnRpdGxlLFxuXHRcdFx0XHRzdWJ0aXRsZTogb01vZGVsRGF0YT8udGlsZT8uc3VidGl0bGUsXG5cdFx0XHRcdGljb246IG9Nb2RlbERhdGE/LnRpbGU/Lmljb24sXG5cdFx0XHRcdHVybDogb01vZGVsRGF0YT8udGlsZT8udXJsID8gb01vZGVsRGF0YS50aWxlLnVybCA6IG9Nb2RlbERhdGEudXJsLnN1YnN0cmluZyhvTW9kZWxEYXRhLnVybC5pbmRleE9mKFwiI1wiKSksXG5cdFx0XHRcdHF1ZXJ5VXJsOiBvTW9kZWxEYXRhPy50aWxlPy5xdWVyeVVybFxuXHRcdFx0fTtcblx0XHRcdGlmIChieS5zaGFyZVNoZWV0KSB7XG5cdFx0XHRcdG9TaGFyZUFjdGlvblNoZWV0ID0gYnkuc2hhcmVTaGVldDtcblxuXHRcdFx0XHRjb25zdCBvU2hhcmVNb2RlbCA9IG9TaGFyZUFjdGlvblNoZWV0LmdldE1vZGVsKFwic2hhcmVcIikgYXMgSlNPTk1vZGVsO1xuXHRcdFx0XHR0aGlzLl9zZXRTdGF0aWNTaGFyZURhdGEob1NoYXJlTW9kZWwpO1xuXHRcdFx0XHRjb25zdCBvTmV3RGF0YSA9IGV4dGVuZChvU2hhcmVNb2RlbC5nZXREYXRhKCksIG9UaWxlRGF0YSk7XG5cdFx0XHRcdG9TaGFyZU1vZGVsLnNldERhdGEob05ld0RhdGEpO1xuXHRcdFx0XHRzZXRTaGFyZUVtYWlsRGF0YShvU2hhcmVBY3Rpb25TaGVldCwgb01vZGVsRGF0YSk7XG5cdFx0XHRcdG9TaGFyZUFjdGlvblNoZWV0Lm9wZW5CeShieSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25zdCBzRnJhZ21lbnROYW1lID0gXCJzYXAuZmUubWFjcm9zLnNoYXJlLlNoYXJlU2hlZXRcIjtcblx0XHRcdFx0Y29uc3Qgb1BvcG92ZXJGcmFnbWVudCA9IFhNTFRlbXBsYXRlUHJvY2Vzc29yLmxvYWRUZW1wbGF0ZShzRnJhZ21lbnROYW1lLCBcImZyYWdtZW50XCIpO1xuXG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Y29uc3Qgb0ZyYWdtZW50ID0gYXdhaXQgWE1MUHJlcHJvY2Vzc29yLnByb2Nlc3Mob1BvcG92ZXJGcmFnbWVudCwgeyBuYW1lOiBzRnJhZ21lbnROYW1lIH0sIG9QcmVwcm9jZXNzb3JTZXR0aW5ncyk7XG5cdFx0XHRcdFx0b1NoYXJlQWN0aW9uU2hlZXQgPSAoYXdhaXQgRnJhZ21lbnQubG9hZCh7XG5cdFx0XHRcdFx0XHRkZWZpbml0aW9uOiBvRnJhZ21lbnQgYXMgdW5rbm93biBhcyBzdHJpbmcsXG5cdFx0XHRcdFx0XHRjb250cm9sbGVyOiBmcmFnbWVudENvbnRyb2xsZXJcblx0XHRcdFx0XHR9KSkgYXMgQWN0aW9uU2hlZXQ7XG5cblx0XHRcdFx0XHRvU2hhcmVBY3Rpb25TaGVldC5zZXRNb2RlbChuZXcgSlNPTk1vZGVsKG9UaWxlRGF0YSB8fCB7fSksIFwic2hhcmVcIik7XG5cdFx0XHRcdFx0Y29uc3Qgb1NoYXJlTW9kZWwgPSBvU2hhcmVBY3Rpb25TaGVldC5nZXRNb2RlbChcInNoYXJlXCIpIGFzIEpTT05Nb2RlbDtcblx0XHRcdFx0XHR0aGlzLl9zZXRTdGF0aWNTaGFyZURhdGEob1NoYXJlTW9kZWwpO1xuXHRcdFx0XHRcdGNvbnN0IG9OZXdEYXRhID0gZXh0ZW5kKG9TaGFyZU1vZGVsLmdldERhdGEoKSwgb1RpbGVEYXRhKTtcblx0XHRcdFx0XHRvU2hhcmVNb2RlbC5zZXREYXRhKG9OZXdEYXRhKTtcblxuXHRcdFx0XHRcdG9TaGFyZUFjdGlvblNoZWV0LnNldE1vZGVsKG5ldyBKU09OTW9kZWwob01vZGVsRGF0YSB8fCB7fSksIFwic2hhcmVEYXRhXCIpO1xuXHRcdFx0XHRcdHNldFNoYXJlRW1haWxEYXRhKG9TaGFyZUFjdGlvblNoZWV0LCBvTW9kZWxEYXRhKTtcblxuXHRcdFx0XHRcdGJ5LmFkZERlcGVuZGVudChvU2hhcmVBY3Rpb25TaGVldCk7XG5cdFx0XHRcdFx0b1NoYXJlQWN0aW9uU2hlZXQub3BlbkJ5KGJ5KTtcblx0XHRcdFx0XHRmcmFnbWVudENvbnRyb2xsZXIuc2V0U2hhcmVTaGVldChvU2hhcmVBY3Rpb25TaGVldCk7XG5cdFx0XHRcdH0gY2F0Y2ggKG9FcnJvcjogdW5rbm93bikge1xuXHRcdFx0XHRcdExvZy5lcnJvcihcIkVycm9yIHdoaWxlIG9wZW5pbmcgdGhlIHNoYXJlIGZyYWdtZW50XCIsIG9FcnJvciBhcyBzdHJpbmcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAob0Vycm9yOiB1bmtub3duKSB7XG5cdFx0XHRMb2cuZXJyb3IoXCJFcnJvciB3aGlsZSBmZXRjaGluZyB0aGUgc2hhcmUgbW9kZWwgZGF0YVwiLCBvRXJyb3IgYXMgc3RyaW5nKTtcblx0XHR9XG5cdH1cblxuXHRfc2V0U3RhdGljU2hhcmVEYXRhKHNoYXJlTW9kZWw6IEpTT05Nb2RlbCk6IHZvaWQge1xuXHRcdGNvbnN0IG9SZXNvdXJjZSA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSE7XG5cdFx0c2hhcmVNb2RlbC5zZXRQcm9wZXJ0eShcIi9qYW1CdXR0b25UZXh0XCIsIG9SZXNvdXJjZS5nZXRUZXh0KFwiVF9DT01NT05fU0FQRkVfU0hBUkVfSkFNXCIpKTtcblx0XHRzaGFyZU1vZGVsLnNldFByb3BlcnR5KFwiL2VtYWlsQnV0dG9uVGV4dFwiLCBvUmVzb3VyY2UuZ2V0VGV4dChcIlRfU0VNQU5USUNfQ09OVFJPTF9TRU5EX0VNQUlMXCIpKTtcblx0XHRzaGFyZU1vZGVsLnNldFByb3BlcnR5KFwiL21zVGVhbXNTaGFyZUJ1dHRvblRleHRcIiwgb1Jlc291cmNlLmdldFRleHQoXCJUX0NPTU1PTl9TQVBGRV9TSEFSRV9NU1RFQU1TXCIpKTtcblx0XHQvLyBTaGFyZSB0byBNaWNyb3NvZnQgVGVhbXMgaXMgZmVhdHVyZSB3aGljaCBmb3Igbm93IG9ubHkgZ2V0cyBlbmFibGVkIGZvciBzZWxlY3RlZCBjdXN0b21lcnMuXG5cdFx0Ly8gVGhlIHN3aXRjaCBcInNhcEhvcml6b25FbmFibGVkXCIgYW5kIGNoZWNrIGZvciBpdCB3YXMgYWxpZ25lZCB3aXRoIHRoZSBGaW9yaSBsYXVuY2hwYWQgdGVhbS5cblx0XHRpZiAoT2JqZWN0UGF0aC5nZXQoXCJzYXAtdXNoZWxsLWNvbmZpZy5yZW5kZXJlcnMuZmlvcmkyLmNvbXBvbmVudERhdGEuY29uZmlnLnNhcEhvcml6b25FbmFibGVkXCIpID09PSB0cnVlKSB7XG5cdFx0XHRzaGFyZU1vZGVsLnNldFByb3BlcnR5KFwiL21zVGVhbXNWaXNpYmxlXCIsIHRydWUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzaGFyZU1vZGVsLnNldFByb3BlcnR5KFwiL21zVGVhbXNWaXNpYmxlXCIsIGZhbHNlKTtcblx0XHR9XG5cdFx0Y29uc3QgZm5HZXRVc2VyID0gT2JqZWN0UGF0aC5nZXQoXCJzYXAudXNoZWxsLkNvbnRhaW5lci5nZXRVc2VyXCIpO1xuXHRcdHNoYXJlTW9kZWwuc2V0UHJvcGVydHkoXCIvamFtVmlzaWJsZVwiLCAhIWZuR2V0VXNlciAmJiBmbkdldFVzZXIoKS5pc0phbUFjdGl2ZSgpKTtcblx0XHRzaGFyZU1vZGVsLnNldFByb3BlcnR5KFwiL3NhdmVBc1RpbGVWaXNpYmxlXCIsICEhc2FwLnVpLnJlcXVpcmUoXCJzYXAvdXNoZWxsL0NvbnRhaW5lclwiKSk7XG5cdH1cblxuXHQvL3RoZSBhY3R1YWwgb3BlbmluZyBvZiB0aGUgSkFNIHNoYXJlIGRpYWxvZ1xuXHRhc3luYyBfZG9PcGVuSmFtU2hhcmVEaWFsb2codGV4dDogc3RyaW5nLCBzVXJsPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3Qgb1NoYXJlRGlhbG9nID0gYXdhaXQgQ29tcG9uZW50LmNyZWF0ZSh7XG5cdFx0XHRuYW1lOiBcInNhcC5jb2xsYWJvcmF0aW9uLmNvbXBvbmVudHMuZmlvcmkuc2hhcmluZy5kaWFsb2dcIixcblx0XHRcdHNldHRpbmdzOiB7XG5cdFx0XHRcdG9iamVjdDoge1xuXHRcdFx0XHRcdGlkOiBzVXJsLFxuXHRcdFx0XHRcdHNoYXJlOiB0ZXh0XG5cdFx0XHRcdH1cblx0XHRcdH0gYXMgJENvbXBvbmVudFNldHRpbmdzXG5cdFx0fSk7XG5cdFx0KG9TaGFyZURpYWxvZyBhcyB1bmtub3duIGFzIHsgb3BlbjogRnVuY3Rpb24gfSkub3BlbigpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRyaWdnZXJzIHRoZSBlbWFpbCBmbG93LlxuXHQgKlxuXHQgKi9cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdEBmaW5hbEV4dGVuc2lvbigpXG5cdGFzeW5jIF90cmlnZ2VyRW1haWwoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3Qgc2hhcmVNZXRhZGF0YTogU2hhcmVNZXRhZGF0YSA9IGF3YWl0IHRoaXMuX2FkYXB0U2hhcmVNZXRhZGF0YSgpO1xuXHRcdGNvbnN0IG9SZXNvdXJjZSA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUuY29yZVwiKSE7XG5cdFx0Y29uc3Qgc0VtYWlsU3ViamVjdCA9IHNoYXJlTWV0YWRhdGEuZW1haWwudGl0bGVcblx0XHRcdD8gc2hhcmVNZXRhZGF0YS5lbWFpbC50aXRsZVxuXHRcdFx0OiBvUmVzb3VyY2UuZ2V0VGV4dChcIlRfU0hBUkVfVVRJTF9IRUxQRVJfU0FQRkVfRU1BSUxfU1VCSkVDVFwiLCBbc2hhcmVNZXRhZGF0YS50aXRsZV0pO1xuXHRcdGxpYnJhcnkuVVJMSGVscGVyLnRyaWdnZXJFbWFpbCh1bmRlZmluZWQsIHNFbWFpbFN1YmplY3QsIHNoYXJlTWV0YWRhdGEuZW1haWwudXJsID8gc2hhcmVNZXRhZGF0YS5lbWFpbC51cmwgOiBzaGFyZU1ldGFkYXRhLnVybCk7XG5cdH1cblxuXHQvKipcblx0ICogVHJpZ2dlcnMgdGhlIHNoYXJlIHRvIGphbSBmbG93LlxuXHQgKlxuXHQgKi9cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdEBmaW5hbEV4dGVuc2lvbigpXG5cdGFzeW5jIF90cmlnZ2VyU2hhcmVUb0phbSgpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBzaGFyZU1ldGFkYXRhOiBTaGFyZU1ldGFkYXRhID0gYXdhaXQgdGhpcy5fYWRhcHRTaGFyZU1ldGFkYXRhKCk7XG5cdFx0YXdhaXQgdGhpcy5fZG9PcGVuSmFtU2hhcmVEaWFsb2coXG5cdFx0XHRzaGFyZU1ldGFkYXRhLmphbS50aXRsZSA/IHNoYXJlTWV0YWRhdGEuamFtLnRpdGxlIDogc2hhcmVNZXRhZGF0YS50aXRsZSxcblx0XHRcdHNoYXJlTWV0YWRhdGEuamFtLnVybCA/IHNoYXJlTWV0YWRhdGEuamFtLnVybCA6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyBzaGFyZU1ldGFkYXRhLnVybFxuXHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogVHJpZ2dlcnMgdGhlIHNhdmUgYXMgdGlsZSBmbG93LlxuXHQgKlxuXHQgKiBAcGFyYW0gW3NvdXJjZV1cblx0ICovXG5cdEBwdWJsaWNFeHRlbnNpb24oKVxuXHRAZmluYWxFeHRlbnNpb24oKVxuXHRhc3luYyBfc2F2ZUFzVGlsZShzb3VyY2U6IEl0ZW0pOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBzaGFyZUluZm9Nb2RlbCA9IHRoaXMuYmFzZT8uZ2V0VmlldygpPy5nZXRNb2RlbChcInNoYXJlSW5mb1wiKSBhcyBKU09OTW9kZWwgfCB1bmRlZmluZWQ7XG5cdFx0aWYgKHNoYXJlSW5mb01vZGVsKSB7XG5cdFx0XHQvLyBzZXQgdGhlIHNhdmVBc1RpbGVDbGlja2VkIGZsYWcgdG8gdHJ1ZSB3aGVuIHNhdmUgYXMgdGlsZSBpcyBjbGlja2VkXG5cdFx0XHRzaGFyZUluZm9Nb2RlbC5zZXRQcm9wZXJ0eShcIi9zYXZlQXNUaWxlQ2xpY2tlZFwiLCB0cnVlKTtcblx0XHR9XG5cdFx0Y29uc3Qgc2hhcmVNZXRhZGF0YTogU2hhcmVNZXRhZGF0YSA9IGF3YWl0IHRoaXMuX2FkYXB0U2hhcmVNZXRhZGF0YSgpLFxuXHRcdFx0aW50ZXJuYWxBZGRCb29rbWFya0J1dHRvbiA9IHNvdXJjZS5nZXREZXBlbmRlbnRzKClbMF0gYXMgQWRkQm9va21hcmtCdXR0b24sXG5cdFx0XHRoYXNoQ2hhbmdlckluc3RhbmNlID0gSGFzaENoYW5nZXIuZ2V0SW5zdGFuY2UoKSxcblx0XHRcdHNIYXNoID0gaGFzaENoYW5nZXJJbnN0YW5jZS5nZXRIYXNoKCksXG5cdFx0XHRzQmFzZVBhdGggPSBoYXNoQ2hhbmdlckluc3RhbmNlLmhyZWZGb3JBcHBTcGVjaWZpY0hhc2ggPyBoYXNoQ2hhbmdlckluc3RhbmNlLmhyZWZGb3JBcHBTcGVjaWZpY0hhc2goXCJcIikgOiBcIlwiO1xuXHRcdHNoYXJlTWV0YWRhdGEudXJsID0gc0hhc2ggPyBzQmFzZVBhdGggKyBzSGFzaCA6IHdpbmRvdy5sb2NhdGlvbi5oYXNoO1xuXG5cdFx0Ly8gc2V0IEFkZEJvb2ttYXJrQnV0dG9uIHByb3BlcnRpZXNcblx0XHRpbnRlcm5hbEFkZEJvb2ttYXJrQnV0dG9uLnNldFRpdGxlKHNoYXJlTWV0YWRhdGEudGlsZS50aXRsZSA/IHNoYXJlTWV0YWRhdGEudGlsZS50aXRsZSA6IHNoYXJlTWV0YWRhdGEudGl0bGUpO1xuXHRcdGludGVybmFsQWRkQm9va21hcmtCdXR0b24uc2V0U3VidGl0bGUoc2hhcmVNZXRhZGF0YS50aWxlLnN1YnRpdGxlKTtcblx0XHRpbnRlcm5hbEFkZEJvb2ttYXJrQnV0dG9uLnNldFRpbGVJY29uKHNoYXJlTWV0YWRhdGEudGlsZS5pY29uKTtcblx0XHRpbnRlcm5hbEFkZEJvb2ttYXJrQnV0dG9uLnNldEN1c3RvbVVybChzaGFyZU1ldGFkYXRhLnRpbGUudXJsID8gc2hhcmVNZXRhZGF0YS50aWxlLnVybCA6IHNoYXJlTWV0YWRhdGEudXJsKTtcblx0XHRpbnRlcm5hbEFkZEJvb2ttYXJrQnV0dG9uLnNldFNlcnZpY2VVcmwoc2hhcmVNZXRhZGF0YS50aWxlLnF1ZXJ5VXJsKTtcblx0XHRpbnRlcm5hbEFkZEJvb2ttYXJrQnV0dG9uLnNldERhdGFTb3VyY2Uoe1xuXHRcdFx0dHlwZTogXCJPRGF0YVwiLFxuXHRcdFx0c2V0dGluZ3M6IHtcblx0XHRcdFx0b2RhdGFWZXJzaW9uOiBcIjQuMFwiXG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHQvLyBvbmNlIHRoZSBzZXJ2aWNlIHVybCBpcyByZWFkLCBzZXQgdGhlIHNhdmVBc1RpbGVDbGlja2VkIGZsYWcgdG8gZmFsc2Vcblx0XHRpZiAoc2hhcmVJbmZvTW9kZWwpIHtcblx0XHRcdHNoYXJlSW5mb01vZGVsLnNldFByb3BlcnR5KFwiL3NhdmVBc1RpbGVDbGlja2VkXCIsIGZhbHNlKTtcblx0XHR9XG5cblx0XHQvLyBhZGRCb29rbWFya0J1dHRvbiBmaXJlIHByZXNzXG5cdFx0aW50ZXJuYWxBZGRCb29rbWFya0J1dHRvbi5maXJlUHJlc3MoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsIHRoZSBhZGFwdFNoYXJlTWV0YWRhdGEgZXh0ZW5zaW9uLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBTaGFyZSBNZXRhZGF0YVxuXHQgKi9cblx0QHB1YmxpY0V4dGVuc2lvbigpXG5cdEBmaW5hbEV4dGVuc2lvbigpXG5cdGFzeW5jIF9hZGFwdFNoYXJlTWV0YWRhdGEoKTogUHJvbWlzZTxTaGFyZU1ldGFkYXRhPiB7XG5cdFx0Y29uc3QgaGFzaENoYW5nZXJJbnN0YW5jZSA9IEhhc2hDaGFuZ2VyLmdldEluc3RhbmNlKCk7XG5cdFx0Y29uc3Qgc0hhc2ggPSBlbmNvZGVVUklDb21wb25lbnQoaGFzaENoYW5nZXJJbnN0YW5jZS5nZXRIYXNoKCkpO1xuXHRcdGNvbnN0IHNCYXNlUGF0aCA9IGhhc2hDaGFuZ2VySW5zdGFuY2UuaHJlZkZvckFwcFNwZWNpZmljSGFzaCA/IGhhc2hDaGFuZ2VySW5zdGFuY2UuaHJlZkZvckFwcFNwZWNpZmljSGFzaChcIlwiKSA6IFwiXCI7XG5cblx0XHRjb25zdCBvU2hhcmVNZXRhZGF0YTogU2hhcmVNZXRhZGF0YSA9IHtcblx0XHRcdHVybDpcblx0XHRcdFx0d2luZG93LmxvY2F0aW9uLm9yaWdpbiArXG5cdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArXG5cdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggK1xuXHRcdFx0XHQoc0hhc2ggPyBzQmFzZVBhdGggKyBzSGFzaCA6IHdpbmRvdy5sb2NhdGlvbi5oYXNoKSxcblx0XHRcdHRpdGxlOiB0aGlzLmJhc2UuZ2V0QXBwQ29tcG9uZW50KCk/LmdldFNoZWxsU2VydmljZXMoKT8uZ2V0VGl0bGUoKSxcblx0XHRcdGVtYWlsOiB7XG5cdFx0XHRcdHVybDogXCJcIixcblx0XHRcdFx0dGl0bGU6IFwiXCJcblx0XHRcdH0sXG5cdFx0XHRqYW06IHtcblx0XHRcdFx0dXJsOiBcIlwiLFxuXHRcdFx0XHR0aXRsZTogXCJcIlxuXHRcdFx0fSxcblx0XHRcdHRpbGU6IHtcblx0XHRcdFx0dXJsOiBcIlwiLFxuXHRcdFx0XHR0aXRsZTogXCJcIixcblx0XHRcdFx0c3VidGl0bGU6IFwiXCIsXG5cdFx0XHRcdGljb246IFwiXCIsXG5cdFx0XHRcdHF1ZXJ5VXJsOiBcIlwiXG5cdFx0XHR9XG5cdFx0fTtcblx0XHRyZXR1cm4gdGhpcy5iYXNlLmdldFZpZXcoKS5nZXRDb250cm9sbGVyKCkuc2hhcmUuYWRhcHRTaGFyZU1ldGFkYXRhKG9TaGFyZU1ldGFkYXRhKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBTaGFyZVV0aWxzO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7O0VBd0JBLElBQUlBLG1CQUE0QjtFQVVoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQU5BLElBUU1DLFVBQVUsV0FEZkMsY0FBYyxDQUFDLHdDQUF3QyxDQUFDLFVBUXZEQyxjQUFjLEVBQUUsVUFlaEJBLGNBQWMsRUFBRSxVQWVoQkMsZUFBZSxFQUFFLFVBQ2pCQyxjQUFjLEVBQUUsVUFRaEJELGVBQWUsRUFBRSxVQUNqQkUsVUFBVSxDQUFDLFlBQVksQ0FBQyxVQTJCeEJGLGVBQWUsRUFBRSxVQUNqQkUsVUFBVSxDQUFDQyxpQkFBaUIsQ0FBQ0MsS0FBSyxDQUFDLFdBMExuQ0osZUFBZSxFQUFFLFdBQ2pCQyxjQUFjLEVBQUUsV0FjaEJELGVBQWUsRUFBRSxXQUNqQkMsY0FBYyxFQUFFLFdBY2hC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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Log from "sap/base/Log";
|
|
2
2
|
import ObjectPath from "sap/base/util/ObjectPath";
|
|
3
3
|
import extend from "sap/base/util/extend";
|
|
4
|
-
import { defineUI5Class, extensible, finalExtension, methodOverride, publicExtension } from "sap/fe/
|
|
4
|
+
import { defineUI5Class, extensible, finalExtension, methodOverride, publicExtension } from "sap/fe/base/ClassSupport";
|
|
5
5
|
import type ActionSheet from "sap/m/ActionSheet";
|
|
6
6
|
import type Dialog from "sap/m/Dialog";
|
|
7
7
|
import library from "sap/m/library";
|
|
@@ -28,8 +28,8 @@ export type ShareMetadata = {
|
|
|
28
28
|
url: string;
|
|
29
29
|
title: string;
|
|
30
30
|
email: { url: string; title: string };
|
|
31
|
-
jam: { url
|
|
32
|
-
tile: { url
|
|
31
|
+
jam: { url?: string; title: string };
|
|
32
|
+
tile: { url?: string; title: string; subtitle: string; icon?: string; queryUrl?: string };
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
/**
|
|
@@ -43,6 +43,10 @@ export type ShareMetadata = {
|
|
|
43
43
|
class ShareUtils extends ControllerExtension {
|
|
44
44
|
protected base!: PageController;
|
|
45
45
|
|
|
46
|
+
constructor() {
|
|
47
|
+
super();
|
|
48
|
+
}
|
|
49
|
+
|
|
46
50
|
@methodOverride()
|
|
47
51
|
onInit(): void {
|
|
48
52
|
const shareInfoModel: JSONModel = new JSONModel({
|
|
@@ -116,8 +120,8 @@ class ShareUtils extends ControllerExtension {
|
|
|
116
120
|
url: string;
|
|
117
121
|
title: string;
|
|
118
122
|
email: { url: string; title: string };
|
|
119
|
-
jam: { url
|
|
120
|
-
tile: { url
|
|
123
|
+
jam: { url?: string; title: string };
|
|
124
|
+
tile: { url?: string; title: string; subtitle: string; icon?: string; queryUrl?: string };
|
|
121
125
|
}): ShareMetadata | Promise<ShareMetadata> {
|
|
122
126
|
return oShareMetadata;
|
|
123
127
|
}
|
|
@@ -373,7 +377,7 @@ class ShareUtils extends ControllerExtension {
|
|
|
373
377
|
@finalExtension()
|
|
374
378
|
async _adaptShareMetadata(): Promise<ShareMetadata> {
|
|
375
379
|
const hashChangerInstance = HashChanger.getInstance();
|
|
376
|
-
const sHash = hashChangerInstance.getHash();
|
|
380
|
+
const sHash = encodeURIComponent(hashChangerInstance.getHash());
|
|
377
381
|
const sBasePath = hashChangerInstance.hrefForAppSpecificHash ? hashChangerInstance.hrefForAppSpecificHash("") : "";
|
|
378
382
|
|
|
379
383
|
const oShareMetadata: ShareMetadata = {
|