@sapui5/sap.fe.core 1.111.1 → 1.113.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 +6 -5
- 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 +12 -11
- package/src/sap/fe/core/AppComponent-dbg.js +35 -9
- 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 +66 -9
- package/src/sap/fe/core/AppStateHandler-dbg.js +5 -2
- 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 +10 -1
- package/src/sap/fe/core/BaseController-dbg.js +1 -1
- package/src/sap/fe/core/BaseController.ts +2 -1
- package/src/sap/fe/core/CommonUtils-dbg.js +202 -533
- 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 +260 -681
- package/src/sap/fe/core/ExtensionAPI-dbg.js +4 -1
- package/src/sap/fe/core/ExtensionAPI.js +1 -1
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -1
- package/src/sap/fe/core/ExtensionAPI.ts +11 -1
- package/src/sap/fe/core/PageController-dbg.js +26 -31
- package/src/sap/fe/core/PageController.js +1 -1
- package/src/sap/fe/core/PageController.js.map +1 -1
- package/src/sap/fe/core/PageController.ts +17 -3
- package/src/sap/fe/core/ResourceModel-dbg.js +71 -0
- package/src/sap/fe/core/ResourceModel.js +6 -0
- package/src/sap/fe/core/ResourceModel.js.map +1 -0
- package/src/sap/fe/core/ResourceModel.ts +67 -0
- package/src/sap/fe/core/TemplateComponent-dbg.js +1 -1
- package/src/sap/fe/core/TemplateComponent.ts +1 -0
- package/src/sap/fe/core/TemplateModel-dbg.js +1 -1
- package/src/sap/fe/core/TemplateModel.ts +6 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +5 -7
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/AttributeModel.ts +6 -5
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase-dbg.js +164 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockBase.ts +170 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport-dbg.js +88 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js +6 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockSupport.ts +142 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor-dbg.js +913 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js +21 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockTemplateProcessor.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/{BuildingBlockRuntime.ts → BuildingBlockTemplateProcessor.ts} +313 -373
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock-dbg.js +79 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js +15 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlock.ts +68 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment-dbg.js +162 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js +6 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/RuntimeBuildingBlockFragment.ts +183 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +4 -2
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -1
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -3
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +936 -231
- 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 +1023 -255
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +48 -98
- 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 +95 -129
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +14 -17
- 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 +23 -17
- package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -0
- package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +3 -3
- package/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +2 -2
- package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler.ts +2 -0
- 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 +26 -4
- package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +2 -1
- package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Paginator.ts +7 -0
- package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +1 -1
- package/src/sap/fe/core/controllerextensions/Placeholder.ts +8 -0
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +8 -1
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/Share.ts +11 -0
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +14 -13
- 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 +27 -27
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +17 -8
- 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 +35 -14
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +6 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +7 -4
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +285 -82
- 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 +326 -89
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +23 -2
- 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 +32 -3
- 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 +4 -5
- package/src/sap/fe/core/controllerextensions/collaboration/ManageDialog.fragment.xml +17 -3
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +65 -34
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +33 -18
- 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 +78 -149
- 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 +85 -160
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +49 -49
- 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 +52 -63
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal-dbg.js +82 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/_internal.ts +123 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade-dbg.js +1508 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js +6 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations/facade.ts +1993 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +3 -1415
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +2 -1921
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +10 -18
- 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 +9 -22
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +53 -47
- 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 +55 -61
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +12 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -1
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.ts +19 -0
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +78 -13
- 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 +100 -13
- package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +4 -1
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +16 -5
- 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 +15 -3
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +3 -2
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -1
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +4 -1
- package/src/sap/fe/core/controls/FilterBar-dbg.js +1 -1
- package/src/sap/fe/core/controls/FilterBar.ts +5 -0
- package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +1 -1
- package/src/sap/fe/core/controls/FormElementWrapper.ts +3 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +7 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +4 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +1 -1
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +10 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +4 -3
- 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 +3 -2
- package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +0 -1
- package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +2 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +6 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +5 -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 +4 -6
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -8
- package/src/sap/fe/core/converters/ManifestSettings.js +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -1
- package/src/sap/fe/core/converters/ManifestSettings.ts +15 -6
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +21 -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 +23 -1
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +67 -62
- 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 +75 -66
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +2 -1
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -1
- package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +81 -20
- 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 +76 -22
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1027 -956
- 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 +13 -19
- 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 +37 -40
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +95 -33
- 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 +133 -49
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +99 -62
- 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 +140 -75
- 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 +8 -14
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +9 -9
- 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 +17 -18
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +143 -93
- 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 +221 -177
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +23 -16
- 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 +27 -23
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +138 -75
- 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 +223 -110
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +38 -28
- 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 +67 -47
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.ts +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +6 -6
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -1
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.ts +5 -8
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +54 -24
- 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 +84 -37
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +12 -14
- 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 +16 -11
- 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/ConfigurableObject-dbg.js +7 -6
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -1
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +19 -10
- package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +7 -2
- package/src/sap/fe/core/converters/helpers/ID-dbg.js +1 -1
- package/src/sap/fe/core/converters/helpers/ID.ts +2 -1
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +11 -9
- 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 +10 -8
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +22 -20
- 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 +19 -16
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +32 -35
- 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 +42 -37
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +12 -5
- 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 +8 -2
- package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
- package/src/sap/fe/core/formatters/FPMFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +2 -2
- package/src/sap/fe/core/formatters/FiscalFormat.ts +6 -1
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +3 -7
- 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 +2 -6
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +9 -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 +11 -4
- package/src/sap/fe/core/fpm/Component-dbg.js +1 -1
- package/src/sap/fe/core/fpm/Component.ts +1 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/AppStartupHelper.ts +1 -1
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +7 -6
- 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 +9 -9
- package/src/sap/fe/core/helpers/ClassSupport-dbg.js +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -1
- package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +93 -62
- 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 +140 -185
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +23 -20
- 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 +26 -28
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +9 -9
- 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 +8 -8
- package/src/sap/fe/core/helpers/MetaModelFunction-dbg.js +517 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js +6 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.js.map +1 -0
- package/src/sap/fe/core/helpers/MetaModelFunction.ts +610 -0
- 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 +47 -74
- package/src/sap/fe/core/helpers/PasteHelper-dbg.js +5 -5
- package/src/sap/fe/core/helpers/PasteHelper.js +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/PasteHelper.ts +6 -10
- package/src/sap/fe/core/helpers/ResourceModelHelper-dbg.js +39 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js +6 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/ResourceModelHelper.ts +35 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +132 -23
- 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 +109 -22
- package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +2 -2
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -1
- package/src/sap/fe/core/helpers/SemanticKeyHelper.ts +1 -1
- 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 +29 -25
- 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 +26 -24
- package/src/sap/fe/core/helpers/Synchronization-dbg.js +1 -1
- package/src/sap/fe/core/helpers/Synchronization.ts +2 -0
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +151 -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 +162 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +2 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/ViewLoader.tsx +6 -2
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +3 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +3 -3
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -1
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.tsx +1 -1
- package/src/sap/fe/core/library-dbg.js +2 -2
- package/src/sap/fe/core/library-preload.js +156 -140
- 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/library.ts +7 -0
- 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 +35 -0
- package/src/sap/fe/core/messagebundle_ar.properties +15 -12
- package/src/sap/fe/core/messagebundle_bg.properties +20 -17
- package/src/sap/fe/core/messagebundle_ca.properties +12 -9
- package/src/sap/fe/core/messagebundle_cs.properties +12 -9
- package/src/sap/fe/core/messagebundle_cy.properties +12 -9
- package/src/sap/fe/core/messagebundle_da.properties +12 -9
- package/src/sap/fe/core/messagebundle_de.properties +13 -10
- package/src/sap/fe/core/messagebundle_el.properties +14 -11
- package/src/sap/fe/core/messagebundle_en.properties +4 -1
- package/src/sap/fe/core/messagebundle_en_GB.properties +4 -1
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +21 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +23 -3
- package/src/sap/fe/core/messagebundle_es.properties +12 -9
- package/src/sap/fe/core/messagebundle_es_MX.properties +12 -9
- package/src/sap/fe/core/messagebundle_et.properties +12 -9
- package/src/sap/fe/core/messagebundle_fi.properties +12 -9
- package/src/sap/fe/core/messagebundle_fr.properties +12 -9
- package/src/sap/fe/core/messagebundle_fr_CA.properties +13 -10
- package/src/sap/fe/core/messagebundle_hi.properties +12 -9
- package/src/sap/fe/core/messagebundle_hr.properties +12 -9
- package/src/sap/fe/core/messagebundle_hu.properties +12 -9
- package/src/sap/fe/core/messagebundle_id.properties +13 -10
- package/src/sap/fe/core/messagebundle_it.properties +12 -9
- package/src/sap/fe/core/messagebundle_iw.properties +12 -9
- package/src/sap/fe/core/messagebundle_ja.properties +13 -10
- package/src/sap/fe/core/messagebundle_kk.properties +12 -9
- package/src/sap/fe/core/messagebundle_ko.properties +12 -9
- package/src/sap/fe/core/messagebundle_lt.properties +12 -9
- package/src/sap/fe/core/messagebundle_lv.properties +12 -9
- package/src/sap/fe/core/messagebundle_ms.properties +13 -10
- package/src/sap/fe/core/messagebundle_nl.properties +13 -10
- package/src/sap/fe/core/messagebundle_no.properties +12 -9
- package/src/sap/fe/core/messagebundle_pl.properties +12 -9
- package/src/sap/fe/core/messagebundle_pt.properties +12 -9
- package/src/sap/fe/core/messagebundle_pt_PT.properties +12 -9
- package/src/sap/fe/core/messagebundle_ro.properties +16 -13
- package/src/sap/fe/core/messagebundle_ru.properties +13 -10
- package/src/sap/fe/core/messagebundle_sh.properties +12 -9
- package/src/sap/fe/core/messagebundle_sk.properties +12 -9
- package/src/sap/fe/core/messagebundle_sl.properties +12 -9
- package/src/sap/fe/core/messagebundle_sv.properties +12 -9
- package/src/sap/fe/core/messagebundle_th.properties +12 -9
- package/src/sap/fe/core/messagebundle_tr.properties +12 -9
- package/src/sap/fe/core/messagebundle_uk.properties +12 -9
- package/src/sap/fe/core/messagebundle_vi.properties +13 -10
- package/src/sap/fe/core/messagebundle_zh_CN.properties +12 -9
- package/src/sap/fe/core/messagebundle_zh_TW.properties +12 -9
- package/src/sap/fe/core/operationsHelper-dbg.js +70 -44
- package/src/sap/fe/core/operationsHelper.js +1 -1
- package/src/sap/fe/core/operationsHelper.js.map +1 -1
- package/src/sap/fe/core/operationsHelper.ts +88 -63
- package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +1 -1
- package/src/sap/fe/core/rootView/Fcl.controller.ts +10 -0
- package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +2 -2
- package/src/sap/fe/core/rootView/NavContainer.controller.js +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -1
- package/src/sap/fe/core/rootView/NavContainer.controller.ts +5 -3
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +10 -5
- 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 +22 -8
- package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +15 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +4 -1
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +9 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/NavigationServiceFactory.ts +19 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +2 -2
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -1
- package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +10 -3
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +9 -3
- 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 +35 -3
- 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 +24 -2
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +448 -279
- 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 +497 -333
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +26 -6
- 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 +54 -13
- package/src/sap/fe/core/support/Diagnostics-dbg.js +1 -1
- package/src/sap/fe/core/support/Diagnostics.ts +5 -0
- 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/DataModelPathHelper-dbg.js +195 -95
- 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 +210 -96
- 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 -29
- 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 -26
- 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 +3 -3
- 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 +5 -3
- 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 +47 -32
- package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +1 -1
- package/src/sap/fe/core/type/DateTimeWithTimezone.ts +2 -0
- package/src/sap/fe/core/type/FiscalDate-dbg.js +2 -2
- package/src/sap/fe/core/type/FiscalDate.js.map +1 -1
- package/src/sap/fe/core/type/FiscalDate.ts +2 -1
- package/src/sap/fe/core/type/TypeUtil-dbg.js +5 -10
- package/src/sap/fe/core/type/TypeUtil.js +1 -1
- package/src/sap/fe/core/type/TypeUtil.js.map +1 -1
- package/src/sap/fe/core/type/TypeUtil.ts +3 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +0 -410
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +0 -15
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +0 -536
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +0 -44
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +0 -6
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +0 -1
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +0 -14
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +0 -948
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +0 -19
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +0 -711
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +0 -6
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +0 -1
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +0 -863
- package/src/sap/fe/core/controls/ActionPartial.fragment.xml +0 -91
- package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +0 -151
- package/src/sap/fe/core/controls/ConditionalWrapper.js +0 -6
- package/src/sap/fe/core/controls/ConditionalWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/ConditionalWrapper.ts +0 -88
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +0 -330
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +0 -6
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +0 -292
- package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +0 -126
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +0 -6
- package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +0 -1
- package/src/sap/fe/core/controls/CustomQuickViewPage.ts +0 -105
- package/src/sap/fe/core/controls/FieldWrapper-dbg.js +0 -194
- package/src/sap/fe/core/controls/FieldWrapper.js +0 -6
- package/src/sap/fe/core/controls/FieldWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FieldWrapper.ts +0 -121
- package/src/sap/fe/core/controls/FileWrapper-dbg.js +0 -280
- package/src/sap/fe/core/controls/FileWrapper.js +0 -6
- package/src/sap/fe/core/controls/FileWrapper.js.map +0 -1
- package/src/sap/fe/core/controls/FileWrapper.ts +0 -202
- package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +0 -141
- package/src/sap/fe/core/helpers/SideEffectsHelper.js +0 -6
- package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +0 -1
- package/src/sap/fe/core/helpers/SideEffectsHelper.ts +0 -129
|
@@ -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(["./AnnotationEnum"],function(e){"use strict";var n={};var t=e.resolveEnumValue;const r={"Edm.Boolean":{type:"sap.ui.model.odata.type.Boolean"},"Edm.Byte":{type:"sap.ui.model.odata.type.Byte"},"Edm.Date":{type:"sap.ui.model.odata.type.Date"},"Edm.DateTimeOffset":{constraints:{$Precision:"precision",$V4:"V4"},type:"sap.ui.model.odata.type.DateTimeOffset"},"Edm.Decimal":{constraints:{"@Org.OData.Validation.V1.Minimum/$Decimal":"minimum","@Org.OData.Validation.V1.Minimum@Org.OData.Validation.V1.Exclusive":"minimumExclusive","@Org.OData.Validation.V1.Maximum/$Decimal":"maximum","@Org.OData.Validation.V1.Maximum@Org.OData.Validation.V1.Exclusive":"maximumExclusive",$Precision:"precision",$Scale:"scale"},type:"sap.ui.model.odata.type.Decimal"},"Edm.Double":{type:"sap.ui.model.odata.type.Double"},"Edm.Guid":{type:"sap.ui.model.odata.type.Guid"},"Edm.Int16":{type:"sap.ui.model.odata.type.Int16"},"Edm.Int32":{type:"sap.ui.model.odata.type.Int32"},"Edm.Int64":{type:"sap.ui.model.odata.type.Int64"},"Edm.SByte":{type:"sap.ui.model.odata.type.SByte"},"Edm.Single":{type:"sap.ui.model.odata.type.Single"},"Edm.Stream":{type:"sap.ui.model.odata.type.Stream"},"Edm.Binary":{type:"sap.ui.model.odata.type.Stream"},"Edm.String":{constraints:{"@com.sap.vocabularies.Common.v1.IsDigitSequence":"isDigitSequence",$MaxLength:"maxLength",$Nullable:"nullable"},type:"sap.ui.model.odata.type.String"},"Edm.TimeOfDay":{constraints:{$Precision:"precision"},type:"sap.ui.model.odata.type.TimeOfDay"}};n.EDM_TYPE_MAPPING=r;const a={_type:"Unresolvable"};n.unresolvableExpression=a;function o(e){return e.replace(/'/g,"\\'")}function i(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}return n.find(e=>e._type==="Unresolvable")!==undefined}n.hasUnresolvableExpression=i;function s(e,n){if(e._type!==n._type){return false}switch(e._type){case"Unresolvable":return false;case"Constant":case"EmbeddedBinding":case"EmbeddedExpressionBinding":return e.value===n.value;case"Not":return s(e.operand,n.operand);case"Truthy":return s(e.operand,n.operand);case"Set":return e.operator===n.operator&&e.operands.length===n.operands.length&&e.operands.every(e=>n.operands.some(n=>s(e,n)));case"IfElse":return s(e.condition,n.condition)&&s(e.onTrue,n.onTrue)&&s(e.onFalse,n.onFalse);case"Comparison":return e.operator===n.operator&&s(e.operand1,n.operand1)&&s(e.operand2,n.operand2);case"Concat":const t=e.expressions;const r=n.expressions;if(t.length!==r.length){return false}return t.every((e,n)=>s(e,r[n]));case"Length":return s(e.pathInModel,n.pathInModel);case"PathInModel":return e.modelName===n.modelName&&e.path===n.path&&e.targetEntitySet===n.targetEntitySet;case"Formatter":return e.fn===n.fn&&e.parameters.length===n.parameters.length&&e.parameters.every((e,t)=>s(n.parameters[t],e));case"ComplexType":return e.type===n.type&&e.bindingParameters.length===n.bindingParameters.length&&e.bindingParameters.every((e,t)=>s(n.bindingParameters[t],e));case"Function":const a=n;if(e.obj===undefined||a.obj===undefined){return e.obj===a}return e.fn===a.fn&&s(e.obj,a.obj)&&e.parameters.length===a.parameters.length&&e.parameters.every((e,n)=>s(a.parameters[n],e));case"Ref":return e.ref===n.ref}return false}n._checkExpressionsAreEqual=s;function u(e){return e.operands.reduce((n,t)=>{const r=t._type==="Set"&&t.operator===e.operator?t.operands:[t];r.forEach(e=>{if(n.operands.every(n=>!s(n,e))){n.operands.push(e)}});return n},{_type:"Set",operator:e.operator,operands:[]})}function l(e){const n=e.map(f);return e.some((e,t)=>{for(let r=t+1;r<n.length;r++){if(s(e,n[r])){return true}}return false})}function p(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}const r=u({_type:"Set",operator:"&&",operands:n.map($)}).operands;if(i(...r)){return a}let o=false;const s=r.filter(e=>{if(I(e)){o=true}return!E(e)});if(o){return v(false)}else if(s.length===0){const e=r.reduce((e,n)=>e&&O(n),true);return v(e)}else if(s.length===1){return s[0]}else if(l(s)){return v(false)}else{return{_type:"Set",operator:"&&",operands:s}}}n.and=p;function d(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}const r=u({_type:"Set",operator:"||",operands:n.map($)}).operands;if(i(...r)){return a}let o=false;const s=r.filter(e=>{if(O(e)){o=true}return!E(e)||e.value});if(o){return v(true)}else if(s.length===0){const e=r.reduce((e,n)=>e&&O(n),true);return v(e)}else if(s.length===1){return s[0]}else if(l(s)){return v(true)}else{return{_type:"Set",operator:"||",operands:s}}}n.or=d;function f(e){e=$(e);if(i(e)){return a}else if(E(e)){return v(!e.value)}else if(typeof e==="object"&&e._type==="Set"&&e.operator==="||"&&e.operands.every(e=>E(e)||P(e))){return p(...e.operands.map(e=>f(e)))}else if(typeof e==="object"&&e._type==="Set"&&e.operator==="&&"&&e.operands.every(e=>E(e)||P(e))){return d(...e.operands.map(e=>f(e)))}else if(P(e)){switch(e.operator){case"!==":return{...e,operator:"==="};case"<":return{...e,operator:">="};case"<=":return{...e,operator:">"};case"===":return{...e,operator:"!=="};case">":return{...e,operator:"<="};case">=":return{...e,operator:"<"}}}else if(e._type==="Not"){return e.operand}return{_type:"Not",operand:e}}n.not=f;function c(e){if(E(e)){return v(!!e.value)}else{return{_type:"Truthy",operand:e}}}n.isTruthy=c;function m(e,n){let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];let r=arguments.length>3?arguments[3]:undefined;return y(e,n,t,r)}n.bindingExpression=m;function y(e,n){let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];let r=arguments.length>3?arguments[3]:undefined;if(e===undefined){return a}let o;if(r){o=r(e);if(o===undefined){return a}}else{const n=t.concat();n.push(e);o=n.join("/")}return{_type:"PathInModel",modelName:n,path:o}}n.pathInModel=y;function v(e){let n;if(typeof e==="object"&&e!==null&&e!==undefined){if(Array.isArray(e)){n=e.map($)}else if(F(e)){n=e.valueOf()}else{n=Object.entries(e).reduce((e,n)=>{let[t,r]=n;const a=$(r);if(a._type!=="Constant"||a.value!==undefined){e[t]=a}return e},{})}}else{n=e}return{_type:"Constant",value:n}}n.constant=v;function h(e,n){if(e!==undefined&&typeof e==="string"&&e.startsWith("{")){const n=/^{(.*)>(.+)}$/;const t=n.exec(e);if(e.startsWith("{=")){return{_type:"EmbeddedExpressionBinding",value:e}}else if(t){return y(t[2]||"",t[1]||undefined)}else{return{_type:"EmbeddedBinding",value:e}}}else if(n==="boolean"&&typeof e==="string"&&(e==="true"||e==="false")){return v(e==="true")}else if(n==="number"&&typeof e==="string"&&(!isNaN(Number(e))||e==="NaN")){return v(Number(e))}else{return v(e)}}n.resolveBindingString=h;function g(e){return{_type:"Ref",ref:e}}n.ref=g;function $(e){if(b(e)){return e}return v(e)}function b(e){return(e===null||e===void 0?void 0:e._type)!==undefined}n.isBindingToolkitExpression=b;function E(e){return typeof e!=="object"||e._type==="Constant"}n.isConstant=E;function O(e){return E(e)&&e.value===true}function I(e){return E(e)&&e.value===false}function _(e){return(e===null||e===void 0?void 0:e._type)==="PathInModel"}n.isPathInModelExpression=_;function x(e){return(e===null||e===void 0?void 0:e._type)==="ComplexType"}n.isComplexTypeExpression=x;function C(e){return(e===null||e===void 0?void 0:e._type)==="Concat"}function P(e){return e._type==="Comparison"}function S(e){const n=e;return(n===null||n===void 0?void 0:n._type)==="Constant"&&(n===null||n===void 0?void 0:n.value)===undefined}n.isUndefinedExpression=S;function F(e){switch(e.constructor.name){case"String":case"Number":case"Boolean":return true;default:return false}}function T(e){return typeof e==="object"&&!F(e)}function N(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let t=arguments.length>2?arguments[2]:undefined;let r=arguments.length>3?arguments[3]:undefined;return M(e,n,t,r)}n.annotationExpression=N;function M(e){var n;let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let r=arguments.length>2?arguments[2]:undefined;let o=arguments.length>3?arguments[3]:undefined;if(e===undefined){return $(r)}e=(n=e)===null||n===void 0?void 0:n.valueOf();if(!T(e)){return v(e)}switch(e.type){case"Path":return y(e.path,undefined,t,o);case"If":return D(e.If,t,o);case"Not":return f(w(e.Not,t,o));case"Eq":return L(w(e.Eq[0],t,o),w(e.Eq[1],t,o));case"Ne":return k(w(e.Ne[0],t,o),w(e.Ne[1],t,o));case"Gt":return B(w(e.Gt[0],t,o),w(e.Gt[1],t,o));case"Ge":return q(w(e.Ge[0],t,o),w(e.Ge[1],t,o));case"Lt":return U(w(e.Lt[0],t,o),w(e.Lt[1],t,o));case"Le":return G(w(e.Le[0],t,o),w(e.Le[1],t,o));case"Or":return d(...e.Or.map(function(e){return w(e,t,o)}));case"And":return p(...e.And.map(function(e){return w(e,t,o)}));case"Apply":return A(e,t,o)}return a}n.getExpressionFromAnnotation=M;function w(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let r=arguments.length>2?arguments[2]:undefined;if(e===null||typeof e!=="object"){return v(e)}else if(e.hasOwnProperty("$Or")){return d(...e.$Or.map(function(e){return w(e,n,r)}))}else if(e.hasOwnProperty("$And")){return p(...e.$And.map(function(e){return w(e,n,r)}))}else if(e.hasOwnProperty("$Not")){return f(w(e.$Not,n,r))}else if(e.hasOwnProperty("$Eq")){return L(w(e.$Eq[0],n,r),w(e.$Eq[1],n,r))}else if(e.hasOwnProperty("$Ne")){return k(w(e.$Ne[0],n,r),w(e.$Ne[1],n,r))}else if(e.hasOwnProperty("$Gt")){return B(w(e.$Gt[0],n,r),w(e.$Gt[1],n,r))}else if(e.hasOwnProperty("$Ge")){return q(w(e.$Ge[0],n,r),w(e.$Ge[1],n,r))}else if(e.hasOwnProperty("$Lt")){return U(w(e.$Lt[0],n,r),w(e.$Lt[1],n,r))}else if(e.hasOwnProperty("$Le")){return G(w(e.$Le[0],n,r),w(e.$Le[1],n,r))}else if(e.hasOwnProperty("$Path")){return y(e.$Path,undefined,n,r)}else if(e.hasOwnProperty("$Apply")){return M({type:"Apply",Function:e.$Function,Apply:e.$Apply},n,undefined,r)}else if(e.hasOwnProperty("$If")){return M({type:"If",If:e.$If},n,undefined,r)}else if(e.hasOwnProperty("$EnumMember")){return v(t(e.$EnumMember))}return v(false)}function D(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let t=arguments.length>2?arguments[2]:undefined;return Y(w(e[0],n,t),w(e[1],n,t),w(e[2],n,t))}n.annotationIfExpression=D;function A(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let t=arguments.length>2?arguments[2]:undefined;switch(e.Function){case"odata.concat":return ee(...e.Apply.map(e=>{let r=e;if(e.hasOwnProperty("$Path")){r={type:"Path",path:e.$Path}}else if(e.hasOwnProperty("$If")){r={type:"If",If:e.$If}}else if(e.hasOwnProperty("$Apply")){r={type:"Apply",Function:e.$Function,Apply:e.$Apply}}return M(r,n,undefined,t)}))}return a}n.annotationApplyExpression=A;function j(e,n,t){const r=$(n);const o=$(t);if(i(r,o)){return a}if(E(r)&&E(o)){switch(e){case"!==":return v(r.value!==o.value);case"===":return v(r.value===o.value);case"<":return v(r.value<o.value);case"<=":return v(r.value<=o.value);case">":return v(r.value>o.value);case">=":return v(r.value>=o.value)}}else{return{_type:"Comparison",operator:e,operand1:r,operand2:o}}}function V(e){if(e._type==="Unresolvable"){return e}return{_type:"Length",pathInModel:e}}n.length=V;function L(e,n){const t=$(e);const r=$(n);if(i(t,r)){return a}if(s(t,r)){return v(true)}function o(e,n){if(e._type==="Comparison"&&O(n)){return e}else if(e._type==="Comparison"&&I(n)){return f(e)}else if(e._type==="IfElse"&&s(e.onTrue,n)){return d(e.condition,L(e.onFalse,n))}else if(e._type==="IfElse"&&s(e.onFalse,n)){return d(f(e.condition),L(e.onTrue,n))}else if(e._type==="IfElse"&&E(e.onTrue)&&E(e.onFalse)&&E(n)&&!s(e.onTrue,n)&&!s(e.onFalse,n)){return v(false)}return undefined}const u=o(t,r)??o(r,t);return u??j("===",t,r)}n.equal=L;function k(e,n){return f(L(e,n))}n.notEqual=k;function q(e,n){return j(">=",e,n)}n.greaterOrEqual=q;function B(e,n){return j(">",e,n)}n.greaterThan=B;function G(e,n){return j("<=",e,n)}n.lessOrEqual=G;function U(e,n){return j("<",e,n)}n.lessThan=U;function Y(e,n,t){let r=$(e);let o=$(n);let u=$(t);if(i(r,o,u)){return a}if(r._type==="Not"){[o,u]=[u,o];r=f(r)}if(o._type==="IfElse"&&s(r,o.condition)){o=o.onTrue}if(u._type==="IfElse"&&s(r,u.condition)){u=u.onFalse}if(E(r)){return r.value?o:u}if(s(o,u)){return o}if(I(u)){return p(r,o)}if(O(u)){return d(f(r),o)}if(I(o)){return p(f(r),u)}if(O(o)){return d(r,u)}if(x(e)||x(n)||x(t)){let r=0;const a=R([e,n,t],"sap.fe.core.formatters.StandardFormatter#ifElse");const o=[];ne(a,"PathInModel",e=>{o.push(e);return y(`$${r++}`,"$")},true);o.unshift(v(JSON.stringify(a)));return R(o,"sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression",undefined,true)}return{_type:"IfElse",condition:r,onTrue:o,onFalse:u}}n.ifElse=Y;function W(e){switch(e._type){case"Constant":case"Formatter":case"ComplexType":return false;case"Set":return e.operands.some(W);case"PathInModel":return e.modelName===undefined;case"Comparison":return W(e.operand1)||W(e.operand2);case"IfElse":return W(e.condition)||W(e.onTrue)||W(e.onFalse);case"Not":case"Truthy":return W(e.operand);default:return false}}function R(e,n,t){let r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;const o=e.map($);if(i(...o)){return a}if(t){if(!o.some(W)){t.keys.forEach(e=>o.push(y(e.name,"")))}}let s="";if(typeof n==="string"){s=n}else{s=n.__functionName}const[u,l]=s.split("#");if(!r&&(o.some(x)||o.some(C))){let e=0;const n=R(o,s,undefined,true);const t=[];ne(n,"PathInModel",n=>{t.push(n);return y(`$${e++}`,"$")});t.unshift(v(JSON.stringify(n)));return R(t,"sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression",undefined,true)}else if(!!l&&l.length>0){o.unshift(v(l))}return{_type:"Formatter",fn:u,parameters:o}}n.formatResult=R;function Q(e,n){var t,r,a,o,i,s,u,l,p,d,f,c,m;const y={};if(e!==null&&e!==void 0&&(t=e.constraints)!==null&&t!==void 0&&t.$Scale&&n.scale!==undefined){y.scale=n.scale}if(e!==null&&e!==void 0&&(r=e.constraints)!==null&&r!==void 0&&r.$Precision&&n.precision!==undefined){y.precision=n.precision}if(e!==null&&e!==void 0&&(a=e.constraints)!==null&&a!==void 0&&a.$MaxLength&&n.maxLength!==undefined){y.maxLength=n.maxLength}if(n.nullable===false){y.nullable=false}if(e!==null&&e!==void 0&&(o=e.constraints)!==null&&o!==void 0&&o["@Org.OData.Validation.V1.Minimum/$Decimal"]&&!isNaN((i=n.annotations)===null||i===void 0?void 0:(s=i.Validation)===null||s===void 0?void 0:s.Minimum)){var v,h;y.minimum=`${(v=n.annotations)===null||v===void 0?void 0:(h=v.Validation)===null||h===void 0?void 0:h.Minimum}`}if(e!==null&&e!==void 0&&(u=e.constraints)!==null&&u!==void 0&&u["@Org.OData.Validation.V1.Maximum/$Decimal"]&&!isNaN((l=n.annotations)===null||l===void 0?void 0:(p=l.Validation)===null||p===void 0?void 0:p.Maximum)){var g,$;y.maximum=`${(g=n.annotations)===null||g===void 0?void 0:($=g.Validation)===null||$===void 0?void 0:$.Maximum}`}if((d=n.annotations)!==null&&d!==void 0&&(f=d.Common)!==null&&f!==void 0&&f.IsDigitSequence&&e.type==="sap.ui.model.odata.type.String"&&e!==null&&e!==void 0&&(c=e.constraints)!==null&&c!==void 0&&c["@com.sap.vocabularies.Common.v1.IsDigitSequence"]){y.isDigitSequence=true}if(e!==null&&e!==void 0&&(m=e.constraints)!==null&&m!==void 0&&m.$V4){y.V4=true}return y}n.setUpConstraints=Q;function J(e,n){var t;let a=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;const o=n;if(e._type!=="Property"){return o}const i=r[e.type];if(!i){return o}if(!o.formatOptions){o.formatOptions={}}o.constraints={};o.type=i.type;if(!a){o.constraints=Q(i,e)}if((o===null||o===void 0?void 0:(t=o.type)===null||t===void 0?void 0:t.indexOf("sap.ui.model.odata.type.Int"))===0&&(o===null||o===void 0?void 0:o.type)!=="sap.ui.model.odata.type.Int64"||(o===null||o===void 0?void 0:o.type)==="sap.ui.model.odata.type.Double"){o.formatOptions=Object.assign(o.formatOptions,{parseAsString:false})}if(o.type==="sap.ui.model.odata.type.String"){o.formatOptions.parseKeepsEmptyString=true;const n=K(e);if(n){o.formatOptions.fiscalType=n;o.type="sap.fe.core.type.FiscalDate"}}if(o.type==="sap.ui.model.odata.type.Decimal"||(o===null||o===void 0?void 0:o.type)==="sap.ui.model.odata.type.Int64"){o.formatOptions=Object.assign(o.formatOptions,{emptyString:""})}return o}n.formatWithTypeInformation=J;const K=function(e){var n,t,r,a,o,i,s,u,l,p,d,f,c,m,y,v;if((n=e.annotations)!==null&&n!==void 0&&(t=n.Common)!==null&&t!==void 0&&t.IsFiscalYear){return"com.sap.vocabularies.Common.v1.IsFiscalYear"}if((r=e.annotations)!==null&&r!==void 0&&(a=r.Common)!==null&&a!==void 0&&a.IsFiscalPeriod){return"com.sap.vocabularies.Common.v1.IsFiscalPeriod"}if((o=e.annotations)!==null&&o!==void 0&&(i=o.Common)!==null&&i!==void 0&&i.IsFiscalYearPeriod){return"com.sap.vocabularies.Common.v1.IsFiscalYearPeriod"}if((s=e.annotations)!==null&&s!==void 0&&(u=s.Common)!==null&&u!==void 0&&u.IsFiscalQuarter){return"com.sap.vocabularies.Common.v1.IsFiscalQuarter"}if((l=e.annotations)!==null&&l!==void 0&&(p=l.Common)!==null&&p!==void 0&&p.IsFiscalYearQuarter){return"com.sap.vocabularies.Common.v1.IsFiscalYearQuarter"}if((d=e.annotations)!==null&&d!==void 0&&(f=d.Common)!==null&&f!==void 0&&f.IsFiscalWeek){return"com.sap.vocabularies.Common.v1.IsFiscalWeek"}if((c=e.annotations)!==null&&c!==void 0&&(m=c.Common)!==null&&m!==void 0&&m.IsFiscalYearWeek){return"com.sap.vocabularies.Common.v1.IsFiscalYearWeek"}if((y=e.annotations)!==null&&y!==void 0&&(v=y.Common)!==null&&v!==void 0&&v.IsDayOfFiscalYear){return"com.sap.vocabularies.Common.v1.IsDayOfFiscalYear"}};n.getFiscalType=K;function z(e,n,t,r){const o=e.map($);if(i(...o)){return a}if(o.length===1&&E(o[0])&&!t){return o[0]}else if(t){if(!o.some(W)){t.keys.forEach(e=>o.push(y(e.name,"")))}}r=H(e[0],r);if(n==="sap.ui.model.odata.type.Unit"){const e=y("/##@@requestUnitsOfMeasure");e.targetType="any";e.mode="OneTime";o.push(e)}else if(n==="sap.ui.model.odata.type.Currency"){const e=y("/##@@requestCurrencyCodes");e.targetType="any";e.mode="OneTime";o.push(e)}return{_type:"ComplexType",type:n,formatOptions:r||{},parameters:{},bindingParameters:o}}n.addTypeInformation=z;function H(e,n){var t,r;if(!(n&&n.showNumber===false)&&((e===null||e===void 0?void 0:(t=e.type)===null||t===void 0?void 0:t.indexOf("sap.ui.model.odata.type.Int"))===0||(e===null||e===void 0?void 0:e.type)==="sap.ui.model.odata.type.Decimal"||(e===null||e===void 0?void 0:e.type)==="sap.ui.model.odata.type.Double")){if((e===null||e===void 0?void 0:e.type)==="sap.ui.model.odata.type.Int64"||(e===null||e===void 0?void 0:e.type)==="sap.ui.model.odata.type.Decimal"){var a;n=((a=n)===null||a===void 0?void 0:a.showMeasure)===false?{emptyString:"",showMeasure:false}:{emptyString:""}}else{var o;n=((o=n)===null||o===void 0?void 0:o.showMeasure)===false?{parseAsString:false,showMeasure:false}:{parseAsString:false}}}if((e===null||e===void 0?void 0:(r=e.constraints)===null||r===void 0?void 0:r.nullable)!==false){var i;(i=n)===null||i===void 0?true:delete i.emptyString}return n}function X(e,n,t){const r=typeof e==="string"?e:e.__functionName;return{_type:"Function",obj:t!==undefined?$(t):undefined,fn:r,parameters:n.map($)}}n.fn=X;function Z(e){const n=[];ne(e,"PathInModel",e=>{n.push(d(L(e,""),L(e,undefined),L(e,null)));return e});return p(...n)}n.isEmpty=Z;function ee(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}const r=n.map($);if(i(...r)){return a}if(r.every(E)){return v(r.reduce((e,n)=>{if(n.value!==undefined){return e+n.value.toString()}return e},""))}else if(r.some(x)){let e=0;const n=R(r,"sap.fe.core.formatters.StandardFormatter#concat",undefined,true);const t=[];ne(n,"PathInModel",n=>{t.push(n);return y(`$${e++}`,"$")});t.unshift(v(JSON.stringify(n)));return R(t,"sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression",undefined,true)}return{_type:"Concat",expressions:r}}n.concat=ee;function ne(e,n,t){let r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;let a=e;switch(a._type){case"Function":case"Formatter":a.parameters=a.parameters.map(e=>ne(e,n,t,r));break;case"Concat":a.expressions=a.expressions.map(e=>ne(e,n,t,r));a=ee(...a.expressions);break;case"ComplexType":a.bindingParameters=a.bindingParameters.map(e=>ne(e,n,t,r));break;case"IfElse":const e=ne(a.onTrue,n,t,r);const o=ne(a.onFalse,n,t,r);let i=a.condition;if(r){i=ne(a.condition,n,t,r)}a=Y(i,e,o);break;case"Not":if(r){const e=ne(a.operand,n,t,r);a=f(e)}break;case"Truthy":break;case"Set":if(r){const e=a.operands.map(e=>ne(e,n,t,r));a=a.operator==="||"?d(...e):p(...e)}break;case"Comparison":if(r){const e=ne(a.operand1,n,t,r);const o=ne(a.operand2,n,t,r);a=j(a.operator,e,o)}break;case"Ref":case"Length":case"PathInModel":case"Constant":case"EmbeddedBinding":case"EmbeddedExpressionBinding":case"Unresolvable":break}if(n===a._type){a=t(e)}return a}n.transformRecursively=ne;const te=function(e){return!E(e)&&!_(e)&&b(e)&&e._type!=="IfElse"&&e._type!=="Function"};function re(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(n&&Object.keys(e.value).length===0){return""}const t=e.value;const r=[];Object.keys(t).forEach(e=>{const a=t[e];const o=ue(a,true,false,n);if(o&&o.length>0){r.push(`${e}: ${o}`)}});return`{${r.join(", ")}}`}function ae(e,n){let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;let r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;if(e.value===null){return r?null:"null"}if(e.value===undefined){return r?undefined:"undefined"}if(typeof e.value==="object"){if(Array.isArray(e.value)){const n=e.value.map(e=>ue(e,true));return`[${n.join(", ")}]`}else{return re(e,t)}}if(n){switch(typeof e.value){case"number":case"bigint":case"boolean":return e.value.toString();case"string":return`'${o(e.value.toString())}'`;default:return""}}else{return r?e.value:e.value.toString()}}n.compileConstant=ae;function oe(e,n,t){if(e.type||e.parameters||e.targetType||e.formatOptions||e.constraints){const r={path:ce(e),type:e.type,targetType:e.targetType,parameters:e.parameters,formatOptions:e.formatOptions,constraints:e.constraints};const a=ue(r,false,false,true);if(n){return`${t}${a}`}return a}else if(n){return`${t}{${ce(e)}}`}else{return`{${ce(e)}}`}}function ie(e){if(e.bindingParameters.length===1){return`{${de(e.bindingParameters[0],true)}, type: '${e.type}'}`}let n=`], type: '${e.type}'`;if(fe(e.formatOptions)){n+=`, formatOptions: ${ue(e.formatOptions)}`}if(fe(e.parameters)){n+=`, parameters: ${ue(e.parameters)}`}n+="}";return`{mode:'TwoWay', parts:[${e.bindingParameters.map(e=>de(e)).join(",")}${n}`}function se(e,n){let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(n){if(t){return`(${e})`}else{return e}}else{return`{= ${e}}`}}function ue(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;let r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;const a=$(e);const o=t?"$":"%";switch(a._type){case"Unresolvable":return undefined;case"Constant":return ae(a,n,r);case"Ref":return a.ref||"null";case"Function":const e=`${a.parameters.map(e=>ue(e,true)).join(", ")}`;return a.obj===undefined?`${a.fn}(${e})`:`${ue(a.obj,true)}.${a.fn}(${e})`;case"EmbeddedExpressionBinding":return n?`(${a.value.substring(2,a.value.length-1)})`:`${a.value}`;case"EmbeddedBinding":return n?`${o}${a.value}`:`${a.value}`;case"PathInModel":return oe(a,n,o);case"Comparison":const t=le(a);return se(t,n);case"IfElse":const i=`${ue(a.condition,true)} ? ${ue(a.onTrue,true)} : ${ue(a.onFalse,true)}`;return se(i,n,true);case"Set":const s=a.operands.map(e=>ue(e,true)).join(` ${a.operator} `);return se(s,n,true);case"Concat":const u=a.expressions.map(e=>ue(e,true,true)).join(" + ");return se(u,n);case"Length":const l=`${ue(a.pathInModel,true)}.length`;return se(l,n);case"Not":const p=`!${ue(a.operand,true)}`;return se(p,n);case"Truthy":const d=`!!${ue(a.operand,true)}`;return se(d,n);case"Formatter":const f=pe(a);return n?`$${f}`:f;case"ComplexType":const c=ie(a);return n?`$${c}`:c;default:return""}}n.compileExpression=ue;function le(e){function n(e){const n=ue(e,true)??"undefined";return se(n,true,te(e))}return`${n(e.operand1)} ${e.operator} ${n(e.operand2)}`}function pe(e){if(e.parameters.length===1){return`{${de(e.parameters[0],true)}, formatter: '${e.fn}'}`}else{const n=e.parameters.map(e=>{if(e._type==="ComplexType"){return ie(e)}else{return de(e)}});return`{parts: [${n.join(", ")}], formatter: '${e.fn}'}`}}function de(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let t="";if(e._type==="Constant"){if(e.value===undefined){t=`value: 'undefined'`}else{t=`value: ${ae(e,true)}`}}else if(e._type==="PathInModel"){t=`path: '${ce(e)}'`;t+=e.type?`, type: '${e.type}'`:`, targetType: 'any'`;if(fe(e.mode)){t+=`, mode: '${ue(e.mode)}'`}if(fe(e.constraints)){t+=`, constraints: ${ue(e.constraints)}`}if(fe(e.formatOptions)){t+=`, formatOptions: ${ue(e.formatOptions)}`}if(fe(e.parameters)){t+=`, parameters: ${ue(e.parameters)}`}}else{return""}return n?t:`{${t}}`}function fe(e){return e&&Object.keys(e).length>0}function ce(e){return`${e.modelName?`${e.modelName}>`:""}${e.path}`}return n},false);
|
|
5
|
+
sap.ui.define(["./AnnotationEnum"],function(e){"use strict";var n={};var t=e.resolveEnumValue;const r={"Edm.Boolean":{type:"sap.ui.model.odata.type.Boolean"},"Edm.Byte":{type:"sap.ui.model.odata.type.Byte"},"Edm.Date":{type:"sap.ui.model.odata.type.Date"},"Edm.DateTimeOffset":{constraints:{$Precision:"precision",$V4:"V4"},type:"sap.ui.model.odata.type.DateTimeOffset"},"Edm.Decimal":{constraints:{"@Org.OData.Validation.V1.Minimum/$Decimal":"minimum","@Org.OData.Validation.V1.Minimum@Org.OData.Validation.V1.Exclusive":"minimumExclusive","@Org.OData.Validation.V1.Maximum/$Decimal":"maximum","@Org.OData.Validation.V1.Maximum@Org.OData.Validation.V1.Exclusive":"maximumExclusive",$Precision:"precision",$Scale:"scale"},type:"sap.ui.model.odata.type.Decimal"},"Edm.Double":{type:"sap.ui.model.odata.type.Double"},"Edm.Guid":{type:"sap.ui.model.odata.type.Guid"},"Edm.Int16":{type:"sap.ui.model.odata.type.Int16"},"Edm.Int32":{type:"sap.ui.model.odata.type.Int32"},"Edm.Int64":{type:"sap.ui.model.odata.type.Int64"},"Edm.SByte":{type:"sap.ui.model.odata.type.SByte"},"Edm.Single":{type:"sap.ui.model.odata.type.Single"},"Edm.Stream":{type:"sap.ui.model.odata.type.Stream"},"Edm.Binary":{type:"sap.ui.model.odata.type.Stream"},"Edm.String":{constraints:{"@com.sap.vocabularies.Common.v1.IsDigitSequence":"isDigitSequence",$MaxLength:"maxLength",$Nullable:"nullable"},type:"sap.ui.model.odata.type.String"},"Edm.TimeOfDay":{constraints:{$Precision:"precision"},type:"sap.ui.model.odata.type.TimeOfDay"}};n.EDM_TYPE_MAPPING=r;const a={_type:"Unresolvable"};n.unresolvableExpression=a;function o(e){return e.replace(/'/g,"\\'")}function i(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}return n.find(e=>e._type==="Unresolvable")!==undefined}n.hasUnresolvableExpression=i;function s(e,n){if(e._type!==n._type){return false}switch(e._type){case"Unresolvable":return false;case"Constant":case"EmbeddedBinding":case"EmbeddedExpressionBinding":return e.value===n.value;case"Not":return s(e.operand,n.operand);case"Truthy":return s(e.operand,n.operand);case"Set":return e.operator===n.operator&&e.operands.length===n.operands.length&&e.operands.every(e=>n.operands.some(n=>s(e,n)));case"IfElse":return s(e.condition,n.condition)&&s(e.onTrue,n.onTrue)&&s(e.onFalse,n.onFalse);case"Comparison":return e.operator===n.operator&&s(e.operand1,n.operand1)&&s(e.operand2,n.operand2);case"Concat":const t=e.expressions;const r=n.expressions;if(t.length!==r.length){return false}return t.every((e,n)=>s(e,r[n]));case"Length":return s(e.pathInModel,n.pathInModel);case"PathInModel":return e.modelName===n.modelName&&e.path===n.path&&e.targetEntitySet===n.targetEntitySet;case"Formatter":return e.fn===n.fn&&e.parameters.length===n.parameters.length&&e.parameters.every((e,t)=>s(n.parameters[t],e));case"ComplexType":return e.type===n.type&&e.bindingParameters.length===n.bindingParameters.length&&e.bindingParameters.every((e,t)=>s(n.bindingParameters[t],e));case"Function":const a=n;if(e.obj===undefined||a.obj===undefined){return e.obj===a}return e.fn===a.fn&&s(e.obj,a.obj)&&e.parameters.length===a.parameters.length&&e.parameters.every((e,n)=>s(a.parameters[n],e));case"Ref":return e.ref===n.ref}return false}n._checkExpressionsAreEqual=s;function u(e){return e.operands.reduce((n,t)=>{const r=t._type==="Set"&&t.operator===e.operator?t.operands:[t];r.forEach(e=>{if(n.operands.every(n=>!s(n,e))){n.operands.push(e)}});return n},{_type:"Set",operator:e.operator,operands:[]})}function l(e){const n=e.map(f);return e.some((e,t)=>{for(let r=t+1;r<n.length;r++){if(s(e,n[r])){return true}}return false})}function p(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}const r=u({_type:"Set",operator:"&&",operands:n.map($)}).operands;if(i(...r)){return a}let o=false;const s=r.filter(e=>{if(I(e)){o=true}return!E(e)});if(o){return v(false)}else if(s.length===0){const e=r.reduce((e,n)=>e&&O(n),true);return v(e)}else if(s.length===1){return s[0]}else if(l(s)){return v(false)}else{return{_type:"Set",operator:"&&",operands:s}}}n.and=p;function d(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}const r=u({_type:"Set",operator:"||",operands:n.map($)}).operands;if(i(...r)){return a}let o=false;const s=r.filter(e=>{if(O(e)){o=true}return!E(e)||e.value});if(o){return v(true)}else if(s.length===0){const e=r.reduce((e,n)=>e&&O(n),true);return v(e)}else if(s.length===1){return s[0]}else if(l(s)){return v(true)}else{return{_type:"Set",operator:"||",operands:s}}}n.or=d;function f(e){e=$(e);if(i(e)){return a}else if(E(e)){return v(!e.value)}else if(typeof e==="object"&&e._type==="Set"&&e.operator==="||"&&e.operands.every(e=>E(e)||P(e))){return p(...e.operands.map(e=>f(e)))}else if(typeof e==="object"&&e._type==="Set"&&e.operator==="&&"&&e.operands.every(e=>E(e)||P(e))){return d(...e.operands.map(e=>f(e)))}else if(P(e)){switch(e.operator){case"!==":return{...e,operator:"==="};case"<":return{...e,operator:">="};case"<=":return{...e,operator:">"};case"===":return{...e,operator:"!=="};case">":return{...e,operator:"<="};case">=":return{...e,operator:"<"}}}else if(e._type==="Not"){return e.operand}return{_type:"Not",operand:e}}n.not=f;function c(e){if(E(e)){return v(!!e.value)}else{return{_type:"Truthy",operand:e}}}n.isTruthy=c;function m(e,n){let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];let r=arguments.length>3?arguments[3]:undefined;return y(e,n,t,r)}n.bindingExpression=m;function y(e,n){let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];let r=arguments.length>3?arguments[3]:undefined;if(e===undefined){return a}let o;if(r){o=r(e);if(o===undefined){return a}}else{const n=t.concat();n.push(e);o=n.join("/")}return{_type:"PathInModel",modelName:n,path:o}}n.pathInModel=y;function v(e){let n;if(typeof e==="object"&&e!==null&&e!==undefined){if(Array.isArray(e)){n=e.map($)}else if(F(e)){n=e.valueOf()}else{n=Object.entries(e).reduce((e,n)=>{let[t,r]=n;const a=$(r);if(a._type!=="Constant"||a.value!==undefined){e[t]=a}return e},{})}}else{n=e}return{_type:"Constant",value:n}}n.constant=v;function h(e,n){if(e!==undefined&&typeof e==="string"&&e.startsWith("{")){const n=/^{(.*)>(.+)}$/;const t=n.exec(e);if(e.startsWith("{=")){return{_type:"EmbeddedExpressionBinding",value:e}}else if(t){return y(t[2]||"",t[1]||undefined)}else{return{_type:"EmbeddedBinding",value:e}}}else if(n==="boolean"&&typeof e==="string"&&(e==="true"||e==="false")){return v(e==="true")}else if(n==="number"&&typeof e==="string"&&(!isNaN(Number(e))||e==="NaN")){return v(Number(e))}else{return v(e)}}n.resolveBindingString=h;function g(e){return{_type:"Ref",ref:e}}n.ref=g;function $(e){if(b(e)){return e}return v(e)}function b(e){return(e===null||e===void 0?void 0:e._type)!==undefined}n.isBindingToolkitExpression=b;function E(e){return typeof e!=="object"||e._type==="Constant"}n.isConstant=E;function O(e){return E(e)&&e.value===true}function I(e){return E(e)&&e.value===false}function _(e){return(e===null||e===void 0?void 0:e._type)==="PathInModel"}n.isPathInModelExpression=_;function x(e){return(e===null||e===void 0?void 0:e._type)==="ComplexType"}n.isComplexTypeExpression=x;function C(e){return(e===null||e===void 0?void 0:e._type)==="Concat"}function P(e){return e._type==="Comparison"}function S(e){const n=e;return(n===null||n===void 0?void 0:n._type)==="Constant"&&(n===null||n===void 0?void 0:n.value)===undefined}n.isUndefinedExpression=S;function F(e){switch(e.constructor.name){case"String":case"Number":case"Boolean":return true;default:return false}}function T(e){return typeof e==="object"&&!F(e)}function N(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let t=arguments.length>2?arguments[2]:undefined;let r=arguments.length>3?arguments[3]:undefined;return M(e,n,t,r)}n.annotationExpression=N;function M(e){var n;let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let r=arguments.length>2?arguments[2]:undefined;let o=arguments.length>3?arguments[3]:undefined;if(e===undefined){return $(r)}e=(n=e)===null||n===void 0?void 0:n.valueOf();if(!T(e)){return v(e)}switch(e.type){case"Path":return y(e.path,undefined,t,o);case"If":return D(e.If,t,o);case"Not":return f(w(e.Not,t,o));case"Eq":return L(w(e.Eq[0],t,o),w(e.Eq[1],t,o));case"Ne":return k(w(e.Ne[0],t,o),w(e.Ne[1],t,o));case"Gt":return q(w(e.Gt[0],t,o),w(e.Gt[1],t,o));case"Ge":return B(w(e.Ge[0],t,o),w(e.Ge[1],t,o));case"Lt":return U(w(e.Lt[0],t,o),w(e.Lt[1],t,o));case"Le":return G(w(e.Le[0],t,o),w(e.Le[1],t,o));case"Or":return d(...e.Or.map(function(e){return w(e,t,o)}));case"And":return p(...e.And.map(function(e){return w(e,t,o)}));case"Apply":return A(e,t,o)}return a}n.getExpressionFromAnnotation=M;function w(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let r=arguments.length>2?arguments[2]:undefined;if(e===null||typeof e!=="object"){return v(e)}else if(e.hasOwnProperty("$Or")){return d(...e.$Or.map(function(e){return w(e,n,r)}))}else if(e.hasOwnProperty("$And")){return p(...e.$And.map(function(e){return w(e,n,r)}))}else if(e.hasOwnProperty("$Not")){return f(w(e.$Not,n,r))}else if(e.hasOwnProperty("$Eq")){return L(w(e.$Eq[0],n,r),w(e.$Eq[1],n,r))}else if(e.hasOwnProperty("$Ne")){return k(w(e.$Ne[0],n,r),w(e.$Ne[1],n,r))}else if(e.hasOwnProperty("$Gt")){return q(w(e.$Gt[0],n,r),w(e.$Gt[1],n,r))}else if(e.hasOwnProperty("$Ge")){return B(w(e.$Ge[0],n,r),w(e.$Ge[1],n,r))}else if(e.hasOwnProperty("$Lt")){return U(w(e.$Lt[0],n,r),w(e.$Lt[1],n,r))}else if(e.hasOwnProperty("$Le")){return G(w(e.$Le[0],n,r),w(e.$Le[1],n,r))}else if(e.hasOwnProperty("$Path")){return y(e.$Path,undefined,n,r)}else if(e.hasOwnProperty("$Apply")){return M({type:"Apply",Function:e.$Function,Apply:e.$Apply},n,undefined,r)}else if(e.hasOwnProperty("$If")){return M({type:"If",If:e.$If},n,undefined,r)}else if(e.hasOwnProperty("$EnumMember")){return v(t(e.$EnumMember))}return v(false)}function D(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let t=arguments.length>2?arguments[2]:undefined;return Y(w(e[0],n,t),w(e[1],n,t),w(e[2],n,t))}n.annotationIfExpression=D;function A(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];let t=arguments.length>2?arguments[2]:undefined;switch(e.Function){case"odata.concat":return ee(...e.Apply.map(e=>{let r=e;if(e.hasOwnProperty("$Path")){r={type:"Path",path:e.$Path}}else if(e.hasOwnProperty("$If")){r={type:"If",If:e.$If}}else if(e.hasOwnProperty("$Apply")){r={type:"Apply",Function:e.$Function,Apply:e.$Apply}}return M(r,n,undefined,t)}))}return a}n.annotationApplyExpression=A;function j(e,n,t){const r=$(n);const o=$(t);if(i(r,o)){return a}if(E(r)&&E(o)){switch(e){case"!==":return v(r.value!==o.value);case"===":return v(r.value===o.value);case"<":return v(r.value<o.value);case"<=":return v(r.value<=o.value);case">":return v(r.value>o.value);case">=":return v(r.value>=o.value)}}else{return{_type:"Comparison",operator:e,operand1:r,operand2:o}}}function V(e){if(e._type==="Unresolvable"){return e}return{_type:"Length",pathInModel:e}}n.length=V;function L(e,n){const t=$(e);const r=$(n);if(i(t,r)){return a}if(s(t,r)){return v(true)}function o(e,n){if(e._type==="Comparison"&&O(n)){return e}else if(e._type==="Comparison"&&I(n)){return f(e)}else if(e._type==="IfElse"&&s(e.onTrue,n)){return d(e.condition,L(e.onFalse,n))}else if(e._type==="IfElse"&&s(e.onFalse,n)){return d(f(e.condition),L(e.onTrue,n))}else if(e._type==="IfElse"&&E(e.onTrue)&&E(e.onFalse)&&E(n)&&!s(e.onTrue,n)&&!s(e.onFalse,n)){return v(false)}return undefined}const u=o(t,r)??o(r,t);return u??j("===",t,r)}n.equal=L;function k(e,n){return f(L(e,n))}n.notEqual=k;function B(e,n){return j(">=",e,n)}n.greaterOrEqual=B;function q(e,n){return j(">",e,n)}n.greaterThan=q;function G(e,n){return j("<=",e,n)}n.lessOrEqual=G;function U(e,n){return j("<",e,n)}n.lessThan=U;function Y(e,n,t){let r=$(e);let o=$(n);let u=$(t);if(i(r,o,u)){return a}if(r._type==="Not"){[o,u]=[u,o];r=f(r)}if(o._type==="IfElse"&&s(r,o.condition)){o=o.onTrue}if(u._type==="IfElse"&&s(r,u.condition)){u=u.onFalse}if(E(r)){return r.value?o:u}if(s(o,u)){return o}if(I(u)){return p(r,o)}if(O(u)){return d(f(r),o)}if(I(o)){return p(f(r),u)}if(O(o)){return d(r,u)}if(x(e)||x(n)||x(t)){let r=0;const a=R([e,n,t],"sap.fe.core.formatters.StandardFormatter#ifElse");const o=[];ne(a,"PathInModel",e=>{o.push(e);return y(`$${r++}`,"$")},true);o.unshift(v(JSON.stringify(a)));return R(o,"sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression",undefined,true)}return{_type:"IfElse",condition:r,onTrue:o,onFalse:u}}n.ifElse=Y;function W(e){switch(e._type){case"Constant":case"Formatter":case"ComplexType":return false;case"Set":return e.operands.some(W);case"PathInModel":return e.modelName===undefined;case"Comparison":return W(e.operand1)||W(e.operand2);case"IfElse":return W(e.condition)||W(e.onTrue)||W(e.onFalse);case"Not":case"Truthy":return W(e.operand);default:return false}}function R(e,n,t){let r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;const o=e.map($);if(i(...o)){return a}if(t){if(!o.some(W)){t.keys.forEach(e=>o.push(y(e.name,"")))}}let s="";if(typeof n==="string"){s=n}else{s=n.__functionName}const[u,l]=s.split("#");if(!r&&(o.some(x)||o.some(C))){let e=0;const n=R(o,s,undefined,true);const t=[];ne(n,"PathInModel",n=>{t.push(n);return y(`$${e++}`,"$")});t.unshift(v(JSON.stringify(n)));return R(t,"sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression",undefined,true)}else if(!!l&&l.length>0){o.unshift(v(l))}return{_type:"Formatter",fn:u,parameters:o}}n.formatResult=R;function Q(e,n){var t,r,a,o,i,s,u,l,p,d,f,c,m;const y={};if(e!==null&&e!==void 0&&(t=e.constraints)!==null&&t!==void 0&&t.$Scale&&n.scale!==undefined){y.scale=n.scale}if(e!==null&&e!==void 0&&(r=e.constraints)!==null&&r!==void 0&&r.$Precision&&n.precision!==undefined){y.precision=n.precision}if(e!==null&&e!==void 0&&(a=e.constraints)!==null&&a!==void 0&&a.$MaxLength&&n.maxLength!==undefined){y.maxLength=n.maxLength}if(n.nullable===false){y.nullable=false}if(e!==null&&e!==void 0&&(o=e.constraints)!==null&&o!==void 0&&o["@Org.OData.Validation.V1.Minimum/$Decimal"]&&!isNaN((i=n.annotations)===null||i===void 0?void 0:(s=i.Validation)===null||s===void 0?void 0:s.Minimum)){var v,h;y.minimum=`${(v=n.annotations)===null||v===void 0?void 0:(h=v.Validation)===null||h===void 0?void 0:h.Minimum}`}if(e!==null&&e!==void 0&&(u=e.constraints)!==null&&u!==void 0&&u["@Org.OData.Validation.V1.Maximum/$Decimal"]&&!isNaN((l=n.annotations)===null||l===void 0?void 0:(p=l.Validation)===null||p===void 0?void 0:p.Maximum)){var g,$;y.maximum=`${(g=n.annotations)===null||g===void 0?void 0:($=g.Validation)===null||$===void 0?void 0:$.Maximum}`}if((d=n.annotations)!==null&&d!==void 0&&(f=d.Common)!==null&&f!==void 0&&f.IsDigitSequence&&e.type==="sap.ui.model.odata.type.String"&&e!==null&&e!==void 0&&(c=e.constraints)!==null&&c!==void 0&&c["@com.sap.vocabularies.Common.v1.IsDigitSequence"]){y.isDigitSequence=true}if(e!==null&&e!==void 0&&(m=e.constraints)!==null&&m!==void 0&&m.$V4){y.V4=true}return y}n.setUpConstraints=Q;function J(e,n){var t;let a=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;const o=n;if(e._type!=="Property"){return o}const i=r[e.type];if(!i){return o}if(!o.formatOptions){o.formatOptions={}}o.constraints={};o.type=i.type;if(!a){o.constraints=Q(i,e)}if((o===null||o===void 0?void 0:(t=o.type)===null||t===void 0?void 0:t.indexOf("sap.ui.model.odata.type.Int"))===0&&(o===null||o===void 0?void 0:o.type)!=="sap.ui.model.odata.type.Int64"||(o===null||o===void 0?void 0:o.type)==="sap.ui.model.odata.type.Double"){o.formatOptions=Object.assign(o.formatOptions,{parseAsString:false})}if(o.type==="sap.ui.model.odata.type.String"){o.formatOptions.parseKeepsEmptyString=true;const n=K(e);if(n){o.formatOptions.fiscalType=n;o.type="sap.fe.core.type.FiscalDate"}}if(o.type==="sap.ui.model.odata.type.Decimal"||(o===null||o===void 0?void 0:o.type)==="sap.ui.model.odata.type.Int64"){o.formatOptions=Object.assign(o.formatOptions,{emptyString:""})}return o}n.formatWithTypeInformation=J;const K=function(e){var n,t,r,a,o,i,s,u,l,p,d,f,c,m,y,v;if((n=e.annotations)!==null&&n!==void 0&&(t=n.Common)!==null&&t!==void 0&&t.IsFiscalYear){return"com.sap.vocabularies.Common.v1.IsFiscalYear"}if((r=e.annotations)!==null&&r!==void 0&&(a=r.Common)!==null&&a!==void 0&&a.IsFiscalPeriod){return"com.sap.vocabularies.Common.v1.IsFiscalPeriod"}if((o=e.annotations)!==null&&o!==void 0&&(i=o.Common)!==null&&i!==void 0&&i.IsFiscalYearPeriod){return"com.sap.vocabularies.Common.v1.IsFiscalYearPeriod"}if((s=e.annotations)!==null&&s!==void 0&&(u=s.Common)!==null&&u!==void 0&&u.IsFiscalQuarter){return"com.sap.vocabularies.Common.v1.IsFiscalQuarter"}if((l=e.annotations)!==null&&l!==void 0&&(p=l.Common)!==null&&p!==void 0&&p.IsFiscalYearQuarter){return"com.sap.vocabularies.Common.v1.IsFiscalYearQuarter"}if((d=e.annotations)!==null&&d!==void 0&&(f=d.Common)!==null&&f!==void 0&&f.IsFiscalWeek){return"com.sap.vocabularies.Common.v1.IsFiscalWeek"}if((c=e.annotations)!==null&&c!==void 0&&(m=c.Common)!==null&&m!==void 0&&m.IsFiscalYearWeek){return"com.sap.vocabularies.Common.v1.IsFiscalYearWeek"}if((y=e.annotations)!==null&&y!==void 0&&(v=y.Common)!==null&&v!==void 0&&v.IsDayOfFiscalYear){return"com.sap.vocabularies.Common.v1.IsDayOfFiscalYear"}};n.getFiscalType=K;function z(e,n,t,r){const o=e.map($);if(i(...o)){return a}if(o.length===1&&E(o[0])&&!t){return o[0]}else if(t){if(!o.some(W)){t.keys.forEach(e=>o.push(y(e.name,"")))}}r=H(e[0],r);if(n==="sap.ui.model.odata.type.Unit"){const e=y("/##@@requestUnitsOfMeasure");e.targetType="any";e.mode="OneTime";o.push(e)}else if(n==="sap.ui.model.odata.type.Currency"){const e=y("/##@@requestCurrencyCodes");e.targetType="any";e.mode="OneTime";o.push(e)}return{_type:"ComplexType",type:n,formatOptions:r||{},parameters:{},bindingParameters:o}}n.addTypeInformation=z;function H(e,n){var t,r;if(!(n&&n.showNumber===false)&&((e===null||e===void 0?void 0:(t=e.type)===null||t===void 0?void 0:t.indexOf("sap.ui.model.odata.type.Int"))===0||(e===null||e===void 0?void 0:e.type)==="sap.ui.model.odata.type.Decimal"||(e===null||e===void 0?void 0:e.type)==="sap.ui.model.odata.type.Double")){if((e===null||e===void 0?void 0:e.type)==="sap.ui.model.odata.type.Int64"||(e===null||e===void 0?void 0:e.type)==="sap.ui.model.odata.type.Decimal"){var a;n=((a=n)===null||a===void 0?void 0:a.showMeasure)===false?{emptyString:"",showMeasure:false}:{emptyString:""}}else{var o;n=((o=n)===null||o===void 0?void 0:o.showMeasure)===false?{parseAsString:false,showMeasure:false}:{parseAsString:false}}}if((e===null||e===void 0?void 0:(r=e.constraints)===null||r===void 0?void 0:r.nullable)!==false){var i;(i=n)===null||i===void 0?true:delete i.emptyString}return n}function X(e,n,t){const r=typeof e==="string"?e:e.__functionName;return{_type:"Function",obj:t!==undefined?$(t):undefined,fn:r,parameters:n.map($)}}n.fn=X;function Z(e){const n=[];ne(e,"PathInModel",e=>{n.push(d(L(e,""),L(e,undefined),L(e,null)));return e});return p(...n)}n.isEmpty=Z;function ee(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++){n[t]=arguments[t]}const r=n.map($);if(i(...r)){return a}if(r.every(E)){return v(r.reduce((e,n)=>{if(n.value!==undefined){return e+n.value.toString()}return e},""))}else if(r.some(x)){let e=0;const n=R(r,"sap.fe.core.formatters.StandardFormatter#concat",undefined,true);const t=[];ne(n,"PathInModel",n=>{t.push(n);return y(`$${e++}`,"$")});t.unshift(v(JSON.stringify(n)));return R(t,"sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression",undefined,true)}return{_type:"Concat",expressions:r}}n.concat=ee;function ne(e,n,t){let r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;let a=e;switch(a._type){case"Function":case"Formatter":a.parameters=a.parameters.map(e=>ne(e,n,t,r));break;case"Concat":a.expressions=a.expressions.map(e=>ne(e,n,t,r));a=ee(...a.expressions);break;case"ComplexType":a.bindingParameters=a.bindingParameters.map(e=>ne(e,n,t,r));break;case"IfElse":const e=ne(a.onTrue,n,t,r);const o=ne(a.onFalse,n,t,r);let i=a.condition;if(r){i=ne(a.condition,n,t,r)}a=Y(i,e,o);break;case"Not":if(r){const e=ne(a.operand,n,t,r);a=f(e)}break;case"Truthy":break;case"Set":if(r){const e=a.operands.map(e=>ne(e,n,t,r));a=a.operator==="||"?d(...e):p(...e)}break;case"Comparison":if(r){const e=ne(a.operand1,n,t,r);const o=ne(a.operand2,n,t,r);a=j(a.operator,e,o)}break;case"Ref":case"Length":case"PathInModel":case"Constant":case"EmbeddedBinding":case"EmbeddedExpressionBinding":case"Unresolvable":break}if(n===a._type){a=t(e)}return a}n.transformRecursively=ne;const te=function(e){return!E(e)&&!_(e)&&b(e)&&e._type!=="IfElse"&&e._type!=="Function"};function re(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(n&&Object.keys(e.value).length===0){return""}const t=e.value;const r=[];Object.keys(t).forEach(e=>{const a=t[e];const o=ue(a,true,false,n);if(o&&o.length>0){r.push(`${e}: ${o}`)}});return`{${r.join(", ")}}`}function ae(e,n){let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;let r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;if(e.value===null){return r?null:"null"}if(e.value===undefined){return r?undefined:"undefined"}if(typeof e.value==="object"){if(Array.isArray(e.value)){const n=e.value.map(e=>ue(e,true));return`[${n.join(", ")}]`}else{return re(e,t)}}if(n){switch(typeof e.value){case"number":case"bigint":case"boolean":return e.value.toString();case"string":return`'${o(e.value.toString())}'`;default:return""}}else{return r?e.value:e.value.toString()}}n.compileConstant=ae;function oe(e,n,t){if(e.type||e.parameters||e.targetType||e.formatOptions||e.constraints){const r={path:ce(e),type:e.type,targetType:e.targetType,parameters:e.parameters,formatOptions:e.formatOptions,constraints:e.constraints};const a=ue(r,false,false,true);if(n){return`${t}${a}`}return a}else if(n){return`${t}{${ce(e)}}`}else{return`{${ce(e)}}`}}function ie(e){if(e.bindingParameters.length===1){return`{${de(e.bindingParameters[0],true)}, type: '${e.type}'}`}let n=`], type: '${e.type}'`;if(fe(e.formatOptions)){n+=`, formatOptions: ${ue(e.formatOptions)}`}if(fe(e.parameters)){n+=`, parameters: ${ue(e.parameters)}`}n+="}";return`{mode:'TwoWay', parts:[${e.bindingParameters.map(e=>de(e)).join(",")}${n}`}function se(e,n){let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(n){if(t){return`(${e})`}else{return e}}else{return`{= ${e}}`}}n.wrapBindingExpression=se;function ue(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;let r=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;const a=$(e);const o=t?"$":"%";switch(a._type){case"Unresolvable":return undefined;case"Constant":return ae(a,n,r);case"Ref":return a.ref||"null";case"Function":const e=`${a.parameters.map(e=>ue(e,true)).join(", ")}`;return a.obj===undefined?`${a.fn}(${e})`:`${ue(a.obj,true)}.${a.fn}(${e})`;case"EmbeddedExpressionBinding":return n?`(${a.value.substring(2,a.value.length-1)})`:`${a.value}`;case"EmbeddedBinding":return n?`${o}${a.value}`:`${a.value}`;case"PathInModel":return oe(a,n,o);case"Comparison":const t=le(a);return se(t,n);case"IfElse":const i=`${ue(a.condition,true)} ? ${ue(a.onTrue,true)} : ${ue(a.onFalse,true)}`;return se(i,n,true);case"Set":const s=a.operands.map(e=>ue(e,true)).join(` ${a.operator} `);return se(s,n,true);case"Concat":const u=a.expressions.map(e=>ue(e,true,true)).join(" + ");return se(u,n);case"Length":const l=`${ue(a.pathInModel,true)}.length`;return se(l,n);case"Not":const p=`!${ue(a.operand,true)}`;return se(p,n);case"Truthy":const d=`!!${ue(a.operand,true)}`;return se(d,n);case"Formatter":const f=pe(a);return n?`$${f}`:f;case"ComplexType":const c=ie(a);return n?`$${c}`:c;default:return""}}n.compileExpression=ue;function le(e){function n(e){const n=ue(e,true)??"undefined";return se(n,true,te(e))}return`${n(e.operand1)} ${e.operator} ${n(e.operand2)}`}function pe(e){if(e.parameters.length===1){return`{${de(e.parameters[0],true)}, formatter: '${e.fn}'}`}else{const n=e.parameters.map(e=>{if(e._type==="ComplexType"){return ie(e)}else{return de(e)}});return`{parts: [${n.join(", ")}], formatter: '${e.fn}'}`}}function de(e){let n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;let t="";if(e._type==="Constant"){if(e.value===undefined){t=`value: 'undefined'`}else{t=`value: ${ae(e,true)}`}}else if(e._type==="PathInModel"){t=`path: '${ce(e)}'`;t+=e.type?`, type: '${e.type}'`:`, targetType: 'any'`;if(fe(e.mode)){t+=`, mode: '${ue(e.mode)}'`}if(fe(e.constraints)){t+=`, constraints: ${ue(e.constraints)}`}if(fe(e.formatOptions)){t+=`, formatOptions: ${ue(e.formatOptions)}`}if(fe(e.parameters)){t+=`, parameters: ${ue(e.parameters)}`}}else{return""}return n?t:`{${t}}`}function fe(e){return e&&Object.keys(e).length>0}function ce(e){return`${e.modelName?`${e.modelName}>`:""}${e.path}`}return n},false);
|
|
6
6
|
//# sourceMappingURL=BindingToolkit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BindingToolkit.js","names":["sap","ui","define","AnnotationEnum","_exports","resolveEnumValue","EDM_TYPE_MAPPING","type","constraints","$Precision","$V4","$Scale","$MaxLength","$Nullable","unresolvableExpression","_type","escapeXmlAttribute","inputString","replace","hasUnresolvableExpression","_len","arguments","length","expressions","Array","_key","find","expr","undefined","_checkExpressionsAreEqual","a","b","value","operand","operator","operands","every","expression","some","otherExpression","condition","onTrue","onFalse","operand1","operand2","aExpressions","bExpressions","index","pathInModel","modelName","path","targetEntitySet","fn","parameters","bindingParameters","otherFunction","obj","ref","flattenSetExpression","reduce","result","candidatesForFlattening","forEach","candidate","e","push","hasOppositeExpressions","negatedExpressions","map","not","i","and","_len2","_key2","wrapPrimitive","isStaticFalse","nonTrivialExpression","filter","isFalse","isConstant","constant","isValid","isTrue","or","_len3","_key3","isStaticTrue","isComparison","isTruthy","bindingExpression","visitedNavigationPaths","pathVisitor","targetPath","localPath","concat","join","constantValue","isArray","isPrimitiveObject","valueOf","Object","entries","plainExpression","_ref","key","val","wrappedValue","resolveBindingString","targetType","startsWith","pathInModelRegex","pathInModelRegexMatch","exec","isNaN","Number","reference","something","isBindingToolkitExpression","maybeConstant","isPathInModelExpression","maybeBinding","isComplexTypeExpression","isConcatExpression","isUndefinedExpression","expressionAsExpression","objectType","constructor","name","isComplexAnnotationExpression","annotationValue","annotationExpression","defaultValue","getExpressionFromAnnotation","_annotationValue","annotationIfExpression","If","parseAnnotationCondition","Not","equal","Eq","notEqual","Ne","greaterThan","Gt","greaterOrEqual","Ge","lessThan","Lt","lessOrEqual","Le","Or","orCondition","And","andCondition","annotationApplyExpression","hasOwnProperty","$Or","$And","$Not","$Eq","$Ne","$Gt","$Ge","$Lt","$Le","$Path","Function","$Function","Apply","$Apply","$If","$EnumMember","ifElse","applyExpression","applyParam","applyParamConverted","comparison","leftOperand","rightOperand","leftExpression","rightExpression","left","right","reduced","conditionExpression","onTrueExpression","onFalseExpression","pathIdx","myIfElseExpression","formatResult","allParts","transformRecursively","constantPath","unshift","JSON","stringify","hasReferenceToDefaultContext","formatterFunction","contextEntityType","ignoreComplexType","parameterExpressions","keys","functionName","__functionName","formatterClass","formatterName","split","myFormatExpression","setUpConstraints","targetMapping","property","_targetMapping$constr","_targetMapping$constr2","_targetMapping$constr3","_targetMapping$constr4","_property$annotations","_property$annotations2","_targetMapping$constr5","_property$annotations5","_property$annotations6","_property$annotations9","_property$annotations10","_targetMapping$constr6","_targetMapping$constr7","scale","precision","maxLength","nullable","annotations","Validation","Minimum","_property$annotations3","_property$annotations4","minimum","Maximum","_property$annotations7","_property$annotations8","maximum","Common","IsDigitSequence","isDigitSequence","V4","formatWithTypeInformation","propertyBindingExpression","_outExpression$type","ignoreConstraints","outExpression","formatOptions","indexOf","assign","parseAsString","parseKeepsEmptyString","fiscalType","getFiscalType","emptyString","_property$annotations11","_property$annotations12","_property$annotations13","_property$annotations14","_property$annotations15","_property$annotations16","_property$annotations17","_property$annotations18","_property$annotations19","_property$annotations20","_property$annotations21","_property$annotations22","_property$annotations23","_property$annotations24","_property$annotations25","_property$annotations26","IsFiscalYear","IsFiscalPeriod","IsFiscalYearPeriod","IsFiscalQuarter","IsFiscalYearQuarter","IsFiscalWeek","IsFiscalYearWeek","IsDayOfFiscalYear","addTypeInformation","oFormatOptions","_getComplexTypeFormatOptionsFromFirstParam","uomPath","mode","currencyPath","param","_param$type","_param$constraints","showNumber","_formatOptions","showMeasure","_formatOptions2","_formatOptions3","func","on","isEmpty","aBindings","_len4","inExpressions","_key4","concatenated","toString","myConcatExpression","inExpression","expressionType","transformFunction","includeAllExpression","parameter","subExpression","bindingParameter","needParenthesis","compileConstantObject","isNullable","objects","properties","childResult","compileExpression","compileConstant","embeddedInBinding","doNotStringify","compilePathInModelExpression","expressionForBinding","embeddedSeparator","complexBindingDefinition","compilePathInModel","outBinding","compileComplexTypeExpression","compilePathParameter","outputEnd","hasElements","wrapBindingExpression","parenthesisRequired","keepTargetType","argumentString","arg","substring","comparisonExpression","compileComparisonExpression","ifElseExpression","setExpression","concatExpression","nestedExpression","lengthExpression","notExpression","truthyExpression","formatterExpression","compileFormatterExpression","complexTypeExpression","compileOperand","compiledOperand","parts","singlePath","outValue"],"sources":["BindingToolkit-dbg.js"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BindingToolkit.js","names":["sap","ui","define","AnnotationEnum","_exports","resolveEnumValue","EDM_TYPE_MAPPING","type","constraints","$Precision","$V4","$Scale","$MaxLength","$Nullable","unresolvableExpression","_type","escapeXmlAttribute","inputString","replace","hasUnresolvableExpression","_len","arguments","length","expressions","Array","_key","find","expr","undefined","_checkExpressionsAreEqual","a","b","value","operand","operator","operands","every","expression","some","otherExpression","condition","onTrue","onFalse","operand1","operand2","aExpressions","bExpressions","index","pathInModel","modelName","path","targetEntitySet","fn","parameters","bindingParameters","otherFunction","obj","ref","flattenSetExpression","reduce","result","candidatesForFlattening","forEach","candidate","e","push","hasOppositeExpressions","negatedExpressions","map","not","i","and","_len2","_key2","wrapPrimitive","isStaticFalse","nonTrivialExpression","filter","isFalse","isConstant","constant","isValid","isTrue","or","_len3","_key3","isStaticTrue","isComparison","isTruthy","bindingExpression","visitedNavigationPaths","pathVisitor","targetPath","localPath","concat","join","constantValue","isArray","isPrimitiveObject","valueOf","Object","entries","plainExpression","_ref","key","val","wrappedValue","resolveBindingString","targetType","startsWith","pathInModelRegex","pathInModelRegexMatch","exec","isNaN","Number","reference","something","isBindingToolkitExpression","maybeConstant","isPathInModelExpression","maybeBinding","isComplexTypeExpression","isConcatExpression","isUndefinedExpression","expressionAsExpression","objectType","constructor","name","isComplexAnnotationExpression","annotationValue","annotationExpression","defaultValue","getExpressionFromAnnotation","_annotationValue","annotationIfExpression","If","parseAnnotationCondition","Not","equal","Eq","notEqual","Ne","greaterThan","Gt","greaterOrEqual","Ge","lessThan","Lt","lessOrEqual","Le","Or","orCondition","And","andCondition","annotationApplyExpression","hasOwnProperty","$Or","$And","$Not","$Eq","$Ne","$Gt","$Ge","$Lt","$Le","$Path","Function","$Function","Apply","$Apply","$If","$EnumMember","ifElse","applyExpression","applyParam","applyParamConverted","comparison","leftOperand","rightOperand","leftExpression","rightExpression","left","right","reduced","conditionExpression","onTrueExpression","onFalseExpression","pathIdx","myIfElseExpression","formatResult","allParts","transformRecursively","constantPath","unshift","JSON","stringify","hasReferenceToDefaultContext","formatterFunction","contextEntityType","ignoreComplexType","parameterExpressions","keys","functionName","__functionName","formatterClass","formatterName","split","myFormatExpression","setUpConstraints","targetMapping","property","_targetMapping$constr","_targetMapping$constr2","_targetMapping$constr3","_targetMapping$constr4","_property$annotations","_property$annotations2","_targetMapping$constr5","_property$annotations5","_property$annotations6","_property$annotations9","_property$annotations10","_targetMapping$constr6","_targetMapping$constr7","scale","precision","maxLength","nullable","annotations","Validation","Minimum","_property$annotations3","_property$annotations4","minimum","Maximum","_property$annotations7","_property$annotations8","maximum","Common","IsDigitSequence","isDigitSequence","V4","formatWithTypeInformation","propertyBindingExpression","_outExpression$type","ignoreConstraints","outExpression","formatOptions","indexOf","assign","parseAsString","parseKeepsEmptyString","fiscalType","getFiscalType","emptyString","_property$annotations11","_property$annotations12","_property$annotations13","_property$annotations14","_property$annotations15","_property$annotations16","_property$annotations17","_property$annotations18","_property$annotations19","_property$annotations20","_property$annotations21","_property$annotations22","_property$annotations23","_property$annotations24","_property$annotations25","_property$annotations26","IsFiscalYear","IsFiscalPeriod","IsFiscalYearPeriod","IsFiscalQuarter","IsFiscalYearQuarter","IsFiscalWeek","IsFiscalYearWeek","IsDayOfFiscalYear","addTypeInformation","oFormatOptions","_getComplexTypeFormatOptionsFromFirstParam","uomPath","mode","currencyPath","param","_param$type","_param$constraints","showNumber","_formatOptions","showMeasure","_formatOptions2","_formatOptions3","func","on","isEmpty","aBindings","_len4","inExpressions","_key4","concatenated","toString","myConcatExpression","inExpression","expressionType","transformFunction","includeAllExpression","parameter","subExpression","bindingParameter","needParenthesis","compileConstantObject","isNullable","objects","properties","childResult","compileExpression","compileConstant","embeddedInBinding","doNotStringify","compilePathInModelExpression","expressionForBinding","embeddedSeparator","complexBindingDefinition","compilePathInModel","outBinding","compileComplexTypeExpression","compilePathParameter","outputEnd","hasElements","wrapBindingExpression","parenthesisRequired","keepTargetType","argumentString","arg","substring","comparisonExpression","compileComparisonExpression","ifElseExpression","setExpression","concatExpression","nestedExpression","lengthExpression","notExpression","truthyExpression","formatterExpression","compileFormatterExpression","complexTypeExpression","compileOperand","compiledOperand","parts","singlePath","outValue"],"sources":["BindingToolkit-dbg.js"],"mappings":";;;;AAIAA,IAAIC,GAAGC,OAAO,CAAC,oBAAqB,SAAUC,GAC5C,aAEA,IAAIC,EAAW,CAAC,EAChB,IAAIC,EAAmBF,EAAeE,iBACtC,MAAMC,EAAmB,CACvB,cAAe,CACbC,KAAM,mCAER,WAAY,CACVA,KAAM,gCAER,WAAY,CACVA,KAAM,gCAER,qBAAsB,CACpBC,YAAa,CACXC,WAAY,YACZC,IAAK,MAEPH,KAAM,0CAER,cAAe,CACbC,YAAa,CACX,4CAA6C,UAC7C,qEAAsE,mBACtE,4CAA6C,UAC7C,qEAAsE,mBACtEC,WAAY,YACZE,OAAQ,SAEVJ,KAAM,mCAER,aAAc,CACZA,KAAM,kCAER,WAAY,CACVA,KAAM,gCAER,YAAa,CACXA,KAAM,iCAER,YAAa,CACXA,KAAM,iCAER,YAAa,CACXA,KAAM,iCAER,YAAa,CACXA,KAAM,iCAER,aAAc,CACZA,KAAM,kCAER,aAAc,CACZA,KAAM,kCAER,aAAc,CACZA,KAAM,kCAER,aAAc,CACZC,YAAa,CACX,kDAAmD,kBACnDI,WAAY,YACZC,UAAW,YAEbN,KAAM,kCAER,gBAAiB,CACfC,YAAa,CACXC,WAAY,aAEdF,KAAM,sCAOVH,EAASE,iBAAmBA,EAC5B,MAAMQ,EAAyB,CAC7BC,MAAO,gBAETX,EAASU,uBAAyBA,EAClC,SAASE,EAAmBC,GAC1B,OAAOA,EAAYC,QAAQ,KAAM,MACnC,CACA,SAASC,IACP,IAAK,IAAIC,EAAOC,UAAUC,OAAQC,EAAc,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAAQ,CAC9FF,EAAYE,GAAQJ,UAAUI,EAChC,CACA,OAAOF,EAAYG,KAAKC,GAAQA,EAAKZ,QAAU,kBAAoBa,SACrE,CASAxB,EAASe,0BAA4BA,EACrC,SAASU,EAA0BC,EAAGC,GACpC,GAAID,EAAEf,QAAUgB,EAAEhB,MAAO,CACvB,OAAO,KACT,CACA,OAAQe,EAAEf,OACR,IAAK,eACH,OAAO,MAET,IAAK,WACL,IAAK,kBACL,IAAK,4BACH,OAAOe,EAAEE,QAAUD,EAAEC,MACvB,IAAK,MACH,OAAOH,EAA0BC,EAAEG,QAASF,EAAEE,SAChD,IAAK,SACH,OAAOJ,EAA0BC,EAAEG,QAASF,EAAEE,SAChD,IAAK,MACH,OAAOH,EAAEI,WAAaH,EAAEG,UAAYJ,EAAEK,SAASb,SAAWS,EAAEI,SAASb,QAAUQ,EAAEK,SAASC,MAAMC,GAAcN,EAAEI,SAASG,KAAKC,GAAmBV,EAA0BQ,EAAYE,KACzL,IAAK,SACH,OAAOV,EAA0BC,EAAEU,UAAWT,EAAES,YAAcX,EAA0BC,EAAEW,OAAQV,EAAEU,SAAWZ,EAA0BC,EAAEY,QAASX,EAAEW,SACxJ,IAAK,aACH,OAAOZ,EAAEI,WAAaH,EAAEG,UAAYL,EAA0BC,EAAEa,SAAUZ,EAAEY,WAAad,EAA0BC,EAAEc,SAAUb,EAAEa,UACnI,IAAK,SACH,MAAMC,EAAef,EAAEP,YACvB,MAAMuB,EAAef,EAAER,YACvB,GAAIsB,EAAavB,SAAWwB,EAAaxB,OAAQ,CAC/C,OAAO,KACT,CACA,OAAOuB,EAAaT,MAAM,CAACC,EAAYU,IAC9BlB,EAA0BQ,EAAYS,EAAaC,KAE9D,IAAK,SACH,OAAOlB,EAA0BC,EAAEkB,YAAajB,EAAEiB,aACpD,IAAK,cACH,OAAOlB,EAAEmB,YAAclB,EAAEkB,WAAanB,EAAEoB,OAASnB,EAAEmB,MAAQpB,EAAEqB,kBAAoBpB,EAAEoB,gBACrF,IAAK,YACH,OAAOrB,EAAEsB,KAAOrB,EAAEqB,IAAMtB,EAAEuB,WAAW/B,SAAWS,EAAEsB,WAAW/B,QAAUQ,EAAEuB,WAAWjB,MAAM,CAACJ,EAAOe,IAAUlB,EAA0BE,EAAEsB,WAAWN,GAAQf,IAC7J,IAAK,cACH,OAAOF,EAAEvB,OAASwB,EAAExB,MAAQuB,EAAEwB,kBAAkBhC,SAAWS,EAAEuB,kBAAkBhC,QAAUQ,EAAEwB,kBAAkBlB,MAAM,CAACJ,EAAOe,IAAUlB,EAA0BE,EAAEuB,kBAAkBP,GAAQf,IAC7L,IAAK,WACH,MAAMuB,EAAgBxB,EACtB,GAAID,EAAE0B,MAAQ5B,WAAa2B,EAAcC,MAAQ5B,UAAW,CAC1D,OAAOE,EAAE0B,MAAQD,CACnB,CACA,OAAOzB,EAAEsB,KAAOG,EAAcH,IAAMvB,EAA0BC,EAAE0B,IAAKD,EAAcC,MAAQ1B,EAAEuB,WAAW/B,SAAWiC,EAAcF,WAAW/B,QAAUQ,EAAEuB,WAAWjB,MAAM,CAACJ,EAAOe,IAAUlB,EAA0B0B,EAAcF,WAAWN,GAAQf,IACxP,IAAK,MACH,OAAOF,EAAE2B,MAAQ1B,EAAE0B,IAEvB,OAAO,KACT,CAQArD,EAASyB,0BAA4BA,EACrC,SAAS6B,EAAqBrB,GAC5B,OAAOA,EAAWF,SAASwB,OAAO,CAACC,EAAQ3B,KACzC,MAAM4B,EAA0B5B,EAAQlB,QAAU,OAASkB,EAAQC,WAAaG,EAAWH,SAAWD,EAAQE,SAAW,CAACF,GAC1H4B,EAAwBC,QAAQC,IAC9B,GAAIH,EAAOzB,SAASC,MAAM4B,IAAMnC,EAA0BmC,EAAGD,IAAa,CACxEH,EAAOzB,SAAS8B,KAAKF,EACvB,IAEF,OAAOH,CAAM,EACZ,CACD7C,MAAO,MACPmB,SAAUG,EAAWH,SACrBC,SAAU,IAEd,CAQA,SAAS+B,EAAuB3C,GAC9B,MAAM4C,EAAqB5C,EAAY6C,IAAIC,GAC3C,OAAO9C,EAAYe,KAAK,CAACD,EAAYU,KACnC,IAAK,IAAIuB,EAAIvB,EAAQ,EAAGuB,EAAIH,EAAmB7C,OAAQgD,IAAK,CAC1D,GAAIzC,EAA0BQ,EAAY8B,EAAmBG,IAAK,CAChE,OAAO,IACT,CACF,CACA,OAAO,KAAK,EAEhB,CAWA,SAASC,IACP,IAAK,IAAIC,EAAQnD,UAAUC,OAAQa,EAAW,IAAIX,MAAMgD,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAAS,CACjGtC,EAASsC,GAASpD,UAAUoD,EAC9B,CACA,MAAMlD,EAAcmC,EAAqB,CACvC3C,MAAO,MACPmB,SAAU,KACVC,SAAUA,EAASiC,IAAIM,KACtBvC,SACH,GAAIhB,KAA6BI,GAAc,CAC7C,OAAOT,CACT,CACA,IAAI6D,EAAgB,MACpB,MAAMC,EAAuBrD,EAAYsD,OAAOxC,IAC9C,GAAIyC,EAAQzC,GAAa,CACvBsC,EAAgB,IAClB,CACA,OAAQI,EAAW1C,EAAW,GAEhC,GAAIsC,EAAe,CACjB,OAAOK,EAAS,MAClB,MAAO,GAAIJ,EAAqBtD,SAAW,EAAG,CAE5C,MAAM2D,EAAU1D,EAAYoC,OAAO,CAACC,EAAQvB,IAAeuB,GAAUsB,EAAO7C,GAAa,MACzF,OAAO2C,EAASC,EAClB,MAAO,GAAIL,EAAqBtD,SAAW,EAAG,CAC5C,OAAOsD,EAAqB,EAC9B,MAAO,GAAIV,EAAuBU,GAAuB,CACvD,OAAOI,EAAS,MAClB,KAAO,CACL,MAAO,CACLjE,MAAO,MACPmB,SAAU,KACVC,SAAUyC,EAEd,CACF,CAWAxE,EAASmE,IAAMA,EACf,SAASY,IACP,IAAK,IAAIC,EAAQ/D,UAAUC,OAAQa,EAAW,IAAIX,MAAM4D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAAS,CACjGlD,EAASkD,GAAShE,UAAUgE,EAC9B,CACA,MAAM9D,EAAcmC,EAAqB,CACvC3C,MAAO,MACPmB,SAAU,KACVC,SAAUA,EAASiC,IAAIM,KACtBvC,SACH,GAAIhB,KAA6BI,GAAc,CAC7C,OAAOT,CACT,CACA,IAAIwE,EAAe,MACnB,MAAMV,EAAuBrD,EAAYsD,OAAOxC,IAC9C,GAAI6C,EAAO7C,GAAa,CACtBiD,EAAe,IACjB,CACA,OAAQP,EAAW1C,IAAeA,EAAWL,KAAK,GAEpD,GAAIsD,EAAc,CAChB,OAAON,EAAS,KAClB,MAAO,GAAIJ,EAAqBtD,SAAW,EAAG,CAE5C,MAAM2D,EAAU1D,EAAYoC,OAAO,CAACC,EAAQvB,IAAeuB,GAAUsB,EAAO7C,GAAa,MACzF,OAAO2C,EAASC,EAClB,MAAO,GAAIL,EAAqBtD,SAAW,EAAG,CAC5C,OAAOsD,EAAqB,EAC9B,MAAO,GAAIV,EAAuBU,GAAuB,CACvD,OAAOI,EAAS,KAClB,KAAO,CACL,MAAO,CACLjE,MAAO,MACPmB,SAAU,KACVC,SAAUyC,EAEd,CACF,CAQAxE,EAAS+E,GAAKA,EACd,SAASd,EAAIpC,GACXA,EAAUyC,EAAczC,GACxB,GAAId,EAA0Bc,GAAU,CACtC,OAAOnB,CACT,MAAO,GAAIiE,EAAW9C,GAAU,CAC9B,OAAO+C,GAAU/C,EAAQD,MAC3B,MAAO,UAAWC,IAAY,UAAYA,EAAQlB,QAAU,OAASkB,EAAQC,WAAa,MAAQD,EAAQE,SAASC,MAAMC,GAAc0C,EAAW1C,IAAekD,EAAalD,IAAc,CAC1L,OAAOkC,KAAOtC,EAAQE,SAASiC,IAAI/B,GAAcgC,EAAIhC,IACvD,MAAO,UAAWJ,IAAY,UAAYA,EAAQlB,QAAU,OAASkB,EAAQC,WAAa,MAAQD,EAAQE,SAASC,MAAMC,GAAc0C,EAAW1C,IAAekD,EAAalD,IAAc,CAC1L,OAAO8C,KAAMlD,EAAQE,SAASiC,IAAI/B,GAAcgC,EAAIhC,IACtD,MAAO,GAAIkD,EAAatD,GAAU,CAEhC,OAAQA,EAAQC,UACd,IAAK,MACH,MAAO,IACFD,EACHC,SAAU,OAEd,IAAK,IACH,MAAO,IACFD,EACHC,SAAU,MAEd,IAAK,KACH,MAAO,IACFD,EACHC,SAAU,KAEd,IAAK,MACH,MAAO,IACFD,EACHC,SAAU,OAEd,IAAK,IACH,MAAO,IACFD,EACHC,SAAU,MAEd,IAAK,KACH,MAAO,IACFD,EACHC,SAAU,KAGlB,MAAO,GAAID,EAAQlB,QAAU,MAAO,CAClC,OAAOkB,EAAQA,OACjB,CACA,MAAO,CACLlB,MAAO,MACPkB,QAASA,EAEb,CAQA7B,EAASiE,IAAMA,EACf,SAASmB,EAASvD,GAChB,GAAI8C,EAAW9C,GAAU,CACvB,OAAO+C,IAAW/C,EAAQD,MAC5B,KAAO,CACL,MAAO,CACLjB,MAAO,SACPkB,QAASA,EAEb,CACF,CAYA7B,EAASoF,SAAWA,EACpB,SAASC,EAAkBvC,EAAMD,GAC/B,IAAIyC,EAAyBrE,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,GACjG,IAAIsE,EAActE,UAAUC,OAAS,EAAID,UAAU,GAAKO,UACxD,OAAOoB,EAAYE,EAAMD,EAAWyC,EAAwBC,EAC9D,CAYAvF,EAASqF,kBAAoBA,EAC7B,SAASzC,EAAYE,EAAMD,GACzB,IAAIyC,EAAyBrE,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,GACjG,IAAIsE,EAActE,UAAUC,OAAS,EAAID,UAAU,GAAKO,UACxD,GAAIsB,IAAStB,UAAW,CACtB,OAAOd,CACT,CACA,IAAI8E,EACJ,GAAID,EAAa,CACfC,EAAaD,EAAYzC,GACzB,GAAI0C,IAAehE,UAAW,CAC5B,OAAOd,CACT,CACF,KAAO,CACL,MAAM+E,EAAYH,EAAuBI,SACzCD,EAAU5B,KAAKf,GACf0C,EAAaC,EAAUE,KAAK,IAC9B,CACA,MAAO,CACLhF,MAAO,cACPkC,UAAWA,EACXC,KAAM0C,EAEV,CACAxF,EAAS4C,YAAcA,EAQvB,SAASgC,EAAShD,GAChB,IAAIgE,EACJ,UAAWhE,IAAU,UAAYA,IAAU,MAAQA,IAAUJ,UAAW,CACtE,GAAIJ,MAAMyE,QAAQjE,GAAQ,CACxBgE,EAAgBhE,EAAMoC,IAAIM,EAC5B,MAAO,GAAIwB,EAAkBlE,GAAQ,CACnCgE,EAAgBhE,EAAMmE,SACxB,KAAO,CACLH,EAAgBI,OAAOC,QAAQrE,GAAO2B,OAAO,CAAC2C,EAAiBC,KAC7D,IAAKC,EAAKC,GAAOF,EACjB,MAAMG,EAAehC,EAAc+B,GACnC,GAAIC,EAAa3F,QAAU,YAAc2F,EAAa1E,QAAUJ,UAAW,CACzE0E,EAAgBE,GAAOE,CACzB,CACA,OAAOJ,CAAe,EACrB,CAAC,EACN,CACF,KAAO,CACLN,EAAgBhE,CAClB,CACA,MAAO,CACLjB,MAAO,WACPiB,MAAOgE,EAEX,CACA5F,EAAS4E,SAAWA,EACpB,SAAS2B,EAAqB3E,EAAO4E,GACnC,GAAI5E,IAAUJ,kBAAoBI,IAAU,UAAYA,EAAM6E,WAAW,KAAM,CAC7E,MAAMC,EAAmB,gBACzB,MAAMC,EAAwBD,EAAiBE,KAAKhF,GACpD,GAAIA,EAAM6E,WAAW,MAAO,CAE1B,MAAO,CACL9F,MAAO,4BACPiB,MAAOA,EAEX,MAAO,GAAI+E,EAAuB,CAChC,OAAO/D,EAAY+D,EAAsB,IAAM,GAAIA,EAAsB,IAAMnF,UACjF,KAAO,CACL,MAAO,CACLb,MAAO,kBACPiB,MAAOA,EAEX,CACF,MAAO,GAAI4E,IAAe,kBAAoB5E,IAAU,WAAaA,IAAU,QAAUA,IAAU,SAAU,CAC3G,OAAOgD,EAAShD,IAAU,OAC5B,MAAO,GAAI4E,IAAe,iBAAmB5E,IAAU,YAAciF,MAAMC,OAAOlF,KAAWA,IAAU,OAAQ,CAC7G,OAAOgD,EAASkC,OAAOlF,GACzB,KAAO,CACL,OAAOgD,EAAShD,EAClB,CACF,CASA5B,EAASuG,qBAAuBA,EAChC,SAASlD,EAAI0D,GACX,MAAO,CACLpG,MAAO,MACP0C,IAAK0D,EAET,CASA/G,EAASqD,IAAMA,EACf,SAASiB,EAAc0C,GACrB,GAAIC,EAA2BD,GAAY,CACzC,OAAOA,CACT,CACA,OAAOpC,EAASoC,EAClB,CAWA,SAASC,EAA2BhF,GAClC,OAAQA,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAWtB,SAAWa,SACxF,CASAxB,EAASiH,2BAA6BA,EACtC,SAAStC,EAAWuC,GAClB,cAAcA,IAAkB,UAAYA,EAAcvG,QAAU,UACtE,CACAX,EAAS2E,WAAaA,EACtB,SAASG,EAAO7C,GACd,OAAO0C,EAAW1C,IAAeA,EAAWL,QAAU,IACxD,CACA,SAAS8C,EAAQzC,GACf,OAAO0C,EAAW1C,IAAeA,EAAWL,QAAU,KACxD,CASA,SAASuF,EAAwBC,GAC/B,OAAQA,IAAiB,MAAQA,SAAsB,OAAS,EAAIA,EAAazG,SAAW,aAC9F,CASAX,EAASmH,wBAA0BA,EACnC,SAASE,EAAwBD,GAC/B,OAAQA,IAAiB,MAAQA,SAAsB,OAAS,EAAIA,EAAazG,SAAW,aAC9F,CAQAX,EAASqH,wBAA0BA,EACnC,SAASC,EAAmBrF,GAC1B,OAAQA,IAAe,MAAQA,SAAoB,OAAS,EAAIA,EAAWtB,SAAW,QACxF,CASA,SAASwE,EAAalD,GACpB,OAAOA,EAAWtB,QAAU,YAC9B,CAQA,SAAS4G,EAAsBtF,GAC7B,MAAMuF,EAAyBvF,EAC/B,OAAQuF,IAA2B,MAAQA,SAAgC,OAAS,EAAIA,EAAuB7G,SAAW,aAAe6G,IAA2B,MAAQA,SAAgC,OAAS,EAAIA,EAAuB5F,SAAWJ,SAC7P,CACAxB,EAASuH,sBAAwBA,EACjC,SAASzB,EAAkB2B,GACzB,OAAQA,EAAWC,YAAYC,MAC7B,IAAK,SACL,IAAK,SACL,IAAK,UACH,OAAO,KACT,QACE,OAAO,MAEb,CAQA,SAASC,EAA8BC,GACrC,cAAcA,IAAoB,WAAa/B,EAAkB+B,EACnE,CAaA,SAASC,EAAqBD,GAC5B,IAAIvC,EAAyBrE,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,GACjG,IAAI8G,EAAe9G,UAAUC,OAAS,EAAID,UAAU,GAAKO,UACzD,IAAI+D,EAActE,UAAUC,OAAS,EAAID,UAAU,GAAKO,UACxD,OAAOwG,EAA4BH,EAAiBvC,EAAwByC,EAAcxC,EAC5F,CAWAvF,EAAS8H,qBAAuBA,EAChC,SAASE,EAA4BH,GACnC,IAAII,EACJ,IAAI3C,EAAyBrE,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,GACjG,IAAI8G,EAAe9G,UAAUC,OAAS,EAAID,UAAU,GAAKO,UACzD,IAAI+D,EAActE,UAAUC,OAAS,EAAID,UAAU,GAAKO,UACxD,GAAIqG,IAAoBrG,UAAW,CACjC,OAAO8C,EAAcyD,EACvB,CACAF,GAAmBI,EAAmBJ,KAAqB,MAAQI,SAA0B,OAAS,EAAIA,EAAiBlC,UAC3H,IAAK6B,EAA8BC,GAAkB,CACnD,OAAOjD,EAASiD,EAClB,CACA,OAAQA,EAAgB1H,MACtB,IAAK,OACH,OAAOyC,EAAYiF,EAAgB/E,KAAMtB,UAAW8D,EAAwBC,GAC9E,IAAK,KACH,OAAO2C,EAAuBL,EAAgBM,GAAI7C,EAAwBC,GAC5E,IAAK,MACH,OAAOtB,EAAImE,EAAyBP,EAAgBQ,IAAK/C,EAAwBC,IACnF,IAAK,KACH,OAAO+C,EAAMF,EAAyBP,EAAgBU,GAAG,GAAIjD,EAAwBC,GAAc6C,EAAyBP,EAAgBU,GAAG,GAAIjD,EAAwBC,IAC7K,IAAK,KACH,OAAOiD,EAASJ,EAAyBP,EAAgBY,GAAG,GAAInD,EAAwBC,GAAc6C,EAAyBP,EAAgBY,GAAG,GAAInD,EAAwBC,IAChL,IAAK,KACH,OAAOmD,EAAYN,EAAyBP,EAAgBc,GAAG,GAAIrD,EAAwBC,GAAc6C,EAAyBP,EAAgBc,GAAG,GAAIrD,EAAwBC,IACnL,IAAK,KACH,OAAOqD,EAAeR,EAAyBP,EAAgBgB,GAAG,GAAIvD,EAAwBC,GAAc6C,EAAyBP,EAAgBgB,GAAG,GAAIvD,EAAwBC,IACtL,IAAK,KACH,OAAOuD,EAASV,EAAyBP,EAAgBkB,GAAG,GAAIzD,EAAwBC,GAAc6C,EAAyBP,EAAgBkB,GAAG,GAAIzD,EAAwBC,IAChL,IAAK,KACH,OAAOyD,EAAYZ,EAAyBP,EAAgBoB,GAAG,GAAI3D,EAAwBC,GAAc6C,EAAyBP,EAAgBoB,GAAG,GAAI3D,EAAwBC,IACnL,IAAK,KACH,OAAOR,KAAM8C,EAAgBqB,GAAGlF,IAAI,SAAUmF,GAC5C,OAAOf,EAAyBe,EAAa7D,EAAwBC,EACvE,IACF,IAAK,MACH,OAAOpB,KAAO0D,EAAgBuB,IAAIpF,IAAI,SAAUqF,GAC9C,OAAOjB,EAAyBiB,EAAc/D,EAAwBC,EACxE,IACF,IAAK,QACH,OAAO+D,EAA0BzB,EAAiBvC,EAAwBC,GAE9E,OAAO7E,CACT,CAWAV,EAASgI,4BAA8BA,EACvC,SAASI,EAAyBP,GAChC,IAAIvC,EAAyBrE,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,GACjG,IAAIsE,EAActE,UAAUC,OAAS,EAAID,UAAU,GAAKO,UACxD,GAAIqG,IAAoB,aAAeA,IAAoB,SAAU,CACnE,OAAOjD,EAASiD,EAClB,MAAO,GAAIA,EAAgB0B,eAAe,OAAQ,CAChD,OAAOxE,KAAM8C,EAAgB2B,IAAIxF,IAAI,SAAUmF,GAC7C,OAAOf,EAAyBe,EAAa7D,EAAwBC,EACvE,GACF,MAAO,GAAIsC,EAAgB0B,eAAe,QAAS,CACjD,OAAOpF,KAAO0D,EAAgB4B,KAAKzF,IAAI,SAAUqF,GAC/C,OAAOjB,EAAyBiB,EAAc/D,EAAwBC,EACxE,GACF,MAAO,GAAIsC,EAAgB0B,eAAe,QAAS,CACjD,OAAOtF,EAAImE,EAAyBP,EAAgB6B,KAAMpE,EAAwBC,GACpF,MAAO,GAAIsC,EAAgB0B,eAAe,OAAQ,CAChD,OAAOjB,EAAMF,EAAyBP,EAAgB8B,IAAI,GAAIrE,EAAwBC,GAAc6C,EAAyBP,EAAgB8B,IAAI,GAAIrE,EAAwBC,GAC/K,MAAO,GAAIsC,EAAgB0B,eAAe,OAAQ,CAChD,OAAOf,EAASJ,EAAyBP,EAAgB+B,IAAI,GAAItE,EAAwBC,GAAc6C,EAAyBP,EAAgB+B,IAAI,GAAItE,EAAwBC,GAClL,MAAO,GAAIsC,EAAgB0B,eAAe,OAAQ,CAChD,OAAOb,EAAYN,EAAyBP,EAAgBgC,IAAI,GAAIvE,EAAwBC,GAAc6C,EAAyBP,EAAgBgC,IAAI,GAAIvE,EAAwBC,GACrL,MAAO,GAAIsC,EAAgB0B,eAAe,OAAQ,CAChD,OAAOX,EAAeR,EAAyBP,EAAgBiC,IAAI,GAAIxE,EAAwBC,GAAc6C,EAAyBP,EAAgBiC,IAAI,GAAIxE,EAAwBC,GACxL,MAAO,GAAIsC,EAAgB0B,eAAe,OAAQ,CAChD,OAAOT,EAASV,EAAyBP,EAAgBkC,IAAI,GAAIzE,EAAwBC,GAAc6C,EAAyBP,EAAgBkC,IAAI,GAAIzE,EAAwBC,GAClL,MAAO,GAAIsC,EAAgB0B,eAAe,OAAQ,CAChD,OAAOP,EAAYZ,EAAyBP,EAAgBmC,IAAI,GAAI1E,EAAwBC,GAAc6C,EAAyBP,EAAgBmC,IAAI,GAAI1E,EAAwBC,GACrL,MAAO,GAAIsC,EAAgB0B,eAAe,SAAU,CAClD,OAAO3G,EAAYiF,EAAgBoC,MAAOzI,UAAW8D,EAAwBC,EAC/E,MAAO,GAAIsC,EAAgB0B,eAAe,UAAW,CACnD,OAAOvB,EAA4B,CACjC7H,KAAM,QACN+J,SAAUrC,EAAgBsC,UAC1BC,MAAOvC,EAAgBwC,QACtB/E,EAAwB9D,UAAW+D,EACxC,MAAO,GAAIsC,EAAgB0B,eAAe,OAAQ,CAChD,OAAOvB,EAA4B,CACjC7H,KAAM,KACNgI,GAAIN,EAAgByC,KACnBhF,EAAwB9D,UAAW+D,EACxC,MAAO,GAAIsC,EAAgB0B,eAAe,eAAgB,CACxD,OAAO3E,EAAS3E,EAAiB4H,EAAgB0C,aACnD,CACA,OAAO3F,EAAS,MAClB,CAWA,SAASsD,EAAuBL,GAC9B,IAAIvC,EAAyBrE,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,GACjG,IAAIsE,EAActE,UAAUC,OAAS,EAAID,UAAU,GAAKO,UACxD,OAAOgJ,EAAOpC,EAAyBP,EAAgB,GAAIvC,EAAwBC,GAAc6C,EAAyBP,EAAgB,GAAIvC,EAAwBC,GAAc6C,EAAyBP,EAAgB,GAAIvC,EAAwBC,GAC3P,CACAvF,EAASkI,uBAAyBA,EAClC,SAASoB,EAA0BmB,GACjC,IAAInF,EAAyBrE,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,GACjG,IAAIsE,EAActE,UAAUC,OAAS,EAAID,UAAU,GAAKO,UACxD,OAAQiJ,EAAgBP,UACtB,IAAK,eACH,OAAOxE,MAAU+E,EAAgBL,MAAMpG,IAAI0G,IACzC,IAAIC,EAAsBD,EAC1B,GAAIA,EAAWnB,eAAe,SAAU,CACtCoB,EAAsB,CACpBxK,KAAM,OACN2C,KAAM4H,EAAWT,MAErB,MAAO,GAAIS,EAAWnB,eAAe,OAAQ,CAC3CoB,EAAsB,CACpBxK,KAAM,KACNgI,GAAIuC,EAAWJ,IAEnB,MAAO,GAAII,EAAWnB,eAAe,UAAW,CAC9CoB,EAAsB,CACpBxK,KAAM,QACN+J,SAAUQ,EAAWP,UACrBC,MAAOM,EAAWL,OAEtB,CACA,OAAOrC,EAA4B2C,EAAqBrF,EAAwB9D,UAAW+D,EAAY,IAG7G,OAAO7E,CACT,CAWAV,EAASsJ,0BAA4BA,EACrC,SAASsB,EAAW9I,EAAU+I,EAAaC,GACzC,MAAMC,EAAiBzG,EAAcuG,GACrC,MAAMG,EAAkB1G,EAAcwG,GACtC,GAAI/J,EAA0BgK,EAAgBC,GAAkB,CAC9D,OAAOtK,CACT,CACA,GAAIiE,EAAWoG,IAAmBpG,EAAWqG,GAAkB,CAC7D,OAAQlJ,GACN,IAAK,MACH,OAAO8C,EAASmG,EAAenJ,QAAUoJ,EAAgBpJ,OAC3D,IAAK,MACH,OAAOgD,EAASmG,EAAenJ,QAAUoJ,EAAgBpJ,OAC3D,IAAK,IACH,OAAOgD,EAASmG,EAAenJ,MAAQoJ,EAAgBpJ,OACzD,IAAK,KACH,OAAOgD,EAASmG,EAAenJ,OAASoJ,EAAgBpJ,OAC1D,IAAK,IACH,OAAOgD,EAASmG,EAAenJ,MAAQoJ,EAAgBpJ,OACzD,IAAK,KACH,OAAOgD,EAASmG,EAAenJ,OAASoJ,EAAgBpJ,OAE9D,KAAO,CACL,MAAO,CACLjB,MAAO,aACPmB,SAAUA,EACVS,SAAUwI,EACVvI,SAAUwI,EAEd,CACF,CACA,SAAS9J,EAAOe,GACd,GAAIA,EAAWtB,QAAU,eAAgB,CACvC,OAAOsB,CACT,CACA,MAAO,CACLtB,MAAO,SACPiC,YAAaX,EAEjB,CAUAjC,EAASkB,OAASA,EAClB,SAASoH,EAAMuC,EAAaC,GAC1B,MAAMC,EAAiBzG,EAAcuG,GACrC,MAAMG,EAAkB1G,EAAcwG,GACtC,GAAI/J,EAA0BgK,EAAgBC,GAAkB,CAC9D,OAAOtK,CACT,CACA,GAAIe,EAA0BsJ,EAAgBC,GAAkB,CAC9D,OAAOpG,EAAS,KAClB,CACA,SAASrB,EAAO0H,EAAMC,GACpB,GAAID,EAAKtK,QAAU,cAAgBmE,EAAOoG,GAAQ,CAEhD,OAAOD,CACT,MAAO,GAAIA,EAAKtK,QAAU,cAAgB+D,EAAQwG,GAAQ,CAExD,OAAOjH,EAAIgH,EACb,MAAO,GAAIA,EAAKtK,QAAU,UAAYc,EAA0BwJ,EAAK5I,OAAQ6I,GAAQ,CAEnF,OAAOnG,EAAGkG,EAAK7I,UAAWkG,EAAM2C,EAAK3I,QAAS4I,GAChD,MAAO,GAAID,EAAKtK,QAAU,UAAYc,EAA0BwJ,EAAK3I,QAAS4I,GAAQ,CAEpF,OAAOnG,EAAGd,EAAIgH,EAAK7I,WAAYkG,EAAM2C,EAAK5I,OAAQ6I,GACpD,MAAO,GAAID,EAAKtK,QAAU,UAAYgE,EAAWsG,EAAK5I,SAAWsC,EAAWsG,EAAK3I,UAAYqC,EAAWuG,KAAWzJ,EAA0BwJ,EAAK5I,OAAQ6I,KAAWzJ,EAA0BwJ,EAAK3I,QAAS4I,GAAQ,CACnN,OAAOtG,EAAS,MAClB,CACA,OAAOpD,SACT,CAGA,MAAM2J,EAAU5H,EAAOwH,EAAgBC,IAAoBzH,EAAOyH,EAAiBD,GACnF,OAAOI,GAAWP,EAAW,MAAOG,EAAgBC,EACtD,CAUAhL,EAASsI,MAAQA,EACjB,SAASE,EAASqC,EAAaC,GAC7B,OAAO7G,EAAIqE,EAAMuC,EAAaC,GAChC,CAUA9K,EAASwI,SAAWA,EACpB,SAASI,EAAeiC,EAAaC,GACnC,OAAOF,EAAW,KAAMC,EAAaC,EACvC,CAUA9K,EAAS4I,eAAiBA,EAC1B,SAASF,EAAYmC,EAAaC,GAChC,OAAOF,EAAW,IAAKC,EAAaC,EACtC,CAUA9K,EAAS0I,YAAcA,EACvB,SAASM,EAAY6B,EAAaC,GAChC,OAAOF,EAAW,KAAMC,EAAaC,EACvC,CAUA9K,EAASgJ,YAAcA,EACvB,SAASF,EAAS+B,EAAaC,GAC7B,OAAOF,EAAW,IAAKC,EAAaC,EACtC,CAaA9K,EAAS8I,SAAWA,EACpB,SAAS0B,EAAOpI,EAAWC,EAAQC,GACjC,IAAI8I,EAAsB9G,EAAclC,GACxC,IAAIiJ,EAAmB/G,EAAcjC,GACrC,IAAIiJ,EAAoBhH,EAAchC,GACtC,GAAIvB,EAA0BqK,EAAqBC,EAAkBC,GAAoB,CACvF,OAAO5K,CACT,CAEA,GAAI0K,EAAoBzK,QAAU,MAAO,EAEtC0K,EAAkBC,GAAqB,CAACA,EAAmBD,GAC5DD,EAAsBnH,EAAImH,EAC5B,CAIA,GAAIC,EAAiB1K,QAAU,UAAYc,EAA0B2J,EAAqBC,EAAiBjJ,WAAY,CACrHiJ,EAAmBA,EAAiBhJ,MACtC,CAIA,GAAIiJ,EAAkB3K,QAAU,UAAYc,EAA0B2J,EAAqBE,EAAkBlJ,WAAY,CACvHkJ,EAAoBA,EAAkBhJ,OACxC,CAIA,GAAIqC,EAAWyG,GAAsB,CACnC,OAAOA,EAAoBxJ,MAAQyJ,EAAmBC,CACxD,CAOA,GAAI7J,EAA0B4J,EAAkBC,GAAoB,CAClE,OAAOD,CACT,CAGA,GAAI3G,EAAQ4G,GAAoB,CAC9B,OAAOnH,EAAIiH,EAAqBC,EAClC,CAGA,GAAIvG,EAAOwG,GAAoB,CAC7B,OAAOvG,EAAGd,EAAImH,GAAsBC,EACtC,CAGA,GAAI3G,EAAQ2G,GAAmB,CAC7B,OAAOlH,EAAIF,EAAImH,GAAsBE,EACvC,CAGA,GAAIxG,EAAOuG,GAAmB,CAC5B,OAAOtG,EAAGqG,EAAqBE,EACjC,CACA,GAAIjE,EAAwBjF,IAAciF,EAAwBhF,IAAWgF,EAAwB/E,GAAU,CAC7G,IAAIiJ,EAAU,EACd,MAAMC,EAAqBC,EAAa,CAACrJ,EAAWC,EAAQC,GAAU,mDACtE,MAAMoJ,EAAW,GACjBC,GAAqBH,EAAoB,cAAeI,IACtDF,EAAS7H,KAAK+H,GACd,OAAOhJ,EAAY,IAAI2I,MAAa,IAAI,EACvC,MACHG,EAASG,QAAQjH,EAASkH,KAAKC,UAAUP,KACzC,OAAOC,EAAaC,EAAU,qEAAsElK,UAAW,KACjH,CACA,MAAO,CACLb,MAAO,SACPyB,UAAWgJ,EACX/I,OAAQgJ,EACR/I,QAASgJ,EAEb,CAQAtL,EAASwK,OAASA,EAClB,SAASwB,EAA6B/J,GACpC,OAAQA,EAAWtB,OACjB,IAAK,WACL,IAAK,YACL,IAAK,cACH,OAAO,MACT,IAAK,MACH,OAAOsB,EAAWF,SAASG,KAAK8J,GAClC,IAAK,cACH,OAAO/J,EAAWY,YAAcrB,UAClC,IAAK,aACH,OAAOwK,EAA6B/J,EAAWM,WAAayJ,EAA6B/J,EAAWO,UACtG,IAAK,SACH,OAAOwJ,EAA6B/J,EAAWG,YAAc4J,EAA6B/J,EAAWI,SAAW2J,EAA6B/J,EAAWK,SAC1J,IAAK,MACL,IAAK,SACH,OAAO0J,EAA6B/J,EAAWJ,SACjD,QACE,OAAO,MAEb,CAaA,SAAS4J,EAAaxI,EAAYgJ,EAAmBC,GACnD,IAAIC,EAAoBlL,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MAC5F,MAAMmL,EAAuBnJ,EAAWe,IAAIM,GAC5C,GAAIvD,KAA6BqL,GAAuB,CACtD,OAAO1L,CACT,CACA,GAAIwL,EAAmB,CAErB,IAAKE,EAAqBlK,KAAK8J,GAA+B,CAC5DE,EAAkBG,KAAK3I,QAAQ0C,GAAOgG,EAAqBvI,KAAKjB,EAAYwD,EAAIuB,KAAM,KACxF,CACF,CACA,IAAI2E,EAAe,GACnB,UAAWL,IAAsB,SAAU,CACzCK,EAAeL,CACjB,KAAO,CACLK,EAAeL,EAAkBM,cACnC,CAEA,MAAOC,EAAgBC,GAAiBH,EAAaI,MAAM,KAG3D,IAAKP,IAAsBC,EAAqBlK,KAAKmF,IAA4B+E,EAAqBlK,KAAKoF,IAAsB,CAC/H,IAAIiE,EAAU,EACd,MAAMoB,EAAqBlB,EAAaW,EAAsBE,EAAc9K,UAAW,MACvF,MAAMkK,EAAW,GACjBC,GAAqBgB,EAAoB,cAAef,IACtDF,EAAS7H,KAAK+H,GACd,OAAOhJ,EAAY,IAAI2I,MAAa,IAAI,GAE1CG,EAASG,QAAQjH,EAASkH,KAAKC,UAAUY,KACzC,OAAOlB,EAAaC,EAAU,qEAAsElK,UAAW,KACjH,MAAO,KAAMiL,GAAiBA,EAAcvL,OAAS,EAAG,CACtDkL,EAAqBP,QAAQjH,EAAS6H,GACxC,CACA,MAAO,CACL9L,MAAO,YACPqC,GAAIwJ,EACJvJ,WAAYmJ,EAEhB,CACApM,EAASyL,aAAeA,EACxB,SAASmB,EAAiBC,EAAeC,GACvC,IAAIC,EAAuBC,EAAwBC,EAAwBC,EAAwBC,EAAuBC,EAAwBC,EAAwBC,EAAwBC,EAAwBC,EAAwBC,EAAyBC,EAAwBC,EACnS,MAAMvN,EAAc,CAAC,EACrB,GAAIyM,IAAkB,MAAQA,SAAuB,IAAME,EAAwBF,EAAczM,eAAiB,MAAQ2M,SAA+B,GAAKA,EAAsBxM,QAAUuM,EAASc,QAAUpM,UAAW,CAC1NpB,EAAYwN,MAAQd,EAASc,KAC/B,CACA,GAAIf,IAAkB,MAAQA,SAAuB,IAAMG,EAAyBH,EAAczM,eAAiB,MAAQ4M,SAAgC,GAAKA,EAAuB3M,YAAcyM,EAASe,YAAcrM,UAAW,CACrOpB,EAAYyN,UAAYf,EAASe,SACnC,CACA,GAAIhB,IAAkB,MAAQA,SAAuB,IAAMI,EAAyBJ,EAAczM,eAAiB,MAAQ6M,SAAgC,GAAKA,EAAuBzM,YAAcsM,EAASgB,YAActM,UAAW,CACrOpB,EAAY0N,UAAYhB,EAASgB,SACnC,CACA,GAAIhB,EAASiB,WAAa,MAAO,CAC/B3N,EAAY2N,SAAW,KACzB,CACA,GAAIlB,IAAkB,MAAQA,SAAuB,IAAMK,EAAyBL,EAAczM,eAAiB,MAAQ8M,SAAgC,GAAKA,EAAuB,+CAAiDrG,OAAOsG,EAAwBL,EAASkB,eAAiB,MAAQb,SAA+B,OAAS,GAAKC,EAAyBD,EAAsBc,cAAgB,MAAQb,SAAgC,OAAS,EAAIA,EAAuBc,SAAU,CACze,IAAIC,EAAwBC,EAC5BhO,EAAYiO,QAAU,IAAIF,EAAyBrB,EAASkB,eAAiB,MAAQG,SAAgC,OAAS,GAAKC,EAAyBD,EAAuBF,cAAgB,MAAQG,SAAgC,OAAS,EAAIA,EAAuBF,SACjR,CACA,GAAIrB,IAAkB,MAAQA,SAAuB,IAAMQ,EAAyBR,EAAczM,eAAiB,MAAQiN,SAAgC,GAAKA,EAAuB,+CAAiDxG,OAAOyG,EAAyBR,EAASkB,eAAiB,MAAQV,SAAgC,OAAS,GAAKC,EAAyBD,EAAuBW,cAAgB,MAAQV,SAAgC,OAAS,EAAIA,EAAuBe,SAAU,CAC5e,IAAIC,EAAwBC,EAC5BpO,EAAYqO,QAAU,IAAIF,EAAyBzB,EAASkB,eAAiB,MAAQO,SAAgC,OAAS,GAAKC,EAAyBD,EAAuBN,cAAgB,MAAQO,SAAgC,OAAS,EAAIA,EAAuBF,SACjR,CACA,IAAKd,EAAyBV,EAASkB,eAAiB,MAAQR,SAAgC,IAAMC,EAA0BD,EAAuBkB,UAAY,MAAQjB,SAAiC,GAAKA,EAAwBkB,iBAAmB9B,EAAc1M,OAAS,kCAAoC0M,IAAkB,MAAQA,SAAuB,IAAMa,EAAyBb,EAAczM,eAAiB,MAAQsN,SAAgC,GAAKA,EAAuB,mDAAoD,CAC5hBtN,EAAYwO,gBAAkB,IAChC,CACA,GAAI/B,IAAkB,MAAQA,SAAuB,IAAMc,EAAyBd,EAAczM,eAAiB,MAAQuN,SAAgC,GAAKA,EAAuBrN,IAAK,CAC1LF,EAAYyO,GAAK,IACnB,CACA,OAAOzO,CACT,CAUAJ,EAAS4M,iBAAmBA,EAC5B,SAASkC,EAA0BhC,EAAUiC,GAC3C,IAAIC,EACJ,IAAIC,EAAoBhO,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MAC5F,MAAMiO,EAAgBH,EACtB,GAAIjC,EAASnM,QAAU,WAAY,CACjC,OAAOuO,CACT,CACA,MAAMrC,EAAgB3M,EAAiB4M,EAAS3M,MAChD,IAAK0M,EAAe,CAClB,OAAOqC,CACT,CACA,IAAKA,EAAcC,cAAe,CAChCD,EAAcC,cAAgB,CAAC,CACjC,CACAD,EAAc9O,YAAc,CAAC,EAC7B8O,EAAc/O,KAAO0M,EAAc1M,KACnC,IAAK8O,EAAmB,CACtBC,EAAc9O,YAAcwM,EAAiBC,EAAeC,EAC9D,CACA,IAAKoC,IAAkB,MAAQA,SAAuB,OAAS,GAAKF,EAAsBE,EAAc/O,QAAU,MAAQ6O,SAA6B,OAAS,EAAIA,EAAoBI,QAAQ,kCAAoC,IAAMF,IAAkB,MAAQA,SAAuB,OAAS,EAAIA,EAAc/O,QAAU,kCAAoC+O,IAAkB,MAAQA,SAAuB,OAAS,EAAIA,EAAc/O,QAAU,iCAAkC,CAC1d+O,EAAcC,cAAgBnJ,OAAOqJ,OAAOH,EAAcC,cAAe,CACvEG,cAAe,OAEnB,CACA,GAAIJ,EAAc/O,OAAS,iCAAkC,CAC3D+O,EAAcC,cAAcI,sBAAwB,KACpD,MAAMC,EAAaC,EAAc3C,GACjC,GAAI0C,EAAY,CACdN,EAAcC,cAAcK,WAAaA,EACzCN,EAAc/O,KAAO,6BACvB,CACF,CACA,GAAI+O,EAAc/O,OAAS,oCAAsC+O,IAAkB,MAAQA,SAAuB,OAAS,EAAIA,EAAc/O,QAAU,gCAAiC,CACtL+O,EAAcC,cAAgBnJ,OAAOqJ,OAAOH,EAAcC,cAAe,CACvEO,YAAa,IAEjB,CACA,OAAOR,CACT,CACAlP,EAAS8O,0BAA4BA,EACrC,MAAMW,EAAgB,SAAU3C,GAC9B,IAAI6C,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAAyBC,EAC3X,IAAKf,EAA0B7C,EAASkB,eAAiB,MAAQ2B,SAAiC,IAAMC,EAA0BD,EAAwBjB,UAAY,MAAQkB,SAAiC,GAAKA,EAAwBe,aAAc,CACxP,MAAO,6CACT,CACA,IAAKd,EAA0B/C,EAASkB,eAAiB,MAAQ6B,SAAiC,IAAMC,EAA0BD,EAAwBnB,UAAY,MAAQoB,SAAiC,GAAKA,EAAwBc,eAAgB,CAC1P,MAAO,+CACT,CACA,IAAKb,EAA0BjD,EAASkB,eAAiB,MAAQ+B,SAAiC,IAAMC,EAA0BD,EAAwBrB,UAAY,MAAQsB,SAAiC,GAAKA,EAAwBa,mBAAoB,CAC9P,MAAO,mDACT,CACA,IAAKZ,EAA0BnD,EAASkB,eAAiB,MAAQiC,SAAiC,IAAMC,EAA0BD,EAAwBvB,UAAY,MAAQwB,SAAiC,GAAKA,EAAwBY,gBAAiB,CAC3P,MAAO,gDACT,CACA,IAAKX,EAA0BrD,EAASkB,eAAiB,MAAQmC,SAAiC,IAAMC,EAA0BD,EAAwBzB,UAAY,MAAQ0B,SAAiC,GAAKA,EAAwBW,oBAAqB,CAC/P,MAAO,oDACT,CACA,IAAKV,EAA0BvD,EAASkB,eAAiB,MAAQqC,SAAiC,IAAMC,EAA0BD,EAAwB3B,UAAY,MAAQ4B,SAAiC,GAAKA,EAAwBU,aAAc,CACxP,MAAO,6CACT,CACA,IAAKT,EAA0BzD,EAASkB,eAAiB,MAAQuC,SAAiC,IAAMC,EAA0BD,EAAwB7B,UAAY,MAAQ8B,SAAiC,GAAKA,EAAwBS,iBAAkB,CAC5P,MAAO,iDACT,CACA,IAAKR,EAA0B3D,EAASkB,eAAiB,MAAQyC,SAAiC,IAAMC,EAA0BD,EAAwB/B,UAAY,MAAQgC,SAAiC,GAAKA,EAAwBQ,kBAAmB,CAC7P,MAAO,kDACT,CACF,EAcAlR,EAASyP,cAAgBA,EACzB,SAAS0B,EAAmBlO,EAAY9C,EAAM+L,EAAmBkF,GAC/D,MAAMhF,EAAuBnJ,EAAWe,IAAIM,GAC5C,GAAIvD,KAA6BqL,GAAuB,CACtD,OAAO1L,CACT,CAEA,GAAI0L,EAAqBlL,SAAW,GAAKyD,EAAWyH,EAAqB,MAAQF,EAAmB,CAClG,OAAOE,EAAqB,EAC9B,MAAO,GAAIF,EAAmB,CAE5B,IAAKE,EAAqBlK,KAAK8J,GAA+B,CAC5DE,EAAkBG,KAAK3I,QAAQ0C,GAAOgG,EAAqBvI,KAAKjB,EAAYwD,EAAIuB,KAAM,KACxF,CACF,CACAyJ,EAAiBC,EAA2CpO,EAAW,GAAImO,GAC3E,GAAIjR,IAAS,+BAAgC,CAC3C,MAAMmR,EAAU1O,EAAY,8BAC5B0O,EAAQ9K,WAAa,MACrB8K,EAAQC,KAAO,UACfnF,EAAqBvI,KAAKyN,EAC5B,MAAO,GAAInR,IAAS,mCAAoC,CACtD,MAAMqR,EAAe5O,EAAY,6BACjC4O,EAAahL,WAAa,MAC1BgL,EAAaD,KAAO,UACpBnF,EAAqBvI,KAAK2N,EAC5B,CACA,MAAO,CACL7Q,MAAO,cACPR,KAAMA,EACNgP,cAAeiC,GAAkB,CAAC,EAClCnO,WAAY,CAAC,EACbC,kBAAmBkJ,EAEvB,CASApM,EAASmR,mBAAqBA,EAC9B,SAASE,EAA2CI,EAAOtC,GACzD,IAAIuC,EAAaC,EAGjB,KAAMxC,GAAiBA,EAAcyC,aAAe,UAAYH,IAAU,MAAQA,SAAe,OAAS,GAAKC,EAAcD,EAAMtR,QAAU,MAAQuR,SAAqB,OAAS,EAAIA,EAAYtC,QAAQ,kCAAoC,IAAMqC,IAAU,MAAQA,SAAe,OAAS,EAAIA,EAAMtR,QAAU,oCAAsCsR,IAAU,MAAQA,SAAe,OAAS,EAAIA,EAAMtR,QAAU,kCAAmC,CACxb,IAAKsR,IAAU,MAAQA,SAAe,OAAS,EAAIA,EAAMtR,QAAU,kCAAoCsR,IAAU,MAAQA,SAAe,OAAS,EAAIA,EAAMtR,QAAU,kCAAmC,CACtM,IAAI0R,EAEJ1C,IAAkB0C,EAAiB1C,KAAmB,MAAQ0C,SAAwB,OAAS,EAAIA,EAAeC,eAAiB,MAAQ,CACzIpC,YAAa,GACboC,YAAa,OACX,CACFpC,YAAa,GAEjB,KAAO,CACL,IAAIqC,EACJ5C,IAAkB4C,EAAkB5C,KAAmB,MAAQ4C,SAAyB,OAAS,EAAIA,EAAgBD,eAAiB,MAAQ,CAC5IxC,cAAe,MACfwC,YAAa,OACX,CACFxC,cAAe,MAEnB,CACF,CACA,IAAKmC,IAAU,MAAQA,SAAe,OAAS,GAAKE,EAAqBF,EAAMrR,eAAiB,MAAQuR,SAA4B,OAAS,EAAIA,EAAmB5D,YAAc,MAAO,CACvL,IAAIiE,GACHA,EAAkB7C,KAAmB,MAAQ6C,SAAyB,EAAI,YAAcA,EAAgBtC,WAC3G,CACA,OAAOP,CACT,CASA,SAASnM,EAAGiP,EAAMhP,EAAYiP,GAC5B,MAAM5F,SAAsB2F,IAAS,SAAWA,EAAOA,EAAK1F,eAC5D,MAAO,CACL5L,MAAO,WACPyC,IAAK8O,IAAO1Q,UAAY8C,EAAc4N,GAAM1Q,UAC5CwB,GAAIsJ,EACJrJ,WAAYA,EAAWe,IAAIM,GAE/B,CAQAtE,EAASgD,GAAKA,EACd,SAASmP,EAAQlQ,GACf,MAAMmQ,EAAY,GAClBzG,GAAqB1J,EAAY,cAAeV,IAC9C6Q,EAAUvO,KAAKkB,EAAGuD,EAAM/G,EAAM,IAAK+G,EAAM/G,EAAMC,WAAY8G,EAAM/G,EAAM,QACvE,OAAOA,CAAI,GAEb,OAAO4C,KAAOiO,EAChB,CACApS,EAASmS,QAAUA,EACnB,SAASzM,KACP,IAAK,IAAI2M,EAAQpR,UAAUC,OAAQoR,EAAgB,IAAIlR,MAAMiR,GAAQE,EAAQ,EAAGA,EAAQF,EAAOE,IAAS,CACtGD,EAAcC,GAAStR,UAAUsR,EACnC,CACA,MAAMpR,EAAcmR,EAActO,IAAIM,GACtC,GAAIvD,KAA6BI,GAAc,CAC7C,OAAOT,CACT,CACA,GAAIS,EAAYa,MAAM2C,GAAa,CACjC,OAAOC,EAASzD,EAAYoC,OAAO,CAACiP,EAAc5Q,KAChD,GAAIA,EAAMA,QAAUJ,UAAW,CAC7B,OAAOgR,EAAe5Q,EAAMA,MAAM6Q,UACpC,CACA,OAAOD,CAAY,EAClB,IACL,MAAO,GAAIrR,EAAYe,KAAKmF,GAA0B,CACpD,IAAIkE,EAAU,EACd,MAAMmH,EAAqBjH,EAAatK,EAAa,kDAAmDK,UAAW,MACnH,MAAMkK,EAAW,GACjBC,GAAqB+G,EAAoB,cAAe9G,IACtDF,EAAS7H,KAAK+H,GACd,OAAOhJ,EAAY,IAAI2I,MAAa,IAAI,GAE1CG,EAASG,QAAQjH,EAASkH,KAAKC,UAAU2G,KACzC,OAAOjH,EAAaC,EAAU,qEAAsElK,UAAW,KACjH,CACA,MAAO,CACLb,MAAO,SACPQ,YAAaA,EAEjB,CACAnB,EAAS0F,OAASA,GAClB,SAASiG,GAAqBgH,EAAcC,EAAgBC,GAC1D,IAAIC,EAAuB7R,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MAC/F,IAAIgB,EAAa0Q,EACjB,OAAQ1Q,EAAWtB,OACjB,IAAK,WACL,IAAK,YACHsB,EAAWgB,WAAahB,EAAWgB,WAAWe,IAAI+O,GAAapH,GAAqBoH,EAAWH,EAAgBC,EAAmBC,IAClI,MACF,IAAK,SACH7Q,EAAWd,YAAcc,EAAWd,YAAY6C,IAAIgP,GAAiBrH,GAAqBqH,EAAeJ,EAAgBC,EAAmBC,IAC5I7Q,EAAayD,MAAUzD,EAAWd,aAClC,MACF,IAAK,cACHc,EAAWiB,kBAAoBjB,EAAWiB,kBAAkBc,IAAIiP,GAAoBtH,GAAqBsH,EAAkBL,EAAgBC,EAAmBC,IAC9J,MACF,IAAK,SACH,MAAMzQ,EAASsJ,GAAqB1J,EAAWI,OAAQuQ,EAAgBC,EAAmBC,GAC1F,MAAMxQ,EAAUqJ,GAAqB1J,EAAWK,QAASsQ,EAAgBC,EAAmBC,GAC5F,IAAI1Q,EAAYH,EAAWG,UAC3B,GAAI0Q,EAAsB,CACxB1Q,EAAYuJ,GAAqB1J,EAAWG,UAAWwQ,EAAgBC,EAAmBC,EAC5F,CACA7Q,EAAauI,EAAOpI,EAAWC,EAAQC,GACvC,MACF,IAAK,MACH,GAAIwQ,EAAsB,CACxB,MAAMjR,EAAU8J,GAAqB1J,EAAWJ,QAAS+Q,EAAgBC,EAAmBC,GAC5F7Q,EAAagC,EAAIpC,EACnB,CACA,MACF,IAAK,SACH,MACF,IAAK,MACH,GAAIiR,EAAsB,CACxB,MAAM/Q,EAAWE,EAAWF,SAASiC,IAAInC,GAAW8J,GAAqB9J,EAAS+Q,EAAgBC,EAAmBC,IACrH7Q,EAAaA,EAAWH,WAAa,KAAOiD,KAAMhD,GAAYoC,KAAOpC,EACvE,CACA,MACF,IAAK,aACH,GAAI+Q,EAAsB,CACxB,MAAMvQ,EAAWoJ,GAAqB1J,EAAWM,SAAUqQ,EAAgBC,EAAmBC,GAC9F,MAAMtQ,EAAWmJ,GAAqB1J,EAAWO,SAAUoQ,EAAgBC,EAAmBC,GAC9F7Q,EAAa2I,EAAW3I,EAAWH,SAAUS,EAAUC,EACzD,CACA,MACF,IAAK,MACL,IAAK,SACL,IAAK,cACL,IAAK,WACL,IAAK,kBACL,IAAK,4BACL,IAAK,eAEH,MAEJ,GAAIoQ,IAAmB3Q,EAAWtB,MAAO,CACvCsB,EAAa4Q,EAAkBF,EACjC,CACA,OAAO1Q,CACT,CACAjC,EAAS2L,qBAAuBA,GAChC,MAAMuH,GAAkB,SAAU3R,GAChC,OAAQoD,EAAWpD,KAAU4F,EAAwB5F,IAAS0F,EAA2B1F,IAASA,EAAKZ,QAAU,UAAYY,EAAKZ,QAAU,UAC9I,EASA,SAASwS,GAAsB5R,GAC7B,IAAI6R,EAAanS,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MACrF,GAAImS,GAAcpN,OAAOqG,KAAK9K,EAAKK,OAAOV,SAAW,EAAG,CACtD,MAAO,EACT,CACA,MAAMmS,EAAU9R,EAAKK,MACrB,MAAM0R,EAAa,GACnBtN,OAAOqG,KAAKgH,GAAS3P,QAAQ0C,IAC3B,MAAMxE,EAAQyR,EAAQjN,GACtB,MAAMmN,EAAcC,GAAkB5R,EAAO,KAAM,MAAOwR,GAC1D,GAAIG,GAAeA,EAAYrS,OAAS,EAAG,CACzCoS,EAAWzP,KAAK,GAAGuC,MAAQmN,IAC7B,IAEF,MAAO,IAAID,EAAW3N,KAAK,QAC7B,CAYA,SAAS8N,GAAgBlS,EAAMmS,GAC7B,IAAIN,EAAanS,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MACrF,IAAI0S,EAAiB1S,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MACzF,GAAIM,EAAKK,QAAU,KAAM,CACvB,OAAO+R,EAAiB,KAAO,MACjC,CACA,GAAIpS,EAAKK,QAAUJ,UAAW,CAC5B,OAAOmS,EAAiBnS,UAAY,WACtC,CACA,UAAWD,EAAKK,QAAU,SAAU,CAClC,GAAIR,MAAMyE,QAAQtE,EAAKK,OAAQ,CAC7B,MAAMqE,EAAU1E,EAAKK,MAAMoC,IAAI/B,GAAcuR,GAAkBvR,EAAY,OAC3E,MAAO,IAAIgE,EAAQN,KAAK,QAC1B,KAAO,CACL,OAAOwN,GAAsB5R,EAAM6R,EACrC,CACF,CACA,GAAIM,EAAmB,CACrB,cAAenS,EAAKK,OAClB,IAAK,SACL,IAAK,SACL,IAAK,UACH,OAAOL,EAAKK,MAAM6Q,WACpB,IAAK,SACH,MAAO,IAAI7R,EAAmBW,EAAKK,MAAM6Q,eAC3C,QACE,MAAO,GAEb,KAAO,CACL,OAAOkB,EAAiBpS,EAAKK,MAAQL,EAAKK,MAAM6Q,UAClD,CACF,CAUAzS,EAASyT,gBAAkBA,GAC3B,SAASG,GAA6BC,EAAsBH,EAAmBI,GAC7E,GAAID,EAAqB1T,MAAQ0T,EAAqB5Q,YAAc4Q,EAAqBrN,YAAcqN,EAAqB1E,eAAiB0E,EAAqBzT,YAAa,CAE7K,MAAM2T,EAA2B,CAC/BjR,KAAMkR,GAAmBH,GACzB1T,KAAM0T,EAAqB1T,KAC3BqG,WAAYqN,EAAqBrN,WACjCvD,WAAY4Q,EAAqB5Q,WACjCkM,cAAe0E,EAAqB1E,cACpC/O,YAAayT,EAAqBzT,aAEpC,MAAM6T,EAAaT,GAAkBO,EAA0B,MAAO,MAAO,MAC7E,GAAIL,EAAmB,CACrB,MAAO,GAAGI,IAAoBG,GAChC,CACA,OAAOA,CACT,MAAO,GAAIP,EAAmB,CAC5B,MAAO,GAAGI,KAAqBE,GAAmBH,KACpD,KAAO,CACL,MAAO,IAAIG,GAAmBH,KAChC,CACF,CACA,SAASK,GAA6BjS,GACpC,GAAIA,EAAWiB,kBAAkBhC,SAAW,EAAG,CAC7C,MAAO,IAAIiT,GAAqBlS,EAAWiB,kBAAkB,GAAI,iBAAiBjB,EAAW9B,QAC/F,CACA,IAAIiU,EAAY,aAAanS,EAAW9B,QACxC,GAAIkU,GAAYpS,EAAWkN,eAAgB,CACzCiF,GAAa,oBAAoBZ,GAAkBvR,EAAWkN,gBAChE,CACA,GAAIkF,GAAYpS,EAAWgB,YAAa,CACtCmR,GAAa,iBAAiBZ,GAAkBvR,EAAWgB,aAC7D,CACAmR,GAAa,IACb,MAAO,0BAA0BnS,EAAWiB,kBAAkBc,IAAIyN,GAAS0C,GAAqB1C,IAAQ9L,KAAK,OAAOyO,GACtH,CAUA,SAASE,GAAsBrS,EAAYyR,GACzC,IAAIa,EAAsBtT,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MAC9F,GAAIyS,EAAmB,CACrB,GAAIa,EAAqB,CACvB,MAAO,IAAItS,IACb,KAAO,CACL,OAAOA,CACT,CACF,KAAO,CACL,MAAO,MAAMA,IACf,CACF,CAYAjC,EAASsU,sBAAwBA,GACjC,SAASd,GAAkBvR,GACzB,IAAIyR,EAAoBzS,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MAC5F,IAAIuT,EAAiBvT,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MACzF,IAAImS,EAAanS,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MACrF,MAAMM,EAAO+C,EAAcrC,GAC3B,MAAM6R,EAAoBU,EAAiB,IAAM,IACjD,OAAQjT,EAAKZ,OACX,IAAK,eACH,OAAOa,UACT,IAAK,WACH,OAAOiS,GAAgBlS,EAAMmS,EAAmBN,GAClD,IAAK,MACH,OAAO7R,EAAK8B,KAAO,OACrB,IAAK,WACH,MAAMoR,EAAiB,GAAGlT,EAAK0B,WAAWe,IAAI0Q,GAAOlB,GAAkBkB,EAAK,OAAO/O,KAAK,QACxF,OAAOpE,EAAK6B,MAAQ5B,UAAY,GAAGD,EAAKyB,MAAMyR,KAAoB,GAAGjB,GAAkBjS,EAAK6B,IAAK,SAAS7B,EAAKyB,MAAMyR,KACvH,IAAK,4BACH,OAAOf,EAAoB,IAAInS,EAAKK,MAAM+S,UAAU,EAAGpT,EAAKK,MAAMV,OAAS,MAAQ,GAAGK,EAAKK,QAC7F,IAAK,kBACH,OAAO8R,EAAoB,GAAGI,IAAoBvS,EAAKK,QAAU,GAAGL,EAAKK,QAC3E,IAAK,cACH,OAAOgS,GAA6BrS,EAAMmS,EAAmBI,GAC/D,IAAK,aACH,MAAMc,EAAuBC,GAA4BtT,GACzD,OAAO+S,GAAsBM,EAAsBlB,GACrD,IAAK,SACH,MAAMoB,EAAmB,GAAGtB,GAAkBjS,EAAKa,UAAW,WAAWoR,GAAkBjS,EAAKc,OAAQ,WAAWmR,GAAkBjS,EAAKe,QAAS,QACnJ,OAAOgS,GAAsBQ,EAAkBpB,EAAmB,MACpE,IAAK,MACH,MAAMqB,EAAgBxT,EAAKQ,SAASiC,IAAInC,GAAW2R,GAAkB3R,EAAS,OAAO8D,KAAK,IAAIpE,EAAKO,aACnG,OAAOwS,GAAsBS,EAAerB,EAAmB,MACjE,IAAK,SACH,MAAMsB,EAAmBzT,EAAKJ,YAAY6C,IAAIiR,GAAoBzB,GAAkByB,EAAkB,KAAM,OAAOtP,KAAK,OACxH,OAAO2O,GAAsBU,EAAkBtB,GACjD,IAAK,SACH,MAAMwB,EAAmB,GAAG1B,GAAkBjS,EAAKqB,YAAa,eAChE,OAAO0R,GAAsBY,EAAkBxB,GACjD,IAAK,MACH,MAAMyB,EAAgB,IAAI3B,GAAkBjS,EAAKM,QAAS,QAC1D,OAAOyS,GAAsBa,EAAezB,GAC9C,IAAK,SACH,MAAM0B,EAAmB,KAAK5B,GAAkBjS,EAAKM,QAAS,QAC9D,OAAOyS,GAAsBc,EAAkB1B,GACjD,IAAK,YACH,MAAM2B,EAAsBC,GAA2B/T,GACvD,OAAOmS,EAAoB,IAAI2B,IAAwBA,EACzD,IAAK,cACH,MAAME,EAAwBrB,GAA6B3S,GAC3D,OAAOmS,EAAoB,IAAI6B,IAA0BA,EAC3D,QACE,MAAO,GAEb,CAQAvV,EAASwT,kBAAoBA,GAC7B,SAASqB,GAA4B5S,GACnC,SAASuT,EAAe3T,GACtB,MAAM4T,EAAkBjC,GAAkB3R,EAAS,OAAS,YAC5D,OAAOyS,GAAsBmB,EAAiB,KAAMvC,GAAgBrR,GACtE,CACA,MAAO,GAAG2T,EAAevT,EAAWM,aAAaN,EAAWH,YAAY0T,EAAevT,EAAWO,WACpG,CAQA,SAAS8S,GAA2BrT,GAClC,GAAIA,EAAWgB,WAAW/B,SAAW,EAAG,CACtC,MAAO,IAAIiT,GAAqBlS,EAAWgB,WAAW,GAAI,sBAAsBhB,EAAWe,MAC7F,KAAO,CACL,MAAM0S,EAAQzT,EAAWgB,WAAWe,IAAIyN,IACtC,GAAIA,EAAM9Q,QAAU,cAAe,CACjC,OAAOuT,GAA6BzC,EACtC,KAAO,CACL,OAAO0C,GAAqB1C,EAC9B,IAEF,MAAO,YAAYiE,EAAM/P,KAAK,uBAAuB1D,EAAWe,MAClE,CACF,CASA,SAASmR,GAAqBlS,GAC5B,IAAI0T,EAAa1U,UAAUC,OAAS,GAAKD,UAAU,KAAOO,UAAYP,UAAU,GAAK,MACrF,IAAI2U,EAAW,GACf,GAAI3T,EAAWtB,QAAU,WAAY,CACnC,GAAIsB,EAAWL,QAAUJ,UAAW,CAElCoU,EAAW,oBACb,KAAO,CACLA,EAAW,UAAUnC,GAAgBxR,EAAY,OACnD,CACF,MAAO,GAAIA,EAAWtB,QAAU,cAAe,CAC7CiV,EAAW,UAAU5B,GAAmB/R,MACxC2T,GAAY3T,EAAW9B,KAAO,YAAY8B,EAAW9B,QAAU,sBAC/D,GAAIkU,GAAYpS,EAAWsP,MAAO,CAChCqE,GAAY,YAAYpC,GAAkBvR,EAAWsP,QACvD,CACA,GAAI8C,GAAYpS,EAAW7B,aAAc,CACvCwV,GAAY,kBAAkBpC,GAAkBvR,EAAW7B,cAC7D,CACA,GAAIiU,GAAYpS,EAAWkN,eAAgB,CACzCyG,GAAY,oBAAoBpC,GAAkBvR,EAAWkN,gBAC/D,CACA,GAAIkF,GAAYpS,EAAWgB,YAAa,CACtC2S,GAAY,iBAAiBpC,GAAkBvR,EAAWgB,aAC5D,CACF,KAAO,CACL,MAAO,EACT,CACA,OAAO0S,EAAaC,EAAW,IAAIA,IACrC,CACA,SAASvB,GAAYjR,GACnB,OAAOA,GAAO4C,OAAOqG,KAAKjJ,GAAKlC,OAAS,CAC1C,CAQA,SAAS8S,GAAmB/R,GAC1B,MAAO,GAAGA,EAAWY,UAAY,GAAGZ,EAAWY,aAAe,KAAKZ,EAAWa,MAChF,CACA,OAAO9C,CACT,EAAG"}
|
|
@@ -1335,7 +1335,7 @@ export function ifElse<T extends PrimitiveType>(
|
|
|
1335
1335
|
"PathInModel",
|
|
1336
1336
|
(constantPath: PathInModelExpression<any>) => {
|
|
1337
1337
|
allParts.push(constantPath);
|
|
1338
|
-
return pathInModel(
|
|
1338
|
+
return pathInModel(`$${pathIdx++}`, "$");
|
|
1339
1339
|
},
|
|
1340
1340
|
true
|
|
1341
1341
|
);
|
|
@@ -1382,7 +1382,7 @@ function hasReferenceToDefaultContext(expression: BindingToolkitExpression<any>)
|
|
|
1382
1382
|
}
|
|
1383
1383
|
}
|
|
1384
1384
|
|
|
1385
|
-
type Fn<T> = ((...params: any) => T) & {
|
|
1385
|
+
type Fn<T> = ((...params: any) => T | Promise<T>) & {
|
|
1386
1386
|
__functionName: string;
|
|
1387
1387
|
};
|
|
1388
1388
|
|
|
@@ -1450,7 +1450,7 @@ export function formatResult<T, U extends Fn<T>>(
|
|
|
1450
1450
|
const allParts = [];
|
|
1451
1451
|
transformRecursively(myFormatExpression, "PathInModel", (constantPath: PathInModelExpression<any>) => {
|
|
1452
1452
|
allParts.push(constantPath);
|
|
1453
|
-
return pathInModel(
|
|
1453
|
+
return pathInModel(`$${pathIdx++}`, "$");
|
|
1454
1454
|
});
|
|
1455
1455
|
allParts.unshift(constant(JSON.stringify(myFormatExpression)));
|
|
1456
1456
|
return formatResult(allParts, "sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression", undefined, true);
|
|
@@ -1732,7 +1732,7 @@ export function concat(...inExpressions: ExpressionOrPrimitive<string>[]): Bindi
|
|
|
1732
1732
|
const allParts = [];
|
|
1733
1733
|
transformRecursively(myConcatExpression, "PathInModel", (constantPath: PathInModelExpression<any>) => {
|
|
1734
1734
|
allParts.push(constantPath);
|
|
1735
|
-
return pathInModel(
|
|
1735
|
+
return pathInModel(`$${pathIdx++}`, "$");
|
|
1736
1736
|
});
|
|
1737
1737
|
allParts.unshift(constant(JSON.stringify(myConcatExpression)));
|
|
1738
1738
|
return formatResult(allParts, "sap.fe.core.formatters.StandardFormatter#evaluateComplexExpression", undefined, true);
|
|
@@ -1870,7 +1870,7 @@ export function compileConstant<T extends PrimitiveType>(
|
|
|
1870
1870
|
embeddedInBinding: boolean,
|
|
1871
1871
|
isNullable?: boolean,
|
|
1872
1872
|
doNotStringify?: false
|
|
1873
|
-
):
|
|
1873
|
+
): CompiledBindingToolkitExpression;
|
|
1874
1874
|
export function compileConstant<T extends PrimitiveType>(
|
|
1875
1875
|
expr: ConstantExpression<T>,
|
|
1876
1876
|
embeddedInBinding: boolean,
|
|
@@ -1882,7 +1882,7 @@ export function compileConstant<T extends PrimitiveType>(
|
|
|
1882
1882
|
embeddedInBinding: boolean,
|
|
1883
1883
|
isNullable = false,
|
|
1884
1884
|
doNotStringify: boolean = false
|
|
1885
|
-
):
|
|
1885
|
+
): CompiledBindingToolkitExpression | any {
|
|
1886
1886
|
if (expr.value === null) {
|
|
1887
1887
|
return doNotStringify ? null : "null";
|
|
1888
1888
|
}
|
|
@@ -1980,7 +1980,7 @@ function compileComplexTypeExpression<T extends PrimitiveType>(expression: Compl
|
|
|
1980
1980
|
* @param parenthesisRequired True if the embedded binding needs to be wrapped in parethesis so that it is evaluated as one
|
|
1981
1981
|
* @returns Finalized compiled expression
|
|
1982
1982
|
*/
|
|
1983
|
-
function wrapBindingExpression(
|
|
1983
|
+
export function wrapBindingExpression(
|
|
1984
1984
|
expression: string,
|
|
1985
1985
|
embeddedInBinding: boolean,
|
|
1986
1986
|
parenthesisRequired = false
|
|
@@ -2075,11 +2075,11 @@ export function compileExpression<T extends PrimitiveType>(
|
|
|
2075
2075
|
|
|
2076
2076
|
case "Formatter":
|
|
2077
2077
|
const formatterExpression = compileFormatterExpression(expr);
|
|
2078
|
-
return embeddedInBinding ?
|
|
2078
|
+
return embeddedInBinding ? `$${formatterExpression}` : formatterExpression;
|
|
2079
2079
|
|
|
2080
2080
|
case "ComplexType":
|
|
2081
2081
|
const complexTypeExpression = compileComplexTypeExpression(expr);
|
|
2082
|
-
return embeddedInBinding ?
|
|
2082
|
+
return embeddedInBinding ? `$${complexTypeExpression}` : complexTypeExpression;
|
|
2083
2083
|
|
|
2084
2084
|
default:
|
|
2085
2085
|
return "";
|
|
@@ -418,4 +418,4 @@ sap.ui.define(["sap/base/util/merge", "sap/base/util/ObjectPath", "sap/base/util
|
|
|
418
418
|
}
|
|
419
419
|
return _exports;
|
|
420
420
|
}, false);
|
|
421
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlbnN1cmVNZXRhZGF0YSIsInRhcmdldCIsIm1ldGFkYXRhIiwibWVyZ2UiLCJjb250cm9sbGVyRXh0ZW5zaW9ucyIsInByb3BlcnRpZXMiLCJhZ2dyZWdhdGlvbnMiLCJhc3NvY2lhdGlvbnMiLCJtZXRob2RzIiwiZXZlbnRzIiwiaW50ZXJmYWNlcyIsIm1ldGhvZE92ZXJyaWRlIiwiZXh0ZW5zaW9uTmFtZSIsInByb3BlcnR5S2V5Iiwib3ZlcnJpZGUiLCJjdXJyZW50VGFyZ2V0IiwiZXh0ZW5zaW9uIiwidG9TdHJpbmciLCJleHRlbnNpYmxlIiwib3ZlcnJpZGVFeGVjdXRpb25UeXBlIiwib3ZlcnJpZGVFeGVjdXRpb24iLCJwdWJsaWNFeHRlbnNpb24iLCJkZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1YmxpYyIsInByaXZhdGVFeHRlbnNpb24iLCJmaW5hbEV4dGVuc2lvbiIsImZpbmFsIiwidXNpbmdFeHRlbnNpb24iLCJleHRlbnNpb25DbGFzcyIsInByb3BlcnR5RGVzY3JpcHRvciIsImluaXRpYWxpemVyIiwiZXZlbnQiLCJldmVudEtleSIsInByb3BlcnR5IiwiYXR0cmlidXRlRGVmaW5pdGlvbiIsIndyaXRhYmxlIiwiYWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbkRlZmluaXRpb24iLCJtdWx0aXBsZSIsInVuZGVmaW5lZCIsImlzRGVmYXVsdCIsImRlZmF1bHRBZ2dyZWdhdGlvbiIsImFzc29jaWF0aW9uIiwidWk1QXNzb2NpYXRpb25NZXRhZGF0YSIsImltcGxlbWVudEludGVyZmFjZSIsImludGVyZmFjZU5hbWUiLCJwdXNoIiwieG1sRXZlbnRIYW5kbGVyIiwicHJvcGVydHlrZXkiLCJjdXJyZW50Q29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJsZW5ndGgiLCJnZXRBUEkiLCJkZWZpbmVVSTVDbGFzcyIsInNUYXJnZXQiLCJtZXRhZGF0YURlZmluaXRpb24iLCJwcm90b3R5cGUiLCJrZXkiLCJyZWdpc3RlclVJNU1ldGFkYXRhIiwiY3JlYXRlUmVmZXJlbmNlIiwiY3VycmVudCIsInNldEN1cnJlbnQiLCJvQ29udHJvbEluc3RhbmNlIiwiZGVmaW5lUmVmZXJlbmNlIiwiY2xhenoiLCJuYW1lIiwiaW5PYmoiLCJnZXRNZXRhZGF0YSIsImlzQSIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJmb3JFYWNoIiwib2JqTmFtZSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm9iaiIsImJhc2VUeXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJnZXROYW1lIiwiZ2V0U3RlcmVvdHlwZSIsInJlbmRlcmVyRGVmaW5pdGlvbiIsInJlbmRlcmVyIiwicmVuZGVyIiwiYXBpVmVyc2lvbiIsImtleXMiLCJlIiwiY0V4dE5hbWUiLCJvdXRwdXQiLCJleHRlbmQiLCJmbkluaXQiLCJpbml0IiwiYXBwbHkiLCJhUHJvcGVydHlLZXlzIiwiZGVmaW5lUHJvcGVydHkiLCJjb25maWd1cmFibGUiLCJzZXQiLCJ2Iiwic2V0UHJvcGVydHkiLCJnZXQiLCJnZXRQcm9wZXJ0eSIsImFBZ2dyZWdhdGlvbktleXMiLCJhZ2dyZWdhdGlvbktleSIsInNldEFnZ3JlZ2F0aW9uIiwiYWdncmVnYXRpb25Db250ZW50IiwiZ2V0QWdncmVnYXRpb24iLCJhQXNzb2NpYXRpb25LZXlzIiwiYXNzb2NpYXRpb25LZXkiLCJzZXRBc3NvY2lhdGlvbiIsImdldEFzc29jaWF0aW9uIiwib0V4dGVuc2lvbiIsInBvbCIsIm9DbGFzcyIsIk1ldGFkYXRhIiwiY3JlYXRlQ2xhc3MiLCJ1aWQiLCJDb250cm9sbGVyTWV0YWRhdGEiLCJfc3RhdGljT3ZlcnJpZGUiLCJfb3ZlcnJpZGUiLCJPYmplY3RQYXRoIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDbGFzc1N1cHBvcnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1lcmdlIGZyb20gXCJzYXAvYmFzZS91dGlsL21lcmdlXCI7XG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgdWlkIGZyb20gXCJzYXAvYmFzZS91dGlsL3VpZFwiO1xuaW1wb3J0IHR5cGUgVUk1RXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgTWV0YWRhdGEgZnJvbSBcInNhcC91aS9iYXNlL01ldGFkYXRhXCI7XG5pbXBvcnQgdHlwZSBDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlckV4dGVuc2lvblwiO1xuaW1wb3J0IENvbnRyb2xsZXJNZXRhZGF0YSBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJNZXRhZGF0YVwiO1xuaW1wb3J0IHR5cGUgT3ZlcnJpZGVFeGVjdXRpb24gZnJvbSBcInNhcC91aS9jb3JlL212Yy9PdmVycmlkZUV4ZWN1dGlvblwiO1xuXG50eXBlIE92ZXJyaWRlRGVmaW5pdGlvbiA9IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPjtcbnR5cGUgVUk1Q29udHJvbGxlck1ldGhvZERlZmluaXRpb24gPSB7XG5cdG92ZXJyaWRlRXhlY3V0aW9uPzogT3ZlcnJpZGVFeGVjdXRpb247XG5cdHB1YmxpYz86IGJvb2xlYW47XG5cdGZpbmFsPzogYm9vbGVhbjtcbn07XG50eXBlIFVJNVByb3BlcnR5TWV0YWRhdGEgPSB7XG5cdHR5cGU6IHN0cmluZztcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xuXHRncm91cD86IHN0cmluZztcblx0ZGVmYXVsdFZhbHVlPzogYW55O1xuXHRleHBlY3RlZEFubm90YXRpb25zPzogc3RyaW5nW107XG5cdGV4cGVjdGVkVHlwZXM/OiBzdHJpbmdbXTtcbn07XG50eXBlIFVJNUFnZ3JlZ2F0aW9uTWV0YWRhdGEgPSB7XG5cdHR5cGU6IHN0cmluZztcblx0bXVsdGlwbGU/OiBib29sZWFuO1xuXHRpc0RlZmF1bHQ/OiBib29sZWFuO1xuXHRzaW5ndWxhck5hbWU/OiBzdHJpbmc7XG5cdHZpc2liaWxpdHk/OiBzdHJpbmc7XG59O1xudHlwZSBVSTVBc3NvY2lhdGlvbk1ldGFkYXRhID0ge1xuXHR0eXBlOiBzdHJpbmc7XG5cdG11bHRpcGxlPzogYm9vbGVhbjtcblx0c2luZ3VsYXJOYW1lPzogc3RyaW5nO1xufTtcbnR5cGUgVUk1Q29udHJvbE1ldGFkYXRhRGVmaW5pdGlvbiA9IHtcblx0ZGVmYXVsdEFnZ3JlZ2F0aW9uPzogc3RyaW5nO1xuXHRjb250cm9sbGVyRXh0ZW5zaW9uczogUmVjb3JkPHN0cmluZywgdHlwZW9mIENvbnRyb2xsZXJFeHRlbnNpb24gfCBGdW5jdGlvbj47XG5cdHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIFVJNVByb3BlcnR5TWV0YWRhdGE+O1xuXHRhZ2dyZWdhdGlvbnM6IFJlY29yZDxzdHJpbmcsIFVJNUFnZ3JlZ2F0aW9uTWV0YWRhdGE+O1xuXHRhc3NvY2lhdGlvbnM6IFJlY29yZDxzdHJpbmcsIFVJNUFzc29jaWF0aW9uTWV0YWRhdGE+O1xuXHRtZXRob2RzOiBSZWNvcmQ8c3RyaW5nLCBVSTVDb250cm9sbGVyTWV0aG9kRGVmaW5pdGlvbj47XG5cdGV2ZW50czogUmVjb3JkPHN0cmluZywge30+O1xuXHRpbnRlcmZhY2VzOiBzdHJpbmdbXTtcbn07XG50eXBlIFVJNUNvbnRyb2xsZXIgPSB7XG5cdG92ZXJyaWRlPzogeyBleHRlbnNpb24/OiBSZWNvcmQ8c3RyaW5nLCBPdmVycmlkZURlZmluaXRpb24+IH0gJiB7XG5cdFx0W2s6IHN0cmluZ106IEZ1bmN0aW9uO1xuXHR9O1xuXHRtZXRhZGF0YT86IFVJNUNvbnRyb2xNZXRhZGF0YURlZmluaXRpb247XG59O1xuXG50eXBlIFVJNUNvbnRyb2wgPSB7XG5cdG1ldGFkYXRhPzogVUk1Q29udHJvbE1ldGFkYXRhRGVmaW5pdGlvbjtcbn07XG5cbnR5cGUgVUk1QVBJQ29udHJvbCA9IFVJNUNvbnRyb2wgJiB7XG5cdGdldEFQSShldmVudDogVUk1RXZlbnQpOiBVSTVBUElDb250cm9sO1xuXHRbazogc3RyaW5nXTogRnVuY3Rpb247XG59O1xuXG50eXBlIENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+ID0ge1xuXHRbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIEZ1bmN0aW9uID8gbmV2ZXIgOiBLO1xufVtrZXlvZiBUXTtcbmV4cG9ydCB0eXBlIFByb3BlcnRpZXNPZjxUPiA9IFBhcnRpYWw8UGljazxULCBDb250cm9sUHJvcGVydHlOYW1lczxUPj4+O1xuZXhwb3J0IHR5cGUgU3RyaWN0UHJvcGVydGllc09mPFQ+ID0gUGljazxULCBDb250cm9sUHJvcGVydHlOYW1lczxUPj47XG5leHBvcnQgdHlwZSBFbmhhbmNlV2l0aFVJNTxUPiA9IHtcblx0bmV3IChwcm9wczogUHJvcGVydGllc09mPFQ+KTogRW5oYW5jZVdpdGhVSTU8VD47XG5cdG5ldyAoc0lkOiBzdHJpbmcsIHByb3BzOiBQcm9wZXJ0aWVzT2Y8VD4pOiBFbmhhbmNlV2l0aFVJNTxUPjtcbn0gJiBUICYge1xuXHRcdC8vIEFkZCBhbGwgdGhlIGdldFhYWCBtZXRob2QsIG1pZ2h0IGFkZCB0b28gbXVjaCBhcyBJJ20gbm90IGZpbHRlcmluZyBvbiBhY3R1YWwgcHJvcGVydGllcy4uLlxuXHRcdFtQIGluIGtleW9mIFQgYXMgYGdldCR7Q2FwaXRhbGl6ZTxzdHJpbmcgJiBQPn1gXTogKCkgPT4gVFtQXTtcblx0fTtcbmNvbnN0IGVuc3VyZU1ldGFkYXRhID0gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbGxlcikge1xuXHR0YXJnZXQubWV0YWRhdGEgPSBtZXJnZShcblx0XHR7XG5cdFx0XHRjb250cm9sbGVyRXh0ZW5zaW9uczoge30sXG5cdFx0XHRwcm9wZXJ0aWVzOiB7fSxcblx0XHRcdGFnZ3JlZ2F0aW9uczoge30sXG5cdFx0XHRhc3NvY2lhdGlvbnM6IHt9LFxuXHRcdFx0bWV0aG9kczoge30sXG5cdFx0XHRldmVudHM6IHt9LFxuXHRcdFx0aW50ZXJmYWNlczogW11cblx0XHR9LFxuXHRcdHRhcmdldC5tZXRhZGF0YSB8fCB7fVxuXHQpIGFzIFVJNUNvbnRyb2xNZXRhZGF0YURlZmluaXRpb247XG5cdHJldHVybiB0YXJnZXQubWV0YWRhdGE7XG59O1xuXG4vKiAjcmVnaW9uIENPTlRST0xMRVIgRVhURU5TSU9OUyAqL1xuXG4vKipcbiAqIERlZmluZXMgdGhhdCB0aGUgZm9sbG93aW5nIG1ldGhvZCBpcyBhbiBvdmVycmlkZSBmb3IgdGhlIG1ldGhvZCBuYW1lIHdpdGggdGhlIHNhbWUgbmFtZSBpbiB0aGUgc3BlY2lmaWMgY29udHJvbGxlciBleHRlbnNpb24gb3IgYmFzZSBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0gZXh0ZW5zaW9uTmFtZSBUaGUgbmFtZSBvZiB0aGUgZXh0ZW5zaW9uIHRoYXQgd2lsbCBiZSBvdmVycmlkZGVuXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWV0aG9kT3ZlcnJpZGUoZXh0ZW5zaW9uTmFtZT86IHN0cmluZyk6IE1ldGhvZERlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleSkge1xuXHRcdGlmICghdGFyZ2V0Lm92ZXJyaWRlKSB7XG5cdFx0XHR0YXJnZXQub3ZlcnJpZGUgPSB7fTtcblx0XHR9XG5cdFx0bGV0IGN1cnJlbnRUYXJnZXQgPSB0YXJnZXQub3ZlcnJpZGU7XG5cdFx0aWYgKGV4dGVuc2lvbk5hbWUpIHtcblx0XHRcdGlmICghY3VycmVudFRhcmdldC5leHRlbnNpb24pIHtcblx0XHRcdFx0Y3VycmVudFRhcmdldC5leHRlbnNpb24gPSB7fTtcblx0XHRcdH1cblx0XHRcdGlmICghY3VycmVudFRhcmdldC5leHRlbnNpb25bZXh0ZW5zaW9uTmFtZV0pIHtcblx0XHRcdFx0Y3VycmVudFRhcmdldC5leHRlbnNpb25bZXh0ZW5zaW9uTmFtZV0gPSB7fTtcblx0XHRcdH1cblx0XHRcdGN1cnJlbnRUYXJnZXQgPSBjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbltleHRlbnNpb25OYW1lXTtcblx0XHR9XG5cdFx0Y3VycmVudFRhcmdldFtwcm9wZXJ0eUtleS50b1N0cmluZygpXSA9ICh0YXJnZXQgYXMgYW55KVtwcm9wZXJ0eUtleS50b1N0cmluZygpXTtcblx0fTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoYXQgdGhlIG1ldGhvZCBjYW4gYmUgZXh0ZW5kZWQgYnkgb3RoZXIgY29udHJvbGxlciBleHRlbnNpb24gYmFzZWQgb24gdGhlIGRlZmluZWQgb3ZlcnJpZGVFeGVjdXRpb25UeXBlLlxuICpcbiAqIEBwYXJhbSBvdmVycmlkZUV4ZWN1dGlvblR5cGUgVGhlIE92ZXJyaWRlRXhlY3V0aW9uIGRlZmluaW5nIHdoZW4gdGhlIG92ZXJyaWRlIHNob3VsZCBydW4gKEJlZm9yZSAvIEFmdGVyIC8gSW5zdGVhZClcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRlbnNpYmxlKG92ZXJyaWRlRXhlY3V0aW9uVHlwZT86IE92ZXJyaWRlRXhlY3V0aW9uKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2xsZXIsIHByb3BlcnR5S2V5KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGlmICghbWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IHt9O1xuXHRcdH1cblx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldLm92ZXJyaWRlRXhlY3V0aW9uID0gb3ZlcnJpZGVFeGVjdXRpb25UeXBlO1xuXHR9O1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhhdCB0aGUgbWV0aG9kIHdpbGwgYmUgcHVibGljbHkgYXZhaWxhYmxlIGZvciBjb250cm9sbGVyIGV4dGVuc2lvbiB1c2FnZS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGljRXh0ZW5zaW9uKCk6IE1ldGhvZERlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleSwgZGVzY3JpcHRvcik6IHZvaWQge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRkZXNjcmlwdG9yLmVudW1lcmFibGUgPSB0cnVlO1xuXHRcdGlmICghbWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IHt9O1xuXHRcdH1cblx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldLnB1YmxpYyA9IHRydWU7XG5cdH07XG59XG4vKipcbiAqIERlZmluZXMgdGhhdCB0aGUgbWV0aG9kIHdpbGwgYmUgb25seSBhdmFpbGFibGUgZm9yIGludGVybmFsIHVzYWdlIG9mIHRoZSBjb250cm9sbGVyIGV4dGVuc2lvbi5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJpdmF0ZUV4dGVuc2lvbigpOiBNZXRob2REZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbGxlciwgcHJvcGVydHlLZXksIGRlc2NyaXB0b3IpIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0ZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gdHJ1ZTtcblx0XHRpZiAoIW1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0pIHtcblx0XHRcdG1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0gPSB7fTtcblx0XHR9XG5cdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXS5wdWJsaWMgPSBmYWxzZTtcblx0fTtcbn1cbi8qKlxuICogRGVmaW5lcyB0aGF0IHRoZSBtZXRob2QgY2Fubm90IGJlIGZ1cnRoZXIgZXh0ZW5kZWQgYnkgb3RoZXIgY29udHJvbGxlciBleHRlbnNpb24uXG4gKlxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmFsRXh0ZW5zaW9uKCk6IE1ldGhvZERlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleSwgZGVzY3JpcHRvcikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRkZXNjcmlwdG9yLmVudW1lcmFibGUgPSB0cnVlO1xuXHRcdGlmICghbWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IHt9O1xuXHRcdH1cblx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldLmZpbmFsID0gdHJ1ZTtcblx0fTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHVzZSBpbnN0YW50aWF0ZSBhIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIHVuZGVyIHRoZSBmb2xsb3dpbmcgdmFyaWFibGUgbmFtZS5cbiAqXG4gKiBAcGFyYW0gZXh0ZW5zaW9uQ2xhc3MgVGhlIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIHRoYXQgd2lsbCBiZSBpbnN0YW50aWF0ZWRcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzaW5nRXh0ZW5zaW9uKGV4dGVuc2lvbkNsYXNzOiB0eXBlb2YgQ29udHJvbGxlckV4dGVuc2lvbiB8IEZ1bmN0aW9uKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbGxlciwgcHJvcGVydHlLZXk6IHN0cmluZywgcHJvcGVydHlEZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGRlbGV0ZSAocHJvcGVydHlEZXNjcmlwdG9yIGFzIGFueSkuaW5pdGlhbGl6ZXI7XG5cdFx0bWV0YWRhdGEuY29udHJvbGxlckV4dGVuc2lvbnNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0gPSBleHRlbnNpb25DbGFzcztcblx0XHRyZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuXHR9IGFzIGFueTsgLy8gVGhpcyBpcyB0ZWNobmljYWxseSBhbiBhY2Nlc3NvciBkZWNvcmF0b3IsIGJ1dCBzb21laG93IHRoZSBjb21waWxlciBkb2Vzbid0IGxpa2UgaXQgaWYgSSBkZWNsYXJlIGl0IGFzIHN1Y2guXG59XG5cbi8qICNlbmRyZWdpb24gKi9cblxuLyogI3JlZ2lvbiBDT05UUk9MICovXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSBwcm9wZXJ0eSBzaGFsbCBiZSBkZWNsYXJlZCBhcyBhbiBldmVudCBvbiB0aGUgY29udHJvbCBtZXRhZGF0YS5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBldmVudCgpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sLCBldmVudEtleSkge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRpZiAoIW1ldGFkYXRhLmV2ZW50c1tldmVudEtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEuZXZlbnRzW2V2ZW50S2V5LnRvU3RyaW5nKCldID0ge307XG5cdFx0fVxuXHR9O1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhlIGZvbGxvd2luZyBwcm9wZXJ0eSBpbiB0aGUgY29udHJvbCBtZXRhdGFkYS5cbiAqXG4gKiBAcGFyYW0gYXR0cmlidXRlRGVmaW5pdGlvbiBUaGUgcHJvcGVydHkgZGVmaW5pdGlvblxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3BlcnR5KGF0dHJpYnV0ZURlZmluaXRpb246IFVJNVByb3BlcnR5TWV0YWRhdGEpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sLCBwcm9wZXJ0eUtleTogc3RyaW5nLCBwcm9wZXJ0eURlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPGFueT4pIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0aWYgKCFtZXRhZGF0YS5wcm9wZXJ0aWVzW3Byb3BlcnR5S2V5XSkge1xuXHRcdFx0bWV0YWRhdGEucHJvcGVydGllc1twcm9wZXJ0eUtleV0gPSBhdHRyaWJ1dGVEZWZpbml0aW9uO1xuXHRcdH1cblx0XHRkZWxldGUgcHJvcGVydHlEZXNjcmlwdG9yLndyaXRhYmxlO1xuXHRcdGRlbGV0ZSAocHJvcGVydHlEZXNjcmlwdG9yIGFzIGFueSkuaW5pdGlhbGl6ZXI7XG5cblx0XHRyZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuXHR9IGFzIGFueTsgLy8gVGhpcyBpcyB0ZWNobmljYWxseSBhbiBhY2Nlc3NvciBkZWNvcmF0b3IsIGJ1dCBzb21laG93IHRoZSBjb21waWxlciBkb2Vzbid0IGxpa2UgaXQgaWYgaSBkZWNsYXJlIGl0IGFzIHN1Y2guO1xufVxuLyoqXG4gKiBEZWZpbmVzIGFuZCBjb25maWd1cmUgdGhlIGZvbGxvd2luZyBhZ2dyZWdhdGlvbiBpbiB0aGUgY29udHJvbCBtZXRhdGFkYS5cbiAqXG4gKiBAcGFyYW0gYWdncmVnYXRpb25EZWZpbml0aW9uIFRoZSBhZ2dyZWdhdGlvbiBkZWZpbml0aW9uXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWdncmVnYXRpb24oYWdncmVnYXRpb25EZWZpbml0aW9uOiBVSTVBZ2dyZWdhdGlvbk1ldGFkYXRhKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbCwgcHJvcGVydHlLZXk6IHN0cmluZywgcHJvcGVydHlEZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGlmIChhZ2dyZWdhdGlvbkRlZmluaXRpb24ubXVsdGlwbGUgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Ly8gVUk1IGRlZmF1bHRzIHRoaXMgdG8gdHJ1ZSBidXQgdGhpcyBpcyBqdXN0IHdlaXJkLi4uXG5cdFx0XHRhZ2dyZWdhdGlvbkRlZmluaXRpb24ubXVsdGlwbGUgPSBmYWxzZTtcblx0XHR9XG5cdFx0aWYgKCFtZXRhZGF0YS5hZ2dyZWdhdGlvbnNbcHJvcGVydHlLZXldKSB7XG5cdFx0XHRtZXRhZGF0YS5hZ2dyZWdhdGlvbnNbcHJvcGVydHlLZXldID0gYWdncmVnYXRpb25EZWZpbml0aW9uO1xuXHRcdH1cblx0XHRpZiAoYWdncmVnYXRpb25EZWZpbml0aW9uLmlzRGVmYXVsdCkge1xuXHRcdFx0bWV0YWRhdGEuZGVmYXVsdEFnZ3JlZ2F0aW9uID0gcHJvcGVydHlLZXk7XG5cdFx0fVxuXHRcdGRlbGV0ZSBwcm9wZXJ0eURlc2NyaXB0b3Iud3JpdGFibGU7XG5cdFx0ZGVsZXRlIChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplcjtcblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55OyAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGFuIGFjY2Vzc29yIGRlY29yYXRvciwgYnV0IHNvbWVob3cgdGhlIGNvbXBpbGVyIGRvZXNuJ3QgbGlrZSBpdCBpZiBpIGRlY2xhcmUgaXQgYXMgc3VjaC47XG59XG5cbi8qKlxuICogRGVmaW5lcyBhbmQgY29uZmlndXJlIHRoZSBmb2xsb3dpbmcgYXNzb2NpYXRpb24gaW4gdGhlIGNvbnRyb2wgbWV0YXRhZGEuXG4gKlxuICogQHBhcmFtIHVpNUFzc29jaWF0aW9uTWV0YWRhdGEgVGhlIGRlZmluaXRpb24gb2YgdGhlIGFzc29jaWF0aW9uLlxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBwcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzb2NpYXRpb24odWk1QXNzb2NpYXRpb25NZXRhZGF0YTogVUk1QXNzb2NpYXRpb25NZXRhZGF0YSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIHByb3BlcnR5S2V5OiBzdHJpbmcsIHByb3BlcnR5RGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8YW55Pikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRpZiAoIW1ldGFkYXRhLmFzc29jaWF0aW9uc1twcm9wZXJ0eUtleV0pIHtcblx0XHRcdG1ldGFkYXRhLmFzc29jaWF0aW9uc1twcm9wZXJ0eUtleV0gPSB1aTVBc3NvY2lhdGlvbk1ldGFkYXRhO1xuXHRcdH1cblx0XHRkZWxldGUgcHJvcGVydHlEZXNjcmlwdG9yLndyaXRhYmxlO1xuXHRcdGRlbGV0ZSAocHJvcGVydHlEZXNjcmlwdG9yIGFzIGFueSkuaW5pdGlhbGl6ZXI7XG5cblx0XHRyZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuXHR9IGFzIGFueTsgLy8gVGhpcyBpcyB0ZWNobmljYWxseSBhbiBhY2Nlc3NvciBkZWNvcmF0b3IsIGJ1dCBzb21laG93IHRoZSBjb21waWxlciBkb2Vzbid0IGxpa2UgaXQgaWYgaSBkZWNsYXJlIGl0IGFzIHN1Y2guO1xufVxuXG4vKipcbiAqIERlZmluZXMgaW4gdGhlIG1ldGFkYXRhIHRoYXQgdGhpcyBjb250cm9sIGltcGxlbWVudHMgYSBzcGVjaWZpYyBpbnRlcmZhY2UuXG4gKlxuICogQHBhcmFtIGludGVyZmFjZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGltcGxlbWVudGVkIGludGVyZmFjZVxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGltcGxlbWVudEludGVyZmFjZShpbnRlcmZhY2VOYW1lOiBzdHJpbmcpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sKSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXG5cdFx0bWV0YWRhdGEuaW50ZXJmYWNlcy5wdXNoKGludGVyZmFjZU5hbWUpO1xuXHR9O1xufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSBmb2xsb3dpbmcgbWV0aG9kIHNob3VsZCBhbHNvIGJlIGV4cG9zZWQgc3RhdGljYWxseSBzbyB3ZSBjYW4gY2FsbCBpdCBmcm9tIFhNTC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24geG1sRXZlbnRIYW5kbGVyKCk6IE1ldGhvZERlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sLCBwcm9wZXJ0eWtleSkge1xuXHRcdGNvbnN0IGN1cnJlbnRDb25zdHJ1Y3RvcjogVUk1QVBJQ29udHJvbCA9IHRhcmdldC5jb25zdHJ1Y3RvciBhcyB1bmtub3duIGFzIFVJNUFQSUNvbnRyb2w7XG5cdFx0Y3VycmVudENvbnN0cnVjdG9yW3Byb3BlcnR5a2V5LnRvU3RyaW5nKCldID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG5cdFx0XHRpZiAoYXJncyAmJiBhcmdzLmxlbmd0aCkge1xuXHRcdFx0XHRjb25zdCBjdXJyZW50VGFyZ2V0ID0gY3VycmVudENvbnN0cnVjdG9yLmdldEFQSShhcmdzWzBdIGFzIFVJNUV2ZW50KTtcblx0XHRcdFx0Y3VycmVudFRhcmdldD8uW3Byb3BlcnR5a2V5LnRvU3RyaW5nKCldKC4uLmFyZ3MpO1xuXHRcdFx0fVxuXHRcdH07XG5cdH07XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIGZvbGxvd2luZyBjbGFzcyBzaG91bGQgZGVmaW5lIGEgVUk1IGNvbnRyb2wgb2YgdGhlIHNwZWNpZmllZCBuYW1lLlxuICpcbiAqIEBwYXJhbSBzVGFyZ2V0IFRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgVUk1IGNsYXNzXG4gKiBAcGFyYW0gbWV0YWRhdGFEZWZpbml0aW9uIElubGluZSBtZXRhZGF0YSBkZWZpbml0aW9uXG4gKiBAY2xhc3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZVVJNUNsYXNzKHNUYXJnZXQ6IHN0cmluZywgbWV0YWRhdGFEZWZpbml0aW9uPzogYW55KTogQ2xhc3NEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKGNvbnN0cnVjdG9yOiBGdW5jdGlvbikge1xuXHRcdGlmICghY29uc3RydWN0b3IucHJvdG90eXBlLm1ldGFkYXRhKSB7XG5cdFx0XHRjb25zdHJ1Y3Rvci5wcm90b3R5cGUubWV0YWRhdGEgPSB7fTtcblx0XHR9XG5cdFx0aWYgKG1ldGFkYXRhRGVmaW5pdGlvbikge1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gbWV0YWRhdGFEZWZpbml0aW9uKSB7XG5cdFx0XHRcdGNvbnN0cnVjdG9yLnByb3RvdHlwZS5tZXRhZGF0YVtrZXldID0gbWV0YWRhdGFEZWZpbml0aW9uW2tleSBhcyBrZXlvZiBVSTVDb250cm9sTWV0YWRhdGFEZWZpbml0aW9uXTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHJlZ2lzdGVyVUk1TWV0YWRhdGEoY29uc3RydWN0b3IsIHNUYXJnZXQsIGNvbnN0cnVjdG9yLnByb3RvdHlwZSk7XG5cdH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZWZlcmVuY2U8VD4oKSB7XG5cdHJldHVybiB7XG5cdFx0Y3VycmVudDogdW5kZWZpbmVkIGFzIGFueSBhcyBULFxuXHRcdHNldEN1cnJlbnQ6IGZ1bmN0aW9uIChvQ29udHJvbEluc3RhbmNlOiBUKTogdm9pZCB7XG5cdFx0XHR0aGlzLmN1cnJlbnQgPSBvQ29udHJvbEluc3RhbmNlO1xuXHRcdH1cblx0fTtcbn1cbi8qKlxuICogRGVmaW5lcyB0aGF0IHRoZSBmb2xsb3dpbmcgb2JqZWN0IHdpbGwgaG9sZCBhIHJlZmVyZW5jZSB0byBhIGNvbnRyb2wgdGhyb3VnaCBqc3ggdGVtcGxhdGluZy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lUmVmZXJlbmNlKCk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIHByb3BlcnR5S2V5OiBzdHJpbmcsIHByb3BlcnR5RGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8YW55Pikge1xuXHRcdGRlbGV0ZSBwcm9wZXJ0eURlc2NyaXB0b3Iud3JpdGFibGU7XG5cdFx0ZGVsZXRlIChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplcjtcblx0XHQocHJvcGVydHlEZXNjcmlwdG9yIGFzIGFueSkuaW5pdGlhbGl6ZXIgPSBjcmVhdGVSZWZlcmVuY2U7XG5cblx0XHRyZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuXHR9IGFzIGFueTsgLy8gVGhpcyBpcyB0ZWNobmljYWxseSBhbiBhY2Nlc3NvciBkZWNvcmF0b3IsIGJ1dCBzb21laG93IHRoZSBjb21waWxlciBkb2Vzbid0IGxpa2UgaXQgaWYgaSBkZWNsYXJlIGl0IGFzIHN1Y2guO1xufVxuXG4vKipcbiAqIEludGVybmFsIGhlYXZ5IGxpZnRpbmcgdGhhdCB3aWxsIHRha2UgY2FyZSBvZiBjcmVhdGluZyB0aGUgY2xhc3MgcHJvcGVydHkgZm9yIHVpNSB0byB1c2UuXG4gKlxuICogQHBhcmFtIGNsYXp6IFRoZSBjbGFzcyBwcm90b3R5cGVcbiAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjbGFzcyB0byBjcmVhdGVcbiAqIEBwYXJhbSBpbk9iaiBUaGUgbWV0YWRhdGEgb2JqZWN0XG4gKiBAcmV0dXJucyBUaGUgbWV0YWRhdGEgY2xhc3NcbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJVSTVNZXRhZGF0YShjbGF6ejogYW55LCBuYW1lOiBzdHJpbmcsIGluT2JqOiBhbnkpOiBhbnkge1xuXHRpZiAoY2xhenouZ2V0TWV0YWRhdGEgJiYgY2xhenouZ2V0TWV0YWRhdGEoKS5pc0EoXCJzYXAudWkuY29yZS5tdmMuQ29udHJvbGxlckV4dGVuc2lvblwiKSkge1xuXHRcdE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGluT2JqKS5mb3JFYWNoKChvYmpOYW1lKSA9PiB7XG5cdFx0XHRjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbk9iaiwgb2JqTmFtZSk7XG5cdFx0XHRpZiAoZGVzY3JpcHRvciAmJiAhZGVzY3JpcHRvci5lbnVtZXJhYmxlKSB7XG5cdFx0XHRcdGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IHRydWU7XG5cdFx0XHRcdC8vXHRcdExvZy5lcnJvcihgUHJvcGVydHkgJHtvYmpOYW1lfSBmcm9tICR7bmFtZX0gc2hvdWxkIGJlIGRlY29yYXRlZCBhcyBwdWJsaWNgKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRjb25zdCBvYmo6IGFueSA9IHt9O1xuXHRvYmoubWV0YWRhdGEgPSBpbk9iai5tZXRhZGF0YSB8fCB7fTtcblx0b2JqLm92ZXJyaWRlID0gaW5PYmoub3ZlcnJpZGU7XG5cdG9iai5jb25zdHJ1Y3RvciA9IGNsYXp6O1xuXHRvYmoubWV0YWRhdGEuYmFzZVR5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY2xhenoucHJvdG90eXBlKS5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKTtcblxuXHRpZiAoY2xheno/LmdldE1ldGFkYXRhKCk/LmdldFN0ZXJlb3R5cGUoKSA9PT0gXCJjb250cm9sXCIpIHtcblx0XHRjb25zdCByZW5kZXJlckRlZmluaXRpb24gPSBpbk9iai5yZW5kZXJlciB8fCBjbGF6ei5yZW5kZXJlciB8fCBjbGF6ei5yZW5kZXI7XG5cdFx0b2JqLnJlbmRlcmVyID0geyBhcGlWZXJzaW9uOiAyIH07XG5cdFx0aWYgKHR5cGVvZiByZW5kZXJlckRlZmluaXRpb24gPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0b2JqLnJlbmRlcmVyLnJlbmRlciA9IHJlbmRlcmVyRGVmaW5pdGlvbjtcblx0XHR9IGVsc2UgaWYgKHJlbmRlcmVyRGVmaW5pdGlvbiAhPSB1bmRlZmluZWQpIHtcblx0XHRcdG9iai5yZW5kZXJlciA9IHJlbmRlcmVyRGVmaW5pdGlvbjtcblx0XHR9XG5cdH1cblx0b2JqLm1ldGFkYXRhLmludGVyZmFjZXMgPSBpbk9iai5tZXRhZGF0YT8uaW50ZXJmYWNlcyB8fCBjbGF6ei5tZXRhZGF0YT8uaW50ZXJmYWNlcztcblx0T2JqZWN0LmtleXMoY2xhenoucHJvdG90eXBlKS5mb3JFYWNoKChrZXkpID0+IHtcblx0XHRpZiAoa2V5ICE9PSBcIm1ldGFkYXRhXCIpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdG9ialtrZXldID0gY2xhenoucHJvdG90eXBlW2tleV07XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdC8vY29uc29sZS5sb2coZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcblx0aWYgKG9iai5tZXRhZGF0YT8uY29udHJvbGxlckV4dGVuc2lvbnMgJiYgT2JqZWN0LmtleXMob2JqLm1ldGFkYXRhLmNvbnRyb2xsZXJFeHRlbnNpb25zKS5sZW5ndGggPiAwKSB7XG5cdFx0Zm9yIChjb25zdCBjRXh0TmFtZSBpbiBvYmoubWV0YWRhdGEuY29udHJvbGxlckV4dGVuc2lvbnMpIHtcblx0XHRcdG9ialtjRXh0TmFtZV0gPSBvYmoubWV0YWRhdGEuY29udHJvbGxlckV4dGVuc2lvbnNbY0V4dE5hbWVdO1xuXHRcdH1cblx0fVxuXHRjb25zdCBvdXRwdXQgPSBjbGF6ei5leHRlbmQobmFtZSwgb2JqKTtcblx0Y29uc3QgZm5Jbml0ID0gb3V0cHV0LnByb3RvdHlwZS5pbml0O1xuXHRvdXRwdXQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRpZiAoZm5Jbml0KSB7XG5cdFx0XHRmbkluaXQuYXBwbHkodGhpcywgYXJncyk7XG5cdFx0fVxuXHRcdHRoaXMubWV0YWRhdGEgPSBvYmoubWV0YWRhdGE7XG5cblx0XHRpZiAob2JqLm1ldGFkYXRhLnByb3BlcnRpZXMpIHtcblx0XHRcdGNvbnN0IGFQcm9wZXJ0eUtleXMgPSBPYmplY3Qua2V5cyhvYmoubWV0YWRhdGEucHJvcGVydGllcyk7XG5cdFx0XHRhUHJvcGVydHlLZXlzLmZvckVhY2goKHByb3BlcnR5S2V5KSA9PiB7XG5cdFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBwcm9wZXJ0eUtleSwge1xuXHRcdFx0XHRcdGNvbmZpZ3VyYWJsZTogdHJ1ZSxcblx0XHRcdFx0XHRzZXQ6ICh2OiBhbnkpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLnNldFByb3BlcnR5KHByb3BlcnR5S2V5LCB2KTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGdldDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuZ2V0UHJvcGVydHkocHJvcGVydHlLZXkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IGFBZ2dyZWdhdGlvbktleXMgPSBPYmplY3Qua2V5cyhvYmoubWV0YWRhdGEuYWdncmVnYXRpb25zKTtcblx0XHRcdGFBZ2dyZWdhdGlvbktleXMuZm9yRWFjaCgoYWdncmVnYXRpb25LZXkpID0+IHtcblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIGFnZ3JlZ2F0aW9uS2V5LCB7XG5cdFx0XHRcdFx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdHNldDogKHY6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuc2V0QWdncmVnYXRpb24oYWdncmVnYXRpb25LZXksIHYpO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uS2V5KTtcblx0XHRcdFx0XHRcdGlmIChvYmoubWV0YWRhdGEuYWdncmVnYXRpb25zW2FnZ3JlZ2F0aW9uS2V5XS5tdWx0aXBsZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gYWdncmVnYXRpb25Db250ZW50IHx8IFtdO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGFnZ3JlZ2F0aW9uQ29udGVudDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0XHRjb25zdCBhQXNzb2NpYXRpb25LZXlzID0gT2JqZWN0LmtleXMob2JqLm1ldGFkYXRhLmFzc29jaWF0aW9ucyk7XG5cdFx0XHRhQXNzb2NpYXRpb25LZXlzLmZvckVhY2goKGFzc29jaWF0aW9uS2V5KSA9PiB7XG5cdFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBhc3NvY2lhdGlvbktleSwge1xuXHRcdFx0XHRcdGNvbmZpZ3VyYWJsZTogdHJ1ZSxcblx0XHRcdFx0XHRzZXQ6ICh2OiBhbnkpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLnNldEFzc29jaWF0aW9uKGFzc29jaWF0aW9uS2V5LCB2KTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGdldDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgYWdncmVnYXRpb25Db250ZW50ID0gdGhpcy5nZXRBc3NvY2lhdGlvbihhc3NvY2lhdGlvbktleSk7XG5cdFx0XHRcdFx0XHRpZiAob2JqLm1ldGFkYXRhLmFzc29jaWF0aW9uc1thc3NvY2lhdGlvbktleV0ubXVsdGlwbGUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGFnZ3JlZ2F0aW9uQ29udGVudCB8fCBbXTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBhZ2dyZWdhdGlvbkNvbnRlbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fTtcblx0Y2xhenoub3ZlcnJpZGUgPSBmdW5jdGlvbiAob0V4dGVuc2lvbjogYW55KSB7XG5cdFx0Y29uc3QgcG9sID0ge307XG5cdFx0KHBvbCBhcyBhbnkpLmNvbnN0cnVjdG9yID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG5cdFx0XHRyZXR1cm4gY2xhenouYXBwbHkodGhpcywgYXJncyBhcyBhbnkpO1xuXHRcdH07XG5cdFx0Y29uc3Qgb0NsYXNzID0gKE1ldGFkYXRhIGFzIGFueSkuY3JlYXRlQ2xhc3MoY2xhenosIGBhbm9ueW1vdXNFeHRlbnNpb25+JHt1aWQoKX1gLCBwb2wsIENvbnRyb2xsZXJNZXRhZGF0YSk7XG5cdFx0b0NsYXNzLmdldE1ldGFkYXRhKCkuX3N0YXRpY092ZXJyaWRlID0gb0V4dGVuc2lvbjtcblx0XHRvQ2xhc3MuZ2V0TWV0YWRhdGEoKS5fb3ZlcnJpZGUgPSBjbGF6ei5nZXRNZXRhZGF0YSgpLl9vdmVycmlkZTtcblx0XHRyZXR1cm4gb0NsYXNzO1xuXHR9O1xuXG5cdE9iamVjdFBhdGguc2V0KG5hbWUsIG91dHB1dCk7XG5cdHJldHVybiBvdXRwdXQ7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7O0VBeUVBLE1BQU1BLGNBQWMsR0FBRyxVQUFVQyxNQUFx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
|
|
421
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlbnN1cmVNZXRhZGF0YSIsInRhcmdldCIsIm1ldGFkYXRhIiwibWVyZ2UiLCJjb250cm9sbGVyRXh0ZW5zaW9ucyIsInByb3BlcnRpZXMiLCJhZ2dyZWdhdGlvbnMiLCJhc3NvY2lhdGlvbnMiLCJtZXRob2RzIiwiZXZlbnRzIiwiaW50ZXJmYWNlcyIsIm1ldGhvZE92ZXJyaWRlIiwiZXh0ZW5zaW9uTmFtZSIsInByb3BlcnR5S2V5Iiwib3ZlcnJpZGUiLCJjdXJyZW50VGFyZ2V0IiwiZXh0ZW5zaW9uIiwidG9TdHJpbmciLCJleHRlbnNpYmxlIiwib3ZlcnJpZGVFeGVjdXRpb25UeXBlIiwib3ZlcnJpZGVFeGVjdXRpb24iLCJwdWJsaWNFeHRlbnNpb24iLCJkZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1YmxpYyIsInByaXZhdGVFeHRlbnNpb24iLCJmaW5hbEV4dGVuc2lvbiIsImZpbmFsIiwidXNpbmdFeHRlbnNpb24iLCJleHRlbnNpb25DbGFzcyIsInByb3BlcnR5RGVzY3JpcHRvciIsImluaXRpYWxpemVyIiwiZXZlbnQiLCJldmVudEtleSIsInByb3BlcnR5IiwiYXR0cmlidXRlRGVmaW5pdGlvbiIsIndyaXRhYmxlIiwiYWdncmVnYXRpb24iLCJhZ2dyZWdhdGlvbkRlZmluaXRpb24iLCJtdWx0aXBsZSIsInVuZGVmaW5lZCIsImlzRGVmYXVsdCIsImRlZmF1bHRBZ2dyZWdhdGlvbiIsImFzc29jaWF0aW9uIiwidWk1QXNzb2NpYXRpb25NZXRhZGF0YSIsImltcGxlbWVudEludGVyZmFjZSIsImludGVyZmFjZU5hbWUiLCJwdXNoIiwieG1sRXZlbnRIYW5kbGVyIiwicHJvcGVydHlrZXkiLCJjdXJyZW50Q29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJsZW5ndGgiLCJnZXRBUEkiLCJkZWZpbmVVSTVDbGFzcyIsInNUYXJnZXQiLCJtZXRhZGF0YURlZmluaXRpb24iLCJwcm90b3R5cGUiLCJrZXkiLCJyZWdpc3RlclVJNU1ldGFkYXRhIiwiY3JlYXRlUmVmZXJlbmNlIiwiY3VycmVudCIsInNldEN1cnJlbnQiLCJvQ29udHJvbEluc3RhbmNlIiwiZGVmaW5lUmVmZXJlbmNlIiwiY2xhenoiLCJuYW1lIiwiaW5PYmoiLCJnZXRNZXRhZGF0YSIsImlzQSIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJmb3JFYWNoIiwib2JqTmFtZSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm9iaiIsImJhc2VUeXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJnZXROYW1lIiwiZ2V0U3RlcmVvdHlwZSIsInJlbmRlcmVyRGVmaW5pdGlvbiIsInJlbmRlcmVyIiwicmVuZGVyIiwiYXBpVmVyc2lvbiIsImtleXMiLCJlIiwiY0V4dE5hbWUiLCJvdXRwdXQiLCJleHRlbmQiLCJmbkluaXQiLCJpbml0IiwiYXBwbHkiLCJhUHJvcGVydHlLZXlzIiwiZGVmaW5lUHJvcGVydHkiLCJjb25maWd1cmFibGUiLCJzZXQiLCJ2Iiwic2V0UHJvcGVydHkiLCJnZXQiLCJnZXRQcm9wZXJ0eSIsImFBZ2dyZWdhdGlvbktleXMiLCJhZ2dyZWdhdGlvbktleSIsInNldEFnZ3JlZ2F0aW9uIiwiYWdncmVnYXRpb25Db250ZW50IiwiZ2V0QWdncmVnYXRpb24iLCJhQXNzb2NpYXRpb25LZXlzIiwiYXNzb2NpYXRpb25LZXkiLCJzZXRBc3NvY2lhdGlvbiIsImdldEFzc29jaWF0aW9uIiwib0V4dGVuc2lvbiIsInBvbCIsIm9DbGFzcyIsIk1ldGFkYXRhIiwiY3JlYXRlQ2xhc3MiLCJ1aWQiLCJDb250cm9sbGVyTWV0YWRhdGEiLCJfc3RhdGljT3ZlcnJpZGUiLCJfb3ZlcnJpZGUiLCJPYmplY3RQYXRoIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDbGFzc1N1cHBvcnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1lcmdlIGZyb20gXCJzYXAvYmFzZS91dGlsL21lcmdlXCI7XG5pbXBvcnQgT2JqZWN0UGF0aCBmcm9tIFwic2FwL2Jhc2UvdXRpbC9PYmplY3RQYXRoXCI7XG5pbXBvcnQgdWlkIGZyb20gXCJzYXAvYmFzZS91dGlsL3VpZFwiO1xuaW1wb3J0IHR5cGUgVUk1RXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgTWV0YWRhdGEgZnJvbSBcInNhcC91aS9iYXNlL01ldGFkYXRhXCI7XG5pbXBvcnQgdHlwZSBDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvdWkvY29yZS9tdmMvQ29udHJvbGxlckV4dGVuc2lvblwiO1xuaW1wb3J0IENvbnRyb2xsZXJNZXRhZGF0YSBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJNZXRhZGF0YVwiO1xuaW1wb3J0IHR5cGUgT3ZlcnJpZGVFeGVjdXRpb24gZnJvbSBcInNhcC91aS9jb3JlL212Yy9PdmVycmlkZUV4ZWN1dGlvblwiO1xuXG50eXBlIE92ZXJyaWRlRGVmaW5pdGlvbiA9IFJlY29yZDxzdHJpbmcsIEZ1bmN0aW9uPjtcbnR5cGUgVUk1Q29udHJvbGxlck1ldGhvZERlZmluaXRpb24gPSB7XG5cdG92ZXJyaWRlRXhlY3V0aW9uPzogT3ZlcnJpZGVFeGVjdXRpb247XG5cdHB1YmxpYz86IGJvb2xlYW47XG5cdGZpbmFsPzogYm9vbGVhbjtcbn07XG50eXBlIFVJNVByb3BlcnR5TWV0YWRhdGEgPSB7XG5cdHR5cGU6IHN0cmluZztcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xuXHRncm91cD86IHN0cmluZztcblx0ZGVmYXVsdFZhbHVlPzogYW55O1xuXHRleHBlY3RlZEFubm90YXRpb25zPzogc3RyaW5nW107XG5cdGV4cGVjdGVkVHlwZXM/OiBzdHJpbmdbXTtcblx0YWxsb3dlZFZhbHVlcz86IHN0cmluZ1tdO1xufTtcbnR5cGUgVUk1QWdncmVnYXRpb25NZXRhZGF0YSA9IHtcblx0dHlwZTogc3RyaW5nO1xuXHRtdWx0aXBsZT86IGJvb2xlYW47XG5cdGlzRGVmYXVsdD86IGJvb2xlYW47XG5cdHNpbmd1bGFyTmFtZT86IHN0cmluZztcblx0dmlzaWJpbGl0eT86IHN0cmluZztcbn07XG50eXBlIFVJNUFzc29jaWF0aW9uTWV0YWRhdGEgPSB7XG5cdHR5cGU6IHN0cmluZztcblx0bXVsdGlwbGU/OiBib29sZWFuO1xuXHRzaW5ndWxhck5hbWU/OiBzdHJpbmc7XG59O1xudHlwZSBVSTVDb250cm9sTWV0YWRhdGFEZWZpbml0aW9uID0ge1xuXHRkZWZhdWx0QWdncmVnYXRpb24/OiBzdHJpbmc7XG5cdGNvbnRyb2xsZXJFeHRlbnNpb25zOiBSZWNvcmQ8c3RyaW5nLCB0eXBlb2YgQ29udHJvbGxlckV4dGVuc2lvbiB8IEZ1bmN0aW9uPjtcblx0cHJvcGVydGllczogUmVjb3JkPHN0cmluZywgVUk1UHJvcGVydHlNZXRhZGF0YT47XG5cdGFnZ3JlZ2F0aW9uczogUmVjb3JkPHN0cmluZywgVUk1QWdncmVnYXRpb25NZXRhZGF0YT47XG5cdGFzc29jaWF0aW9uczogUmVjb3JkPHN0cmluZywgVUk1QXNzb2NpYXRpb25NZXRhZGF0YT47XG5cdG1ldGhvZHM6IFJlY29yZDxzdHJpbmcsIFVJNUNvbnRyb2xsZXJNZXRob2REZWZpbml0aW9uPjtcblx0ZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCB7fT47XG5cdGludGVyZmFjZXM6IHN0cmluZ1tdO1xufTtcbnR5cGUgVUk1Q29udHJvbGxlciA9IHtcblx0b3ZlcnJpZGU/OiB7IGV4dGVuc2lvbj86IFJlY29yZDxzdHJpbmcsIE92ZXJyaWRlRGVmaW5pdGlvbj4gfSAmIHtcblx0XHRbazogc3RyaW5nXTogRnVuY3Rpb247XG5cdH07XG5cdG1ldGFkYXRhPzogVUk1Q29udHJvbE1ldGFkYXRhRGVmaW5pdGlvbjtcbn07XG5cbnR5cGUgVUk1Q29udHJvbCA9IHtcblx0bWV0YWRhdGE/OiBVSTVDb250cm9sTWV0YWRhdGFEZWZpbml0aW9uO1xufTtcblxudHlwZSBVSTVBUElDb250cm9sID0gVUk1Q29udHJvbCAmIHtcblx0Z2V0QVBJKGV2ZW50OiBVSTVFdmVudCk6IFVJNUFQSUNvbnRyb2w7XG5cdFtrOiBzdHJpbmddOiBGdW5jdGlvbjtcbn07XG5cbnR5cGUgQ29udHJvbFByb3BlcnR5TmFtZXM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgRnVuY3Rpb24gPyBuZXZlciA6IEs7XG59W2tleW9mIFRdO1xuZXhwb3J0IHR5cGUgUHJvcGVydGllc09mPFQ+ID0gUGFydGlhbDxQaWNrPFQsIENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+Pj47XG5leHBvcnQgdHlwZSBTdHJpY3RQcm9wZXJ0aWVzT2Y8VD4gPSBQaWNrPFQsIENvbnRyb2xQcm9wZXJ0eU5hbWVzPFQ+PjtcbmV4cG9ydCB0eXBlIEVuaGFuY2VXaXRoVUk1PFQ+ID0ge1xuXHRuZXcgKHByb3BzOiBQcm9wZXJ0aWVzT2Y8VD4pOiBFbmhhbmNlV2l0aFVJNTxUPjtcblx0bmV3IChzSWQ6IHN0cmluZywgcHJvcHM6IFByb3BlcnRpZXNPZjxUPik6IEVuaGFuY2VXaXRoVUk1PFQ+O1xufSAmIFQgJiB7XG5cdFx0Ly8gQWRkIGFsbCB0aGUgZ2V0WFhYIG1ldGhvZCwgbWlnaHQgYWRkIHRvbyBtdWNoIGFzIEknbSBub3QgZmlsdGVyaW5nIG9uIGFjdHVhbCBwcm9wZXJ0aWVzLi4uXG5cdFx0W1AgaW4ga2V5b2YgVCBhcyBgZ2V0JHtDYXBpdGFsaXplPHN0cmluZyAmIFA+fWBdOiAoKSA9PiBUW1BdO1xuXHR9O1xuY29uc3QgZW5zdXJlTWV0YWRhdGEgPSBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyKSB7XG5cdHRhcmdldC5tZXRhZGF0YSA9IG1lcmdlKFxuXHRcdHtcblx0XHRcdGNvbnRyb2xsZXJFeHRlbnNpb25zOiB7fSxcblx0XHRcdHByb3BlcnRpZXM6IHt9LFxuXHRcdFx0YWdncmVnYXRpb25zOiB7fSxcblx0XHRcdGFzc29jaWF0aW9uczoge30sXG5cdFx0XHRtZXRob2RzOiB7fSxcblx0XHRcdGV2ZW50czoge30sXG5cdFx0XHRpbnRlcmZhY2VzOiBbXVxuXHRcdH0sXG5cdFx0dGFyZ2V0Lm1ldGFkYXRhIHx8IHt9XG5cdCkgYXMgVUk1Q29udHJvbE1ldGFkYXRhRGVmaW5pdGlvbjtcblx0cmV0dXJuIHRhcmdldC5tZXRhZGF0YTtcbn07XG5cbi8qICNyZWdpb24gQ09OVFJPTExFUiBFWFRFTlNJT05TICovXG5cbi8qKlxuICogRGVmaW5lcyB0aGF0IHRoZSBmb2xsb3dpbmcgbWV0aG9kIGlzIGFuIG92ZXJyaWRlIGZvciB0aGUgbWV0aG9kIG5hbWUgd2l0aCB0aGUgc2FtZSBuYW1lIGluIHRoZSBzcGVjaWZpYyBjb250cm9sbGVyIGV4dGVuc2lvbiBvciBiYXNlIGltcGxlbWVudGF0aW9uLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb25OYW1lIFRoZSBuYW1lIG9mIHRoZSBleHRlbnNpb24gdGhhdCB3aWxsIGJlIG92ZXJyaWRkZW5cbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXRob2RPdmVycmlkZShleHRlbnNpb25OYW1lPzogc3RyaW5nKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2xsZXIsIHByb3BlcnR5S2V5KSB7XG5cdFx0aWYgKCF0YXJnZXQub3ZlcnJpZGUpIHtcblx0XHRcdHRhcmdldC5vdmVycmlkZSA9IHt9O1xuXHRcdH1cblx0XHRsZXQgY3VycmVudFRhcmdldCA9IHRhcmdldC5vdmVycmlkZTtcblx0XHRpZiAoZXh0ZW5zaW9uTmFtZSkge1xuXHRcdFx0aWYgKCFjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbikge1xuXHRcdFx0XHRjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbiA9IHt9O1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbltleHRlbnNpb25OYW1lXSkge1xuXHRcdFx0XHRjdXJyZW50VGFyZ2V0LmV4dGVuc2lvbltleHRlbnNpb25OYW1lXSA9IHt9O1xuXHRcdFx0fVxuXHRcdFx0Y3VycmVudFRhcmdldCA9IGN1cnJlbnRUYXJnZXQuZXh0ZW5zaW9uW2V4dGVuc2lvbk5hbWVdO1xuXHRcdH1cblx0XHRjdXJyZW50VGFyZ2V0W3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID0gKHRhcmdldCBhcyBhbnkpW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldO1xuXHR9O1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhhdCB0aGUgbWV0aG9kIGNhbiBiZSBleHRlbmRlZCBieSBvdGhlciBjb250cm9sbGVyIGV4dGVuc2lvbiBiYXNlZCBvbiB0aGUgZGVmaW5lZCBvdmVycmlkZUV4ZWN1dGlvblR5cGUuXG4gKlxuICogQHBhcmFtIG92ZXJyaWRlRXhlY3V0aW9uVHlwZSBUaGUgT3ZlcnJpZGVFeGVjdXRpb24gZGVmaW5pbmcgd2hlbiB0aGUgb3ZlcnJpZGUgc2hvdWxkIHJ1biAoQmVmb3JlIC8gQWZ0ZXIgLyBJbnN0ZWFkKVxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBtZXRob2RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuc2libGUob3ZlcnJpZGVFeGVjdXRpb25UeXBlPzogT3ZlcnJpZGVFeGVjdXRpb24pOiBNZXRob2REZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbGxlciwgcHJvcGVydHlLZXkpIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0aWYgKCFtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldKSB7XG5cdFx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID0ge307XG5cdFx0fVxuXHRcdG1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0ub3ZlcnJpZGVFeGVjdXRpb24gPSBvdmVycmlkZUV4ZWN1dGlvblR5cGU7XG5cdH07XG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGF0IHRoZSBtZXRob2Qgd2lsbCBiZSBwdWJsaWNseSBhdmFpbGFibGUgZm9yIGNvbnRyb2xsZXIgZXh0ZW5zaW9uIHVzYWdlLlxuICpcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwdWJsaWNFeHRlbnNpb24oKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2xsZXIsIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKTogdm9pZCB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IHRydWU7XG5cdFx0aWYgKCFtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldKSB7XG5cdFx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID0ge307XG5cdFx0fVxuXHRcdG1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0ucHVibGljID0gdHJ1ZTtcblx0fTtcbn1cbi8qKlxuICogRGVmaW5lcyB0aGF0IHRoZSBtZXRob2Qgd2lsbCBiZSBvbmx5IGF2YWlsYWJsZSBmb3IgaW50ZXJuYWwgdXNhZ2Ugb2YgdGhlIGNvbnRyb2xsZXIgZXh0ZW5zaW9uLlxuICpcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcml2YXRlRXh0ZW5zaW9uKCk6IE1ldGhvZERlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleSwgZGVzY3JpcHRvcikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRkZXNjcmlwdG9yLmVudW1lcmFibGUgPSB0cnVlO1xuXHRcdGlmICghbWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSkge1xuXHRcdFx0bWV0YWRhdGEubWV0aG9kc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IHt9O1xuXHRcdH1cblx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldLnB1YmxpYyA9IGZhbHNlO1xuXHR9O1xufVxuLyoqXG4gKiBEZWZpbmVzIHRoYXQgdGhlIG1ldGhvZCBjYW5ub3QgYmUgZnVydGhlciBleHRlbmRlZCBieSBvdGhlciBjb250cm9sbGVyIGV4dGVuc2lvbi5cbiAqXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluYWxFeHRlbnNpb24oKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2xsZXIsIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IHRydWU7XG5cdFx0aWYgKCFtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldKSB7XG5cdFx0XHRtZXRhZGF0YS5tZXRob2RzW3Byb3BlcnR5S2V5LnRvU3RyaW5nKCldID0ge307XG5cdFx0fVxuXHRcdG1ldGFkYXRhLm1ldGhvZHNbcHJvcGVydHlLZXkudG9TdHJpbmcoKV0uZmluYWwgPSB0cnVlO1xuXHR9O1xufVxuXG4vKipcbiAqIERlZmluZXMgdGhhdCB3ZSBhcmUgZ29pbmcgdG8gdXNlIGluc3RhbnRpYXRlIGEgY29udHJvbGxlciBleHRlbnNpb24gdW5kZXIgdGhlIGZvbGxvd2luZyB2YXJpYWJsZSBuYW1lLlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb25DbGFzcyBUaGUgY29udHJvbGxlciBleHRlbnNpb24gdGhhdCB3aWxsIGJlIGluc3RhbnRpYXRlZFxuICogQHJldHVybnMgVGhlIGRlY29yYXRlZCBwcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNpbmdFeHRlbnNpb24oZXh0ZW5zaW9uQ2xhc3M6IHR5cGVvZiBDb250cm9sbGVyRXh0ZW5zaW9uIHwgRnVuY3Rpb24pOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sbGVyLCBwcm9wZXJ0eUtleTogc3RyaW5nLCBwcm9wZXJ0eURlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPGFueT4pIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0ZGVsZXRlIChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplcjtcblx0XHRtZXRhZGF0YS5jb250cm9sbGVyRXh0ZW5zaW9uc1twcm9wZXJ0eUtleS50b1N0cmluZygpXSA9IGV4dGVuc2lvbkNsYXNzO1xuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55OyAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGFuIGFjY2Vzc29yIGRlY29yYXRvciwgYnV0IHNvbWVob3cgdGhlIGNvbXBpbGVyIGRvZXNuJ3QgbGlrZSBpdCBpZiBJIGRlY2xhcmUgaXQgYXMgc3VjaC5cbn1cblxuLyogI2VuZHJlZ2lvbiAqL1xuXG4vKiAjcmVnaW9uIENPTlRST0wgKi9cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHByb3BlcnR5IHNoYWxsIGJlIGRlY2xhcmVkIGFzIGFuIGV2ZW50IG9uIHRoZSBjb250cm9sIG1ldGFkYXRhLlxuICpcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgcHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV2ZW50KCk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIGV2ZW50S2V5KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGlmICghbWV0YWRhdGEuZXZlbnRzW2V2ZW50S2V5LnRvU3RyaW5nKCldKSB7XG5cdFx0XHRtZXRhZGF0YS5ldmVudHNbZXZlbnRLZXkudG9TdHJpbmcoKV0gPSB7fTtcblx0XHR9XG5cdH07XG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZm9sbG93aW5nIHByb3BlcnR5IGluIHRoZSBjb250cm9sIG1ldGF0YWRhLlxuICpcbiAqIEBwYXJhbSBhdHRyaWJ1dGVEZWZpbml0aW9uIFRoZSBwcm9wZXJ0eSBkZWZpbml0aW9uXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvcGVydHkoYXR0cmlidXRlRGVmaW5pdGlvbjogVUk1UHJvcGVydHlNZXRhZGF0YSk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIHByb3BlcnR5S2V5OiBzdHJpbmcsIHByb3BlcnR5RGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8YW55Pikge1xuXHRcdGNvbnN0IG1ldGFkYXRhID0gZW5zdXJlTWV0YWRhdGEodGFyZ2V0KTtcblx0XHRpZiAoIW1ldGFkYXRhLnByb3BlcnRpZXNbcHJvcGVydHlLZXldKSB7XG5cdFx0XHRtZXRhZGF0YS5wcm9wZXJ0aWVzW3Byb3BlcnR5S2V5XSA9IGF0dHJpYnV0ZURlZmluaXRpb247XG5cdFx0fVxuXHRcdGRlbGV0ZSBwcm9wZXJ0eURlc2NyaXB0b3Iud3JpdGFibGU7XG5cdFx0ZGVsZXRlIChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplcjtcblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55OyAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGFuIGFjY2Vzc29yIGRlY29yYXRvciwgYnV0IHNvbWVob3cgdGhlIGNvbXBpbGVyIGRvZXNuJ3QgbGlrZSBpdCBpZiBpIGRlY2xhcmUgaXQgYXMgc3VjaC47XG59XG4vKipcbiAqIERlZmluZXMgYW5kIGNvbmZpZ3VyZSB0aGUgZm9sbG93aW5nIGFnZ3JlZ2F0aW9uIGluIHRoZSBjb250cm9sIG1ldGF0YWRhLlxuICpcbiAqIEBwYXJhbSBhZ2dyZWdhdGlvbkRlZmluaXRpb24gVGhlIGFnZ3JlZ2F0aW9uIGRlZmluaXRpb25cbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbkRlZmluaXRpb246IFVJNUFnZ3JlZ2F0aW9uTWV0YWRhdGEpOiBQcm9wZXJ0eURlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAodGFyZ2V0OiBVSTVDb250cm9sLCBwcm9wZXJ0eUtleTogc3RyaW5nLCBwcm9wZXJ0eURlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPGFueT4pIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cdFx0aWYgKGFnZ3JlZ2F0aW9uRGVmaW5pdGlvbi5tdWx0aXBsZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHQvLyBVSTUgZGVmYXVsdHMgdGhpcyB0byB0cnVlIGJ1dCB0aGlzIGlzIGp1c3Qgd2VpcmQuLi5cblx0XHRcdGFnZ3JlZ2F0aW9uRGVmaW5pdGlvbi5tdWx0aXBsZSA9IGZhbHNlO1xuXHRcdH1cblx0XHRpZiAoIW1ldGFkYXRhLmFnZ3JlZ2F0aW9uc1twcm9wZXJ0eUtleV0pIHtcblx0XHRcdG1ldGFkYXRhLmFnZ3JlZ2F0aW9uc1twcm9wZXJ0eUtleV0gPSBhZ2dyZWdhdGlvbkRlZmluaXRpb247XG5cdFx0fVxuXHRcdGlmIChhZ2dyZWdhdGlvbkRlZmluaXRpb24uaXNEZWZhdWx0KSB7XG5cdFx0XHRtZXRhZGF0YS5kZWZhdWx0QWdncmVnYXRpb24gPSBwcm9wZXJ0eUtleTtcblx0XHR9XG5cdFx0ZGVsZXRlIHByb3BlcnR5RGVzY3JpcHRvci53cml0YWJsZTtcblx0XHRkZWxldGUgKHByb3BlcnR5RGVzY3JpcHRvciBhcyBhbnkpLmluaXRpYWxpemVyO1xuXG5cdFx0cmV0dXJuIHByb3BlcnR5RGVzY3JpcHRvcjtcblx0fSBhcyBhbnk7IC8vIFRoaXMgaXMgdGVjaG5pY2FsbHkgYW4gYWNjZXNzb3IgZGVjb3JhdG9yLCBidXQgc29tZWhvdyB0aGUgY29tcGlsZXIgZG9lc24ndCBsaWtlIGl0IGlmIGkgZGVjbGFyZSBpdCBhcyBzdWNoLjtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGFuZCBjb25maWd1cmUgdGhlIGZvbGxvd2luZyBhc3NvY2lhdGlvbiBpbiB0aGUgY29udHJvbCBtZXRhdGFkYS5cbiAqXG4gKiBAcGFyYW0gdWk1QXNzb2NpYXRpb25NZXRhZGF0YSBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgYXNzb2NpYXRpb24uXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NvY2lhdGlvbih1aTVBc3NvY2lhdGlvbk1ldGFkYXRhOiBVSTVBc3NvY2lhdGlvbk1ldGFkYXRhKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbCwgcHJvcGVydHlLZXk6IHN0cmluZywgcHJvcGVydHlEZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+KSB7XG5cdFx0Y29uc3QgbWV0YWRhdGEgPSBlbnN1cmVNZXRhZGF0YSh0YXJnZXQpO1xuXHRcdGlmICghbWV0YWRhdGEuYXNzb2NpYXRpb25zW3Byb3BlcnR5S2V5XSkge1xuXHRcdFx0bWV0YWRhdGEuYXNzb2NpYXRpb25zW3Byb3BlcnR5S2V5XSA9IHVpNUFzc29jaWF0aW9uTWV0YWRhdGE7XG5cdFx0fVxuXHRcdGRlbGV0ZSBwcm9wZXJ0eURlc2NyaXB0b3Iud3JpdGFibGU7XG5cdFx0ZGVsZXRlIChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplcjtcblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55OyAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGFuIGFjY2Vzc29yIGRlY29yYXRvciwgYnV0IHNvbWVob3cgdGhlIGNvbXBpbGVyIGRvZXNuJ3QgbGlrZSBpdCBpZiBpIGRlY2xhcmUgaXQgYXMgc3VjaC47XG59XG5cbi8qKlxuICogRGVmaW5lcyBpbiB0aGUgbWV0YWRhdGEgdGhhdCB0aGlzIGNvbnRyb2wgaW1wbGVtZW50cyBhIHNwZWNpZmljIGludGVyZmFjZS5cbiAqXG4gKiBAcGFyYW0gaW50ZXJmYWNlTmFtZSBUaGUgbmFtZSBvZiB0aGUgaW1wbGVtZW50ZWQgaW50ZXJmYWNlXG4gKiBAcmV0dXJucyBUaGUgZGVjb3JhdGVkIG1ldGhvZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaW1wbGVtZW50SW50ZXJmYWNlKGludGVyZmFjZU5hbWU6IHN0cmluZyk6IFByb3BlcnR5RGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wpIHtcblx0XHRjb25zdCBtZXRhZGF0YSA9IGVuc3VyZU1ldGFkYXRhKHRhcmdldCk7XG5cblx0XHRtZXRhZGF0YS5pbnRlcmZhY2VzLnB1c2goaW50ZXJmYWNlTmFtZSk7XG5cdH07XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIGZvbGxvd2luZyBtZXRob2Qgc2hvdWxkIGFsc28gYmUgZXhwb3NlZCBzdGF0aWNhbGx5IHNvIHdlIGNhbiBjYWxsIGl0IGZyb20gWE1MLlxuICpcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgbWV0aG9kXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB4bWxFdmVudEhhbmRsZXIoKTogTWV0aG9kRGVjb3JhdG9yIHtcblx0cmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IFVJNUNvbnRyb2wsIHByb3BlcnR5a2V5KSB7XG5cdFx0Y29uc3QgY3VycmVudENvbnN0cnVjdG9yOiBVSTVBUElDb250cm9sID0gdGFyZ2V0LmNvbnN0cnVjdG9yIGFzIHVua25vd24gYXMgVUk1QVBJQ29udHJvbDtcblx0XHRjdXJyZW50Q29uc3RydWN0b3JbcHJvcGVydHlrZXkudG9TdHJpbmcoKV0gPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdGlmIChhcmdzICYmIGFyZ3MubGVuZ3RoKSB7XG5cdFx0XHRcdGNvbnN0IGN1cnJlbnRUYXJnZXQgPSBjdXJyZW50Q29uc3RydWN0b3IuZ2V0QVBJKGFyZ3NbMF0gYXMgVUk1RXZlbnQpO1xuXHRcdFx0XHRjdXJyZW50VGFyZ2V0Py5bcHJvcGVydHlrZXkudG9TdHJpbmcoKV0oLi4uYXJncyk7XG5cdFx0XHR9XG5cdFx0fTtcblx0fTtcbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCB0aGUgZm9sbG93aW5nIGNsYXNzIHNob3VsZCBkZWZpbmUgYSBVSTUgY29udHJvbCBvZiB0aGUgc3BlY2lmaWVkIG5hbWUuXG4gKlxuICogQHBhcmFtIHNUYXJnZXQgVGhlIGZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIHRoZSBVSTUgY2xhc3NcbiAqIEBwYXJhbSBtZXRhZGF0YURlZmluaXRpb24gSW5saW5lIG1ldGFkYXRhIGRlZmluaXRpb25cbiAqIEBjbGFzc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lVUk1Q2xhc3Moc1RhcmdldDogc3RyaW5nLCBtZXRhZGF0YURlZmluaXRpb24/OiBhbnkpOiBDbGFzc0RlY29yYXRvciB7XG5cdHJldHVybiBmdW5jdGlvbiAoY29uc3RydWN0b3I6IEZ1bmN0aW9uKSB7XG5cdFx0aWYgKCFjb25zdHJ1Y3Rvci5wcm90b3R5cGUubWV0YWRhdGEpIHtcblx0XHRcdGNvbnN0cnVjdG9yLnByb3RvdHlwZS5tZXRhZGF0YSA9IHt9O1xuXHRcdH1cblx0XHRpZiAobWV0YWRhdGFEZWZpbml0aW9uKSB7XG5cdFx0XHRmb3IgKGNvbnN0IGtleSBpbiBtZXRhZGF0YURlZmluaXRpb24pIHtcblx0XHRcdFx0Y29uc3RydWN0b3IucHJvdG90eXBlLm1ldGFkYXRhW2tleV0gPSBtZXRhZGF0YURlZmluaXRpb25ba2V5IGFzIGtleW9mIFVJNUNvbnRyb2xNZXRhZGF0YURlZmluaXRpb25dO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gcmVnaXN0ZXJVSTVNZXRhZGF0YShjb25zdHJ1Y3Rvciwgc1RhcmdldCwgY29uc3RydWN0b3IucHJvdG90eXBlKTtcblx0fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlZmVyZW5jZTxUPigpIHtcblx0cmV0dXJuIHtcblx0XHRjdXJyZW50OiB1bmRlZmluZWQgYXMgYW55IGFzIFQsXG5cdFx0c2V0Q3VycmVudDogZnVuY3Rpb24gKG9Db250cm9sSW5zdGFuY2U6IFQpOiB2b2lkIHtcblx0XHRcdHRoaXMuY3VycmVudCA9IG9Db250cm9sSW5zdGFuY2U7XG5cdFx0fVxuXHR9O1xufVxuLyoqXG4gKiBEZWZpbmVzIHRoYXQgdGhlIGZvbGxvd2luZyBvYmplY3Qgd2lsbCBob2xkIGEgcmVmZXJlbmNlIHRvIGEgY29udHJvbCB0aHJvdWdoIGpzeCB0ZW1wbGF0aW5nLlxuICpcbiAqIEByZXR1cm5zIFRoZSBkZWNvcmF0ZWQgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVSZWZlcmVuY2UoKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuXHRyZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogVUk1Q29udHJvbCwgcHJvcGVydHlLZXk6IHN0cmluZywgcHJvcGVydHlEZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxhbnk+KSB7XG5cdFx0ZGVsZXRlIHByb3BlcnR5RGVzY3JpcHRvci53cml0YWJsZTtcblx0XHRkZWxldGUgKHByb3BlcnR5RGVzY3JpcHRvciBhcyBhbnkpLmluaXRpYWxpemVyO1xuXHRcdChwcm9wZXJ0eURlc2NyaXB0b3IgYXMgYW55KS5pbml0aWFsaXplciA9IGNyZWF0ZVJlZmVyZW5jZTtcblxuXHRcdHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG5cdH0gYXMgYW55OyAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGFuIGFjY2Vzc29yIGRlY29yYXRvciwgYnV0IHNvbWVob3cgdGhlIGNvbXBpbGVyIGRvZXNuJ3QgbGlrZSBpdCBpZiBpIGRlY2xhcmUgaXQgYXMgc3VjaC47XG59XG5cbi8qKlxuICogSW50ZXJuYWwgaGVhdnkgbGlmdGluZyB0aGF0IHdpbGwgdGFrZSBjYXJlIG9mIGNyZWF0aW5nIHRoZSBjbGFzcyBwcm9wZXJ0eSBmb3IgdWk1IHRvIHVzZS5cbiAqXG4gKiBAcGFyYW0gY2xhenogVGhlIGNsYXNzIHByb3RvdHlwZVxuICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNsYXNzIHRvIGNyZWF0ZVxuICogQHBhcmFtIGluT2JqIFRoZSBtZXRhZGF0YSBvYmplY3RcbiAqIEByZXR1cm5zIFRoZSBtZXRhZGF0YSBjbGFzc1xuICovXG5mdW5jdGlvbiByZWdpc3RlclVJNU1ldGFkYXRhKGNsYXp6OiBhbnksIG5hbWU6IHN0cmluZywgaW5PYmo6IGFueSk6IGFueSB7XG5cdGlmIChjbGF6ei5nZXRNZXRhZGF0YSAmJiBjbGF6ei5nZXRNZXRhZGF0YSgpLmlzQShcInNhcC51aS5jb3JlLm12Yy5Db250cm9sbGVyRXh0ZW5zaW9uXCIpKSB7XG5cdFx0T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoaW5PYmopLmZvckVhY2goKG9iak5hbWUpID0+IHtcblx0XHRcdGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGluT2JqLCBvYmpOYW1lKTtcblx0XHRcdGlmIChkZXNjcmlwdG9yICYmICFkZXNjcmlwdG9yLmVudW1lcmFibGUpIHtcblx0XHRcdFx0ZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gdHJ1ZTtcblx0XHRcdFx0Ly9cdFx0TG9nLmVycm9yKGBQcm9wZXJ0eSAke29iak5hbWV9IGZyb20gJHtuYW1lfSBzaG91bGQgYmUgZGVjb3JhdGVkIGFzIHB1YmxpY2ApO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdGNvbnN0IG9iajogYW55ID0ge307XG5cdG9iai5tZXRhZGF0YSA9IGluT2JqLm1ldGFkYXRhIHx8IHt9O1xuXHRvYmoub3ZlcnJpZGUgPSBpbk9iai5vdmVycmlkZTtcblx0b2JqLmNvbnN0cnVjdG9yID0gY2xheno7XG5cdG9iai5tZXRhZGF0YS5iYXNlVHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjbGF6ei5wcm90b3R5cGUpLmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpO1xuXG5cdGlmIChjbGF6ej8uZ2V0TWV0YWRhdGEoKT8uZ2V0U3RlcmVvdHlwZSgpID09PSBcImNvbnRyb2xcIikge1xuXHRcdGNvbnN0IHJlbmRlcmVyRGVmaW5pdGlvbiA9IGluT2JqLnJlbmRlcmVyIHx8IGNsYXp6LnJlbmRlcmVyIHx8IGNsYXp6LnJlbmRlcjtcblx0XHRvYmoucmVuZGVyZXIgPSB7IGFwaVZlcnNpb246IDIgfTtcblx0XHRpZiAodHlwZW9mIHJlbmRlcmVyRGVmaW5pdGlvbiA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRvYmoucmVuZGVyZXIucmVuZGVyID0gcmVuZGVyZXJEZWZpbml0aW9uO1xuXHRcdH0gZWxzZSBpZiAocmVuZGVyZXJEZWZpbml0aW9uICE9IHVuZGVmaW5lZCkge1xuXHRcdFx0b2JqLnJlbmRlcmVyID0gcmVuZGVyZXJEZWZpbml0aW9uO1xuXHRcdH1cblx0fVxuXHRvYmoubWV0YWRhdGEuaW50ZXJmYWNlcyA9IGluT2JqLm1ldGFkYXRhPy5pbnRlcmZhY2VzIHx8IGNsYXp6Lm1ldGFkYXRhPy5pbnRlcmZhY2VzO1xuXHRPYmplY3Qua2V5cyhjbGF6ei5wcm90b3R5cGUpLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdGlmIChrZXkgIT09IFwibWV0YWRhdGFcIikge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0b2JqW2tleV0gPSBjbGF6ei5wcm90b3R5cGVba2V5XTtcblx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0Ly9jb25zb2xlLmxvZyhlKTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xuXHRpZiAob2JqLm1ldGFkYXRhPy5jb250cm9sbGVyRXh0ZW5zaW9ucyAmJiBPYmplY3Qua2V5cyhvYmoubWV0YWRhdGEuY29udHJvbGxlckV4dGVuc2lvbnMpLmxlbmd0aCA+IDApIHtcblx0XHRmb3IgKGNvbnN0IGNFeHROYW1lIGluIG9iai5tZXRhZGF0YS5jb250cm9sbGVyRXh0ZW5zaW9ucykge1xuXHRcdFx0b2JqW2NFeHROYW1lXSA9IG9iai5tZXRhZGF0YS5jb250cm9sbGVyRXh0ZW5zaW9uc1tjRXh0TmFtZV07XG5cdFx0fVxuXHR9XG5cdGNvbnN0IG91dHB1dCA9IGNsYXp6LmV4dGVuZChuYW1lLCBvYmopO1xuXHRjb25zdCBmbkluaXQgPSBvdXRwdXQucHJvdG90eXBlLmluaXQ7XG5cdG91dHB1dC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuXHRcdGlmIChmbkluaXQpIHtcblx0XHRcdGZuSW5pdC5hcHBseSh0aGlzLCBhcmdzKTtcblx0XHR9XG5cdFx0dGhpcy5tZXRhZGF0YSA9IG9iai5tZXRhZGF0YTtcblxuXHRcdGlmIChvYmoubWV0YWRhdGEucHJvcGVydGllcykge1xuXHRcdFx0Y29uc3QgYVByb3BlcnR5S2V5cyA9IE9iamVjdC5rZXlzKG9iai5tZXRhZGF0YS5wcm9wZXJ0aWVzKTtcblx0XHRcdGFQcm9wZXJ0eUtleXMuZm9yRWFjaCgocHJvcGVydHlLZXkpID0+IHtcblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7XG5cdFx0XHRcdFx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdHNldDogKHY6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuc2V0UHJvcGVydHkocHJvcGVydHlLZXksIHYpO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eShwcm9wZXJ0eUtleSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdFx0Y29uc3QgYUFnZ3JlZ2F0aW9uS2V5cyA9IE9iamVjdC5rZXlzKG9iai5tZXRhZGF0YS5hZ2dyZWdhdGlvbnMpO1xuXHRcdFx0YUFnZ3JlZ2F0aW9uS2V5cy5mb3JFYWNoKChhZ2dyZWdhdGlvbktleSkgPT4ge1xuXHRcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgYWdncmVnYXRpb25LZXksIHtcblx0XHRcdFx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cdFx0XHRcdFx0c2V0OiAodjogYW55KSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5zZXRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbktleSwgdik7XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRnZXQ6ICgpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IGFnZ3JlZ2F0aW9uQ29udGVudCA9IHRoaXMuZ2V0QWdncmVnYXRpb24oYWdncmVnYXRpb25LZXkpO1xuXHRcdFx0XHRcdFx0aWYgKG9iai5tZXRhZGF0YS5hZ2dyZWdhdGlvbnNbYWdncmVnYXRpb25LZXldLm11bHRpcGxlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBhZ2dyZWdhdGlvbkNvbnRlbnQgfHwgW107XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gYWdncmVnYXRpb25Db250ZW50O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IGFBc3NvY2lhdGlvbktleXMgPSBPYmplY3Qua2V5cyhvYmoubWV0YWRhdGEuYXNzb2NpYXRpb25zKTtcblx0XHRcdGFBc3NvY2lhdGlvbktleXMuZm9yRWFjaCgoYXNzb2NpYXRpb25LZXkpID0+IHtcblx0XHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIGFzc29jaWF0aW9uS2V5LCB7XG5cdFx0XHRcdFx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdHNldDogKHY6IGFueSkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuc2V0QXNzb2NpYXRpb24oYXNzb2NpYXRpb25LZXksIHYpO1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFzc29jaWF0aW9uKGFzc29jaWF0aW9uS2V5KTtcblx0XHRcdFx0XHRcdGlmIChvYmoubWV0YWRhdGEuYXNzb2NpYXRpb25zW2Fzc29jaWF0aW9uS2V5XS5tdWx0aXBsZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gYWdncmVnYXRpb25Db250ZW50IHx8IFtdO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGFnZ3JlZ2F0aW9uQ29udGVudDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9O1xuXHRjbGF6ei5vdmVycmlkZSA9IGZ1bmN0aW9uIChvRXh0ZW5zaW9uOiBhbnkpIHtcblx0XHRjb25zdCBwb2wgPSB7fTtcblx0XHQocG9sIGFzIGFueSkuY29uc3RydWN0b3IgPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcblx0XHRcdHJldHVybiBjbGF6ei5hcHBseSh0aGlzLCBhcmdzIGFzIGFueSk7XG5cdFx0fTtcblx0XHRjb25zdCBvQ2xhc3MgPSAoTWV0YWRhdGEgYXMgYW55KS5jcmVhdGVDbGFzcyhjbGF6eiwgYGFub255bW91c0V4dGVuc2lvbn4ke3VpZCgpfWAsIHBvbCwgQ29udHJvbGxlck1ldGFkYXRhKTtcblx0XHRvQ2xhc3MuZ2V0TWV0YWRhdGEoKS5fc3RhdGljT3ZlcnJpZGUgPSBvRXh0ZW5zaW9uO1xuXHRcdG9DbGFzcy5nZXRNZXRhZGF0YSgpLl9vdmVycmlkZSA9IGNsYXp6LmdldE1ldGFkYXRhKCkuX292ZXJyaWRlO1xuXHRcdHJldHVybiBvQ2xhc3M7XG5cdH07XG5cblx0T2JqZWN0UGF0aC5zZXQobmFtZSwgb3V0cHV0KTtcblx0cmV0dXJuIG91dHB1dDtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7RUEw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
|