@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
|
@@ -178,4 +178,4 @@ sap.ui.define(["path", "sap/fe/macros/PhantomUtil", "sap/fe/test/JestTemplatingH
|
|
|
178
178
|
});
|
|
179
179
|
});
|
|
180
180
|
}, false);
|
|
181
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBoYW50b21VdGlsLnNwZWMudHMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJzTWV0YWRhdGFVcmwiLCJjb21waWxlQ0RTIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJiZWZvcmVBbGwiLCJzYXAiLCJqZXN0IiwicmVnaXN0ZXJGYWtlRnJhZ21lbnQiLCJmcyIsInJlYWRGaWxlU3luYyIsIlBoYW50b21VdGlsIiwicmVnaXN0ZXIiLCJuYW1lIiwibmFtZXNwYWNlIiwiZnJhZ21lbnQiLCJoYXNWYWxpZGF0aW9uIiwibWV0YWRhdGEiLCJwcm9wZXJ0aWVzIiwibWV0YVBhdGgiLCJ0eXBlIiwiYWdncmVnYXRpb25zIiwibXlDdXN0b21Db250ZW50Iiwic2xvdCIsIm15T3RoZXJDdXN0b21Db250ZW50IiwiZ2V0VGVtcGxhdGUiLCJ4bWwiLCJpdCIsInRlc3RNYWNybyIsImdldFRlbXBsYXRpbmdSZXN1bHQiLCJkb21SZXN1bHQiLCJleHBlY3QiLCJ0b0hhdmVDb250cm9sIiwiZ2V0Q29udHJvbEF0dHJpYnV0ZSIsInRvRXF1YWwiLCJ0b05vdEhhdmVDb250cm9sIiwiZ2V0VGVtcGxhdGVkWE1MIiwidG9NYXRjaFNuYXBzaG90IiwiSlNPTk1vZGVsIiwic2F5U29tZXRoaW5nIiwibXlMaXN0IiwidGV4dCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFLQUEsRUFBQUEsUUFBUSxDQUFDLG1DQUFELEVBQXNDLFlBQVc7QUFDeEQsUUFBTUMsWUFBWSxHQUFHQyxVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLHdCQUFyQixDQUFELENBQS9CO0FBQ0FDLElBQUFBLFNBQVMsQ0FBQyxZQUFXO0FBQ3BCQyxNQUFBQSxHQUFHLENBQUNDLElBQUosQ0FBU0Msb0JBQVQsQ0FDQyx1REFERCxFQUVDQyxFQUFFLENBQUNDLFlBQUgsQ0FBZ0JSLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLDhC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QUFBLElBQUksRUFBRTtBQURQLGFBRE8sRUFJUDtBQUNDQSxjQUFBQSxJQUFJLEVBQUU7QUFEUCxhQUpPLEVBT1A7QUFDQ0EsY0FBQUEsSUFBSSxFQUFFO0FBRFAsYUFQTyxFQVVQO0FBQ0NBLGNBQUFBLElBQUksRUFBRTtBQURQLGFBVk87QUFGc0IsV0FBZDtBQURsQixTQUpzQyxDQVBvQixpQkFPckRYLFNBUHFEO0FBK0IzREMsVUFBQUEsTUFBTSxDQUFDRCxTQUFELENBQU4sQ0FBa0JPLGVBQWxCO0FBL0IyRDtBQWdDM0QsT0FoQ0M7QUFBQTtBQUFBO0FBQUEsTUFBRjtBQWtDQVYsSUFBQUEsRUFBRSxDQUFDLDJDQUFEO0FBQUEsVUFBK0Q7QUFDaEUsWUFBTUMsU0FBUyxxbEJBQWYsQ0FEZ0UsQ0FnQmhFOztBQWhCZ0UsK0JBaUJ4Q1EsZUFBZSxDQUFDUixTQUFELEVBQVk1QixZQUFaLEVBQTBCLEVBQTFCLEVBQThCLEVBQTlCLENBakJ5QixpQkFpQjFEOEIsU0FqQjBEO0FBa0JoRTtBQUNBQyxVQUFBQSxNQUFNLENBQUNELFNBQUQsQ0FBTixDQUFrQk8sZUFBbEI7QUFuQmdFO0FBb0JoRSxPQXBCQztBQUFBO0FBQUE7QUFBQSxNQUFGO0FBcUJBLEdBck9PLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBQaGFudG9tVXRpbCB9IGZyb20gXCJzYXAvZmUvbWFjcm9zXCI7XG5pbXBvcnQgeyBjb21waWxlQ0RTLCBnZXRDb250cm9sQXR0cmlidXRlLCBnZXRUZW1wbGF0ZWRYTUwsIGdldFRlbXBsYXRpbmdSZXN1bHQgfSBmcm9tIFwic2FwL2ZlL3Rlc3QvSmVzdFRlbXBsYXRpbmdIZWxwZXJcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgeG1sIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvTWFjcm9SdW50aW1lXCI7XG5pbXBvcnQgeyBKU09OTW9kZWwgfSBmcm9tIFwic2FwL3VpL21vZGVsL2pzb25cIjtcblxuZGVzY3JpYmUoXCJQaGFudG9tVXRpbCAtIEFnZ3JlZ2F0aW9uIFN1cHBvcnRcIiwgZnVuY3Rpb24oKSB7XG5cdGNvbnN0IHNNZXRhZGF0YVVybCA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuL2RhdGEvUGhhbnRvbVV0aWwuY2RzXCIpKTtcblx0YmVmb3JlQWxsKGZ1bmN0aW9uKCkge1xuXHRcdHNhcC5qZXN0LnJlZ2lzdGVyRmFrZUZyYWdtZW50KFxuXHRcdFx0XCJzYXAvZmUvbWFjcm9zL2plc3QvZnJhZ21lbnRzL015VGVzdE1hY3JvLmZyYWdtZW50LnhtbFwiLFxuXHRcdFx0ZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiZnJhZ21lbnRzL015VGVzdEZyYWdtZW50LnhtbFwiKSlcblx0XHQpO1xuXHRcdHNhcC5qZXN0LnJlZ2lzdGVyRmFrZUZyYWdtZW50KFxuXHRcdFx0XCJzYXAvZmUvbWFjcm9zL2plc3QvZnJhZ21lbnRzL015VGVzdFN1YkZyYWdtZW50LmZyYWdtZW50LnhtbFwiLFxuXHRcdFx0ZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiZnJhZ21lbnRzL015VGVzdFN1YkZyYWdtZW50LnhtbFwiKSlcblx0XHQpO1xuXHRcdHNhcC5qZXN0LnJlZ2lzdGVyRmFrZUZyYWdtZW50KFxuXHRcdFx0XCJzYXAvZmUvbWFjcm9zL2plc3QvZnJhZ21lbnRzL015VGVzdEZyYWdtZW50UmVwZWF0LmZyYWdtZW50LnhtbFwiLFxuXHRcdFx0ZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiZnJhZ21lbnRzL015VGVzdEZyYWdtZW50UmVwZWF0LnhtbFwiKSlcblx0XHQpO1xuXHRcdFBoYW50b21VdGlsLnJlZ2lzdGVyKHtcblx0XHRcdG5hbWU6IFwiTXlUZXN0TWFjcm9cIixcblx0XHRcdG5hbWVzcGFjZTogXCJzYXAuZmUubWFjcm9zLnRlc3RcIixcblx0XHRcdGZyYWdtZW50OiBcInNhcC5mZS5tYWNyb3MuamVzdC5mcmFnbWVudHMuTXlUZXN0TWFjcm9cIixcblx0XHRcdGhhc1ZhbGlkYXRpb246IHRydWUsXG5cdFx0XHRtZXRhZGF0YToge1xuXHRcdFx0XHRwcm9wZXJ0aWVzOiB7XG5cdFx0XHRcdFx0bWV0YVBhdGg6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0YWdncmVnYXRpb25zOiB7XG5cdFx0XHRcdFx0bXlDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwibXlDdXN0b21Db250ZW50XCJcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG15T3RoZXJDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwiYURpZmZlcmVudE5hbWVcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdFBoYW50b21VdGlsLnJlZ2lzdGVyKHtcblx0XHRcdG5hbWU6IFwiTXlUZXN0TWFjcm9SZXBlYXRcIixcblx0XHRcdG5hbWVzcGFjZTogXCJzYXAuZmUubWFjcm9zLnRlc3RcIixcblx0XHRcdGZyYWdtZW50OiBcInNhcC5mZS5tYWNyb3MuamVzdC5mcmFnbWVudHMuTXlUZXN0RnJhZ21lbnRSZXBlYXRcIixcblx0XHRcdGhhc1ZhbGlkYXRpb246IHRydWUsXG5cdFx0XHRtZXRhZGF0YToge1xuXHRcdFx0XHRwcm9wZXJ0aWVzOiB7XG5cdFx0XHRcdFx0bWV0YVBhdGg6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0YWdncmVnYXRpb25zOiB7XG5cdFx0XHRcdFx0bXlDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwibXlDdXN0b21Db250ZW50XCJcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG15T3RoZXJDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwiYURpZmZlcmVudE5hbWVcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdFBoYW50b21VdGlsLnJlZ2lzdGVyKHtcblx0XHRcdG5hbWU6IFwiTXlUZXN0TWFjcm9XaXRoVGVtcGxhdGVcIixcblx0XHRcdG5hbWVzcGFjZTogXCJzYXAuZmUubWFjcm9zLnRlc3RcIixcblx0XHRcdGZyYWdtZW50OiBcInNhcC5mZS5tYWNyb3MuamVzdC5mcmFnbWVudHMuTXlUZXN0TWFjcm9XaXRoVGVtcGxhdGVcIixcblx0XHRcdGhhc1ZhbGlkYXRpb246IHRydWUsXG5cdFx0XHRtZXRhZGF0YToge1xuXHRcdFx0XHRwcm9wZXJ0aWVzOiB7XG5cdFx0XHRcdFx0bWV0YVBhdGg6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0YWdncmVnYXRpb25zOiB7XG5cdFx0XHRcdFx0bXlDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwibXlDdXN0b21Db250ZW50XCJcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG15T3RoZXJDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwiYURpZmZlcmVudE5hbWVcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGdldFRlbXBsYXRlOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIHhtbGBcbjxUYWJsZSB4bWxucz1cInNhcC5tXCIgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCIgeG1sbnM6bWFjcm9zPVwic2FwLmZlLm1hY3Jvc1wiPlxuPGFjdGlvbnM+XG48c2xvdCBuYW1lPVwibXlDdXN0b21Db250ZW50XCIgLz5cbjwvYWN0aW9ucz5cbjxjb2x1bW5zPlxuPHNsb3QgbmFtZT1cImFEaWZmZXJlbnROYW1lXCIgLz5cbjwvY29sdW1ucz5cbjxzb21ldGhpbmdFbHNlPlxuPEFub3RoZXJEZWVwQ29udHJvbD5cbjxzbG90IG5hbWU9XCJ0aGlyZFNsb3RcIiAvPlxuPC9Bbm90aGVyRGVlcENvbnRyb2w+XG48L3NvbWV0aGluZ0Vsc2U+XG48L1RhYmxlPmA7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0pO1xuXHRpdChcImFsbG93IG1hY3JvcyB0byBkZWZpbmUgYWdncmVnYXRpb25cIiwgYXN5bmMgZnVuY3Rpb24oKSB7XG5cdFx0Y29uc3QgdGVzdE1hY3JvID0gYDx0ZXN0Ok15VGVzdE1hY3JvIG1ldGFQYXRoPVwiL1Jvb3RFbnRpdHlcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIiB4bWxuczp0ZXN0PVwic2FwLmZlLm1hY3Jvcy50ZXN0XCIgeG1sbnM6bT1cInNhcC5tXCI+XG5cdFx0XHQ8dGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiWW9cIi8+XG5cdFx0XHQ8L3Rlc3Q6bXlDdXN0b21Db250ZW50PlxuXHRcdFx0PHRlc3Q6bXlPdGhlckN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiU2Vjb25kQ3VzdG9tQ29udGVudFwiLz5cblx0XHRcdDwvdGVzdDpteU90aGVyQ3VzdG9tQ29udGVudD5cblx0XHRcdDx0ZXN0OmN1c3RvbURhdGE+XG5cdFx0XHRcdDxjb3JlOkN1c3RvbURhdGEga2V5PVwiWW9cIiB2YWx1ZT1cIkxvXCIvPlxuXHRcdFx0PC90ZXN0OmN1c3RvbURhdGE+XG5cdFx0XHQ8dGVzdDpkZXBlbmRlbnRzPlxuXHRcdFx0XHQ8bTpCdXR0b24gdGV4dD1cIlRoaXMgd291bGQgZ28gaW4gdGhlIGRlcGVuZGVudHNcIi8+XG5cdFx0XHQ8L3Rlc3Q6ZGVwZW5kZW50cz5cblx0XHQ8L3Rlc3Q6TXlUZXN0TWFjcm8+YDtcblxuXHRcdGNvbnN0IGRvbVJlc3VsdCA9IGF3YWl0IGdldFRlbXBsYXRpbmdSZXN1bHQodGVzdE1hY3JvLCBzTWV0YWRhdGFVcmwsIHt9LCB7fSk7XG5cblx0XHRleHBlY3QoZG9tUmVzdWx0KS50b0hhdmVDb250cm9sKFwiL206VGFibGUvbTphY3Rpb25zL206QnV0dG9uXCIpO1xuXHRcdGV4cGVjdChnZXRDb250cm9sQXR0cmlidXRlKFwiL206VGFibGUvbTphY3Rpb25zL206QnV0dG9uXCIsIFwidGV4dFwiLCBkb21SZXN1bHQpKS50b0VxdWFsKFwiWW9cIik7XG5cdFx0Ly8gTm9uIGRpcmVjdCBzbG90cyBhcmUgYWxzbyBzdXBwb3J0ZWRcblx0XHRleHBlY3QoZG9tUmVzdWx0KS50b0hhdmVDb250cm9sKFwiL206VGFibGUvbTpjb2x1bW5zL206QnV0dG9uXCIpO1xuXHRcdGV4cGVjdChnZXRDb250cm9sQXR0cmlidXRlKFwiL206VGFibGUvbTpjb2x1bW5zL206QnV0dG9uXCIsIFwidGV4dFwiLCBkb21SZXN1bHQpKS50b0VxdWFsKFwiU2Vjb25kQ3VzdG9tQ29udGVudFwiKTtcblx0XHQvLyBFeHRyYSBzbG90IG5lZWQgdG8gYmUgcmVtb3ZlZFxuXHRcdGV4cGVjdChkb21SZXN1bHQpLnRvTm90SGF2ZUNvbnRyb2woXCIvL21hY3JvczpzbG90W25hbWU9J3RoaXJzU2xvdCddXCIpO1xuXHRcdC8vIENhbiBhbHNvIHN1cHBvcnQgY3VzdG9tRGF0YVxuXHRcdGV4cGVjdChkb21SZXN1bHQpLnRvSGF2ZUNvbnRyb2woXCIvbTpUYWJsZS9tOmN1c3RvbURhdGEvY29yZTpDdXN0b21EYXRhXCIpO1xuXHRcdGV4cGVjdChnZXRDb250cm9sQXR0cmlidXRlKFwiL206VGFibGUvbTpjdXN0b21EYXRhL2NvcmU6Q3VzdG9tRGF0YVwiLCBcImtleVwiLCBkb21SZXN1bHQpKS50b0VxdWFsKFwiWW9cIik7XG5cdFx0ZXhwZWN0KGdldENvbnRyb2xBdHRyaWJ1dGUoXCIvbTpUYWJsZS9tOmN1c3RvbURhdGEvY29yZTpDdXN0b21EYXRhXCIsIFwidmFsdWVcIiwgZG9tUmVzdWx0KSkudG9FcXVhbChcIkxvXCIpO1xuXHRcdC8vIEFuZCBkZXBlbmRlbnRzXG5cdFx0ZXhwZWN0KGRvbVJlc3VsdCkudG9IYXZlQ29udHJvbChcIi9tOlRhYmxlL206ZGVwZW5kZW50cy9tOkJ1dHRvblwiKTtcblx0XHRleHBlY3QoZ2V0Q29udHJvbEF0dHJpYnV0ZShcIi9tOlRhYmxlL206ZGVwZW5kZW50cy9tOkJ1dHRvblwiLCBcInRleHRcIiwgZG9tUmVzdWx0KSkudG9FcXVhbChcIlRoaXMgd291bGQgZ28gaW4gdGhlIGRlcGVuZGVudHNcIik7XG5cdH0pO1xuXHRpdChcImFsbG93IG1hY3JvcyB0byBkZWZpbmUgYWdncmVnYXRpb24gYW5kIHJlcGVhdFwiLCBhc3luYyBmdW5jdGlvbigpIHtcblx0XHRjb25zdCB0ZXN0TWFjcm8gPSBgPHRlc3Q6TXlUZXN0TWFjcm9SZXBlYXQgbWV0YVBhdGg9XCIvUm9vdEVudGl0eVwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiIHhtbG5zOnRlc3Q9XCJzYXAuZmUubWFjcm9zLnRlc3RcIiB4bWxuczptPVwic2FwLm1cIj5cblx0XHRcdDx0ZXN0Om15Q3VzdG9tQ29udGVudD5cblx0XHRcdFx0PG06QnV0dG9uIHRleHQ9XCJZb1wiLz5cblx0XHRcdDwvdGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0XHQ8dGVzdDpteU90aGVyQ3VzdG9tQ29udGVudD5cblx0XHRcdFx0PG06QnV0dG9uIHRleHQ9XCJTZWNvbmRDdXN0b21Db250ZW50XCIvPlxuXHRcdFx0PC90ZXN0Om15T3RoZXJDdXN0b21Db250ZW50PlxuXHRcdFx0PHRlc3Q6Y3VzdG9tRGF0YT5cblx0XHRcdFx0PGNvcmU6Q3VzdG9tRGF0YSBrZXk9XCJZb1wiIHZhbHVlPVwiTG9cIi8+XG5cdFx0XHQ8L3Rlc3Q6Y3VzdG9tRGF0YT5cblx0XHRcdDx0ZXN0OmRlcGVuZGVudHM+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiVGhpcyB3b3VsZCBnbyBpbiB0aGUgZGVwZW5kZW50c1wiLz5cblx0XHRcdDwvdGVzdDpkZXBlbmRlbnRzPlxuXHRcdDwvdGVzdDpNeVRlc3RNYWNyb1JlcGVhdD5gO1xuXG5cdFx0Y29uc3QgZG9tUmVzdWx0ID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHRlc3RNYWNybywgc01ldGFkYXRhVXJsLCB7fSwge30pO1xuXHRcdGV4cGVjdChkb21SZXN1bHQpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImFnZ3JlZ2F0aW9uIHJlc3BlY3QgdGhlIG1hY3JvIGlzb2xhdGlvblwiLCBhc3luYyBmdW5jdGlvbigpIHtcblx0XHRjb25zdCB0ZXN0TWFjcm8gPSBgPHRlc3Q6TXlUZXN0TWFjcm8gbWV0YVBhdGg9XCIvUm9vdEVudGl0eVwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiIHhtbG5zOnRlc3Q9XCJzYXAuZmUubWFjcm9zLnRlc3RcIiB4bWxuczptPVwic2FwLm1cIj5cblx0XHRcdDx0ZXN0Om15Q3VzdG9tQ29udGVudD5cblx0XHRcdFx0PG06QnV0dG9uIHRleHQ9XCJ7bXlDdXN0b21Db250ZW50Pi9zYXlTb21ldGhpbmd9XCIvPlxuXHRcdFx0PC90ZXN0Om15Q3VzdG9tQ29udGVudD5cblx0XHQ8L3Rlc3Q6TXlUZXN0TWFjcm8+YDtcblxuXHRcdGNvbnN0IGRvbVJlc3VsdCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTChcblx0XHRcdHRlc3RNYWNybyxcblx0XHRcdHNNZXRhZGF0YVVybCxcblx0XHRcdHt9LFxuXHRcdFx0e1xuXHRcdFx0XHRteUN1c3RvbUNvbnRlbnQ6IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0XHRcdHNheVNvbWV0aGluZzogXCJIZWxsb1wiXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0KTtcblx0XHRleHBlY3QoZG9tUmVzdWx0KS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJhZ2dyZWdhdGlvbiBjYW4gbG9hZCBmcmFnbWVudCBpbnNpZGVcIiwgYXN5bmMgZnVuY3Rpb24oKSB7XG5cdFx0Y29uc3QgdGVzdE1hY3JvID0gYDx0ZXN0Ok15VGVzdE1hY3JvIG1ldGFQYXRoPVwiL1Jvb3RFbnRpdHlcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIiB4bWxuczp0ZXN0PVwic2FwLmZlLm1hY3Jvcy50ZXN0XCIgeG1sbnM6bT1cInNhcC5tXCI+XG5cdFx0XHQ8dGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuamVzdC5mcmFnbWVudHMuTXlUZXN0U3ViRnJhZ21lbnRcIiB0eXBlPVwiWE1MXCIgLz5cblx0XHRcdDwvdGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0PC90ZXN0Ok15VGVzdE1hY3JvPmA7XG5cblx0XHRjb25zdCBkb21SZXN1bHQgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoXG5cdFx0XHR0ZXN0TWFjcm8sXG5cdFx0XHRzTWV0YWRhdGFVcmwsXG5cdFx0XHR7fSxcblx0XHRcdHtcblx0XHRcdFx0bXlDdXN0b21Db250ZW50OiBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdFx0XHRzYXlTb21ldGhpbmc6IFwiSGVsbG9cIixcblx0XHRcdFx0XHRteUxpc3Q6IFtcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGV4dDogXCJIZVwiXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0ZXh0OiBcImxcIlxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGV4dDogXCJsXCJcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRleHQ6IFwib1wiXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdCk7XG5cdFx0ZXhwZWN0KGRvbVJlc3VsdCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiYWxsb3dzIHRvIGRlZmluZSB0aGUgdGVtcGxhdGUgZGlmZmVyZW50bHlcIiwgYXN5bmMgZnVuY3Rpb24oKSB7XG5cdFx0Y29uc3QgdGVzdE1hY3JvID0gYDx0ZXN0Ok15VGVzdE1hY3JvV2l0aFRlbXBsYXRlIG1ldGFQYXRoPVwiL1Jvb3RFbnRpdHlcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIiB4bWxuczp0ZXN0PVwic2FwLmZlLm1hY3Jvcy50ZXN0XCIgeG1sbnM6bT1cInNhcC5tXCI+XG48dGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiWW9cIi8+XG5cdFx0XHQ8L3Rlc3Q6bXlDdXN0b21Db250ZW50PlxuXHRcdFx0PHRlc3Q6bXlPdGhlckN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiU2Vjb25kQ3VzdG9tQ29udGVudFwiLz5cblx0XHRcdDwvdGVzdDpteU90aGVyQ3VzdG9tQ29udGVudD5cblx0XHRcdDx0ZXN0OmN1c3RvbURhdGE+XG5cdFx0XHRcdDxjb3JlOkN1c3RvbURhdGEga2V5PVwiWW9cIiB2YWx1ZT1cIkxvXCIvPlxuXHRcdFx0PC90ZXN0OmN1c3RvbURhdGE+XG5cdFx0XHQ8dGVzdDpkZXBlbmRlbnRzPlxuXHRcdFx0XHQ8bTpCdXR0b24gdGV4dD1cIlRoaXMgd291bGQgZ28gaW4gdGhlIGRlcGVuZGVudHNcIi8+XG5cdFx0XHQ8L3Rlc3Q6ZGVwZW5kZW50cz5cbjwvdGVzdDpNeVRlc3RNYWNyb1dpdGhUZW1wbGF0ZT5gO1xuXG5cdFx0Ly8gZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7IGkrKykge1xuXHRcdGNvbnN0IGRvbVJlc3VsdCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh0ZXN0TWFjcm8sIHNNZXRhZGF0YVVybCwge30sIHt9KTtcblx0XHQvLyB9XG5cdFx0ZXhwZWN0KGRvbVJlc3VsdCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xufSk7XG4iXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlBoYW50b21VdGlsLnNwZWMudHMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJzTWV0YWRhdGFVcmwiLCJjb21waWxlQ0RTIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJiZWZvcmVBbGwiLCJzYXAiLCJqZXN0IiwicmVnaXN0ZXJGYWtlRnJhZ21lbnQiLCJmcyIsInJlYWRGaWxlU3luYyIsIlBoYW50b21VdGlsIiwicmVnaXN0ZXIiLCJuYW1lIiwibmFtZXNwYWNlIiwiZnJhZ21lbnQiLCJoYXNWYWxpZGF0aW9uIiwibWV0YWRhdGEiLCJwcm9wZXJ0aWVzIiwibWV0YVBhdGgiLCJ0eXBlIiwiYWdncmVnYXRpb25zIiwibXlDdXN0b21Db250ZW50Iiwic2xvdCIsIm15T3RoZXJDdXN0b21Db250ZW50IiwiZ2V0VGVtcGxhdGUiLCJ4bWwiLCJpdCIsInRlc3RNYWNybyIsImdldFRlbXBsYXRpbmdSZXN1bHQiLCJkb21SZXN1bHQiLCJleHBlY3QiLCJ0b0hhdmVDb250cm9sIiwiZ2V0Q29udHJvbEF0dHJpYnV0ZSIsInRvRXF1YWwiLCJ0b05vdEhhdmVDb250cm9sIiwiZ2V0VGVtcGxhdGVkWE1MIiwidG9NYXRjaFNuYXBzaG90IiwiSlNPTk1vZGVsIiwic2F5U29tZXRoaW5nIiwibXlMaXN0IiwidGV4dCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFLQUEsRUFBQUEsUUFBUSxDQUFDLG1DQUFELEVBQXNDLFlBQVc7QUFDeEQsUUFBTUMsWUFBWSxHQUFHQyxVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLHdCQUFyQixDQUFELENBQS9CO0FBQ0FDLElBQUFBLFNBQVMsQ0FBQyxZQUFXO0FBQ3BCQyxNQUFBQSxHQUFHLENBQUNDLElBQUosQ0FBU0Msb0JBQVQsQ0FDQyx1REFERCxFQUVDQyxFQUFFLENBQUNDLFlBQUgsQ0FBZ0JSLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLDhC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QUFBLElBQUksRUFBRTtBQURQLGFBRE8sRUFJUDtBQUNDQSxjQUFBQSxJQUFJLEVBQUU7QUFEUCxhQUpPLEVBT1A7QUFDQ0EsY0FBQUEsSUFBSSxFQUFFO0FBRFAsYUFQTyxFQVVQO0FBQ0NBLGNBQUFBLElBQUksRUFBRTtBQURQLGFBVk87QUFGc0IsV0FBZDtBQURsQixTQUpzQyxDQVBvQixpQkFPckRYLFNBUHFEO0FBK0IzREMsVUFBQUEsTUFBTSxDQUFDRCxTQUFELENBQU4sQ0FBa0JPLGVBQWxCO0FBL0IyRDtBQWdDM0QsT0FoQ0M7QUFBQTtBQUFBO0FBQUEsTUFBRjtBQWtDQVYsSUFBQUEsRUFBRSxDQUFDLDJDQUFEO0FBQUEsVUFBK0Q7QUFDaEUsWUFBTUMsU0FBUyxxbEJBQWYsQ0FEZ0UsQ0FnQmhFOztBQWhCZ0UsK0JBaUJ4Q1EsZUFBZSxDQUFDUixTQUFELEVBQVk1QixZQUFaLEVBQTBCLEVBQTFCLEVBQThCLEVBQTlCLENBakJ5QixpQkFpQjFEOEIsU0FqQjBEO0FBa0JoRTtBQUNBQyxVQUFBQSxNQUFNLENBQUNELFNBQUQsQ0FBTixDQUFrQk8sZUFBbEI7QUFuQmdFO0FBb0JoRSxPQXBCQztBQUFBO0FBQUE7QUFBQSxNQUFGO0FBcUJBLEdBck9PLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBQaGFudG9tVXRpbCB9IGZyb20gXCJzYXAvZmUvbWFjcm9zXCI7XG5pbXBvcnQgeyBjb21waWxlQ0RTLCBnZXRDb250cm9sQXR0cmlidXRlLCBnZXRUZW1wbGF0ZWRYTUwsIGdldFRlbXBsYXRpbmdSZXN1bHQgfSBmcm9tIFwic2FwL2ZlL3Rlc3QvSmVzdFRlbXBsYXRpbmdIZWxwZXJcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgeG1sIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvTWFjcm9SdW50aW1lXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcblxuZGVzY3JpYmUoXCJQaGFudG9tVXRpbCAtIEFnZ3JlZ2F0aW9uIFN1cHBvcnRcIiwgZnVuY3Rpb24oKSB7XG5cdGNvbnN0IHNNZXRhZGF0YVVybCA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuL2RhdGEvUGhhbnRvbVV0aWwuY2RzXCIpKTtcblx0YmVmb3JlQWxsKGZ1bmN0aW9uKCkge1xuXHRcdHNhcC5qZXN0LnJlZ2lzdGVyRmFrZUZyYWdtZW50KFxuXHRcdFx0XCJzYXAvZmUvbWFjcm9zL2plc3QvZnJhZ21lbnRzL015VGVzdE1hY3JvLmZyYWdtZW50LnhtbFwiLFxuXHRcdFx0ZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiZnJhZ21lbnRzL015VGVzdEZyYWdtZW50LnhtbFwiKSlcblx0XHQpO1xuXHRcdHNhcC5qZXN0LnJlZ2lzdGVyRmFrZUZyYWdtZW50KFxuXHRcdFx0XCJzYXAvZmUvbWFjcm9zL2plc3QvZnJhZ21lbnRzL015VGVzdFN1YkZyYWdtZW50LmZyYWdtZW50LnhtbFwiLFxuXHRcdFx0ZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiZnJhZ21lbnRzL015VGVzdFN1YkZyYWdtZW50LnhtbFwiKSlcblx0XHQpO1xuXHRcdHNhcC5qZXN0LnJlZ2lzdGVyRmFrZUZyYWdtZW50KFxuXHRcdFx0XCJzYXAvZmUvbWFjcm9zL2plc3QvZnJhZ21lbnRzL015VGVzdEZyYWdtZW50UmVwZWF0LmZyYWdtZW50LnhtbFwiLFxuXHRcdFx0ZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiZnJhZ21lbnRzL015VGVzdEZyYWdtZW50UmVwZWF0LnhtbFwiKSlcblx0XHQpO1xuXHRcdFBoYW50b21VdGlsLnJlZ2lzdGVyKHtcblx0XHRcdG5hbWU6IFwiTXlUZXN0TWFjcm9cIixcblx0XHRcdG5hbWVzcGFjZTogXCJzYXAuZmUubWFjcm9zLnRlc3RcIixcblx0XHRcdGZyYWdtZW50OiBcInNhcC5mZS5tYWNyb3MuamVzdC5mcmFnbWVudHMuTXlUZXN0TWFjcm9cIixcblx0XHRcdGhhc1ZhbGlkYXRpb246IHRydWUsXG5cdFx0XHRtZXRhZGF0YToge1xuXHRcdFx0XHRwcm9wZXJ0aWVzOiB7XG5cdFx0XHRcdFx0bWV0YVBhdGg6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0YWdncmVnYXRpb25zOiB7XG5cdFx0XHRcdFx0bXlDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwibXlDdXN0b21Db250ZW50XCJcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG15T3RoZXJDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwiYURpZmZlcmVudE5hbWVcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdFBoYW50b21VdGlsLnJlZ2lzdGVyKHtcblx0XHRcdG5hbWU6IFwiTXlUZXN0TWFjcm9SZXBlYXRcIixcblx0XHRcdG5hbWVzcGFjZTogXCJzYXAuZmUubWFjcm9zLnRlc3RcIixcblx0XHRcdGZyYWdtZW50OiBcInNhcC5mZS5tYWNyb3MuamVzdC5mcmFnbWVudHMuTXlUZXN0RnJhZ21lbnRSZXBlYXRcIixcblx0XHRcdGhhc1ZhbGlkYXRpb246IHRydWUsXG5cdFx0XHRtZXRhZGF0YToge1xuXHRcdFx0XHRwcm9wZXJ0aWVzOiB7XG5cdFx0XHRcdFx0bWV0YVBhdGg6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0YWdncmVnYXRpb25zOiB7XG5cdFx0XHRcdFx0bXlDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwibXlDdXN0b21Db250ZW50XCJcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG15T3RoZXJDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwiYURpZmZlcmVudE5hbWVcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdFBoYW50b21VdGlsLnJlZ2lzdGVyKHtcblx0XHRcdG5hbWU6IFwiTXlUZXN0TWFjcm9XaXRoVGVtcGxhdGVcIixcblx0XHRcdG5hbWVzcGFjZTogXCJzYXAuZmUubWFjcm9zLnRlc3RcIixcblx0XHRcdGZyYWdtZW50OiBcInNhcC5mZS5tYWNyb3MuamVzdC5mcmFnbWVudHMuTXlUZXN0TWFjcm9XaXRoVGVtcGxhdGVcIixcblx0XHRcdGhhc1ZhbGlkYXRpb246IHRydWUsXG5cdFx0XHRtZXRhZGF0YToge1xuXHRcdFx0XHRwcm9wZXJ0aWVzOiB7XG5cdFx0XHRcdFx0bWV0YVBhdGg6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0YWdncmVnYXRpb25zOiB7XG5cdFx0XHRcdFx0bXlDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwibXlDdXN0b21Db250ZW50XCJcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdG15T3RoZXJDdXN0b21Db250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIixcblx0XHRcdFx0XHRcdHNsb3Q6IFwiYURpZmZlcmVudE5hbWVcIlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGdldFRlbXBsYXRlOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIHhtbGBcbjxUYWJsZSB4bWxucz1cInNhcC5tXCIgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCIgeG1sbnM6bWFjcm9zPVwic2FwLmZlLm1hY3Jvc1wiPlxuPGFjdGlvbnM+XG48c2xvdCBuYW1lPVwibXlDdXN0b21Db250ZW50XCIgLz5cbjwvYWN0aW9ucz5cbjxjb2x1bW5zPlxuPHNsb3QgbmFtZT1cImFEaWZmZXJlbnROYW1lXCIgLz5cbjwvY29sdW1ucz5cbjxzb21ldGhpbmdFbHNlPlxuPEFub3RoZXJEZWVwQ29udHJvbD5cbjxzbG90IG5hbWU9XCJ0aGlyZFNsb3RcIiAvPlxuPC9Bbm90aGVyRGVlcENvbnRyb2w+XG48L3NvbWV0aGluZ0Vsc2U+XG48L1RhYmxlPmA7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0pO1xuXHRpdChcImFsbG93IG1hY3JvcyB0byBkZWZpbmUgYWdncmVnYXRpb25cIiwgYXN5bmMgZnVuY3Rpb24oKSB7XG5cdFx0Y29uc3QgdGVzdE1hY3JvID0gYDx0ZXN0Ok15VGVzdE1hY3JvIG1ldGFQYXRoPVwiL1Jvb3RFbnRpdHlcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIiB4bWxuczp0ZXN0PVwic2FwLmZlLm1hY3Jvcy50ZXN0XCIgeG1sbnM6bT1cInNhcC5tXCI+XG5cdFx0XHQ8dGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiWW9cIi8+XG5cdFx0XHQ8L3Rlc3Q6bXlDdXN0b21Db250ZW50PlxuXHRcdFx0PHRlc3Q6bXlPdGhlckN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiU2Vjb25kQ3VzdG9tQ29udGVudFwiLz5cblx0XHRcdDwvdGVzdDpteU90aGVyQ3VzdG9tQ29udGVudD5cblx0XHRcdDx0ZXN0OmN1c3RvbURhdGE+XG5cdFx0XHRcdDxjb3JlOkN1c3RvbURhdGEga2V5PVwiWW9cIiB2YWx1ZT1cIkxvXCIvPlxuXHRcdFx0PC90ZXN0OmN1c3RvbURhdGE+XG5cdFx0XHQ8dGVzdDpkZXBlbmRlbnRzPlxuXHRcdFx0XHQ8bTpCdXR0b24gdGV4dD1cIlRoaXMgd291bGQgZ28gaW4gdGhlIGRlcGVuZGVudHNcIi8+XG5cdFx0XHQ8L3Rlc3Q6ZGVwZW5kZW50cz5cblx0XHQ8L3Rlc3Q6TXlUZXN0TWFjcm8+YDtcblxuXHRcdGNvbnN0IGRvbVJlc3VsdCA9IGF3YWl0IGdldFRlbXBsYXRpbmdSZXN1bHQodGVzdE1hY3JvLCBzTWV0YWRhdGFVcmwsIHt9LCB7fSk7XG5cblx0XHRleHBlY3QoZG9tUmVzdWx0KS50b0hhdmVDb250cm9sKFwiL206VGFibGUvbTphY3Rpb25zL206QnV0dG9uXCIpO1xuXHRcdGV4cGVjdChnZXRDb250cm9sQXR0cmlidXRlKFwiL206VGFibGUvbTphY3Rpb25zL206QnV0dG9uXCIsIFwidGV4dFwiLCBkb21SZXN1bHQpKS50b0VxdWFsKFwiWW9cIik7XG5cdFx0Ly8gTm9uIGRpcmVjdCBzbG90cyBhcmUgYWxzbyBzdXBwb3J0ZWRcblx0XHRleHBlY3QoZG9tUmVzdWx0KS50b0hhdmVDb250cm9sKFwiL206VGFibGUvbTpjb2x1bW5zL206QnV0dG9uXCIpO1xuXHRcdGV4cGVjdChnZXRDb250cm9sQXR0cmlidXRlKFwiL206VGFibGUvbTpjb2x1bW5zL206QnV0dG9uXCIsIFwidGV4dFwiLCBkb21SZXN1bHQpKS50b0VxdWFsKFwiU2Vjb25kQ3VzdG9tQ29udGVudFwiKTtcblx0XHQvLyBFeHRyYSBzbG90IG5lZWQgdG8gYmUgcmVtb3ZlZFxuXHRcdGV4cGVjdChkb21SZXN1bHQpLnRvTm90SGF2ZUNvbnRyb2woXCIvL21hY3JvczpzbG90W25hbWU9J3RoaXJzU2xvdCddXCIpO1xuXHRcdC8vIENhbiBhbHNvIHN1cHBvcnQgY3VzdG9tRGF0YVxuXHRcdGV4cGVjdChkb21SZXN1bHQpLnRvSGF2ZUNvbnRyb2woXCIvbTpUYWJsZS9tOmN1c3RvbURhdGEvY29yZTpDdXN0b21EYXRhXCIpO1xuXHRcdGV4cGVjdChnZXRDb250cm9sQXR0cmlidXRlKFwiL206VGFibGUvbTpjdXN0b21EYXRhL2NvcmU6Q3VzdG9tRGF0YVwiLCBcImtleVwiLCBkb21SZXN1bHQpKS50b0VxdWFsKFwiWW9cIik7XG5cdFx0ZXhwZWN0KGdldENvbnRyb2xBdHRyaWJ1dGUoXCIvbTpUYWJsZS9tOmN1c3RvbURhdGEvY29yZTpDdXN0b21EYXRhXCIsIFwidmFsdWVcIiwgZG9tUmVzdWx0KSkudG9FcXVhbChcIkxvXCIpO1xuXHRcdC8vIEFuZCBkZXBlbmRlbnRzXG5cdFx0ZXhwZWN0KGRvbVJlc3VsdCkudG9IYXZlQ29udHJvbChcIi9tOlRhYmxlL206ZGVwZW5kZW50cy9tOkJ1dHRvblwiKTtcblx0XHRleHBlY3QoZ2V0Q29udHJvbEF0dHJpYnV0ZShcIi9tOlRhYmxlL206ZGVwZW5kZW50cy9tOkJ1dHRvblwiLCBcInRleHRcIiwgZG9tUmVzdWx0KSkudG9FcXVhbChcIlRoaXMgd291bGQgZ28gaW4gdGhlIGRlcGVuZGVudHNcIik7XG5cdH0pO1xuXHRpdChcImFsbG93IG1hY3JvcyB0byBkZWZpbmUgYWdncmVnYXRpb24gYW5kIHJlcGVhdFwiLCBhc3luYyBmdW5jdGlvbigpIHtcblx0XHRjb25zdCB0ZXN0TWFjcm8gPSBgPHRlc3Q6TXlUZXN0TWFjcm9SZXBlYXQgbWV0YVBhdGg9XCIvUm9vdEVudGl0eVwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiIHhtbG5zOnRlc3Q9XCJzYXAuZmUubWFjcm9zLnRlc3RcIiB4bWxuczptPVwic2FwLm1cIj5cblx0XHRcdDx0ZXN0Om15Q3VzdG9tQ29udGVudD5cblx0XHRcdFx0PG06QnV0dG9uIHRleHQ9XCJZb1wiLz5cblx0XHRcdDwvdGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0XHQ8dGVzdDpteU90aGVyQ3VzdG9tQ29udGVudD5cblx0XHRcdFx0PG06QnV0dG9uIHRleHQ9XCJTZWNvbmRDdXN0b21Db250ZW50XCIvPlxuXHRcdFx0PC90ZXN0Om15T3RoZXJDdXN0b21Db250ZW50PlxuXHRcdFx0PHRlc3Q6Y3VzdG9tRGF0YT5cblx0XHRcdFx0PGNvcmU6Q3VzdG9tRGF0YSBrZXk9XCJZb1wiIHZhbHVlPVwiTG9cIi8+XG5cdFx0XHQ8L3Rlc3Q6Y3VzdG9tRGF0YT5cblx0XHRcdDx0ZXN0OmRlcGVuZGVudHM+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiVGhpcyB3b3VsZCBnbyBpbiB0aGUgZGVwZW5kZW50c1wiLz5cblx0XHRcdDwvdGVzdDpkZXBlbmRlbnRzPlxuXHRcdDwvdGVzdDpNeVRlc3RNYWNyb1JlcGVhdD5gO1xuXG5cdFx0Y29uc3QgZG9tUmVzdWx0ID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHRlc3RNYWNybywgc01ldGFkYXRhVXJsLCB7fSwge30pO1xuXHRcdGV4cGVjdChkb21SZXN1bHQpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcImFnZ3JlZ2F0aW9uIHJlc3BlY3QgdGhlIG1hY3JvIGlzb2xhdGlvblwiLCBhc3luYyBmdW5jdGlvbigpIHtcblx0XHRjb25zdCB0ZXN0TWFjcm8gPSBgPHRlc3Q6TXlUZXN0TWFjcm8gbWV0YVBhdGg9XCIvUm9vdEVudGl0eVwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiIHhtbG5zOnRlc3Q9XCJzYXAuZmUubWFjcm9zLnRlc3RcIiB4bWxuczptPVwic2FwLm1cIj5cblx0XHRcdDx0ZXN0Om15Q3VzdG9tQ29udGVudD5cblx0XHRcdFx0PG06QnV0dG9uIHRleHQ9XCJ7bXlDdXN0b21Db250ZW50Pi9zYXlTb21ldGhpbmd9XCIvPlxuXHRcdFx0PC90ZXN0Om15Q3VzdG9tQ29udGVudD5cblx0XHQ8L3Rlc3Q6TXlUZXN0TWFjcm8+YDtcblxuXHRcdGNvbnN0IGRvbVJlc3VsdCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTChcblx0XHRcdHRlc3RNYWNybyxcblx0XHRcdHNNZXRhZGF0YVVybCxcblx0XHRcdHt9LFxuXHRcdFx0e1xuXHRcdFx0XHRteUN1c3RvbUNvbnRlbnQ6IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0XHRcdHNheVNvbWV0aGluZzogXCJIZWxsb1wiXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0KTtcblx0XHRleHBlY3QoZG9tUmVzdWx0KS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJhZ2dyZWdhdGlvbiBjYW4gbG9hZCBmcmFnbWVudCBpbnNpZGVcIiwgYXN5bmMgZnVuY3Rpb24oKSB7XG5cdFx0Y29uc3QgdGVzdE1hY3JvID0gYDx0ZXN0Ok15VGVzdE1hY3JvIG1ldGFQYXRoPVwiL1Jvb3RFbnRpdHlcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIiB4bWxuczp0ZXN0PVwic2FwLmZlLm1hY3Jvcy50ZXN0XCIgeG1sbnM6bT1cInNhcC5tXCI+XG5cdFx0XHQ8dGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuamVzdC5mcmFnbWVudHMuTXlUZXN0U3ViRnJhZ21lbnRcIiB0eXBlPVwiWE1MXCIgLz5cblx0XHRcdDwvdGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0PC90ZXN0Ok15VGVzdE1hY3JvPmA7XG5cblx0XHRjb25zdCBkb21SZXN1bHQgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoXG5cdFx0XHR0ZXN0TWFjcm8sXG5cdFx0XHRzTWV0YWRhdGFVcmwsXG5cdFx0XHR7fSxcblx0XHRcdHtcblx0XHRcdFx0bXlDdXN0b21Db250ZW50OiBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdFx0XHRzYXlTb21ldGhpbmc6IFwiSGVsbG9cIixcblx0XHRcdFx0XHRteUxpc3Q6IFtcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGV4dDogXCJIZVwiXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0ZXh0OiBcImxcIlxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGV4dDogXCJsXCJcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRleHQ6IFwib1wiXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdCk7XG5cdFx0ZXhwZWN0KGRvbVJlc3VsdCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiYWxsb3dzIHRvIGRlZmluZSB0aGUgdGVtcGxhdGUgZGlmZmVyZW50bHlcIiwgYXN5bmMgZnVuY3Rpb24oKSB7XG5cdFx0Y29uc3QgdGVzdE1hY3JvID0gYDx0ZXN0Ok15VGVzdE1hY3JvV2l0aFRlbXBsYXRlIG1ldGFQYXRoPVwiL1Jvb3RFbnRpdHlcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIiB4bWxuczp0ZXN0PVwic2FwLmZlLm1hY3Jvcy50ZXN0XCIgeG1sbnM6bT1cInNhcC5tXCI+XG48dGVzdDpteUN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiWW9cIi8+XG5cdFx0XHQ8L3Rlc3Q6bXlDdXN0b21Db250ZW50PlxuXHRcdFx0PHRlc3Q6bXlPdGhlckN1c3RvbUNvbnRlbnQ+XG5cdFx0XHRcdDxtOkJ1dHRvbiB0ZXh0PVwiU2Vjb25kQ3VzdG9tQ29udGVudFwiLz5cblx0XHRcdDwvdGVzdDpteU90aGVyQ3VzdG9tQ29udGVudD5cblx0XHRcdDx0ZXN0OmN1c3RvbURhdGE+XG5cdFx0XHRcdDxjb3JlOkN1c3RvbURhdGEga2V5PVwiWW9cIiB2YWx1ZT1cIkxvXCIvPlxuXHRcdFx0PC90ZXN0OmN1c3RvbURhdGE+XG5cdFx0XHQ8dGVzdDpkZXBlbmRlbnRzPlxuXHRcdFx0XHQ8bTpCdXR0b24gdGV4dD1cIlRoaXMgd291bGQgZ28gaW4gdGhlIGRlcGVuZGVudHNcIi8+XG5cdFx0XHQ8L3Rlc3Q6ZGVwZW5kZW50cz5cbjwvdGVzdDpNeVRlc3RNYWNyb1dpdGhUZW1wbGF0ZT5gO1xuXG5cdFx0Ly8gZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7IGkrKykge1xuXHRcdGNvbnN0IGRvbVJlc3VsdCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh0ZXN0TWFjcm8sIHNNZXRhZGF0YVVybCwge30sIHt9KTtcblx0XHQvLyB9XG5cdFx0ZXhwZWN0KGRvbVJlc3VsdCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xufSk7XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { PhantomUtil } from "sap/fe/macros";
|
|
|
3
3
|
import { compileCDS, getControlAttribute, getTemplatedXML, getTemplatingResult } from "sap/fe/test/JestTemplatingHelper";
|
|
4
4
|
import * as fs from "fs";
|
|
5
5
|
import { xml } from "sap/fe/macros/MacroRuntime";
|
|
6
|
-
import
|
|
6
|
+
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
7
7
|
|
|
8
8
|
describe("PhantomUtil - Aggregation Support", function() {
|
|
9
9
|
const sMetadataUrl = compileCDS(path.join(__dirname, "./data/PhantomUtil.cds"));
|
|
@@ -30,8 +30,7 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/ui/model/json/JSONModel"
|
|
|
30
30
|
return "#Products-display";
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
|
-
};
|
|
34
|
-
|
|
33
|
+
};
|
|
35
34
|
|
|
36
35
|
sap.ushell = {
|
|
37
36
|
Container: {
|
|
@@ -370,4 +369,4 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/ui/model/json/JSONModel"
|
|
|
370
369
|
});
|
|
371
370
|
});
|
|
372
371
|
}, false);
|
|
373
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlF1aWNrVmlld0Zvcm0uc3BlYy50cyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsImJlZm9yZUFsbCIsInJlZ2lzdGVyTWFjcm8iLCJGb3JtTWV0YWRhdGEiLCJTaGVsbEdldFNlcnZpY2VGdW5jdGlvbiIsImFyZyIsImdldFByaW1hcnlJbnRlbnQiLCJQcm9taXNlIiwicmVzb2x2ZSIsImludGVudCIsInRhZ3MiLCJ0ZXh0IiwiaHJlZkZvckV4dGVybmFsIiwic2FwIiwidXNoZWxsIiwiQ29udGFpbmVyIiwiZ2V0U2VydmljZSIsImFmdGVyQWxsIiwidW5yZWdpc3Rlck1hY3JvIiwiaXQiLCJtQmluZGluZ0NvbnRleHRzIiwib1NlbWFudGljTW9kZWwiLCJKU09OTW9kZWwiLCJMaW5rSWQiLCJlbnRpdHlUeXBlIiwibWFpblNlbWFudGljT2JqZWN0IiwibmF2aWdhdGlvblBhdGgiLCJzZW1hbnRpY09iamVjdE1hcHBpbmdzIiwic2VtYW50aWNPYmplY3QiLCJpdGVtcyIsImtleSIsInZhbHVlIiwic2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnMiLCJzZW1hbnRpY09iamVjdHMiLCJzZW1hbnRpY1ByaW1hcnlBY3Rpb25zIiwibUludGVybmFsTW9kZWxzIiwieG1sIiwiZ2V0VGVtcGxhdGVkWE1MIiwidGVtcGxhdGVkWE1MIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Iiwib1ZpZXdEYXRhTW9kZWwiLCJkYXRhRmllbGQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQUdBQSxFQUFBQSxRQUFRLENBQUMsV0FBRCxFQUFjLFlBQU07QUFDM0IsUUFBTUMsWUFBWSxHQUFHQyxVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLDBCQUFyQixDQUFELENBQS9CO0FBQ0FDLElBQUFBLFNBQVMsQ0FBQyxZQUFN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SSxFQUFFLENBQUMsZUFBRCxDQUZQO0FBR0NDLFlBQUFBLElBQUksRUFBRTtBQUhQLFdBRHVCO0FBbEJZLFNBQWQsQ0FBdkI7QUEwQkEsWUFBTThCLGNBQWMsR0FBRyxJQUFJbkIsU0FBSixDQUFjLEVBQWQsQ0FBdkI7QUFDQSxZQUFNYSxlQUFlLEdBQUc7QUFDdkIsc0JBQVlkLGNBRFc7QUFFdkIsc0JBQVlvQjtBQUZXLFNBQXhCO0FBSUEsWUFBTUwsR0FBRyw2SEFBVDtBQXJDdUMsK0JBc0NaQyxlQUFlLENBQUNELEdBQUQsRUFBTXhDLFlBQU4sRUFBb0J3QixnQkFBcEIsRUFBc0NlLGVBQXRDLENBdENILGlCQXNDakNHLFlBdENpQztBQXVDdkNDLFVBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQXZDdUM7QUF3Q3ZDLE9BeENDO0FBQUE7QUFBQTtBQUFBLE1BQUY7QUF5Q0EsR0EzV08sQ0FBUiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcGlsZUNEUywgZ2V0VGVtcGxhdGVkWE1MLCByZWdpc3Rlck1hY3JvLCB1bnJlZ2lzdGVyTWFjcm8gfSBmcm9tIFwic2FwL2ZlL3Rlc3QvSmVzdFRlbXBsYXRpbmdIZWxwZXJcIjtcbmltcG9ydCB7IEpTT05Nb2RlbCB9IGZyb20gXCJzYXAvdWkvbW9kZWwvanNvblwiO1xuaW1wb3J0IEZvcm1NZXRhZGF0YSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9Gb3JtLm1ldGFkYXRhXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmRlc2NyaWJlKFwiUXVpY2tWaWV3XCIsICgpID0+IHtcblx0Y29uc3Qgc01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4vZGF0YS9RdWlja1ZpZXdGb3JtLmNkc1wiKSk7XG5cdGJlZm9yZUFsbCgoKSA9PiB7XG5cdFx0cmVnaXN0ZXJNYWNybyhGb3JtTWV0YWRhdGEpO1xuXHRcdGNvbnN0IFNoZWxsR2V0U2VydmljZUZ1bmN0aW9uID0gZnVuY3Rpb24oYXJnOiBhbnkpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGdldFByaW1hcnlJbnRlbnQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcblx0XHRcdFx0XHRcdHJlc29sdmUoe1xuXHRcdFx0XHRcdFx0XHRpbnRlbnQ6IFwiI1Byb2R1Y3RzLW1hbmFnZVwiLFxuXHRcdFx0XHRcdFx0XHR0YWdzOiBbXCJwcmltYXJ5QWN0aW9uXCJdLFxuXHRcdFx0XHRcdFx0XHR0ZXh0OiBcIk1hbmFnZSBQcm9kdWN0c1wiXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSxcblx0XHRcdFx0aHJlZkZvckV4dGVybmFsOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRyZXR1cm4gXCIjUHJvZHVjdHMtZGlzcGxheVwiO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdH07XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdHNhcC51c2hlbGwgPSB7XG5cdFx0XHRDb250YWluZXI6IHtcblx0XHRcdFx0Z2V0U2VydmljZTogU2hlbGxHZXRTZXJ2aWNlRnVuY3Rpb25cblx0XHRcdH1cblx0XHR9O1xuXHR9KTtcblx0YWZ0ZXJBbGwoKCkgPT4ge1xuXHRcdHVucmVnaXN0ZXJNYWNybyhGb3JtTWV0YWRhdGEpO1xuXHR9KTtcblxuXHRpdChcIlF1aWNrVmlldyAtIEVudGl0eVR5cGUgLSBBdmF0YXIgd2l0aCBJY29uc1wiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgbUJpbmRpbmdDb250ZXh0cyA9IHtcblx0XHRcdFwiZW50aXR5VHlwZVwiOiBcIi9MaW5lSXRlbXMvc3ViaXRlbXNcIixcblx0XHRcdFwic2VtYW50aWNcIjogXCIvXCJcblx0XHR9O1xuXHRcdGNvbnN0IG9TZW1hbnRpY01vZGVsID0gbmV3IEpTT05Nb2RlbCh7XG5cdFx0XHRMaW5rSWQ6IFwiSURfTGlua1wiLFxuXHRcdFx0ZW50aXR5VHlwZTogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zXCIsXG5cdFx0XHRtYWluU2VtYW50aWNPYmplY3Q6IFwiUHJvZHVjdHNcIixcblx0XHRcdG5hdmlnYXRpb25QYXRoOiBcIntzdWJpdGVtc31cIixcblx0XHRcdHNlbWFudGljT2JqZWN0TWFwcGluZ3M6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBcIlByb2R1Y3RzXCIsXG5cdFx0XHRcdFx0aXRlbXM6IFtcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0a2V5OiBcImxpbmVpdGVtSURcIixcblx0XHRcdFx0XHRcdFx0dmFsdWU6IFwibGluZWl0ZW1JRFwiXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9XG5cdFx0XHRdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnM6IFtdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RzOiBbXCJQcm9kdWN0c1wiXSxcblx0XHRcdHNlbWFudGljUHJpbWFyeUFjdGlvbnM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGludGVudDogXCIjUHJvZHVjdHMtbWFuYWdlXCIsXG5cdFx0XHRcdFx0dGFnczogW1wicHJpbWFyeUFjdGlvblwiXSxcblx0XHRcdFx0XHR0ZXh0OiBcIlNob3cgUHJvZHVjdHNcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSk7XG5cdFx0Y29uc3QgbUludGVybmFsTW9kZWxzID0ge1xuXHRcdFx0XCJzZW1hbnRpY1wiOiBvU2VtYW50aWNNb2RlbFxuXHRcdH07XG5cblx0XHRjb25zdCB4bWwgPSBgPGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLm1hY3Jvcy5maWVsZC5RdWlja1ZpZXdMaW5rRm9yRW50aXR5XCIgdHlwZT1cIlhNTFwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWwsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywgbUludGVybmFsTW9kZWxzKTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJRdWlja1ZpZXcgLSBFbnRpdHlUeXBlIC0gQXZhdGFyIHdpdGggSW5pdGlhbHNcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IG1CaW5kaW5nQ29udGV4dHMgPSB7XG5cdFx0XHRcImVudGl0eVR5cGVcIjogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zMlwiLFxuXHRcdFx0XCJzZW1hbnRpY1wiOiBcIi9cIlxuXHRcdH07XG5cdFx0Y29uc3Qgb1NlbWFudGljTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdExpbmtJZDogXCJJRF9MaW5rXCIsXG5cdFx0XHRlbnRpdHlUeXBlOiBcIi9MaW5lSXRlbXMvc3ViaXRlbXMyXCIsXG5cdFx0XHRtYWluU2VtYW50aWNPYmplY3Q6IFwiUHJvZHVjdHNcIixcblx0XHRcdG5hdmlnYXRpb25QYXRoOiBcIntzdWJpdGVtczJ9XCIsXG5cdFx0XHRzZW1hbnRpY09iamVjdE1hcHBpbmdzOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0XHRcdGl0ZW1zOiBbXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdGtleTogXCJsaW5laXRlbUlEXCIsXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBcImxpbmVpdGVtSURcIlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdF1cblx0XHRcdFx0fVxuXHRcdFx0XSxcblx0XHRcdHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zOiBbXSxcblx0XHRcdHNlbWFudGljT2JqZWN0czogW1wiUHJvZHVjdHNcIl0sXG5cdFx0XHRzZW1hbnRpY1ByaW1hcnlBY3Rpb25zOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpbnRlbnQ6IFwiI1Byb2R1Y3RzLW1hbmFnZVwiLFxuXHRcdFx0XHRcdHRhZ3M6IFtcInByaW1hcnlBY3Rpb25cIl0sXG5cdFx0XHRcdFx0dGV4dDogXCJTaG93IFByb2R1Y3RzXCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0pO1xuXHRcdGNvbnN0IG1JbnRlcm5hbE1vZGVscyA9IHtcblx0XHRcdFwic2VtYW50aWNcIjogb1NlbWFudGljTW9kZWxcblx0XHR9O1xuXHRcdGNvbnN0IHhtbCA9IGA8Y29yZTpGcmFnbWVudCBmcmFnbWVudE5hbWU9XCJzYXAuZmUubWFjcm9zLmZpZWxkLlF1aWNrVmlld0xpbmtGb3JFbnRpdHlcIiB0eXBlPVwiWE1MXCIgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCIvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCBtSW50ZXJuYWxNb2RlbHMpO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIlF1aWNrVmlldyAtIEVudGl0eVR5cGUgLSBRdWlja1ZpZXdGYWNldHMgLSBGaWVsZEdyb3VwXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdFx0XCJlbnRpdHlUeXBlXCI6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczNcIixcblx0XHRcdFwic2VtYW50aWNcIjogXCIvXCIsXG5cdFx0XHRcInZpZXdEYXRhXCI6IFwiL1wiXG5cdFx0fTtcblx0XHRjb25zdCBvU2VtYW50aWNNb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0TGlua0lkOiBcIklEX0xpbmtcIixcblx0XHRcdGVudGl0eVR5cGU6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczNcIixcblx0XHRcdG1haW5TZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0bmF2aWdhdGlvblBhdGg6IFwie3N1Yml0ZW1zM31cIixcblx0XHRcdHNlbWFudGljT2JqZWN0TWFwcGluZ3M6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBcIlByb2R1Y3RzXCIsXG5cdFx0XHRcdFx0aXRlbXM6IFtcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0a2V5OiBcImxpbmVpdGVtSURcIixcblx0XHRcdFx0XHRcdFx0dmFsdWU6IFwibGluZWl0ZW1JRFwiXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9XG5cdFx0XHRdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnM6IFtdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RzOiBbXCJQcm9kdWN0c1wiXSxcblx0XHRcdHNlbWFudGljUHJpbWFyeUFjdGlvbnM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGludGVudDogXCIjUHJvZHVjdHMtbWFuYWdlXCIsXG5cdFx0XHRcdFx0dGFnczogW1wicHJpbWFyeUFjdGlvblwiXSxcblx0XHRcdFx0XHR0ZXh0OiBcIlNob3cgUHJvZHVjdHNcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHt9KTtcblx0XHRjb25zdCBtSW50ZXJuYWxNb2RlbHMgPSB7XG5cdFx0XHRcInNlbWFudGljXCI6IG9TZW1hbnRpY01vZGVsLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBvVmlld0RhdGFNb2RlbFxuXHRcdH07XG5cdFx0Y29uc3QgeG1sID0gYDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuZmllbGQuUXVpY2tWaWV3TGlua0ZvckVudGl0eVwiIHR5cGU9XCJYTUxcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIG1JbnRlcm5hbE1vZGVscyk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiUXVpY2tWaWV3IC0gRW50aXR5VHlwZSAtIFF1aWNrVmlld0ZhY2V0cyAtIElkZW50aWZpY2F0aW9uXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdFx0XCJlbnRpdHlUeXBlXCI6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczRcIixcblx0XHRcdFwic2VtYW50aWNcIjogXCIvXCIsXG5cdFx0XHRcInZpZXdEYXRhXCI6IFwiL1wiXG5cdFx0fTtcblx0XHRjb25zdCBvU2VtYW50aWNNb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0TGlua0lkOiBcIklEX0xpbmtcIixcblx0XHRcdGVudGl0eVR5cGU6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczRcIixcblx0XHRcdG1haW5TZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0bmF2aWdhdGlvblBhdGg6IFwie3N1Yml0ZW1zNH1cIixcblx0XHRcdHNlbWFudGljT2JqZWN0TWFwcGluZ3M6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBcIlByb2R1Y3RzXCIsXG5cdFx0XHRcdFx0aXRlbXM6IFtcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0a2V5OiBcImxpbmVpdGVtSURcIixcblx0XHRcdFx0XHRcdFx0dmFsdWU6IFwibGluZWl0ZW1JRFwiXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9XG5cdFx0XHRdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnM6IFtdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RzOiBbXCJQcm9kdWN0c1wiXSxcblx0XHRcdHNlbWFudGljUHJpbWFyeUFjdGlvbnM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGludGVudDogXCIjUHJvZHVjdHMtbWFuYWdlXCIsXG5cdFx0XHRcdFx0dGFnczogW1wicHJpbWFyeUFjdGlvblwiXSxcblx0XHRcdFx0XHR0ZXh0OiBcIlNob3cgUHJvZHVjdHNcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHt9KTtcblx0XHRjb25zdCBtSW50ZXJuYWxNb2RlbHMgPSB7XG5cdFx0XHRcInNlbWFudGljXCI6IG9TZW1hbnRpY01vZGVsLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBvVmlld0RhdGFNb2RlbFxuXHRcdH07XG5cdFx0Y29uc3QgeG1sID0gYDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuZmllbGQuUXVpY2tWaWV3TGlua0ZvckVudGl0eVwiIHR5cGU9XCJYTUxcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIG1JbnRlcm5hbE1vZGVscyk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiUXVpY2tWaWV3IC0gRW50aXR5VHlwZSAtIFF1aWNrVmlld0ZhY2V0cyAtIERhdGFQb2ludFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgbUJpbmRpbmdDb250ZXh0cyA9IHtcblx0XHRcdFwiZW50aXR5VHlwZVwiOiBcIi9MaW5lSXRlbXMvc3ViaXRlbXM1XCIsXG5cdFx0XHRcInNlbWFudGljXCI6IFwiL1wiLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBcIi9cIlxuXHRcdH07XG5cdFx0Y29uc3Qgb1NlbWFudGljTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdExpbmtJZDogXCJJRF9MaW5rXCIsXG5cdFx0XHRlbnRpdHlUeXBlOiBcIi9MaW5lSXRlbXMvc3ViaXRlbXM1XCIsXG5cdFx0XHRtYWluU2VtYW50aWNPYmplY3Q6IFwiUHJvZHVjdHNcIixcblx0XHRcdG5hdmlnYXRpb25QYXRoOiBcIntzdWJpdGVtczV9XCIsXG5cdFx0XHRzZW1hbnRpY09iamVjdE1hcHBpbmdzOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0XHRcdGl0ZW1zOiBbXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdGtleTogXCJsaW5laXRlbUlEXCIsXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBcImxpbmVpdGVtSURcIlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdF1cblx0XHRcdFx0fVxuXHRcdFx0XSxcblx0XHRcdHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zOiBbXSxcblx0XHRcdHNlbWFudGljT2JqZWN0czogW1wiUHJvZHVjdHNcIl0sXG5cdFx0XHRzZW1hbnRpY1ByaW1hcnlBY3Rpb25zOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpbnRlbnQ6IFwiI1Byb2R1Y3RzLW1hbmFnZVwiLFxuXHRcdFx0XHRcdHRhZ3M6IFtcInByaW1hcnlBY3Rpb25cIl0sXG5cdFx0XHRcdFx0dGV4dDogXCJTaG93IFByb2R1Y3RzXCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0pO1xuXHRcdGNvbnN0IG9WaWV3RGF0YU1vZGVsID0gbmV3IEpTT05Nb2RlbCh7fSk7XG5cdFx0Y29uc3QgbUludGVybmFsTW9kZWxzID0ge1xuXHRcdFx0XCJzZW1hbnRpY1wiOiBvU2VtYW50aWNNb2RlbCxcblx0XHRcdFwidmlld0RhdGFcIjogb1ZpZXdEYXRhTW9kZWxcblx0XHR9O1xuXHRcdGNvbnN0IHhtbCA9IGA8Y29yZTpGcmFnbWVudCBmcmFnbWVudE5hbWU9XCJzYXAuZmUubWFjcm9zLmZpZWxkLlF1aWNrVmlld0xpbmtGb3JFbnRpdHlcIiB0eXBlPVwiWE1MXCIgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCIvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCBtSW50ZXJuYWxNb2RlbHMpO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIlF1aWNrVmlldyAtIEVudGl0eVR5cGUgLSBRdWlja1ZpZXdGYWNldHMgLSBDb250YWN0XCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdFx0XCJlbnRpdHlUeXBlXCI6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczZcIixcblx0XHRcdFwic2VtYW50aWNcIjogXCIvXCIsXG5cdFx0XHRcInZpZXdEYXRhXCI6IFwiL1wiXG5cdFx0fTtcblx0XHRjb25zdCBvU2VtYW50aWNNb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0TGlua0lkOiBcIklEX0xpbmtcIixcblx0XHRcdGVudGl0eVR5cGU6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczZcIixcblx0XHRcdG1haW5TZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0bmF2aWdhdGlvblBhdGg6IFwie3N1Yml0ZW1zNn1cIixcblx0XHRcdHNlbWFudGljT2JqZWN0TWFwcGluZ3M6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBcIlByb2R1Y3RzXCIsXG5cdFx0XHRcdFx0aXRlbXM6IFtcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0a2V5OiBcImxpbmVpdGVtSURcIixcblx0XHRcdFx0XHRcdFx0dmFsdWU6IFwibGluZWl0ZW1JRFwiXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9XG5cdFx0XHRdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnM6IFtdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RzOiBbXCJQcm9kdWN0c1wiXSxcblx0XHRcdHNlbWFudGljUHJpbWFyeUFjdGlvbnM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGludGVudDogXCIjUHJvZHVjdHMtbWFuYWdlXCIsXG5cdFx0XHRcdFx0dGFnczogW1wicHJpbWFyeUFjdGlvblwiXSxcblx0XHRcdFx0XHR0ZXh0OiBcIlNob3cgUHJvZHVjdHNcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHt9KTtcblx0XHRjb25zdCBtSW50ZXJuYWxNb2RlbHMgPSB7XG5cdFx0XHRcInNlbWFudGljXCI6IG9TZW1hbnRpY01vZGVsLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBvVmlld0RhdGFNb2RlbFxuXHRcdH07XG5cdFx0Y29uc3QgeG1sID0gYDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuZmllbGQuUXVpY2tWaWV3TGlua0ZvckVudGl0eVwiIHR5cGU9XCJYTUxcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIG1JbnRlcm5hbE1vZGVscyk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiUXVpY2tWaWV3IC0gQ29udGFjdFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgbUJpbmRpbmdDb250ZXh0cyA9IHtcblx0XHRcdFwiY29udGFjdFwiOiBcIi9MaW5lSXRlbXMvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW11bmljYXRpb24udjEuQ29udGFjdFwiLFxuXHRcdFx0XCJzZW1hbnRpY1wiOiBcIi9cIixcblx0XHRcdFwidmlld0RhdGFcIjogXCIvXCJcblx0XHR9O1xuXHRcdGNvbnN0IG9TZW1hbnRpY01vZGVsID0gbmV3IEpTT05Nb2RlbCh7XG5cdFx0XHRMaW5rSWQ6IFwiSURfTGlua1wiLFxuXHRcdFx0c2VtYW50aWNPYmplY3RNYXBwaW5nczogW10sXG5cdFx0XHRzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uczogW10sXG5cdFx0XHRzZW1hbnRpY1ByaW1hcnlBY3Rpb25zOiBbXVxuXHRcdH0pO1xuXHRcdGNvbnN0IG9WaWV3RGF0YU1vZGVsID0gbmV3IEpTT05Nb2RlbCh7fSk7XG5cdFx0Y29uc3QgbUludGVybmFsTW9kZWxzID0ge1xuXHRcdFx0XCJzZW1hbnRpY1wiOiBvU2VtYW50aWNNb2RlbCxcblx0XHRcdFwidmlld0RhdGFcIjogb1ZpZXdEYXRhTW9kZWxcblx0XHR9O1xuXHRcdGNvbnN0IHhtbCA9IGA8Y29yZTpGcmFnbWVudCBmcmFnbWVudE5hbWU9XCJzYXAuZmUubWFjcm9zLmZpZWxkLlF1aWNrVmlld0xpbmtGb3JDb250YWN0XCIgdHlwZT1cIlhNTFwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWwsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywgbUludGVybmFsTW9kZWxzKTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJRdWlja1ZpZXcgLSBDb250YWN0IHdpdGggbGFiZWxcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IG1CaW5kaW5nQ29udGV4dHMgPSB7XG5cdFx0XHRcImNvbnRhY3RcIjogXCIvTGluZUl0ZW1zL0Bjb20uc2FwLnZvY2FidWxhcmllcy5Db21tdW5pY2F0aW9uLnYxLkNvbnRhY3QjV2l0aExhYmVsSW5BZGRyZXNzXCIsXG5cdFx0XHRcInNlbWFudGljXCI6IFwiL1wiLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBcIi9cIlxuXHRcdH07XG5cdFx0Y29uc3Qgb1NlbWFudGljTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdExpbmtJZDogXCJJRF9MaW5rXCIsXG5cdFx0XHRzZW1hbnRpY09iamVjdE1hcHBpbmdzOiBbXSxcblx0XHRcdHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zOiBbXSxcblx0XHRcdHNlbWFudGljUHJpbWFyeUFjdGlvbnM6IFtdXG5cdFx0fSk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHt9KTtcblx0XHRjb25zdCBtSW50ZXJuYWxNb2RlbHMgPSB7XG5cdFx0XHRcInNlbWFudGljXCI6IG9TZW1hbnRpY01vZGVsLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBvVmlld0RhdGFNb2RlbFxuXHRcdH07XG5cdFx0Y29uc3QgeG1sID0gYDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuZmllbGQuUXVpY2tWaWV3TGlua0ZvckNvbnRhY3RcIiB0eXBlPVwiWE1MXCIgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCIvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCBtSW50ZXJuYWxNb2RlbHMpO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIlF1aWNrVmlldyAtIERhdGFGaWVsZFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgbUJpbmRpbmdDb250ZXh0cyA9IHtcblx0XHRcdFwiZGF0YUZpZWxkXCI6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczcvZGF0YUZpZWxkXCIsXG5cdFx0XHRcInNlbWFudGljXCI6IFwiL1wiLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBcIi9cIlxuXHRcdH07XG5cdFx0Y29uc3Qgb1NlbWFudGljTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdExpbmtJZDogXCJJRF9MaW5rXCIsXG5cdFx0XHRkYXRhRmllbGQ6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczcvZGF0YUZpZWxkXCIsXG5cdFx0XHRtYWluU2VtYW50aWNPYmplY3Q6IFwiUHJvZHVjdHNcIixcblx0XHRcdG5hdmlnYXRpb25QYXRoOiBcIntzdWJpdGVtczcvZGF0YUZpZWxkfVwiLFxuXHRcdFx0c2VtYW50aWNPYmplY3RNYXBwaW5nczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IFwiUHJvZHVjdHNcIixcblx0XHRcdFx0XHRpdGVtczogW1xuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRrZXk6IFwibGluZWl0ZW1JRFwiLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogXCJsaW5laXRlbUlEXCJcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH1cblx0XHRcdF0sXG5cdFx0XHRzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uczogW10sXG5cdFx0XHRzZW1hbnRpY09iamVjdHM6IFtcIlByb2R1Y3RzXCJdLFxuXHRcdFx0c2VtYW50aWNQcmltYXJ5QWN0aW9uczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aW50ZW50OiBcIiNQcm9kdWN0cy1tYW5hZ2VcIixcblx0XHRcdFx0XHR0YWdzOiBbXCJwcmltYXJ5QWN0aW9uXCJdLFxuXHRcdFx0XHRcdHRleHQ6IFwiU2hvdyBQcm9kdWN0c1wiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9KTtcblx0XHRjb25zdCBvVmlld0RhdGFNb2RlbCA9IG5ldyBKU09OTW9kZWwoe30pO1xuXHRcdGNvbnN0IG1JbnRlcm5hbE1vZGVscyA9IHtcblx0XHRcdFwic2VtYW50aWNcIjogb1NlbWFudGljTW9kZWwsXG5cdFx0XHRcInZpZXdEYXRhXCI6IG9WaWV3RGF0YU1vZGVsXG5cdFx0fTtcblx0XHRjb25zdCB4bWwgPSBgPGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLm1hY3Jvcy5maWVsZC5RdWlja1ZpZXdMaW5rRm9yRGF0YUZpZWxkXCIgdHlwZT1cIlhNTFwiXHR4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIG1JbnRlcm5hbE1vZGVscyk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xufSk7XG4iXX0=
|
|
372
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlF1aWNrVmlld0Zvcm0uc3BlYy50cyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInNNZXRhZGF0YVVybCIsImNvbXBpbGVDRFMiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSIsImJlZm9yZUFsbCIsInJlZ2lzdGVyTWFjcm8iLCJGb3JtTWV0YWRhdGEiLCJTaGVsbEdldFNlcnZpY2VGdW5jdGlvbiIsImFyZyIsImdldFByaW1hcnlJbnRlbnQiLCJQcm9taXNlIiwicmVzb2x2ZSIsImludGVudCIsInRhZ3MiLCJ0ZXh0IiwiaHJlZkZvckV4dGVybmFsIiwic2FwIiwidXNoZWxsIiwiQ29udGFpbmVyIiwiZ2V0U2VydmljZSIsImFmdGVyQWxsIiwidW5yZWdpc3Rlck1hY3JvIiwiaXQiLCJtQmluZGluZ0NvbnRleHRzIiwib1NlbWFudGljTW9kZWwiLCJKU09OTW9kZWwiLCJMaW5rSWQiLCJlbnRpdHlUeXBlIiwibWFpblNlbWFudGljT2JqZWN0IiwibmF2aWdhdGlvblBhdGgiLCJzZW1hbnRpY09iamVjdE1hcHBpbmdzIiwic2VtYW50aWNPYmplY3QiLCJpdGVtcyIsImtleSIsInZhbHVlIiwic2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnMiLCJzZW1hbnRpY09iamVjdHMiLCJzZW1hbnRpY1ByaW1hcnlBY3Rpb25zIiwibUludGVybmFsTW9kZWxzIiwieG1sIiwiZ2V0VGVtcGxhdGVkWE1MIiwidGVtcGxhdGVkWE1MIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Iiwib1ZpZXdEYXRhTW9kZWwiLCJkYXRhRmllbGQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQUdBQSxFQUFBQSxRQUFRLENBQUMsV0FBRCxFQUFjLFlBQU07QUFDM0IsUUFBTUMsWUFBWSxHQUFHQyxVQUFVLENBQUNDLElBQUksQ0FBQ0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLDBCQUFyQixDQUFELENBQS9CO0FBQ0FDLElBQUFBLFNBQVMsQ0FBQyxZQUFN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LGVBQUQsQ0FGUDtBQUdDQyxZQUFBQSxJQUFJLEVBQUU7QUFIUCxXQUR1QjtBQWxCWSxTQUFkLENBQXZCO0FBMEJBLFlBQU04QixjQUFjLEdBQUcsSUFBSW5CLFNBQUosQ0FBYyxFQUFkLENBQXZCO0FBQ0EsWUFBTWEsZUFBZSxHQUFHO0FBQ3ZCLHNCQUFZZCxjQURXO0FBRXZCLHNCQUFZb0I7QUFGVyxTQUF4QjtBQUlBLFlBQU1MLEdBQUcsNkhBQVQ7QUFyQ3VDLCtCQXNDWkMsZUFBZSxDQUFDRCxHQUFELEVBQU14QyxZQUFOLEVBQW9Cd0IsZ0JBQXBCLEVBQXNDZSxlQUF0QyxDQXRDSCxpQkFzQ2pDRyxZQXRDaUM7QUF1Q3ZDQyxVQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUF2Q3VDO0FBd0N2QyxPQXhDQztBQUFBO0FBQUE7QUFBQSxNQUFGO0FBeUNBLEdBMVdPLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGVDRFMsIGdldFRlbXBsYXRlZFhNTCwgcmVnaXN0ZXJNYWNybywgdW5yZWdpc3Rlck1hY3JvIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCBGb3JtTWV0YWRhdGEgZnJvbSBcInNhcC9mZS9tYWNyb3MvRm9ybS5tZXRhZGF0YVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5kZXNjcmliZShcIlF1aWNrVmlld1wiLCAoKSA9PiB7XG5cdGNvbnN0IHNNZXRhZGF0YVVybCA9IGNvbXBpbGVDRFMocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuL2RhdGEvUXVpY2tWaWV3Rm9ybS5jZHNcIikpO1xuXHRiZWZvcmVBbGwoKCkgPT4ge1xuXHRcdHJlZ2lzdGVyTWFjcm8oRm9ybU1ldGFkYXRhKTtcblx0XHRjb25zdCBTaGVsbEdldFNlcnZpY2VGdW5jdGlvbiA9IGZ1bmN0aW9uKGFyZzogYW55KSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRnZXRQcmltYXJ5SW50ZW50OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG5cdFx0XHRcdFx0XHRyZXNvbHZlKHtcblx0XHRcdFx0XHRcdFx0aW50ZW50OiBcIiNQcm9kdWN0cy1tYW5hZ2VcIixcblx0XHRcdFx0XHRcdFx0dGFnczogW1wicHJpbWFyeUFjdGlvblwiXSxcblx0XHRcdFx0XHRcdFx0dGV4dDogXCJNYW5hZ2UgUHJvZHVjdHNcIlxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGhyZWZGb3JFeHRlcm5hbDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFwiI1Byb2R1Y3RzLWRpc3BsYXlcIjtcblx0XHRcdFx0fVxuXHRcdFx0fTtcblx0XHR9O1xuXHRcdHNhcC51c2hlbGwgPSB7XG5cdFx0XHRDb250YWluZXI6IHtcblx0XHRcdFx0Z2V0U2VydmljZTogU2hlbGxHZXRTZXJ2aWNlRnVuY3Rpb25cblx0XHRcdH0gYXMgYW55XG5cdFx0fSBhcyBhbnk7XG5cdH0pO1xuXHRhZnRlckFsbCgoKSA9PiB7XG5cdFx0dW5yZWdpc3Rlck1hY3JvKEZvcm1NZXRhZGF0YSk7XG5cdH0pO1xuXG5cdGl0KFwiUXVpY2tWaWV3IC0gRW50aXR5VHlwZSAtIEF2YXRhciB3aXRoIEljb25zXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdFx0XCJlbnRpdHlUeXBlXCI6IFwiL0xpbmVJdGVtcy9zdWJpdGVtc1wiLFxuXHRcdFx0XCJzZW1hbnRpY1wiOiBcIi9cIlxuXHRcdH07XG5cdFx0Y29uc3Qgb1NlbWFudGljTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdExpbmtJZDogXCJJRF9MaW5rXCIsXG5cdFx0XHRlbnRpdHlUeXBlOiBcIi9MaW5lSXRlbXMvc3ViaXRlbXNcIixcblx0XHRcdG1haW5TZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0bmF2aWdhdGlvblBhdGg6IFwie3N1Yml0ZW1zfVwiLFxuXHRcdFx0c2VtYW50aWNPYmplY3RNYXBwaW5nczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IFwiUHJvZHVjdHNcIixcblx0XHRcdFx0XHRpdGVtczogW1xuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRrZXk6IFwibGluZWl0ZW1JRFwiLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogXCJsaW5laXRlbUlEXCJcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH1cblx0XHRcdF0sXG5cdFx0XHRzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uczogW10sXG5cdFx0XHRzZW1hbnRpY09iamVjdHM6IFtcIlByb2R1Y3RzXCJdLFxuXHRcdFx0c2VtYW50aWNQcmltYXJ5QWN0aW9uczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aW50ZW50OiBcIiNQcm9kdWN0cy1tYW5hZ2VcIixcblx0XHRcdFx0XHR0YWdzOiBbXCJwcmltYXJ5QWN0aW9uXCJdLFxuXHRcdFx0XHRcdHRleHQ6IFwiU2hvdyBQcm9kdWN0c1wiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9KTtcblx0XHRjb25zdCBtSW50ZXJuYWxNb2RlbHMgPSB7XG5cdFx0XHRcInNlbWFudGljXCI6IG9TZW1hbnRpY01vZGVsXG5cdFx0fTtcblxuXHRcdGNvbnN0IHhtbCA9IGA8Y29yZTpGcmFnbWVudCBmcmFnbWVudE5hbWU9XCJzYXAuZmUubWFjcm9zLmZpZWxkLlF1aWNrVmlld0xpbmtGb3JFbnRpdHlcIiB0eXBlPVwiWE1MXCIgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCIvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCBtSW50ZXJuYWxNb2RlbHMpO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIlF1aWNrVmlldyAtIEVudGl0eVR5cGUgLSBBdmF0YXIgd2l0aCBJbml0aWFsc1wiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgbUJpbmRpbmdDb250ZXh0cyA9IHtcblx0XHRcdFwiZW50aXR5VHlwZVwiOiBcIi9MaW5lSXRlbXMvc3ViaXRlbXMyXCIsXG5cdFx0XHRcInNlbWFudGljXCI6IFwiL1wiXG5cdFx0fTtcblx0XHRjb25zdCBvU2VtYW50aWNNb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0TGlua0lkOiBcIklEX0xpbmtcIixcblx0XHRcdGVudGl0eVR5cGU6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczJcIixcblx0XHRcdG1haW5TZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0bmF2aWdhdGlvblBhdGg6IFwie3N1Yml0ZW1zMn1cIixcblx0XHRcdHNlbWFudGljT2JqZWN0TWFwcGluZ3M6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBcIlByb2R1Y3RzXCIsXG5cdFx0XHRcdFx0aXRlbXM6IFtcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0a2V5OiBcImxpbmVpdGVtSURcIixcblx0XHRcdFx0XHRcdFx0dmFsdWU6IFwibGluZWl0ZW1JRFwiXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9XG5cdFx0XHRdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnM6IFtdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RzOiBbXCJQcm9kdWN0c1wiXSxcblx0XHRcdHNlbWFudGljUHJpbWFyeUFjdGlvbnM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGludGVudDogXCIjUHJvZHVjdHMtbWFuYWdlXCIsXG5cdFx0XHRcdFx0dGFnczogW1wicHJpbWFyeUFjdGlvblwiXSxcblx0XHRcdFx0XHR0ZXh0OiBcIlNob3cgUHJvZHVjdHNcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSk7XG5cdFx0Y29uc3QgbUludGVybmFsTW9kZWxzID0ge1xuXHRcdFx0XCJzZW1hbnRpY1wiOiBvU2VtYW50aWNNb2RlbFxuXHRcdH07XG5cdFx0Y29uc3QgeG1sID0gYDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuZmllbGQuUXVpY2tWaWV3TGlua0ZvckVudGl0eVwiIHR5cGU9XCJYTUxcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIG1JbnRlcm5hbE1vZGVscyk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiUXVpY2tWaWV3IC0gRW50aXR5VHlwZSAtIFF1aWNrVmlld0ZhY2V0cyAtIEZpZWxkR3JvdXBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IG1CaW5kaW5nQ29udGV4dHMgPSB7XG5cdFx0XHRcImVudGl0eVR5cGVcIjogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zM1wiLFxuXHRcdFx0XCJzZW1hbnRpY1wiOiBcIi9cIixcblx0XHRcdFwidmlld0RhdGFcIjogXCIvXCJcblx0XHR9O1xuXHRcdGNvbnN0IG9TZW1hbnRpY01vZGVsID0gbmV3IEpTT05Nb2RlbCh7XG5cdFx0XHRMaW5rSWQ6IFwiSURfTGlua1wiLFxuXHRcdFx0ZW50aXR5VHlwZTogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zM1wiLFxuXHRcdFx0bWFpblNlbWFudGljT2JqZWN0OiBcIlByb2R1Y3RzXCIsXG5cdFx0XHRuYXZpZ2F0aW9uUGF0aDogXCJ7c3ViaXRlbXMzfVwiLFxuXHRcdFx0c2VtYW50aWNPYmplY3RNYXBwaW5nczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IFwiUHJvZHVjdHNcIixcblx0XHRcdFx0XHRpdGVtczogW1xuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRrZXk6IFwibGluZWl0ZW1JRFwiLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogXCJsaW5laXRlbUlEXCJcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH1cblx0XHRcdF0sXG5cdFx0XHRzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uczogW10sXG5cdFx0XHRzZW1hbnRpY09iamVjdHM6IFtcIlByb2R1Y3RzXCJdLFxuXHRcdFx0c2VtYW50aWNQcmltYXJ5QWN0aW9uczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aW50ZW50OiBcIiNQcm9kdWN0cy1tYW5hZ2VcIixcblx0XHRcdFx0XHR0YWdzOiBbXCJwcmltYXJ5QWN0aW9uXCJdLFxuXHRcdFx0XHRcdHRleHQ6IFwiU2hvdyBQcm9kdWN0c1wiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9KTtcblx0XHRjb25zdCBvVmlld0RhdGFNb2RlbCA9IG5ldyBKU09OTW9kZWwoe30pO1xuXHRcdGNvbnN0IG1JbnRlcm5hbE1vZGVscyA9IHtcblx0XHRcdFwic2VtYW50aWNcIjogb1NlbWFudGljTW9kZWwsXG5cdFx0XHRcInZpZXdEYXRhXCI6IG9WaWV3RGF0YU1vZGVsXG5cdFx0fTtcblx0XHRjb25zdCB4bWwgPSBgPGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLm1hY3Jvcy5maWVsZC5RdWlja1ZpZXdMaW5rRm9yRW50aXR5XCIgdHlwZT1cIlhNTFwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWwsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywgbUludGVybmFsTW9kZWxzKTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJRdWlja1ZpZXcgLSBFbnRpdHlUeXBlIC0gUXVpY2tWaWV3RmFjZXRzIC0gSWRlbnRpZmljYXRpb25cIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IG1CaW5kaW5nQ29udGV4dHMgPSB7XG5cdFx0XHRcImVudGl0eVR5cGVcIjogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zNFwiLFxuXHRcdFx0XCJzZW1hbnRpY1wiOiBcIi9cIixcblx0XHRcdFwidmlld0RhdGFcIjogXCIvXCJcblx0XHR9O1xuXHRcdGNvbnN0IG9TZW1hbnRpY01vZGVsID0gbmV3IEpTT05Nb2RlbCh7XG5cdFx0XHRMaW5rSWQ6IFwiSURfTGlua1wiLFxuXHRcdFx0ZW50aXR5VHlwZTogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zNFwiLFxuXHRcdFx0bWFpblNlbWFudGljT2JqZWN0OiBcIlByb2R1Y3RzXCIsXG5cdFx0XHRuYXZpZ2F0aW9uUGF0aDogXCJ7c3ViaXRlbXM0fVwiLFxuXHRcdFx0c2VtYW50aWNPYmplY3RNYXBwaW5nczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IFwiUHJvZHVjdHNcIixcblx0XHRcdFx0XHRpdGVtczogW1xuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRrZXk6IFwibGluZWl0ZW1JRFwiLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogXCJsaW5laXRlbUlEXCJcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH1cblx0XHRcdF0sXG5cdFx0XHRzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uczogW10sXG5cdFx0XHRzZW1hbnRpY09iamVjdHM6IFtcIlByb2R1Y3RzXCJdLFxuXHRcdFx0c2VtYW50aWNQcmltYXJ5QWN0aW9uczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aW50ZW50OiBcIiNQcm9kdWN0cy1tYW5hZ2VcIixcblx0XHRcdFx0XHR0YWdzOiBbXCJwcmltYXJ5QWN0aW9uXCJdLFxuXHRcdFx0XHRcdHRleHQ6IFwiU2hvdyBQcm9kdWN0c1wiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9KTtcblx0XHRjb25zdCBvVmlld0RhdGFNb2RlbCA9IG5ldyBKU09OTW9kZWwoe30pO1xuXHRcdGNvbnN0IG1JbnRlcm5hbE1vZGVscyA9IHtcblx0XHRcdFwic2VtYW50aWNcIjogb1NlbWFudGljTW9kZWwsXG5cdFx0XHRcInZpZXdEYXRhXCI6IG9WaWV3RGF0YU1vZGVsXG5cdFx0fTtcblx0XHRjb25zdCB4bWwgPSBgPGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLm1hY3Jvcy5maWVsZC5RdWlja1ZpZXdMaW5rRm9yRW50aXR5XCIgdHlwZT1cIlhNTFwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWwsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywgbUludGVybmFsTW9kZWxzKTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJRdWlja1ZpZXcgLSBFbnRpdHlUeXBlIC0gUXVpY2tWaWV3RmFjZXRzIC0gRGF0YVBvaW50XCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdFx0XCJlbnRpdHlUeXBlXCI6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczVcIixcblx0XHRcdFwic2VtYW50aWNcIjogXCIvXCIsXG5cdFx0XHRcInZpZXdEYXRhXCI6IFwiL1wiXG5cdFx0fTtcblx0XHRjb25zdCBvU2VtYW50aWNNb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0TGlua0lkOiBcIklEX0xpbmtcIixcblx0XHRcdGVudGl0eVR5cGU6IFwiL0xpbmVJdGVtcy9zdWJpdGVtczVcIixcblx0XHRcdG1haW5TZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0bmF2aWdhdGlvblBhdGg6IFwie3N1Yml0ZW1zNX1cIixcblx0XHRcdHNlbWFudGljT2JqZWN0TWFwcGluZ3M6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHNlbWFudGljT2JqZWN0OiBcIlByb2R1Y3RzXCIsXG5cdFx0XHRcdFx0aXRlbXM6IFtcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0a2V5OiBcImxpbmVpdGVtSURcIixcblx0XHRcdFx0XHRcdFx0dmFsdWU6IFwibGluZWl0ZW1JRFwiXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9XG5cdFx0XHRdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnM6IFtdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RzOiBbXCJQcm9kdWN0c1wiXSxcblx0XHRcdHNlbWFudGljUHJpbWFyeUFjdGlvbnM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGludGVudDogXCIjUHJvZHVjdHMtbWFuYWdlXCIsXG5cdFx0XHRcdFx0dGFnczogW1wicHJpbWFyeUFjdGlvblwiXSxcblx0XHRcdFx0XHR0ZXh0OiBcIlNob3cgUHJvZHVjdHNcIlxuXHRcdFx0XHR9XG5cdFx0XHRdXG5cdFx0fSk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHt9KTtcblx0XHRjb25zdCBtSW50ZXJuYWxNb2RlbHMgPSB7XG5cdFx0XHRcInNlbWFudGljXCI6IG9TZW1hbnRpY01vZGVsLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBvVmlld0RhdGFNb2RlbFxuXHRcdH07XG5cdFx0Y29uc3QgeG1sID0gYDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuZmllbGQuUXVpY2tWaWV3TGlua0ZvckVudGl0eVwiIHR5cGU9XCJYTUxcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIG1JbnRlcm5hbE1vZGVscyk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiUXVpY2tWaWV3IC0gRW50aXR5VHlwZSAtIFF1aWNrVmlld0ZhY2V0cyAtIENvbnRhY3RcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGNvbnN0IG1CaW5kaW5nQ29udGV4dHMgPSB7XG5cdFx0XHRcImVudGl0eVR5cGVcIjogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zNlwiLFxuXHRcdFx0XCJzZW1hbnRpY1wiOiBcIi9cIixcblx0XHRcdFwidmlld0RhdGFcIjogXCIvXCJcblx0XHR9O1xuXHRcdGNvbnN0IG9TZW1hbnRpY01vZGVsID0gbmV3IEpTT05Nb2RlbCh7XG5cdFx0XHRMaW5rSWQ6IFwiSURfTGlua1wiLFxuXHRcdFx0ZW50aXR5VHlwZTogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zNlwiLFxuXHRcdFx0bWFpblNlbWFudGljT2JqZWN0OiBcIlByb2R1Y3RzXCIsXG5cdFx0XHRuYXZpZ2F0aW9uUGF0aDogXCJ7c3ViaXRlbXM2fVwiLFxuXHRcdFx0c2VtYW50aWNPYmplY3RNYXBwaW5nczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0c2VtYW50aWNPYmplY3Q6IFwiUHJvZHVjdHNcIixcblx0XHRcdFx0XHRpdGVtczogW1xuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRrZXk6IFwibGluZWl0ZW1JRFwiLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogXCJsaW5laXRlbUlEXCJcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH1cblx0XHRcdF0sXG5cdFx0XHRzZW1hbnRpY09iamVjdFVuYXZhaWxhYmxlQWN0aW9uczogW10sXG5cdFx0XHRzZW1hbnRpY09iamVjdHM6IFtcIlByb2R1Y3RzXCJdLFxuXHRcdFx0c2VtYW50aWNQcmltYXJ5QWN0aW9uczogW1xuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aW50ZW50OiBcIiNQcm9kdWN0cy1tYW5hZ2VcIixcblx0XHRcdFx0XHR0YWdzOiBbXCJwcmltYXJ5QWN0aW9uXCJdLFxuXHRcdFx0XHRcdHRleHQ6IFwiU2hvdyBQcm9kdWN0c1wiXG5cdFx0XHRcdH1cblx0XHRcdF1cblx0XHR9KTtcblx0XHRjb25zdCBvVmlld0RhdGFNb2RlbCA9IG5ldyBKU09OTW9kZWwoe30pO1xuXHRcdGNvbnN0IG1JbnRlcm5hbE1vZGVscyA9IHtcblx0XHRcdFwic2VtYW50aWNcIjogb1NlbWFudGljTW9kZWwsXG5cdFx0XHRcInZpZXdEYXRhXCI6IG9WaWV3RGF0YU1vZGVsXG5cdFx0fTtcblx0XHRjb25zdCB4bWwgPSBgPGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLm1hY3Jvcy5maWVsZC5RdWlja1ZpZXdMaW5rRm9yRW50aXR5XCIgdHlwZT1cIlhNTFwiIHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWwsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywgbUludGVybmFsTW9kZWxzKTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG5cblx0aXQoXCJRdWlja1ZpZXcgLSBDb250YWN0XCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdFx0XCJjb250YWN0XCI6IFwiL0xpbmVJdGVtcy9AY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbXVuaWNhdGlvbi52MS5Db250YWN0XCIsXG5cdFx0XHRcInNlbWFudGljXCI6IFwiL1wiLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBcIi9cIlxuXHRcdH07XG5cdFx0Y29uc3Qgb1NlbWFudGljTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHtcblx0XHRcdExpbmtJZDogXCJJRF9MaW5rXCIsXG5cdFx0XHRzZW1hbnRpY09iamVjdE1hcHBpbmdzOiBbXSxcblx0XHRcdHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zOiBbXSxcblx0XHRcdHNlbWFudGljUHJpbWFyeUFjdGlvbnM6IFtdXG5cdFx0fSk7XG5cdFx0Y29uc3Qgb1ZpZXdEYXRhTW9kZWwgPSBuZXcgSlNPTk1vZGVsKHt9KTtcblx0XHRjb25zdCBtSW50ZXJuYWxNb2RlbHMgPSB7XG5cdFx0XHRcInNlbWFudGljXCI6IG9TZW1hbnRpY01vZGVsLFxuXHRcdFx0XCJ2aWV3RGF0YVwiOiBvVmlld0RhdGFNb2RlbFxuXHRcdH07XG5cdFx0Y29uc3QgeG1sID0gYDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuZmllbGQuUXVpY2tWaWV3TGlua0ZvckNvbnRhY3RcIiB0eXBlPVwiWE1MXCIgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCIvPmA7XG5cdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCBtSW50ZXJuYWxNb2RlbHMpO1xuXHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHR9KTtcblxuXHRpdChcIlF1aWNrVmlldyAtIENvbnRhY3Qgd2l0aCBsYWJlbFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0Y29uc3QgbUJpbmRpbmdDb250ZXh0cyA9IHtcblx0XHRcdFwiY29udGFjdFwiOiBcIi9MaW5lSXRlbXMvQGNvbS5zYXAudm9jYWJ1bGFyaWVzLkNvbW11bmljYXRpb24udjEuQ29udGFjdCNXaXRoTGFiZWxJbkFkZHJlc3NcIixcblx0XHRcdFwic2VtYW50aWNcIjogXCIvXCIsXG5cdFx0XHRcInZpZXdEYXRhXCI6IFwiL1wiXG5cdFx0fTtcblx0XHRjb25zdCBvU2VtYW50aWNNb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0TGlua0lkOiBcIklEX0xpbmtcIixcblx0XHRcdHNlbWFudGljT2JqZWN0TWFwcGluZ3M6IFtdLFxuXHRcdFx0c2VtYW50aWNPYmplY3RVbmF2YWlsYWJsZUFjdGlvbnM6IFtdLFxuXHRcdFx0c2VtYW50aWNQcmltYXJ5QWN0aW9uczogW11cblx0XHR9KTtcblx0XHRjb25zdCBvVmlld0RhdGFNb2RlbCA9IG5ldyBKU09OTW9kZWwoe30pO1xuXHRcdGNvbnN0IG1JbnRlcm5hbE1vZGVscyA9IHtcblx0XHRcdFwic2VtYW50aWNcIjogb1NlbWFudGljTW9kZWwsXG5cdFx0XHRcInZpZXdEYXRhXCI6IG9WaWV3RGF0YU1vZGVsXG5cdFx0fTtcblx0XHRjb25zdCB4bWwgPSBgPGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLm1hY3Jvcy5maWVsZC5RdWlja1ZpZXdMaW5rRm9yQ29udGFjdFwiIHR5cGU9XCJYTUxcIiB4bWxuczpjb3JlPVwic2FwLnVpLmNvcmVcIi8+YDtcblx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIG1JbnRlcm5hbE1vZGVscyk7XG5cdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdH0pO1xuXG5cdGl0KFwiUXVpY2tWaWV3IC0gRGF0YUZpZWxkXCIsIGFzeW5jICgpID0+IHtcblx0XHRjb25zdCBtQmluZGluZ0NvbnRleHRzID0ge1xuXHRcdFx0XCJkYXRhRmllbGRcIjogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zNy9kYXRhRmllbGRcIixcblx0XHRcdFwic2VtYW50aWNcIjogXCIvXCIsXG5cdFx0XHRcInZpZXdEYXRhXCI6IFwiL1wiXG5cdFx0fTtcblx0XHRjb25zdCBvU2VtYW50aWNNb2RlbCA9IG5ldyBKU09OTW9kZWwoe1xuXHRcdFx0TGlua0lkOiBcIklEX0xpbmtcIixcblx0XHRcdGRhdGFGaWVsZDogXCIvTGluZUl0ZW1zL3N1Yml0ZW1zNy9kYXRhRmllbGRcIixcblx0XHRcdG1haW5TZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0bmF2aWdhdGlvblBhdGg6IFwie3N1Yml0ZW1zNy9kYXRhRmllbGR9XCIsXG5cdFx0XHRzZW1hbnRpY09iamVjdE1hcHBpbmdzOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRzZW1hbnRpY09iamVjdDogXCJQcm9kdWN0c1wiLFxuXHRcdFx0XHRcdGl0ZW1zOiBbXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdGtleTogXCJsaW5laXRlbUlEXCIsXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBcImxpbmVpdGVtSURcIlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdF1cblx0XHRcdFx0fVxuXHRcdFx0XSxcblx0XHRcdHNlbWFudGljT2JqZWN0VW5hdmFpbGFibGVBY3Rpb25zOiBbXSxcblx0XHRcdHNlbWFudGljT2JqZWN0czogW1wiUHJvZHVjdHNcIl0sXG5cdFx0XHRzZW1hbnRpY1ByaW1hcnlBY3Rpb25zOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpbnRlbnQ6IFwiI1Byb2R1Y3RzLW1hbmFnZVwiLFxuXHRcdFx0XHRcdHRhZ3M6IFtcInByaW1hcnlBY3Rpb25cIl0sXG5cdFx0XHRcdFx0dGV4dDogXCJTaG93IFByb2R1Y3RzXCJcblx0XHRcdFx0fVxuXHRcdFx0XVxuXHRcdH0pO1xuXHRcdGNvbnN0IG9WaWV3RGF0YU1vZGVsID0gbmV3IEpTT05Nb2RlbCh7fSk7XG5cdFx0Y29uc3QgbUludGVybmFsTW9kZWxzID0ge1xuXHRcdFx0XCJzZW1hbnRpY1wiOiBvU2VtYW50aWNNb2RlbCxcblx0XHRcdFwidmlld0RhdGFcIjogb1ZpZXdEYXRhTW9kZWxcblx0XHR9O1xuXHRcdGNvbnN0IHhtbCA9IGA8Y29yZTpGcmFnbWVudCBmcmFnbWVudE5hbWU9XCJzYXAuZmUubWFjcm9zLmZpZWxkLlF1aWNrVmlld0xpbmtGb3JEYXRhRmllbGRcIiB0eXBlPVwiWE1MXCJcdHhtbG5zOmNvcmU9XCJzYXAudWkuY29yZVwiLz5gO1xuXHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWwsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywgbUludGVybmFsTW9kZWxzKTtcblx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0fSk7XG59KTtcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { compileCDS, getTemplatedXML, registerMacro, unregisterMacro } from "sap/fe/test/JestTemplatingHelper";
|
|
2
|
-
import
|
|
2
|
+
import JSONModel from "sap/ui/model/json/JSONModel";
|
|
3
3
|
import FormMetadata from "sap/fe/macros/Form.metadata";
|
|
4
4
|
import * as path from "path";
|
|
5
5
|
|
|
@@ -23,12 +23,11 @@ describe("QuickView", () => {
|
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
|
-
// @ts-ignore
|
|
27
26
|
sap.ushell = {
|
|
28
27
|
Container: {
|
|
29
28
|
getService: ShellGetServiceFunction
|
|
30
|
-
}
|
|
31
|
-
};
|
|
29
|
+
} as any
|
|
30
|
+
} as any;
|
|
32
31
|
});
|
|
33
32
|
afterAll(() => {
|
|
34
33
|
unregisterMacro(FormMetadata);
|
|
@@ -99,7 +99,7 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/fe/macros/internal/Field
|
|
|
99
99
|
}]
|
|
100
100
|
}, function () {
|
|
101
101
|
try {
|
|
102
|
-
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem/16\"\n\t\t\t\t\t\t\t\t\tparentControl=\"Table\"\n\t\t\t\t\t\t\t\t\t
|
|
102
|
+
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem/16\"\n\t\t\t\t\t\t\t\t\tparentControl=\"Table\">\n\t\t\t\t\t\t\t\t\t<internalMacro:formatOptions isCurrencyAligned=\"true\" />\n\t\t\t\t\t\t\t\t\t</internalMacro:Field>";
|
|
103
103
|
return Promise.resolve(getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {})).then(function (templatedXML) {
|
|
104
104
|
expect(templatedXML).toMatchSnapshot();
|
|
105
105
|
});
|
|
@@ -109,7 +109,17 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/fe/macros/internal/Field
|
|
|
109
109
|
});
|
|
110
110
|
it("Simple DataField on a Quantity with currency property for Analytics", function () {
|
|
111
111
|
try {
|
|
112
|
-
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem/16\"\n\t\t\t\t\t\t\t\t\tparentControl=\"Table\">\n\t\t\t\t\t\t\t\t\t<internalMacro:formatOptions isAnalytics=\"true\" />\n </internalMacro:Field>";
|
|
112
|
+
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem/16\"\n\t\t\t\t\t\t\t\t\tparentControl=\"Table\">\n\t\t\t\t\t\t\t\t\t<internalMacro:formatOptions isAnalytics=\"true\" isCurrencyAligned=\"true\" />\n </internalMacro:Field>";
|
|
113
|
+
return Promise.resolve(getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {})).then(function (templatedXML) {
|
|
114
|
+
expect(templatedXML).toMatchSnapshot();
|
|
115
|
+
});
|
|
116
|
+
} catch (e) {
|
|
117
|
+
return Promise.reject(e);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
it("Simple DataField on a Quantity with currency property and a Criticality for Analytics", function () {
|
|
121
|
+
try {
|
|
122
|
+
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem#DataFields/1\"\n\t\t\t\t\t\t\t\t\tparentControl=\"Table\">\n\t\t\t\t\t\t\t\t\t<internalMacro:formatOptions isAnalytics=\"true\" isCurrencyAligned=\"true\" />\n </internalMacro:Field>";
|
|
113
123
|
return Promise.resolve(getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {})).then(function (templatedXML) {
|
|
114
124
|
expect(templatedXML).toMatchSnapshot();
|
|
115
125
|
});
|
|
@@ -292,7 +302,7 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/fe/macros/internal/Field
|
|
|
292
302
|
});
|
|
293
303
|
it("Simple DataField on a Quantity with currency property ", function () {
|
|
294
304
|
try {
|
|
295
|
-
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem/16\"\n\t\t\t\t\t\t\t\t\tparentControl=\"Table\"\n\t\t\t\t\t\t\t\t\t
|
|
305
|
+
var xmlField = "<internalMacro:Field xmlns:internalMacro=\"sap.fe.macros.internal\"\n\t\t\t\t\t\t\t\t\tentitySet=\"{entitySet>}\"\n\t\t\t\t\t\t\t\t\tdataField=\"@com.sap.vocabularies.UI.v1.LineItem/16\"\n\t\t\t\t\t\t\t\t\tparentControl=\"Table\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<internalMacro:formatOptions isCurrencyAligned=\"true\" />\n </internalMacro:Field>";
|
|
296
306
|
return Promise.resolve(getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {})).then(function (templatedXML) {
|
|
297
307
|
expect(templatedXML).toMatchSnapshot();
|
|
298
308
|
});
|
|
@@ -519,4 +529,4 @@ sap.ui.define(["sap/fe/test/JestTemplatingHelper", "sap/fe/macros/internal/Field
|
|
|
519
529
|
});
|
|
520
530
|
});
|
|
521
531
|
}, false);
|
|
522
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNpbXBsZUZpZWxkTWFjcm8uc3BlYy50cyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsImJlZm9yZUFsbCIsInJlZ2lzdGVyTWFjcm8iLCJGaWVsZE1ldGFkYXRhIiwiYWZ0ZXJBbGwiLCJ1bnJlZ2lzdGVyTWFjcm8iLCJzTWV0YWRhdGFVcmwiLCJjb21waWxlQ0RTIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJtQmluZGluZ0NvbnRleHRzIiwiaXQiLCJ4bWxGaWVsZCIsImdldFRlbXBsYXRlZFhNTCIsInRlbXBsYXRlZFhNTCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7O0FBRUFBLEVBQUFBLFFBQVEsQ0FBQyxZQUFELEVBQWUsWUFBTTtBQUM1QkMsSUFBQUEsU0FBUyxDQUFDLFlBQU07QUFDZkMsTUFBQUEsYUFBYSxDQUFDQyxhQUFELENBQWI7QUFDQSxLQUZRLENBQVQ7QUFHQUMsSUFBQUEsUUFBUSxDQUFDLFlBQU07QUFDZEMsTUFBQUEsZUFBZSxDQUFDRixhQUFELENBQWY7QUFDQSxLQUZPLENBQVI7QUFHQSxRQUFNRyxZQUFZLEdBQUdDLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsNkJBQXJCLENBQUQsQ0FBL0I7QUFDQSxRQUFNQyxnQkFBZ0IsR0FBRztBQUN4QixtQkFBYTtBQURXLEtBQXpCO0FBSUFYLElBQUFBLFFBQVEsQ0FBQyx5RUFBRCxFQUE0RSxZQUFNO0FBQ3pGWSxNQUFBQSxFQUFFLENBQUMsaUNBQUQ7QUFBQSxZQUFnRDtBQUNqRCxjQUFNQyxRQUFRLG9OQUFkO0FBRGlELGlDQUt0QkMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQUxPLGlCQUszQ0ksWUFMMkM7QUFNakRDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQU5pRDtBQU9qRCxTQVBD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Q0FBTixDQUFxQkUsZUFBckI7QUFQNEQ7QUFRNUQsU0FSQztBQUFBO0FBQUE7QUFBQSxRQUFGO0FBU0FMLE1BQUFBLEVBQUUsQ0FBQywyQ0FBRDtBQUFBLFlBQTBEO0FBQzNELGNBQU1DLFFBQVEsdVFBQWQ7QUFEMkQsaUNBTWhDQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTmlCLGlCQU1yREksWUFOcUQ7QUFPM0RDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVAyRDtBQVEzRCxTQVJDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFTQSxLQWxFTyxDQUFSO0FBbUVBLEdBcGZPLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGVDRFMsIGdldFRlbXBsYXRlZFhNTCwgcmVnaXN0ZXJNYWNybywgdW5yZWdpc3Rlck1hY3JvIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQgRmllbGRNZXRhZGF0YSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC9GaWVsZC5tZXRhZGF0YVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5kZXNjcmliZShcIk1hY3JvRmllbGRcIiwgKCkgPT4ge1xuXHRiZWZvcmVBbGwoKCkgPT4ge1xuXHRcdHJlZ2lzdGVyTWFjcm8oRmllbGRNZXRhZGF0YSk7XG5cdH0pO1xuXHRhZnRlckFsbCgoKSA9PiB7XG5cdFx0dW5yZWdpc3Rlck1hY3JvKEZpZWxkTWV0YWRhdGEpO1xuXHR9KTtcblx0Y29uc3Qgc01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4vZGF0YS9zaW1wbGVGaWVsZE1hY3JvLmNkc1wiKSk7XG5cdGNvbnN0IG1CaW5kaW5nQ29udGV4dHMgPSB7XG5cdFx0XCJlbnRpdHlTZXRcIjogXCIvSXRlbXNcIlxuXHR9O1xuXG5cdGRlc2NyaWJlKFwiLSB3aXRoIGFubm90YXRpb25zIG9uIHRoZSBkYXRhRmllbGQncyBWYWx1ZSBwcm9wZXJ0eSAoZXhjZXB0IHNlbWFudGljKSBcIiwgKCkgPT4ge1xuXHRcdGl0KFwiSW1hZ2UgaWRlbnRpZmllZCBieSBJc0ltYWdlVVJMIFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHRcdGl0KFwiSW1hZ2UgaWRlbnRpZmllZCBieSBpbWFnZVVSTFN0cmVhbSBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8zXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIkltYWdlIGlkZW50aWZpZWQgYnkgaXNNZWRpYVR5cGUgXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vNFwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cblx0XHRpdChcIlN0cmVhbU5vSW1hZ2UgcmVuZGVycyBJY29uLCBMaW5rIGFuZCBGaWxlVXBsb2FkZXIgXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMThcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXG5cdFx0aXQoXCJTdHJlYW0gd2l0aCBtaW1lIHR5cGUgYW5kIGZpbGUgc2l6ZSByZXN0cmljdGlvbnNcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xOVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cblx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYW4gZW1haWwgYWRkcmVzcyBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzExXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBwaG9uZSBudW1iZXIgcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xMlwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdFx0aXQoXG5cdFx0XHRcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIGN1cnJlbmN5IHByb3BlcnR5IFwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwidHlwZVwiOiBcIkJDUFwiLFxuXHRcdFx0XHRcdFx0XCJJRFwiOiBcIjAwMjA3NTEyOTUwMDAwMzE0NTI0MjAyMVwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzE2XCJcblx0XHRcdFx0XHRcdFx0XHRcdHBhcmVudENvbnRyb2w9XCJUYWJsZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgUXVhbnRpdHkgd2l0aCBjdXJyZW5jeSBwcm9wZXJ0eSBmb3IgQW5hbHl0aWNzXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMTZcIlxuXHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Q29udHJvbD1cIlRhYmxlXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIGlzQW5hbHl0aWNzPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIHVuaXQgb2YgbWVhc3VyZSAodGV4dCkgcHJvcGVydHkgZm9yIGFuYWx5dGljc1wiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMTRcIlxuXHRcdFx0XHRcdFx0XHRcdHBhcmVudENvbnRyb2w9XCJUYWJsZVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgaXNBbmFseXRpY3M9XCJ0cnVlXCIgLz5cblx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdFx0aXQoXG5cdFx0XHRcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBNdWx0aSBMaW5lIHRleHQgcHJvcGVydHkgXCIsXG5cdFx0XHR7XG5cdFx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdFx0eyBcInR5cGVcIjogXCJKSVJBXCIsIFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTA3OFwiIH0sXG5cdFx0XHRcdFx0eyBcInR5cGVcIjogXCJKSVJBXCIsIFwiSURcIjogXCJGSU9SSVRFQ0hQMS0xOTQwOVwiIH1cblx0XHRcdFx0XVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jYmlzLzBcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYXJlbnRDb250cm9sPVwiVGFibGVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgdGV4dExpbmVzRWRpdD1cIjMxXCIgdGV4dE1heExpbmVzPVwiMzlcIiB0ZXh0RXhwYW5kQmVoYXZpb3JEaXNwbGF5PVwiUG9wb3ZlclwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRleHRNYXhDaGFyYWN0ZXJzRGlzcGxheT1cIjUwXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cdFx0aXQoXCJEYXRhRmllbGQgd2l0aCBoYXJkY29kZSBzdHJpbmcgVmFsdWUgXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jYmlzLzJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Q29udHJvbD1cIlRhYmxlXCJcblx0XHRcdFx0XHRcdFx0XHRcdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIi0gd2hlbiBpdCB1c2VzIGRpcmVjdGx5IGEgcHJvcGVydHkgLSBcIiwgKCkgPT4ge1xuXHRcdGl0KFwiUHJvcGVydHkgd2l0aCB0ZXh0IGFycmFuZ2VtZW50IFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwicHJvcFdpdGhUZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHRcdGl0KFwiUHJvcGVydHkgd2l0aCB0ZXh0IGFycmFuZ2VtZW50IGFuZCBvdmVycmlkZSBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cInByb3BXaXRoVGV4dFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyBkaXNwbGF5TW9kZT1cIlZhbHVlXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIkJvb2xlYW4gcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cInByZWZlcnJlZEl0ZW1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIi0gY2hlY2sgY29udHJvbCB0ZW1wbGF0aW5nIGZvciBiYXNpYyB0eXBlcyBhbmQgaW5wdXQgYWxpZ25tZW50LSBcIiwgKCkgPT4ge1xuXHRcdGRlc2NyaWJlKFwiLSBmb3IgdGFibGUgLSBcIiwgKCkgPT4ge1xuXHRcdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgc3RyaW5nIHByb3BlcnR5IFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIGJvb2xlYW4gcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBUaW1lc3RhbXAgcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzZcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBEZWNpbWFsIHByb3BlcnR5XCIsIGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS83XCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9KTtcblxuXHRcdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgVGltZSBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vOFwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIERvdWJsZSBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vOVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIEludGVnZXIgcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzEwXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9KTtcblxuXHRcdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgRGF0ZSBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMTNcIlxuXHRcdFx0XHRcdFx0XHRcdFx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIHVuaXQgcHJvcGVydHkgd2hlcmUgdW5pdCBpcyBhbHNvIGVkaXRhYmxlXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xNFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRwYXJlbnRDb250cm9sPVwiVGFibGVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXHRcdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgUXVhbnRpdHkgd2l0aCB1bml0IHByb3BlcnR5IHdoZXJlIHVuaXQgaXMgcmVhZG9ubHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzE1XCJcblx0XHRcdFx0XHRcdFx0XHRcdHBhcmVudENvbnRyb2w9XCJUYWJsZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIGN1cnJlbmN5IHByb3BlcnR5IFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMTZcIlxuXHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Q29udHJvbD1cIlRhYmxlXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9KTtcblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIFF1YW50aXR5IHdpdGggc3RhdGljIHVuaXQgYW5ub3RhdGlvblwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMTdcIlxuXHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Q29udHJvbD1cIlRhYmxlXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0XHRkZXNjcmliZShcIi0gZm9yIGZvcm0gLSBcIiwgKCkgPT4ge1xuXHRcdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgc3RyaW5nIHByb3BlcnR5IFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyB0ZXh0QWxpZ25Nb2RlPVwiRm9ybVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRpdChcIldoZW4gQ29tbW9uLmlzRGlnaXRzZXF1ZW5jZSBpcyBhbm5vdGF0ZWQgZm9yIGEgc3RyaW5nXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cImlzRGlnaXRTZXF1ZW5jZVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyB0ZXh0QWxpZ25Nb2RlPVwiRm9ybVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIEludGVnZXIgcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzEwXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIHRleHRBbGlnbk1vZGU9XCJGb3JtXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIERhdGUgcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzEzXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIHRleHRBbGlnbk1vZGU9XCJGb3JtXCIvPlxuXHRcdFx0XHRcdFx0XHRcdDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIi0gY2hlY2sgY29udHJvbCB0ZW1wbGF0aW5nIGZvciBlbXB0eSBwbGFjZUhvbGRlciB0cmlnZ2VyLSBcIiwgKCkgPT4ge1xuXHRcdGl0KFwid2hlbiB0aGVyZSBpcyBubyBmb3JtYXRPcHRpb25zL3Nob3dFbXB0eUluZGljYXRvciBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXG5cdFx0aXQoXCJ3aGVuIHRoZXJlIGlzIGZvcm1hdE9wdGlvbnMvc2hvd0VtcHR5SW5kaWNhdG9yIGZvciBhIERhdGFmaWVsZCBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIHNob3dFbXB0eUluZGljYXRvcj1cInRydWVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXG5cdFx0aXQoXCJ3aGVuIHRoZXJlIGlzIGZvcm1hdE9wdGlvbnMvc2hvd0VtcHR5SW5kaWNhdG9yIGZvciBhIHByb3BlcnR5IFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwicHJvcFdpdGhUZXh0XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIHNob3dFbXB0eUluZGljYXRvcj1cInRydWVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIi0gY2hlY2sgY29udHJvbCB0ZW1wbGF0aW5nIGZvciBMaXN0UmVwb3J0IC8gZmllbGQgd2l0aCBub3dyYXBwZXJcIiwgKCkgPT4ge1xuXHRcdGl0KFxuXHRcdFx0XCJ3aGVuIHRoZXJlIGlzIGEgbm93cmFwcGVyIGZvciBhIGZpZWxkIFwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW3sgXCJ0eXBlXCI6IFwiSklSQVwiLCBcIklEXCI6IFwiRklPUklURUNIUDEtMjIwMTJcIiB9XVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cInByb3BXaXRoVGV4dFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlZGl0TW9kZT1cIkRpc3BsYXlcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgZmllbGRNb2RlPVwibm93cmFwcGVyXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9XG5cdFx0KTtcblxuXHRcdGl0KFxuXHRcdFx0XCJ3aGVuIHRoZXJlIGlzIG5vdCBhIG5vd3JhcHBlciBmb3IgYSBmaWVsZCBcIixcblx0XHRcdHtcblx0XHRcdFx0XCJyZWZlcmVuY2VzXCI6IFt7IFwidHlwZVwiOiBcIkpJUkFcIiwgXCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIyMDEyXCIgfV1cblx0XHRcdH0sXG5cdFx0XHRhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJwcm9wV2l0aFRleHRcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZWRpdE1vZGU9XCJEaXNwbGF5XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIGZpZWxkTW9kZT1cIlwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cblx0XHRpdChcblx0XHRcdFwid2hlbiB0aGVyZSBpcyBhIG5vd3JhcHBlciBmb3IgYSBmaWVsZCBhbmQgYW5hbHl0aWNzIGlzIHRydWUgXCIsXG5cdFx0XHR7XG5cdFx0XHRcdFwicmVmZXJlbmNlc1wiOiBbeyBcInR5cGVcIjogXCJKSVJBXCIsIFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMjAxMlwiIH1dXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwicHJvcFdpdGhUZXh0XCJcblx0XHRcdFx0XHRcdFx0XHRcdGVkaXRNb2RlPVwiRGlzcGxheVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyBmaWVsZE1vZGU9XCJub3dyYXBwZXJcIiBpc0FuYWx5dGljcz1cInRydWVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH1cblx0XHQpO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIi0gZGF0YUZpZWxkIGFubm90YXRpb24tIFwiLCAoKSA9PiB7XG5cdFx0aXQoXCJjcml0aWNhbGl0eSBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNEYXRhRmllbGRzLzBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdH0pO1xuXG5cdGRlc2NyaWJlKFwiVGVzdCB0aGUgUmVhZE9ubHkgcHJvcGVydHkgXCIsICgpID0+IHtcblx0XHRpdChcIk9uIHRoZSBEYXRhRmllbGQgcHJvcGVydHkgLSBEeW5hbWljIHZhbHVlXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jRmllbGRDb250cm9sVmFsdWUvMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIk9uIHRoZSBEYXRhRmllbGQgcHJvcGVydHkgLSBTdGF0aWMgdmFsdWVcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNGaWVsZENvbnRyb2xWYWx1ZS8xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXG5cdFx0aXQoXCJPbiBib3RoIHByb3BlcnRpZXMgLSBEeW5hbWljIFZhbHVlXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jRmllbGRDb250cm9sVmFsdWUvMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIk9uIGJvdGggcHJvcGVydGllcyAtIFN0YXRpYyB2YWx1ZSBSZWFkT25seVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI0ZpZWxkQ29udHJvbFZhbHVlLzNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdFx0aXQoXCJPbiBib3RoIHByb3BlcnRpZXMgLSBTdGF0aWMgdmFsdWUgRWRpdGFibGVcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNGaWVsZENvbnRyb2xWYWx1ZS80XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXG5cdFx0aXQoXCJPbiB0aGUgYW5ub3RhdGlvbiBwcm9wZXJ0eSAtIER5bmFtaWMgVmFsdWVcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNGaWVsZENvbnRyb2xWYWx1ZS81XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHRcdGl0KFwiT24gdGhlIGFubm90YXRpb24gcHJvcGVydHkgLSBTdGF0aWMgVmFsdWVcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNGaWVsZENvbnRyb2xWYWx1ZS82XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcbn0pO1xuIl19
|
|
532
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNpbXBsZUZpZWxkTWFjcm8uc3BlYy50cyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsImJlZm9yZUFsbCIsInJlZ2lzdGVyTWFjcm8iLCJGaWVsZE1ldGFkYXRhIiwiYWZ0ZXJBbGwiLCJ1bnJlZ2lzdGVyTWFjcm8iLCJzTWV0YWRhdGFVcmwiLCJjb21waWxlQ0RTIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJtQmluZGluZ0NvbnRleHRzIiwiaXQiLCJ4bWxGaWVsZCIsImdldFRlbXBsYXRlZFhNTCIsInRlbXBsYXRlZFhNTCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7Ozs7O0FBRUFBLEVBQUFBLFFBQVEsQ0FBQyxZQUFELEVBQWUsWUFBTTtBQUM1QkMsSUFBQUEsU0FBUyxDQUFDLFlBQU07QUFDZkMsTUFBQUEsYUFBYSxDQUFDQyxhQUFELENBQWI7QUFDQSxLQUZRLENBQVQ7QUFHQUMsSUFBQUEsUUFBUSxDQUFDLFlBQU07QUFDZEMsTUFBQUEsZUFBZSxDQUFDRixhQUFELENBQWY7QUFDQSxLQUZPLENBQVI7QUFHQSxRQUFNRyxZQUFZLEdBQUdDLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIsNkJBQXJCLENBQUQsQ0FBL0I7QUFDQSxRQUFNQyxnQkFBZ0IsR0FBRztBQUN4QixtQkFBYTtBQURXLEtBQXpCO0FBSUFYLElBQUFBLFFBQVEsQ0FBQyx5RUFBRCxFQUE0RSxZQUFNO0FBQ3pGWSxNQUFBQSxFQUFFLENBQUMsaUNBQUQ7QUFBQSxZQUFnRDtBQUNqRCxjQUFNQyxRQUFRLG9OQUFkO0FBRGlELGlDQUt0QkMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQUxPLGlCQUszQ0ksWUFMMkM7QUFNakRDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQU5pRDtBQU9qRCxTQVBDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFRQUwsTUFBQUEsRUFBRSxDQUFDLHFDQUFEO0FBQUEsWUFBb0Q7QUFDckQsY0FBTUMsUUFBUSxvTkFBZDtBQURxRCxpQ0FLMUJDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FMVyxpQkFLL0NJLFlBTCtDO0FBTXJEQyxZQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFOcUQ7QUFPckQsU0FQQztBQUFBO0FBQUE7QUFBQSxRQUFGO0FBUUFMLE1BQUFBLEVBQUUsQ0FBQyxrQ0FBRDtBQUFBLFlBQWlEO0FBQ2xELGNBQU1DLFFBQVEsb05BQWQ7QUFEa0QsaUNBS3ZCQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTFEsaUJBSzVDSSxZQUw0QztBQU1sREMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBTmtEO0FBT2xELFNBUEM7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQVNBTCxNQUFBQSxFQUFFLENBQUMsb0RBQUQ7QUFBQSxZQUFtRTtBQUNwRSxjQUFNQyxRQUFRLHFOQUFkO0FBRG9FLGlDQUt6Q0MsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQUwwQixpQkFLOURJLFlBTDhEO0FBTXBFQyxZQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFOb0U7QUFPcEUsU0FQQztBQUFBO0FBQUE7QUFBQSxRQUFGO0FBU0FMLE1BQUFBLEVBQUUsQ0FBQyxrREFBRDtBQUFBLFlBQWlFO0FBQ2xFLGNBQU1DLFFBQVEscU5BQWQ7QUFEa0UsaUNBS3ZDQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTHdCLGlCQUs1REksWUFMNEQ7QUFNbEVDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQU5rRTtBQU9sRSxTQVBDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFTQUwsTUFBQUEsRUFBRSxDQUFDLCtDQUFEO0FBQUEsWUFBOEQ7QUFDL0QsY0FBTUMsUUFBUSxxTkFBZDtBQUQrRCxpQ0FLcENDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FMcUIsaUJBS3pESSxZQUx5RDtBQU0vREMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBTitEO0FBTy9ELFNBUEM7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQVFBTCxNQUFBQSxFQUFFLENBQUMsNkNBQUQ7QUFBQSxZQUE0RDtBQUM3RCxjQUFNQyxRQUFRLHFOQUFkO0FBRDZELGlDQUtsQ0MsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQUxtQixpQkFLdkRJLFlBTHVEO0FBTTdEQyxZQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFONkQ7QUFPN0QsU0FQQztBQUFBO0FBQUE7QUFBQSxRQUFGO0FBUUFMLE1BQUFBLEVBQUUsQ0FDRCx3REFEQyxFQUVEO0FBQ0Msc0JBQWMsQ0FDYjtBQUNDLGtCQUFRLEtBRFQ7QUFFQyxnQkFBTTtBQUZQLFNBRGE7QUFEZixPQUZDO0FBQUEsWUFVVztBQUNYLGNBQU1DLFFBQVEsbVdBQWQ7QUFEVyxpQ0FPZ0JDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FQL0IsaUJBT0xJLFlBUEs7QUFRWEMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUlc7QUFTWCxTQW5CQTtBQUFBO0FBQUE7QUFBQSxRQUFGO0FBcUJBTCxNQUFBQSxFQUFFLENBQUMscUVBQUQ7QUFBQSxZQUFvRjtBQUNyRixjQUFNQyxRQUFRLG9ZQUFkO0FBRHFGLGlDQU8xREMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQVAyQyxpQkFPL0VJLFlBUCtFO0FBUXJGQyxZQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFScUY7QUFTckYsU0FUQztBQUFBO0FBQUE7QUFBQSxRQUFGO0FBVUFMLE1BQUFBLEVBQUUsQ0FBQyx1RkFBRDtBQUFBLFlBQXNHO0FBQ3ZHLGNBQU1DLFFBQVEsOFlBQWQ7QUFEdUcsaUNBTzVFQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBUDZELGlCQU9qR0ksWUFQaUc7QUFRdkdDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVJ1RztBQVN2RyxTQVRDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFVQUwsTUFBQUEsRUFBRSxDQUFDLG1GQUFEO0FBQUEsWUFBa0c7QUFDbkcsY0FBTUMsUUFBUSxpVkFBZDtBQURtRyxpQ0FPeEVDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FQeUQsaUJBTzdGSSxZQVA2RjtBQVFuR0MsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUm1HO0FBU25HLFNBVEM7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQVVBTCxNQUFBQSxFQUFFLENBQ0QsaURBREMsRUFFRDtBQUNDLHNCQUFjLENBQ2I7QUFBRSxrQkFBUSxNQUFWO0FBQWtCLGdCQUFNO0FBQXhCLFNBRGEsRUFFYjtBQUFFLGtCQUFRLE1BQVY7QUFBa0IsZ0JBQU07QUFBeEIsU0FGYTtBQURmLE9BRkM7QUFBQSxZQVFXO0FBQ1gsY0FBTUMsUUFBUSw4ZkFBZDtBQURXLGlDQVVnQkMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQVYvQixpQkFVTEksWUFWSztBQVdYQyxZQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFYVztBQVlYLFNBcEJBO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFzQkFMLE1BQUFBLEVBQUUsQ0FBQyx1Q0FBRDtBQUFBLFlBQXNEO0FBQ3ZELGNBQU1DLFFBQVEsd1RBQWQ7QUFEdUQsaUNBTzVCQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBUGEsaUJBT2pESSxZQVBpRDtBQVF2REMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUnVEO0FBU3ZELFNBVEM7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQVVBLEtBL0lPLENBQVI7QUFpSkFqQixJQUFBQSxRQUFRLENBQUMsdUNBQUQsRUFBMEMsWUFBTTtBQUN2RFksTUFBQUEsRUFBRSxDQUFDLGlDQUFEO0FBQUEsWUFBZ0Q7QUFDakQsY0FBTUMsUUFBUSwyTkFBZDtBQURpRCxpQ0FNdEJDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FOTyxpQkFNM0NJLFlBTjJDO0FBT2pEQyxZQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFQaUQ7QUFRakQsU0FSQztBQUFBO0FBQUE7QUFBQSxRQUFGO0FBU0FMLE1BQUFBLEVBQUUsQ0FBQyw4Q0FBRDtBQUFBLFlBQTZEO0FBQzlELGNBQU1DLFFBQVEsbVNBQWQ7QUFEOEQsaUNBT25DQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBUG9CLGlCQU94REksWUFQd0Q7QUFROURDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVI4RDtBQVM5RCxTQVRDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFVQUwsTUFBQUEsRUFBRSxDQUFDLGtCQUFEO0FBQUEsWUFBaUM7QUFDbEMsY0FBTUMsUUFBUSwyTEFBZDtBQURrQyxpQ0FLUEMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQUxSLGlCQUs1QkksWUFMNEI7QUFNbENDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQU5rQztBQU9sQyxTQVBDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFRQSxLQTVCTyxDQUFSO0FBOEJBakIsSUFBQUEsUUFBUSxDQUFDLGtFQUFELEVBQXFFLFlBQU07QUFDbEZBLE1BQUFBLFFBQVEsQ0FBQyxnQkFBRCxFQUFtQixZQUFNO0FBQ2hDWSxRQUFBQSxFQUFFLENBQUMsd0NBQUQ7QUFBQSxjQUF1RDtBQUN4RCxnQkFBTUMsUUFBUSxvTkFBZDtBQUR3RCxtQ0FLN0JDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FMYyxpQkFLbERJLFlBTGtEO0FBTXhEQyxjQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFOd0Q7QUFPeEQsV0FQQztBQUFBO0FBQUE7QUFBQSxVQUFGO0FBU0FMLFFBQUFBLEVBQUUsQ0FBQyx3Q0FBRDtBQUFBLGNBQXVEO0FBQ3hELGdCQUFNQyxRQUFRLG9OQUFkO0FBRHdELG1DQUs3QkMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQUxjLGlCQUtsREksWUFMa0Q7QUFNeERDLGNBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQU53RDtBQU94RCxXQVBDO0FBQUE7QUFBQTtBQUFBLFVBQUY7QUFTQUwsUUFBQUEsRUFBRSxDQUFDLDBDQUFEO0FBQUEsY0FBeUQ7QUFDMUQsZ0JBQU1DLFFBQVEsb05BQWQ7QUFEMEQsbUNBSy9CQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTGdCLGlCQUtwREksWUFMb0Q7QUFNMURDLGNBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQU4wRDtBQU8xRCxXQVBDO0FBQUE7QUFBQTtBQUFBLFVBQUY7QUFTQUwsUUFBQUEsRUFBRSxDQUFDLHdDQUFEO0FBQUEsY0FBdUQ7QUFDeEQsZ0JBQU1DLFFBQVEsb05BQWQ7QUFEd0QsbUNBSzdCQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTGMsaUJBS2xESSxZQUxrRDtBQU14REMsY0FBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBTndEO0FBT3hELFdBUEM7QUFBQTtBQUFBO0FBQUEsVUFBRjtBQVNBTCxRQUFBQSxFQUFFLENBQUMscUNBQUQ7QUFBQSxjQUFvRDtBQUNyRCxnQkFBTUMsUUFBUSxvTkFBZDtBQURxRCxtQ0FLMUJDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FMVyxpQkFLL0NJLFlBTCtDO0FBTXJEQyxjQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFOcUQ7QUFPckQsV0FQQztBQUFBO0FBQUE7QUFBQSxVQUFGO0FBU0FMLFFBQUFBLEVBQUUsQ0FBQyx1Q0FBRDtBQUFBLGNBQXNEO0FBQ3ZELGdCQUFNQyxRQUFRLG9OQUFkO0FBRHVELG1DQUs1QkMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQUxhLGlCQUtqREksWUFMaUQ7QUFNdkRDLGNBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQU51RDtBQU92RCxXQVBDO0FBQUE7QUFBQTtBQUFBLFVBQUY7QUFTQUwsUUFBQUEsRUFBRSxDQUFDLHdDQUFEO0FBQUEsY0FBdUQ7QUFDeEQsZ0JBQU1DLFFBQVEscU5BQWQ7QUFEd0QsbUNBSzdCQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTGMsaUJBS2xESSxZQUxrRDtBQU14REMsY0FBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBTndEO0FBT3hELFdBUEM7QUFBQTtBQUFBO0FBQUEsVUFBRjtBQVNBTCxRQUFBQSxFQUFFLENBQUMscUNBQUQ7QUFBQSxjQUFvRDtBQUNyRCxnQkFBTUMsUUFBUSwwUUFBZDtBQURxRCxtQ0FNMUJDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FOVyxpQkFNL0NJLFlBTitDO0FBT3JEQyxjQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFQcUQ7QUFRckQsV0FSQztBQUFBO0FBQUE7QUFBQSxVQUFGO0FBU0FMLFFBQUFBLEVBQUUsQ0FBQywrRUFBRDtBQUFBLGNBQThGO0FBQy9GLGdCQUFNQyxRQUFRLGdRQUFkO0FBRCtGLG1DQU1wRUMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQU5xRCxpQkFNekZJLFlBTnlGO0FBTy9GQyxjQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFQK0Y7QUFRL0YsV0FSQztBQUFBO0FBQUE7QUFBQSxVQUFGO0FBU0FMLFFBQUFBLEVBQUUsQ0FBQywwRUFBRDtBQUFBLGNBQXlGO0FBQzFGLGdCQUFNQyxRQUFRLGdRQUFkO0FBRDBGLG1DQU0vREMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQU5nRCxpQkFNcEZJLFlBTm9GO0FBTzFGQyxjQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFQMEY7QUFRMUYsV0FSQztBQUFBO0FBQUE7QUFBQSxVQUFGO0FBU0FMLFFBQUFBLEVBQUUsQ0FBQyx3REFBRDtBQUFBLGNBQXVFO0FBQ3hFLGdCQUFNQyxRQUFRLG1ZQUFkO0FBRHdFLG1DQVM3Q0MsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQVQ4QixpQkFTbEVJLFlBVGtFO0FBVXhFQyxjQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFWd0U7QUFXeEUsV0FYQztBQUFBO0FBQUE7QUFBQSxVQUFGO0FBWUFMLFFBQUFBLEVBQUUsQ0FBQyw0REFBRDtBQUFBLGNBQTJFO0FBQzVFLGdCQUFNQyxRQUFRLGdRQUFkO0FBRDRFLG1DQU1qREMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQU5rQyxpQkFNdEVJLFlBTnNFO0FBTzVFQyxjQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFQNEU7QUFRNUUsV0FSQztBQUFBO0FBQUE7QUFBQSxVQUFGO0FBU0EsT0FoSE8sQ0FBUjtBQWlIQWpCLE1BQUFBLFFBQVEsQ0FBQyxlQUFELEVBQWtCLFlBQU07QUFDL0JZLFFBQUFBLEVBQUUsQ0FBQyx3Q0FBRDtBQUFBLGNBQXVEO0FBQ3hELGdCQUFNQyxRQUFRLDhUQUFkO0FBRHdELG1DQU03QkMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQU5jLGlCQU1sREksWUFOa0Q7QUFPeERDLGNBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVB3RDtBQVF4RCxXQVJDO0FBQUE7QUFBQTtBQUFBLFVBQUY7QUFVQUwsUUFBQUEsRUFBRSxDQUFDLHVEQUFEO0FBQUEsY0FBc0U7QUFDdkUsZ0JBQU1DLFFBQVEsdVNBQWQ7QUFEdUUsbUNBTzVDQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBUDZCLGlCQU9qRUksWUFQaUU7QUFRdkVDLGNBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVJ1RTtBQVN2RSxXQVRDO0FBQUE7QUFBQTtBQUFBLFVBQUY7QUFXQUwsUUFBQUEsRUFBRSxDQUFDLHdDQUFEO0FBQUEsY0FBdUQ7QUFDeEQsZ0JBQU1DLFFBQVEsK1RBQWQ7QUFEd0QsbUNBTTdCQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTmMsaUJBTWxESSxZQU5rRDtBQU94REMsY0FBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUHdEO0FBUXhELFdBUkM7QUFBQTtBQUFBO0FBQUEsVUFBRjtBQVVBTCxRQUFBQSxFQUFFLENBQUMscUNBQUQ7QUFBQSxjQUFvRDtBQUNyRCxnQkFBTUMsUUFBUSxpVEFBZDtBQURxRCxtQ0FNMUJDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FOVyxpQkFNL0NJLFlBTitDO0FBT3JEQyxjQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFQcUQ7QUFRckQsV0FSQztBQUFBO0FBQUE7QUFBQSxVQUFGO0FBU0EsT0F6Q08sQ0FBUjtBQTBDQSxLQTVKTyxDQUFSO0FBOEpBakIsSUFBQUEsUUFBUSxDQUFDLDREQUFELEVBQStELFlBQU07QUFDNUVZLE1BQUFBLEVBQUUsQ0FBQyxvREFBRDtBQUFBLFlBQW1FO0FBQ3BFLGNBQU1DLFFBQVEscVBBQWQ7QUFEb0UsaUNBTXpDQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTjBCLGlCQU05REksWUFOOEQ7QUFPcEVDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVBvRTtBQVFwRSxTQVJDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFVQUwsTUFBQUEsRUFBRSxDQUFDLGlFQUFEO0FBQUEsWUFBZ0Y7QUFDakYsY0FBTUMsUUFBUSxtVUFBZDtBQURpRixpQ0FPdERDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FQdUMsaUJBTzNFSSxZQVAyRTtBQVFqRkMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUmlGO0FBU2pGLFNBVEM7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQVdBTCxNQUFBQSxFQUFFLENBQUMsZ0VBQUQ7QUFBQSxZQUErRTtBQUNoRixjQUFNQyxRQUFRLHlTQUFkO0FBRGdGLGlDQU9yREMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQVBzQyxpQkFPMUVJLFlBUDBFO0FBUWhGQyxZQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFSZ0Y7QUFTaEYsU0FUQztBQUFBO0FBQUE7QUFBQSxRQUFGO0FBVUEsS0FoQ08sQ0FBUjtBQWtDQWpCLElBQUFBLFFBQVEsQ0FBQyxrRUFBRCxFQUFxRSxZQUFNO0FBQ2xGWSxNQUFBQSxFQUFFLENBQ0Qsd0NBREMsRUFFRDtBQUNDLHNCQUFjLENBQUM7QUFBRSxrQkFBUSxNQUFWO0FBQWtCLGdCQUFNO0FBQXhCLFNBQUQ7QUFEZixPQUZDO0FBQUEsWUFLVztBQUNYLGNBQU1DLFFBQVEsNlVBQWQ7QUFEVyxpQ0FRZ0JDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FSL0IsaUJBUUxJLFlBUks7QUFTWEMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBVFc7QUFVWCxTQWZBO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFrQkFMLE1BQUFBLEVBQUUsQ0FDRCw0Q0FEQyxFQUVEO0FBQ0Msc0JBQWMsQ0FBQztBQUFFLGtCQUFRLE1BQVY7QUFBa0IsZ0JBQU07QUFBeEIsU0FBRDtBQURmLE9BRkM7QUFBQSxZQUtXO0FBQ1gsY0FBTUMsUUFBUSxvVUFBZDtBQURXLGlDQVFnQkMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQVIvQixpQkFRTEksWUFSSztBQVNYQyxZQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFUVztBQVVYLFNBZkE7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQWtCQUwsTUFBQUEsRUFBRSxDQUNELDhEQURDLEVBRUQ7QUFDQyxzQkFBYyxDQUFDO0FBQUUsa0JBQVEsTUFBVjtBQUFrQixnQkFBTTtBQUF4QixTQUFEO0FBRGYsT0FGQztBQUFBLFlBS1c7QUFDWCxjQUFNQyxRQUFRLGtXQUFkO0FBRFcsaUNBUWdCQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBUi9CLGlCQVFMSSxZQVJLO0FBU1hDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVRXO0FBVVgsU0FmQTtBQUFBO0FBQUE7QUFBQSxRQUFGO0FBaUJBLEtBdERPLENBQVI7QUF3REFqQixJQUFBQSxRQUFRLENBQUMsMEJBQUQsRUFBNkIsWUFBTTtBQUMxQ1ksTUFBQUEsRUFBRSxDQUFDLGNBQUQ7QUFBQSxZQUE2QjtBQUM5QixjQUFNQyxRQUFRLGdRQUFkO0FBRDhCLGlDQU1IQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTlosaUJBTXhCSSxZQU53QjtBQU85QkMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUDhCO0FBUTlCLFNBUkM7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQVNBLEtBVk8sQ0FBUjtBQVlBakIsSUFBQUEsUUFBUSxDQUFDLDZCQUFELEVBQWdDLFlBQU07QUFDN0NZLE1BQUFBLEVBQUUsQ0FBQywyQ0FBRDtBQUFBLFlBQTBEO0FBQzNELGNBQU1DLFFBQVEsdVFBQWQ7QUFEMkQsaUNBTWhDQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTmlCLGlCQU1yREksWUFOcUQ7QUFPM0RDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVAyRDtBQVEzRCxTQVJDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFTQUwsTUFBQUEsRUFBRSxDQUFDLDBDQUFEO0FBQUEsWUFBeUQ7QUFDMUQsY0FBTUMsUUFBUSx1UUFBZDtBQUQwRCxpQ0FNL0JDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FOZ0IsaUJBTXBESSxZQU5vRDtBQU8xREMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUDBEO0FBUTFELFNBUkM7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQVVBTCxNQUFBQSxFQUFFLENBQUMsb0NBQUQ7QUFBQSxZQUFtRDtBQUNwRCxjQUFNQyxRQUFRLHVRQUFkO0FBRG9ELGlDQU16QkMsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQU5VLGlCQU05Q0ksWUFOOEM7QUFPcERDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVBvRDtBQVFwRCxTQVJDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFTQUwsTUFBQUEsRUFBRSxDQUFDLDRDQUFEO0FBQUEsWUFBMkQ7QUFDNUQsY0FBTUMsUUFBUSx1UUFBZDtBQUQ0RCxpQ0FNakNDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FOa0IsaUJBTXRESSxZQU5zRDtBQU81REMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUDREO0FBUTVELFNBUkM7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQVNBTCxNQUFBQSxFQUFFLENBQUMsNENBQUQ7QUFBQSxZQUEyRDtBQUM1RCxjQUFNQyxRQUFRLHVRQUFkO0FBRDRELGlDQU1qQ0MsZUFBZSxDQUFDRCxRQUFELEVBQVdQLFlBQVgsRUFBeUJLLGdCQUF6QixFQUEyQyxFQUEzQyxDQU5rQixpQkFNdERJLFlBTnNEO0FBTzVEQyxZQUFBQSxNQUFNLENBQUNELFlBQUQsQ0FBTixDQUFxQkUsZUFBckI7QUFQNEQ7QUFRNUQsU0FSQztBQUFBO0FBQUE7QUFBQSxRQUFGO0FBVUFMLE1BQUFBLEVBQUUsQ0FBQyw0Q0FBRDtBQUFBLFlBQTJEO0FBQzVELGNBQU1DLFFBQVEsdVFBQWQ7QUFENEQsaUNBTWpDQyxlQUFlLENBQUNELFFBQUQsRUFBV1AsWUFBWCxFQUF5QkssZ0JBQXpCLEVBQTJDLEVBQTNDLENBTmtCLGlCQU10REksWUFOc0Q7QUFPNURDLFlBQUFBLE1BQU0sQ0FBQ0QsWUFBRCxDQUFOLENBQXFCRSxlQUFyQjtBQVA0RDtBQVE1RCxTQVJDO0FBQUE7QUFBQTtBQUFBLFFBQUY7QUFTQUwsTUFBQUEsRUFBRSxDQUFDLDJDQUFEO0FBQUEsWUFBMEQ7QUFDM0QsY0FBTUMsUUFBUSx1UUFBZDtBQUQyRCxpQ0FNaENDLGVBQWUsQ0FBQ0QsUUFBRCxFQUFXUCxZQUFYLEVBQXlCSyxnQkFBekIsRUFBMkMsRUFBM0MsQ0FOaUIsaUJBTXJESSxZQU5xRDtBQU8zREMsWUFBQUEsTUFBTSxDQUFDRCxZQUFELENBQU4sQ0FBcUJFLGVBQXJCO0FBUDJEO0FBUTNELFNBUkM7QUFBQTtBQUFBO0FBQUEsUUFBRjtBQVNBLEtBbEVPLENBQVI7QUFtRUEsR0FsZ0JPLENBQVIiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXBpbGVDRFMsIGdldFRlbXBsYXRlZFhNTCwgcmVnaXN0ZXJNYWNybywgdW5yZWdpc3Rlck1hY3JvIH0gZnJvbSBcInNhcC9mZS90ZXN0L0plc3RUZW1wbGF0aW5nSGVscGVyXCI7XG5pbXBvcnQgRmllbGRNZXRhZGF0YSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC9GaWVsZC5tZXRhZGF0YVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5kZXNjcmliZShcIk1hY3JvRmllbGRcIiwgKCkgPT4ge1xuXHRiZWZvcmVBbGwoKCkgPT4ge1xuXHRcdHJlZ2lzdGVyTWFjcm8oRmllbGRNZXRhZGF0YSk7XG5cdH0pO1xuXHRhZnRlckFsbCgoKSA9PiB7XG5cdFx0dW5yZWdpc3Rlck1hY3JvKEZpZWxkTWV0YWRhdGEpO1xuXHR9KTtcblx0Y29uc3Qgc01ldGFkYXRhVXJsID0gY29tcGlsZUNEUyhwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4vZGF0YS9zaW1wbGVGaWVsZE1hY3JvLmNkc1wiKSk7XG5cdGNvbnN0IG1CaW5kaW5nQ29udGV4dHMgPSB7XG5cdFx0XCJlbnRpdHlTZXRcIjogXCIvSXRlbXNcIlxuXHR9O1xuXG5cdGRlc2NyaWJlKFwiLSB3aXRoIGFubm90YXRpb25zIG9uIHRoZSBkYXRhRmllbGQncyBWYWx1ZSBwcm9wZXJ0eSAoZXhjZXB0IHNlbWFudGljKSBcIiwgKCkgPT4ge1xuXHRcdGl0KFwiSW1hZ2UgaWRlbnRpZmllZCBieSBJc0ltYWdlVVJMIFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHRcdGl0KFwiSW1hZ2UgaWRlbnRpZmllZCBieSBpbWFnZVVSTFN0cmVhbSBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8zXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIkltYWdlIGlkZW50aWZpZWQgYnkgaXNNZWRpYVR5cGUgXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vNFwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cblx0XHRpdChcIlN0cmVhbU5vSW1hZ2UgcmVuZGVycyBJY29uLCBMaW5rIGFuZCBGaWxlVXBsb2FkZXIgXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMThcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXG5cdFx0aXQoXCJTdHJlYW0gd2l0aCBtaW1lIHR5cGUgYW5kIGZpbGUgc2l6ZSByZXN0cmljdGlvbnNcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xOVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cblx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYW4gZW1haWwgYWRkcmVzcyBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzExXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBwaG9uZSBudW1iZXIgcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xMlwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdFx0aXQoXG5cdFx0XHRcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIGN1cnJlbmN5IHByb3BlcnR5IFwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFwidHlwZVwiOiBcIkJDUFwiLFxuXHRcdFx0XHRcdFx0XCJJRFwiOiBcIjAwMjA3NTEyOTUwMDAwMzE0NTI0MjAyMVwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzE2XCJcblx0XHRcdFx0XHRcdFx0XHRcdHBhcmVudENvbnRyb2w9XCJUYWJsZVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyBpc0N1cnJlbmN5QWxpZ25lZD1cInRydWVcIiAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgUXVhbnRpdHkgd2l0aCBjdXJyZW5jeSBwcm9wZXJ0eSBmb3IgQW5hbHl0aWNzXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMTZcIlxuXHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Q29udHJvbD1cIlRhYmxlXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIGlzQW5hbHl0aWNzPVwidHJ1ZVwiIGlzQ3VycmVuY3lBbGlnbmVkPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIGN1cnJlbmN5IHByb3BlcnR5IGFuZCBhIENyaXRpY2FsaXR5IGZvciBBbmFseXRpY3NcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNEYXRhRmllbGRzLzFcIlxuXHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Q29udHJvbD1cIlRhYmxlXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIGlzQW5hbHl0aWNzPVwidHJ1ZVwiIGlzQ3VycmVuY3lBbGlnbmVkPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIHVuaXQgb2YgbWVhc3VyZSAodGV4dCkgcHJvcGVydHkgZm9yIGFuYWx5dGljc1wiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMTRcIlxuXHRcdFx0XHRcdFx0XHRcdHBhcmVudENvbnRyb2w9XCJUYWJsZVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgaXNBbmFseXRpY3M9XCJ0cnVlXCIgLz5cblx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdFx0aXQoXG5cdFx0XHRcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBNdWx0aSBMaW5lIHRleHQgcHJvcGVydHkgXCIsXG5cdFx0XHR7XG5cdFx0XHRcdFwicmVmZXJlbmNlc1wiOiBbXG5cdFx0XHRcdFx0eyBcInR5cGVcIjogXCJKSVJBXCIsIFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMTA3OFwiIH0sXG5cdFx0XHRcdFx0eyBcInR5cGVcIjogXCJKSVJBXCIsIFwiSURcIjogXCJGSU9SSVRFQ0hQMS0xOTQwOVwiIH1cblx0XHRcdFx0XVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jYmlzLzBcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYXJlbnRDb250cm9sPVwiVGFibGVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgdGV4dExpbmVzRWRpdD1cIjMxXCIgdGV4dE1heExpbmVzPVwiMzlcIiB0ZXh0RXhwYW5kQmVoYXZpb3JEaXNwbGF5PVwiUG9wb3ZlclwiXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRleHRNYXhDaGFyYWN0ZXJzRGlzcGxheT1cIjUwXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0XHRcdFx0PC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cdFx0aXQoXCJEYXRhRmllbGQgd2l0aCBoYXJkY29kZSBzdHJpbmcgVmFsdWUgXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jYmlzLzJcIlxuXHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Q29udHJvbD1cIlRhYmxlXCJcblx0XHRcdFx0XHRcdFx0XHRcdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIi0gd2hlbiBpdCB1c2VzIGRpcmVjdGx5IGEgcHJvcGVydHkgLSBcIiwgKCkgPT4ge1xuXHRcdGl0KFwiUHJvcGVydHkgd2l0aCB0ZXh0IGFycmFuZ2VtZW50IFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwicHJvcFdpdGhUZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHRcdGl0KFwiUHJvcGVydHkgd2l0aCB0ZXh0IGFycmFuZ2VtZW50IGFuZCBvdmVycmlkZSBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cInByb3BXaXRoVGV4dFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyBkaXNwbGF5TW9kZT1cIlZhbHVlXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIkJvb2xlYW4gcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cInByZWZlcnJlZEl0ZW1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIi0gY2hlY2sgY29udHJvbCB0ZW1wbGF0aW5nIGZvciBiYXNpYyB0eXBlcyBhbmQgaW5wdXQgYWxpZ25tZW50LSBcIiwgKCkgPT4ge1xuXHRcdGRlc2NyaWJlKFwiLSBmb3IgdGFibGUgLSBcIiwgKCkgPT4ge1xuXHRcdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgc3RyaW5nIHByb3BlcnR5IFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIGJvb2xlYW4gcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBUaW1lc3RhbXAgcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzZcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBEZWNpbWFsIHByb3BlcnR5XCIsIGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS83XCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9KTtcblxuXHRcdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgVGltZSBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vOFwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIERvdWJsZSBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vOVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIEludGVnZXIgcHJvcGVydHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzEwXCJcblx0XHRcdFx0XHRcdFx0XHRcdC8+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9KTtcblxuXHRcdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgRGF0ZSBwcm9wZXJ0eVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMTNcIlxuXHRcdFx0XHRcdFx0XHRcdFx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIHVuaXQgcHJvcGVydHkgd2hlcmUgdW5pdCBpcyBhbHNvIGVkaXRhYmxlXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xNFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRwYXJlbnRDb250cm9sPVwiVGFibGVcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Lz5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXHRcdFx0aXQoXCJTaW1wbGUgRGF0YUZpZWxkIG9uIGEgUXVhbnRpdHkgd2l0aCB1bml0IHByb3BlcnR5IHdoZXJlIHVuaXQgaXMgcmVhZG9ubHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzE1XCJcblx0XHRcdFx0XHRcdFx0XHRcdHBhcmVudENvbnRyb2w9XCJUYWJsZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIGN1cnJlbmN5IHByb3BlcnR5IFwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMTZcIlxuXHRcdFx0XHRcdFx0XHRcdFx0cGFyZW50Q29udHJvbD1cIlRhYmxlXCJcblx0XHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgaXNDdXJyZW5jeUFsaWduZWQ9XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBRdWFudGl0eSB3aXRoIHN0YXRpYyB1bml0IGFubm90YXRpb25cIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzE3XCJcblx0XHRcdFx0XHRcdFx0XHRcdHBhcmVudENvbnRyb2w9XCJUYWJsZVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQvPmA7XG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdFx0ZGVzY3JpYmUoXCItIGZvciBmb3JtIC0gXCIsICgpID0+IHtcblx0XHRcdGl0KFwiU2ltcGxlIERhdGFGaWVsZCBvbiBhIHN0cmluZyBwcm9wZXJ0eSBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtLzFcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgdGV4dEFsaWduTW9kZT1cIkZvcm1cIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9KTtcblxuXHRcdFx0aXQoXCJXaGVuIENvbW1vbi5pc0RpZ2l0c2VxdWVuY2UgaXMgYW5ub3RhdGVkIGZvciBhIHN0cmluZ1wiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJpc0RpZ2l0U2VxdWVuY2VcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgdGV4dEFsaWduTW9kZT1cIkZvcm1cIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBJbnRlZ2VyIHByb3BlcnR5XCIsIGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xMFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyB0ZXh0QWxpZ25Nb2RlPVwiRm9ybVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH0pO1xuXG5cdFx0XHRpdChcIlNpbXBsZSBEYXRhRmllbGQgb24gYSBEYXRlIHByb3BlcnR5XCIsIGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbS8xM1wiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyB0ZXh0QWxpZ25Nb2RlPVwiRm9ybVwiLz5cblx0XHRcdFx0XHRcdFx0XHQ8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fSk7XG5cblx0ZGVzY3JpYmUoXCItIGNoZWNrIGNvbnRyb2wgdGVtcGxhdGluZyBmb3IgZW1wdHkgcGxhY2VIb2xkZXIgdHJpZ2dlci0gXCIsICgpID0+IHtcblx0XHRpdChcIndoZW4gdGhlcmUgaXMgbm8gZm9ybWF0T3B0aW9ucy9zaG93RW1wdHlJbmRpY2F0b3IgXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblxuXHRcdGl0KFwid2hlbiB0aGVyZSBpcyBmb3JtYXRPcHRpb25zL3Nob3dFbXB0eUluZGljYXRvciBmb3IgYSBEYXRhZmllbGQgXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0vMVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyBzaG93RW1wdHlJbmRpY2F0b3I9XCJ0cnVlXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblxuXHRcdGl0KFwid2hlbiB0aGVyZSBpcyBmb3JtYXRPcHRpb25zL3Nob3dFbXB0eUluZGljYXRvciBmb3IgYSBwcm9wZXJ0eSBcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cInByb3BXaXRoVGV4dFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyBzaG93RW1wdHlJbmRpY2F0b3I9XCJ0cnVlXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0fSk7XG5cblx0ZGVzY3JpYmUoXCItIGNoZWNrIGNvbnRyb2wgdGVtcGxhdGluZyBmb3IgTGlzdFJlcG9ydCAvIGZpZWxkIHdpdGggbm93cmFwcGVyXCIsICgpID0+IHtcblx0XHRpdChcblx0XHRcdFwid2hlbiB0aGVyZSBpcyBhIG5vd3JhcHBlciBmb3IgYSBmaWVsZCBcIixcblx0XHRcdHtcblx0XHRcdFx0XCJyZWZlcmVuY2VzXCI6IFt7IFwidHlwZVwiOiBcIkpJUkFcIiwgXCJJRFwiOiBcIkZJT1JJVEVDSFAxLTIyMDEyXCIgfV1cblx0XHRcdH0sXG5cdFx0XHRhc3luYyAoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJwcm9wV2l0aFRleHRcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZWRpdE1vZGU9XCJEaXNwbGF5XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW50ZXJuYWxNYWNybzpmb3JtYXRPcHRpb25zIGZpZWxkTW9kZT1cIm5vd3JhcHBlclwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXG5cdFx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdFx0fVxuXHRcdCk7XG5cblx0XHRpdChcblx0XHRcdFwid2hlbiB0aGVyZSBpcyBub3QgYSBub3dyYXBwZXIgZm9yIGEgZmllbGQgXCIsXG5cdFx0XHR7XG5cdFx0XHRcdFwicmVmZXJlbmNlc1wiOiBbeyBcInR5cGVcIjogXCJKSVJBXCIsIFwiSURcIjogXCJGSU9SSVRFQ0hQMS0yMjAxMlwiIH1dXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwicHJvcFdpdGhUZXh0XCJcblx0XHRcdFx0XHRcdFx0XHRcdGVkaXRNb2RlPVwiRGlzcGxheVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGludGVybmFsTWFjcm86Zm9ybWF0T3B0aW9ucyBmaWVsZE1vZGU9XCJcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHRcdH1cblx0XHQpO1xuXG5cdFx0aXQoXG5cdFx0XHRcIndoZW4gdGhlcmUgaXMgYSBub3dyYXBwZXIgZm9yIGEgZmllbGQgYW5kIGFuYWx5dGljcyBpcyB0cnVlIFwiLFxuXHRcdFx0e1xuXHRcdFx0XHRcInJlZmVyZW5jZXNcIjogW3sgXCJ0eXBlXCI6IFwiSklSQVwiLCBcIklEXCI6IFwiRklPUklURUNIUDEtMjIwMTJcIiB9XVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jICgpID0+IHtcblx0XHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cInByb3BXaXRoVGV4dFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlZGl0TW9kZT1cIkRpc3BsYXlcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbnRlcm5hbE1hY3JvOmZvcm1hdE9wdGlvbnMgZmllbGRNb2RlPVwibm93cmFwcGVyXCIgaXNBbmFseXRpY3M9XCJ0cnVlXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0XHR9XG5cdFx0KTtcblx0fSk7XG5cblx0ZGVzY3JpYmUoXCItIGRhdGFGaWVsZCBhbm5vdGF0aW9uLSBcIiwgKCkgPT4ge1xuXHRcdGl0KFwiY3JpdGljYWxpdHkgXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jRGF0YUZpZWxkcy8wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIlRlc3QgdGhlIFJlYWRPbmx5IHByb3BlcnR5IFwiLCAoKSA9PiB7XG5cdFx0aXQoXCJPbiB0aGUgRGF0YUZpZWxkIHByb3BlcnR5IC0gRHluYW1pYyB2YWx1ZVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI0ZpZWxkQ29udHJvbFZhbHVlLzBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdFx0aXQoXCJPbiB0aGUgRGF0YUZpZWxkIHByb3BlcnR5IC0gU3RhdGljIHZhbHVlXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jRmllbGRDb250cm9sVmFsdWUvMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblxuXHRcdGl0KFwiT24gYm90aCBwcm9wZXJ0aWVzIC0gRHluYW1pYyBWYWx1ZVwiLCBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCB4bWxGaWVsZCA9IGA8aW50ZXJuYWxNYWNybzpGaWVsZCB4bWxuczppbnRlcm5hbE1hY3JvPVwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRpdHlTZXQ9XCJ7ZW50aXR5U2V0Pn1cIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YUZpZWxkPVwiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLkxpbmVJdGVtI0ZpZWxkQ29udHJvbFZhbHVlLzJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW50ZXJuYWxNYWNybzpGaWVsZD5gO1xuXG5cdFx0XHRjb25zdCB0ZW1wbGF0ZWRYTUwgPSBhd2FpdCBnZXRUZW1wbGF0ZWRYTUwoeG1sRmllbGQsIHNNZXRhZGF0YVVybCwgbUJpbmRpbmdDb250ZXh0cywge30pO1xuXHRcdFx0ZXhwZWN0KHRlbXBsYXRlZFhNTCkudG9NYXRjaFNuYXBzaG90KCk7XG5cdFx0fSk7XG5cdFx0aXQoXCJPbiBib3RoIHByb3BlcnRpZXMgLSBTdGF0aWMgdmFsdWUgUmVhZE9ubHlcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdFx0Y29uc3QgeG1sRmllbGQgPSBgPGludGVybmFsTWFjcm86RmllbGQgeG1sbnM6aW50ZXJuYWxNYWNybz1cInNhcC5mZS5tYWNyb3MuaW50ZXJuYWxcIlxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50aXR5U2V0PVwie2VudGl0eVNldD59XCJcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFGaWVsZD1cIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbSNGaWVsZENvbnRyb2xWYWx1ZS8zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ludGVybmFsTWFjcm86RmllbGQ+YDtcblxuXHRcdFx0Y29uc3QgdGVtcGxhdGVkWE1MID0gYXdhaXQgZ2V0VGVtcGxhdGVkWE1MKHhtbEZpZWxkLCBzTWV0YWRhdGFVcmwsIG1CaW5kaW5nQ29udGV4dHMsIHt9KTtcblx0XHRcdGV4cGVjdCh0ZW1wbGF0ZWRYTUwpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuXHRcdH0pO1xuXHRcdGl0KFwiT24gYm90aCBwcm9wZXJ0aWVzIC0gU3RhdGljIHZhbHVlIEVkaXRhYmxlXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jRmllbGRDb250cm9sVmFsdWUvNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblxuXHRcdGl0KFwiT24gdGhlIGFubm90YXRpb24gcHJvcGVydHkgLSBEeW5hbWljIFZhbHVlXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jRmllbGRDb250cm9sVmFsdWUvNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0XHRpdChcIk9uIHRoZSBhbm5vdGF0aW9uIHByb3BlcnR5IC0gU3RhdGljIFZhbHVlXCIsIGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHhtbEZpZWxkID0gYDxpbnRlcm5hbE1hY3JvOkZpZWxkIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcblx0XHRcdFx0XHRcdFx0XHRcdGVudGl0eVNldD1cIntlbnRpdHlTZXQ+fVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhRmllbGQ9XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW0jRmllbGRDb250cm9sVmFsdWUvNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pbnRlcm5hbE1hY3JvOkZpZWxkPmA7XG5cblx0XHRcdGNvbnN0IHRlbXBsYXRlZFhNTCA9IGF3YWl0IGdldFRlbXBsYXRlZFhNTCh4bWxGaWVsZCwgc01ldGFkYXRhVXJsLCBtQmluZGluZ0NvbnRleHRzLCB7fSk7XG5cdFx0XHRleHBlY3QodGVtcGxhdGVkWE1MKS50b01hdGNoU25hcHNob3QoKTtcblx0XHR9KTtcblx0fSk7XG59KTtcbiJdfQ==
|
|
@@ -88,8 +88,9 @@ describe("MacroField", () => {
|
|
|
88
88
|
const xmlField = `<internalMacro:Field xmlns:internalMacro="sap.fe.macros.internal"
|
|
89
89
|
entitySet="{entitySet>}"
|
|
90
90
|
dataField="@com.sap.vocabularies.UI.v1.LineItem/16"
|
|
91
|
-
parentControl="Table"
|
|
92
|
-
|
|
91
|
+
parentControl="Table">
|
|
92
|
+
<internalMacro:formatOptions isCurrencyAligned="true" />
|
|
93
|
+
</internalMacro:Field>`;
|
|
93
94
|
const templatedXML = await getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {});
|
|
94
95
|
expect(templatedXML).toMatchSnapshot();
|
|
95
96
|
}
|
|
@@ -99,7 +100,17 @@ describe("MacroField", () => {
|
|
|
99
100
|
entitySet="{entitySet>}"
|
|
100
101
|
dataField="@com.sap.vocabularies.UI.v1.LineItem/16"
|
|
101
102
|
parentControl="Table">
|
|
102
|
-
<internalMacro:formatOptions isAnalytics="true" />
|
|
103
|
+
<internalMacro:formatOptions isAnalytics="true" isCurrencyAligned="true" />
|
|
104
|
+
</internalMacro:Field>`;
|
|
105
|
+
const templatedXML = await getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {});
|
|
106
|
+
expect(templatedXML).toMatchSnapshot();
|
|
107
|
+
});
|
|
108
|
+
it("Simple DataField on a Quantity with currency property and a Criticality for Analytics", async () => {
|
|
109
|
+
const xmlField = `<internalMacro:Field xmlns:internalMacro="sap.fe.macros.internal"
|
|
110
|
+
entitySet="{entitySet>}"
|
|
111
|
+
dataField="@com.sap.vocabularies.UI.v1.LineItem#DataFields/1"
|
|
112
|
+
parentControl="Table">
|
|
113
|
+
<internalMacro:formatOptions isAnalytics="true" isCurrencyAligned="true" />
|
|
103
114
|
</internalMacro:Field>`;
|
|
104
115
|
const templatedXML = await getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {});
|
|
105
116
|
expect(templatedXML).toMatchSnapshot();
|
|
@@ -275,7 +286,10 @@ describe("MacroField", () => {
|
|
|
275
286
|
entitySet="{entitySet>}"
|
|
276
287
|
dataField="@com.sap.vocabularies.UI.v1.LineItem/16"
|
|
277
288
|
parentControl="Table"
|
|
278
|
-
|
|
289
|
+
>
|
|
290
|
+
<internalMacro:formatOptions isCurrencyAligned="true" />
|
|
291
|
+
</internalMacro:Field>`;
|
|
292
|
+
|
|
279
293
|
const templatedXML = await getTemplatedXML(xmlField, sMetadataUrl, mBindingContexts, {});
|
|
280
294
|
expect(templatedXML).toMatchSnapshot();
|
|
281
295
|
});
|