@sapui5/sap.fe.core 1.110.0 → 1.111.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/README.md +0 -4
- package/package.json +2 -23
- package/src/sap/fe/core/.library +1 -1
- package/src/sap/fe/core/ActionRuntime-dbg.js +182 -0
- package/src/sap/fe/core/ActionRuntime.js +3 -181
- package/src/sap/fe/core/ActionRuntime.js.map +1 -0
- package/src/sap/fe/core/ActionRuntime.ts +3 -5
- package/src/sap/fe/core/AppComponent-dbg.js +435 -0
- package/src/sap/fe/core/AppComponent.js +3 -439
- package/src/sap/fe/core/AppComponent.js.map +1 -0
- package/src/sap/fe/core/AppComponent.ts +0 -3
- package/src/sap/fe/core/AppStateHandler-dbg.js +200 -0
- package/src/sap/fe/core/AppStateHandler.js +3 -227
- package/src/sap/fe/core/AppStateHandler.js.map +1 -0
- package/src/sap/fe/core/BaseController-dbg.js +76 -0
- package/src/sap/fe/core/BaseController.js +3 -73
- package/src/sap/fe/core/BaseController.js.map +1 -0
- package/src/sap/fe/core/CommonUtils-dbg.js +2135 -0
- package/src/sap/fe/core/CommonUtils.js +3 -2296
- package/src/sap/fe/core/CommonUtils.js.map +1 -0
- package/src/sap/fe/core/CommonUtils.ts +34 -28
- package/src/sap/fe/core/ExtensionAPI-dbg.js +273 -0
- package/src/sap/fe/core/ExtensionAPI.js +3 -280
- package/src/sap/fe/core/ExtensionAPI.js.map +1 -0
- package/src/sap/fe/core/PageController-dbg.js +203 -0
- package/src/sap/fe/core/PageController.js +3 -200
- package/src/sap/fe/core/PageController.js.map +1 -0
- package/src/sap/fe/core/TemplateComponent-dbg.js +218 -0
- package/src/sap/fe/core/TemplateComponent.js +3 -216
- package/src/sap/fe/core/TemplateComponent.js.map +1 -0
- package/src/sap/fe/core/TemplateModel-dbg.js +75 -0
- package/src/sap/fe/core/TemplateModel.js +3 -72
- package/src/sap/fe/core/TemplateModel.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/AttributeModel-dbg.js +57 -0
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js +3 -54
- package/src/sap/fe/core/buildingBlocks/AttributeModel.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlock-dbg.js +410 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js +11 -355
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlock.ts +118 -52
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter-dbg.js +14 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js +3 -11
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFormatter.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment-dbg.js +44 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js +3 -40
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockFragment.ts +3 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime-dbg.js +932 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +16 -1292
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +40 -42
- package/src/sap/fe/core/buildingBlocks/TraceInfo-dbg.js +434 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js +3 -481
- package/src/sap/fe/core/buildingBlocks/TraceInfo.js.map +1 -0
- package/src/sap/fe/core/buildingBlocks/TraceInfo.ts +5 -5
- package/src/sap/fe/core/controllerextensions/BusyLocker-dbg.js +92 -0
- package/src/sap/fe/core/controllerextensions/BusyLocker.js +3 -89
- package/src/sap/fe/core/controllerextensions/BusyLocker.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +1659 -0
- package/src/sap/fe/core/controllerextensions/EditFlow.js +3 -1868
- package/src/sap/fe/core/controllerextensions/EditFlow.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/EditFlow.ts +180 -125
- package/src/sap/fe/core/controllerextensions/Feedback-dbg.js +70 -0
- package/src/sap/fe/core/controllerextensions/Feedback.js +3 -67
- package/src/sap/fe/core/controllerextensions/Feedback.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation-dbg.js +83 -0
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +3 -84
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +6 -8
- package/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +711 -0
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +3 -707
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +79 -48
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +791 -0
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +3 -696
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +107 -7
- package/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +984 -0
- package/src/sap/fe/core/controllerextensions/InternalRouting.js +3 -996
- package/src/sap/fe/core/controllerextensions/InternalRouting.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/InternalRouting.ts +43 -23
- package/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +1013 -0
- package/src/sap/fe/core/controllerextensions/KPIManagement.js +3 -1011
- package/src/sap/fe/core/controllerextensions/KPIManagement.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/KPIManagement.ts +12 -10
- package/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +135 -0
- package/src/sap/fe/core/controllerextensions/MassEdit.js +3 -133
- package/src/sap/fe/core/controllerextensions/MassEdit.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/MassEdit.ts +1 -1
- package/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +221 -0
- package/src/sap/fe/core/controllerextensions/MessageHandler.js +3 -224
- package/src/sap/fe/core/controllerextensions/MessageHandler.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/PageReady-dbg.js +254 -0
- package/src/sap/fe/core/controllerextensions/PageReady.js +3 -279
- package/src/sap/fe/core/controllerextensions/PageReady.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/PageReady.ts +2 -2
- package/src/sap/fe/core/controllerextensions/Paginator-dbg.js +169 -0
- package/src/sap/fe/core/controllerextensions/Paginator.js +3 -174
- package/src/sap/fe/core/controllerextensions/Paginator.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/Paginator.ts +4 -5
- package/src/sap/fe/core/controllerextensions/Placeholder-dbg.js +132 -0
- package/src/sap/fe/core/controllerextensions/Placeholder.js +3 -130
- package/src/sap/fe/core/controllerextensions/Placeholder.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/Routing-dbg.js +138 -0
- package/src/sap/fe/core/controllerextensions/Routing.js +3 -135
- package/src/sap/fe/core/controllerextensions/Routing.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/RoutingListener-dbg.js +10 -0
- package/src/sap/fe/core/controllerextensions/RoutingListener.js +3 -7
- package/src/sap/fe/core/controllerextensions/RoutingListener.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/Share-dbg.js +317 -0
- package/src/sap/fe/core/controllerextensions/Share.js +3 -356
- package/src/sap/fe/core/controllerextensions/Share.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/Share.ts +6 -1
- package/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +553 -0
- package/src/sap/fe/core/controllerextensions/SideEffects.js +3 -651
- package/src/sap/fe/core/controllerextensions/SideEffects.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/SideEffects.ts +411 -553
- package/src/sap/fe/core/controllerextensions/ViewState-dbg.js +903 -0
- package/src/sap/fe/core/controllerextensions/ViewState.js +3 -967
- package/src/sap/fe/core/controllerextensions/ViewState.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/ViewState.ts +90 -41
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase-dbg.js +99 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +3 -96
- package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync-dbg.js +314 -0
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +3 -336
- package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon-dbg.js +152 -0
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +3 -161
- package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/collaboration/Manage-dbg.js +243 -0
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js +3 -302
- package/src/sap/fe/core/controllerextensions/collaboration/Manage.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block-dbg.js +252 -0
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js +6 -0
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/dialog/OperationsDialog.block.tsx +188 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper-dbg.js +1196 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +3 -1479
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.ts +239 -289
- package/src/sap/fe/core/controllerextensions/editFlow/draft-dbg.js +689 -0
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js +3 -785
- package/src/sap/fe/core/controllerextensions/editFlow/draft.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/draft.ts +134 -142
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup-dbg.js +236 -0
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js +3 -287
- package/src/sap/fe/core/controllerextensions/editFlow/draftDataLossPopup.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations-dbg.js +1422 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js +3 -1598
- package/src/sap/fe/core/controllerextensions/editFlow/operations.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/operations.ts +40 -24
- package/src/sap/fe/core/controllerextensions/editFlow/sticky-dbg.js +185 -0
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +3 -214
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/editFlow/sticky.ts +4 -5
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling-dbg.js +1219 -0
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +3 -1213
- package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher-dbg.js +304 -0
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js +3 -339
- package/src/sap/fe/core/controllerextensions/pageReady/DataQueryWatcher.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/routing/NavigationReason-dbg.js +15 -0
- package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js +6 -0
- package/src/sap/fe/core/controllerextensions/routing/NavigationReason.js.map +1 -0
- package/src/sap/fe/core/controllerextensions/routing/NavigationReason.ts +6 -0
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy-dbg.js +798 -0
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +3 -799
- package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js.map +1 -0
- package/src/sap/fe/core/controls/Any-dbg.js +32 -0
- package/src/sap/fe/core/controls/Any.js +3 -29
- package/src/sap/fe/core/controls/Any.js.map +1 -0
- package/src/sap/fe/core/controls/AnyElement-dbg.js +29 -0
- package/src/sap/fe/core/controls/AnyElement.js +3 -26
- package/src/sap/fe/core/controls/AnyElement.js.map +1 -0
- package/src/sap/fe/core/controls/CommandExecution-dbg.js +72 -0
- package/src/sap/fe/core/controls/CommandExecution.js +3 -69
- package/src/sap/fe/core/controls/CommandExecution.js.map +1 -0
- package/src/sap/fe/core/controls/ConditionalWrapper-dbg.js +151 -0
- package/src/sap/fe/core/controls/ConditionalWrapper.js +3 -148
- package/src/sap/fe/core/controls/ConditionalWrapper.js.map +1 -0
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper-dbg.js +330 -0
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +3 -328
- package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js.map +1 -0
- package/src/sap/fe/core/controls/CustomQuickViewPage-dbg.js +126 -0
- package/src/sap/fe/core/controls/CustomQuickViewPage.js +3 -124
- package/src/sap/fe/core/controls/CustomQuickViewPage.js.map +1 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler-dbg.js +170 -0
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +3 -171
- package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js.map +1 -0
- package/src/sap/fe/core/controls/FieldWrapper-dbg.js +194 -0
- package/src/sap/fe/core/controls/FieldWrapper.js +3 -191
- package/src/sap/fe/core/controls/FieldWrapper.js.map +1 -0
- package/src/sap/fe/core/controls/FileWrapper-dbg.js +280 -0
- package/src/sap/fe/core/controls/FileWrapper.js +3 -277
- package/src/sap/fe/core/controls/FileWrapper.js.map +1 -0
- package/src/sap/fe/core/controls/FilterBar-dbg.js +167 -0
- package/src/sap/fe/core/controls/FilterBar.js +3 -166
- package/src/sap/fe/core/controls/FilterBar.js.map +1 -0
- package/src/sap/fe/core/controls/FormElementWrapper-dbg.js +92 -0
- package/src/sap/fe/core/controls/FormElementWrapper.js +3 -89
- package/src/sap/fe/core/controls/FormElementWrapper.js.map +1 -0
- package/src/sap/fe/core/controls/MassEditSelect-dbg.js +33 -0
- package/src/sap/fe/core/controls/MassEditSelect.js +3 -30
- package/src/sap/fe/core/controls/MassEditSelect.js.map +1 -0
- package/src/sap/fe/core/controls/MultiValueParameterDelegate-dbg.js +37 -0
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +3 -34
- package/src/sap/fe/core/controls/MultiValueParameterDelegate.js.map +1 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer-dbg.js +119 -0
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js +3 -121
- package/src/sap/fe/core/controls/filterbar/FilterContainer.js.map +1 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +267 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js +3 -264
- package/src/sap/fe/core/controls/filterbar/VisualFilter.js.map +1 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer-dbg.js +150 -0
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +3 -150
- package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js.map +1 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils-dbg.js +310 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +3 -307
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js.map +1 -0
- package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +1 -1
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers-dbg.js +491 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +3 -504
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js.map +1 -0
- package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +2 -2
- package/src/sap/fe/core/converters/ConverterContext-dbg.js +403 -0
- package/src/sap/fe/core/converters/ConverterContext.js +3 -406
- package/src/sap/fe/core/converters/ConverterContext.js.map +1 -0
- package/src/sap/fe/core/converters/ManifestSettings-dbg.js +88 -0
- package/src/sap/fe/core/converters/ManifestSettings.js +3 -84
- package/src/sap/fe/core/converters/ManifestSettings.js.map +1 -0
- package/src/sap/fe/core/converters/ManifestSettings.ts +3 -1
- package/src/sap/fe/core/converters/ManifestWrapper-dbg.js +402 -0
- package/src/sap/fe/core/converters/ManifestWrapper.js +3 -406
- package/src/sap/fe/core/converters/ManifestWrapper.js.map +1 -0
- package/src/sap/fe/core/converters/MetaModelConverter-dbg.js +1161 -0
- package/src/sap/fe/core/converters/MetaModelConverter.js +3 -1225
- package/src/sap/fe/core/converters/MetaModelConverter.js.map +1 -0
- package/src/sap/fe/core/converters/MetaModelConverter.ts +193 -199
- package/src/sap/fe/core/converters/TemplateConverter-dbg.js +89 -0
- package/src/sap/fe/core/converters/TemplateConverter.js +3 -86
- package/src/sap/fe/core/converters/TemplateConverter.js.map +1 -0
- package/src/sap/fe/core/converters/annotations/DataField-dbg.js +396 -0
- package/src/sap/fe/core/converters/annotations/DataField.js +3 -394
- package/src/sap/fe/core/converters/annotations/DataField.js.map +1 -0
- package/src/sap/fe/core/converters/annotations/DataField.ts +5 -5
- package/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +1948 -0
- package/src/sap/fe/core/converters/common/AnnotationConverter.js +3 -1868
- package/src/sap/fe/core/converters/common/AnnotationConverter.js.map +1 -0
- package/src/sap/fe/core/converters/controls/Common/Action-dbg.js +424 -0
- package/src/sap/fe/core/converters/controls/Common/Action.js +3 -446
- package/src/sap/fe/core/converters/controls/Common/Action.js.map +1 -0
- package/src/sap/fe/core/converters/controls/Common/Action.ts +31 -14
- package/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +276 -0
- package/src/sap/fe/core/converters/controls/Common/Chart.js +3 -260
- package/src/sap/fe/core/converters/controls/Common/Chart.js.map +1 -0
- package/src/sap/fe/core/converters/controls/Common/Chart.ts +52 -7
- package/src/sap/fe/core/converters/controls/Common/Criticality-dbg.js +42 -0
- package/src/sap/fe/core/converters/controls/Common/Criticality.js +3 -39
- package/src/sap/fe/core/converters/controls/Common/Criticality.js.map +1 -0
- package/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +247 -0
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js +3 -242
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.js.map +1 -0
- package/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +1 -1
- package/src/sap/fe/core/converters/controls/Common/Form-dbg.js +229 -0
- package/src/sap/fe/core/converters/controls/Common/Form.js +3 -234
- package/src/sap/fe/core/converters/controls/Common/Form.js.map +1 -0
- package/src/sap/fe/core/converters/controls/Common/KPI-dbg.js +374 -0
- package/src/sap/fe/core/converters/controls/Common/KPI.js +3 -371
- package/src/sap/fe/core/converters/controls/Common/KPI.js.map +1 -0
- package/src/sap/fe/core/converters/controls/Common/Table-dbg.js +2596 -0
- package/src/sap/fe/core/converters/controls/Common/Table.js +3 -2527
- package/src/sap/fe/core/converters/controls/Common/Table.js.map +1 -0
- package/src/sap/fe/core/converters/controls/Common/Table.ts +214 -77
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +522 -0
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +3 -527
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js.map +1 -0
- package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +51 -50
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +786 -0
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +3 -845
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js.map +1 -0
- package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +0 -64
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters-dbg.js +291 -0
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js +3 -316
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.js.map +1 -0
- package/src/sap/fe/core/converters/controls/ListReport/VisualFilters.ts +30 -12
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar-dbg.js +56 -0
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js +3 -53
- package/src/sap/fe/core/converters/controls/ObjectPage/Avatar.js.map +1 -0
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet-dbg.js +438 -0
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js +3 -431
- package/src/sap/fe/core/converters/controls/ObjectPage/HeaderFacet.js.map +1 -0
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +597 -0
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +3 -630
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js.map +1 -0
- package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +1 -1
- package/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +204 -0
- package/src/sap/fe/core/converters/helpers/Aggregation.js +3 -204
- package/src/sap/fe/core/converters/helpers/Aggregation.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/BindingHelper-dbg.js +100 -0
- package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -99
- package/src/sap/fe/core/converters/helpers/BindingHelper.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/ConfigurableObject-dbg.js +199 -0
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +3 -199
- package/src/sap/fe/core/converters/helpers/ConfigurableObject.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/DataFieldHelper-dbg.js +143 -0
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js +3 -140
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/DataFieldHelper.ts +2 -1
- package/src/sap/fe/core/converters/helpers/ID-dbg.js +92 -0
- package/src/sap/fe/core/converters/helpers/ID.js +3 -89
- package/src/sap/fe/core/converters/helpers/ID.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +62 -0
- package/src/sap/fe/core/converters/helpers/IssueManager.js +3 -59
- package/src/sap/fe/core/converters/helpers/IssueManager.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/Key-dbg.js +62 -0
- package/src/sap/fe/core/converters/helpers/Key.js +3 -59
- package/src/sap/fe/core/converters/helpers/Key.js.map +1 -0
- package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper-dbg.js +80 -0
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js +3 -77
- package/src/sap/fe/core/converters/helpers/SelectionVariantHelper.js.map +1 -0
- package/src/sap/fe/core/converters/objectPage/FormMenuActions-dbg.js +142 -0
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js +3 -139
- package/src/sap/fe/core/converters/objectPage/FormMenuActions.js.map +1 -0
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +406 -0
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +3 -422
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js.map +1 -0
- package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +132 -111
- package/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +557 -0
- package/src/sap/fe/core/converters/templates/ListReportConverter.js +3 -589
- package/src/sap/fe/core/converters/templates/ListReportConverter.js.map +1 -0
- package/src/sap/fe/core/converters/templates/ObjectPageConverter-dbg.js +474 -0
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +3 -477
- package/src/sap/fe/core/converters/templates/ObjectPageConverter.js.map +1 -0
- package/src/sap/fe/core/designtime/AppComponent-dbg.designtime.js +103 -0
- package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -100
- package/src/sap/fe/core/designtime/AppComponent.designtime.js.map +1 -0
- package/src/sap/fe/core/designtime/library-preload.designtime.js +7 -0
- package/src/sap/fe/core/designtime/library-preload.designtime.js.map +1 -0
- package/src/sap/fe/core/formatters/CollaborationFormatter-dbg.js +95 -0
- package/src/sap/fe/core/formatters/CollaborationFormatter.js +3 -92
- package/src/sap/fe/core/formatters/CollaborationFormatter.js.map +1 -0
- package/src/sap/fe/core/formatters/FPMFormatter-dbg.js +46 -0
- package/src/sap/fe/core/formatters/FPMFormatter.js +3 -44
- package/src/sap/fe/core/formatters/FPMFormatter.js.map +1 -0
- package/src/sap/fe/core/formatters/FPMFormatter.ts +3 -2
- package/src/sap/fe/core/formatters/FiscalFormat-dbg.js +343 -0
- package/src/sap/fe/core/formatters/FiscalFormat.js +6 -0
- package/src/sap/fe/core/formatters/FiscalFormat.js.map +1 -0
- package/src/sap/fe/core/formatters/FiscalFormat.ts +319 -0
- package/src/sap/fe/core/formatters/KPIFormatter-dbg.js +86 -0
- package/src/sap/fe/core/formatters/KPIFormatter.js +3 -83
- package/src/sap/fe/core/formatters/KPIFormatter.js.map +1 -0
- package/src/sap/fe/core/formatters/StandardFormatter-dbg.js +80 -0
- package/src/sap/fe/core/formatters/StandardFormatter.js +3 -78
- package/src/sap/fe/core/formatters/StandardFormatter.js.map +1 -0
- package/src/sap/fe/core/formatters/TableFormatter-dbg.js +276 -0
- package/src/sap/fe/core/formatters/TableFormatter.js +3 -275
- package/src/sap/fe/core/formatters/TableFormatter.js.map +1 -0
- package/src/sap/fe/core/formatters/TableFormatter.ts +1 -1
- package/src/sap/fe/core/formatters/TableFormatterTypes-dbg.js +20 -0
- package/src/sap/fe/core/formatters/TableFormatterTypes.js +3 -17
- package/src/sap/fe/core/formatters/TableFormatterTypes.js.map +1 -0
- package/src/sap/fe/core/formatters/ValueFormatter-dbg.js +172 -0
- package/src/sap/fe/core/formatters/ValueFormatter.js +3 -161
- package/src/sap/fe/core/formatters/ValueFormatter.js.map +1 -0
- package/src/sap/fe/core/formatters/ValueFormatter.ts +25 -8
- package/src/sap/fe/core/fpm/Component-dbg.js +94 -0
- package/src/sap/fe/core/fpm/Component.js +3 -91
- package/src/sap/fe/core/fpm/Component.js.map +1 -0
- package/src/sap/fe/core/fpm/manifest.json +1 -1
- package/src/sap/fe/core/helpers/AnnotationEnum-dbg.js +30 -0
- package/src/sap/fe/core/helpers/AnnotationEnum.js +3 -36
- package/src/sap/fe/core/helpers/AnnotationEnum.js.map +1 -0
- package/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +334 -0
- package/src/sap/fe/core/helpers/AppStartupHelper.js +3 -335
- package/src/sap/fe/core/helpers/AppStartupHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/BindingToolkit-dbg.js +1739 -0
- package/src/sap/fe/core/helpers/BindingToolkit.js +3 -1611
- package/src/sap/fe/core/helpers/BindingToolkit.js.map +1 -0
- package/src/sap/fe/core/helpers/BindingToolkit.ts +277 -97
- package/src/sap/fe/core/helpers/ClassSupport-dbg.js +421 -0
- package/src/sap/fe/core/helpers/ClassSupport.js +3 -420
- package/src/sap/fe/core/helpers/ClassSupport.js.map +1 -0
- package/src/sap/fe/core/helpers/ClassSupport.ts +13 -15
- package/src/sap/fe/core/helpers/DeleteHelper-dbg.js +526 -0
- package/src/sap/fe/core/helpers/DeleteHelper.js +3 -618
- package/src/sap/fe/core/helpers/DeleteHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/DeleteHelper.ts +116 -134
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +55 -0
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +3 -52
- package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/EditState-dbg.js +80 -0
- package/src/sap/fe/core/helpers/EditState.js +3 -77
- package/src/sap/fe/core/helpers/EditState.js.map +1 -0
- package/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +55 -0
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js +3 -52
- package/src/sap/fe/core/helpers/ExcelFormatHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/FPMHelper-dbg.js +55 -0
- package/src/sap/fe/core/helpers/FPMHelper.js +3 -52
- package/src/sap/fe/core/helpers/FPMHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +180 -0
- package/src/sap/fe/core/helpers/KeepAliveHelper.js +3 -177
- package/src/sap/fe/core/helpers/KeepAliveHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes-dbg.js +28 -0
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js +3 -25
- package/src/sap/fe/core/helpers/KeepAliveRefreshTypes.js.map +1 -0
- package/src/sap/fe/core/helpers/LoaderUtils-dbg.js +29 -0
- package/src/sap/fe/core/helpers/LoaderUtils.js +3 -30
- package/src/sap/fe/core/helpers/LoaderUtils.js.map +1 -0
- package/src/sap/fe/core/helpers/MassEditHelper-dbg.js +1229 -0
- package/src/sap/fe/core/helpers/MassEditHelper.js +3 -1309
- package/src/sap/fe/core/helpers/MassEditHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/MassEditHelper.ts +6 -6
- package/src/sap/fe/core/helpers/MessageStrip-dbg.js +65 -0
- package/src/sap/fe/core/helpers/MessageStrip.js +3 -62
- package/src/sap/fe/core/helpers/MessageStrip.js.map +1 -0
- package/src/sap/fe/core/helpers/ModelHelper-dbg.js +489 -0
- package/src/sap/fe/core/helpers/ModelHelper.js +3 -503
- package/src/sap/fe/core/helpers/ModelHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/ModelHelper.ts +13 -36
- package/src/sap/fe/core/helpers/PasteHelper-dbg.js +174 -0
- package/src/sap/fe/core/helpers/PasteHelper.js +3 -185
- package/src/sap/fe/core/helpers/PasteHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +371 -0
- package/src/sap/fe/core/helpers/SemanticDateOperators.js +3 -368
- package/src/sap/fe/core/helpers/SemanticDateOperators.js.map +1 -0
- package/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +70 -0
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js +3 -67
- package/src/sap/fe/core/helpers/SemanticKeyHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/SideEffectsHelper-dbg.js +141 -0
- package/src/sap/fe/core/helpers/SideEffectsHelper.js +3 -137
- package/src/sap/fe/core/helpers/SideEffectsHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/SideEffectsHelper.ts +3 -2
- package/src/sap/fe/core/helpers/StableIdHelper-dbg.js +204 -0
- package/src/sap/fe/core/helpers/StableIdHelper.js +3 -208
- package/src/sap/fe/core/helpers/StableIdHelper.js.map +1 -0
- package/src/sap/fe/core/helpers/Synchronization-dbg.js +35 -0
- package/src/sap/fe/core/helpers/Synchronization.js +3 -33
- package/src/sap/fe/core/helpers/Synchronization.js.map +1 -0
- package/src/sap/fe/core/helpers/ToES6Promise-dbg.js +29 -0
- package/src/sap/fe/core/helpers/ToES6Promise.js +3 -26
- package/src/sap/fe/core/helpers/ToES6Promise.js.map +1 -0
- package/src/sap/fe/core/helpers/TypeGuards-dbg.js +20 -0
- package/src/sap/fe/core/helpers/TypeGuards.js +3 -19
- package/src/sap/fe/core/helpers/TypeGuards.js.map +1 -0
- package/src/sap/fe/core/helpers/TypeGuards.ts +5 -1
- package/src/sap/fe/core/jsx-runtime/Fragment-dbg.js +14 -0
- package/src/sap/fe/core/jsx-runtime/Fragment.js +3 -11
- package/src/sap/fe/core/jsx-runtime/Fragment.js.map +1 -0
- package/src/sap/fe/core/jsx-runtime/ViewLoader-dbg.js +76 -0
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js +3 -86
- package/src/sap/fe/core/jsx-runtime/ViewLoader.js.map +1 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control-dbg.js +124 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control.js +3 -98
- package/src/sap/fe/core/jsx-runtime/jsx-control.js.map +1 -0
- package/src/sap/fe/core/jsx-runtime/jsx-control.ts +43 -17
- package/src/sap/fe/core/jsx-runtime/jsx-dbg.js +41 -0
- package/src/sap/fe/core/jsx-runtime/jsx-xml-dbg.js +94 -0
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js +3 -90
- package/src/sap/fe/core/jsx-runtime/jsx-xml.js.map +1 -0
- package/src/sap/fe/core/jsx-runtime/jsx-xml.ts +1 -1
- package/src/sap/fe/core/jsx-runtime/jsx.js +3 -28
- package/src/sap/fe/core/jsx-runtime/jsx.js.map +1 -0
- package/src/sap/fe/core/jsx-runtime/jsx.ts +19 -1
- package/src/sap/fe/core/jsx-runtime/jsxs-dbg.js +10 -0
- package/src/sap/fe/core/jsx-runtime/jsxs.js +3 -7
- package/src/sap/fe/core/jsx-runtime/jsxs.js.map +1 -0
- package/src/sap/fe/core/jsx-runtime/useMDXComponents-dbg.js +154 -0
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js +3 -153
- package/src/sap/fe/core/jsx-runtime/useMDXComponents.js.map +1 -0
- package/src/sap/fe/core/library-dbg.js +437 -0
- package/src/sap/fe/core/library-preload.js +900 -0
- package/src/sap/fe/core/library-preload.js.map +1 -0
- package/src/sap/fe/core/library-preload.support.js +177 -0
- package/src/sap/fe/core/library-preload.support.js.map +1 -0
- package/src/sap/fe/core/library.js +3 -461
- package/src/sap/fe/core/library.js.map +1 -0
- package/src/sap/fe/core/library.support.js +1 -1
- package/src/sap/fe/core/library.ts +12 -25
- package/src/sap/fe/core/manifest.json +100 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +99 -0
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +3 -96
- package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js.map +1 -0
- package/src/sap/fe/core/messagebundle.properties +6 -0
- package/src/sap/fe/core/messagebundle_ar.properties +22 -0
- package/src/sap/fe/core/messagebundle_bg.properties +22 -0
- package/src/sap/fe/core/messagebundle_ca.properties +22 -0
- package/src/sap/fe/core/messagebundle_cs.properties +22 -0
- package/src/sap/fe/core/messagebundle_cy.properties +22 -0
- package/src/sap/fe/core/messagebundle_da.properties +22 -0
- package/src/sap/fe/core/messagebundle_de.properties +22 -0
- package/src/sap/fe/core/messagebundle_el.properties +22 -0
- package/src/sap/fe/core/messagebundle_en.properties +22 -0
- package/src/sap/fe/core/messagebundle_en_GB.properties +22 -0
- package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +22 -0
- package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +4 -0
- package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +4 -0
- package/src/sap/fe/core/messagebundle_es.properties +22 -0
- package/src/sap/fe/core/messagebundle_es_MX.properties +22 -0
- package/src/sap/fe/core/messagebundle_et.properties +22 -0
- package/src/sap/fe/core/messagebundle_fi.properties +22 -0
- package/src/sap/fe/core/messagebundle_fr.properties +22 -0
- package/src/sap/fe/core/messagebundle_fr_CA.properties +22 -0
- package/src/sap/fe/core/messagebundle_hi.properties +22 -0
- package/src/sap/fe/core/messagebundle_hr.properties +23 -1
- package/src/sap/fe/core/messagebundle_hu.properties +22 -0
- package/src/sap/fe/core/messagebundle_id.properties +22 -0
- package/src/sap/fe/core/messagebundle_it.properties +22 -0
- package/src/sap/fe/core/messagebundle_iw.properties +22 -0
- package/src/sap/fe/core/messagebundle_ja.properties +22 -0
- package/src/sap/fe/core/messagebundle_kk.properties +22 -0
- package/src/sap/fe/core/messagebundle_ko.properties +22 -0
- package/src/sap/fe/core/messagebundle_lt.properties +22 -0
- package/src/sap/fe/core/messagebundle_lv.properties +22 -0
- package/src/sap/fe/core/messagebundle_ms.properties +22 -0
- package/src/sap/fe/core/messagebundle_nl.properties +22 -0
- package/src/sap/fe/core/messagebundle_no.properties +22 -0
- package/src/sap/fe/core/messagebundle_pl.properties +22 -0
- package/src/sap/fe/core/messagebundle_pt.properties +22 -0
- package/src/sap/fe/core/messagebundle_pt_PT.properties +22 -0
- package/src/sap/fe/core/messagebundle_ro.properties +22 -0
- package/src/sap/fe/core/messagebundle_ru.properties +22 -0
- package/src/sap/fe/core/messagebundle_sh.properties +22 -0
- package/src/sap/fe/core/messagebundle_sk.properties +22 -0
- package/src/sap/fe/core/messagebundle_sl.properties +22 -0
- package/src/sap/fe/core/messagebundle_sv.properties +22 -0
- package/src/sap/fe/core/messagebundle_th.properties +22 -0
- package/src/sap/fe/core/messagebundle_tr.properties +22 -0
- package/src/sap/fe/core/messagebundle_uk.properties +22 -0
- package/src/sap/fe/core/messagebundle_vi.properties +22 -0
- package/src/sap/fe/core/messagebundle_zh_CN.properties +22 -0
- package/src/sap/fe/core/messagebundle_zh_TW.properties +22 -0
- package/src/sap/fe/core/operationsHelper-dbg.js +155 -0
- package/src/sap/fe/core/operationsHelper.js +3 -205
- package/src/sap/fe/core/operationsHelper.js.map +1 -0
- package/src/sap/fe/core/operationsHelper.ts +14 -68
- package/src/sap/fe/core/rootView/Fcl-dbg.controller.js +837 -0
- package/src/sap/fe/core/rootView/Fcl.controller.js +3 -855
- package/src/sap/fe/core/rootView/Fcl.controller.js.map +1 -0
- package/src/sap/fe/core/rootView/NavContainer-dbg.controller.js +190 -0
- package/src/sap/fe/core/rootView/NavContainer.controller.js +3 -190
- package/src/sap/fe/core/rootView/NavContainer.controller.js.map +1 -0
- package/src/sap/fe/core/rootView/RootViewBaseController-dbg.js +506 -0
- package/src/sap/fe/core/rootView/RootViewBaseController.js +3 -538
- package/src/sap/fe/core/rootView/RootViewBaseController.js.map +1 -0
- package/src/sap/fe/core/rootView/RootViewBaseController.ts +3 -4
- package/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +60 -0
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +3 -60
- package/src/sap/fe/core/services/AsyncComponentServiceFactory.js.map +1 -0
- package/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +196 -0
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +3 -219
- package/src/sap/fe/core/services/CacheHandlerServiceFactory.js.map +1 -0
- package/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +80 -0
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js +3 -82
- package/src/sap/fe/core/services/EnvironmentServiceFactory.js.map +1 -0
- package/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +320 -0
- package/src/sap/fe/core/services/NavigationServiceFactory.js +3 -320
- package/src/sap/fe/core/services/NavigationServiceFactory.js.map +1 -0
- package/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +91 -0
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js +3 -89
- package/src/sap/fe/core/services/ResourceModelServiceFactory.js.map +1 -0
- package/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +817 -0
- package/src/sap/fe/core/services/RoutingServiceFactory.js +3 -847
- package/src/sap/fe/core/services/RoutingServiceFactory.js.map +1 -0
- package/src/sap/fe/core/services/RoutingServiceFactory.ts +6 -3
- package/src/sap/fe/core/services/ShellServicesFactory-dbg.js +732 -0
- package/src/sap/fe/core/services/ShellServicesFactory.js +3 -752
- package/src/sap/fe/core/services/ShellServicesFactory.js.map +1 -0
- package/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +569 -0
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js +3 -599
- package/src/sap/fe/core/services/SideEffectsServiceFactory.js.map +1 -0
- package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +3 -3
- package/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +355 -0
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +3 -387
- package/src/sap/fe/core/services/TemplatedViewServiceFactory.js.map +1 -0
- package/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +37 -0
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +3 -34
- package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js.map +1 -0
- package/src/sap/fe/core/support/AnnotationIssue.support.js +4 -4
- package/src/sap/fe/core/support/CollectionFacetMissingID.support.js +3 -3
- package/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +3 -3
- package/src/sap/fe/core/support/CommonHelper-dbg.js +63 -0
- package/src/sap/fe/core/support/CommonHelper.js +3 -60
- package/src/sap/fe/core/support/CommonHelper.js.map +1 -0
- package/src/sap/fe/core/support/Diagnostics-dbg.js +44 -0
- package/src/sap/fe/core/support/Diagnostics.js +3 -49
- package/src/sap/fe/core/support/Diagnostics.js.map +1 -0
- package/src/sap/fe/core/support/InvalidAnnotationColumnKey.support.js +3 -3
- package/src/sap/fe/core/templating/CommonFormatters-dbg.js +70 -0
- package/src/sap/fe/core/templating/CommonFormatters.js +3 -66
- package/src/sap/fe/core/templating/CommonFormatters.js.map +1 -0
- package/src/sap/fe/core/templating/CommonFormatters.ts +9 -3
- package/src/sap/fe/core/templating/CriticalityFormatters-dbg.js +136 -0
- package/src/sap/fe/core/templating/CriticalityFormatters.js +3 -133
- package/src/sap/fe/core/templating/CriticalityFormatters.js.map +1 -0
- package/src/sap/fe/core/templating/DataFieldFormatters-dbg.js +58 -0
- package/src/sap/fe/core/templating/DataFieldFormatters.js +3 -55
- package/src/sap/fe/core/templating/DataFieldFormatters.js.map +1 -0
- package/src/sap/fe/core/templating/DataModelPathHelper-dbg.js +363 -0
- package/src/sap/fe/core/templating/DataModelPathHelper.js +3 -372
- package/src/sap/fe/core/templating/DataModelPathHelper.js.map +1 -0
- package/src/sap/fe/core/templating/DataModelPathHelper.ts +17 -8
- package/src/sap/fe/core/templating/DisplayModeFormatter-dbg.js +56 -0
- package/src/sap/fe/core/templating/DisplayModeFormatter.js +3 -124
- package/src/sap/fe/core/templating/DisplayModeFormatter.js.map +1 -0
- package/src/sap/fe/core/templating/DisplayModeFormatter.ts +0 -47
- package/src/sap/fe/core/templating/EntitySetHelper-dbg.js +68 -0
- package/src/sap/fe/core/templating/EntitySetHelper.js +3 -81
- package/src/sap/fe/core/templating/EntitySetHelper.js.map +1 -0
- package/src/sap/fe/core/templating/FieldControlHelper-dbg.js +77 -0
- package/src/sap/fe/core/templating/FieldControlHelper.js +3 -74
- package/src/sap/fe/core/templating/FieldControlHelper.js.map +1 -0
- package/src/sap/fe/core/templating/FilterHelper-dbg.js +346 -0
- package/src/sap/fe/core/templating/FilterHelper.js +3 -339
- package/src/sap/fe/core/templating/FilterHelper.js.map +1 -0
- package/src/sap/fe/core/templating/FilterHelper.ts +2 -21
- package/src/sap/fe/core/templating/FilterTemplating-dbg.js +62 -0
- package/src/sap/fe/core/templating/FilterTemplating.js +3 -59
- package/src/sap/fe/core/templating/FilterTemplating.js.map +1 -0
- package/src/sap/fe/core/templating/PropertyFormatters-dbg.js +93 -0
- package/src/sap/fe/core/templating/PropertyFormatters.js +3 -90
- package/src/sap/fe/core/templating/PropertyFormatters.js.map +1 -0
- package/src/sap/fe/core/templating/PropertyHelper-dbg.js +340 -0
- package/src/sap/fe/core/templating/PropertyHelper.js +3 -337
- package/src/sap/fe/core/templating/PropertyHelper.js.map +1 -0
- package/src/sap/fe/core/templating/SemanticObjectHelper-dbg.js +91 -0
- package/src/sap/fe/core/templating/SemanticObjectHelper.js +3 -43
- package/src/sap/fe/core/templating/SemanticObjectHelper.js.map +1 -0
- package/src/sap/fe/core/templating/SemanticObjectHelper.ts +45 -1
- package/src/sap/fe/core/templating/UIFormatters-dbg.js +498 -0
- package/src/sap/fe/core/templating/UIFormatters.js +3 -544
- package/src/sap/fe/core/templating/UIFormatters.js.map +1 -0
- package/src/sap/fe/core/templating/UIFormatters.ts +60 -110
- package/src/sap/fe/core/type/DateTimeWithTimezone-dbg.js +35 -0
- package/src/sap/fe/core/type/DateTimeWithTimezone.js +3 -33
- package/src/sap/fe/core/type/DateTimeWithTimezone.js.map +1 -0
- package/src/sap/fe/core/type/EDM-dbg.js +84 -0
- package/src/sap/fe/core/type/EDM.js +6 -0
- package/src/sap/fe/core/type/EDM.js.map +1 -0
- package/src/sap/fe/core/type/EDM.ts +70 -0
- package/src/sap/fe/core/type/Email-dbg.js +29 -0
- package/src/sap/fe/core/type/Email.js +3 -26
- package/src/sap/fe/core/type/Email.js.map +1 -0
- package/src/sap/fe/core/type/FiscalDate-dbg.js +174 -0
- package/src/sap/fe/core/type/FiscalDate.js +6 -0
- package/src/sap/fe/core/type/FiscalDate.js.map +1 -0
- package/src/sap/fe/core/type/FiscalDate.ts +179 -0
- package/src/sap/fe/core/type/TypeUtil-dbg.js +58 -0
- package/src/sap/fe/core/type/TypeUtil.js +3 -55
- package/src/sap/fe/core/type/TypeUtil.js.map +1 -0
- package/src/sap/fe/core/type/TypeUtil.ts +1 -0
- package/src/.eslintrc +0 -7
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2023 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/base/util/merge", "sap/base/util/ObjectPath", "sap/base/util/uid", "sap/ui/base/Metadata", "sap/ui/core/mvc/ControllerMetadata"], function (merge, ObjectPath, uid, Metadata, ControllerMetadata) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _exports = {};
|
|
9
|
+
const ensureMetadata = function (target) {
|
|
10
|
+
target.metadata = merge({
|
|
11
|
+
controllerExtensions: {},
|
|
12
|
+
properties: {},
|
|
13
|
+
aggregations: {},
|
|
14
|
+
associations: {},
|
|
15
|
+
methods: {},
|
|
16
|
+
events: {},
|
|
17
|
+
interfaces: []
|
|
18
|
+
}, target.metadata || {});
|
|
19
|
+
return target.metadata;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/* #region CONTROLLER EXTENSIONS */
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Defines that the following method is an override for the method name with the same name in the specific controller extension or base implementation.
|
|
26
|
+
*
|
|
27
|
+
* @param extensionName The name of the extension that will be overridden
|
|
28
|
+
* @returns The decorated method
|
|
29
|
+
*/
|
|
30
|
+
function methodOverride(extensionName) {
|
|
31
|
+
return function (target, propertyKey) {
|
|
32
|
+
if (!target.override) {
|
|
33
|
+
target.override = {};
|
|
34
|
+
}
|
|
35
|
+
let currentTarget = target.override;
|
|
36
|
+
if (extensionName) {
|
|
37
|
+
if (!currentTarget.extension) {
|
|
38
|
+
currentTarget.extension = {};
|
|
39
|
+
}
|
|
40
|
+
if (!currentTarget.extension[extensionName]) {
|
|
41
|
+
currentTarget.extension[extensionName] = {};
|
|
42
|
+
}
|
|
43
|
+
currentTarget = currentTarget.extension[extensionName];
|
|
44
|
+
}
|
|
45
|
+
currentTarget[propertyKey.toString()] = target[propertyKey.toString()];
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Defines that the method can be extended by other controller extension based on the defined overrideExecutionType.
|
|
51
|
+
*
|
|
52
|
+
* @param overrideExecutionType The OverrideExecution defining when the override should run (Before / After / Instead)
|
|
53
|
+
* @returns The decorated method
|
|
54
|
+
*/
|
|
55
|
+
_exports.methodOverride = methodOverride;
|
|
56
|
+
function extensible(overrideExecutionType) {
|
|
57
|
+
return function (target, propertyKey) {
|
|
58
|
+
const metadata = ensureMetadata(target);
|
|
59
|
+
if (!metadata.methods[propertyKey.toString()]) {
|
|
60
|
+
metadata.methods[propertyKey.toString()] = {};
|
|
61
|
+
}
|
|
62
|
+
metadata.methods[propertyKey.toString()].overrideExecution = overrideExecutionType;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Defines that the method will be publicly available for controller extension usage.
|
|
68
|
+
*
|
|
69
|
+
* @returns The decorated method
|
|
70
|
+
*/
|
|
71
|
+
_exports.extensible = extensible;
|
|
72
|
+
function publicExtension() {
|
|
73
|
+
return function (target, propertyKey, descriptor) {
|
|
74
|
+
const metadata = ensureMetadata(target);
|
|
75
|
+
descriptor.enumerable = true;
|
|
76
|
+
if (!metadata.methods[propertyKey.toString()]) {
|
|
77
|
+
metadata.methods[propertyKey.toString()] = {};
|
|
78
|
+
}
|
|
79
|
+
metadata.methods[propertyKey.toString()].public = true;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Defines that the method will be only available for internal usage of the controller extension.
|
|
84
|
+
*
|
|
85
|
+
* @returns The decorated method
|
|
86
|
+
*/
|
|
87
|
+
_exports.publicExtension = publicExtension;
|
|
88
|
+
function privateExtension() {
|
|
89
|
+
return function (target, propertyKey, descriptor) {
|
|
90
|
+
const metadata = ensureMetadata(target);
|
|
91
|
+
descriptor.enumerable = true;
|
|
92
|
+
if (!metadata.methods[propertyKey.toString()]) {
|
|
93
|
+
metadata.methods[propertyKey.toString()] = {};
|
|
94
|
+
}
|
|
95
|
+
metadata.methods[propertyKey.toString()].public = false;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Defines that the method cannot be further extended by other controller extension.
|
|
100
|
+
*
|
|
101
|
+
* @returns The decorated method
|
|
102
|
+
*/
|
|
103
|
+
_exports.privateExtension = privateExtension;
|
|
104
|
+
function finalExtension() {
|
|
105
|
+
return function (target, propertyKey, descriptor) {
|
|
106
|
+
const metadata = ensureMetadata(target);
|
|
107
|
+
descriptor.enumerable = true;
|
|
108
|
+
if (!metadata.methods[propertyKey.toString()]) {
|
|
109
|
+
metadata.methods[propertyKey.toString()] = {};
|
|
110
|
+
}
|
|
111
|
+
metadata.methods[propertyKey.toString()].final = true;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Defines that we are going to use instantiate a controller extension under the following variable name.
|
|
117
|
+
*
|
|
118
|
+
* @param extensionClass The controller extension that will be instantiated
|
|
119
|
+
* @returns The decorated property
|
|
120
|
+
*/
|
|
121
|
+
_exports.finalExtension = finalExtension;
|
|
122
|
+
function usingExtension(extensionClass) {
|
|
123
|
+
return function (target, propertyKey, propertyDescriptor) {
|
|
124
|
+
const metadata = ensureMetadata(target);
|
|
125
|
+
delete propertyDescriptor.initializer;
|
|
126
|
+
metadata.controllerExtensions[propertyKey.toString()] = extensionClass;
|
|
127
|
+
return propertyDescriptor;
|
|
128
|
+
}; // This is technically an accessor decorator, but somehow the compiler doesn't like it if I declare it as such.
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* #endregion */
|
|
132
|
+
|
|
133
|
+
/* #region CONTROL */
|
|
134
|
+
/**
|
|
135
|
+
* Indicates that the property shall be declared as an event on the control metadata.
|
|
136
|
+
*
|
|
137
|
+
* @returns The decorated property
|
|
138
|
+
*/
|
|
139
|
+
_exports.usingExtension = usingExtension;
|
|
140
|
+
function event() {
|
|
141
|
+
return function (target, eventKey) {
|
|
142
|
+
const metadata = ensureMetadata(target);
|
|
143
|
+
if (!metadata.events[eventKey.toString()]) {
|
|
144
|
+
metadata.events[eventKey.toString()] = {};
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Defines the following property in the control metatada.
|
|
151
|
+
*
|
|
152
|
+
* @param attributeDefinition The property definition
|
|
153
|
+
* @returns The decorated property.
|
|
154
|
+
*/
|
|
155
|
+
_exports.event = event;
|
|
156
|
+
function property(attributeDefinition) {
|
|
157
|
+
return function (target, propertyKey, propertyDescriptor) {
|
|
158
|
+
const metadata = ensureMetadata(target);
|
|
159
|
+
if (!metadata.properties[propertyKey]) {
|
|
160
|
+
metadata.properties[propertyKey] = attributeDefinition;
|
|
161
|
+
}
|
|
162
|
+
delete propertyDescriptor.writable;
|
|
163
|
+
delete propertyDescriptor.initializer;
|
|
164
|
+
return propertyDescriptor;
|
|
165
|
+
}; // This is technically an accessor decorator, but somehow the compiler doesn't like it if i declare it as such.;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Defines and configure the following aggregation in the control metatada.
|
|
169
|
+
*
|
|
170
|
+
* @param aggregationDefinition The aggregation definition
|
|
171
|
+
* @returns The decorated property.
|
|
172
|
+
*/
|
|
173
|
+
_exports.property = property;
|
|
174
|
+
function aggregation(aggregationDefinition) {
|
|
175
|
+
return function (target, propertyKey, propertyDescriptor) {
|
|
176
|
+
const metadata = ensureMetadata(target);
|
|
177
|
+
if (aggregationDefinition.multiple === undefined) {
|
|
178
|
+
// UI5 defaults this to true but this is just weird...
|
|
179
|
+
aggregationDefinition.multiple = false;
|
|
180
|
+
}
|
|
181
|
+
if (!metadata.aggregations[propertyKey]) {
|
|
182
|
+
metadata.aggregations[propertyKey] = aggregationDefinition;
|
|
183
|
+
}
|
|
184
|
+
if (aggregationDefinition.isDefault) {
|
|
185
|
+
metadata.defaultAggregation = propertyKey;
|
|
186
|
+
}
|
|
187
|
+
delete propertyDescriptor.writable;
|
|
188
|
+
delete propertyDescriptor.initializer;
|
|
189
|
+
return propertyDescriptor;
|
|
190
|
+
}; // This is technically an accessor decorator, but somehow the compiler doesn't like it if i declare it as such.;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Defines and configure the following association in the control metatada.
|
|
195
|
+
*
|
|
196
|
+
* @param ui5AssociationMetadata The definition of the association.
|
|
197
|
+
* @returns The decorated property
|
|
198
|
+
*/
|
|
199
|
+
_exports.aggregation = aggregation;
|
|
200
|
+
function association(ui5AssociationMetadata) {
|
|
201
|
+
return function (target, propertyKey, propertyDescriptor) {
|
|
202
|
+
const metadata = ensureMetadata(target);
|
|
203
|
+
if (!metadata.associations[propertyKey]) {
|
|
204
|
+
metadata.associations[propertyKey] = ui5AssociationMetadata;
|
|
205
|
+
}
|
|
206
|
+
delete propertyDescriptor.writable;
|
|
207
|
+
delete propertyDescriptor.initializer;
|
|
208
|
+
return propertyDescriptor;
|
|
209
|
+
}; // This is technically an accessor decorator, but somehow the compiler doesn't like it if i declare it as such.;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Defines in the metadata that this control implements a specific interface.
|
|
214
|
+
*
|
|
215
|
+
* @param interfaceName The name of the implemented interface
|
|
216
|
+
* @returns The decorated method
|
|
217
|
+
*/
|
|
218
|
+
_exports.association = association;
|
|
219
|
+
function implementInterface(interfaceName) {
|
|
220
|
+
return function (target) {
|
|
221
|
+
const metadata = ensureMetadata(target);
|
|
222
|
+
metadata.interfaces.push(interfaceName);
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Indicates that the following method should also be exposed statically so we can call it from XML.
|
|
228
|
+
*
|
|
229
|
+
* @returns The decorated method
|
|
230
|
+
*/
|
|
231
|
+
_exports.implementInterface = implementInterface;
|
|
232
|
+
function xmlEventHandler() {
|
|
233
|
+
return function (target, propertykey) {
|
|
234
|
+
const currentConstructor = target.constructor;
|
|
235
|
+
currentConstructor[propertykey.toString()] = function () {
|
|
236
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
237
|
+
args[_key] = arguments[_key];
|
|
238
|
+
}
|
|
239
|
+
if (args && args.length) {
|
|
240
|
+
const currentTarget = currentConstructor.getAPI(args[0]);
|
|
241
|
+
currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget[propertykey.toString()](...args);
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Indicates that the following class should define a UI5 control of the specified name.
|
|
249
|
+
*
|
|
250
|
+
* @param sTarget The fully qualified name of the UI5 class
|
|
251
|
+
* @param metadataDefinition Inline metadata definition
|
|
252
|
+
* @class
|
|
253
|
+
*/
|
|
254
|
+
_exports.xmlEventHandler = xmlEventHandler;
|
|
255
|
+
function defineUI5Class(sTarget, metadataDefinition) {
|
|
256
|
+
return function (constructor) {
|
|
257
|
+
if (!constructor.prototype.metadata) {
|
|
258
|
+
constructor.prototype.metadata = {};
|
|
259
|
+
}
|
|
260
|
+
if (metadataDefinition) {
|
|
261
|
+
for (const key in metadataDefinition) {
|
|
262
|
+
constructor.prototype.metadata[key] = metadataDefinition[key];
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
return registerUI5Metadata(constructor, sTarget, constructor.prototype);
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
_exports.defineUI5Class = defineUI5Class;
|
|
269
|
+
function createReference() {
|
|
270
|
+
return {
|
|
271
|
+
current: undefined,
|
|
272
|
+
setCurrent: function (oControlInstance) {
|
|
273
|
+
this.current = oControlInstance;
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Defines that the following object will hold a reference to a control through jsx templating.
|
|
279
|
+
*
|
|
280
|
+
* @returns The decorated property.
|
|
281
|
+
*/
|
|
282
|
+
_exports.createReference = createReference;
|
|
283
|
+
function defineReference() {
|
|
284
|
+
return function (target, propertyKey, propertyDescriptor) {
|
|
285
|
+
delete propertyDescriptor.writable;
|
|
286
|
+
delete propertyDescriptor.initializer;
|
|
287
|
+
propertyDescriptor.initializer = createReference;
|
|
288
|
+
return propertyDescriptor;
|
|
289
|
+
}; // This is technically an accessor decorator, but somehow the compiler doesn't like it if i declare it as such.;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Internal heavy lifting that will take care of creating the class property for ui5 to use.
|
|
294
|
+
*
|
|
295
|
+
* @param clazz The class prototype
|
|
296
|
+
* @param name The name of the class to create
|
|
297
|
+
* @param inObj The metadata object
|
|
298
|
+
* @returns The metadata class
|
|
299
|
+
*/
|
|
300
|
+
_exports.defineReference = defineReference;
|
|
301
|
+
function registerUI5Metadata(clazz, name, inObj) {
|
|
302
|
+
var _clazz$getMetadata, _inObj$metadata, _clazz$metadata, _obj$metadata;
|
|
303
|
+
if (clazz.getMetadata && clazz.getMetadata().isA("sap.ui.core.mvc.ControllerExtension")) {
|
|
304
|
+
Object.getOwnPropertyNames(inObj).forEach(objName => {
|
|
305
|
+
const descriptor = Object.getOwnPropertyDescriptor(inObj, objName);
|
|
306
|
+
if (descriptor && !descriptor.enumerable) {
|
|
307
|
+
descriptor.enumerable = true;
|
|
308
|
+
// Log.error(`Property ${objName} from ${name} should be decorated as public`);
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
const obj = {};
|
|
314
|
+
obj.metadata = inObj.metadata || {};
|
|
315
|
+
obj.override = inObj.override;
|
|
316
|
+
obj.constructor = clazz;
|
|
317
|
+
obj.metadata.baseType = Object.getPrototypeOf(clazz.prototype).getMetadata().getName();
|
|
318
|
+
if ((clazz === null || clazz === void 0 ? void 0 : (_clazz$getMetadata = clazz.getMetadata()) === null || _clazz$getMetadata === void 0 ? void 0 : _clazz$getMetadata.getStereotype()) === "control") {
|
|
319
|
+
const rendererDefinition = inObj.renderer || clazz.renderer || clazz.render;
|
|
320
|
+
obj.renderer = {
|
|
321
|
+
apiVersion: 2
|
|
322
|
+
};
|
|
323
|
+
if (typeof rendererDefinition === "function") {
|
|
324
|
+
obj.renderer.render = rendererDefinition;
|
|
325
|
+
} else if (rendererDefinition != undefined) {
|
|
326
|
+
obj.renderer = rendererDefinition;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
obj.metadata.interfaces = ((_inObj$metadata = inObj.metadata) === null || _inObj$metadata === void 0 ? void 0 : _inObj$metadata.interfaces) || ((_clazz$metadata = clazz.metadata) === null || _clazz$metadata === void 0 ? void 0 : _clazz$metadata.interfaces);
|
|
330
|
+
Object.keys(clazz.prototype).forEach(key => {
|
|
331
|
+
if (key !== "metadata") {
|
|
332
|
+
try {
|
|
333
|
+
obj[key] = clazz.prototype[key];
|
|
334
|
+
} catch (e) {
|
|
335
|
+
//console.log(e);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
});
|
|
339
|
+
if ((_obj$metadata = obj.metadata) !== null && _obj$metadata !== void 0 && _obj$metadata.controllerExtensions && Object.keys(obj.metadata.controllerExtensions).length > 0) {
|
|
340
|
+
for (const cExtName in obj.metadata.controllerExtensions) {
|
|
341
|
+
obj[cExtName] = obj.metadata.controllerExtensions[cExtName];
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
const output = clazz.extend(name, obj);
|
|
345
|
+
const fnInit = output.prototype.init;
|
|
346
|
+
output.prototype.init = function () {
|
|
347
|
+
if (fnInit) {
|
|
348
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
349
|
+
args[_key2] = arguments[_key2];
|
|
350
|
+
}
|
|
351
|
+
fnInit.apply(this, args);
|
|
352
|
+
}
|
|
353
|
+
this.metadata = obj.metadata;
|
|
354
|
+
if (obj.metadata.properties) {
|
|
355
|
+
const aPropertyKeys = Object.keys(obj.metadata.properties);
|
|
356
|
+
aPropertyKeys.forEach(propertyKey => {
|
|
357
|
+
Object.defineProperty(this, propertyKey, {
|
|
358
|
+
configurable: true,
|
|
359
|
+
set: v => {
|
|
360
|
+
return this.setProperty(propertyKey, v);
|
|
361
|
+
},
|
|
362
|
+
get: () => {
|
|
363
|
+
return this.getProperty(propertyKey);
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
});
|
|
367
|
+
const aAggregationKeys = Object.keys(obj.metadata.aggregations);
|
|
368
|
+
aAggregationKeys.forEach(aggregationKey => {
|
|
369
|
+
Object.defineProperty(this, aggregationKey, {
|
|
370
|
+
configurable: true,
|
|
371
|
+
set: v => {
|
|
372
|
+
return this.setAggregation(aggregationKey, v);
|
|
373
|
+
},
|
|
374
|
+
get: () => {
|
|
375
|
+
const aggregationContent = this.getAggregation(aggregationKey);
|
|
376
|
+
if (obj.metadata.aggregations[aggregationKey].multiple) {
|
|
377
|
+
return aggregationContent || [];
|
|
378
|
+
} else {
|
|
379
|
+
return aggregationContent;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
});
|
|
383
|
+
});
|
|
384
|
+
const aAssociationKeys = Object.keys(obj.metadata.associations);
|
|
385
|
+
aAssociationKeys.forEach(associationKey => {
|
|
386
|
+
Object.defineProperty(this, associationKey, {
|
|
387
|
+
configurable: true,
|
|
388
|
+
set: v => {
|
|
389
|
+
return this.setAssociation(associationKey, v);
|
|
390
|
+
},
|
|
391
|
+
get: () => {
|
|
392
|
+
const aggregationContent = this.getAssociation(associationKey);
|
|
393
|
+
if (obj.metadata.associations[associationKey].multiple) {
|
|
394
|
+
return aggregationContent || [];
|
|
395
|
+
} else {
|
|
396
|
+
return aggregationContent;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
clazz.override = function (oExtension) {
|
|
404
|
+
const pol = {};
|
|
405
|
+
pol.constructor = function () {
|
|
406
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
407
|
+
args[_key3] = arguments[_key3];
|
|
408
|
+
}
|
|
409
|
+
return clazz.apply(this, args);
|
|
410
|
+
};
|
|
411
|
+
const oClass = Metadata.createClass(clazz, `anonymousExtension~${uid()}`, pol, ControllerMetadata);
|
|
412
|
+
oClass.getMetadata()._staticOverride = oExtension;
|
|
413
|
+
oClass.getMetadata()._override = clazz.getMetadata()._override;
|
|
414
|
+
return oClass;
|
|
415
|
+
};
|
|
416
|
+
ObjectPath.set(name, output);
|
|
417
|
+
return output;
|
|
418
|
+
}
|
|
419
|
+
return _exports;
|
|
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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
|