@sap/open.fe 1.98.0 → 1.99.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/packages/sap.fe.common/src/sap/fe/common/.library +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/.theming +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton-dbg.js +10 -8
- package/packages/sap.fe.common/src/sap/fe/common/MessageButton.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-dbg.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/library-h2-preload.js +2 -2
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library-preload.js.map +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/library.js +1 -1
- package/packages/sap.fe.common/src/sap/fe/common/manifest.json +3 -3
- package/packages/sap.fe.common/src/sap/fe/common/resources.json +4 -4
- package/packages/sap.fe.common/test/sap/fe/common/designtime/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.common/test/sap/fe/common/relnotes/changes-1.99.json +18 -0
- package/packages/sap.fe.core/src/sap/fe/core/.library +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/.theming +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper-dbg.js +376 -405
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/AnnotationHelper.ts +385 -0
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler-dbg.js +228 -181
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/AppStateHandler.ts +171 -0
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker-dbg.js +104 -121
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/BusyLocker.ts +98 -0
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils-dbg.js +2072 -2399
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/CommonUtils.ts +2078 -0
- package/packages/sap.fe.core/src/sap/fe/core/PageController-dbg.js +83 -125
- package/packages/sap.fe.core/src/sap/fe/core/PageController.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/PageController.ts +101 -0
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy-dbg.js +985 -823
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/RouterProxy.ts +838 -0
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization-dbg.js +50 -35
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/Synchronization.ts +29 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent-dbg.js +172 -164
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/TemplateComponent.ts +166 -0
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel-dbg.js +96 -54
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/TemplateModel.ts +63 -0
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper-dbg.js +1575 -1664
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/TransactionHelper.ts +1706 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft-dbg.js +558 -608
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/draft.ts +593 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling-dbg.js +544 -514
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/messageHandling.ts +532 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft-dbg.js +16 -19
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/nonDraft.ts +12 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations-dbg.js +1073 -1215
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/operations.ts +1162 -0
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky-dbg.js +101 -105
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/actions/sticky.ts +102 -0
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow-dbg.js +51 -209
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/EditFlow.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow-dbg.js +276 -9
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalEditFlow.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation-dbg.js +5 -4
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting-dbg.js +44 -43
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/InternalRouting.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement-dbg.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/KPIManagement.ts +29 -26
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit-dbg.js +98 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MassEdit.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler-dbg.js +14 -6
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/MessageHandler.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/PageReady.ts +12 -8
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing-dbg.js +6 -2
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/Routing.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects-dbg.js +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controllerextensions/SideEffects.ts +18 -18
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper-dbg.js +8 -20
- package/packages/sap.fe.core/src/sap/fe/core/controls/FieldWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/controls/NonComputedVisibleKeyFieldsDialog.fragment.xml +1 -0
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/controls/filterbar/VisualFilter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ConverterContext.ts +4 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestSettings.ts +1 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper-dbg.js +39 -26
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/ManifestWrapper.ts +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter-dbg.js +11 -8
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/MetaModelConverter.ts +16 -16
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/TemplateConverter.ts +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter-dbg.js +17 -13
- package/packages/sap.fe.core/src/sap/fe/core/converters/common/AnnotationConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Action.ts +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart-dbg.js +5 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Chart.ts +11 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization-dbg.js +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/DataVisualization.ts +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form-dbg.js +4 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Form.ts +16 -2
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table-dbg.js +250 -146
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/Table.ts +300 -167
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions-dbg.js +115 -56
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +120 -74
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar-dbg.js +467 -32
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +483 -54
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection-dbg.js +6 -6
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +9 -15
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation-dbg.js +13 -5
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/Aggregation.ts +20 -5
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager-dbg.js +4 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/helpers/IssueManager.ts +3 -0
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction-dbg.js +4 -4
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter-dbg.js +13 -6
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/converters/templates/ListReportConverter.ts +26 -15
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/CriticalityFormatter.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/FPMFormatter.ts +4 -10
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/KPIFormatter.ts +3 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter-dbg.js +39 -28
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/TableFormatter.ts +43 -28
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/formatters/ValueFormatter.ts +7 -6
- package/packages/sap.fe.core/src/sap/fe/core/fpm/manifest.json +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper-dbg.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/AppStartupHelper.ts +7 -4
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression-dbg.js +314 -355
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/BindingExpression.ts +317 -391
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport-dbg.js +27 -15
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ClassSupport.ts +31 -20
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper-dbg.js +62 -59
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +56 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState-dbg.js +80 -84
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/EditState.ts +81 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper-dbg.js +61 -48
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ExcelFormatHelper.ts +49 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper-dbg.js +51 -56
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/FPMHelper.ts +62 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper-dbg.js +3 -4
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/KeepAliveHelper.ts +9 -9
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper-dbg.js +24 -16
- package/packages/sap.fe.core/src/sap/fe/core/helpers/MassEditHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper-dbg.js +228 -225
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/ModelHelper.ts +227 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper-dbg.js +209 -132
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/PasteHelper.ts +196 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators-dbg.js +331 -313
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticDateOperators.ts +330 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper-dbg.js +65 -67
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/helpers/SemanticKeyHelper.ts +73 -0
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper-dbg.js +1 -5
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/helpers/StableIdHelper.ts +2 -6
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/jsx-runtime/jsx.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js +23 -26
- package/packages/sap.fe.core/src/sap/fe/core/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js +630 -649
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.js.map +3 -3
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js +17 -5
- package/packages/sap.fe.core/src/sap/fe/core/library-preload.support.js.map +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/library.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/manifest.json +10 -10
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle.properties +23 -10
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ar.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_bg.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ca.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cs.properties +10 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_cy.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_da.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_de.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_el.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_GB.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_sappsd.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saprigi.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_en_US_saptrc.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_es_MX.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_et.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fi.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr.properties +13 -4
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_fr_CA.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hi.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hr.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_hu.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_id.properties +10 -1
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_it.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_iw.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ja.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_kk.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ko.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lt.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_lv.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ms.properties +14 -5
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_nl.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_no.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pl.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_pt_PT.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ro.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_ru.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sh.properties +11 -2
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sk.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sl.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_sv.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_th.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_tr.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_uk.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_vi.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_CN.properties +9 -0
- package/packages/sap.fe.core/src/sap/fe/core/messagebundle_zh_TW.properties +15 -6
- package/packages/sap.fe.core/src/sap/fe/core/resources.json +427 -341
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/AsyncComponentServiceFactory.ts +3 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory-dbg.js +268 -202
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +212 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/EnvironmentServiceFactory.ts +7 -6
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory-dbg.js +405 -300
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/NavigationServiceFactory.ts +316 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory-dbg.js +148 -81
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/ResourceModelServiceFactory.ts +80 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory-dbg.js +986 -899
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/RoutingServiceFactory.ts +898 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/ShellServicesFactory.ts +15 -10
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory-dbg.js +35 -81
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/services/SideEffectsServiceFactory.ts +46 -94
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory-dbg.js +460 -487
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +453 -0
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage-dbg.controller.js +9 -8
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +2 -3
- package/packages/sap.fe.core/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +8 -0
- package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.js +15 -3
- package/packages/sap.fe.core/src/sap/fe/core/support/AnnotationIssue.support.ts +16 -2
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.js +2 -2
- package/packages/sap.fe.core/src/sap/fe/core/support/CollectionFacetUnsupportedLevel.support.ts +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper-dbg.js +8 -8
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/FieldControlHelper.ts +25 -7
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper-dbg.js +138 -72
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/FilterHelper.ts +139 -71
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters-dbg.js +31 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/templating/UIFormatters.ts +33 -2
- package/packages/sap.fe.core/src/sap/fe/core/type/Email-dbg.js +1 -1
- package/packages/sap.fe.core/src/sap/fe/core/type/Email.ts +4 -6
- package/packages/sap.fe.core/test/sap/fe/core/designtime/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.jstemplates.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/controls/FileEditor.js +15 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/model/MacroNavigationModel.js +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/buildingBlockOverview.md +2 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/chartFilterBar.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/chartFilterBar.view.xml +22 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/ChildEntity.json +686 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/CreditLimitDetails.json +154 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/RootEntity.json +252 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/service.cds +141 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/localService/status.json +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chart/chartFilterBar/manifest.json +69 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/chartFilterBar.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/FieldFormatOptions.view.xml +186 -122
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/FieldFormatOptions.cds +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/field/fieldFormatOptions/localService/RootEntity.json +2 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarDefault/localService/service.cds +15 -1
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/filterBar/filterBarSVandAnnotationDefaults/localService/service.cds +36 -5
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/Component.js +33 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/FormSample.view.xml +10 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/localService/FormSample.cds +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/localService/RootEntity.json +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/form/formSample/manifest.json +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/formSample.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.controller.js +72 -43
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.controller.ts +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/guidance/guidanceFreestyle/EntryPage.view.xml +12 -3
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.controller.js +4 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableCustoms/Page.view.xml +9 -3
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/Component.js +36 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/TableFilterBar.controller.js +5 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/TableFilterBar.view.xml +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/localService/RootEntity.json +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/localService/ValueHelpEntity.js +11 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/localService/service.cds +94 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/table/tableFilterBar/manifest.json +79 -0
- package/packages/sap.fe.core/test/sap/fe/core/fpmExplorer/topics/buildingBlocks/tableFilterBar.html +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/AnnotationHelper.spec.js +694 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/AnnotationHelper.spec.ts +819 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/AppStateHandler.spec.js +51 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/AppStateHandler.spec.ts +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression-AnnotationExpression.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.js +26 -15
- package/packages/sap.fe.core/test/sap/fe/core/jest/BindingExpression.spec.ts +28 -15
- package/packages/sap.fe.core/test/sap/fe/core/jest/CommonUtils.spec.ts +202 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/RouterProxy.spec.js +54 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/RouterProxy.spec.ts +35 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.js +5 -11
- package/packages/sap.fe.core/test/sap/fe/core/jest/TemplateConverter.spec.ts +8 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.js +736 -619
- package/packages/sap.fe.core/test/sap/fe/core/jest/TransactionHelper.spec.ts +703 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/__snapshots__/TemplateConverter.spec.ts.snap +89 -85
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/draft.spec.js +102 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/draft.spec.ts +97 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/messageHandling.spec.js +492 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/messageHandling.spec.ts +509 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/operations.spec.js +895 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/actions/operations.spec.ts +908 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.js +209 -353
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/EditFlow.spec.ts +222 -362
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalEditFlow.spec.js +508 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalEditFlow.spec.ts +440 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/InternalRouting.spec.ts +90 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/KPIManagement.spec.ts +10 -10
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MassEdit.spec.js +286 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MassEdit.spec.ts +179 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.js +200 -21
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandler.spec.ts +168 -17
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Routing.spec.js +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/Routing.spec.ts +26 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/SideEffects.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controls/FilterBar.spec.js +355 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/controls/FilterBar.spec.ts +287 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ConverterContext.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Filter.spec.js +542 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Filter.spec.ts +588 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.js +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/HeaderFacet.spec.ts +1 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.js +371 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ListReportConverter.spec.ts +469 -6
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/MetaModelConverter.spec.ts +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageAvatar.spec.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/ObjectPageAvatar.spec.ts +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.js +12 -8
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/SubSection.spec.ts +8 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.js +436 -45
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/Table.spec.ts +565 -33
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.js +136 -78
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/TableStandardActions.spec.ts +315 -199
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Filter.spec.ts.snap +307 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/MetaModelConverter.spec.ts.snap +49 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/converters/__snapshots__/Table.spec.ts.snap +1 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService.cds +51 -4
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/AnalyticalService2.cds +107 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/ComplexType.cds +39 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/Filter.cds +187 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/MassEditHelper.cds +226 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/SideEffects.cds +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/data/computedDefaultValueService.cds +99 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.js +25 -5
- package/packages/sap.fe.core/test/sap/fe/core/jest/formatters/TableFormatters.spec.ts +18 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/AppStartupHelper.spec.ts +4 -2
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/DynamicAnnotationPathHelper.spec.js +40 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/DynamicAnnotationPathHelper.spec.ts +39 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ExcelFormatHelper.spec.js +20 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ExcelFormatHelper.spec.ts +13 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.js +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/KeepAliveHelper.spec.ts +3 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/MassEditHelper.spec.js +712 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/MassEditHelper.spec.ts +613 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.js +344 -225
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/ModelHelper.spec.ts +347 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/PasteHelper.spec.js +439 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/PasteHelper.spec.ts +378 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/SemanticDateOperators.spec.js +123 -0
- package/packages/sap.fe.core/test/sap/fe/core/{qunit/helpers/SemanticDateOperators.qunit.js → jest/helpers/SemanticDateOperators.spec.ts} +10 -21
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/SemanticKeyHelper.spec.js +215 -0
- package/packages/sap.fe.core/test/sap/fe/core/{qunit/helpers/SemanticKeyHelper.qunit.js → jest/helpers/SemanticKeyHelper.spec.ts} +58 -55
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/StableIdHelper.spec.js +125 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/StableIdHelper.spec.ts +142 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/helpers/__snapshots__/MassEditHelper.spec.ts.snap +263 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/CacheHandlerTest.spec.js +871 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/CacheHandlerTest.spec.ts +899 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/NavigationServiceFactory.spec.js +46 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/NavigationServiceFactory.spec.ts +37 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.js +120 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/RoutingServiceFactory.spec.ts +96 -7
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/ShellServicesFactory.spec.js +86 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/ShellServicesFactory.spec.ts +72 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.js +16 -44
- package/packages/sap.fe.core/test/sap/fe/core/jest/services/SideEffectsService.spec.ts +22 -60
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.js +4 -4
- package/packages/sap.fe.core/test/sap/fe/core/jest/templating/PropertyHelper.spec.ts +9 -3
- package/packages/sap.fe.core/test/sap/fe/core/jest/type/ComplexType.spec.js +68 -0
- package/packages/sap.fe.core/test/sap/fe/core/jest/type/ComplexType.spec.ts +51 -0
- package/packages/sap.fe.core/test/sap/fe/core/qunit/TemplatingExpressions.qunit.js +2 -2
- package/packages/sap.fe.core/test/sap/fe/core/qunit/apps/generalTests.json +0 -105
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.98.json +0 -11
- package/packages/sap.fe.core/test/sap/fe/core/relnotes/changes-1.99.json +534 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/.library +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/.theming +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata-dbg.js +14 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/Chart.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI-dbg.js +15 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartAPI.ts +9 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate-dbg.js +37 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/ChartDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper-dbg.js +27 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/CommonHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.fragment.xml +4 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata-dbg.js +17 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Field.metadata.ts +17 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FieldAPI.ts +35 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata-dbg.js +41 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBar.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarAPI.ts +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate-dbg.js +50 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/FilterBarDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.fragment.xml +65 -75
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata-dbg.js +55 -51
- package/packages/sap.fe.macros/src/sap/fe/macros/Form.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI-dbg.js +83 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormAPI.ts +29 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.fragment.xml +11 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata-dbg.js +2 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainer.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI-dbg.js +99 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI.js +5 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/FormContainerAPI.ts +32 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI-dbg.js +67 -7
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/MacroAPI.ts +60 -10
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil-dbg.js +26 -34
- package/packages/sap.fe.macros/src/sap/fe/macros/PhantomUtil.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.fragment.xml +6 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata-dbg.js +38 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/Table.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI-dbg.js +78 -92
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/TableAPI.ts +55 -68
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper-dbg.js +41 -39
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime-dbg.js +125 -31
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating-dbg.js +16 -42
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/field/FieldTemplating.ts +13 -39
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate-dbg.js +0 -7
- package/packages/sap.fe.macros/src/sap/fe/macros/field/QuickViewLinkDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper-dbg.js +142 -129
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterFieldHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils-dbg.js +120 -61
- package/packages/sap.fe.macros/src/sap/fe/macros/filter/FilterUtils.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/form/AddressSection.fragment.xml +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/form/DataFieldCollection.fragment.xml +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper-dbg.js +1 -14
- package/packages/sap.fe.macros/src/sap/fe/macros/form/FormHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata-dbg.js +23 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/CollectionField.metadata.ts +29 -17
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.fragment.xml +45 -54
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata-dbg.js +16 -22
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/DataPoint.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata-dbg.js +14 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/Field.metadata.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/FilterField.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator-dbg.js +3 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/SituationsIndicator.ts +4 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/FieldStructure.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWithQuickViewForm.fragment.xml +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/LinkWrapper.fragment.xml +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectIdentifier.fragment.xml +4 -145
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/displayStyle/ObjectStatus.fragment.xml +32 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DatePicker.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/DateTimePicker.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/File.fragment.xml +3 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/Input.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithUnit.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/InputWithValueHelp.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TextArea.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/editStyle/TimePicker.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/field/fragments/ObjectIdentifierContent.fragment.xml +81 -0
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating-dbg.js +64 -30
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +58 -36
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter-dbg.js +4 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Formatter.ts +19 -20
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime-dbg.js +2 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/situations/Runtime.ts +13 -5
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +3 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating-dbg.js +17 -7
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueHelpTemplating.ts +10 -3
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper-dbg.js +53 -62
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/internal/valuehelp/ValueListTable.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/library-dbg.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js +16 -14
- package/packages/sap.fe.macros/src/sap/fe/macros/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js +157 -178
- package/packages/sap.fe.macros/src/sap/fe/macros/library-preload.js.map +4 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/library.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/manifest.json +9 -9
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle.properties +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ar.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_bg.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ca.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cs.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_cy.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_da.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_de.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_el.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_GB.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_sappsd.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_en_US_saptrc.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_es_MX.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_et.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fi.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_fr_CA.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hi.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hr.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_hu.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_id.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_it.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_iw.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ja.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_kk.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ko.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lt.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_lv.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ms.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_nl.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_no.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pl.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_pt_PT.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ro.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_ru.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sh.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sk.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sl.properties +16 -8
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_sv.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_th.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_tr.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_uk.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_vi.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_CN.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/messagebundle_zh_TW.properties +14 -6
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper-dbg.js +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/MicroChartHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/BulletMicroChart.fragment.xml +2 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/microchart/fragments/ComparisonMicroChart.fragment.xml +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/resources.json +277 -209
- package/packages/sap.fe.macros/src/sap/fe/macros/table/Actions.fragment.xml +5 -16
- package/packages/sap.fe.macros/src/sap/fe/macros/table/ColumnContent.fragment.xml +17 -4
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper-dbg.js +0 -2
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime-dbg.js +27 -18
- package/packages/sap.fe.macros/src/sap/fe/macros/table/TableRuntime.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate-dbg.js +196 -139
- package/packages/sap.fe.macros/src/sap/fe/macros/table/delegates/TableDelegate.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper-dbg.js +12 -14
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +1 -1
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime-dbg.js +13 -15
- package/packages/sap.fe.macros/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/api.json +113 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartDelegate.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.js +32 -20
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ChartMacro.spec.ts +24 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.js +15 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CollectionField.spec.ts +18 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonHelper.spec.js +69 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonHelper.spec.ts +32 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.js +6 -180
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/DatapointMacro.spec.ts +6 -177
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FieldMacroWithSemanticKey.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterField.spec.ts +1 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterFieldHelper.spec.js +51 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterFieldHelper.spec.ts +48 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FilterUtils.spec.js +133 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormContainerAPI.spec.js +34 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormContainerAPI.spec.ts +23 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormMacro.spec.js +49 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/FormMacro.spec.ts +41 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroAPI.spec.js +105 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroAPI.spec.ts +53 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MacroComponent.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.js +15 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/MicroChart.spec.ts +13 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/PhantomUtil.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.js +2 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/QuickViewForm.spec.ts +3 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.js +14 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/SimpleFieldMacro.spec.ts +18 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/Table.spec.js +140 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/Table.spec.ts +144 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.js +445 -635
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableAPI.spec.ts +528 -719
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.js +83 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableMacro.spec.ts +101 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/ValueHelpMacro.spec.ts +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/ChartMacro.spec.ts.snap +75 -7
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/CollectionField.spec.ts.snap +26 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/DatapointMacro.spec.ts.snap +42 -304
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FieldMacroDataFieldTypes.spec.ts.snap +6 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterBarMacro.spec.ts.snap +12 -12
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FilterField.spec.ts.snap +3 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/FormMacro.spec.ts.snap +150 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/KPITag.spec.ts.snap +4 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/MicroChart.spec.ts.snap +39 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/QuickViewForm.spec.ts.snap +4 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/SimpleFieldMacro.spec.ts.snap +125 -51
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/Table.spec.ts.snap +1455 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Chart.cds +56 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/FieldMacroDataFieldTypes.cds +12 -59
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Form.cds +129 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/MicroChart.cds +14 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/Table.cds +55 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/data/simpleFieldMacro.cds +10 -4
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.js +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldRuntime.spec.ts +15 -8
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.js +12 -34
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/field/FieldTemplating.spec.ts +21 -38
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/Actions.spec.ts +2 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/__snapshots__/columnWidth.spec.ts.snap +54 -14
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.js +17 -7
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/columnWidth.spec.ts +18 -11
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/data/columnWidth.cds +26 -3
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.js +145 -17
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/TableDelegate.spec.ts +176 -18
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/__snapshots__/TableDelegate.spec.ts.snap +813 -111
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/table/delegates/data/tabledelegate.cds +9 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelper.qunit.js +0 -56
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FieldHelperTemplate.qunit.js +0 -321
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormContainerTemplating.qunit.js +1 -0
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplating.qunit.js +10 -5
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/FormTemplatingTs.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/MicroChartHelperForTemplate.qunit.js +1 -2
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/TableRuntime.qunit.js +1 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/qunit/macros/ValueListHelper.qunit.js +130 -1
- package/packages/sap.fe.macros/test/sap/fe/macros/relnotes/changes-1.99.json +343 -0
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.library +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/.theming +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler-dbg.js +0 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/NavigationHandler.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-dbg.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-h2-preload.js +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js +3 -3
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library-preload.js.map +2 -2
- package/packages/sap.fe.navigation/src/sap/fe/navigation/library.js +1 -1
- package/packages/sap.fe.navigation/src/sap/fe/navigation/manifest.json +3 -3
- package/packages/sap.fe.navigation/src/sap/fe/navigation/resources.json +4 -4
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.navigation/test/sap/fe/navigation/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.library +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/.theming +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-dbg.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-h2-preload.js +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library-preload.js +2 -2
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/library.js +1 -1
- package/packages/sap.fe.placeholder/src/sap/fe/placeholder/manifest.json +3 -3
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/api.json +1 -1
- package/packages/sap.fe.placeholder/test/sap/fe/placeholder/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.library +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/.theming +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/AnalyticalListPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListComponent.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component-dbg.js +8 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI-dbg.js +8 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ExtensionAPI.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReport.view.xml +11 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController-dbg.controller.js +114 -29
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/ListReportController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation-dbg.js +10 -10
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/IntentBasedNavigation.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share-dbg.js +7 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/Share.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState-dbg.js +75 -53
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/ViewState.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/resources.json +14 -23
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/view/fragments/CollectionVisualization.fragment.xml +8 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper-dbg.js +3 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/AnnotationHelper.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/Component.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPage.view.xml +8 -45
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController-dbg.controller.js +17 -67
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/manifest.json +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/resources.json +24 -12
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/templating/ObjectPageTemplating.ts +2 -2
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/FooterContent.fragment.xml +5 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/Heading.fragment.xml +33 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeadingAvatar.fragment.xml +17 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/HeadingTitle.fragment.xml +18 -0
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionFormContent.fragment.xml +3 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/ObjectPage/view/fragments/SectionMoreFormContent.fragment.xml +3 -3
- package/packages/sap.fe.templates/src/sap/fe/templates/library-dbg.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js +7 -5
- package/packages/sap.fe.templates/src/sap/fe/templates/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js +24 -22
- package/packages/sap.fe.templates/src/sap/fe/templates/library-preload.js.map +4 -4
- package/packages/sap.fe.templates/src/sap/fe/templates/library.js +1 -1
- package/packages/sap.fe.templates/src/sap/fe/templates/manifest.json +13 -13
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle.properties +14 -30
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ar.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_bg.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ca.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cs.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_cy.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_da.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_de.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_el.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_GB.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_sappsd.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saprigi.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_es_MX.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_et.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fi.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_fr_CA.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hi.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hr.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_hu.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_id.properties +26 -8
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_it.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_iw.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ja.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_kk.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ko.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lt.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_lv.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ms.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_nl.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_no.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pl.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt.properties +27 -9
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_pt_PT.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ro.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_ru.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sh.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sk.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sl.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_sv.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_th.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_tr.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_uk.properties +25 -7
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_vi.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_CN.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/messagebundle_zh_TW.properties +24 -6
- package/packages/sap.fe.templates/src/sap/fe/templates/resources.json +127 -113
- package/packages/sap.fe.templates/test/sap/fe/templates/demokit/apps/itelo/webapp/manifest.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/IntentBasedNavigation.spec.js +59 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/IntentBasedNavigation.spec.ts +54 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/Share.spec.js +85 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/Share.spec.ts +89 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.js +482 -259
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ListReport/overrides/ViewState.spec.ts +442 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/AnnotationHelper.spec.js +99 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/AnnotationHelper.spec.ts +82 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Heading.spec.js +50 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/Heading.spec.ts +32 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/Heading.spec.ts.snap +43 -0
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/ObjectPage/view/fragments/__snapshots__/Sections.spec.ts.snap +9 -7
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.js +2 -2
- package/packages/sap.fe.templates/test/sap/fe/templates/jest/RootContainer/RootContainerBaseController.spec.ts +4 -3
- package/packages/sap.fe.templates/test/sap/fe/templates/relnotes/changes-1.99.json +335 -0
- package/packages/sap.fe.test/src/sap/fe/test/.library +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/.theming +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/FeMocks-dbg.js +66 -0
- package/packages/sap.fe.test/src/sap/fe/test/FeMocks.js +5 -0
- package/packages/sap.fe.test/src/sap/fe/test/FeMocks.ts +77 -0
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper-dbg.js +78 -22
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/JestTemplatingHelper.ts +66 -22
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage-dbg.js +6 -4
- package/packages/sap.fe.test/src/sap/fe/test/ObjectPage.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper-dbg.js +44 -21
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/UI5MockHelper.ts +28 -8
- package/packages/sap.fe.test/src/sap/fe/test/api/BaseAPI-dbg.js +1 -0
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI-dbg.js +14 -2
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogAPI.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogCreateAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions-dbg.js +16 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogMessageAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/DialogValueHelpAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions-dbg.js +0 -19
- package/packages/sap.fe.test/src/sap/fe/test/api/TableActions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions-dbg.js +3 -4
- package/packages/sap.fe.test/src/sap/fe/test/api/TableAssertions.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder-dbg.js +4 -0
- package/packages/sap.fe.test/src/sap/fe/test/builder/MdcTableBuilder.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner-dbg.js +6 -3
- package/packages/sap.fe.test/src/sap/fe/test/internal/FEJourneyRunner.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-dbg.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js +3 -2
- package/packages/sap.fe.test/src/sap/fe/test/library-h2-preload.js.map +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js +39 -20
- package/packages/sap.fe.test/src/sap/fe/test/library-preload.js.map +4 -4
- package/packages/sap.fe.test/src/sap/fe/test/library.js +1 -1
- package/packages/sap.fe.test/src/sap/fe/test/manifest.json +3 -3
- package/packages/sap.fe.test/src/sap/fe/test/resources.json +65 -28
- package/packages/sap.fe.test/test/sap/fe/test/designtime/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/apiref/api.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.jsmeta.json +1 -1
- package/packages/sap.fe.test/test/sap/fe/test/designtime/codeassistance/Library.xmlmeta.json +1 -1
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.js +0 -115
- package/packages/sap.fe.core/test/sap/fe/core/jest/controllerextensions/MessageHandling.spec.ts +0 -95
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/ExcelFormatHelper.qunit.js +0 -19
- package/packages/sap.fe.core/test/sap/fe/core/qunit/helpers/StableIdHelper.qunit.js +0 -301
- package/packages/sap.fe.core/test/sap/fe/core/qunit/services/CacheHandlerTest.qunit.js +0 -924
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime-dbg.js +0 -46
- package/packages/sap.fe.macros/src/sap/fe/macros/formcontainer/FormContainerRuntime.js +0 -6
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.js +0 -94
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/CommonUtils.spec.ts +0 -70
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.js +0 -68
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/TableFieldLabel.spec.ts +0 -65
- package/packages/sap.fe.macros/test/sap/fe/macros/jest/__snapshots__/TableFieldLabel.spec.ts.snap +0 -607
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit-dbg.js +0 -96
- package/packages/sap.fe.templates/src/sap/fe/templates/ListReport/overrides/MassEdit.js +0 -6
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import Log from "sap/base/Log";
|
|
2
|
+
import MessageBox from "sap/m/MessageBox";
|
|
3
|
+
import Control from "sap/ui/core/Control";
|
|
4
4
|
|
|
5
5
|
import { FieldRuntime } from "sap/fe/macros/field";
|
|
6
6
|
import { ResourceModel, DelegateUtil } from "sap/fe/macros";
|
|
7
|
-
import
|
|
8
|
-
import
|
|
7
|
+
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
8
|
+
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
9
9
|
import { MockUI5Element, MockEvent, mockMVC } from "sap/fe/test/UI5MockHelper";
|
|
10
|
-
import
|
|
10
|
+
import ODataModel from "sap/ui/model/odata/v4/ODataModel";
|
|
11
|
+
import BusyLocker from "sap/fe/core/BusyLocker";
|
|
11
12
|
|
|
12
13
|
describe("FieldRuntime", () => {
|
|
13
14
|
const messageBoxErrorMock = jest.fn();
|
|
@@ -156,7 +157,7 @@ describe("FieldRuntime", () => {
|
|
|
156
157
|
reject: jest.fn(() => false)
|
|
157
158
|
}
|
|
158
159
|
};
|
|
159
|
-
FieldRuntime.uploadPromises = fieldRuntimeUploadPromisesMock;
|
|
160
|
+
(FieldRuntime as any).uploadPromises = fieldRuntimeUploadPromisesMock;
|
|
160
161
|
});
|
|
161
162
|
|
|
162
163
|
beforeAll(() => {
|
|
@@ -313,7 +314,13 @@ describe("FieldRuntime", () => {
|
|
|
313
314
|
describe("removeStream", () => {
|
|
314
315
|
const source = new MockUI5Element();
|
|
315
316
|
source.getParent.mockReturnValue({
|
|
316
|
-
getItems: jest.fn(() => [
|
|
317
|
+
getItems: jest.fn(() => [
|
|
318
|
+
{ isA: jest.fn(() => false) },
|
|
319
|
+
{
|
|
320
|
+
isA: jest.fn(() => true)
|
|
321
|
+
},
|
|
322
|
+
{ isA: jest.fn(() => false) }
|
|
323
|
+
])
|
|
317
324
|
});
|
|
318
325
|
const mockEvent = new MockEvent({}, source);
|
|
319
326
|
|
|
@@ -18,7 +18,6 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
18
18
|
var isUsedInNavigationWithQuickViewFacets = FieldTemplating.isUsedInNavigationWithQuickViewFacets;
|
|
19
19
|
var getSemanticObjects = FieldTemplating.getSemanticObjects;
|
|
20
20
|
var getSemanticObjectExpressionToResolve = FieldTemplating.getSemanticObjectExpressionToResolve;
|
|
21
|
-
var getDataPointStyle = FieldTemplating.getDataPointStyle;
|
|
22
21
|
var getDisplayStyle = FieldTemplating.getDisplayStyle;
|
|
23
22
|
var getValueBinding = FieldTemplating.getValueBinding;
|
|
24
23
|
var getVisibleExpression = FieldTemplating.getVisibleExpression;
|
|
@@ -82,11 +81,11 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
82
81
|
var emailSimpleBinding = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["emailBinding"]), {});
|
|
83
82
|
expect(emailSimpleBinding).toEqual("{path: 'emailBinding', type: 'sap.fe.core.type.Email'}");
|
|
84
83
|
var unitWithCurrencyBindingSimpleBinding = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["UnitWithCurrencyBinding"]), {});
|
|
85
|
-
expect(unitWithCurrencyBindingSimpleBinding).
|
|
84
|
+
expect(unitWithCurrencyBindingSimpleBinding).toMatchInlineSnapshot("\"{mode:'TwoWay', parts:[{path: 'UnitWithCurrencyBinding', type: 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}},{path: 'currency', type: 'sap.ui.model.odata.type.String', formatOptions: {parseKeepsEmptyString: true}},{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency', formatOptions: {parseAsString: false, emptyString: '', showMeasure: false}}\"");
|
|
86
85
|
var unitWithCurrencyBindingIgnoreUnit = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["UnitWithCurrencyBinding"]), {}, true);
|
|
87
86
|
expect(unitWithCurrencyBindingIgnoreUnit).toEqual("{path: 'UnitWithCurrencyBinding', type: 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}}");
|
|
88
87
|
var unitWithCurrencyDescriptionBinding = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["UnitWithCurrencyBinding"]), {}, false, false, undefined, true, true);
|
|
89
|
-
expect(unitWithCurrencyDescriptionBinding).
|
|
88
|
+
expect(unitWithCurrencyDescriptionBinding).toMatchInlineSnapshot("\"{mode:'TwoWay', parts:[{path: 'UnitWithCurrencyBinding', type: 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}},{path: 'currency', type: 'sap.ui.model.odata.type.String', formatOptions: {parseKeepsEmptyString: true}},{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency', formatOptions: {parseAsString: false, emptyString: '', showNumber: false}}\"");
|
|
90
89
|
});
|
|
91
90
|
it("#getDisplayStyle", {
|
|
92
91
|
"references": [{
|
|
@@ -98,17 +97,20 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
98
97
|
|
|
99
98
|
var entitySetLineItem = (_entitySet$entityType = entitySet.entityType.annotations.UI) === null || _entitySet$entityType === void 0 ? void 0 : _entitySet$entityType.LineItem;
|
|
100
99
|
var dataModelObjectPathForProperty = getDataModelObjectPathForProperty(entitySet, entitySetLineItem[1]);
|
|
101
|
-
var semanticObject = "";
|
|
102
100
|
var formatOptions = {
|
|
103
101
|
valueFormat: "DescriptionValue",
|
|
104
102
|
textAlignMode: "Form",
|
|
105
|
-
retrieveTextFromValueList:
|
|
103
|
+
retrieveTextFromValueList: false
|
|
106
104
|
};
|
|
107
|
-
var dataFieldConverted = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["propertyNoTextWithVH"]), {});
|
|
108
|
-
var displayStyle = getDisplayStyle(properties["propertyNoTextWithVH"], dataFieldConverted, dataModelObjectPathForProperty, formatOptions, semanticObject); // Fallback feature for retrieve the text annotation from the value lists:
|
|
109
|
-
// Property has value help, no Text annotation, has display format, used in Form and manifest-switch retrieveTextFromValueList is on
|
|
105
|
+
var dataFieldConverted = getValueBinding(getDataModelObjectPathForProperty(entitySet, properties["propertyNoTextWithVH"]), {}); // displayStyle "LinkWithQuickViewForm"
|
|
110
106
|
|
|
111
|
-
|
|
107
|
+
var semanticObject = "semanticObject";
|
|
108
|
+
var displayStyleLink = getDisplayStyle(properties["propertyNoTextWithVH"], dataFieldConverted, dataModelObjectPathForProperty, formatOptions, semanticObject);
|
|
109
|
+
expect(displayStyleLink).toEqual("LinkWithQuickViewForm"); // displayStyle "Text"
|
|
110
|
+
|
|
111
|
+
var noSemanticObject = "";
|
|
112
|
+
var displayStyleText = getDisplayStyle(properties["propertyNoTextWithVH"], dataFieldConverted, dataModelObjectPathForProperty, formatOptions, noSemanticObject);
|
|
113
|
+
expect(displayStyleText).toEqual("Text");
|
|
112
114
|
});
|
|
113
115
|
it("#getBindingWithTextArrangement", function () {
|
|
114
116
|
// Cases to consider
|
|
@@ -239,30 +241,6 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
239
241
|
);
|
|
240
242
|
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("true");
|
|
241
243
|
});
|
|
242
|
-
it("getDataPointStyle with datapoint having Visualization", function () {
|
|
243
|
-
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
244
|
-
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/0/Target/$AnnotationPath/");
|
|
245
|
-
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
246
|
-
expect(getDataPointStyle(oDataModelPath)).toEqual(undefined);
|
|
247
|
-
});
|
|
248
|
-
it("getDataPointStyle with datapoint having QuickViewFacets", function () {
|
|
249
|
-
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
250
|
-
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/2/Target/$AnnotationPath/");
|
|
251
|
-
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
252
|
-
expect(getDataPointStyle(oDataModelPath)).toEqual("LinkWithQuickViewForm");
|
|
253
|
-
});
|
|
254
|
-
it("getDataPointStyle with datapoint having SemanticObjects", function () {
|
|
255
|
-
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
256
|
-
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/1/Target/$AnnotationPath/");
|
|
257
|
-
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
258
|
-
expect(getDataPointStyle(oDataModelPath)).toEqual("LinkWrapper");
|
|
259
|
-
});
|
|
260
|
-
it("getDataPointStyle with datapoint not having Visualization, Quick View Facets, SemanticObjects", function () {
|
|
261
|
-
var oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
262
|
-
var oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/3/Target/$AnnotationPath/");
|
|
263
|
-
var oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
264
|
-
expect(getDataPointStyle(oDataModelPath)).toEqual(undefined);
|
|
265
|
-
});
|
|
266
244
|
it("getSemanticObjectExpressionToResolve with annotations", function () {
|
|
267
245
|
var oAnnotations = {
|
|
268
246
|
Label: "Semantic Object Property",
|
|
@@ -310,4 +288,4 @@ sap.ui.define(["sap/fe/macros/field/FieldTemplating", "sap/fe/core/templating/UI
|
|
|
310
288
|
});
|
|
311
289
|
});
|
|
312
290
|
}, false);
|
|
313
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkVGVtcGxhdGluZy5zcGVjLnRzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiY29udmVydGVkVHlwZXMiLCJtZXRhTW9kZWwiLCJlbnRpdHlTZXQiLCJlbnRpdHlUeXBlIiwicHJvcGVydGllcyIsImJlZm9yZUFsbCIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsImdldE1ldGFNb2RlbCIsImNvbnZlcnRUeXBlcyIsIm1heWJlRW50aXR5U2V0IiwiZW50aXR5U2V0cyIsImZpbmQiLCJldCIsIm5hbWUiLCJlbnRpdHlQcm9wZXJ0aWVzIiwiZm9yRWFjaCIsInByb3AiLCJFcnJvciIsImJlZm9yZUVhY2giLCJqZXN0IiwiY2xlYXJBbGxNb2NrcyIsIml0IiwidGV4dFNpbXBsZUJpbmRpbmciLCJnZXRWYWx1ZUJpbmRpbmciLCJnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkiLCJleHBlY3QiLCJ0b0VxdWFsIiwidGV4dERlbGV0ZUZvcm1hdHRlckJpbmRpbmciLCJ0ZXh0TWF4TGluZXMiLCJ0ZXh0QmluZGluZ1BhcmFtZXR0ZXIiLCIkJG5vUGF0Y2giLCJ0ZXh0VHlwZUFueSIsInVuZGVmaW5lZCIsImVtYWlsU2ltcGxlQmluZGluZyIsInVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nU2ltcGxlQmluZGluZyIsInVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nSWdub3JlVW5pdCIsInVuaXRXaXRoQ3VycmVuY3lEZXNjcmlwdGlvbkJpbmRpbmciLCJlbnRpdHlTZXRMaW5lSXRlbSIsImFubm90YXRpb25zIiwiVUkiLCJMaW5lSXRlbSIsImRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSIsInNlbWFudGljT2JqZWN0IiwiZm9ybWF0T3B0aW9ucyIsInZhbHVlRm9ybWF0IiwidGV4dEFsaWduTW9kZSIsInJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3QiLCJkYXRhRmllbGRDb252ZXJ0ZWQiLCJkaXNwbGF5U3R5bGUiLCJnZXREaXNwbGF5U3R5bGUiLCJ0ZXh0T25seUJpbmRpbmciLCJnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudCIsImJpbmRpbmdFeHByZXNzaW9uIiwidG9NYXRjaFNuYXBzaG90IiwiY29tcGlsZUJpbmRpbmciLCJ0b0NvbnRhaW4iLCJldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwiLCJ0YXJnZXRUZXh0Iiwibm9UZXh0QmluZGluZyIsIm5vVGV4dCIsInRleHRGaXJzdEJpbmRpbmciLCJ0ZXh0Rmlyc3QiLCJ0ZXh0TGFzdEJpbmRpbmciLCJ0ZXh0TGFzdCIsImZ1bGxDb250ZXh0Iiwib3RoZXJNb2RlbEJpbmRpbmciLCJhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uIiwibm90IiwiYWRkVGV4dExhc3RCaW5kaW5nIiwiY29tcGxleFRleHRCaW5kaW5nIiwiaWZFbHNlIiwibW9kZWxDb250ZW50IiwidGVzdFByb3AiLCJvUHJvcGVydHlUeXBlIiwiX3R5cGUiLCJ0eXBlIiwiZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbiIsImdldFZpc2libGVFeHByZXNzaW9uIiwiaXNBbmFseXRpY3MiLCJvQ29udGV4dFBhdGgiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsIm9NZXRhUGF0aCIsIm9EYXRhTW9kZWxQYXRoIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwiZ2V0RGF0YVBvaW50U3R5bGUiLCJvQW5ub3RhdGlvbnMiLCJMYWJlbCIsIlNlbWFudGljT2JqZWN0IiwiZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlIiwiYVNlbU9iakV4cHJUb1Jlc29sdmUiLCJrZXkiLCJ2YWx1ZSIsIm9TZW1hbnRpY09iamVjdENvbnRleHQiLCJnZXRTZW1hbnRpY09iamVjdHMiLCJnZXRPYmplY3QiLCJvUHJvcGVydHkiLCJ0YXJnZXRPYmplY3QiLCJWYWx1ZSIsIiR0YXJnZXQiLCJpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkFBLEVBQUFBLFFBQVEsQ0FBQywwQkFBRCxFQUE2QixZQUFNO0FBQzFDLFFBQUlDLGNBQUo7QUFDQSxRQUFJQyxTQUFKO0FBQ0EsUUFBSUMsU0FBSjtBQUNBLFFBQUlDLFVBQUo7QUFDQSxRQUFNQyxVQUFvQyxHQUFHLEVBQTdDO0FBQ0FDLElBQUFBLFNBQVM7QUFBQSxVQUFhO0FBQ3JCLFlBQU1DLFlBQVksR0FBR0MsVUFBVSxDQUFDQyxJQUFJLENBQUNDLElBQUwsQ0FBVUMsU0FBVixFQUFxQix1QkFBckIsQ0FBRCxDQUEvQjtBQURxQiwrQkFFSEMsWUFBWSxDQUFDTCxZQUFELENBRlQ7QUFFckJMLFVBQUFBLFNBQVMsZ0JBQVQ7QUFDQUQsVUFBQUEsY0FBYyxHQUFHWSxZQUFZLENBQUNYLFNBQUQsQ0FBN0I7QUFDQSxjQUFNWSxjQUFjLEdBQUdiLGNBQWMsQ0FBQ2MsVUFBZixDQUEwQkMsSUFBMUIsQ0FBK0IsVUFBQUMsRUFBRTtBQUFBLG1CQUFJQSxFQUFFLENBQUNDLElBQUgsS0FBWSxZQUFoQjtBQUFBLFdBQWpDLENBQXZCOztBQUpxQixjQUtqQkosY0FMaUI7QUFNcEJYLFlBQUFBLFNBQVMsR0FBR1csY0FBWjtBQUNBVixZQUFBQSxVQUFVLEdBQUdVLGNBQWMsQ0FBQ1YsVUFBNUI7QUFDQUEsWUFBQUEsVUFBVSxDQUFDZSxnQkFBWCxDQUE0QkMsT0FBNUIsQ0FBb0MsVUFBQUMsSUFBSSxFQUFJO0FBQzNDaEIsY0FBQUEsVUFBVSxDQUFDZ0IsSUFBSSxDQUFDSCxJQUFOLENBQVYsR0FBd0JHLElBQXhCO0FBQ0EsYUFGRDtBQVJvQjtBQVlwQixrQkFBTSxJQUFJQyxLQUFKLENBQVUscUJBQVYsQ0FBTjtBQVpvQjtBQUFBO0FBY3JCLE9BZFE7QUFBQTtBQUFBO0FBQUEsTUFBVDtBQWVBQyxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNoQkMsTUFBQUEsSUFBSSxDQUFDQyxhQUFMO0FBQ0EsS0FGUyxDQUFWO0FBSUFDLElBQUFBLEVBQUUsQ0FDRCxrQkFEQyxFQUVEO0FBQ0Msb0JBQWMsQ0FDYjtBQUNDLGdCQUFRLEtBRFQ7QUFFQyxjQUFNO0FBRlAsT0FEYTtBQURmLEtBRkMsRUFVRCxZQUFNO0FBQ0wsVUFBTUMsaUJBQWlCLEdBQUdDLGVBQWUsQ0FBQ0MsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyxhQUFELENBQXRCLENBQWxDLEVBQTBFLEVBQTFFLENBQXpDO0FBQ0F5QixNQUFBQSxNQUFNLENBQUNILGlCQUFELENBQU4sQ0FBMEJJLE9BQTFCLENBQ0MsNkdBREQ7QUFJQSxVQUFNQywwQkFBMEIsR0FBR0osZUFBZSxDQUNqREMsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyxhQUFELENBQXRCLENBRGdCLEVBRWpEO0FBQUU0QixRQUFBQSxZQUFZLEVBQUU7QUFBaEIsT0FGaUQsRUFHakQsSUFIaUQsRUFHM0M7QUFDTixVQUppRCxDQUFsRDtBQU1BSCxNQUFBQSxNQUFNLENBQUNFLDBCQUFELENBQU4sQ0FBbUNELE9BQW5DLENBQTJDLGVBQTNDO0FBRUEsVUFBTUcscUJBQXFCLEdBQUdOLGVBQWUsQ0FDNUNDLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMsYUFBRCxDQUF0QixDQURXLEVBRTVDO0FBQUU0QixRQUFBQSxZQUFZLEVBQUU7QUFBaEIsT0FGNEMsRUFHNUMsSUFINEMsRUFJNUMsSUFKNEMsRUFLNUM7QUFBRUUsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FMNEMsQ0FBN0M7QUFPQUwsTUFBQUEsTUFBTSxDQUFDSSxxQkFBRCxDQUFOLENBQThCSCxPQUE5QixDQUFzQyxzREFBdEM7QUFFQSxVQUFNSyxXQUFXLEdBQUdSLGVBQWUsQ0FDbENDLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMsYUFBRCxDQUF0QixDQURDLEVBRWxDLEVBRmtDLEVBR2xDLEtBSGtDLEVBSWxDLEtBSmtDLEVBS2xDZ0MsU0FMa0MsRUFNbEMsSUFOa0MsQ0FBbkM7QUFRQVAsTUFBQUEsTUFBTSxDQUFDTSxXQUFELENBQU4sQ0FBb0JMLE9BQXBCLENBQ0MsZ0lBREQ7QUFJQSxVQUFNTyxrQkFBa0IsR0FBR1YsZUFBZSxDQUFDQyxpQ0FBaUMsQ0FBQzFCLFNBQUQsRUFBWUUsVUFBVSxDQUFDLGNBQUQsQ0FBdEIsQ0FBbEMsRUFBMkUsRUFBM0UsQ0FBMUM7QUFDQXlCLE1BQUFBLE1BQU0sQ0FBQ1Esa0JBQUQsQ0FBTixDQUEyQlAsT0FBM0IsQ0FBbUMsd0RBQW5DO0FBRUEsVUFBTVEsb0NBQW9DLEdBQUdYLGVBQWUsQ0FDM0RDLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMseUJBQUQsQ0FBdEIsQ0FEMEIsRUFFM0QsRUFGMkQsQ0FBNUQ7QUFJQXlCLE1BQUFBLE1BQU0sQ0FBQ1Msb0NBQUQsQ0FBTixDQUE2Q1IsT0FBN0MsQ0FDQywyYkFERDtBQUlBLFVBQU1TLGlDQUFpQyxHQUFHWixlQUFlLENBQ3hEQyxpQ0FBaUMsQ0FBQzFCLFNBQUQsRUFBWUUsVUFBVSxDQUFDLHlCQUFELENBQXRCLENBRHVCLEVBRXhELEVBRndELEVBR3hELElBSHdELENBQXpEO0FBS0F5QixNQUFBQSxNQUFNLENBQUNVLGlDQUFELENBQU4sQ0FBMENULE9BQTFDLENBQ0Msa0lBREQ7QUFJQSxVQUFNVSxrQ0FBa0MsR0FBR2IsZUFBZSxDQUN6REMsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyx5QkFBRCxDQUF0QixDQUR3QixFQUV6RCxFQUZ5RCxFQUd6RCxLQUh5RCxFQUl6RCxLQUp5RCxFQUt6RGdDLFNBTHlELEVBTXpELElBTnlELEVBT3pELElBUHlELENBQTFEO0FBU0FQLE1BQUFBLE1BQU0sQ0FBQ1csa0NBQUQsQ0FBTixDQUEyQ1YsT0FBM0MsQ0FDQywwYkFERDtBQUdBLEtBN0VBLENBQUY7QUFnRkFMLElBQUFBLEVBQUUsQ0FDRCxrQkFEQyxFQUVEO0FBQ0Msb0JBQWMsQ0FDYjtBQUNDLGdCQUFRLE1BRFQ7QUFFQyxjQUFNO0FBRlAsT0FEYTtBQURmLEtBRkMsRUFVRCxZQUFNO0FBQUE7O0FBQ0wsVUFBTWdCLGlCQUFpQiw0QkFBR3ZDLFNBQVMsQ0FBQ0MsVUFBVixDQUFxQnVDLFdBQXJCLENBQWlDQyxFQUFwQywwREFBRyxzQkFBcUNDLFFBQS9EO0FBQ0EsVUFBTUMsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FBQzFCLFNBQUQsRUFBWXVDLGlCQUFpQixDQUFDLENBQUQsQ0FBN0IsQ0FBeEU7QUFDQSxVQUFNSyxjQUFzQixHQUFHLEVBQS9CO0FBQ0EsVUFBTUMsYUFBYSxHQUFHO0FBQ3JCQyxRQUFBQSxXQUFXLEVBQUUsa0JBRFE7QUFFckJDLFFBQUFBLGFBQWEsRUFBRSxNQUZNO0FBR3JCQyxRQUFBQSx5QkFBeUIsRUFBRTtBQUhOLE9BQXRCO0FBTUEsVUFBTUMsa0JBQWtCLEdBQUd4QixlQUFlLENBQ3pDQyxpQ0FBaUMsQ0FBQzFCLFNBQUQsRUFBWUUsVUFBVSxDQUFDLHNCQUFELENBQXRCLENBRFEsRUFFekMsRUFGeUMsQ0FBMUM7QUFJQSxVQUFNZ0QsWUFBWSxHQUFHQyxlQUFlLENBQ25DakQsVUFBVSxDQUFDLHNCQUFELENBRHlCLEVBRW5DK0Msa0JBRm1DLEVBR25DTiw4QkFIbUMsRUFJbkNFLGFBSm1DLEVBS25DRCxjQUxtQyxDQUFwQyxDQWRLLENBcUJMO0FBQ0E7O0FBQ0FqQixNQUFBQSxNQUFNLENBQUN1QixZQUFELENBQU4sQ0FBcUJ0QixPQUFyQixDQUE2Qix1QkFBN0I7QUFDQSxLQWxDQSxDQUFGO0FBcUNBTCxJQUFBQSxFQUFFLENBQUMsZ0NBQUQsRUFBbUMsWUFBTTtBQUMxQztBQUVBO0FBQ0EsVUFBTTZCLGVBQWUsR0FBR0MsNkJBQTZCLENBQ3BEM0IsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyxVQUFELENBQXRCLENBRG1CLEVBRXBEb0QsaUJBQWlCLENBQUMsVUFBRCxDQUZtQyxDQUFyRDtBQUlBM0IsTUFBQUEsTUFBTSxDQUFDeUIsZUFBRCxDQUFOLENBQXdCRyxlQUF4QjtBQUNBNUIsTUFBQUEsTUFBTSxDQUFDNkIsY0FBYyxDQUFDSixlQUFELENBQWYsQ0FBTixDQUF3Q0ssU0FBeEMsQ0FBa0QsWUFBbEQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQytCLHdCQUF3QixDQUFDRixjQUFjLENBQUNKLGVBQUQsQ0FBZixFQUFrQztBQUFFTyxRQUFBQSxVQUFVLEVBQUU7QUFBZCxPQUFsQyxDQUF6QixDQUFOLENBQTBGL0IsT0FBMUYsQ0FBa0csTUFBbEcsRUFWMEMsQ0FZMUM7O0FBQ0EsVUFBTWdDLGFBQWEsR0FBR1AsNkJBQTZCLENBQ2xEM0IsaUNBQWlDLENBQUMxQixTQUFELEVBQVlFLFVBQVUsQ0FBQyxRQUFELENBQXRCLENBRGlCLEVBRWxEb0QsaUJBQWlCLENBQUMsUUFBRCxDQUZpQyxDQUFuRDtBQUlBM0IsTUFBQUEsTUFBTSxDQUFDaUMsYUFBRCxDQUFOLENBQXNCTCxlQUF0QjtBQUNBNUIsTUFBQUEsTUFBTSxDQUFDNkIsY0FBYyxDQUFDSSxhQUFELENBQWYsQ0FBTixDQUFzQ0gsU0FBdEMsQ0FBZ0QsUUFBaEQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQytCLHdCQUF3QixDQUFDRixjQUFjLENBQUNJLGFBQUQsQ0FBZixFQUFnQztBQUFFQyxRQUFBQSxNQUFNLEVBQUU7QUFBVixPQUFoQyxDQUF6QixDQUFOLENBQW9GakMsT0FBcEYsQ0FBNEYsTUFBNUYsRUFuQjBDLENBcUIxQzs7QUFDQSxVQUFNa0MsZ0JBQWdCLEdBQUdULDZCQUE2QixDQUNyRDNCLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMsV0FBRCxDQUF0QixDQURvQixFQUVyRG9ELGlCQUFpQixDQUFDLFdBQUQsQ0FGb0MsQ0FBdEQ7QUFJQTNCLE1BQUFBLE1BQU0sQ0FBQ21DLGdCQUFELENBQU4sQ0FBeUJQLGVBQXpCO0FBQ0E1QixNQUFBQSxNQUFNLENBQUM2QixjQUFjLENBQUNNLGdCQUFELENBQWYsQ0FBTixDQUF5Q0wsU0FBekMsQ0FBbUQsV0FBbkQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ00sZ0JBQUQsQ0FBZixDQUFOLENBQXlDTCxTQUF6QyxDQUFtRCxZQUFuRDtBQUNBOUIsTUFBQUEsTUFBTSxDQUNMK0Isd0JBQXdCLENBQUNGLGNBQWMsQ0FBQ00sZ0JBQUQsQ0FBZixFQUFtQztBQUFFQyxRQUFBQSxTQUFTLEVBQUUsV0FBYjtBQUEwQkosUUFBQUEsVUFBVSxFQUFFO0FBQXRDLE9BQW5DLENBRG5CLENBQU4sQ0FFRS9CLE9BRkYsQ0FFVSw4QkFGVixFQTdCMEMsQ0FpQzFDOztBQUNBLFVBQU1vQyxlQUFlLEdBQUdYLDZCQUE2QixDQUNwRDNCLGlDQUFpQyxDQUFDMUIsU0FBRCxFQUFZRSxVQUFVLENBQUMsVUFBRCxDQUF0QixDQURtQixFQUVwRG9ELGlCQUFpQixDQUFDLFVBQUQsQ0FGbUMsQ0FBckQ7QUFJQTNCLE1BQUFBLE1BQU0sQ0FBQ3FDLGVBQUQsQ0FBTixDQUF3QlQsZUFBeEI7QUFDQTVCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ1EsZUFBRCxDQUFmLENBQU4sQ0FBd0NQLFNBQXhDLENBQWtELFVBQWxEO0FBQ0E5QixNQUFBQSxNQUFNLENBQUM2QixjQUFjLENBQUNRLGVBQUQsQ0FBZixDQUFOLENBQXdDUCxTQUF4QyxDQUFrRCxZQUFsRDtBQUNBOUIsTUFBQUEsTUFBTSxDQUNMK0Isd0JBQXdCLENBQUNGLGNBQWMsQ0FBQ1EsZUFBRCxDQUFmLEVBQWtDO0FBQUVDLFFBQUFBLFFBQVEsRUFBRSxZQUFaO0FBQTBCTixRQUFBQSxVQUFVLEVBQUU7QUFBdEMsT0FBbEMsQ0FEbkIsQ0FBTixDQUVFL0IsT0FGRixDQUVVLCtCQUZWO0FBR0EsS0E1Q0MsQ0FBRjtBQThDQUwsSUFBQUEsRUFBRSxDQUFDLHdDQUFELEVBQTJDLFlBQU07QUFDbEQsVUFBTTJDLFdBQVcsR0FBR3hDLGlDQUFpQyxDQUFDMUIsU0FBRCxDQUFyRDtBQUVBLFVBQU1tRSxpQkFBaUIsR0FBR0MscUNBQXFDLENBQUNkLGlCQUFpQixDQUFDLFVBQUQsRUFBYSxZQUFiLENBQWxCLEVBQThDWSxXQUE5QyxDQUEvRDtBQUNBdkMsTUFBQUEsTUFBTSxDQUFDd0MsaUJBQUQsQ0FBTixDQUEwQlosZUFBMUI7QUFDQTVCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ1csaUJBQUQsQ0FBZixDQUFOLENBQTBDVixTQUExQyxDQUFvRCxVQUFwRDtBQUNBOUIsTUFBQUEsTUFBTSxDQUFDNkIsY0FBYyxDQUFDVyxpQkFBRCxDQUFmLENBQU4sQ0FBMENFLEdBQTFDLENBQThDWixTQUE5QyxDQUF3RCxZQUF4RDtBQUVBLFVBQU1hLGtCQUFrQixHQUFHRixxQ0FBcUMsQ0FBQ2QsaUJBQWlCLENBQUMsVUFBRCxDQUFsQixFQUFnQ1ksV0FBaEMsQ0FBaEU7QUFDQXZDLE1BQUFBLE1BQU0sQ0FBQzJDLGtCQUFELENBQU4sQ0FBMkJmLGVBQTNCO0FBQ0E1QixNQUFBQSxNQUFNLENBQUM2QixjQUFjLENBQUNjLGtCQUFELENBQWYsQ0FBTixDQUEyQ2IsU0FBM0MsQ0FBcUQsVUFBckQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ2Msa0JBQUQsQ0FBZixDQUFOLENBQTJDYixTQUEzQyxDQUFxRCxZQUFyRDtBQUNBOUIsTUFBQUEsTUFBTSxDQUNMK0Isd0JBQXdCLENBQUNGLGNBQWMsQ0FBQ2Msa0JBQUQsQ0FBZixFQUFxQztBQUFFTCxRQUFBQSxRQUFRLEVBQUUsWUFBWjtBQUEwQk4sUUFBQUEsVUFBVSxFQUFFO0FBQXRDLE9BQXJDLENBRG5CLENBQU4sQ0FFRS9CLE9BRkYsQ0FFVSwrQkFGVjtBQUlBLFVBQU0yQyxrQkFBa0IsR0FBR0gscUNBQXFDLENBQy9ESSxNQUFNLENBQUNsQixpQkFBaUIsQ0FBQyxVQUFELENBQWxCLEVBQWdDQSxpQkFBaUIsQ0FBQyxVQUFELENBQWpELEVBQStEQSxpQkFBaUIsQ0FBQyxRQUFELENBQWhGLENBRHlELEVBRS9EWSxXQUYrRCxDQUFoRTtBQUlBdkMsTUFBQUEsTUFBTSxDQUFDNEMsa0JBQUQsQ0FBTixDQUEyQmhCLGVBQTNCO0FBQ0E1QixNQUFBQSxNQUFNLENBQUM2QixjQUFjLENBQUNlLGtCQUFELENBQWYsQ0FBTixDQUEyQ2QsU0FBM0MsQ0FBcUQsVUFBckQ7QUFDQTlCLE1BQUFBLE1BQU0sQ0FBQzZCLGNBQWMsQ0FBQ2Usa0JBQUQsQ0FBZixDQUFOLENBQTJDZCxTQUEzQyxDQUFxRCxZQUFyRDtBQUNBLFVBQU1nQixZQUFZLEdBQUc7QUFDcEJDLFFBQUFBLFFBQVEsRUFBRSxJQURVO0FBRXBCVCxRQUFBQSxRQUFRLEVBQUUsWUFGVTtBQUdwQk4sUUFBQUEsVUFBVSxFQUFFLGtCQUhRO0FBSXBCRSxRQUFBQSxNQUFNLEVBQUU7QUFKWSxPQUFyQjtBQU1BbEMsTUFBQUEsTUFBTSxDQUFDK0Isd0JBQXdCLENBQUNGLGNBQWMsQ0FBQ2Usa0JBQUQsQ0FBZixFQUFxQ0UsWUFBckMsQ0FBekIsQ0FBTixDQUFtRjdDLE9BQW5GLENBQTJGLCtCQUEzRjtBQUVBNkMsTUFBQUEsWUFBWSxDQUFDQyxRQUFiLEdBQXdCLEtBQXhCO0FBQ0EvQyxNQUFBQSxNQUFNLENBQUMrQix3QkFBd0IsQ0FBQ0YsY0FBYyxDQUFDZSxrQkFBRCxDQUFmLEVBQXFDRSxZQUFyQyxDQUF6QixDQUFOLENBQW1GN0MsT0FBbkYsQ0FBMkYsVUFBM0Y7QUFDQSxLQWpDQyxDQUFGO0FBbUNBTCxJQUFBQSxFQUFFLENBQUMsNkJBQUQsRUFBZ0MsWUFBTTtBQUN2QyxVQUFNb0QsYUFBYSxHQUFHO0FBQUVDLFFBQUFBLEtBQUssRUFBRSxVQUFUO0FBQXFCQyxRQUFBQSxJQUFJLEVBQUU7QUFBM0IsT0FBdEI7QUFDQSxhQUFPbEQsTUFBTSxDQUFDNkIsY0FBYyxDQUFDc0IseUJBQXlCLENBQUNILGFBQUQsRUFBZ0JyQixpQkFBaUIsQ0FBQyxPQUFELENBQWpDLENBQTFCLENBQWYsQ0FBTixDQUE2RjFCLE9BQTdGLENBQ04sZ0hBRE0sQ0FBUDtBQUdBLEtBTEMsQ0FBRjtBQU9BTCxJQUFBQSxFQUFFLENBQ0QsNEJBREMsRUFFRDtBQUNDLG9CQUFjLENBQ2I7QUFDQyxnQkFBUSxLQURUO0FBRUMsY0FBTTtBQUZQLE9BRGE7QUFEZixLQUZDLEVBVUQsWUFBTTtBQUNMLFVBQU1vRCxhQUFhLEdBQUc7QUFBRUMsUUFBQUEsS0FBSyxFQUFFLFVBQVQ7QUFBcUJDLFFBQUFBLElBQUksRUFBRTtBQUEzQixPQUF0QjtBQUNBLGFBQU9sRCxNQUFNLENBQUM2QixjQUFjLENBQUNzQix5QkFBeUIsQ0FBQ0gsYUFBRCxFQUFnQnJCLGlCQUFpQixDQUFDLE9BQUQsQ0FBakMsQ0FBMUIsQ0FBZixDQUFOLENBQTZGMUIsT0FBN0YsQ0FDTixpSEFETSxDQUFQO0FBR0EsS0FmQSxDQUFGO0FBa0JBTCxJQUFBQSxFQUFFLENBQUMsdURBQUQsRUFBMEQsWUFBTTtBQUFBOztBQUNqRSxVQUFNZ0IsaUJBQWlCLDZCQUFHdkMsU0FBUyxDQUFDQyxVQUFWLENBQXFCdUMsV0FBckIsQ0FBaUNDLEVBQXBDLDJEQUFHLHVCQUFxQ0MsUUFBL0Q7QUFDQSxVQUFJQyw4QkFBOEIsR0FBR2pCLGlDQUFpQyxDQUNyRTFCLFNBRHFFLEVBRXJFdUMsaUJBQWlCLENBQUMsQ0FBRCxDQUZvRCxDQUUvQjtBQUYrQixPQUF0RTtBQUlBWixNQUFBQSxNQUFNLENBQUNvRCxvQkFBb0IsQ0FBQ3BDLDhCQUFELENBQXJCLENBQU4sQ0FBNkRmLE9BQTdELENBQXFFLE9BQXJFO0FBQ0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxDQUFELENBRmdELENBRTNCO0FBRjJCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsMEJBQXJFO0FBQ0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxDQUFELENBRmdELENBRTNCO0FBRjJCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsT0FBckU7QUFDQWUsTUFBQUEsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FDakUxQixTQURpRSxFQUVqRXVDLGlCQUFpQixDQUFDLENBQUQsQ0FGZ0QsQ0FFM0I7QUFGMkIsT0FBbEU7QUFJQVosTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxDQUFyQixDQUFOLENBQTZEZixPQUE3RCxDQUFxRSwwQkFBckU7QUFDQWUsTUFBQUEsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FDakUxQixTQURpRSxFQUVqRXVDLGlCQUFpQixDQUFDLENBQUQsQ0FGZ0QsQ0FFM0I7QUFGMkIsT0FBbEU7QUFJQVosTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxDQUFyQixDQUFOLENBQTZEZixPQUE3RCxDQUFxRSxtREFBckU7QUFDQUQsTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxFQUFpQztBQUFFcUMsUUFBQUEsV0FBVyxFQUFFO0FBQWYsT0FBakMsQ0FBckIsQ0FBTixDQUEwR3BELE9BQTFHLENBQ0MsdUhBREQ7QUFHQWUsTUFBQUEsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FDakUxQixTQURpRSxFQUVqRXVDLGlCQUFpQixDQUFDLENBQUQsQ0FGZ0QsQ0FFM0I7QUFGMkIsT0FBbEU7QUFJQVosTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxDQUFyQixDQUFOLENBQTZEZixPQUE3RCxDQUNDLGdFQUREO0FBR0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxDQUFELENBRmdELENBRTNCO0FBRjJCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsNkRBQXJFO0FBQ0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxDQUFELENBRmdELENBRTNCO0FBRjJCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsTUFBckU7QUFDQWUsTUFBQUEsOEJBQThCLEdBQUdqQixpQ0FBaUMsQ0FDakUxQixTQURpRSxFQUVqRXVDLGlCQUFpQixDQUFDLENBQUQsQ0FGZ0QsQ0FFM0I7QUFGMkIsT0FBbEU7QUFJQVosTUFBQUEsTUFBTSxDQUFDb0Qsb0JBQW9CLENBQUNwQyw4QkFBRCxDQUFyQixDQUFOLENBQTZEZixPQUE3RCxDQUFxRSxNQUFyRTtBQUNBRCxNQUFBQSxNQUFNLENBQUNvRCxvQkFBb0IsQ0FBQ3BDLDhCQUFELEVBQWlDO0FBQUVxQyxRQUFBQSxXQUFXLEVBQUU7QUFBZixPQUFqQyxDQUFyQixDQUFOLENBQTBHcEQsT0FBMUcsQ0FDQyxvRUFERDtBQUdBZSxNQUFBQSw4QkFBOEIsR0FBR2pCLGlDQUFpQyxDQUNqRTFCLFNBRGlFLEVBRWpFdUMsaUJBQWlCLENBQUMsRUFBRCxDQUZnRCxDQUUxQjtBQUYwQixPQUFsRTtBQUlBWixNQUFBQSxNQUFNLENBQUNvRCxvQkFBb0IsQ0FBQ3BDLDhCQUFELENBQXJCLENBQU4sQ0FBNkRmLE9BQTdELENBQXFFLDBCQUFyRTtBQUNBZSxNQUFBQSw4QkFBOEIsR0FBR2pCLGlDQUFpQyxDQUNqRTFCLFNBRGlFLEVBRWpFdUMsaUJBQWlCLENBQUMsRUFBRCxDQUZnRCxDQUUxQjtBQUYwQixPQUFsRTtBQUlBWixNQUFBQSxNQUFNLENBQUNvRCxvQkFBb0IsQ0FBQ3BDLDhCQUFELENBQXJCLENBQU4sQ0FBNkRmLE9BQTdELENBQXFFLE1BQXJFO0FBQ0FlLE1BQUFBLDhCQUE4QixHQUFHakIsaUNBQWlDLENBQ2pFMUIsU0FEaUUsRUFFakV1QyxpQkFBaUIsQ0FBQyxFQUFELENBRmdELENBRTFCO0FBRjBCLE9BQWxFO0FBSUFaLE1BQUFBLE1BQU0sQ0FBQ29ELG9CQUFvQixDQUFDcEMsOEJBQUQsQ0FBckIsQ0FBTixDQUE2RGYsT0FBN0QsQ0FBcUUsTUFBckU7QUFDQSxLQXRFQyxDQUFGO0FBd0VBTCxJQUFBQSxFQUFFLENBQUMsdURBQUQsRUFBMEQsWUFBTTtBQUNqRSxVQUFNMEQsWUFBWSxHQUFHbEYsU0FBUyxDQUFDbUYsb0JBQVYsQ0FBK0IsYUFBL0IsQ0FBckI7QUFDQSxVQUFNQyxTQUFTLEdBQUdwRixTQUFTLENBQUNtRixvQkFBVixDQUErQixnRkFBL0IsQ0FBbEI7QUFDQSxVQUFNRSxjQUFjLEdBQUdDLDJCQUEyQixDQUFDRixTQUFELEVBQVlGLFlBQVosQ0FBbEQ7QUFDQXRELE1BQUFBLE1BQU0sQ0FBQzJELGlCQUFpQixDQUFDRixjQUFELENBQWxCLENBQU4sQ0FBMEN4RCxPQUExQyxDQUFrRE0sU0FBbEQ7QUFDQSxLQUxDLENBQUY7QUFNQVgsSUFBQUEsRUFBRSxDQUFDLHlEQUFELEVBQTRELFlBQU07QUFDbkUsVUFBTTBELFlBQVksR0FBR2xGLFNBQVMsQ0FBQ21GLG9CQUFWLENBQStCLGFBQS9CLENBQXJCO0FBQ0EsVUFBTUMsU0FBUyxHQUFHcEYsU0FBUyxDQUFDbUYsb0JBQVYsQ0FBK0IsZ0ZBQS9CLENBQWxCO0FBQ0EsVUFBTUUsY0FBYyxHQUFHQywyQkFBMkIsQ0FBQ0YsU0FBRCxFQUFZRixZQUFaLENBQWxEO0FBQ0F0RCxNQUFBQSxNQUFNLENBQUMyRCxpQkFBaUIsQ0FBQ0YsY0FBRCxDQUFsQixDQUFOLENBQWlFeEQsT0FBakUsQ0FBeUUsdUJBQXpFO0FBQ0EsS0FMQyxDQUFGO0FBT0FMLElBQUFBLEVBQUUsQ0FBQyx5REFBRCxFQUE0RCxZQUFNO0FBQ25FLFVBQU0wRCxZQUFZLEdBQUdsRixTQUFTLENBQUNtRixvQkFBVixDQUErQixhQUEvQixDQUFyQjtBQUNBLFVBQU1DLFNBQVMsR0FBR3BGLFNBQVMsQ0FBQ21GLG9CQUFWLENBQStCLGdGQUEvQixDQUFsQjtBQUNBLFVBQU1FLGNBQWMsR0FBR0MsMkJBQTJCLENBQUNGLFNBQUQsRUFBWUYsWUFBWixDQUFsRDtBQUNBdEQsTUFBQUEsTUFBTSxDQUFDMkQsaUJBQWlCLENBQUNGLGNBQUQsQ0FBbEIsQ0FBTixDQUFpRXhELE9BQWpFLENBQXlFLGFBQXpFO0FBQ0EsS0FMQyxDQUFGO0FBT0FMLElBQUFBLEVBQUUsQ0FBQywrRkFBRCxFQUFrRyxZQUFNO0FBQ3pHLFVBQU0wRCxZQUFZLEdBQUdsRixTQUFTLENBQUNtRixvQkFBVixDQUErQixhQUEvQixDQUFyQjtBQUNBLFVBQU1DLFNBQVMsR0FBR3BGLFNBQVMsQ0FBQ21GLG9CQUFWLENBQStCLGdGQUEvQixDQUFsQjtBQUNBLFVBQU1FLGNBQWMsR0FBR0MsMkJBQTJCLENBQUNGLFNBQUQsRUFBWUYsWUFBWixDQUFsRDtBQUNBdEQsTUFBQUEsTUFBTSxDQUFDMkQsaUJBQWlCLENBQUNGLGNBQUQsQ0FBbEIsQ0FBTixDQUFpRXhELE9BQWpFLENBQXlFTSxTQUF6RTtBQUNBLEtBTEMsQ0FBRjtBQU9BWCxJQUFBQSxFQUFFLENBQUMsdURBQUQsRUFBMEQsWUFBTTtBQUNqRSxVQUFNZ0UsWUFBWSxHQUFHO0FBQ3BCQyxRQUFBQSxLQUFLLEVBQUUsMEJBRGE7QUFFcEJDLFFBQUFBLGNBQWMsRUFBRTtBQUZJLE9BQXJCO0FBSUE5RCxNQUFBQSxNQUFNLENBQUMrRCxvQ0FBb0MsQ0FBQ0gsWUFBRCxDQUFyQyxDQUFOLENBQTJEaEMsZUFBM0Q7QUFDQSxLQU5DLENBQUY7QUFRQWhDLElBQUFBLEVBQUUsQ0FBQyxxRkFBRCxFQUF3RixZQUFNO0FBQy9GLFVBQU1nRSxZQUFZLEdBQUc7QUFDcEIsaUJBQVMsMEJBRFc7QUFFcEIsb0NBQTRCO0FBRlIsT0FBckI7QUFJQTVELE1BQUFBLE1BQU0sQ0FBQytELG9DQUFvQyxDQUFDSCxZQUFELENBQXJDLENBQU4sQ0FBMkRoQyxlQUEzRDtBQUNBLEtBTkMsQ0FBRjtBQVFBaEMsSUFBQUEsRUFBRSxDQUFDLDBEQUFELEVBQTZELFlBQU07QUFDcEUsVUFBTWdFLFlBQVksR0FBRyxFQUFyQjtBQUNBNUQsTUFBQUEsTUFBTSxDQUFDK0Qsb0NBQW9DLENBQUNILFlBQUQsQ0FBckMsQ0FBTixDQUEyRGhDLGVBQTNEO0FBQ0EsS0FIQyxDQUFGO0FBS0FoQyxJQUFBQSxFQUFFLENBQUMsOENBQUQsRUFBaUQsWUFBTTtBQUN4RCxVQUFNb0Usb0JBQW9CLEdBQUcsQ0FDNUI7QUFDQ0MsUUFBQUEsR0FBRyxFQUFFLGNBRE47QUFFQ0MsUUFBQUEsS0FBSyxFQUFFO0FBRlIsT0FENEIsQ0FBN0I7QUFNQSxVQUFNQyxzQkFBc0IsR0FBR0Msa0JBQWtCLENBQUNKLG9CQUFELENBQWpEO0FBQ0FoRSxNQUFBQSxNQUFNLENBQUNtRSxzQkFBc0IsQ0FBQ0UsU0FBdkIsRUFBRCxDQUFOLENBQTJDekMsZUFBM0M7QUFDQSxLQVRDLENBQUY7QUFXQWhDLElBQUFBLEVBQUUsQ0FBQyxpREFBRCxFQUFvRCxZQUFNO0FBQzNELFVBQU1vRSxvQkFBeUIsR0FBRyxFQUFsQztBQUNBLFVBQU1HLHNCQUFzQixHQUFHQyxrQkFBa0IsQ0FBQ0osb0JBQUQsQ0FBakQ7QUFDQWhFLE1BQUFBLE1BQU0sQ0FBQ21FLHNCQUFzQixDQUFDRSxTQUF2QixFQUFELENBQU4sQ0FBMkN6QyxlQUEzQztBQUNBLEtBSkMsQ0FBRjtBQU1BaEMsSUFBQUEsRUFBRSxDQUFDLDZFQUFELEVBQWdGLFlBQU07QUFDdkYsVUFBTTBELFlBQVksR0FBR2xGLFNBQVMsQ0FBQ21GLG9CQUFWLENBQStCLGFBQS9CLENBQXJCO0FBQ0EsVUFBTUMsU0FBUyxHQUFHcEYsU0FBUyxDQUFDbUYsb0JBQVYsQ0FBK0IsZ0ZBQS9CLENBQWxCO0FBQ0EsVUFBTUUsY0FBYyxHQUFHQywyQkFBMkIsQ0FBQ0YsU0FBRCxFQUFZRixZQUFaLENBQWxEO0FBQ0EsVUFBTWdCLFNBQW1CLEdBQUdiLGNBQUgsYUFBR0EsY0FBSCx1QkFBR0EsY0FBYyxDQUFFYyxZQUFoQixDQUE2QkMsS0FBN0IsQ0FBbUNDLE9BQS9EO0FBQ0F6RSxNQUFBQSxNQUFNLENBQUMwRSxxQ0FBcUMsQ0FBQ2pCLGNBQUQsRUFBd0NhLFNBQXhDLENBQXRDLENBQU4sQ0FBNEdyRSxPQUE1RyxDQUFvSCxJQUFwSDtBQUNBLEtBTkMsQ0FBRjtBQVFBTCxJQUFBQSxFQUFFLENBQUMsbUZBQUQsRUFBc0YsWUFBTTtBQUM3RixVQUFNMEQsWUFBWSxHQUFHbEYsU0FBUyxDQUFDbUYsb0JBQVYsQ0FBK0IsYUFBL0IsQ0FBckI7QUFDQSxVQUFNQyxTQUFTLEdBQUdwRixTQUFTLENBQUNtRixvQkFBVixDQUErQixnRkFBL0IsQ0FBbEI7QUFDQSxVQUFNRSxjQUFjLEdBQUdDLDJCQUEyQixDQUFDRixTQUFELEVBQVlGLFlBQVosQ0FBbEQ7QUFDQSxVQUFNZ0IsU0FBbUIsR0FBR2IsY0FBSCxhQUFHQSxjQUFILHVCQUFHQSxjQUFjLENBQUVjLFlBQWhCLENBQTZCQyxLQUE3QixDQUFtQ0MsT0FBL0Q7QUFDQXpFLE1BQUFBLE1BQU0sQ0FBQzBFLHFDQUFxQyxDQUFDakIsY0FBRCxFQUF3Q2EsU0FBeEMsQ0FBdEMsQ0FBTixDQUE0R3JFLE9BQTVHLENBQW9ILEtBQXBIO0FBQ0EsS0FOQyxDQUFGO0FBT0EsR0FoWk8sQ0FBUiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Z2V0QmluZGluZ1dpdGhUZXh0QXJyYW5nZW1lbnQsXG5cdGFkZFRleHRBcnJhbmdlbWVudFRvQmluZGluZ0V4cHJlc3Npb24sXG5cdGdldFZpc2libGVFeHByZXNzaW9uLFxuXHRGaWVsZEZvcm1hdE9wdGlvbnMsXG5cdGdldFZhbHVlQmluZGluZyxcblx0Z2V0RGlzcGxheVN0eWxlLFxuXHRnZXREYXRhUG9pbnRTdHlsZSxcblx0Z2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlLFxuXHRnZXRTZW1hbnRpY09iamVjdHMsXG5cdGlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHNcbn0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRUZW1wbGF0aW5nXCI7XG5pbXBvcnQgeyBmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgY29tcGlsZUNEUywgZ2V0TWV0YU1vZGVsLCBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHksIGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbCB9IGZyb20gXCJzYXAvZmUvdGVzdC9KZXN0VGVtcGxhdGluZ0hlbHBlclwiO1xuaW1wb3J0IHsgY29udmVydFR5cGVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgeyBBbnlBbm5vdGF0aW9uLCBFbnRpdHlTZXQsIEVudGl0eVR5cGUsIFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvYW5ub3RhdGlvbi1jb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGJpbmRpbmdFeHByZXNzaW9uLCBjb21waWxlQmluZGluZywgaWZFbHNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ0V4cHJlc3Npb25cIjtcbmltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5cbmRlc2NyaWJlKFwiRmllbGQgVGVtcGxhdGluZyBUZXN0aW5nXCIsICgpID0+IHtcblx0bGV0IGNvbnZlcnRlZFR5cGVzO1xuXHRsZXQgbWV0YU1vZGVsOiBhbnk7XG5cdGxldCBlbnRpdHlTZXQ6IEVudGl0eVNldDtcblx0bGV0IGVudGl0eVR5cGU6IEVudGl0eVR5cGU7XG5cdGNvbnN0IHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIFByb3BlcnR5PiA9IHt9O1xuXHRiZWZvcmVBbGwoYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHNNZXRhZGF0YVVybCA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuL0ZpZWxkVGVtcGxhdGluZy5jZHNcIikpO1xuXHRcdG1ldGFNb2RlbCA9IGF3YWl0IGdldE1ldGFNb2RlbChzTWV0YWRhdGFVcmwpO1xuXHRcdGNvbnZlcnRlZFR5cGVzID0gY29udmVydFR5cGVzKG1ldGFNb2RlbCk7XG5cdFx0Y29uc3QgbWF5YmVFbnRpdHlTZXQgPSBjb252ZXJ0ZWRUeXBlcy5lbnRpdHlTZXRzLmZpbmQoZXQgPT4gZXQubmFtZSA9PT0gXCJNYWluRW50aXR5XCIpO1xuXHRcdGlmIChtYXliZUVudGl0eVNldCkge1xuXHRcdFx0ZW50aXR5U2V0ID0gbWF5YmVFbnRpdHlTZXQ7XG5cdFx0XHRlbnRpdHlUeXBlID0gbWF5YmVFbnRpdHlTZXQuZW50aXR5VHlwZTtcblx0XHRcdGVudGl0eVR5cGUuZW50aXR5UHJvcGVydGllcy5mb3JFYWNoKHByb3AgPT4ge1xuXHRcdFx0XHRwcm9wZXJ0aWVzW3Byb3AubmFtZV0gPSBwcm9wO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIkVycm9yIGluIHRlc3Qgc2V0dXBcIik7XG5cdFx0fVxuXHR9KTtcblx0YmVmb3JlRWFjaCgoKSA9PiB7XG5cdFx0amVzdC5jbGVhckFsbE1vY2tzKCk7XG5cdH0pO1xuXG5cdGl0KFxuXHRcdFwiI2dldFZhbHVlQmluZGluZ1wiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJCQ1BcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiMjE3MDIzNzE2NVwiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IHRleHRTaW1wbGVCaW5kaW5nID0gZ2V0VmFsdWVCaW5kaW5nKGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0QmluZGluZ1wiXSksIHt9KTtcblx0XHRcdGV4cGVjdCh0ZXh0U2ltcGxlQmluZGluZykudG9FcXVhbChcblx0XHRcdFx0XCJ7cGF0aDogJ3RleHRCaW5kaW5nJywgdHlwZTogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZycsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUtlZXBzRW1wdHlTdHJpbmc6IHRydWV9fVwiXG5cdFx0XHQpO1xuXG5cdFx0XHRjb25zdCB0ZXh0RGVsZXRlRm9ybWF0dGVyQmluZGluZyA9IGdldFZhbHVlQmluZGluZyhcblx0XHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcInRleHRCaW5kaW5nXCJdKSxcblx0XHRcdFx0eyB0ZXh0TWF4TGluZXM6IFwiMTBcIiB9LFxuXHRcdFx0XHR0cnVlLCAvL2lnbm9yZVVuaXQsIGl0IGRvZXNuJ3QgaGF2ZSB1bml0LCBzbyBkb2Vzbid0IG1hdHRlci4gVGVzdGVkIGEgZmV3IGxpbmVzIGxhdGVyLlxuXHRcdFx0XHR0cnVlXG5cdFx0XHQpO1xuXHRcdFx0ZXhwZWN0KHRleHREZWxldGVGb3JtYXR0ZXJCaW5kaW5nKS50b0VxdWFsKFwie3RleHRCaW5kaW5nfVwiKTtcblxuXHRcdFx0Y29uc3QgdGV4dEJpbmRpbmdQYXJhbWV0dGVyID0gZ2V0VmFsdWVCaW5kaW5nKFxuXHRcdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1widGV4dEJpbmRpbmdcIl0pLFxuXHRcdFx0XHR7IHRleHRNYXhMaW5lczogXCIxMFwiIH0sXG5cdFx0XHRcdHRydWUsXG5cdFx0XHRcdHRydWUsXG5cdFx0XHRcdHsgJCRub1BhdGNoOiB0cnVlIH1cblx0XHRcdCk7XG5cdFx0XHRleHBlY3QodGV4dEJpbmRpbmdQYXJhbWV0dGVyKS50b0VxdWFsKFwie3BhdGg6ICd0ZXh0QmluZGluZycsIHBhcmFtZXRlcnM6IHskJG5vUGF0Y2g6IHRydWV9fVwiKTtcblxuXHRcdFx0Y29uc3QgdGV4dFR5cGVBbnkgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0QmluZGluZ1wiXSksXG5cdFx0XHRcdHt9LFxuXHRcdFx0XHRmYWxzZSxcblx0XHRcdFx0ZmFsc2UsXG5cdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0dHJ1ZVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdCh0ZXh0VHlwZUFueSkudG9FcXVhbChcblx0XHRcdFx0XCJ7cGF0aDogJ3RleHRCaW5kaW5nJywgdHlwZTogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZycsIHRhcmdldFR5cGU6ICdhbnknLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VLZWVwc0VtcHR5U3RyaW5nOiB0cnVlfX1cIlxuXHRcdFx0KTtcblxuXHRcdFx0Y29uc3QgZW1haWxTaW1wbGVCaW5kaW5nID0gZ2V0VmFsdWVCaW5kaW5nKGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJlbWFpbEJpbmRpbmdcIl0pLCB7fSk7XG5cdFx0XHRleHBlY3QoZW1haWxTaW1wbGVCaW5kaW5nKS50b0VxdWFsKFwie3BhdGg6ICdlbWFpbEJpbmRpbmcnLCB0eXBlOiAnc2FwLmZlLmNvcmUudHlwZS5FbWFpbCd9XCIpO1xuXG5cdFx0XHRjb25zdCB1bml0V2l0aEN1cnJlbmN5QmluZGluZ1NpbXBsZUJpbmRpbmcgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJVbml0V2l0aEN1cnJlbmN5QmluZGluZ1wiXSksXG5cdFx0XHRcdHt9XG5cdFx0XHQpO1xuXHRcdFx0ZXhwZWN0KHVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nU2ltcGxlQmluZGluZykudG9FcXVhbChcblx0XHRcdFx0XCJ7bW9kZTonVHdvV2F5JywgcGFydHM6W3twYXRoOidVbml0V2l0aEN1cnJlbmN5QmluZGluZycsIHR5cGUgOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuSW50MzInLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319LHtwYXRoOidjdXJyZW5jeScsIHR5cGUgOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuU3RyaW5nJywgZm9ybWF0T3B0aW9uczoge3BhcnNlS2VlcHNFbXB0eVN0cmluZzogdHJ1ZX19LHttb2RlOidPbmVUaW1lJyxwYXRoOicvIyNAQHJlcXVlc3RDdXJyZW5jeUNvZGVzJyx0YXJnZXRUeXBlOidhbnknfV0sdHlwZTonc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuQ3VycmVuY3knLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJywgc2hvd01lYXN1cmU6IGZhbHNlfX1cIlxuXHRcdFx0KTtcblxuXHRcdFx0Y29uc3QgdW5pdFdpdGhDdXJyZW5jeUJpbmRpbmdJZ25vcmVVbml0ID0gZ2V0VmFsdWVCaW5kaW5nKFxuXHRcdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1wiVW5pdFdpdGhDdXJyZW5jeUJpbmRpbmdcIl0pLFxuXHRcdFx0XHR7fSxcblx0XHRcdFx0dHJ1ZVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdCh1bml0V2l0aEN1cnJlbmN5QmluZGluZ0lnbm9yZVVuaXQpLnRvRXF1YWwoXG5cdFx0XHRcdFwie3BhdGg6ICdVbml0V2l0aEN1cnJlbmN5QmluZGluZycsIHR5cGU6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQzMicsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUFzU3RyaW5nOiBmYWxzZSwgZW1wdHlTdHJpbmc6ICcnfX1cIlxuXHRcdFx0KTtcblxuXHRcdFx0Y29uc3QgdW5pdFdpdGhDdXJyZW5jeURlc2NyaXB0aW9uQmluZGluZyA9IGdldFZhbHVlQmluZGluZyhcblx0XHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcIlVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nXCJdKSxcblx0XHRcdFx0e30sXG5cdFx0XHRcdGZhbHNlLFxuXHRcdFx0XHRmYWxzZSxcblx0XHRcdFx0dW5kZWZpbmVkLFxuXHRcdFx0XHR0cnVlLFxuXHRcdFx0XHR0cnVlXG5cdFx0XHQpO1xuXHRcdFx0ZXhwZWN0KHVuaXRXaXRoQ3VycmVuY3lEZXNjcmlwdGlvbkJpbmRpbmcpLnRvRXF1YWwoXG5cdFx0XHRcdFwie21vZGU6J1R3b1dheScsIHBhcnRzOlt7cGF0aDonVW5pdFdpdGhDdXJyZW5jeUJpbmRpbmcnLCB0eXBlIDogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLkludDMyJywgZm9ybWF0T3B0aW9uczoge3BhcnNlQXNTdHJpbmc6IGZhbHNlLCBlbXB0eVN0cmluZzogJyd9fSx7cGF0aDonY3VycmVuY3knLCB0eXBlIDogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZycsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUtlZXBzRW1wdHlTdHJpbmc6IHRydWV9fSx7bW9kZTonT25lVGltZScscGF0aDonLyMjQEByZXF1ZXN0Q3VycmVuY3lDb2RlcycsdGFyZ2V0VHlwZTonYW55J31dLHR5cGU6J3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLkN1cnJlbmN5JywgZm9ybWF0T3B0aW9uczoge3BhcnNlQXNTdHJpbmc6IGZhbHNlLCBlbXB0eVN0cmluZzogJycsIHNob3dOdW1iZXI6IGZhbHNlfX1cIlxuXHRcdFx0KTtcblx0XHR9XG5cdCk7XG5cblx0aXQoXG5cdFx0XCIjZ2V0RGlzcGxheVN0eWxlXCIsXG5cdFx0e1xuXHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdFwidHlwZVwiOiBcIkpJUkFcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiRklPUklURUNIUDEtMjExNzZcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSxcblx0XHQoKSA9PiB7XG5cdFx0XHRjb25zdCBlbnRpdHlTZXRMaW5lSXRlbSA9IGVudGl0eVNldC5lbnRpdHlUeXBlLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbSBhcyBMaW5lSXRlbTtcblx0XHRcdGNvbnN0IGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIGVudGl0eVNldExpbmVJdGVtWzFdIGFzIEFueUFubm90YXRpb24pO1xuXHRcdFx0Y29uc3Qgc2VtYW50aWNPYmplY3Q6IHN0cmluZyA9IFwiXCI7XG5cdFx0XHRjb25zdCBmb3JtYXRPcHRpb25zID0ge1xuXHRcdFx0XHR2YWx1ZUZvcm1hdDogXCJEZXNjcmlwdGlvblZhbHVlXCIsXG5cdFx0XHRcdHRleHRBbGlnbk1vZGU6IFwiRm9ybVwiLFxuXHRcdFx0XHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0OiB0cnVlXG5cdFx0XHR9IGFzIEZpZWxkRm9ybWF0T3B0aW9ucztcblxuXHRcdFx0Y29uc3QgZGF0YUZpZWxkQ29udmVydGVkID0gZ2V0VmFsdWVCaW5kaW5nKFxuXHRcdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1wicHJvcGVydHlOb1RleHRXaXRoVkhcIl0pLFxuXHRcdFx0XHR7fVxuXHRcdFx0KTtcblx0XHRcdGNvbnN0IGRpc3BsYXlTdHlsZSA9IGdldERpc3BsYXlTdHlsZShcblx0XHRcdFx0cHJvcGVydGllc1tcInByb3BlcnR5Tm9UZXh0V2l0aFZIXCJdLFxuXHRcdFx0XHRkYXRhRmllbGRDb252ZXJ0ZWQsXG5cdFx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSxcblx0XHRcdFx0Zm9ybWF0T3B0aW9ucyxcblx0XHRcdFx0c2VtYW50aWNPYmplY3Rcblx0XHRcdCk7XG5cdFx0XHQvLyBGYWxsYmFjayBmZWF0dXJlIGZvciByZXRyaWV2ZSB0aGUgdGV4dCBhbm5vdGF0aW9uIGZyb20gdGhlIHZhbHVlIGxpc3RzOlxuXHRcdFx0Ly8gUHJvcGVydHkgaGFzIHZhbHVlIGhlbHAsIG5vIFRleHQgYW5ub3RhdGlvbiwgaGFzIGRpc3BsYXkgZm9ybWF0LCB1c2VkIGluIEZvcm0gYW5kIG1hbmlmZXN0LXN3aXRjaCByZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0IGlzIG9uXG5cdFx0XHRleHBlY3QoZGlzcGxheVN0eWxlKS50b0VxdWFsKFwiTWRjRmllbGRXaXRoVmFsdWVIZWxwXCIpO1xuXHRcdH1cblx0KTtcblxuXHRpdChcIiNnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudFwiLCAoKSA9PiB7XG5cdFx0Ly8gQ2FzZXMgdG8gY29uc2lkZXJcblxuXHRcdC8vIFRleHRPbmx5XG5cdFx0Y29uc3QgdGV4dE9ubHlCaW5kaW5nID0gZ2V0QmluZGluZ1dpdGhUZXh0QXJyYW5nZW1lbnQoXG5cdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1widGV4dE9ubHlcIl0pLFxuXHRcdFx0YmluZGluZ0V4cHJlc3Npb24oXCJ0ZXh0T25seVwiKVxuXHRcdCk7XG5cdFx0ZXhwZWN0KHRleHRPbmx5QmluZGluZykudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKHRleHRPbmx5QmluZGluZykpLnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cdFx0ZXhwZWN0KGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbChjb21waWxlQmluZGluZyh0ZXh0T25seUJpbmRpbmcpLCB7IHRhcmdldFRleHQ6IFwiWW9sb1wiIH0pKS50b0VxdWFsKFwiWW9sb1wiKTtcblxuXHRcdC8vIE5vIHRleHQgYXJyYW5nZW1lbnRcblx0XHRjb25zdCBub1RleHRCaW5kaW5nID0gZ2V0QmluZGluZ1dpdGhUZXh0QXJyYW5nZW1lbnQoXG5cdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1wibm9UZXh0XCJdKSxcblx0XHRcdGJpbmRpbmdFeHByZXNzaW9uKFwibm9UZXh0XCIpXG5cdFx0KTtcblx0XHRleHBlY3Qobm9UZXh0QmluZGluZykudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKG5vVGV4dEJpbmRpbmcpKS50b0NvbnRhaW4oXCJub1RleHRcIik7XG5cdFx0ZXhwZWN0KGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbChjb21waWxlQmluZGluZyhub1RleHRCaW5kaW5nKSwgeyBub1RleHQ6IFwiWW9sb1wiIH0pKS50b0VxdWFsKFwiWW9sb1wiKTtcblxuXHRcdC8vIFRleHRGaXJzdFxuXHRcdGNvbnN0IHRleHRGaXJzdEJpbmRpbmcgPSBnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudChcblx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0Rmlyc3RcIl0pLFxuXHRcdFx0YmluZGluZ0V4cHJlc3Npb24oXCJ0ZXh0Rmlyc3RcIilcblx0XHQpO1xuXHRcdGV4cGVjdCh0ZXh0Rmlyc3RCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcodGV4dEZpcnN0QmluZGluZykpLnRvQ29udGFpbihcInRleHRGaXJzdFwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcodGV4dEZpcnN0QmluZGluZykpLnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cdFx0ZXhwZWN0KFxuXHRcdFx0ZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKHRleHRGaXJzdEJpbmRpbmcpLCB7IHRleHRGaXJzdDogXCJZb2xvIExhc3RcIiwgdGFyZ2V0VGV4dDogXCJZb2xvIERlc2NyaXB0aW9uXCIgfSlcblx0XHQpLnRvRXF1YWwoXCJZb2xvIERlc2NyaXB0aW9uIChZb2xvIExhc3QpXCIpO1xuXG5cdFx0Ly8gVGV4dExhc3Rcblx0XHRjb25zdCB0ZXh0TGFzdEJpbmRpbmcgPSBnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudChcblx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0TGFzdFwiXSksXG5cdFx0XHRiaW5kaW5nRXhwcmVzc2lvbihcInRleHRMYXN0XCIpXG5cdFx0KTtcblx0XHRleHBlY3QodGV4dExhc3RCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcodGV4dExhc3RCaW5kaW5nKSkudG9Db250YWluKFwidGV4dExhc3RcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKHRleHRMYXN0QmluZGluZykpLnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cdFx0ZXhwZWN0KFxuXHRcdFx0ZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKHRleHRMYXN0QmluZGluZyksIHsgdGV4dExhc3Q6IFwiWW9sbyBGaXJzdFwiLCB0YXJnZXRUZXh0OiBcIllvbG8gRGVzY3JpcHRpb25cIiB9KVxuXHRcdCkudG9FcXVhbChcIllvbG8gRmlyc3QgKFlvbG8gRGVzY3JpcHRpb24pXCIpO1xuXHR9KTtcblxuXHRpdChcIiNhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uXCIsICgpID0+IHtcblx0XHRjb25zdCBmdWxsQ29udGV4dCA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQpO1xuXG5cdFx0Y29uc3Qgb3RoZXJNb2RlbEJpbmRpbmcgPSBhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uKGJpbmRpbmdFeHByZXNzaW9uKFwidGV4dExhc3RcIiwgXCJvdGhlck1vZGVsXCIpLCBmdWxsQ29udGV4dCk7XG5cdFx0ZXhwZWN0KG90aGVyTW9kZWxCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcob3RoZXJNb2RlbEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0ZXh0TGFzdFwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcob3RoZXJNb2RlbEJpbmRpbmcpKS5ub3QudG9Db250YWluKFwidGFyZ2V0VGV4dFwiKTtcblxuXHRcdGNvbnN0IGFkZFRleHRMYXN0QmluZGluZyA9IGFkZFRleHRBcnJhbmdlbWVudFRvQmluZGluZ0V4cHJlc3Npb24oYmluZGluZ0V4cHJlc3Npb24oXCJ0ZXh0TGFzdFwiKSwgZnVsbENvbnRleHQpO1xuXHRcdGV4cGVjdChhZGRUZXh0TGFzdEJpbmRpbmcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhhZGRUZXh0TGFzdEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0ZXh0TGFzdFwiKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoYWRkVGV4dExhc3RCaW5kaW5nKSkudG9Db250YWluKFwidGFyZ2V0VGV4dFwiKTtcblx0XHRleHBlY3QoXG5cdFx0XHRldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwoY29tcGlsZUJpbmRpbmcoYWRkVGV4dExhc3RCaW5kaW5nKSwgeyB0ZXh0TGFzdDogXCJZb2xvIEZpcnN0XCIsIHRhcmdldFRleHQ6IFwiWW9sbyBEZXNjcmlwdGlvblwiIH0pXG5cdFx0KS50b0VxdWFsKFwiWW9sbyBGaXJzdCAoWW9sbyBEZXNjcmlwdGlvbilcIik7XG5cblx0XHRjb25zdCBjb21wbGV4VGV4dEJpbmRpbmcgPSBhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uKFxuXHRcdFx0aWZFbHNlKGJpbmRpbmdFeHByZXNzaW9uKFwidGVzdFByb3BcIiksIGJpbmRpbmdFeHByZXNzaW9uKFwidGV4dExhc3RcIiksIGJpbmRpbmdFeHByZXNzaW9uKFwibm9UZXh0XCIpKSxcblx0XHRcdGZ1bGxDb250ZXh0XG5cdFx0KTtcblx0XHRleHBlY3QoY29tcGxleFRleHRCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoY29tcGxleFRleHRCaW5kaW5nKSkudG9Db250YWluKFwidGV4dExhc3RcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGNvbXBsZXhUZXh0QmluZGluZykpLnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cdFx0Y29uc3QgbW9kZWxDb250ZW50ID0ge1xuXHRcdFx0dGVzdFByb3A6IHRydWUsXG5cdFx0XHR0ZXh0TGFzdDogXCJZb2xvIEZpcnN0XCIsXG5cdFx0XHR0YXJnZXRUZXh0OiBcIllvbG8gRGVzY3JpcHRpb25cIixcblx0XHRcdG5vVGV4dDogXCJOb3QgWW9sb1wiXG5cdFx0fTtcblx0XHRleHBlY3QoZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKGNvbXBsZXhUZXh0QmluZGluZyksIG1vZGVsQ29udGVudCkpLnRvRXF1YWwoXCJZb2xvIEZpcnN0IChZb2xvIERlc2NyaXB0aW9uKVwiKTtcblxuXHRcdG1vZGVsQ29udGVudC50ZXN0UHJvcCA9IGZhbHNlO1xuXHRcdGV4cGVjdChldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwoY29tcGlsZUJpbmRpbmcoY29tcGxleFRleHRCaW5kaW5nKSwgbW9kZWxDb250ZW50KSkudG9FcXVhbChcIk5vdCBZb2xvXCIpO1xuXHR9KTtcblxuXHRpdChcImZvcm1hdHRlZCBJbnRlZ2VyIHR5cGUgY2FsbFwiLCAoKSA9PiB7XG5cdFx0Y29uc3Qgb1Byb3BlcnR5VHlwZSA9IHsgX3R5cGU6IFwiUHJvcGVydHlcIiwgdHlwZTogXCJFZG0uSW50MzJcIiB9IGFzIFByb3BlcnR5O1xuXHRcdHJldHVybiBleHBlY3QoY29tcGlsZUJpbmRpbmcoZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbihvUHJvcGVydHlUeXBlLCBiaW5kaW5nRXhwcmVzc2lvbihcInZhbHVlXCIpKSkpLnRvRXF1YWwoXG5cdFx0XHRcIntwYXRoOiAndmFsdWUnLCB0eXBlOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuSW50MzInLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319XCJcblx0XHQpO1xuXHR9KTtcblxuXHRpdChcblx0XHRcImZvcm1hdHRlZCBEb3VibGUgdHlwZSBjYWxsXCIsXG5cdFx0e1xuXHRcdFx0XCJyZWZlcmVuY2VzXCI6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdFwidHlwZVwiOiBcIkJDUFwiLFxuXHRcdFx0XHRcdFwiSURcIjogXCIyMTgwMjEyMTQ4XCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0sXG5cdFx0KCkgPT4ge1xuXHRcdFx0Y29uc3Qgb1Byb3BlcnR5VHlwZSA9IHsgX3R5cGU6IFwiUHJvcGVydHlcIiwgdHlwZTogXCJFZG0uRG91YmxlXCIgfSBhcyBQcm9wZXJ0eTtcblx0XHRcdHJldHVybiBleHBlY3QoY29tcGlsZUJpbmRpbmcoZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbihvUHJvcGVydHlUeXBlLCBiaW5kaW5nRXhwcmVzc2lvbihcInZhbHVlXCIpKSkpLnRvRXF1YWwoXG5cdFx0XHRcdFwie3BhdGg6ICd2YWx1ZScsIHR5cGU6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5Eb3VibGUnLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319XCJcblx0XHRcdCk7XG5cdFx0fVxuXHQpO1xuXG5cdGl0KFwiY2FuIGV2YWx1YXRlIHRoZSB2aXNpYmxlIHBhcmFtZXRlciBiYXNlZCBvbiBVSS5IaWRkZW5cIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGVudGl0eVNldExpbmVJdGVtID0gZW50aXR5U2V0LmVudGl0eVR5cGUuYW5ub3RhdGlvbnMuVUk/LkxpbmVJdGVtIGFzIExpbmVJdGVtO1xuXHRcdGxldCBkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoXG5cdFx0XHRlbnRpdHlTZXQsXG5cdFx0XHRlbnRpdHlTZXRMaW5lSXRlbVsxXSBhcyBBbnlBbm5vdGF0aW9uIC8vIHN0YXRpY0hpZGRlblByb3Bcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMl0gYXMgQW55QW5ub3RhdGlvbiAvLyBkeW5hbWljSGlkZGVuUHJvcFxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVufSAhPT0gdHJ1ZX1cIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bM10gYXMgQW55QW5ub3RhdGlvbiAvLyB0ZXh0Rmlyc3Qgd2l0aCBkYXRhRmllbGQgc3RhdGljYWxseSBoaWRkZW5cblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiZmFsc2VcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bNF0gYXMgQW55QW5ub3RhdGlvbiAvLyB0ZXh0T25seSB3aXRoIGRhdGFGaWVsZCBkeW5hbWljYWxseSBoaWRkZW5cblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiez0gJXtpc0hpZGRlbn0gIT09IHRydWV9XCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzVdIGFzIEFueUFubm90YXRpb24gLy8gZHluYW1pY0hpZGRlblByb3AyIHdpdGggZHluYW1pYyBkYXRhZmllbGQgaGlkZGVuXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcIns9ICV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle2lzSGlkZGVufSAhPT0gdHJ1ZX1cIik7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSwgeyBpc0FuYWx5dGljczogdHJ1ZSB9IGFzIEZpZWxkRm9ybWF0T3B0aW9ucykpLnRvRXF1YWwoXG5cdFx0XHRcIns9ICV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle2lzSGlkZGVufSAhPT0gdHJ1ZSAmJiAoJXtAJHVpNS5ub2RlLmlzRXhwYW5kZWR9ICE9PSB0cnVlIHx8ICV7QCR1aTUubm9kZS5sZXZlbH0gPT09IDApfVwiXG5cdFx0KTtcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoXG5cdFx0XHRlbnRpdHlTZXQsXG5cdFx0XHRlbnRpdHlTZXRMaW5lSXRlbVs2XSBhcyBBbnlBbm5vdGF0aW9uIC8vIGhpZGRlbldpdGgxMU5hdiB3aXRoIGR5bmFtaWMgZGF0YWZpZWxkIGhpZGRlblxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXG5cdFx0XHRcIns9ICV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle1NwZWNpYWxDaGlsZC9pc0hpZGRlbn0gIT09IHRydWV9XCJcblx0XHQpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzddIGFzIEFueUFubm90YXRpb24gLy8gaGlkZGVuV2l0aDFOTmF2IHdpdGggZHluYW1pYyBkYXRhZmllbGQgaGlkZGVuIC0+IERvZXNuJ3QgbWFrZSBzZW5zZSBhbmQgbW9kZWwgd2lsbCBjb21wbGFpbiBidXQgaGVoIDooXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcIns9ICV7aXNIaWRkZW4yfSAhPT0gdHJ1ZSAmJiAle19FbGVtZW50cy9pc0hpZGRlbn0gIT09IHRydWV9XCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzhdIGFzIEFueUFubm90YXRpb24gLy8gRGF0YSBGaWVsZCBGb3IgQWN0aW9uXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bOV0gYXMgQW55QW5ub3RhdGlvbiAvLyBEYXRhRmllbGRGb3JBbm5vdGF0aW9uIC0+IGRhdGEgcG9pbnQgdmlzaWJsZVxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ0cnVlXCIpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHksIHsgaXNBbmFseXRpY3M6IHRydWUgfSBhcyBGaWVsZEZvcm1hdE9wdGlvbnMpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAle0AkdWk1Lm5vZGUuaXNFeHBhbmRlZH0gIT09IHRydWUgfHwgJXtAJHVpNS5ub2RlLmxldmVsfSA9PT0gMH1cIlxuXHRcdCk7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMTBdIGFzIEFueUFubm90YXRpb24gLy8gRGF0YUZpZWxkRm9yQW5ub3RhdGlvbiAtPiBkYXRhIHBvaW50IGR5bmFtaWMgdmlzaWJsZVxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVufSAhPT0gdHJ1ZX1cIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMTFdIGFzIEFueUFubm90YXRpb24gLy8gbm9IaWRkZW5Qcm9wXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcInRydWVcIik7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMTJdIGFzIEFueUFubm90YXRpb24gLy8gRGF0YUZpZWxkRm9yQW5ub3RhdGlvbiAtPiBGaWVsZEdyb3VwIC0+IERhdGFcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblx0fSk7XG5cblx0aXQoXCJnZXREYXRhUG9pbnRTdHlsZSB3aXRoIGRhdGFwb2ludCBoYXZpbmcgVmlzdWFsaXphdGlvblwiLCAoKSA9PiB7XG5cdFx0Y29uc3Qgb0NvbnRleHRQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL01haW5FbnRpdHlcIik7XG5cdFx0Y29uc3Qgb01ldGFQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL01haW5FbnRpdHkvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckZhY2V0cy8wL1RhcmdldC8kQW5ub3RhdGlvblBhdGgvXCIpO1xuXHRcdGNvbnN0IG9EYXRhTW9kZWxQYXRoID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG9NZXRhUGF0aCwgb0NvbnRleHRQYXRoKTtcblx0XHRleHBlY3QoZ2V0RGF0YVBvaW50U3R5bGUob0RhdGFNb2RlbFBhdGgpKS50b0VxdWFsKHVuZGVmaW5lZCk7XG5cdH0pO1xuXHRpdChcImdldERhdGFQb2ludFN0eWxlIHdpdGggZGF0YXBvaW50IGhhdmluZyBRdWlja1ZpZXdGYWNldHNcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG9Db250ZXh0UGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5XCIpO1xuXHRcdGNvbnN0IG9NZXRhUGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5L0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvMi9UYXJnZXQvJEFubm90YXRpb25QYXRoL1wiKTtcblx0XHRjb25zdCBvRGF0YU1vZGVsUGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhvTWV0YVBhdGgsIG9Db250ZXh0UGF0aCk7XG5cdFx0ZXhwZWN0KGdldERhdGFQb2ludFN0eWxlKG9EYXRhTW9kZWxQYXRoIGFzIERhdGFNb2RlbE9iamVjdFBhdGgpKS50b0VxdWFsKFwiTGlua1dpdGhRdWlja1ZpZXdGb3JtXCIpO1xuXHR9KTtcblxuXHRpdChcImdldERhdGFQb2ludFN0eWxlIHdpdGggZGF0YXBvaW50IGhhdmluZyBTZW1hbnRpY09iamVjdHNcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG9Db250ZXh0UGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5XCIpO1xuXHRcdGNvbnN0IG9NZXRhUGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5L0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvMS9UYXJnZXQvJEFubm90YXRpb25QYXRoL1wiKTtcblx0XHRjb25zdCBvRGF0YU1vZGVsUGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhvTWV0YVBhdGgsIG9Db250ZXh0UGF0aCk7XG5cdFx0ZXhwZWN0KGdldERhdGFQb2ludFN0eWxlKG9EYXRhTW9kZWxQYXRoIGFzIERhdGFNb2RlbE9iamVjdFBhdGgpKS50b0VxdWFsKFwiTGlua1dyYXBwZXJcIik7XG5cdH0pO1xuXG5cdGl0KFwiZ2V0RGF0YVBvaW50U3R5bGUgd2l0aCBkYXRhcG9pbnQgbm90IGhhdmluZyBWaXN1YWxpemF0aW9uLCBRdWljayBWaWV3IEZhY2V0cywgU2VtYW50aWNPYmplY3RzXCIsICgpID0+IHtcblx0XHRjb25zdCBvQ29udGV4dFBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eVwiKTtcblx0XHRjb25zdCBvTWV0YVBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzLzMvVGFyZ2V0LyRBbm5vdGF0aW9uUGF0aC9cIik7XG5cdFx0Y29uc3Qgb0RhdGFNb2RlbFBhdGggPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMob01ldGFQYXRoLCBvQ29udGV4dFBhdGgpO1xuXHRcdGV4cGVjdChnZXREYXRhUG9pbnRTdHlsZShvRGF0YU1vZGVsUGF0aCBhcyBEYXRhTW9kZWxPYmplY3RQYXRoKSkudG9FcXVhbCh1bmRlZmluZWQpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0RXhwcmVzc2lvblRvUmVzb2x2ZSB3aXRoIGFubm90YXRpb25zXCIsICgpID0+IHtcblx0XHRjb25zdCBvQW5ub3RhdGlvbnMgPSB7XG5cdFx0XHRMYWJlbDogXCJTZW1hbnRpYyBPYmplY3QgUHJvcGVydHlcIixcblx0XHRcdFNlbWFudGljT2JqZWN0OiBcInY0LUZyZWVzdHlsZVwiXG5cdFx0fTtcblx0XHRleHBlY3QoZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlKG9Bbm5vdGF0aW9ucykpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0RXhwcmVzc2lvblRvUmVzb2x2ZSB3aXRoIGFubm90YXRpb25zIGFuZCBzZW1hbnRpYyBvYmplY3QgcXVhbGlmaWVyXCIsICgpID0+IHtcblx0XHRjb25zdCBvQW5ub3RhdGlvbnMgPSB7XG5cdFx0XHRcIkxhYmVsXCI6IFwiU2VtYW50aWMgT2JqZWN0IFByb3BlcnR5XCIsXG5cdFx0XHRcIlNlbWFudGljT2JqZWN0I1F1YWxpZmllclwiOiBcInY0LUZyZWVzdHlsZVwiXG5cdFx0fTtcblx0XHRleHBlY3QoZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlKG9Bbm5vdGF0aW9ucykpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0RXhwcmVzc2lvblRvUmVzb2x2ZSB3aXRob3V0IGFubm90YXRpb25zXCIsICgpID0+IHtcblx0XHRjb25zdCBvQW5ub3RhdGlvbnMgPSB7fTtcblx0XHRleHBlY3QoZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlKG9Bbm5vdGF0aW9ucykpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0cyB3aXRoIGFTZW1PYmpFeHByVG9SZXNvbHZlXCIsICgpID0+IHtcblx0XHRjb25zdCBhU2VtT2JqRXhwclRvUmVzb2x2ZSA9IFtcblx0XHRcdHtcblx0XHRcdFx0a2V5OiBcInY0LUZyZWVzdHlsZVwiLFxuXHRcdFx0XHR2YWx1ZTogXCJ2NC1GcmVlc3R5bGVcIlxuXHRcdFx0fVxuXHRcdF07XG5cdFx0Y29uc3Qgb1NlbWFudGljT2JqZWN0Q29udGV4dCA9IGdldFNlbWFudGljT2JqZWN0cyhhU2VtT2JqRXhwclRvUmVzb2x2ZSk7XG5cdFx0ZXhwZWN0KG9TZW1hbnRpY09iamVjdENvbnRleHQuZ2V0T2JqZWN0KCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImdldFNlbWFudGljT2JqZWN0cyB3aXRob3V0IGFTZW1PYmpFeHByVG9SZXNvbHZlXCIsICgpID0+IHtcblx0XHRjb25zdCBhU2VtT2JqRXhwclRvUmVzb2x2ZTogYW55ID0gW107XG5cdFx0Y29uc3Qgb1NlbWFudGljT2JqZWN0Q29udGV4dCA9IGdldFNlbWFudGljT2JqZWN0cyhhU2VtT2JqRXhwclRvUmVzb2x2ZSk7XG5cdFx0ZXhwZWN0KG9TZW1hbnRpY09iamVjdENvbnRleHQuZ2V0T2JqZWN0KCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHMgd2l0aCBkYXRhcG9pbnQgaGF2aW5nIFF1aWNrVmlld0ZhY2V0c1wiLCAoKSA9PiB7XG5cdFx0Y29uc3Qgb0NvbnRleHRQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL01haW5FbnRpdHlcIik7XG5cdFx0Y29uc3Qgb01ldGFQYXRoID0gbWV0YU1vZGVsLmNyZWF0ZUJpbmRpbmdDb250ZXh0KFwiL01haW5FbnRpdHkvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkhlYWRlckZhY2V0cy8yL1RhcmdldC8kQW5ub3RhdGlvblBhdGgvXCIpO1xuXHRcdGNvbnN0IG9EYXRhTW9kZWxQYXRoID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG9NZXRhUGF0aCwgb0NvbnRleHRQYXRoKTtcblx0XHRjb25zdCBvUHJvcGVydHk6IFByb3BlcnR5ID0gb0RhdGFNb2RlbFBhdGg/LnRhcmdldE9iamVjdC5WYWx1ZS4kdGFyZ2V0O1xuXHRcdGV4cGVjdChpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzKG9EYXRhTW9kZWxQYXRoIGFzIERhdGFNb2RlbE9iamVjdFBhdGgsIG9Qcm9wZXJ0eSBhcyBQcm9wZXJ0eSkpLnRvRXF1YWwodHJ1ZSk7XG5cdH0pO1xuXG5cdGl0KFwiaXNVc2VkSW5OYXZpZ2F0aW9uV2l0aFF1aWNrVmlld0ZhY2V0cyB3aXRoIGRhdGFwb2ludCBub3QgaGF2aW5nIFF1aWNrIFZpZXcgRmFjZXRzXCIsICgpID0+IHtcblx0XHRjb25zdCBvQ29udGV4dFBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eVwiKTtcblx0XHRjb25zdCBvTWV0YVBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzLzMvVGFyZ2V0LyRBbm5vdGF0aW9uUGF0aC9cIik7XG5cdFx0Y29uc3Qgb0RhdGFNb2RlbFBhdGggPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMob01ldGFQYXRoLCBvQ29udGV4dFBhdGgpO1xuXHRcdGNvbnN0IG9Qcm9wZXJ0eTogUHJvcGVydHkgPSBvRGF0YU1vZGVsUGF0aD8udGFyZ2V0T2JqZWN0LlZhbHVlLiR0YXJnZXQ7XG5cdFx0ZXhwZWN0KGlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHMob0RhdGFNb2RlbFBhdGggYXMgRGF0YU1vZGVsT2JqZWN0UGF0aCwgb1Byb3BlcnR5IGFzIFByb3BlcnR5KSkudG9FcXVhbChmYWxzZSk7XG5cdH0pO1xufSk7XG4iXX0=
|
|
291
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpZWxkVGVtcGxhdGluZy5zcGVjLnRzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwiY29udmVydGVkVHlwZXMiLCJtZXRhTW9kZWwiLCJlbnRpdHlTZXQiLCJlbnRpdHlUeXBlIiwicHJvcGVydGllcyIsImJlZm9yZUFsbCIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsImdldE1ldGFNb2RlbCIsImNvbnZlcnRUeXBlcyIsIm1heWJlRW50aXR5U2V0IiwiZW50aXR5U2V0cyIsImZpbmQiLCJldCIsIm5hbWUiLCJlbnRpdHlQcm9wZXJ0aWVzIiwiZm9yRWFjaCIsInByb3AiLCJFcnJvciIsImJlZm9yZUVhY2giLCJqZXN0IiwiY2xlYXJBbGxNb2NrcyIsIml0IiwidGV4dFNpbXBsZUJpbmRpbmciLCJnZXRWYWx1ZUJpbmRpbmciLCJnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkiLCJleHBlY3QiLCJ0b0VxdWFsIiwidGV4dERlbGV0ZUZvcm1hdHRlckJpbmRpbmciLCJ0ZXh0TWF4TGluZXMiLCJ0ZXh0QmluZGluZ1BhcmFtZXR0ZXIiLCIkJG5vUGF0Y2giLCJ0ZXh0VHlwZUFueSIsInVuZGVmaW5lZCIsImVtYWlsU2ltcGxlQmluZGluZyIsInVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nU2ltcGxlQmluZGluZyIsInRvTWF0Y2hJbmxpbmVTbmFwc2hvdCIsInVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nSWdub3JlVW5pdCIsInVuaXRXaXRoQ3VycmVuY3lEZXNjcmlwdGlvbkJpbmRpbmciLCJlbnRpdHlTZXRMaW5lSXRlbSIsImFubm90YXRpb25zIiwiVUkiLCJMaW5lSXRlbSIsImRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSIsImZvcm1hdE9wdGlvbnMiLCJ2YWx1ZUZvcm1hdCIsInRleHRBbGlnbk1vZGUiLCJyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0IiwiZGF0YUZpZWxkQ29udmVydGVkIiwic2VtYW50aWNPYmplY3QiLCJkaXNwbGF5U3R5bGVMaW5rIiwiZ2V0RGlzcGxheVN0eWxlIiwibm9TZW1hbnRpY09iamVjdCIsImRpc3BsYXlTdHlsZVRleHQiLCJ0ZXh0T25seUJpbmRpbmciLCJnZXRCaW5kaW5nV2l0aFRleHRBcnJhbmdlbWVudCIsImJpbmRpbmdFeHByZXNzaW9uIiwidG9NYXRjaFNuYXBzaG90IiwiY29tcGlsZUJpbmRpbmciLCJ0b0NvbnRhaW4iLCJldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwiLCJ0YXJnZXRUZXh0Iiwibm9UZXh0QmluZGluZyIsIm5vVGV4dCIsInRleHRGaXJzdEJpbmRpbmciLCJ0ZXh0Rmlyc3QiLCJ0ZXh0TGFzdEJpbmRpbmciLCJ0ZXh0TGFzdCIsImZ1bGxDb250ZXh0Iiwib3RoZXJNb2RlbEJpbmRpbmciLCJhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uIiwibm90IiwiYWRkVGV4dExhc3RCaW5kaW5nIiwiY29tcGxleFRleHRCaW5kaW5nIiwiaWZFbHNlIiwibW9kZWxDb250ZW50IiwidGVzdFByb3AiLCJvUHJvcGVydHlUeXBlIiwiX3R5cGUiLCJ0eXBlIiwiZm9ybWF0V2l0aFR5cGVJbmZvcm1hdGlvbiIsImdldFZpc2libGVFeHByZXNzaW9uIiwiaXNBbmFseXRpY3MiLCJvQW5ub3RhdGlvbnMiLCJMYWJlbCIsIlNlbWFudGljT2JqZWN0IiwiZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlIiwiYVNlbU9iakV4cHJUb1Jlc29sdmUiLCJrZXkiLCJ2YWx1ZSIsIm9TZW1hbnRpY09iamVjdENvbnRleHQiLCJnZXRTZW1hbnRpY09iamVjdHMiLCJnZXRPYmplY3QiLCJvQ29udGV4dFBhdGgiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsIm9NZXRhUGF0aCIsIm9EYXRhTW9kZWxQYXRoIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwib1Byb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwiVmFsdWUiLCIkdGFy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c0YsWUFBTTtBQUM3RixVQUFNdUUsWUFBWSxHQUFHL0YsU0FBUyxDQUFDZ0csb0JBQVYsQ0FBK0IsYUFBL0IsQ0FBckI7QUFDQSxVQUFNQyxTQUFTLEdBQUdqRyxTQUFTLENBQUNnRyxvQkFBVixDQUErQixnRkFBL0IsQ0FBbEI7QUFDQSxVQUFNRSxjQUFjLEdBQUdDLDJCQUEyQixDQUFDRixTQUFELEVBQVlGLFlBQVosQ0FBbEQ7QUFDQSxVQUFNSyxTQUFtQixHQUFHRixjQUFILGFBQUdBLGNBQUgsdUJBQUdBLGNBQWMsQ0FBRUcsWUFBaEIsQ0FBNkJDLEtBQTdCLENBQW1DQyxPQUEvRDtBQUNBM0UsTUFBQUEsTUFBTSxDQUFDNEUscUNBQXFDLENBQUNOLGNBQUQsRUFBd0NFLFNBQXhDLENBQXRDLENBQU4sQ0FBNEd2RSxPQUE1RyxDQUFvSCxLQUFwSDtBQUNBLEtBTkMsQ0FBRjtBQU9BLEdBaFlPLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdGdldEJpbmRpbmdXaXRoVGV4dEFycmFuZ2VtZW50LFxuXHRhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uLFxuXHRnZXRWaXNpYmxlRXhwcmVzc2lvbixcblx0RmllbGRGb3JtYXRPcHRpb25zLFxuXHRnZXRWYWx1ZUJpbmRpbmcsXG5cdGdldERpc3BsYXlTdHlsZSxcblx0Z2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlLFxuXHRnZXRTZW1hbnRpY09iamVjdHMsXG5cdGlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHNcbn0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRUZW1wbGF0aW5nXCI7XG5pbXBvcnQgeyBmb3JtYXRXaXRoVHlwZUluZm9ybWF0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgY29tcGlsZUNEUywgZ2V0TWV0YU1vZGVsLCBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHksIGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbCB9IGZyb20gXCJzYXAvZmUvdGVzdC9KZXN0VGVtcGxhdGluZ0hlbHBlclwiO1xuaW1wb3J0IHsgY29udmVydFR5cGVzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgeyBBbnlBbm5vdGF0aW9uLCBFbnRpdHlTZXQsIEVudGl0eVR5cGUsIFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvYW5ub3RhdGlvbi1jb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGJpbmRpbmdFeHByZXNzaW9uLCBjb21waWxlQmluZGluZywgaWZFbHNlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQmluZGluZ0V4cHJlc3Npb25cIjtcbmltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5cbmRlc2NyaWJlKFwiRmllbGQgVGVtcGxhdGluZyBUZXN0aW5nXCIsICgpID0+IHtcblx0bGV0IGNvbnZlcnRlZFR5cGVzO1xuXHRsZXQgbWV0YU1vZGVsOiBhbnk7XG5cdGxldCBlbnRpdHlTZXQ6IEVudGl0eVNldDtcblx0bGV0IGVudGl0eVR5cGU6IEVudGl0eVR5cGU7XG5cdGNvbnN0IHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIFByb3BlcnR5PiA9IHt9O1xuXHRiZWZvcmVBbGwoYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IHNNZXRhZGF0YVVybCA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuL0ZpZWxkVGVtcGxhdGluZy5jZHNcIikpO1xuXHRcdG1ldGFNb2RlbCA9IGF3YWl0IGdldE1ldGFNb2RlbChzTWV0YWRhdGFVcmwpO1xuXHRcdGNvbnZlcnRlZFR5cGVzID0gY29udmVydFR5cGVzKG1ldGFNb2RlbCk7XG5cdFx0Y29uc3QgbWF5YmVFbnRpdHlTZXQgPSBjb252ZXJ0ZWRUeXBlcy5lbnRpdHlTZXRzLmZpbmQoZXQgPT4gZXQubmFtZSA9PT0gXCJNYWluRW50aXR5XCIpO1xuXHRcdGlmIChtYXliZUVudGl0eVNldCkge1xuXHRcdFx0ZW50aXR5U2V0ID0gbWF5YmVFbnRpdHlTZXQ7XG5cdFx0XHRlbnRpdHlUeXBlID0gbWF5YmVFbnRpdHlTZXQuZW50aXR5VHlwZTtcblx0XHRcdGVudGl0eVR5cGUuZW50aXR5UHJvcGVydGllcy5mb3JFYWNoKHByb3AgPT4ge1xuXHRcdFx0XHRwcm9wZXJ0aWVzW3Byb3AubmFtZV0gPSBwcm9wO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIkVycm9yIGluIHRlc3Qgc2V0dXBcIik7XG5cdFx0fVxuXHR9KTtcblx0YmVmb3JlRWFjaCgoKSA9PiB7XG5cdFx0amVzdC5jbGVhckFsbE1vY2tzKCk7XG5cdH0pO1xuXG5cdGl0KFxuXHRcdFwiI2dldFZhbHVlQmluZGluZ1wiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJCQ1BcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiMjE3MDIzNzE2NVwiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IHRleHRTaW1wbGVCaW5kaW5nID0gZ2V0VmFsdWVCaW5kaW5nKGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0QmluZGluZ1wiXSksIHt9KTtcblx0XHRcdGV4cGVjdCh0ZXh0U2ltcGxlQmluZGluZykudG9FcXVhbChcblx0XHRcdFx0XCJ7cGF0aDogJ3RleHRCaW5kaW5nJywgdHlwZTogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZycsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUtlZXBzRW1wdHlTdHJpbmc6IHRydWV9fVwiXG5cdFx0XHQpO1xuXG5cdFx0XHRjb25zdCB0ZXh0RGVsZXRlRm9ybWF0dGVyQmluZGluZyA9IGdldFZhbHVlQmluZGluZyhcblx0XHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcInRleHRCaW5kaW5nXCJdKSxcblx0XHRcdFx0eyB0ZXh0TWF4TGluZXM6IFwiMTBcIiB9LFxuXHRcdFx0XHR0cnVlLCAvL2lnbm9yZVVuaXQsIGl0IGRvZXNuJ3QgaGF2ZSB1bml0LCBzbyBkb2Vzbid0IG1hdHRlci4gVGVzdGVkIGEgZmV3IGxpbmVzIGxhdGVyLlxuXHRcdFx0XHR0cnVlXG5cdFx0XHQpO1xuXHRcdFx0ZXhwZWN0KHRleHREZWxldGVGb3JtYXR0ZXJCaW5kaW5nKS50b0VxdWFsKFwie3RleHRCaW5kaW5nfVwiKTtcblxuXHRcdFx0Y29uc3QgdGV4dEJpbmRpbmdQYXJhbWV0dGVyID0gZ2V0VmFsdWVCaW5kaW5nKFxuXHRcdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1widGV4dEJpbmRpbmdcIl0pLFxuXHRcdFx0XHR7IHRleHRNYXhMaW5lczogXCIxMFwiIH0sXG5cdFx0XHRcdHRydWUsXG5cdFx0XHRcdHRydWUsXG5cdFx0XHRcdHsgJCRub1BhdGNoOiB0cnVlIH1cblx0XHRcdCk7XG5cdFx0XHRleHBlY3QodGV4dEJpbmRpbmdQYXJhbWV0dGVyKS50b0VxdWFsKFwie3BhdGg6ICd0ZXh0QmluZGluZycsIHBhcmFtZXRlcnM6IHskJG5vUGF0Y2g6IHRydWV9fVwiKTtcblxuXHRcdFx0Y29uc3QgdGV4dFR5cGVBbnkgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJ0ZXh0QmluZGluZ1wiXSksXG5cdFx0XHRcdHt9LFxuXHRcdFx0XHRmYWxzZSxcblx0XHRcdFx0ZmFsc2UsXG5cdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0dHJ1ZVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdCh0ZXh0VHlwZUFueSkudG9FcXVhbChcblx0XHRcdFx0XCJ7cGF0aDogJ3RleHRCaW5kaW5nJywgdHlwZTogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLlN0cmluZycsIHRhcmdldFR5cGU6ICdhbnknLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VLZWVwc0VtcHR5U3RyaW5nOiB0cnVlfX1cIlxuXHRcdFx0KTtcblxuXHRcdFx0Y29uc3QgZW1haWxTaW1wbGVCaW5kaW5nID0gZ2V0VmFsdWVCaW5kaW5nKGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJlbWFpbEJpbmRpbmdcIl0pLCB7fSk7XG5cdFx0XHRleHBlY3QoZW1haWxTaW1wbGVCaW5kaW5nKS50b0VxdWFsKFwie3BhdGg6ICdlbWFpbEJpbmRpbmcnLCB0eXBlOiAnc2FwLmZlLmNvcmUudHlwZS5FbWFpbCd9XCIpO1xuXG5cdFx0XHRjb25zdCB1bml0V2l0aEN1cnJlbmN5QmluZGluZ1NpbXBsZUJpbmRpbmcgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJVbml0V2l0aEN1cnJlbmN5QmluZGluZ1wiXSksXG5cdFx0XHRcdHt9XG5cdFx0XHQpO1xuXHRcdFx0ZXhwZWN0KHVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nU2ltcGxlQmluZGluZykudG9NYXRjaElubGluZVNuYXBzaG90KFxuXHRcdFx0XHRgXCJ7bW9kZTonVHdvV2F5JywgcGFydHM6W3twYXRoOiAnVW5pdFdpdGhDdXJyZW5jeUJpbmRpbmcnLCB0eXBlOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuSW50MzInLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319LHtwYXRoOiAnY3VycmVuY3knLCB0eXBlOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuU3RyaW5nJywgZm9ybWF0T3B0aW9uczoge3BhcnNlS2VlcHNFbXB0eVN0cmluZzogdHJ1ZX19LHttb2RlOidPbmVUaW1lJyxwYXRoOicvIyNAQHJlcXVlc3RDdXJyZW5jeUNvZGVzJyx0YXJnZXRUeXBlOidhbnknfV0sdHlwZTonc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuQ3VycmVuY3knLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJywgc2hvd01lYXN1cmU6IGZhbHNlfX1cImBcblx0XHRcdCk7XG5cblx0XHRcdGNvbnN0IHVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nSWdub3JlVW5pdCA9IGdldFZhbHVlQmluZGluZyhcblx0XHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcIlVuaXRXaXRoQ3VycmVuY3lCaW5kaW5nXCJdKSxcblx0XHRcdFx0e30sXG5cdFx0XHRcdHRydWVcblx0XHRcdCk7XG5cdFx0XHRleHBlY3QodW5pdFdpdGhDdXJyZW5jeUJpbmRpbmdJZ25vcmVVbml0KS50b0VxdWFsKFxuXHRcdFx0XHRcIntwYXRoOiAnVW5pdFdpdGhDdXJyZW5jeUJpbmRpbmcnLCB0eXBlOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuSW50MzInLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VBc1N0cmluZzogZmFsc2UsIGVtcHR5U3RyaW5nOiAnJ319XCJcblx0XHRcdCk7XG5cblx0XHRcdGNvbnN0IHVuaXRXaXRoQ3VycmVuY3lEZXNjcmlwdGlvbkJpbmRpbmcgPSBnZXRWYWx1ZUJpbmRpbmcoXG5cdFx0XHRcdGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShlbnRpdHlTZXQsIHByb3BlcnRpZXNbXCJVbml0V2l0aEN1cnJlbmN5QmluZGluZ1wiXSksXG5cdFx0XHRcdHt9LFxuXHRcdFx0XHRmYWxzZSxcblx0XHRcdFx0ZmFsc2UsXG5cdFx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdFx0dHJ1ZSxcblx0XHRcdFx0dHJ1ZVxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdCh1bml0V2l0aEN1cnJlbmN5RGVzY3JpcHRpb25CaW5kaW5nKS50b01hdGNoSW5saW5lU25hcHNob3QoXG5cdFx0XHRcdGBcInttb2RlOidUd29XYXknLCBwYXJ0czpbe3BhdGg6ICdVbml0V2l0aEN1cnJlbmN5QmluZGluZycsIHR5cGU6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5JbnQzMicsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUFzU3RyaW5nOiBmYWxzZSwgZW1wdHlTdHJpbmc6ICcnfX0se3BhdGg6ICdjdXJyZW5jeScsIHR5cGU6ICdzYXAudWkubW9kZWwub2RhdGEudHlwZS5TdHJpbmcnLCBmb3JtYXRPcHRpb25zOiB7cGFyc2VLZWVwc0VtcHR5U3RyaW5nOiB0cnVlfX0se21vZGU6J09uZVRpbWUnLHBhdGg6Jy8jI0BAcmVxdWVzdEN1cnJlbmN5Q29kZXMnLHRhcmdldFR5cGU6J2FueSd9XSx0eXBlOidzYXAudWkubW9kZWwub2RhdGEudHlwZS5DdXJyZW5jeScsIGZvcm1hdE9wdGlvbnM6IHtwYXJzZUFzU3RyaW5nOiBmYWxzZSwgZW1wdHlTdHJpbmc6ICcnLCBzaG93TnVtYmVyOiBmYWxzZX19XCJgXG5cdFx0XHQpO1xuXHRcdH1cblx0KTtcblxuXHRpdChcblx0XHRcIiNnZXREaXNwbGF5U3R5bGVcIixcblx0XHR7XG5cdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0XCJ0eXBlXCI6IFwiSklSQVwiLFxuXHRcdFx0XHRcdFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTE3NlwiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IGVudGl0eVNldExpbmVJdGVtID0gZW50aXR5U2V0LmVudGl0eVR5cGUuYW5ub3RhdGlvbnMuVUk/LkxpbmVJdGVtIGFzIExpbmVJdGVtO1xuXHRcdFx0Y29uc3QgZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgZW50aXR5U2V0TGluZUl0ZW1bMV0gYXMgQW55QW5ub3RhdGlvbik7XG5cdFx0XHRjb25zdCBmb3JtYXRPcHRpb25zID0ge1xuXHRcdFx0XHR2YWx1ZUZvcm1hdDogXCJEZXNjcmlwdGlvblZhbHVlXCIsXG5cdFx0XHRcdHRleHRBbGlnbk1vZGU6IFwiRm9ybVwiLFxuXHRcdFx0XHRyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0OiBmYWxzZVxuXHRcdFx0fSBhcyBGaWVsZEZvcm1hdE9wdGlvbnM7XG5cblx0XHRcdGNvbnN0IGRhdGFGaWVsZENvbnZlcnRlZCA9IGdldFZhbHVlQmluZGluZyhcblx0XHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcInByb3BlcnR5Tm9UZXh0V2l0aFZIXCJdKSxcblx0XHRcdFx0e31cblx0XHRcdCk7XG5cblx0XHRcdC8vIGRpc3BsYXlTdHlsZSBcIkxpbmtXaXRoUXVpY2tWaWV3Rm9ybVwiXG5cdFx0XHRjb25zdCBzZW1hbnRpY09iamVjdDogc3RyaW5nID0gXCJzZW1hbnRpY09iamVjdFwiO1xuXHRcdFx0Y29uc3QgZGlzcGxheVN0eWxlTGluayA9IGdldERpc3BsYXlTdHlsZShcblx0XHRcdFx0cHJvcGVydGllc1tcInByb3BlcnR5Tm9UZXh0V2l0aFZIXCJdLFxuXHRcdFx0XHRkYXRhRmllbGRDb252ZXJ0ZWQsXG5cdFx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSxcblx0XHRcdFx0Zm9ybWF0T3B0aW9ucyxcblx0XHRcdFx0c2VtYW50aWNPYmplY3Rcblx0XHRcdCk7XG5cdFx0XHRleHBlY3QoZGlzcGxheVN0eWxlTGluaykudG9FcXVhbChcIkxpbmtXaXRoUXVpY2tWaWV3Rm9ybVwiKTtcblxuXHRcdFx0Ly8gZGlzcGxheVN0eWxlIFwiVGV4dFwiXG5cdFx0XHRjb25zdCBub1NlbWFudGljT2JqZWN0OiBzdHJpbmcgPSBcIlwiO1xuXHRcdFx0Y29uc3QgZGlzcGxheVN0eWxlVGV4dCA9IGdldERpc3BsYXlTdHlsZShcblx0XHRcdFx0cHJvcGVydGllc1tcInByb3BlcnR5Tm9UZXh0V2l0aFZIXCJdLFxuXHRcdFx0XHRkYXRhRmllbGRDb252ZXJ0ZWQsXG5cdFx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSxcblx0XHRcdFx0Zm9ybWF0T3B0aW9ucyxcblx0XHRcdFx0bm9TZW1hbnRpY09iamVjdFxuXHRcdFx0KTtcblx0XHRcdGV4cGVjdChkaXNwbGF5U3R5bGVUZXh0KS50b0VxdWFsKFwiVGV4dFwiKTtcblx0XHR9XG5cdCk7XG5cblx0aXQoXCIjZ2V0QmluZGluZ1dpdGhUZXh0QXJyYW5nZW1lbnRcIiwgKCkgPT4ge1xuXHRcdC8vIENhc2VzIHRvIGNvbnNpZGVyXG5cblx0XHQvLyBUZXh0T25seVxuXHRcdGNvbnN0IHRleHRPbmx5QmluZGluZyA9IGdldEJpbmRpbmdXaXRoVGV4dEFycmFuZ2VtZW50KFxuXHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcInRleHRPbmx5XCJdKSxcblx0XHRcdGJpbmRpbmdFeHByZXNzaW9uKFwidGV4dE9ubHlcIilcblx0XHQpO1xuXHRcdGV4cGVjdCh0ZXh0T25seUJpbmRpbmcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyh0ZXh0T25seUJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0YXJnZXRUZXh0XCIpO1xuXHRcdGV4cGVjdChldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwoY29tcGlsZUJpbmRpbmcodGV4dE9ubHlCaW5kaW5nKSwgeyB0YXJnZXRUZXh0OiBcIllvbG9cIiB9KSkudG9FcXVhbChcIllvbG9cIik7XG5cblx0XHQvLyBObyB0ZXh0IGFycmFuZ2VtZW50XG5cdFx0Y29uc3Qgbm9UZXh0QmluZGluZyA9IGdldEJpbmRpbmdXaXRoVGV4dEFycmFuZ2VtZW50KFxuXHRcdFx0Z2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KGVudGl0eVNldCwgcHJvcGVydGllc1tcIm5vVGV4dFwiXSksXG5cdFx0XHRiaW5kaW5nRXhwcmVzc2lvbihcIm5vVGV4dFwiKVxuXHRcdCk7XG5cdFx0ZXhwZWN0KG5vVGV4dEJpbmRpbmcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhub1RleHRCaW5kaW5nKSkudG9Db250YWluKFwibm9UZXh0XCIpO1xuXHRcdGV4cGVjdChldmFsdWF0ZUJpbmRpbmdXaXRoTW9kZWwoY29tcGlsZUJpbmRpbmcobm9UZXh0QmluZGluZyksIHsgbm9UZXh0OiBcIllvbG9cIiB9KSkudG9FcXVhbChcIllvbG9cIik7XG5cblx0XHQvLyBUZXh0Rmlyc3Rcblx0XHRjb25zdCB0ZXh0Rmlyc3RCaW5kaW5nID0gZ2V0QmluZGluZ1dpdGhUZXh0QXJyYW5nZW1lbnQoXG5cdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1widGV4dEZpcnN0XCJdKSxcblx0XHRcdGJpbmRpbmdFeHByZXNzaW9uKFwidGV4dEZpcnN0XCIpXG5cdFx0KTtcblx0XHRleHBlY3QodGV4dEZpcnN0QmluZGluZykudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKHRleHRGaXJzdEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0ZXh0Rmlyc3RcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKHRleHRGaXJzdEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0YXJnZXRUZXh0XCIpO1xuXHRcdGV4cGVjdChcblx0XHRcdGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbChjb21waWxlQmluZGluZyh0ZXh0Rmlyc3RCaW5kaW5nKSwgeyB0ZXh0Rmlyc3Q6IFwiWW9sbyBMYXN0XCIsIHRhcmdldFRleHQ6IFwiWW9sbyBEZXNjcmlwdGlvblwiIH0pXG5cdFx0KS50b0VxdWFsKFwiWW9sbyBEZXNjcmlwdGlvbiAoWW9sbyBMYXN0KVwiKTtcblxuXHRcdC8vIFRleHRMYXN0XG5cdFx0Y29uc3QgdGV4dExhc3RCaW5kaW5nID0gZ2V0QmluZGluZ1dpdGhUZXh0QXJyYW5nZW1lbnQoXG5cdFx0XHRnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0LCBwcm9wZXJ0aWVzW1widGV4dExhc3RcIl0pLFxuXHRcdFx0YmluZGluZ0V4cHJlc3Npb24oXCJ0ZXh0TGFzdFwiKVxuXHRcdCk7XG5cdFx0ZXhwZWN0KHRleHRMYXN0QmluZGluZykudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKHRleHRMYXN0QmluZGluZykpLnRvQ29udGFpbihcInRleHRMYXN0XCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyh0ZXh0TGFzdEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0YXJnZXRUZXh0XCIpO1xuXHRcdGV4cGVjdChcblx0XHRcdGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbChjb21waWxlQmluZGluZyh0ZXh0TGFzdEJpbmRpbmcpLCB7IHRleHRMYXN0OiBcIllvbG8gRmlyc3RcIiwgdGFyZ2V0VGV4dDogXCJZb2xvIERlc2NyaXB0aW9uXCIgfSlcblx0XHQpLnRvRXF1YWwoXCJZb2xvIEZpcnN0IChZb2xvIERlc2NyaXB0aW9uKVwiKTtcblx0fSk7XG5cblx0aXQoXCIjYWRkVGV4dEFycmFuZ2VtZW50VG9CaW5kaW5nRXhwcmVzc2lvblwiLCAoKSA9PiB7XG5cdFx0Y29uc3QgZnVsbENvbnRleHQgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoZW50aXR5U2V0KTtcblxuXHRcdGNvbnN0IG90aGVyTW9kZWxCaW5kaW5nID0gYWRkVGV4dEFycmFuZ2VtZW50VG9CaW5kaW5nRXhwcmVzc2lvbihiaW5kaW5nRXhwcmVzc2lvbihcInRleHRMYXN0XCIsIFwib3RoZXJNb2RlbFwiKSwgZnVsbENvbnRleHQpO1xuXHRcdGV4cGVjdChvdGhlck1vZGVsQmluZGluZykudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKG90aGVyTW9kZWxCaW5kaW5nKSkudG9Db250YWluKFwidGV4dExhc3RcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKG90aGVyTW9kZWxCaW5kaW5nKSkubm90LnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cblx0XHRjb25zdCBhZGRUZXh0TGFzdEJpbmRpbmcgPSBhZGRUZXh0QXJyYW5nZW1lbnRUb0JpbmRpbmdFeHByZXNzaW9uKGJpbmRpbmdFeHByZXNzaW9uKFwidGV4dExhc3RcIiksIGZ1bGxDb250ZXh0KTtcblx0XHRleHBlY3QoYWRkVGV4dExhc3RCaW5kaW5nKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRleHBlY3QoY29tcGlsZUJpbmRpbmcoYWRkVGV4dExhc3RCaW5kaW5nKSkudG9Db250YWluKFwidGV4dExhc3RcIik7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGFkZFRleHRMYXN0QmluZGluZykpLnRvQ29udGFpbihcInRhcmdldFRleHRcIik7XG5cdFx0ZXhwZWN0KFxuXHRcdFx0ZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKGFkZFRleHRMYXN0QmluZGluZyksIHsgdGV4dExhc3Q6IFwiWW9sbyBGaXJzdFwiLCB0YXJnZXRUZXh0OiBcIllvbG8gRGVzY3JpcHRpb25cIiB9KVxuXHRcdCkudG9FcXVhbChcIllvbG8gRmlyc3QgKFlvbG8gRGVzY3JpcHRpb24pXCIpO1xuXG5cdFx0Y29uc3QgY29tcGxleFRleHRCaW5kaW5nID0gYWRkVGV4dEFycmFuZ2VtZW50VG9CaW5kaW5nRXhwcmVzc2lvbihcblx0XHRcdGlmRWxzZShiaW5kaW5nRXhwcmVzc2lvbihcInRlc3RQcm9wXCIpLCBiaW5kaW5nRXhwcmVzc2lvbihcInRleHRMYXN0XCIpLCBiaW5kaW5nRXhwcmVzc2lvbihcIm5vVGV4dFwiKSksXG5cdFx0XHRmdWxsQ29udGV4dFxuXHRcdCk7XG5cdFx0ZXhwZWN0KGNvbXBsZXhUZXh0QmluZGluZykudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0ZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGNvbXBsZXhUZXh0QmluZGluZykpLnRvQ29udGFpbihcInRleHRMYXN0XCIpO1xuXHRcdGV4cGVjdChjb21waWxlQmluZGluZyhjb21wbGV4VGV4dEJpbmRpbmcpKS50b0NvbnRhaW4oXCJ0YXJnZXRUZXh0XCIpO1xuXHRcdGNvbnN0IG1vZGVsQ29udGVudCA9IHtcblx0XHRcdHRlc3RQcm9wOiB0cnVlLFxuXHRcdFx0dGV4dExhc3Q6IFwiWW9sbyBGaXJzdFwiLFxuXHRcdFx0dGFyZ2V0VGV4dDogXCJZb2xvIERlc2NyaXB0aW9uXCIsXG5cdFx0XHRub1RleHQ6IFwiTm90IFlvbG9cIlxuXHRcdH07XG5cdFx0ZXhwZWN0KGV2YWx1YXRlQmluZGluZ1dpdGhNb2RlbChjb21waWxlQmluZGluZyhjb21wbGV4VGV4dEJpbmRpbmcpLCBtb2RlbENvbnRlbnQpKS50b0VxdWFsKFwiWW9sbyBGaXJzdCAoWW9sbyBEZXNjcmlwdGlvbilcIik7XG5cblx0XHRtb2RlbENvbnRlbnQudGVzdFByb3AgPSBmYWxzZTtcblx0XHRleHBlY3QoZXZhbHVhdGVCaW5kaW5nV2l0aE1vZGVsKGNvbXBpbGVCaW5kaW5nKGNvbXBsZXhUZXh0QmluZGluZyksIG1vZGVsQ29udGVudCkpLnRvRXF1YWwoXCJOb3QgWW9sb1wiKTtcblx0fSk7XG5cblx0aXQoXCJmb3JtYXR0ZWQgSW50ZWdlciB0eXBlIGNhbGxcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG9Qcm9wZXJ0eVR5cGUgPSB7IF90eXBlOiBcIlByb3BlcnR5XCIsIHR5cGU6IFwiRWRtLkludDMyXCIgfSBhcyBQcm9wZXJ0eTtcblx0XHRyZXR1cm4gZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb24ob1Byb3BlcnR5VHlwZSwgYmluZGluZ0V4cHJlc3Npb24oXCJ2YWx1ZVwiKSkpKS50b0VxdWFsKFxuXHRcdFx0XCJ7cGF0aDogJ3ZhbHVlJywgdHlwZTogJ3NhcC51aS5tb2RlbC5vZGF0YS50eXBlLkludDMyJywgZm9ybWF0T3B0aW9uczoge3BhcnNlQXNTdHJpbmc6IGZhbHNlLCBlbXB0eVN0cmluZzogJyd9fVwiXG5cdFx0KTtcblx0fSk7XG5cblx0aXQoXG5cdFx0XCJmb3JtYXR0ZWQgRG91YmxlIHR5cGUgY2FsbFwiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRcInR5cGVcIjogXCJCQ1BcIixcblx0XHRcdFx0XHRcIklEXCI6IFwiMjE4MDIxMjE0OFwiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9LFxuXHRcdCgpID0+IHtcblx0XHRcdGNvbnN0IG9Qcm9wZXJ0eVR5cGUgPSB7IF90eXBlOiBcIlByb3BlcnR5XCIsIHR5cGU6IFwiRWRtLkRvdWJsZVwiIH0gYXMgUHJvcGVydHk7XG5cdFx0XHRyZXR1cm4gZXhwZWN0KGNvbXBpbGVCaW5kaW5nKGZvcm1hdFdpdGhUeXBlSW5mb3JtYXRpb24ob1Byb3BlcnR5VHlwZSwgYmluZGluZ0V4cHJlc3Npb24oXCJ2YWx1ZVwiKSkpKS50b0VxdWFsKFxuXHRcdFx0XHRcIntwYXRoOiAndmFsdWUnLCB0eXBlOiAnc2FwLnVpLm1vZGVsLm9kYXRhLnR5cGUuRG91YmxlJywgZm9ybWF0T3B0aW9uczoge3BhcnNlQXNTdHJpbmc6IGZhbHNlLCBlbXB0eVN0cmluZzogJyd9fVwiXG5cdFx0XHQpO1xuXHRcdH1cblx0KTtcblxuXHRpdChcImNhbiBldmFsdWF0ZSB0aGUgdmlzaWJsZSBwYXJhbWV0ZXIgYmFzZWQgb24gVUkuSGlkZGVuXCIsICgpID0+IHtcblx0XHRjb25zdCBlbnRpdHlTZXRMaW5lSXRlbSA9IGVudGl0eVNldC5lbnRpdHlUeXBlLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbSBhcyBMaW5lSXRlbTtcblx0XHRsZXQgZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bMV0gYXMgQW55QW5ub3RhdGlvbiAvLyBzdGF0aWNIaWRkZW5Qcm9wXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcImZhbHNlXCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzJdIGFzIEFueUFubm90YXRpb24gLy8gZHluYW1pY0hpZGRlblByb3Bcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiez0gJXtpc0hpZGRlbn0gIT09IHRydWV9XCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzNdIGFzIEFueUFubm90YXRpb24gLy8gdGV4dEZpcnN0IHdpdGggZGF0YUZpZWxkIHN0YXRpY2FsbHkgaGlkZGVuXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcImZhbHNlXCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzRdIGFzIEFueUFubm90YXRpb24gLy8gdGV4dE9ubHkgd2l0aCBkYXRhRmllbGQgZHluYW1pY2FsbHkgaGlkZGVuXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcIns9ICV7aXNIaWRkZW59ICE9PSB0cnVlfVwiKTtcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoXG5cdFx0XHRlbnRpdHlTZXQsXG5cdFx0XHRlbnRpdHlTZXRMaW5lSXRlbVs1XSBhcyBBbnlBbm5vdGF0aW9uIC8vIGR5bmFtaWNIaWRkZW5Qcm9wMiB3aXRoIGR5bmFtaWMgZGF0YWZpZWxkIGhpZGRlblxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVuMn0gIT09IHRydWUgJiYgJXtpc0hpZGRlbn0gIT09IHRydWV9XCIpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHksIHsgaXNBbmFseXRpY3M6IHRydWUgfSBhcyBGaWVsZEZvcm1hdE9wdGlvbnMpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAle2lzSGlkZGVuMn0gIT09IHRydWUgJiYgJXtpc0hpZGRlbn0gIT09IHRydWUgJiYgKCV7QCR1aTUubm9kZS5pc0V4cGFuZGVkfSAhPT0gdHJ1ZSB8fCAle0AkdWk1Lm5vZGUubGV2ZWx9ID09PSAwKX1cIlxuXHRcdCk7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5ID0gZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KFxuXHRcdFx0ZW50aXR5U2V0LFxuXHRcdFx0ZW50aXR5U2V0TGluZUl0ZW1bNl0gYXMgQW55QW5ub3RhdGlvbiAvLyBoaWRkZW5XaXRoMTFOYXYgd2l0aCBkeW5hbWljIGRhdGFmaWVsZCBoaWRkZW5cblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFxuXHRcdFx0XCJ7PSAle2lzSGlkZGVuMn0gIT09IHRydWUgJiYgJXtTcGVjaWFsQ2hpbGQvaXNIaWRkZW59ICE9PSB0cnVlfVwiXG5cdFx0KTtcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoXG5cdFx0XHRlbnRpdHlTZXQsXG5cdFx0XHRlbnRpdHlTZXRMaW5lSXRlbVs3XSBhcyBBbnlBbm5vdGF0aW9uIC8vIGhpZGRlbldpdGgxTk5hdiB3aXRoIGR5bmFtaWMgZGF0YWZpZWxkIGhpZGRlbiAtPiBEb2Vzbid0IG1ha2Ugc2Vuc2UgYW5kIG1vZGVsIHdpbGwgY29tcGxhaW4gYnV0IGhlaCA6KFxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ7PSAle2lzSGlkZGVuMn0gIT09IHRydWUgJiYgJXtfRWxlbWVudHMvaXNIaWRkZW59ICE9PSB0cnVlfVwiKTtcblx0XHRkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkgPSBnZXREYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkoXG5cdFx0XHRlbnRpdHlTZXQsXG5cdFx0XHRlbnRpdHlTZXRMaW5lSXRlbVs4XSBhcyBBbnlBbm5vdGF0aW9uIC8vIERhdGEgRmllbGQgRm9yIEFjdGlvblxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ0cnVlXCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzldIGFzIEFueUFubm90YXRpb24gLy8gRGF0YUZpZWxkRm9yQW5ub3RhdGlvbiAtPiBkYXRhIHBvaW50IHZpc2libGVcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwidHJ1ZVwiKTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5LCB7IGlzQW5hbHl0aWNzOiB0cnVlIH0gYXMgRmllbGRGb3JtYXRPcHRpb25zKSkudG9FcXVhbChcblx0XHRcdFwiez0gJXtAJHVpNS5ub2RlLmlzRXhwYW5kZWR9ICE9PSB0cnVlIHx8ICV7QCR1aTUubm9kZS5sZXZlbH0gPT09IDB9XCJcblx0XHQpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzEwXSBhcyBBbnlBbm5vdGF0aW9uIC8vIERhdGFGaWVsZEZvckFubm90YXRpb24gLT4gZGF0YSBwb2ludCBkeW5hbWljIHZpc2libGVcblx0XHQpO1xuXHRcdGV4cGVjdChnZXRWaXNpYmxlRXhwcmVzc2lvbihkYXRhTW9kZWxPYmplY3RQYXRoRm9yUHJvcGVydHkpKS50b0VxdWFsKFwiez0gJXtpc0hpZGRlbn0gIT09IHRydWV9XCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzExXSBhcyBBbnlBbm5vdGF0aW9uIC8vIG5vSGlkZGVuUHJvcFxuXHRcdCk7XG5cdFx0ZXhwZWN0KGdldFZpc2libGVFeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSkpLnRvRXF1YWwoXCJ0cnVlXCIpO1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eSA9IGdldERhdGFNb2RlbE9iamVjdFBhdGhGb3JQcm9wZXJ0eShcblx0XHRcdGVudGl0eVNldCxcblx0XHRcdGVudGl0eVNldExpbmVJdGVtWzEyXSBhcyBBbnlBbm5vdGF0aW9uIC8vIERhdGFGaWVsZEZvckFubm90YXRpb24gLT4gRmllbGRHcm91cCAtPiBEYXRhXG5cdFx0KTtcblx0XHRleHBlY3QoZ2V0VmlzaWJsZUV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aEZvclByb3BlcnR5KSkudG9FcXVhbChcInRydWVcIik7XG5cdH0pO1xuXG5cdGl0KFwiZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlIHdpdGggYW5ub3RhdGlvbnNcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG9Bbm5vdGF0aW9ucyA9IHtcblx0XHRcdExhYmVsOiBcIlNlbWFudGljIE9iamVjdCBQcm9wZXJ0eVwiLFxuXHRcdFx0U2VtYW50aWNPYmplY3Q6IFwidjQtRnJlZXN0eWxlXCJcblx0XHR9O1xuXHRcdGV4cGVjdChnZXRTZW1hbnRpY09iamVjdEV4cHJlc3Npb25Ub1Jlc29sdmUob0Fubm90YXRpb25zKSkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlIHdpdGggYW5ub3RhdGlvbnMgYW5kIHNlbWFudGljIG9iamVjdCBxdWFsaWZpZXJcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG9Bbm5vdGF0aW9ucyA9IHtcblx0XHRcdFwiTGFiZWxcIjogXCJTZW1hbnRpYyBPYmplY3QgUHJvcGVydHlcIixcblx0XHRcdFwiU2VtYW50aWNPYmplY3QjUXVhbGlmaWVyXCI6IFwidjQtRnJlZXN0eWxlXCJcblx0XHR9O1xuXHRcdGV4cGVjdChnZXRTZW1hbnRpY09iamVjdEV4cHJlc3Npb25Ub1Jlc29sdmUob0Fubm90YXRpb25zKSkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiZ2V0U2VtYW50aWNPYmplY3RFeHByZXNzaW9uVG9SZXNvbHZlIHdpdGhvdXQgYW5ub3RhdGlvbnNcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG9Bbm5vdGF0aW9ucyA9IHt9O1xuXHRcdGV4cGVjdChnZXRTZW1hbnRpY09iamVjdEV4cHJlc3Npb25Ub1Jlc29sdmUob0Fubm90YXRpb25zKSkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiZ2V0U2VtYW50aWNPYmplY3RzIHdpdGggYVNlbU9iakV4cHJUb1Jlc29sdmVcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGFTZW1PYmpFeHByVG9SZXNvbHZlID0gW1xuXHRcdFx0e1xuXHRcdFx0XHRrZXk6IFwidjQtRnJlZXN0eWxlXCIsXG5cdFx0XHRcdHZhbHVlOiBcInY0LUZyZWVzdHlsZVwiXG5cdFx0XHR9XG5cdFx0XTtcblx0XHRjb25zdCBvU2VtYW50aWNPYmplY3RDb250ZXh0ID0gZ2V0U2VtYW50aWNPYmplY3RzKGFTZW1PYmpFeHByVG9SZXNvbHZlKTtcblx0XHRleHBlY3Qob1NlbWFudGljT2JqZWN0Q29udGV4dC5nZXRPYmplY3QoKSkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiZ2V0U2VtYW50aWNPYmplY3RzIHdpdGhvdXQgYVNlbU9iakV4cHJUb1Jlc29sdmVcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IGFTZW1PYmpFeHByVG9SZXNvbHZlOiBhbnkgPSBbXTtcblx0XHRjb25zdCBvU2VtYW50aWNPYmplY3RDb250ZXh0ID0gZ2V0U2VtYW50aWNPYmplY3RzKGFTZW1PYmpFeHByVG9SZXNvbHZlKTtcblx0XHRleHBlY3Qob1NlbWFudGljT2JqZWN0Q29udGV4dC5nZXRPYmplY3QoKSkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiaXNVc2VkSW5OYXZpZ2F0aW9uV2l0aFF1aWNrVmlld0ZhY2V0cyB3aXRoIGRhdGFwb2ludCBoYXZpbmcgUXVpY2tWaWV3RmFjZXRzXCIsICgpID0+IHtcblx0XHRjb25zdCBvQ29udGV4dFBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eVwiKTtcblx0XHRjb25zdCBvTWV0YVBhdGggPSBtZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvTWFpbkVudGl0eS9AY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuSGVhZGVyRmFjZXRzLzIvVGFyZ2V0LyRBbm5vdGF0aW9uUGF0aC9cIik7XG5cdFx0Y29uc3Qgb0RhdGFNb2RlbFBhdGggPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMob01ldGFQYXRoLCBvQ29udGV4dFBhdGgpO1xuXHRcdGNvbnN0IG9Qcm9wZXJ0eTogUHJvcGVydHkgPSBvRGF0YU1vZGVsUGF0aD8udGFyZ2V0T2JqZWN0LlZhbHVlLiR0YXJnZXQ7XG5cdFx0ZXhwZWN0KGlzVXNlZEluTmF2aWdhdGlvbldpdGhRdWlja1ZpZXdGYWNldHMob0RhdGFNb2RlbFBhdGggYXMgRGF0YU1vZGVsT2JqZWN0UGF0aCwgb1Byb3BlcnR5IGFzIFByb3BlcnR5KSkudG9FcXVhbCh0cnVlKTtcblx0fSk7XG5cblx0aXQoXCJpc1VzZWRJbk5hdmlnYXRpb25XaXRoUXVpY2tWaWV3RmFjZXRzIHdpdGggZGF0YXBvaW50IG5vdCBoYXZpbmcgUXVpY2sgVmlldyBGYWNldHNcIiwgKCkgPT4ge1xuXHRcdGNvbnN0IG9Db250ZXh0UGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5XCIpO1xuXHRcdGNvbnN0IG9NZXRhUGF0aCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dChcIi9NYWluRW50aXR5L0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5IZWFkZXJGYWNldHMvMy9UYXJnZXQvJEFubm90YXRpb25QYXRoL1wiKTtcblx0XHRjb25zdCBvRGF0YU1vZGVsUGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyhvTWV0YVBhdGgsIG9Db250ZXh0UGF0aCk7XG5cdFx0Y29uc3Qgb1Byb3BlcnR5OiBQcm9wZXJ0eSA9IG9EYXRhTW9kZWxQYXRoPy50YXJnZXRPYmplY3QuVmFsdWUuJHRhcmdldDtcblx0XHRleHBlY3QoaXNVc2VkSW5OYXZpZ2F0aW9uV2l0aFF1aWNrVmlld0ZhY2V0cyhvRGF0YU1vZGVsUGF0aCBhcyBEYXRhTW9kZWxPYmplY3RQYXRoLCBvUHJvcGVydHkgYXMgUHJvcGVydHkpKS50b0VxdWFsKGZhbHNlKTtcblx0fSk7XG59KTtcbiJdfQ==
|
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
FieldFormatOptions,
|
|
6
6
|
getValueBinding,
|
|
7
7
|
getDisplayStyle,
|
|
8
|
-
getDataPointStyle,
|
|
9
8
|
getSemanticObjectExpressionToResolve,
|
|
10
9
|
getSemanticObjects,
|
|
11
10
|
isUsedInNavigationWithQuickViewFacets
|
|
@@ -97,8 +96,8 @@ describe("Field Templating Testing", () => {
|
|
|
97
96
|
getDataModelObjectPathForProperty(entitySet, properties["UnitWithCurrencyBinding"]),
|
|
98
97
|
{}
|
|
99
98
|
);
|
|
100
|
-
expect(unitWithCurrencyBindingSimpleBinding).
|
|
101
|
-
"{mode:'TwoWay', parts:[{path:'UnitWithCurrencyBinding', type
|
|
99
|
+
expect(unitWithCurrencyBindingSimpleBinding).toMatchInlineSnapshot(
|
|
100
|
+
`"{mode:'TwoWay', parts:[{path: 'UnitWithCurrencyBinding', type: 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}},{path: 'currency', type: 'sap.ui.model.odata.type.String', formatOptions: {parseKeepsEmptyString: true}},{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency', formatOptions: {parseAsString: false, emptyString: '', showMeasure: false}}"`
|
|
102
101
|
);
|
|
103
102
|
|
|
104
103
|
const unitWithCurrencyBindingIgnoreUnit = getValueBinding(
|
|
@@ -119,8 +118,8 @@ describe("Field Templating Testing", () => {
|
|
|
119
118
|
true,
|
|
120
119
|
true
|
|
121
120
|
);
|
|
122
|
-
expect(unitWithCurrencyDescriptionBinding).
|
|
123
|
-
"{mode:'TwoWay', parts:[{path:'UnitWithCurrencyBinding', type
|
|
121
|
+
expect(unitWithCurrencyDescriptionBinding).toMatchInlineSnapshot(
|
|
122
|
+
`"{mode:'TwoWay', parts:[{path: 'UnitWithCurrencyBinding', type: 'sap.ui.model.odata.type.Int32', formatOptions: {parseAsString: false, emptyString: ''}},{path: 'currency', type: 'sap.ui.model.odata.type.String', formatOptions: {parseKeepsEmptyString: true}},{mode:'OneTime',path:'/##@@requestCurrencyCodes',targetType:'any'}],type:'sap.ui.model.odata.type.Currency', formatOptions: {parseAsString: false, emptyString: '', showNumber: false}}"`
|
|
124
123
|
);
|
|
125
124
|
}
|
|
126
125
|
);
|
|
@@ -138,27 +137,38 @@ describe("Field Templating Testing", () => {
|
|
|
138
137
|
() => {
|
|
139
138
|
const entitySetLineItem = entitySet.entityType.annotations.UI?.LineItem as LineItem;
|
|
140
139
|
const dataModelObjectPathForProperty = getDataModelObjectPathForProperty(entitySet, entitySetLineItem[1] as AnyAnnotation);
|
|
141
|
-
const semanticObject: string = "";
|
|
142
140
|
const formatOptions = {
|
|
143
141
|
valueFormat: "DescriptionValue",
|
|
144
142
|
textAlignMode: "Form",
|
|
145
|
-
retrieveTextFromValueList:
|
|
143
|
+
retrieveTextFromValueList: false
|
|
146
144
|
} as FieldFormatOptions;
|
|
147
145
|
|
|
148
146
|
const dataFieldConverted = getValueBinding(
|
|
149
147
|
getDataModelObjectPathForProperty(entitySet, properties["propertyNoTextWithVH"]),
|
|
150
148
|
{}
|
|
151
149
|
);
|
|
152
|
-
|
|
150
|
+
|
|
151
|
+
// displayStyle "LinkWithQuickViewForm"
|
|
152
|
+
const semanticObject: string = "semanticObject";
|
|
153
|
+
const displayStyleLink = getDisplayStyle(
|
|
153
154
|
properties["propertyNoTextWithVH"],
|
|
154
155
|
dataFieldConverted,
|
|
155
156
|
dataModelObjectPathForProperty,
|
|
156
157
|
formatOptions,
|
|
157
158
|
semanticObject
|
|
158
159
|
);
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
expect(displayStyleLink).toEqual("LinkWithQuickViewForm");
|
|
161
|
+
|
|
162
|
+
// displayStyle "Text"
|
|
163
|
+
const noSemanticObject: string = "";
|
|
164
|
+
const displayStyleText = getDisplayStyle(
|
|
165
|
+
properties["propertyNoTextWithVH"],
|
|
166
|
+
dataFieldConverted,
|
|
167
|
+
dataModelObjectPathForProperty,
|
|
168
|
+
formatOptions,
|
|
169
|
+
noSemanticObject
|
|
170
|
+
);
|
|
171
|
+
expect(displayStyleText).toEqual("Text");
|
|
162
172
|
}
|
|
163
173
|
);
|
|
164
174
|
|
|
@@ -340,33 +350,6 @@ describe("Field Templating Testing", () => {
|
|
|
340
350
|
expect(getVisibleExpression(dataModelObjectPathForProperty)).toEqual("true");
|
|
341
351
|
});
|
|
342
352
|
|
|
343
|
-
it("getDataPointStyle with datapoint having Visualization", () => {
|
|
344
|
-
const oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
345
|
-
const oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/0/Target/$AnnotationPath/");
|
|
346
|
-
const oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
347
|
-
expect(getDataPointStyle(oDataModelPath)).toEqual(undefined);
|
|
348
|
-
});
|
|
349
|
-
it("getDataPointStyle with datapoint having QuickViewFacets", () => {
|
|
350
|
-
const oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
351
|
-
const oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/2/Target/$AnnotationPath/");
|
|
352
|
-
const oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
353
|
-
expect(getDataPointStyle(oDataModelPath as DataModelObjectPath)).toEqual("LinkWithQuickViewForm");
|
|
354
|
-
});
|
|
355
|
-
|
|
356
|
-
it("getDataPointStyle with datapoint having SemanticObjects", () => {
|
|
357
|
-
const oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
358
|
-
const oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/1/Target/$AnnotationPath/");
|
|
359
|
-
const oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
360
|
-
expect(getDataPointStyle(oDataModelPath as DataModelObjectPath)).toEqual("LinkWrapper");
|
|
361
|
-
});
|
|
362
|
-
|
|
363
|
-
it("getDataPointStyle with datapoint not having Visualization, Quick View Facets, SemanticObjects", () => {
|
|
364
|
-
const oContextPath = metaModel.createBindingContext("/MainEntity");
|
|
365
|
-
const oMetaPath = metaModel.createBindingContext("/MainEntity/@com.sap.vocabularies.UI.v1.HeaderFacets/3/Target/$AnnotationPath/");
|
|
366
|
-
const oDataModelPath = getInvolvedDataModelObjects(oMetaPath, oContextPath);
|
|
367
|
-
expect(getDataPointStyle(oDataModelPath as DataModelObjectPath)).toEqual(undefined);
|
|
368
|
-
});
|
|
369
|
-
|
|
370
353
|
it("getSemanticObjectExpressionToResolve with annotations", () => {
|
|
371
354
|
const oAnnotations = {
|
|
372
355
|
Label: "Semantic Object Property",
|
|
@@ -163,4 +163,4 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "path", "sap/fe/core/converte
|
|
|
163
163
|
});
|
|
164
164
|
});
|
|
165
165
|
}, false);
|
|
166
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjdGlvbnMuc3BlYy50cyJdLCJuYW1lcyI6WyJjb252ZXJ0ZWRUeXBlcyIsInNNZXRhZGF0YVVybCIsIm1ldGFNb2RlbCIsImJlZm9yZUFsbCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsImdldE1ldGFNb2RlbCIsImNvbnZlcnRUeXBlcyIsImdldFRhYmxlQWN0aW9uc0ZvclRlc3QiLCJtYW5pZmVzdFNldHRpbmdzIiwiY29udmVydGVyT3V0cHV0IiwiY29udmVydGVyQ29udGV4dEludGVybWVkaWF0ZSIsImdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0IiwiY29udmVydGVyVHlwZSIsIlRlbXBsYXRlVHlwZSIsIkxpc3RSZXBvcnQiLCJlbnRpdHlTZXQiLCJjb250cm9sQ29uZmlndXJhdGlvbiIsImFjdGlvbnMiLCJNZW51QWN0aW9ucyIsInRleHQiLCJwb3NpdGlvbiIsInBsYWNlbWVudCIsIlBsYWNlbWVudCIsIkFmdGVyIiwibWVudSIsImdldFRhYmxlQWN0aW9ucyIsImdldEVudGl0eVR5cGUiLCJhbm5vdGF0aW9ucyIsIlVJIiwiTGluZUl0ZW0iLCJnZXRTaW5ndWxhckNvbnRyb2xUeXBlIiwieG1sVHJlZSIsInhtbENvbnRyb2xOYW1lIiwicmVDb250cm9sTWF0Y2hlciIsIlJlZ0V4cCIsImFsbENvbnRyb2xzIiwiaXRlcmF0aW9uVGV4dCIsImkiLCJleGVjIiwiZGVzY3JpYmUiLCJpdCIsImZuVGFibGVBY3Rpb25zIiwiYW5ub3RhdGlvbiIsInN0YW5kYXJkQWN0aW9ucyIsImlzVGVtcGxhdGVkIiwiZW5hYmxlZCIsInZpc2libGUiLCJtQmluZGluZ0NvbnRleHRzIiwibUludGVybmFsTW9kZWxzIiwiSlNPTk1vZGVsIiwiZ2V0T2JqZWN0IiwieG1sVGFibGVBY3Rpb25zIiwiZ2V0VGVtcGxhdGVkWE1MIiwidGVtcGxhdGVkVGFibGVBY3Rpb25zWE1MIiwiYnV0dG9ucyIsIm1lbnVCdXR0b24iLCJyZVByb3BlcnR5VG9CZUNoZWNrZWQiLCJleHBlY3QiLCJub3QiLCJ0b0JlRmFsc3kiLCJhbm5vdGF0aW9uQnV0dG9uMSIsImFubm90YXRpb25CdXR0b24yIiwiYW5ub3RhdGlvbkJ1dHRvbjMiLCJkZWxldGVCdXR0b24iLCJ0b01hdGNoIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVUEsTUFBSUEsY0FBSjtBQUNBLE1BQUlDLFlBQUo7QUFDQSxNQUFJQyxTQUFKO0FBRUFDLEVBQUFBLFNBQVM7QUFBQSxRQUFrQjtBQUMxQkYsTUFBQUEsWUFBWSxHQUFHRyxVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLG1CQUFyQixDQUFELENBQXpCO0FBRDBCLDZCQUVSQyxZQUFZLENBQUNQLFlBQUQsQ0FGSjtBQUUxQkMsUUFBQUEsU0FBUyxnQkFBVDtBQUNBRixRQUFBQSxjQUFjLEdBQUdTLFlBQVksQ0FBQ1AsU0FBRCxDQUE3QjtBQUgwQjtBQUkxQixLQUpRO0FBQUE7QUFBQTtBQUFBLElBQVQ7O0FBTUEsTUFBTVEsc0JBQXNCLEdBQUcsVUFDOUJDLGdCQUQ4QixFQUdaO0FBQUE7O0FBQUEsUUFEbEJDLGVBQ2tCLHVFQURpQlosY0FDakI7QUFDbEIsUUFBTWEsNEJBQTRCLEdBQUdDLDBCQUEwQixDQUFDRixlQUFELEVBQWtCO0FBQ2hGRyxNQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFEb0Q7QUFFaEZDLE1BQUFBLFNBQVMsRUFBRSxZQUZxRTtBQUdoRkMsTUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsZ0RBQXdDO0FBQ3ZDQyxVQUFBQSxPQUFPLEVBQUU7QUFDUkMsWUFBQUEsV0FBVyxFQUFFO0FBQ1pDLGNBQUFBLElBQUksRUFBRSxNQURNO0FBRVpDLGNBQUFBLFFBQVEsRUFBRTtBQUNUQyxnQkFBQUEsU0FBUyxFQUFFQyxTQUFTLENBQUNDO0FBRFosZUFGRTtBQUtaQyxjQUFBQSxJQUFJLEVBQUUsQ0FDTCx5REFESyxFQUVMLHlEQUZL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QSx3Q0FBZ0ZMLE9BQWhGO0FBQUEsY0FBT00saUJBQVA7QUFBQSxjQUEwQkMsaUJBQTFCO0FBQUEsY0FBNkNDLGlCQUE3QztBQUFBLGNBQWdFQyxZQUFoRTs7QUFDQU4sVUFBQUEsTUFBTSxDQUFDRyxpQkFBRCxDQUFOLENBQTBCSSxPQUExQixDQUFrQ1IscUJBQWxDO0FBQ0FDLFVBQUFBLE1BQU0sQ0FBQ0ksaUJBQUQsQ0FBTixDQUEwQkcsT0FBMUIsQ0FBa0NSLHFCQUFsQztBQUNBQyxVQUFBQSxNQUFNLENBQUNLLGlCQUFELENBQU4sQ0FBMEJFLE9BQTFCLENBQWtDUixxQkFBbEM7QUFDQUMsVUFBQUEsTUFBTSxDQUFDTSxZQUFELENBQU4sQ0FBcUJDLE9BQXJCLENBQTZCUixxQkFBN0I7QUFDQUMsVUFBQUEsTUFBTSxDQUFDRixVQUFVLENBQUMsQ0FBRCxDQUFYLENBQU4sQ0FBc0JTLE9BQXRCLENBQThCUixxQkFBOUI7QUF2RGdCO0FBd0RoQixPQTdEQTtBQUFBO0FBQUE7QUFBQSxNQUFGO0FBK0RBLEdBaEVPLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGVDRFMsIGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0LCBnZXRNZXRhTW9kZWwsIGdldFRlbXBsYXRlZFhNTCB9IGZyb20gXCJzYXAvZmUvdGVzdC9KZXN0VGVtcGxhdGluZ0hlbHBlclwiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGdldFRhYmxlQWN0aW9ucyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2NvbnRyb2xzL0NvbW1vbi9UYWJsZVwiO1xuaW1wb3J0IHsgTGluZUl0ZW0gfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB7IENvbnZlcnRlck91dHB1dCB9IGZyb20gXCJAc2FwLXV4L2Fubm90YXRpb24tY29udmVydGVyXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IExpc3RSZXBvcnRNYW5pZmVzdFNldHRpbmdzLCBUZW1wbGF0ZVR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBCYXNlQWN0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL0FjdGlvblwiO1xuaW1wb3J0IHsgT0RhdGFNZXRhTW9kZWwgfSBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0XCI7XG5pbXBvcnQgeyBKU09OTW9kZWwgfSBmcm9tIFwic2FwL3VpL21vZGVsL2pzb25cIjtcbmltcG9ydCB7IFBsYWNlbWVudCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2hlbHBlcnMvQ29uZmlndXJhYmxlT2JqZWN0XCI7XG5cbmxldCBjb252ZXJ0ZWRUeXBlczogQ29udmVydGVyT3V0cHV0O1xubGV0IHNNZXRhZGF0YVVybDogc3RyaW5nO1xubGV0IG1ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWw7XG5cbmJlZm9yZUFsbChhc3luYyBmdW5jdGlvbigpIHtcblx0c01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uL2RhdGEvVGFibGUuY2RzXCIpKTtcblx0bWV0YU1vZGVsID0gYXdhaXQgZ2V0TWV0YU1vZGVsKHNNZXRhZGF0YVVybCk7XG5cdGNvbnZlcnRlZFR5cGVzID0gY29udmVydFR5cGVzKG1ldGFNb2RlbCk7XG59KTtcblxuY29uc3QgZ2V0VGFibGVBY3Rpb25zRm9yVGVzdCA9IChcblx0bWFuaWZlc3RTZXR0aW5nczogTGlzdFJlcG9ydE1hbmlmZXN0U2V0dGluZ3MsXG5cdGNvbnZlcnRlck91dHB1dDogQ29udmVydGVyT3V0cHV0ID0gY29udmVydGVkVHlwZXNcbik6IEJhc2VBY3Rpb25bXSA9PiB7XG5cdGNvbnN0IGNvbnZlcnRlckNvbnRleHRJbnRlcm1lZGlhdGUgPSBnZXRDb252ZXJ0ZXJDb250ZXh0Rm9yVGVzdChjb252ZXJ0ZXJPdXRwdXQsIHtcblx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydCxcblx0XHRlbnRpdHlTZXQ6IFwiVGVzdEVudGl0eVwiLFxuXHRcdGNvbnRyb2xDb25maWd1cmF0aW9uOiB7XG5cdFx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiOiB7XG5cdFx0XHRcdGFjdGlvbnM6IHtcblx0XHRcdFx0XHRNZW51QWN0aW9uczoge1xuXHRcdFx0XHRcdFx0dGV4dDogXCJNZW51XCIsXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjoge1xuXHRcdFx0XHRcdFx0XHRwbGFjZW1lbnQ6IFBsYWNlbWVudC5BZnRlclxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1lbnU6IFtcblx0XHRcdFx0XHRcdFx0XCJEYXRhRmllbGRGb3JBY3Rpb246OnNhcC5mZS50ZXN0Lkplc3RTZXJ2aWNlLk1lbnVBY3Rpb24xXCIsXG5cdFx0XHRcdFx0XHRcdFwiRGF0YUZpZWxkRm9yQWN0aW9uOjpzYXAuZmUudGVzdC5KZXN0U2VydmljZS5NZW51QWN0aW9uMlwiXG5cdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIGdldFRhYmxlQWN0aW9ucyhcblx0XHRjb252ZXJ0ZXJDb250ZXh0SW50ZXJtZWRpYXRlLmdldEVudGl0eVR5cGUoKS5hbm5vdGF0aW9ucy5VST8uTGluZUl0ZW0gYXMgTGluZUl0ZW0sXG5cdFx0XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIixcblx0XHRjb252ZXJ0ZXJDb250ZXh0SW50ZXJtZWRpYXRlXG5cdCk7XG59O1xuXG5jb25zdCBnZXRTaW5ndWxhckNvbnRyb2xUeXBlID0gZnVuY3Rpb24oeG1sVHJlZTogc3RyaW5nLCB4bWxDb250cm9sTmFtZTogc3RyaW5nKSB7XG5cdGNvbnN0IHJlQ29udHJvbE1hdGNoZXIgPSBuZXcgUmVnRXhwKFwiPFtcIiArIHhtbENvbnRyb2xOYW1lICsgXCJdK3MqW14+XSo+XCIsIFwiZ1wiKSxcblx0XHRhbGxDb250cm9scyA9IFtdO1xuXHRsZXQgaXRlcmF0aW9uVGV4dCxcblx0XHRpID0gMDtcblx0ZG8ge1xuXHRcdGl0ZXJhdGlvblRleHQgPSByZUNvbnRyb2xNYXRjaGVyLmV4ZWMoeG1sVHJlZSk7XG5cdFx0aWYgKGl0ZXJhdGlvblRleHQpIHtcblx0XHRcdGFsbENvbnRyb2xzW2ldID0gaXRlcmF0aW9uVGV4dFswXTtcblx0XHR9XG5cdFx0aSsrO1xuXHR9IHdoaWxlIChpdGVyYXRpb25UZXh0KTtcblx0cmV0dXJuIGFsbENvbnRyb2xzO1xufTtcblxuLypcblx0Tm90ZTpcblx0VGhpcyB0ZXN0IGlzIGFsc28gdGVzdGluZyBvdXIgY3VycmVudCBmcmFtZXdvcmsuIFdlIGhhdmUgbm90IHN0cmVhbWxpbmVkIGJlaGF2aW91ciB5ZXQuXG5cdFBsZWFzZSBkbyBub3QgcmVwbGljYXRlIHRlc3RpbmcgZnJhZ21lbnRzLCB3aGljaCBhcmUgbm90IGZ1bGx5IGF2YWlsYWJsZSBtYWNyb3MgYXMgb2Ygbm93LCBsaWtlIHRoaXMuXG5cdFByb2JhYmx5LCB3aWxsIGJlIGFkYXB0ZWQuXG4gKi9cblxuZGVzY3JpYmUoXCJUYWJsZSBBY3Rpb25zXCIsIGZ1bmN0aW9uKCkge1xuXHRpdChcblx0XHRcInRhYmxlIGFjdGlvbnMgdHlwZVwiLFxuXHRcdHtcblx0XHRcdFwicmVmZXJlbmNlc1wiOiBbeyBcInR5cGVcIjogXCJCQ1BcIiwgXCJJRFwiOiBcIjIxODAzNDExMzFcIiB9XVxuXHRcdH0sXG5cdFx0YXN5bmMgZnVuY3Rpb24oKSB7XG5cdFx0XHRjb25zdCBmblRhYmxlQWN0aW9ucyA9IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFwiYWN0aW9uc1wiOiBnZXRUYWJsZUFjdGlvbnNGb3JUZXN0KHtcblx0XHRcdFx0XHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0XHRcdFx0XHRjb252ZXJ0ZXJUeXBlOiBUZW1wbGF0ZVR5cGUuTGlzdFJlcG9ydFxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdGFubm90YXRpb246IHtcblx0XHRcdFx0XHRcdHN0YW5kYXJkQWN0aW9uczoge1xuXHRcdFx0XHRcdFx0XHRpc1RlbXBsYXRlZDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0YWN0aW9uczoge1xuXHRcdFx0XHRcdFx0XHRcdFwiZGVsZXRlXCI6IHtcblx0XHRcdFx0XHRcdFx0XHRcdGlzVGVtcGxhdGVkOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0ZW5hYmxlZDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdHZpc2libGU6IHRydWVcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH07XG5cdFx0XHR9O1xuXG5cdFx0XHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdFx0XHRcImVudGl0eVNldFwiOiBcIi9UZXN0RW50aXR5XCIsXG5cdFx0XHRcdFwidGFibGVEZWZpbml0aW9uXCI6IFwiL1wiXG5cdFx0XHR9O1xuXG5cdFx0XHRjb25zdCBtSW50ZXJuYWxNb2RlbHMgPSB7XG5cdFx0XHRcdFwidGhpc1wiOiBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdFx0XHRcImlkXCI6IFwiSmVzdFNlcnZpY2U6OlRlc3RFbnRpdHktLWZlOjp0YWJsZTo6VGVzdEVudGl0eTo6TGluZUl0ZW1cIixcblx0XHRcdFx0XHRcImNvbGxlY3Rpb25cIjoge1xuXHRcdFx0XHRcdFx0Z2V0T2JqZWN0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIFwic2FwLmZlLnRlc3QuSmVzdFNlcnZpY2UuVGVzdEVudGl0eVwiO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSksXG5cdFx0XHRcdFwidGFibGVEZWZpbml0aW9uXCI6IHtcblx0XHRcdFx0XHRcImRhdGFcIjogZm5UYWJsZUFjdGlvbnMsXG5cdFx0XHRcdFx0XCJpc1RlbXBsYXRlTW9kZWxcIjogdHJ1ZVxuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0XHRjb25zdCB4bWxUYWJsZUFjdGlvbnMgPSBgPGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLm1hY3Jvcy50YWJsZS5BY3Rpb25zXCIgdHlwZT1cIlhNTFwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiIC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFRhYmxlQWN0aW9uc1hNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxUYWJsZUFjdGlvbnMsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywgbUludGVybmFsTW9kZWxzKTtcblxuXHRcdFx0Y29uc3QgYnV0dG9ucyA9IGdldFNpbmd1bGFyQ29udHJvbFR5cGUodGVtcGxhdGVkVGFibGVBY3Rpb25zWE1MLCBcIkJ1dHRvblwiKTtcblx0XHRcdGNvbnN0IG1lbnVCdXR0b24gPSBnZXRTaW5ndWxhckNvbnRyb2xUeXBlKHRlbXBsYXRlZFRhYmxlQWN0aW9uc1hNTCwgXCJNZW51QnV0dG9uXCIpO1xuXHRcdFx0Y29uc3QgcmVQcm9wZXJ0eVRvQmVDaGVja2VkID0gbmV3IFJlZ0V4cCgndHlwZT1cXFxcXCJUcmFuc3BhcmVudFxcXFxcIicpO1xuXG5cdFx0XHRleHBlY3QoYnV0dG9ucykubm90LnRvQmVGYWxzeSgpO1xuXHRcdFx0Y29uc3QgW2Fubm90YXRpb25CdXR0b24xLCBhbm5vdGF0aW9uQnV0dG9uMiwgYW5ub3RhdGlvbkJ1dHRvbjMsIGRlbGV0ZUJ1dHRvbl0gPSBidXR0b25zO1xuXHRcdFx0ZXhwZWN0KGFubm90YXRpb25CdXR0b24xKS50b01hdGNoKHJlUHJvcGVydHlUb0JlQ2hlY2tlZCk7XG5cdFx0XHRleHBlY3QoYW5ub3RhdGlvbkJ1dHRvbjIpLnRvTWF0Y2gocmVQcm9wZXJ0eVRvQmVDaGVja2VkKTtcblx0XHRcdGV4cGVjdChhbm5vdGF0aW9uQnV0dG9uMykudG9NYXRjaChyZVByb3BlcnR5VG9CZUNoZWNrZWQpO1xuXHRcdFx0ZXhwZWN0KGRlbGV0ZUJ1dHRvbikudG9NYXRjaChyZVByb3BlcnR5VG9CZUNoZWNrZWQpO1xuXHRcdFx0ZXhwZWN0KG1lbnVCdXR0b25bMF0pLnRvTWF0Y2gocmVQcm9wZXJ0eVRvQmVDaGVja2VkKTtcblx0XHR9XG5cdCk7XG59KTtcbiJdfQ==
|
|
166
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjdGlvbnMuc3BlYy50cyJdLCJuYW1lcyI6WyJjb252ZXJ0ZWRUeXBlcyIsInNNZXRhZGF0YVVybCIsIm1ldGFNb2RlbCIsImJlZm9yZUFsbCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsImdldE1ldGFNb2RlbCIsImNvbnZlcnRUeXBlcyIsImdldFRhYmxlQWN0aW9uc0ZvclRlc3QiLCJtYW5pZmVzdFNldHRpbmdzIiwiY29udmVydGVyT3V0cHV0IiwiY29udmVydGVyQ29udGV4dEludGVybWVkaWF0ZSIsImdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0IiwiY29udmVydGVyVHlwZSIsIlRlbXBsYXRlVHlwZSIsIkxpc3RSZXBvcnQiLCJlbnRpdHlTZXQiLCJjb250cm9sQ29uZmlndXJhdGlvbiIsImFjdGlvbnMiLCJNZW51QWN0aW9ucyIsInRleHQiLCJwb3NpdGlvbiIsInBsYWNlbWVudCIsIlBsYWNlbWVudCIsIkFmdGVyIiwibWVudSIsImdldFRhYmxlQWN0aW9ucyIsImdldEVudGl0eVR5cGUiLCJhbm5vdGF0aW9ucyIsIlVJIiwiTGluZUl0ZW0iLCJnZXRTaW5ndWxhckNvbnRyb2xUeXBlIiwieG1sVHJlZSIsInhtbENvbnRyb2xOYW1lIiwicmVDb250cm9sTWF0Y2hlciIsIlJlZ0V4cCIsImFsbENvbnRyb2xzIiwiaXRlcmF0aW9uVGV4dCIsImkiLCJleGVjIiwiZGVzY3JpYmUiLCJpdCIsImZuVGFibGVBY3Rpb25zIiwiYW5ub3RhdGlvbiIsInN0YW5kYXJkQWN0aW9ucyIsImlzVGVtcGxhdGVkIiwiZW5hYmxlZCIsInZpc2libGUiLCJtQmluZGluZ0NvbnRleHRzIiwibUludGVybmFsTW9kZWxzIiwiSlNPTk1vZGVsIiwiZ2V0T2JqZWN0IiwieG1sVGFibGVBY3Rpb25zIiwiZ2V0VGVtcGxhdGVkWE1MIiwidGVtcGxhdGVkVGFibGVBY3Rpb25zWE1MIiwiYnV0dG9ucyIsIm1lbnVCdXR0b24iLCJyZVByb3BlcnR5VG9CZUNoZWNrZWQiLCJleHBlY3QiLCJub3QiLCJ0b0JlRmFsc3kiLCJhbm5vdGF0aW9uQnV0dG9uMSIsImFubm90YXRpb25CdXR0b24yIiwiYW5ub3RhdGlvbkJ1dHRvbjMiLCJkZWxldGVCdXR0b24iLCJ0b01hdGNoIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVUEsTUFBSUEsY0FBSjtBQUNBLE1BQUlDLFlBQUo7QUFDQSxNQUFJQyxTQUFKO0FBRUFDLEVBQUFBLFNBQVM7QUFBQSxRQUFrQjtBQUMxQkYsTUFBQUEsWUFBWSxHQUFHRyxVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLG1CQUFyQixDQUFELENBQXpCO0FBRDBCLDZCQUVSQyxZQUFZLENBQUNQLFlBQUQsQ0FGSjtBQUUxQkMsUUFBQUEsU0FBUyxnQkFBVDtBQUNBRixRQUFBQSxjQUFjLEdBQUdTLFlBQVksQ0FBQ1AsU0FBRCxDQUE3QjtBQUgwQjtBQUkxQixLQUpRO0FBQUE7QUFBQTtBQUFBLElBQVQ7O0FBTUEsTUFBTVEsc0JBQXNCLEdBQUcsVUFDOUJDLGdCQUQ4QixFQUdaO0FBQUE7O0FBQUEsUUFEbEJDLGVBQ2tCLHVFQURpQlosY0FDakI7QUFDbEIsUUFBTWEsNEJBQTRCLEdBQUdDLDBCQUEwQixDQUFDRixlQUFELEVBQWtCO0FBQ2hGRyxNQUFBQSxhQUFhLEVBQUVDLFlBQVksQ0FBQ0MsVUFEb0Q7QUFFaEZDLE1BQUFBLFNBQVMsRUFBRSxZQUZxRTtBQUdoRkMsTUFBQUEsb0JBQW9CLEVBQUU7QUFDckIsZ0RBQXdDO0FBQ3ZDQyxVQUFBQSxPQUFPLEVBQUU7QUFDUkMsWUFBQUEsV0FBVyxFQUFFO0FBQ1pDLGNBQUFBLElBQUksRUFBRSxNQURNO0FBRVpDLGNBQUFBLFFBQVEsRUFBRTtBQUNUQyxnQkFBQUEsU0FBUyxFQUFFQyxTQUFTLENBQUNDO0FBRFosZUFGRTtBQUtaQyxjQUFBQSxJQUFJLEVBQUUsQ0FDTCx5REFESyxFQUVMLHlEQUZL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QSx3Q0FBZ0ZMLE9BQWhGO0FBQUEsY0FBT00saUJBQVA7QUFBQSxjQUEwQkMsaUJBQTFCO0FBQUEsY0FBNkNDLGlCQUE3QztBQUFBLGNBQWdFQyxZQUFoRTs7QUFDQU4sVUFBQUEsTUFBTSxDQUFDRyxpQkFBRCxDQUFOLENBQTBCSSxPQUExQixDQUFrQ1IscUJBQWxDO0FBQ0FDLFVBQUFBLE1BQU0sQ0FBQ0ksaUJBQUQsQ0FBTixDQUEwQkcsT0FBMUIsQ0FBa0NSLHFCQUFsQztBQUNBQyxVQUFBQSxNQUFNLENBQUNLLGlCQUFELENBQU4sQ0FBMEJFLE9BQTFCLENBQWtDUixxQkFBbEM7QUFDQUMsVUFBQUEsTUFBTSxDQUFDTSxZQUFELENBQU4sQ0FBcUJDLE9BQXJCLENBQTZCUixxQkFBN0I7QUFDQUMsVUFBQUEsTUFBTSxDQUFDRixVQUFVLENBQUMsQ0FBRCxDQUFYLENBQU4sQ0FBc0JTLE9BQXRCLENBQThCUixxQkFBOUI7QUF2RGdCO0FBd0RoQixPQTdEQTtBQUFBO0FBQUE7QUFBQSxNQUFGO0FBK0RBLEdBaEVPLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGVDRFMsIGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0LCBnZXRNZXRhTW9kZWwsIGdldFRlbXBsYXRlZFhNTCB9IGZyb20gXCJzYXAvZmUvdGVzdC9KZXN0VGVtcGxhdGluZ0hlbHBlclwiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGdldFRhYmxlQWN0aW9ucyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2NvbnRyb2xzL0NvbW1vbi9UYWJsZVwiO1xuaW1wb3J0IHsgTGluZUl0ZW0gfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB7IENvbnZlcnRlck91dHB1dCB9IGZyb20gXCJAc2FwLXV4L2Fubm90YXRpb24tY29udmVydGVyXCI7XG5pbXBvcnQgeyBjb252ZXJ0VHlwZXMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IExpc3RSZXBvcnRNYW5pZmVzdFNldHRpbmdzLCBUZW1wbGF0ZVR5cGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgeyBCYXNlQWN0aW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvQ29tbW9uL0FjdGlvblwiO1xuaW1wb3J0IE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCBKU09OTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9qc29uL0pTT05Nb2RlbFwiO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvaGVscGVycy9Db25maWd1cmFibGVPYmplY3RcIjtcblxubGV0IGNvbnZlcnRlZFR5cGVzOiBDb252ZXJ0ZXJPdXRwdXQ7XG5sZXQgc01ldGFkYXRhVXJsOiBzdHJpbmc7XG5sZXQgbWV0YU1vZGVsOiBPRGF0YU1ldGFNb2RlbDtcblxuYmVmb3JlQWxsKGFzeW5jIGZ1bmN0aW9uKCkge1xuXHRzTWV0YWRhdGFVcmwgPSBjb21waWxlQ0RTKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vZGF0YS9UYWJsZS5jZHNcIikpO1xuXHRtZXRhTW9kZWwgPSBhd2FpdCBnZXRNZXRhTW9kZWwoc01ldGFkYXRhVXJsKTtcblx0Y29udmVydGVkVHlwZXMgPSBjb252ZXJ0VHlwZXMobWV0YU1vZGVsKTtcbn0pO1xuXG5jb25zdCBnZXRUYWJsZUFjdGlvbnNGb3JUZXN0ID0gKFxuXHRtYW5pZmVzdFNldHRpbmdzOiBMaXN0UmVwb3J0TWFuaWZlc3RTZXR0aW5ncyxcblx0Y29udmVydGVyT3V0cHV0OiBDb252ZXJ0ZXJPdXRwdXQgPSBjb252ZXJ0ZWRUeXBlc1xuKTogQmFzZUFjdGlvbltdID0+IHtcblx0Y29uc3QgY29udmVydGVyQ29udGV4dEludGVybWVkaWF0ZSA9IGdldENvbnZlcnRlckNvbnRleHRGb3JUZXN0KGNvbnZlcnRlck91dHB1dCwge1xuXHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0LFxuXHRcdGVudGl0eVNldDogXCJUZXN0RW50aXR5XCIsXG5cdFx0Y29udHJvbENvbmZpZ3VyYXRpb246IHtcblx0XHRcdFwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtXCI6IHtcblx0XHRcdFx0YWN0aW9uczoge1xuXHRcdFx0XHRcdE1lbnVBY3Rpb25zOiB7XG5cdFx0XHRcdFx0XHR0ZXh0OiBcIk1lbnVcIixcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiB7XG5cdFx0XHRcdFx0XHRcdHBsYWNlbWVudDogUGxhY2VtZW50LkFmdGVyXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWVudTogW1xuXHRcdFx0XHRcdFx0XHRcIkRhdGFGaWVsZEZvckFjdGlvbjo6c2FwLmZlLnRlc3QuSmVzdFNlcnZpY2UuTWVudUFjdGlvbjFcIixcblx0XHRcdFx0XHRcdFx0XCJEYXRhRmllbGRGb3JBY3Rpb246OnNhcC5mZS50ZXN0Lkplc3RTZXJ2aWNlLk1lbnVBY3Rpb24yXCJcblx0XHRcdFx0XHRcdF1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gZ2V0VGFibGVBY3Rpb25zKFxuXHRcdGNvbnZlcnRlckNvbnRleHRJbnRlcm1lZGlhdGUuZ2V0RW50aXR5VHlwZSgpLmFubm90YXRpb25zLlVJPy5MaW5lSXRlbSBhcyBMaW5lSXRlbSxcblx0XHRcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwiLFxuXHRcdGNvbnZlcnRlckNvbnRleHRJbnRlcm1lZGlhdGVcblx0KTtcbn07XG5cbmNvbnN0IGdldFNpbmd1bGFyQ29udHJvbFR5cGUgPSBmdW5jdGlvbih4bWxUcmVlOiBzdHJpbmcsIHhtbENvbnRyb2xOYW1lOiBzdHJpbmcpIHtcblx0Y29uc3QgcmVDb250cm9sTWF0Y2hlciA9IG5ldyBSZWdFeHAoXCI8W1wiICsgeG1sQ29udHJvbE5hbWUgKyBcIl0rcypbXj5dKj5cIiwgXCJnXCIpLFxuXHRcdGFsbENvbnRyb2xzID0gW107XG5cdGxldCBpdGVyYXRpb25UZXh0LFxuXHRcdGkgPSAwO1xuXHRkbyB7XG5cdFx0aXRlcmF0aW9uVGV4dCA9IHJlQ29udHJvbE1hdGNoZXIuZXhlYyh4bWxUcmVlKTtcblx0XHRpZiAoaXRlcmF0aW9uVGV4dCkge1xuXHRcdFx0YWxsQ29udHJvbHNbaV0gPSBpdGVyYXRpb25UZXh0WzBdO1xuXHRcdH1cblx0XHRpKys7XG5cdH0gd2hpbGUgKGl0ZXJhdGlvblRleHQpO1xuXHRyZXR1cm4gYWxsQ29udHJvbHM7XG59O1xuXG4vKlxuXHROb3RlOlxuXHRUaGlzIHRlc3QgaXMgYWxzbyB0ZXN0aW5nIG91ciBjdXJyZW50IGZyYW1ld29yay4gV2UgaGF2ZSBub3Qgc3RyZWFtbGluZWQgYmVoYXZpb3VyIHlldC5cblx0UGxlYXNlIGRvIG5vdCByZXBsaWNhdGUgdGVzdGluZyBmcmFnbWVudHMsIHdoaWNoIGFyZSBub3QgZnVsbHkgYXZhaWxhYmxlIG1hY3JvcyBhcyBvZiBub3csIGxpa2UgdGhpcy5cblx0UHJvYmFibHksIHdpbGwgYmUgYWRhcHRlZC5cbiAqL1xuXG5kZXNjcmliZShcIlRhYmxlIEFjdGlvbnNcIiwgZnVuY3Rpb24oKSB7XG5cdGl0KFxuXHRcdFwidGFibGUgYWN0aW9ucyB0eXBlXCIsXG5cdFx0e1xuXHRcdFx0XCJyZWZlcmVuY2VzXCI6IFt7IFwidHlwZVwiOiBcIkJDUFwiLCBcIklEXCI6IFwiMjE4MDM0MTEzMVwiIH1dXG5cdFx0fSxcblx0XHRhc3luYyBmdW5jdGlvbigpIHtcblx0XHRcdGNvbnN0IGZuVGFibGVBY3Rpb25zID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XCJhY3Rpb25zXCI6IGdldFRhYmxlQWN0aW9uc0ZvclRlc3Qoe1xuXHRcdFx0XHRcdFx0ZW50aXR5U2V0OiBcIlRlc3RFbnRpdHlcIixcblx0XHRcdFx0XHRcdGNvbnZlcnRlclR5cGU6IFRlbXBsYXRlVHlwZS5MaXN0UmVwb3J0XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0YW5ub3RhdGlvbjoge1xuXHRcdFx0XHRcdFx0c3RhbmRhcmRBY3Rpb25zOiB7XG5cdFx0XHRcdFx0XHRcdGlzVGVtcGxhdGVkOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRhY3Rpb25zOiB7XG5cdFx0XHRcdFx0XHRcdFx0XCJkZWxldGVcIjoge1xuXHRcdFx0XHRcdFx0XHRcdFx0aXNUZW1wbGF0ZWQ6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRlbmFibGVkOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0dmlzaWJsZTogdHJ1ZVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblx0XHRcdH07XG5cblx0XHRcdGNvbnN0IG1CaW5kaW5nQ29udGV4dHMgPSB7XG5cdFx0XHRcdFwiZW50aXR5U2V0XCI6IFwiL1Rlc3RFbnRpdHlcIixcblx0XHRcdFx0XCJ0YWJsZURlZmluaXRpb25cIjogXCIvXCJcblx0XHRcdH07XG5cblx0XHRcdGNvbnN0IG1JbnRlcm5hbE1vZGVscyA9IHtcblx0XHRcdFx0XCJ0aGlzXCI6IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0XHRcdFwiaWRcIjogXCJKZXN0U2VydmljZTo6VGVzdEVudGl0eS0tZmU6OnRhYmxlOjpUZXN0RW50aXR5OjpMaW5lSXRlbVwiLFxuXHRcdFx0XHRcdFwiY29sbGVjdGlvblwiOiB7XG5cdFx0XHRcdFx0XHRnZXRPYmplY3Q6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gXCJzYXAuZmUudGVzdC5KZXN0U2VydmljZS5UZXN0RW50aXR5XCI7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KSxcblx0XHRcdFx0XCJ0YWJsZURlZmluaXRpb25cIjoge1xuXHRcdFx0XHRcdFwiZGF0YVwiOiBmblRhYmxlQWN0aW9ucyxcblx0XHRcdFx0XHRcImlzVGVtcGxhdGVNb2RlbFwiOiB0cnVlXG5cdFx0XHRcdH1cblx0XHRcdH07XG5cblx0XHRcdGNvbnN0IHhtbFRhYmxlQWN0aW9ucyA9IGA8Y29yZTpGcmFnbWVudCBmcmFnbWVudE5hbWU9XCJzYXAuZmUubWFjcm9zLnRhYmxlLkFjdGlvbnNcIiB0eXBlPVwiWE1MXCIgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCIgLz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkVGFibGVBY3Rpb25zWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbFRhYmxlQWN0aW9ucywgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCBtSW50ZXJuYWxNb2RlbHMpO1xuXG5cdFx0XHRjb25zdCBidXR0b25zID0gZ2V0U2luZ3VsYXJDb250cm9sVHlwZSh0ZW1wbGF0ZWRUYWJsZUFjdGlvbnNYTUwsIFwiQnV0dG9uXCIpO1xuXHRcdFx0Y29uc3QgbWVudUJ1dHRvbiA9IGdldFNpbmd1bGFyQ29udHJvbFR5cGUodGVtcGxhdGVkVGFibGVBY3Rpb25zWE1MLCBcIk1lbnVCdXR0b25cIik7XG5cdFx0XHRjb25zdCByZVByb3BlcnR5VG9CZUNoZWNrZWQgPSBuZXcgUmVnRXhwKCd0eXBlPVxcXFxcIlRyYW5zcGFyZW50XFxcXFwiJyk7XG5cblx0XHRcdGV4cGVjdChidXR0b25zKS5ub3QudG9CZUZhbHN5KCk7XG5cdFx0XHRjb25zdCBbYW5ub3RhdGlvbkJ1dHRvbjEsIGFubm90YXRpb25CdXR0b24yLCBhbm5vdGF0aW9uQnV0dG9uMywgZGVsZXRlQnV0dG9uXSA9IGJ1dHRvbnM7XG5cdFx0XHRleHBlY3QoYW5ub3RhdGlvbkJ1dHRvbjEpLnRvTWF0Y2gocmVQcm9wZXJ0eVRvQmVDaGVja2VkKTtcblx0XHRcdGV4cGVjdChhbm5vdGF0aW9uQnV0dG9uMikudG9NYXRjaChyZVByb3BlcnR5VG9CZUNoZWNrZWQpO1xuXHRcdFx0ZXhwZWN0KGFubm90YXRpb25CdXR0b24zKS50b01hdGNoKHJlUHJvcGVydHlUb0JlQ2hlY2tlZCk7XG5cdFx0XHRleHBlY3QoZGVsZXRlQnV0dG9uKS50b01hdGNoKHJlUHJvcGVydHlUb0JlQ2hlY2tlZCk7XG5cdFx0XHRleHBlY3QobWVudUJ1dHRvblswXSkudG9NYXRjaChyZVByb3BlcnR5VG9CZUNoZWNrZWQpO1xuXHRcdH1cblx0KTtcbn0pO1xuIl19
|
|
@@ -6,8 +6,8 @@ import { ConverterOutput } from "@sap-ux/annotation-converter";
|
|
|
6
6
|
import { convertTypes } from "sap/fe/core/converters/MetaModelConverter";
|
|
7
7
|
import { ListReportManifestSettings, TemplateType } from "sap/fe/core/converters/ManifestSettings";
|
|
8
8
|
import { BaseAction } from "sap/fe/core/converters/controls/Common/Action";
|
|
9
|
-
import
|
|
10
|
-
import
|
|
9
|
+
import ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
|
|
10
|
+
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
11
11
|
import { Placement } from "sap/fe/core/converters/helpers/ConfigurableObject";
|
|
12
12
|
|
|
13
13
|
let convertedTypes: ConverterOutput;
|