@sapui5/sap.fe.macros 1.141.2 → 1.143.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/macros/.library +1 -1
- package/src/sap/fe/macros/Breadcrumbs.js +4 -10
- package/src/sap/fe/macros/Breadcrumbs.tsx +2 -8
- package/src/sap/fe/macros/Chart.js +34 -23
- package/src/sap/fe/macros/Chart.tsx +25 -11
- package/src/sap/fe/macros/CollaborativeDraftHandler.js +47 -36
- package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +50 -31
- package/src/sap/fe/macros/CollectionBindingInfo.js +8 -2
- package/src/sap/fe/macros/CollectionBindingInfo.ts +11 -6
- package/src/sap/fe/macros/CommonHelper.js +14 -24
- package/src/sap/fe/macros/CommonHelper.ts +18 -25
- package/src/sap/fe/macros/ConditionalSwitch.js +1 -2
- package/src/sap/fe/macros/ConditionalSwitch.tsx +0 -1
- package/src/sap/fe/macros/ConditionalSwitchProperty.js +1 -3
- package/src/sap/fe/macros/ConditionalSwitchProperty.tsx +0 -2
- package/src/sap/fe/macros/Field.js +34 -17
- package/src/sap/fe/macros/Field.ts +64 -32
- package/src/sap/fe/macros/FooterContent.js +7 -3
- package/src/sap/fe/macros/FooterContent.tsx +8 -13
- package/src/sap/fe/macros/KPITag.js +6 -6
- package/src/sap/fe/macros/KPITag.tsx +8 -6
- package/src/sap/fe/macros/MacroAPI.js +4 -3
- package/src/sap/fe/macros/MacroAPI.ts +3 -3
- package/src/sap/fe/macros/MessageButton.js +4 -3
- package/src/sap/fe/macros/MessageButton.tsx +7 -3
- package/src/sap/fe/macros/MicroChart.js +12 -7
- package/src/sap/fe/macros/MicroChart.tsx +9 -3
- package/src/sap/fe/macros/MultiValueField.js +22 -36
- package/src/sap/fe/macros/MultiValueField.tsx +34 -66
- package/src/sap/fe/macros/RichTextEditor.js +3 -4
- package/src/sap/fe/macros/RichTextEditor.tsx +2 -3
- package/src/sap/fe/macros/Share.js +7 -7
- package/src/sap/fe/macros/Share.tsx +9 -6
- package/src/sap/fe/macros/Status.js +39 -11
- package/src/sap/fe/macros/Status.tsx +25 -5
- package/src/sap/fe/macros/ValueHelp.js +5 -2
- package/src/sap/fe/macros/ValueHelp.tsx +5 -0
- package/src/sap/fe/macros/ai/EasyFillDialog.js +2 -1
- package/src/sap/fe/macros/ai/EasyFillDialog.tsx +1 -0
- package/src/sap/fe/macros/ai/EasyFilterBar.js +7 -34
- package/src/sap/fe/macros/ai/EasyFilterBar.tsx +6 -35
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +31 -7
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +33 -6
- package/src/sap/fe/macros/ai/SummarizationButton.js +6 -4
- package/src/sap/fe/macros/ai/SummarizationButton.tsx +5 -3
- package/src/sap/fe/macros/chart/Action.js +25 -2
- package/src/sap/fe/macros/chart/Action.ts +13 -0
- package/src/sap/fe/macros/chart/ActionGroup.js +25 -2
- package/src/sap/fe/macros/chart/ActionGroup.ts +13 -0
- package/src/sap/fe/macros/chart/ChartDelegate.js +29 -8
- package/src/sap/fe/macros/chart/ChartDelegate.ts +46 -14
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +58 -12
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +75 -13
- package/src/sap/fe/macros/chart/OverflowGroup.js +62 -0
- package/src/sap/fe/macros/chart/OverflowGroup.ts +22 -0
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +7 -7
- package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +3 -2
- package/src/sap/fe/macros/controls/FileWrapper.js +11 -5
- package/src/sap/fe/macros/controls/FileWrapper.ts +10 -4
- package/src/sap/fe/macros/controls/FilterBar.js +39 -3
- package/src/sap/fe/macros/controls/FilterBar.ts +42 -1
- package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.js +3 -1
- package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.tsx +2 -0
- package/src/sap/fe/macros/controls/RadioButtons.js +18 -5
- package/src/sap/fe/macros/controls/RadioButtons.tsx +10 -1
- package/src/sap/fe/macros/coreUI/CreateDialog.js +3 -3
- package/src/sap/fe/macros/coreUI/CreateDialog.tsx +2 -2
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +40 -12
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +48 -9
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +4 -2
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +3 -1
- package/src/sap/fe/macros/field/FieldFormatOptions.js +4 -4
- package/src/sap/fe/macros/field/FieldFormatOptions.ts +2 -2
- package/src/sap/fe/macros/field/FieldHelper.js +4 -3
- package/src/sap/fe/macros/field/FieldHelper.ts +7 -1
- package/src/sap/fe/macros/field/FieldRuntime.js +44 -9
- package/src/sap/fe/macros/field/FieldRuntime.ts +72 -8
- package/src/sap/fe/macros/field/FieldRuntimeHelper.js +3 -34
- package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +28 -53
- package/src/sap/fe/macros/field/FieldTemplating.js +5 -4
- package/src/sap/fe/macros/field/FieldTemplating.ts +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.ts +7 -2
- package/src/sap/fe/macros/filter/FilterUtils.js +130 -40
- package/src/sap/fe/macros/filter/FilterUtils.ts +167 -45
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.js +2 -2
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.ts +1 -1
- package/src/sap/fe/macros/filterBar/FilterBar.block.js +4 -3
- package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +19 -8
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +15 -9
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +36 -17
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +21 -10
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +81 -63
- package/src/sap/fe/macros/filterBar/UOMValidationDelegate.js +376 -0
- package/src/sap/fe/macros/filterBar/UOMValidationDelegate.ts +463 -0
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +4 -3
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +3 -2
- package/src/sap/fe/macros/form/Form.block.js +27 -2
- package/src/sap/fe/macros/form/Form.block.ts +31 -11
- package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -3
- package/src/sap/fe/macros/form/FormContainer.block.js +110 -63
- package/src/sap/fe/macros/form/FormContainer.block.ts +121 -64
- package/src/sap/fe/macros/formatters/TableFormatter.js +13 -10
- package/src/sap/fe/macros/formatters/TableFormatter.ts +11 -9
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.js +6 -4
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.ts +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.js +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +4 -4
- package/src/sap/fe/macros/insights/InsightsService.js +3 -2
- package/src/sap/fe/macros/insights/InsightsService.ts +2 -1
- package/src/sap/fe/macros/internal/DataPoint.js +7 -8
- package/src/sap/fe/macros/internal/DataPoint.tsx +6 -9
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +8 -6
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +7 -8
- package/src/sap/fe/macros/internal/field/EditStyle.js +9 -20
- package/src/sap/fe/macros/internal/field/EditStyle.tsx +17 -41
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.js +2 -2
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.tsx +1 -1
- package/src/sap/fe/macros/internal/field/FieldStructure.js +1 -2
- package/src/sap/fe/macros/internal/field/FieldStructure.tsx +0 -2
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +7 -7
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +17 -11
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +6 -2
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +5 -1
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +9 -6
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +7 -5
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +6 -6
- package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +5 -2
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +2 -2
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +2 -1
- package/src/sap/fe/macros/library.js +5 -6
- package/src/sap/fe/macros/{library.ts → library.tsx} +3 -1
- package/src/sap/fe/macros/mdc/adapter/StateHelper.js +15 -5
- package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +21 -5
- package/src/sap/fe/macros/messagebundle.properties +13 -5
- package/src/sap/fe/macros/messagebundle_ar.properties +12 -3
- package/src/sap/fe/macros/messagebundle_bg.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ca.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cnr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cs.properties +11 -2
- package/src/sap/fe/macros/messagebundle_cy.properties +12 -3
- package/src/sap/fe/macros/messagebundle_da.properties +12 -3
- package/src/sap/fe/macros/messagebundle_de.properties +16 -7
- package/src/sap/fe/macros/messagebundle_el.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_GB.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +13 -4
- package/src/sap/fe/macros/messagebundle_es.properties +12 -3
- package/src/sap/fe/macros/messagebundle_es_MX.properties +12 -3
- package/src/sap/fe/macros/messagebundle_et.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hr.properties +13 -4
- package/src/sap/fe/macros/messagebundle_hu.properties +12 -3
- package/src/sap/fe/macros/messagebundle_id.properties +18 -9
- package/src/sap/fe/macros/messagebundle_it.properties +12 -3
- package/src/sap/fe/macros/messagebundle_iw.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ja.properties +12 -3
- package/src/sap/fe/macros/messagebundle_kk.properties +11 -2
- package/src/sap/fe/macros/messagebundle_ko.properties +13 -4
- package/src/sap/fe/macros/messagebundle_lt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_lv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_mk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ms.properties +12 -3
- package/src/sap/fe/macros/messagebundle_nl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_no.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ro.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ru.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sh.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sl.properties +13 -4
- package/src/sap/fe/macros/messagebundle_sr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_th.properties +11 -2
- package/src/sap/fe/macros/messagebundle_tr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_uk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_vi.properties +13 -4
- package/src/sap/fe/macros/messagebundle_zh_CN.properties +12 -3
- package/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -3
- package/src/sap/fe/macros/messages/MessageButton.js +21 -12
- package/src/sap/fe/macros/messages/MessageButton.ts +21 -11
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.js +7 -3
- package/src/sap/fe/macros/multivaluefield/MultiValueFieldDelegate.ts +8 -2
- package/src/sap/fe/macros/quickView/QuickView.js +5 -4
- package/src/sap/fe/macros/quickView/QuickView.tsx +10 -3
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.js +2 -2
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +2 -2
- package/src/sap/fe/macros/table/Action.js +21 -5
- package/src/sap/fe/macros/table/Action.ts +14 -4
- package/src/sap/fe/macros/table/ActionGroup.js +15 -2
- package/src/sap/fe/macros/table/ActionGroup.ts +8 -0
- package/src/sap/fe/macros/table/ActionGroupOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionGroupOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionsTemplating.js +16 -2
- package/src/sap/fe/macros/table/ActionsTemplating.tsx +15 -0
- package/src/sap/fe/macros/table/Column.js +3 -2
- package/src/sap/fe/macros/table/Column.ts +1 -1
- package/src/sap/fe/macros/table/MdcTableTemplate.js +96 -18
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +136 -17
- package/src/sap/fe/macros/table/OverflowGroups.js +59 -0
- package/src/sap/fe/macros/table/OverflowGroups.ts +27 -0
- package/src/sap/fe/macros/table/Table.block.js +74 -30
- package/src/sap/fe/macros/table/Table.block.tsx +77 -14
- package/src/sap/fe/macros/table/TableAPI.js +175 -132
- package/src/sap/fe/macros/table/TableAPI.ts +67 -30
- package/src/sap/fe/macros/table/TableDefinition.js +20 -3
- package/src/sap/fe/macros/table/TableDefinition.ts +18 -2
- package/src/sap/fe/macros/table/TableEventHandlerProvider.js +6 -3
- package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +12 -9
- package/src/sap/fe/macros/table/TableHelper.js +5 -2
- package/src/sap/fe/macros/table/TableHelper.ts +5 -2
- package/src/sap/fe/macros/table/TableRuntime.js +25 -13
- package/src/sap/fe/macros/table/TableRuntime.ts +31 -17
- package/src/sap/fe/macros/table/TableSizeHelper.js +4 -4
- package/src/sap/fe/macros/table/TableSizeHelper.ts +6 -11
- package/src/sap/fe/macros/table/Utils.js +9 -3
- package/src/sap/fe/macros/table/Utils.ts +14 -8
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +72 -29
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +114 -123
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +41 -15
- package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +41 -22
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +15 -6
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +14 -5
- package/src/sap/fe/macros/table/massEdit/MassEditField.js +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditField.tsx +3 -6
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -3
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +3 -2
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +42 -14
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +49 -19
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +7 -9
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +7 -8
- package/src/sap/fe/macros/table/mixin/TableExport.js +1 -1
- package/src/sap/fe/macros/table/mixin/TableExport.ts +3 -3
- package/src/sap/fe/macros/table/mixin/TableHierarchy.js +3 -4
- package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +2 -3
- package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.js +5 -4
- package/src/sap/fe/macros/table/uploadTable/UploadTableRuntime.ts +6 -3
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +17 -10
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +24 -9
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +4 -4
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.ts +3 -3
- package/src/sap/fe/macros/visualfilters/VisualFilter.js +20 -2
- package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +28 -6
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -3
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +4 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.js +3 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.tsx +10 -4
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PrimitiveType, PropertyPath } from "@sap-ux/vocabularies-types";
|
|
1
|
+
import type { NavigationProperty, PrimitiveType, PropertyPath } from "@sap-ux/vocabularies-types";
|
|
2
2
|
import type { AggregatedProperty } from "@sap-ux/vocabularies-types/vocabularies/Analytics";
|
|
3
3
|
import { AnalyticsAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/Analytics";
|
|
4
4
|
import { CoreAnnotationTerms } from "@sap-ux/vocabularies-types/vocabularies/Core";
|
|
@@ -35,7 +35,7 @@ import { escapeXMLAttributeValue } from "sap/fe/core/buildingBlocks/templating/B
|
|
|
35
35
|
import type { NavigationParameters } from "sap/fe/core/controllerextensions/InternalIntentBasedNavigation";
|
|
36
36
|
import CommandExecution from "sap/fe/core/controls/CommandExecution";
|
|
37
37
|
import ConverterContext from "sap/fe/core/converters/ConverterContext";
|
|
38
|
-
import type { BaseManifestSettings, ControlConfiguration } from "sap/fe/core/converters/ManifestSettings";
|
|
38
|
+
import type { BaseManifestSettings, ControlConfiguration, OverflowGroupsConfiguration } from "sap/fe/core/converters/ManifestSettings";
|
|
39
39
|
import { TemplateType } from "sap/fe/core/converters/ManifestSettings";
|
|
40
40
|
import ManifestWrapper from "sap/fe/core/converters/ManifestWrapper";
|
|
41
41
|
import { getInvolvedDataModelObjects } from "sap/fe/core/converters/MetaModelConverter";
|
|
@@ -78,11 +78,14 @@ import OverflowToolbarLayoutData from "sap/m/OverflowToolbarLayoutData";
|
|
|
78
78
|
import type { SegmentedButton$SelectionChangeEvent } from "sap/m/SegmentedButton";
|
|
79
79
|
import SegmentedButton from "sap/m/SegmentedButton";
|
|
80
80
|
import SegmentedButtonItem from "sap/m/SegmentedButtonItem";
|
|
81
|
+
import ToolbarSeparator from "sap/m/ToolbarSeparator";
|
|
81
82
|
import type { OverflowToolbarPriority } from "sap/m/library";
|
|
82
83
|
import Device from "sap/ui/Device";
|
|
84
|
+
import type UI5Event from "sap/ui/base/Event";
|
|
83
85
|
import type { CommandExecution$ExecuteEvent } from "sap/ui/core/CommandExecution";
|
|
84
86
|
import CustomData from "sap/ui/core/CustomData";
|
|
85
87
|
import Element from "sap/ui/core/Element";
|
|
88
|
+
import InvisibleText from "sap/ui/core/InvisibleText";
|
|
86
89
|
import { Dock } from "sap/ui/core/Popup";
|
|
87
90
|
import type { VariantManagement$SaveEvent, VariantManagement$SelectEvent } from "sap/ui/fl/variants/VariantManagement";
|
|
88
91
|
import VariantManagement from "sap/ui/fl/variants/VariantManagement";
|
|
@@ -119,7 +122,7 @@ type ChartDelegate = {
|
|
|
119
122
|
};
|
|
120
123
|
export type ActionOrActionGroup = Record<string, Action | ExtendedActionGroup>;
|
|
121
124
|
export type CustomAndAction = CustomAction & (Action | ActionGroup);
|
|
122
|
-
type CustomToolbarMenuAction = {
|
|
125
|
+
export type CustomToolbarMenuAction = {
|
|
123
126
|
id: string;
|
|
124
127
|
text: string | undefined;
|
|
125
128
|
visible: string | undefined;
|
|
@@ -130,6 +133,7 @@ type CustomToolbarMenuAction = {
|
|
|
130
133
|
actions?: CustomAction;
|
|
131
134
|
priority?: OverflowToolbarPriority;
|
|
132
135
|
group?: number;
|
|
136
|
+
overflowGroup?: number;
|
|
133
137
|
};
|
|
134
138
|
|
|
135
139
|
enum personalizationValues {
|
|
@@ -207,6 +211,8 @@ type ActionProperties = {
|
|
|
207
211
|
enabled: boolean;
|
|
208
212
|
position?: object;
|
|
209
213
|
menu?: string[];
|
|
214
|
+
group?: number;
|
|
215
|
+
overflowGroup?: number;
|
|
210
216
|
};
|
|
211
217
|
|
|
212
218
|
type ToolbarAction = MenuItem | ActionToolbarAction | undefined;
|
|
@@ -258,6 +264,7 @@ function getContentId(macroId: string): string {
|
|
|
258
264
|
function getExtraParams(chartBlock: ChartBlock, visualizationPath: string | undefined): Record<string, object> {
|
|
259
265
|
const extraParams: Record<string, object> = {};
|
|
260
266
|
const customActions: Record<string, object> = {};
|
|
267
|
+
const actionOverflowGroups: OverflowGroupsConfiguration = {};
|
|
261
268
|
|
|
262
269
|
if (chartBlock.actions) {
|
|
263
270
|
Object.values(chartBlock.actions)?.forEach((action: Action | ActionGroup) => {
|
|
@@ -272,7 +279,9 @@ function getExtraParams(chartBlock: ChartBlock, visualizationPath: string | unde
|
|
|
272
279
|
placement: action.placement,
|
|
273
280
|
anchor: action.anchor
|
|
274
281
|
},
|
|
275
|
-
action.actions.map((_, index) => action.key + "_Menu_" + index)
|
|
282
|
+
action.actions.map((_, index) => action.key + "_Menu_" + index),
|
|
283
|
+
action.group,
|
|
284
|
+
action.overflowGroup
|
|
276
285
|
);
|
|
277
286
|
|
|
278
287
|
action.actions?.forEach((act: Action, index: number) => {
|
|
@@ -295,14 +304,23 @@ function getExtraParams(chartBlock: ChartBlock, visualizationPath: string | unde
|
|
|
295
304
|
{
|
|
296
305
|
placement: action.placement,
|
|
297
306
|
anchor: action.anchor
|
|
298
|
-
}
|
|
307
|
+
},
|
|
308
|
+
undefined,
|
|
309
|
+
action.group,
|
|
310
|
+
action.overflowGroup
|
|
299
311
|
);
|
|
300
312
|
}
|
|
301
313
|
});
|
|
302
314
|
}
|
|
315
|
+
if (chartBlock.actionOverflowGroups) {
|
|
316
|
+
Object.values(chartBlock.actionOverflowGroups)?.forEach((overflowGroup) => {
|
|
317
|
+
actionOverflowGroups[overflowGroup.overflowGroup.toString()] = { showSeparator: overflowGroup.showSeparator ?? false };
|
|
318
|
+
});
|
|
319
|
+
}
|
|
303
320
|
if (visualizationPath && chartBlock.actions) {
|
|
304
321
|
extraParams[visualizationPath] = {
|
|
305
|
-
actions: customActions
|
|
322
|
+
actions: customActions,
|
|
323
|
+
overflowGroups: actionOverflowGroups
|
|
306
324
|
};
|
|
307
325
|
}
|
|
308
326
|
|
|
@@ -316,7 +334,9 @@ function getActionProperties(
|
|
|
316
334
|
requiresSelection: boolean,
|
|
317
335
|
enabled: boolean,
|
|
318
336
|
position?: object,
|
|
319
|
-
menu?: string[]
|
|
337
|
+
menu?: string[],
|
|
338
|
+
group?: number,
|
|
339
|
+
overflowGroup?: number
|
|
320
340
|
): ActionProperties {
|
|
321
341
|
const actionProperties: ActionProperties = {
|
|
322
342
|
key,
|
|
@@ -324,7 +344,9 @@ function getActionProperties(
|
|
|
324
344
|
__noWrap: true,
|
|
325
345
|
press,
|
|
326
346
|
requiresSelection,
|
|
327
|
-
enabled
|
|
347
|
+
enabled,
|
|
348
|
+
group,
|
|
349
|
+
overflowGroup
|
|
328
350
|
};
|
|
329
351
|
|
|
330
352
|
if (position) {
|
|
@@ -1064,6 +1086,8 @@ function getActions(chartBlock: ChartBlock): ToolbarAction[] {
|
|
|
1064
1086
|
if (action.annotationPath || (action.type === "Menu" && !action.id?.startsWith("CustomAction"))) {
|
|
1065
1087
|
// Load annotation based actions
|
|
1066
1088
|
return getAction(action, chartBlock._chartContext, false, chartBlock);
|
|
1089
|
+
} else if (action.type === "Separator") {
|
|
1090
|
+
return getSeparator(action);
|
|
1067
1091
|
} else if (action.hasOwnProperty("noWrap")) {
|
|
1068
1092
|
// Load XML or manifest based actions / action groups
|
|
1069
1093
|
return getCustomActions(action as CustomAndAction, chartBlock._chartContext, chartBlock);
|
|
@@ -1181,8 +1205,9 @@ function getActionToolbarMenuAction(
|
|
|
1181
1205
|
useDefaultActionOnly={props.useDefaultActionOnly}
|
|
1182
1206
|
buttonMode={props.buttonMode}
|
|
1183
1207
|
menuPosition={Dock.BeginBottom}
|
|
1184
|
-
defaultAction={
|
|
1208
|
+
defaultAction={props.defaultAction as unknown as (oEvent: UI5Event) => void}
|
|
1185
1209
|
icon={isAIOperation ? aiIcon : undefined}
|
|
1210
|
+
ariaDescribedBy={isAIOperation ? [`${chartBlock.getId()}--fe::AiAction::AriaText`] : undefined}
|
|
1186
1211
|
>
|
|
1187
1212
|
{{
|
|
1188
1213
|
menu: <Menu>{aMenuItems}</Menu>,
|
|
@@ -1213,6 +1238,7 @@ function getAction(action: BaseAction | CustomAction, chartContext: Context, isM
|
|
|
1213
1238
|
enabled={action.enabled}
|
|
1214
1239
|
menuPosition={Dock.BeginBottom}
|
|
1215
1240
|
icon={action?.isAIOperation === true ? aiIcon : undefined}
|
|
1241
|
+
ariaDescribedBy={action?.isAIOperation === true ? [`${chartBlock.getId()}--fe::AiAction::AriaText`] : undefined}
|
|
1216
1242
|
>
|
|
1217
1243
|
{{
|
|
1218
1244
|
menu: <Menu>{menuItems}</Menu>,
|
|
@@ -1225,6 +1251,18 @@ function getAction(action: BaseAction | CustomAction, chartContext: Context, isM
|
|
|
1225
1251
|
return undefined;
|
|
1226
1252
|
}
|
|
1227
1253
|
|
|
1254
|
+
function getSeparator(action: BaseAction): ToolbarAction {
|
|
1255
|
+
return (
|
|
1256
|
+
<ActionToolbarAction>
|
|
1257
|
+
<ToolbarSeparator>
|
|
1258
|
+
{{
|
|
1259
|
+
layoutData: <OverflowToolbarLayoutData group={action.group}></OverflowToolbarLayoutData>
|
|
1260
|
+
}}
|
|
1261
|
+
</ToolbarSeparator>
|
|
1262
|
+
</ActionToolbarAction>
|
|
1263
|
+
);
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1228
1266
|
function getNavigationActions(
|
|
1229
1267
|
action: BaseAction | CustomAction,
|
|
1230
1268
|
dataFieldContext: Context,
|
|
@@ -1324,7 +1362,8 @@ function getActionToolbarAction(
|
|
|
1324
1362
|
controlId: chartBlock._blockId,
|
|
1325
1363
|
operationAvailableMap: chartOperationAvailableMap,
|
|
1326
1364
|
model: view.getModel(),
|
|
1327
|
-
label: dataField?.Label as string
|
|
1365
|
+
label: dataField?.Label as string,
|
|
1366
|
+
disableStrictHandling: action.disableStrictHandling
|
|
1328
1367
|
};
|
|
1329
1368
|
controller.editFlow.invokeAction(dataField?.Action as string, params);
|
|
1330
1369
|
} else if (action.type === "ForNavigation") {
|
|
@@ -1368,6 +1407,7 @@ function buildAction(
|
|
|
1368
1407
|
enabled={toolbarAction.enabled}
|
|
1369
1408
|
visible={toolbarAction.visible}
|
|
1370
1409
|
icon={action.isAIOperation === true ? aiIcon : undefined}
|
|
1410
|
+
ariaDescribedBy={action?.isAIOperation === true ? [`${chartBlock.getId()}--fe::AiAction::AriaText`] : undefined}
|
|
1371
1411
|
>
|
|
1372
1412
|
{{
|
|
1373
1413
|
layoutData: <OverflowToolbarLayoutData priority={action.priority} group={action.group} />
|
|
@@ -1447,7 +1487,8 @@ function getStandardActionPressWithNoCommand(
|
|
|
1447
1487
|
controlId: chartBlock?._blockId,
|
|
1448
1488
|
operationAvailableMap: chartOperationAvailableMap,
|
|
1449
1489
|
model: view.getModel(),
|
|
1450
|
-
label: dataField?.Label as string
|
|
1490
|
+
label: dataField?.Label as string,
|
|
1491
|
+
disableStrictHandling: action.disableStrictHandling
|
|
1451
1492
|
};
|
|
1452
1493
|
controller.editFlow.invokeAction(dataField?.Action as string, params);
|
|
1453
1494
|
} else if (action.type === "ForNavigation") {
|
|
@@ -1776,7 +1817,10 @@ function initialise(
|
|
|
1776
1817
|
chartDimensionKeyAndRole: chartBlock.chartDefinition?.chartDimensionKeyAndRole,
|
|
1777
1818
|
chartMeasureKeyAndRole: chartBlock.chartDefinition?.chartMeasureKeyAndRole
|
|
1778
1819
|
};
|
|
1779
|
-
|
|
1820
|
+
const navProps = contextObjectPath.navigationProperties as NavigationProperty[];
|
|
1821
|
+
const lastNavProp = navProps[navProps.length - 1];
|
|
1822
|
+
const isContainment = lastNavProp?.containsTarget && contextObjectPath.targetEntitySet === undefined;
|
|
1823
|
+
if ((chartBlock.chartDefinition.isParameterizedEntitySet ?? false) || (isContainment ?? false)) {
|
|
1780
1824
|
chartBlock._customData.entitySet = chartBlock.chartDefinition.collection.substring(1);
|
|
1781
1825
|
}
|
|
1782
1826
|
} else {
|
|
@@ -1904,7 +1948,11 @@ export function getMdcChartTemplate(
|
|
|
1904
1948
|
>
|
|
1905
1949
|
{{
|
|
1906
1950
|
customData: getCustomData(chartBlock),
|
|
1907
|
-
dependents: [
|
|
1951
|
+
dependents: [
|
|
1952
|
+
getDependents(chartBlock, chartBlock._chartContext),
|
|
1953
|
+
getPersistenceProvider(chartBlock),
|
|
1954
|
+
getAccAIActionInvisibleText(chartBlock)
|
|
1955
|
+
],
|
|
1908
1956
|
items: getItems(chartBlock),
|
|
1909
1957
|
actions: chartBlock.chartActions ? getToolbarActions(chartBlock) : chartBlock._blockActions,
|
|
1910
1958
|
variant: createVariantManagement(chartBlock),
|
|
@@ -1913,3 +1961,17 @@ export function getMdcChartTemplate(
|
|
|
1913
1961
|
</MdcChart>
|
|
1914
1962
|
);
|
|
1915
1963
|
}
|
|
1964
|
+
|
|
1965
|
+
/**
|
|
1966
|
+
* This function returns the InvisibleText for the AI Action buttons.
|
|
1967
|
+
* @param chartBlock ChartBlock instance
|
|
1968
|
+
* @returns InvisibleText control
|
|
1969
|
+
*/
|
|
1970
|
+
function getAccAIActionInvisibleText(chartBlock: ChartBlock): InvisibleText {
|
|
1971
|
+
const invisibleTextAccAIAction = new InvisibleText({
|
|
1972
|
+
id: `${chartBlock.getId()}--fe::AiAction::AriaText`,
|
|
1973
|
+
text: "{sap.fe.i18n>C_ACCESSIBILITY_AI_ACTION_ARIA_TEXT}"
|
|
1974
|
+
});
|
|
1975
|
+
invisibleTextAccAIAction.toStatic();
|
|
1976
|
+
return invisibleTextAccAIAction;
|
|
1977
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlockObjectProperty"], function (ClassSupport, BuildingBlockObjectProperty) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
|
|
9
|
+
var _exports = {};
|
|
10
|
+
var property = ClassSupport.property;
|
|
11
|
+
var defineUI5Class = ClassSupport.defineUI5Class;
|
|
12
|
+
function _initializerDefineProperty(e, i, r, l) { r && Object.defineProperty(e, i, { enumerable: r.enumerable, configurable: r.configurable, writable: r.writable, value: r.initializer ? r.initializer.call(l) : void 0 }); }
|
|
13
|
+
function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); }
|
|
14
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
15
|
+
function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; }
|
|
16
|
+
function _initializerWarningHelper(r, e) { throw Error("Decorating class property failed. Please ensure that transform-class-properties is enabled and runs after the decorators transform."); }
|
|
17
|
+
/**
|
|
18
|
+
* Definition of an overflow group to be used in the chart toolbar
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
let OverflowGroup = (_dec = defineUI5Class("sap.fe.macros.chart.OverflowGroup"), _dec2 = property({
|
|
22
|
+
type: "int",
|
|
23
|
+
required: true
|
|
24
|
+
}), _dec3 = property({
|
|
25
|
+
type: "boolean"
|
|
26
|
+
}), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockObjectP) {
|
|
27
|
+
function OverflowGroup() {
|
|
28
|
+
var _this;
|
|
29
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
30
|
+
args[_key] = arguments[_key];
|
|
31
|
+
}
|
|
32
|
+
_this = _BuildingBlockObjectP.call(this, ...args) || this;
|
|
33
|
+
/**
|
|
34
|
+
* Defines the group of the toolbar separator in the overflow toolbar.
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
_initializerDefineProperty(_this, "overflowGroup", _descriptor, _this);
|
|
38
|
+
/**
|
|
39
|
+
* Defines if a toolbar separator should be displayed.
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
_initializerDefineProperty(_this, "showSeparator", _descriptor2, _this);
|
|
43
|
+
return _this;
|
|
44
|
+
}
|
|
45
|
+
_exports = OverflowGroup;
|
|
46
|
+
_inheritsLoose(OverflowGroup, _BuildingBlockObjectP);
|
|
47
|
+
return OverflowGroup;
|
|
48
|
+
}(BuildingBlockObjectProperty), _descriptor = _applyDecoratedDescriptor(_class2.prototype, "overflowGroup", [_dec2], {
|
|
49
|
+
configurable: true,
|
|
50
|
+
enumerable: true,
|
|
51
|
+
writable: true,
|
|
52
|
+
initializer: null
|
|
53
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "showSeparator", [_dec3], {
|
|
54
|
+
configurable: true,
|
|
55
|
+
enumerable: true,
|
|
56
|
+
writable: true,
|
|
57
|
+
initializer: null
|
|
58
|
+
}), _class2)) || _class);
|
|
59
|
+
_exports = OverflowGroup;
|
|
60
|
+
return _exports;
|
|
61
|
+
}, false);
|
|
62
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPdmVyZmxvd0dyb3VwIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJyZXF1aXJlZCIsIl9kZWMzIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrT2JqZWN0UCIsIl90aGlzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk92ZXJmbG93R3JvdXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIjtcbi8qKlxuICogRGVmaW5pdGlvbiBvZiBhbiBvdmVyZmxvdyBncm91cCB0byBiZSB1c2VkIGluIHRoZSBjaGFydCB0b29sYmFyXG4gKiBAcHVibGljXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuY2hhcnQuT3ZlcmZsb3dHcm91cFwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgT3ZlcmZsb3dHcm91cCBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBncm91cCBvZiB0aGUgdG9vbGJhciBzZXBhcmF0b3IgaW4gdGhlIG92ZXJmbG93IHRvb2xiYXIuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiaW50XCIsIHJlcXVpcmVkOiB0cnVlIH0pXG5cdG92ZXJmbG93R3JvdXAhOiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaWYgYSB0b29sYmFyIHNlcGFyYXRvciBzaG91bGQgYmUgZGlzcGxheWVkLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93U2VwYXJhdG9yPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztFQUVBO0FBQ0E7QUFDQTtBQUNBO0VBSEEsSUFLcUJBLGFBQWEsSUFBQUMsSUFBQSxHQURqQ0MsY0FBYyxDQUFDLG1DQUFtQyxDQUFDLEVBQUFDLEtBQUEsR0FNbERDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsS0FBSztJQUFFQyxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU96Q0gsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBSixJQUFBLENBQUFPLE1BQUEsSUFBQUMsT0FBQSwwQkFBQUMscUJBQUE7SUFBQSxTQUFBVixjQUFBO01BQUEsSUFBQVcsS0FBQTtNQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQUFDLElBQUEsT0FBQUMsS0FBQSxDQUFBSixJQUFBLEdBQUFLLElBQUEsTUFBQUEsSUFBQSxHQUFBTCxJQUFBLEVBQUFLLElBQUE7UUFBQUYsSUFBQSxDQUFBRSxJQUFBLElBQUFKLFNBQUEsQ0FBQUksSUFBQTtNQUFBO01BQUFOLEtBQUEsR0FBQUQscUJBQUEsQ0FBQVEsSUFBQSxVQUFBSCxJQUFBO01BWDlCO0FBQ0Q7QUFDQTtBQUNBO01BSENJLDBCQUFBLENBQUFSLEtBQUEsbUJBQUFTLFdBQUEsRUFBQVQsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO01BSENRLDBCQUFBLENBQUFSLEtBQUEsbUJBQUFVLFlBQUEsRUFBQVYsS0FBQTtNQUFBLE9BQUFBLEtBQUE7SUFBQTtJQUFBVyxRQUFBLEdBQUF0QixhQUFBO0lBQUF1QixjQUFBLENBQUF2QixhQUFBLEVBQUFVLHFCQUFBO0lBQUEsT0FBQVYsYUFBQTtFQUFBLEVBUjBDd0IsMkJBQTJCLEdBQUFKLFdBQUEsR0FBQUsseUJBQUEsQ0FBQWhCLE9BQUEsQ0FBQWlCLFNBQUEsb0JBQUF2QixLQUFBO0lBQUF3QixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQVQsWUFBQSxHQUFBSSx5QkFBQSxDQUFBaEIsT0FBQSxDQUFBaUIsU0FBQSxvQkFBQW5CLEtBQUE7SUFBQW9CLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBckIsT0FBQSxNQUFBRCxNQUFBO0VBQUFjLFFBQUEsR0FBQXRCLGFBQUE7RUFBQSxPQUFBc0IsUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { defineUI5Class, property } from "sap/fe/base/ClassSupport";
|
|
2
|
+
import BuildingBlockObjectProperty from "sap/fe/macros/controls/BuildingBlockObjectProperty";
|
|
3
|
+
/**
|
|
4
|
+
* Definition of an overflow group to be used in the chart toolbar
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
@defineUI5Class("sap.fe.macros.chart.OverflowGroup")
|
|
8
|
+
export default class OverflowGroup extends BuildingBlockObjectProperty {
|
|
9
|
+
/**
|
|
10
|
+
* Defines the group of the toolbar separator in the overflow toolbar.
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
@property({ type: "int", required: true })
|
|
14
|
+
overflowGroup!: number;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Defines if a toolbar separator should be displayed.
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
@property({ type: "boolean" })
|
|
21
|
+
showSeparator?: boolean;
|
|
22
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
3
|
* (c) Copyright 2009-2025 SAP SE. All rights reserved
|
|
4
4
|
*/
|
|
5
|
-
sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml"
|
|
5
|
+
sap.ui.define(["sap/fe/base/BuildingBlockBase", "sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml"], function (BuildingBlockBase, ClassSupport, jsxXml) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _dec, _class;
|
|
@@ -14,12 +14,12 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml", "s
|
|
|
14
14
|
* Base class for building block complex object properties that can be serialized to XML.
|
|
15
15
|
* @public
|
|
16
16
|
*/
|
|
17
|
-
let BuildingBlockObjectProperty = (_dec = defineUI5Class("sap.fe.macros.controls.BuildingBlockObjectProperty"), _dec(_class = /*#__PURE__*/function (
|
|
17
|
+
let BuildingBlockObjectProperty = (_dec = defineUI5Class("sap.fe.macros.controls.BuildingBlockObjectProperty"), _dec(_class = /*#__PURE__*/function (_BuildingBlockBase) {
|
|
18
18
|
function BuildingBlockObjectProperty() {
|
|
19
|
-
return
|
|
19
|
+
return _BuildingBlockBase.apply(this, arguments) || this;
|
|
20
20
|
}
|
|
21
21
|
_exports = BuildingBlockObjectProperty;
|
|
22
|
-
_inheritsLoose(BuildingBlockObjectProperty,
|
|
22
|
+
_inheritsLoose(BuildingBlockObjectProperty, _BuildingBlockBase);
|
|
23
23
|
var _proto = BuildingBlockObjectProperty.prototype;
|
|
24
24
|
_proto.getPropertyBag = function getPropertyBag() {
|
|
25
25
|
const settings = {};
|
|
@@ -92,13 +92,13 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/base/jsx-runtime/jsx-xml", "s
|
|
|
92
92
|
if (propertyMetadata?.bindable === false && propertyMetadata.group === "Data") {
|
|
93
93
|
this[name] = bindingInfo;
|
|
94
94
|
} else {
|
|
95
|
-
|
|
95
|
+
_BuildingBlockBase.prototype.bindProperty.call(this, name, bindingInfo);
|
|
96
96
|
}
|
|
97
97
|
return this;
|
|
98
98
|
};
|
|
99
99
|
return BuildingBlockObjectProperty;
|
|
100
|
-
}(
|
|
100
|
+
}(BuildingBlockBase)) || _class);
|
|
101
101
|
_exports = BuildingBlockObjectProperty;
|
|
102
102
|
return _exports;
|
|
103
103
|
}, false);
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfVUk1RWxlbWVudCIsImFwcGx5IiwiYXJndW1lbnRzIiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImdldFByb3BlcnR5QmFnIiwic2V0dGluZ3MiLCJwcm9wZXJ0aWVzIiwiZ2V0TWV0YWRhdGEiLCJnZXRBbGxQcm9wZXJ0aWVzIiwiYWdncmVnYXRpb25zIiwiZ2V0QWxsQWdncmVnYXRpb25zIiwicHJvcGVydHlOYW1lIiwicHJvcGVydHkiLCJnZXRQcm9wZXJ0eSIsImFnZ3JlZ2F0aW9uTmFtZSIsImFnZ3JlZ2F0aW9uQ29udGVudCIsImdldEFnZ3JlZ2F0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGRyZW5BcnJheSIsIm1hbmFnZWRPYmplY3QiLCJpc0EiLCJwdXNoIiwiZ2V0SWQiLCJzZXJpYWxpemUiLCJvdmVycmlkZU5vZGVOYW1lIiwiZXZlbnRzIiwiZ2V0QWxsRXZlbnRzIiwiY2hpbGRyZW4iLCJldmVudE5hbWUiLCJqc3hYbWwiLCJnZXRDbGFzcyIsInVuZGVmaW5lZCIsImJpbmRQcm9wZXJ0eSIsIm5hbWUiLCJiaW5kaW5nSW5mbyIsInByb3BlcnR5TWV0YWRhdGEiLCJiaW5kYWJsZSIsImdyb3VwIiwiY2FsbCIsIlVJNUVsZW1lbnQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sUHJvcGVydGllcywgTm9uQ29udHJvbFByb3BlcnRpZXMgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvanN4LXJ1bnRpbWUvanN4XCI7XG5pbXBvcnQganN4WG1sIGZyb20gXCJzYXAvZmUvYmFzZS9qc3gtcnVudGltZS9qc3gteG1sXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5QmluZGluZ0luZm8gfSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IFVJNUVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBidWlsZGluZyBibG9jayBjb21wbGV4IG9iamVjdCBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIHNlcmlhbGl6ZWQgdG8gWE1MLlxuICogQHB1YmxpY1xuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5IGV4dGVuZHMgVUk1RWxlbWVudCB7XG5cdGdldFByb3BlcnR5QmFnKCk6IFByb3BlcnRpZXNPZjx0aGlzPiB7XG5cdFx0Y29uc3Qgc2V0dGluZ3M6IFByb3BlcnRpZXNPZjx0aGlzPiA9IHt9IGFzIFByb3BlcnRpZXNPZjx0aGlzPjtcblx0XHRjb25zdCBwcm9wZXJ0aWVzID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldEFsbFByb3BlcnRpZXMoKTtcblx0XHRjb25zdCBhZ2dyZWdhdGlvbnMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsQWdncmVnYXRpb25zKCk7XG5cdFx0Zm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gcHJvcGVydGllcykge1xuXHRcdFx0Y29uc3QgcHJvcGVydHkgPSB0aGlzLmdldFByb3BlcnR5KHByb3BlcnR5TmFtZSk7XG5cdFx0XHRpZiAodHlwZW9mIHByb3BlcnR5ICE9PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdFx0c2V0dGluZ3NbcHJvcGVydHlOYW1lIGFzIGtleW9mIFByb3BlcnRpZXNPZjx0aGlzPl0gPSBwcm9wZXJ0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Zm9yIChjb25zdCBhZ2dyZWdhdGlvbk5hbWUgaW4gYWdncmVnYXRpb25zKSB7XG5cdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSk7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhZ2dyZWdhdGlvbkNvbnRlbnQpKSB7XG5cdFx0XHRcdGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBbXTtcblx0XHRcdFx0Zm9yIChjb25zdCBtYW5hZ2VkT2JqZWN0IG9mIGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRcdGlmIChtYW5hZ2VkT2JqZWN0LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRcdGNoaWxkcmVuQXJyYXkucHVzaChtYW5hZ2VkT2JqZWN0LmdldFByb3BlcnR5QmFnKCkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IGNoaWxkcmVuQXJyYXk7XG5cdFx0XHR9IGVsc2UgaWYgKGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRpZiAoYWdncmVnYXRpb25Db250ZW50LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IGFnZ3JlZ2F0aW9uQ29udGVudC5nZXRQcm9wZXJ0eUJhZygpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZSBhcyBrZXlvZiBQcm9wZXJ0aWVzT2Y8dGhpcz5dID0gYWdncmVnYXRpb25Db250ZW50LmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHNldHRpbmdzO1xuXHR9XG5cblx0c2VyaWFsaXplKG92ZXJyaWRlTm9kZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsUHJvcGVydGllcygpO1xuXHRcdGNvbnN0IGV2ZW50cyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxFdmVudHMoKTtcblx0XHRjb25zdCBhZ2dyZWdhdGlvbnMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsQWdncmVnYXRpb25zKCk7XG5cdFx0Y29uc3Qgc2V0dGluZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYgeyBjaGlsZHJlbjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSA9IHsgY2hpbGRyZW46IHt9IH07XG5cdFx0Zm9yIChjb25zdCBldmVudE5hbWUgaW4gZXZlbnRzKSB7XG5cdFx0XHRzZXR0aW5nc1tldmVudE5hbWVdID0gYFRISVMuX2ZpcmVFdmVudCgkZXZlbnQsICRjb250cm9sbGVyLCAnJHtldmVudE5hbWV9JylgO1xuXHRcdH1cblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRjb25zdCBwcm9wZXJ0eSA9IHRoaXMuZ2V0UHJvcGVydHkocHJvcGVydHlOYW1lKTtcblx0XHRcdGlmICh0eXBlb2YgcHJvcGVydHkgIT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHRzZXR0aW5nc1twcm9wZXJ0eU5hbWVdID0gcHJvcGVydHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGZvciAoY29uc3QgYWdncmVnYXRpb25OYW1lIGluIGFnZ3JlZ2F0aW9ucykge1xuXHRcdFx0Y29uc3QgYWdncmVnYXRpb25Db250ZW50ID0gdGhpcy5nZXRBZ2dyZWdhdGlvbihhZ2dyZWdhdGlvbk5hbWUpO1xuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoYWdncmVnYXRpb25Db250ZW50KSkge1xuXHRcdFx0XHRjb25zdCBjaGlsZHJlbkFycmF5ID0gW107XG5cdFx0XHRcdGZvciAoY29uc3QgbWFuYWdlZE9iamVjdCBvZiBhZ2dyZWdhdGlvbkNvbnRlbnQpIHtcblx0XHRcdFx0XHRpZiAobWFuYWdlZE9iamVjdC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKSB7XG5cdFx0XHRcdFx0XHRjaGlsZHJlbkFycmF5LnB1c2gobWFuYWdlZE9iamVjdC5zZXJpYWxpemUoKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHNldHRpbmdzLmNoaWxkcmVuW2FnZ3JlZ2F0aW9uTmFtZV0gPSBjaGlsZHJlbkFycmF5O1xuXHRcdFx0fSBlbHNlIGlmIChhZ2dyZWdhdGlvbkNvbnRlbnQpIHtcblx0XHRcdFx0aWYgKGFnZ3JlZ2F0aW9uQ29udGVudC5pc0E8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PihcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5XCIpKSB7XG5cdFx0XHRcdFx0c2V0dGluZ3MuY2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSA9IGFnZ3JlZ2F0aW9uQ29udGVudC5zZXJpYWxpemUoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzZXR0aW5nc1thZ2dyZWdhdGlvbk5hbWVdID0gYWdncmVnYXRpb25Db250ZW50LmdldElkKCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIGpzeFhtbDxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFxuXHRcdFx0dGhpcy5nZXRNZXRhZGF0YSgpLmdldENsYXNzKCkgYXMgdW5rbm93biBhcyB0eXBlb2YgQ29udHJvbCxcblx0XHRcdHNldHRpbmdzIGFzIE5vbkNvbnRyb2xQcm9wZXJ0aWVzPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4gJiB7XG5cdFx0XHRcdGtleT86IHN0cmluZztcblx0XHRcdFx0Y2hpbGRyZW4/OiBVSTVFbGVtZW50IHwgQ29udHJvbFByb3BlcnRpZXM8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5Pjtcblx0XHRcdH0sXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHR7fSxcblx0XHRcdG92ZXJyaWRlTm9kZU5hbWVcblx0XHQpO1xuXHR9XG5cblx0b3ZlcnJpZGUgYmluZFByb3BlcnR5KG5hbWU6IHN0cmluZywgYmluZGluZ0luZm86IFByb3BlcnR5QmluZGluZ0luZm8pOiB0aGlzIHtcblx0XHRjb25zdCBwcm9wZXJ0eU1ldGFkYXRhID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldFByb3BlcnR5KG5hbWUpO1xuXHRcdGlmIChwcm9wZXJ0eU1ldGFkYXRhPy5iaW5kYWJsZSA9PT0gZmFsc2UgJiYgcHJvcGVydHlNZXRhZGF0YS5ncm91cCA9PT0gXCJEYXRhXCIpIHtcblx0XHRcdCh0aGlzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtuYW1lXSA9IGJpbmRpbmdJbmZvO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdXBlci5iaW5kUHJvcGVydHkobmFtZSwgYmluZGluZ0luZm8pO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7RUFRQTtBQUNBO0FBQ0E7QUFDQTtFQUhBLElBS3FCQSwyQkFBMkIsSUFBQUMsSUFBQSxHQUQvQ0MsY0FBYyxDQUFDLG9EQUFvRCxDQUFDLEVBQUFELElBQUEsQ0FBQUUsTUFBQSwwQkFBQUMsV0FBQTtJQUFBLFNBQUFKLDRCQUFBO01B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
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfY2xhc3MiLCJfQnVpbGRpbmdCbG9ja0Jhc2UiLCJhcHBseSIsImFyZ3VtZW50cyIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJnZXRQcm9wZXJ0eUJhZyIsInNldHRpbmdzIiwicHJvcGVydGllcyIsImdldE1ldGFkYXRhIiwiZ2V0QWxsUHJvcGVydGllcyIsImFnZ3JlZ2F0aW9ucyIsImdldEFsbEFnZ3JlZ2F0aW9ucyIsInByb3BlcnR5TmFtZSIsInByb3BlcnR5IiwiZ2V0UHJvcGVydHkiLCJhZ2dyZWdhdGlvbk5hbWUiLCJhZ2dyZWdhdGlvbkNvbnRlbnQiLCJnZXRBZ2dyZWdhdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkcmVuQXJyYXkiLCJtYW5hZ2VkT2JqZWN0IiwiaXNBIiwicHVzaCIsImdldElkIiwic2VyaWFsaXplIiwib3ZlcnJpZGVOb2RlTmFtZSIsImV2ZW50cyIsImdldEFsbEV2ZW50cyIsImNoaWxkcmVuIiwiZXZlbnROYW1lIiwianN4WG1sIiwiZ2V0Q2xhc3MiLCJ1bmRlZmluZWQiLCJiaW5kUHJvcGVydHkiLCJuYW1lIiwiYmluZGluZ0luZm8iLCJwcm9wZXJ0eU1ldGFkYXRhIiwiYmluZGFibGUiLCJncm91cCIsImNhbGwiLCJCdWlsZGluZ0Jsb2NrQmFzZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsZGluZ0Jsb2NrQmFzZSBmcm9tIFwic2FwL2ZlL2Jhc2UvQnVpbGRpbmdCbG9ja0Jhc2VcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IENvbnRyb2xQcm9wZXJ0aWVzLCBOb25Db250cm9sUHJvcGVydGllcyB9IGZyb20gXCJzYXAvZmUvYmFzZS9qc3gtcnVudGltZS9qc3hcIjtcbmltcG9ydCBqc3hYbWwgZnJvbSBcInNhcC9mZS9iYXNlL2pzeC1ydW50aW1lL2pzeC14bWxcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHlCaW5kaW5nSW5mbyB9IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBVSTVFbGVtZW50IGZyb20gXCJzYXAvdWkvY29yZS9FbGVtZW50XCI7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYnVpbGRpbmcgYmxvY2sgY29tcGxleCBvYmplY3QgcHJvcGVydGllcyB0aGF0IGNhbiBiZSBzZXJpYWxpemVkIHRvIFhNTC5cbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSBleHRlbmRzIEJ1aWxkaW5nQmxvY2tCYXNlIHtcblx0Z2V0UHJvcGVydHlCYWcoKTogUHJvcGVydGllc09mPHRoaXM+IHtcblx0XHRjb25zdCBzZXR0aW5nczogUHJvcGVydGllc09mPHRoaXM+ID0ge30gYXMgUHJvcGVydGllc09mPHRoaXM+O1xuXHRcdGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0QWxsUHJvcGVydGllcygpO1xuXHRcdGNvbnN0IGFnZ3JlZ2F0aW9ucyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxBZ2dyZWdhdGlvbnMoKTtcblx0XHRmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBwcm9wZXJ0aWVzKSB7XG5cdFx0XHRjb25zdCBwcm9wZXJ0eSA9IHRoaXMuZ2V0UHJvcGVydHkocHJvcGVydHlOYW1lKTtcblx0XHRcdGlmICh0eXBlb2YgcHJvcGVydHkgIT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHRzZXR0aW5nc1twcm9wZXJ0eU5hbWUgYXMga2V5b2YgUHJvcGVydGllc09mPHRoaXM+XSA9IHByb3BlcnR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRmb3IgKGNvbnN0IGFnZ3JlZ2F0aW9uTmFtZSBpbiBhZ2dyZWdhdGlvbnMpIHtcblx0XHRcdGNvbnN0IGFnZ3JlZ2F0aW9uQ29udGVudCA9IHRoaXMuZ2V0QWdncmVnYXRpb24oYWdncmVnYXRpb25OYW1lKTtcblx0XHRcdGlmIChBcnJheS5pc0FycmF5KGFnZ3JlZ2F0aW9uQ29udGVudCkpIHtcblx0XHRcdFx0Y29uc3QgY2hpbGRyZW5BcnJheSA9IFtdO1xuXHRcdFx0XHRmb3IgKGNvbnN0IG1hbmFnZWRPYmplY3Qgb2YgYWdncmVnYXRpb25Db250ZW50KSB7XG5cdFx0XHRcdFx0aWYgKG1hbmFnZWRPYmplY3QuaXNBPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4oXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKSkge1xuXHRcdFx0XHRcdFx0Y2hpbGRyZW5BcnJheS5wdXNoKG1hbmFnZWRPYmplY3QuZ2V0UHJvcGVydHlCYWcoKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZSBhcyBrZXlvZiBQcm9wZXJ0aWVzT2Y8dGhpcz5dID0gY2hpbGRyZW5BcnJheTtcblx0XHRcdH0gZWxzZSBpZiAoYWdncmVnYXRpb25Db250ZW50KSB7XG5cdFx0XHRcdGlmIChhZ2dyZWdhdGlvbkNvbnRlbnQuaXNBPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4oXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eVwiKSkge1xuXHRcdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZSBhcyBrZXlvZiBQcm9wZXJ0aWVzT2Y8dGhpcz5dID0gYWdncmVnYXRpb25Db250ZW50LmdldFByb3BlcnR5QmFnKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c2V0dGluZ3NbYWdncmVnYXRpb25OYW1lIGFzIGtleW9mIFByb3BlcnRpZXNPZjx0aGlzPl0gPSBhZ2dyZWdhdGlvbkNvbnRlbnQuZ2V0SWQoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc2V0dGluZ3M7XG5cdH1cblxuXHRzZXJpYWxpemUob3ZlcnJpZGVOb2RlTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0Y29uc3QgcHJvcGVydGllcyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxQcm9wZXJ0aWVzKCk7XG5cdFx0Y29uc3QgZXZlbnRzID0gdGhpcy5nZXRNZXRhZGF0YSgpLmdldEFsbEV2ZW50cygpO1xuXHRcdGNvbnN0IGFnZ3JlZ2F0aW9ucyA9IHRoaXMuZ2V0TWV0YWRhdGEoKS5nZXRBbGxBZ2dyZWdhdGlvbnMoKTtcblx0XHRjb25zdCBzZXR0aW5nczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gJiB7IGNoaWxkcmVuOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9ID0geyBjaGlsZHJlbjoge30gfTtcblx0XHRmb3IgKGNvbnN0IGV2ZW50TmFtZSBpbiBldmVudHMpIHtcblx0XHRcdHNldHRpbmdzW2V2ZW50TmFtZV0gPSBgVEhJUy5fZmlyZUV2ZW50KCRldmVudCwgJGNvbnRyb2xsZXIsICcke2V2ZW50TmFtZX0nKWA7XG5cdFx0fVxuXHRcdGZvciAoY29uc3QgcHJvcGVydHlOYW1lIGluIHByb3BlcnRpZXMpIHtcblx0XHRcdGNvbnN0IHByb3BlcnR5ID0gdGhpcy5nZXRQcm9wZXJ0eShwcm9wZXJ0eU5hbWUpO1xuXHRcdFx0aWYgKHR5cGVvZiBwcm9wZXJ0eSAhPT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRcdHNldHRpbmdzW3Byb3BlcnR5TmFtZV0gPSBwcm9wZXJ0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Zm9yIChjb25zdCBhZ2dyZWdhdGlvbk5hbWUgaW4gYWdncmVnYXRpb25zKSB7XG5cdFx0XHRjb25zdCBhZ2dyZWdhdGlvbkNvbnRlbnQgPSB0aGlzLmdldEFnZ3JlZ2F0aW9uKGFnZ3JlZ2F0aW9uTmFtZSk7XG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhZ2dyZWdhdGlvbkNvbnRlbnQpKSB7XG5cdFx0XHRcdGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBbXTtcblx0XHRcdFx0Zm9yIChjb25zdCBtYW5hZ2VkT2JqZWN0IG9mIGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRcdGlmIChtYW5hZ2VkT2JqZWN0LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRcdGNoaWxkcmVuQXJyYXkucHVzaChtYW5hZ2VkT2JqZWN0LnNlcmlhbGl6ZSgpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0c2V0dGluZ3MuY2hpbGRyZW5bYWdncmVnYXRpb25OYW1lXSA9IGNoaWxkcmVuQXJyYXk7XG5cdFx0XHR9IGVsc2UgaWYgKGFnZ3JlZ2F0aW9uQ29udGVudCkge1xuXHRcdFx0XHRpZiAoYWdncmVnYXRpb25Db250ZW50LmlzQTxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+KFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIikpIHtcblx0XHRcdFx0XHRzZXR0aW5ncy5jaGlsZHJlblthZ2dyZWdhdGlvbk5hbWVdID0gYWdncmVnYXRpb25Db250ZW50LnNlcmlhbGl6ZSgpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNldHRpbmdzW2FnZ3JlZ2F0aW9uTmFtZV0gPSBhZ2dyZWdhdGlvbkNvbnRlbnQuZ2V0SWQoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4ganN4WG1sPEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eT4oXG5cdFx0XHR0aGlzLmdldE1ldGFkYXRhKCkuZ2V0Q2xhc3MoKSBhcyB1bmtub3duIGFzIHR5cGVvZiBDb250cm9sLFxuXHRcdFx0c2V0dGluZ3MgYXMgTm9uQ29udHJvbFByb3BlcnRpZXM8QnVpbGRpbmdCbG9ja09iamVjdFByb3BlcnR5PiAmIHtcblx0XHRcdFx0a2V5Pzogc3RyaW5nO1xuXHRcdFx0XHRjaGlsZHJlbj86IFVJNUVsZW1lbnQgfCBDb250cm9sUHJvcGVydGllczxCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHk+O1xuXHRcdFx0fSxcblx0XHRcdHVuZGVmaW5lZCxcblx0XHRcdHt9LFxuXHRcdFx0b3ZlcnJpZGVOb2RlTmFtZVxuXHRcdCk7XG5cdH1cblxuXHRvdmVycmlkZSBiaW5kUHJvcGVydHkobmFtZTogc3RyaW5nLCBiaW5kaW5nSW5mbzogUHJvcGVydHlCaW5kaW5nSW5mbyk6IHRoaXMge1xuXHRcdGNvbnN0IHByb3BlcnR5TWV0YWRhdGEgPSB0aGlzLmdldE1ldGFkYXRhKCkuZ2V0UHJvcGVydHkobmFtZSk7XG5cdFx0aWYgKHByb3BlcnR5TWV0YWRhdGE/LmJpbmRhYmxlID09PSBmYWxzZSAmJiBwcm9wZXJ0eU1ldGFkYXRhLmdyb3VwID09PSBcIkRhdGFcIikge1xuXHRcdFx0KHRoaXMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW25hbWVdID0gYmluZGluZ0luZm87XG5cdFx0fSBlbHNlIHtcblx0XHRcdHN1cGVyLmJpbmRQcm9wZXJ0eShuYW1lLCBiaW5kaW5nSW5mbyk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztFQVNBO0FBQ0E7QUFDQTtBQUNBO0VBSEEsSUFLcUJBLDJCQUEyQixJ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
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
import BuildingBlockBase from "sap/fe/base/BuildingBlockBase";
|
|
1
2
|
import type { PropertiesOf } from "sap/fe/base/ClassSupport";
|
|
2
3
|
import { defineUI5Class } from "sap/fe/base/ClassSupport";
|
|
3
4
|
import type { ControlProperties, NonControlProperties } from "sap/fe/base/jsx-runtime/jsx";
|
|
4
5
|
import jsxXml from "sap/fe/base/jsx-runtime/jsx-xml";
|
|
5
6
|
import type { PropertyBindingInfo } from "sap/ui/base/ManagedObject";
|
|
6
7
|
import type Control from "sap/ui/core/Control";
|
|
7
|
-
import UI5Element from "sap/ui/core/Element";
|
|
8
|
+
import type UI5Element from "sap/ui/core/Element";
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Base class for building block complex object properties that can be serialized to XML.
|
|
11
12
|
* @public
|
|
12
13
|
*/
|
|
13
14
|
@defineUI5Class("sap.fe.macros.controls.BuildingBlockObjectProperty")
|
|
14
|
-
export default class BuildingBlockObjectProperty extends
|
|
15
|
+
export default class BuildingBlockObjectProperty extends BuildingBlockBase {
|
|
15
16
|
getPropertyBag(): PropertiesOf<this> {
|
|
16
17
|
const settings: PropertiesOf<this> = {} as PropertiesOf<this>;
|
|
17
18
|
const properties = this.getMetadata().getAllProperties();
|
|
@@ -164,10 +164,16 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
|
|
|
164
164
|
return view && view.getController();
|
|
165
165
|
};
|
|
166
166
|
_proto.getUploadUrl = function getUploadUrl() {
|
|
167
|
-
// set upload url as canonical url for NavigationProperties
|
|
168
|
-
// this is a workaround as some backends cannot resolve NavigationsProperties for stream types
|
|
169
167
|
const context = this.getBindingContext();
|
|
170
|
-
|
|
168
|
+
if (context && this.uploadUrl) {
|
|
169
|
+
// If the backend did not explicitly set AddressViaNavigationPath, we need to use the canonical path for upload
|
|
170
|
+
if (context.getModel().getMetaModel().getObject("/@com.sap.vocabularies.Common.v1.AddressViaNavigationPath") === true) {
|
|
171
|
+
return this.uploadUrl;
|
|
172
|
+
} else {
|
|
173
|
+
return this.uploadUrl.replace(context.getPath(), context.getCanonicalPath());
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return "";
|
|
171
177
|
};
|
|
172
178
|
_proto.setUIBusy = function setUIBusy(busy) {
|
|
173
179
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
@@ -200,7 +206,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
|
|
|
200
206
|
innerDivMinWidth = "3rem";
|
|
201
207
|
} else {
|
|
202
208
|
// Depending on display or edit mode we have to reserve some space for the file upload and delete button (2rem each + 1rem margin)
|
|
203
|
-
innerDivMaxWidth = CommonUtils.getIsEditable(fileWrapper) ? "calc(100% -
|
|
209
|
+
innerDivMaxWidth = CommonUtils.getIsEditable(fileWrapper) ? "calc(100% - 6rem)" : "100%";
|
|
204
210
|
innerDivMinWidth = "4.5rem";
|
|
205
211
|
}
|
|
206
212
|
renderManager.openStart("div", fileWrapper); // FileWrapper control div
|
|
@@ -309,4 +315,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/CommonUtils", "sap/fe/co
|
|
|
309
315
|
}), _class2)) || _class);
|
|
310
316
|
return FileWrapper;
|
|
311
317
|
}, false);
|
|
312
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWxlV3JhcHBlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9GaWVsZFdyYXBwZXIiLCJpZCIsInNldHRpbmdzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9kZXNjcmlwdG9yMTAiLCJfYnVzeSIsImF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlIiwib0VsZW1lbnQiLCJtQXJpYVByb3BzIiwib25CZWZvcmVSZW5kZXJpbmciLCJfc2V0QXJpYUxhYmVsbGVkQnkiLCJfc2V0QXJpYVJlcXVpcmVkIiwiX2FkZFNpZGVFZmZlY3RzIiwiX3JlZnJlc2hBdmF0YXIiLCJsaW5rIiwib1BhcmVudCIsImdldFBhcmVudCIsImxhYmVsbGVkYnkiLCJ1bmRlZmluZWQiLCJhZGRBcmlhTGFiZWxsZWRCeSIsImdldElkRm9yTGFiZWwiLCJvQ29udGVudCIsInRleHQiLCJhdmF0YXIiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiY29sbGFib3JhdGl2ZURyYWZ0IiwiZ2V0Q29udHJvbGxlciIsImlzQ29sbGFib3JhdGlvbkVuYWJsZWQiLCJhdmF0YXJCaW5kaW5nIiwiZ2V0QmluZGluZ0luZm8iLCJiaW5kaW5nIiwiYXR0YWNoRXZlbnQiLCJyZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nIiwidmlld0RhdGFGdWxsQ29udGV4dFBhdGgiLCJnZXRWaWV3RGF0YSIsImZ1bGxDb250ZXh0UGF0aCIsIm1ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibWV0YUNvbnRleHQiLCJnZXRDb250ZXh0IiwibWV0YVBhdGhDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJwcm9wZXJ0eVBhdGgiLCJkYXRhVmlld01vZGVsUGF0aCIsIk1ldGFNb2RlbENvbnZlcnRlciIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsInN0cmVhbVByb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwicmVxdWlyZWRFeHByZXNzaW9uIiwiVUlGb3JtYXR0ZXJzIiwiZ2V0UmVxdWlyZWRFeHByZXNzaW9uIiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJtZXRhTW9kZWxQYXRoIiwiZ2V0TWV0YVBhdGgiLCJ2aWV3Q29udGV4dCIsInNvdXJjZVBhdGgiLCJkYXRhIiwiZmllbGRQYXRoIiwicmVwbGFjZSIsInBhdGgiLCJwdXNoIiwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgiLCJmaWxlbmFtZSIsIm1lZGlhVHlwZSIsIl9nZXRTaWRlRWZmZWN0Q29udHJvbGxlciIsImFkZENvbnRyb2xTaWRlRWZmZWN0cyIsInRhcmdldEVudGl0eVR5cGUiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJzb3VyY2VQcm9wZXJ0aWVzIiwidGFyZ2V0RW50aXRpZXMiLCJzb3VyY2VDb250cm9sSWQiLCJnZXRJZCIsImNvbnRyb2xsZXIiLCJfZ2V0Vmlld0NvbnRyb2xsZXIiLCJfc2lkZUVmZmVjdHMiLCJnZXRVcGxvYWRVcmwiLCJjb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJ1cGxvYWRVcmwiLCJnZXRQYXRoIiwiZ2V0Q2Fub25pY2FsUGF0aCIsInNldFVJQnVzeSIsImJ1c3kiLCJ0aGF0IiwiYnVzeURpYWxvZyIsIkJ1c3lEaWFsb2ciLCJnZXRSZXNvdXJjZU1vZGVsIiwiZ2V0VGV4dCIsInNob3dDYW5jZWxCdXR0b24iLCJzZXRUaW1lb3V0Iiwib3BlbiIsImNsb3NlIiwiZ2V0VUlCdXN5IiwicmVuZGVyIiwicmVuZGVyTWFuYWdlciIsImZpbGVXcmFwcGVyIiwiaW5uZXJEaXZNYXhXaWR0aCIsImlubmVyRGl2TWluV2lkdGgiLCJnZXRJc0VkaXRhYmxlIiwib3BlblN0YXJ0Iiwic3R5bGUiLCJ3aWR0aCIsIm9wZW5FbmQiLCJyZW5kZXJDb250cm9sIiwiaWNvbiIsImZpbGVVcGxvYWRlciIsImRlbGV0ZUJ1dHRvbiIsImRlc3Ryb3kiLCJiU3VwcHJlc3NJbnZhbGlkYXRlIiwib1NpZGVFZmZlY3RzIiwicmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzIiwiRmllbGRXcmFwcGVyIiwiYXBwbHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpbGVXcmFwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9TaWRlRWZmZWN0c1wiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgU2lkZUVmZmVjdHNFbnRpdHlUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1NpZGVFZmZlY3RzU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCAqIGFzIFVJRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcbmltcG9ydCB0eXBlIEF2YXRhciBmcm9tIFwic2FwL20vQXZhdGFyXCI7XG5pbXBvcnQgQnVzeURpYWxvZyBmcm9tIFwic2FwL20vQnVzeURpYWxvZ1wiO1xuaW1wb3J0IHR5cGUgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCB0eXBlIFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBJY29uIGZyb20gXCJzYXAvdWkvY29yZS9JY29uXCI7XG5pbXBvcnQgdHlwZSBSZW5kZXJNYW5hZ2VyIGZyb20gXCJzYXAvdWkvY29yZS9SZW5kZXJNYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7IFVSSSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgRmlsZVVwbG9hZGVyIGZyb20gXCJzYXAvdWkvdW5pZmllZC9GaWxlVXBsb2FkZXJcIjtcbmltcG9ydCBGaWVsZFdyYXBwZXIgZnJvbSBcIi4vRmllbGRXcmFwcGVyXCI7XG50eXBlIENvbnRyb2xXaXRoQWNjZXNzaWJpbGl0eSA9IENvbnRyb2wgJiB7IGFkZEFyaWFMYWJlbGxlZEJ5PzogKGlkOiBzdHJpbmcpID0+IHZvaWQgfTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5GaWxlV3JhcHBlclwiKVxuY2xhc3MgRmlsZVdyYXBwZXIgZXh0ZW5kcyBGaWVsZFdyYXBwZXIge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC51aS5jb3JlLlVSSVwiIH0pXG5cdHVwbG9hZFVybCE6IFVSSTtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHByb3BlcnR5UGF0aCE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpbGVuYW1lITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVkaWFUeXBlITogc3RyaW5nO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQXZhdGFyXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRhdmF0YXI6IEF2YXRhciB8IHVuZGVmaW5lZDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkljb25cIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGljb24hOiBJY29uO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uTGlua1wiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0bGluayE6IExpbms7XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5UZXh0XCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHR0ZXh0ITogVGV4dDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS51bmlmaWVkLkZpbGVVcGxvYWRlclwiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0ZmlsZVVwbG9hZGVyITogRmlsZVVwbG9hZGVyO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQnV0dG9uXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRkZWxldGVCdXR0b24hOiBCdXR0b247XG5cblx0cHJpdmF0ZSByZXF1aXJlZEV4cHJlc3Npb24/OiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBfZmlsZVVwbG9hZGVyTWFuZGF0b3J5PzogQ29udHJvbDtcblxuXHRwcml2YXRlIF9idXN5ID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBhdmF0YXJDYWNoZUJ1c3RpbmdJbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgYnVzeURpYWxvZz86IEJ1c3lEaWFsb2c7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0aWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQgfCAoUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3MpLFxuXHRcdHNldHRpbmdzPzogUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3Ncblx0KSB7XG5cdFx0c3VwZXIoaWQgYXMgc3RyaW5nLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKG9FbGVtZW50OiBvYmplY3QsIG1BcmlhUHJvcHM6IG9iamVjdCk6IG9iamVjdCB7XG5cdFx0Ly8gV2UgZG8gbm90IHdhbnQgdG8gcGFzcyBhcmlhLWxhYmVsbGVkYnkgdG8gYWxsIGNoaWxkIGNvbnRyb2xzLCBvbmx5IHVzZSBpdCBvbmNlIGFzIGEgbGFiZWwgb24gdGhlIHdyYXBwZXIgd2l0aCByb2xlIGdyb3VwLlxuXHRcdHJldHVybiBtQXJpYVByb3BzO1xuXHR9XG5cblx0b25CZWZvcmVSZW5kZXJpbmcoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0QXJpYUxhYmVsbGVkQnkoKTtcblx0XHR0aGlzLl9zZXRBcmlhUmVxdWlyZWQoKTtcblx0XHR0aGlzLl9hZGRTaWRlRWZmZWN0cygpO1xuXHRcdHRoaXMuX3JlZnJlc2hBdmF0YXIoKTtcblx0fVxuXG5cdF9zZXRBcmlhTGFiZWxsZWRCeSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5saW5rKSB7XG5cdFx0XHRjb25zdCBvUGFyZW50ID0gdGhpcy5nZXRQYXJlbnQoKTtcblx0XHRcdGNvbnN0IG1BcmlhUHJvcHM6IHsgbGFiZWxsZWRieTogdW5kZWZpbmVkIHwgc3RyaW5nIH0gPSB7IGxhYmVsbGVkYnk6IHVuZGVmaW5lZCB9O1xuXG5cdFx0XHRpZiAob1BhcmVudCAmJiAob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlPzogRnVuY3Rpb24gfSkuZW5oYW5jZUFjY2Vzc2liaWxpdHlTdGF0ZSkge1xuXHRcdFx0XHQob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlOiBGdW5jdGlvbiB9KS5lbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKHRoaXMubGluaywgbUFyaWFQcm9wcyk7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChtQXJpYVByb3BzLmxhYmVsbGVkYnkpIHtcblx0XHRcdFx0KHRoaXMgYXMgQ29udHJvbFdpdGhBY2Nlc3NpYmlsaXR5KS5hZGRBcmlhTGFiZWxsZWRCeSEobUFyaWFQcm9wcy5sYWJlbGxlZGJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgRE9NTm9kZSBJRCB0byBiZSB1c2VkIGZvciB0aGUgXCJsYWJlbEZvclwiIGF0dHJpYnV0ZS5cblx0ICpcblx0ICogV2UgZm9yd2FyZCB0aGUgY2FsbCBvZiB0aGlzIG1ldGhvZCB0byB0aGUgY29udGVudCBjb250cm9sLlxuXHQgKiBAcmV0dXJucyBJRCB0byBiZSB1c2VkIGZvciB0aGUgPGNvZGU+bGFiZWxGb3I8L2NvZGU+XG5cdCAqL1xuXHRnZXRJZEZvckxhYmVsKCk6IHN0cmluZyB7XG5cdFx0Ly8gV2UgZWl0aGVyIGhhdmUgYSBsaW5rIHRvIGRvd25sb2FkIHRoZSBmaWxlLCBhIHRleHQgaW5kaWNhdGluZyBhbiBlbXB0eSBmaWxlLCBvciBhbiBhdmF0YXIgYW5kIG5vIGxpbmsgb3IgdGV4dFxuXHRcdGNvbnN0IG9Db250ZW50ID0gdGhpcy5saW5rIHx8IHRoaXMudGV4dCB8fCB0aGlzLmF2YXRhcjtcblx0XHRyZXR1cm4gKG9Db250ZW50IGFzIENvbnRyb2wpLmdldElkRm9yTGFiZWwoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJZiBpbiB0aGUgY29sbGFib3JhdGl2ZSBkcmFmdCwgc2VuZCBhIHJlcXVlc3QgdG8gcmVsb2FkIHRoZSBmaWxlLlxuXHQgKi9cblx0X3JlZnJlc2hBdmF0YXIoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyBhcyBDb250cm9sKTtcblx0XHRjb25zdCBjb2xsYWJvcmF0aXZlRHJhZnQgPSB2aWV3LmdldENvbnRyb2xsZXIoKS5jb2xsYWJvcmF0aXZlRHJhZnQ7XG5cdFx0aWYgKGNvbGxhYm9yYXRpdmVEcmFmdC5pc0NvbGxhYm9yYXRpb25FbmFibGVkKCkpIHtcblx0XHRcdGNvbnN0IGF2YXRhckJpbmRpbmcgPSB0aGlzLmF2YXRhcj8uZ2V0QmluZGluZ0luZm8oXCJzcmNcIikuYmluZGluZztcblx0XHRcdGlmIChhdmF0YXJCaW5kaW5nICYmICF0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkKSB7XG5cdFx0XHRcdGF2YXRhckJpbmRpbmcuYXR0YWNoRXZlbnQoXCJjaGFuZ2VcIiwgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuYXZhdGFyPy5yZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRfc2V0QXJpYVJlcXVpcmVkKCk6IHZvaWQge1xuXHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMgYXMgQ29udHJvbCksXG5cdFx0XHR2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCA9IHZpZXcuZ2V0Vmlld0RhdGEoKS5mdWxsQ29udGV4dFBhdGgsXG5cdFx0XHRtZXRhTW9kZWwgPSB2aWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRtZXRhQ29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdG1ldGFQYXRoQ29udGV4dCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCh0aGlzLnByb3BlcnR5UGF0aCwgbWV0YUNvbnRleHQpLFxuXHRcdFx0ZGF0YVZpZXdNb2RlbFBhdGggPSBNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFQYXRoQ29udGV4dCwgbWV0YUNvbnRleHQpO1xuXG5cdFx0Y29uc3Qgc3RyZWFtUHJvcGVydHkgPSBkYXRhVmlld01vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdFx0dGhpcy5yZXF1aXJlZEV4cHJlc3Npb24gPSBVSUZvcm1hdHRlcnMuZ2V0UmVxdWlyZWRFeHByZXNzaW9uKFxuXHRcdFx0c3RyZWFtUHJvcGVydHksXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRmYWxzZSxcblx0XHRcdGZhbHNlLFxuXHRcdFx0e30sXG5cdFx0XHRkYXRhVmlld01vZGVsUGF0aFxuXHRcdCkgYXMgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG5cdH1cblxuXHRfYWRkU2lkZUVmZmVjdHMoKTogdm9pZCB7XG5cdFx0Ly8gYWRkIGNvbnRyb2wgU2lkZUVmZmVjdHMgZm9yIHN0cmVhbSBjb250ZW50LCBmaWxlbmFtZSBhbmQgbWVkaWF0eXBlXG5cdFx0Y29uc3QgbmF2aWdhdGlvblByb3BlcnRpZXM6IFNpZGVFZmZlY3RzRW50aXR5VHlwZVtdID0gW10sXG5cdFx0XHR2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpLFxuXHRcdFx0dmlld0RhdGFGdWxsQ29udGV4dFBhdGggPSB2aWV3LmdldFZpZXdEYXRhKCkuZnVsbENvbnRleHRQYXRoLFxuXHRcdFx0bWV0YU1vZGVsID0gdmlldy5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0bWV0YU1vZGVsUGF0aCA9IG1ldGFNb2RlbC5nZXRNZXRhUGF0aCh2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCksXG5cdFx0XHR2aWV3Q29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdGRhdGFWaWV3TW9kZWxQYXRoID0gTWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyh2aWV3Q29udGV4dCksXG5cdFx0XHRzb3VyY2VQYXRoID0gdGhpcy5kYXRhKFwic291cmNlUGF0aFwiKSBhcyBzdHJpbmcsXG5cdFx0XHRmaWVsZFBhdGggPSBzb3VyY2VQYXRoLnJlcGxhY2UoYCR7bWV0YU1vZGVsUGF0aH1gLCBcIlwiKSxcblx0XHRcdHBhdGggPSBmaWVsZFBhdGgucmVwbGFjZSh0aGlzLnByb3BlcnR5UGF0aCwgXCJcIik7XG5cblx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IGZpZWxkUGF0aCB9KTtcblx0XHRpZiAodGhpcy5maWxlbmFtZSkge1xuXHRcdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaCh7ICROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBwYXRoICsgdGhpcy5maWxlbmFtZSB9KTtcblx0XHR9XG5cdFx0aWYgKHRoaXMubWVkaWFUeXBlKSB7XG5cdFx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHBhdGggKyB0aGlzLm1lZGlhVHlwZSB9KTtcblx0XHR9XG5cdFx0dGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKT8uYWRkQ29udHJvbFNpZGVFZmZlY3RzKGRhdGFWaWV3TW9kZWxQYXRoLnRhcmdldEVudGl0eVR5cGUuZnVsbHlRdWFsaWZpZWROYW1lLCB7XG5cdFx0XHRzb3VyY2VQcm9wZXJ0aWVzOiBbZmllbGRQYXRoXSxcblx0XHRcdHRhcmdldEVudGl0aWVzOiBuYXZpZ2F0aW9uUHJvcGVydGllcyxcblx0XHRcdHNvdXJjZUNvbnRyb2xJZDogdGhpcy5nZXRJZCgpXG5cdFx0fSk7XG5cdH1cblxuXHRfZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKTogU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBjb250cm9sbGVyID0gdGhpcy5fZ2V0Vmlld0NvbnRyb2xsZXIoKSBhcyBQYWdlQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcblx0XHRyZXR1cm4gY29udHJvbGxlciA/IGNvbnRyb2xsZXIuX3NpZGVFZmZlY3RzIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFZpZXdDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHtcblx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpO1xuXHRcdHJldHVybiB2aWV3ICYmIHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHR9XG5cblx0Z2V0VXBsb2FkVXJsKCk6IHN0cmluZyB7XG5cdFx0Ly8gc2V0IHVwbG9hZCB1cmwgYXMgY2Fub25pY2FsIHVybCBmb3IgTmF2aWdhdGlvblByb3BlcnRpZXNcblx0XHQvLyB0aGlzIGlzIGEgd29ya2Fyb3VuZCBhcyBzb21lIGJhY2tlbmRzIGNhbm5vdCByZXNvbHZlIE5hdmlnYXRpb25zUHJvcGVydGllcyBmb3Igc3RyZWFtIHR5cGVzXG5cdFx0Y29uc3QgY29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdHJldHVybiBjb250ZXh0ICYmIHRoaXMudXBsb2FkVXJsID8gdGhpcy51cGxvYWRVcmwucmVwbGFjZShjb250ZXh0LmdldFBhdGgoKSwgY29udGV4dC5nZXRDYW5vbmljYWxQYXRoKCkpIDogXCJcIjtcblx0fVxuXG5cdHNldFVJQnVzeShidXN5OiBib29sZWFuKTogdm9pZCB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0dGhpcy5fYnVzeSA9IGJ1c3k7XG5cdFx0aWYgKGJ1c3kpIHtcblx0XHRcdGlmICghdGhpcy5idXN5RGlhbG9nKSB7XG5cdFx0XHRcdHRoaXMuYnVzeURpYWxvZyA9IG5ldyBCdXN5RGlhbG9nKHtcblx0XHRcdFx0XHR0ZXh0OiBnZXRSZXNvdXJjZU1vZGVsKHRoaXMpLmdldFRleHQoXCJNX0ZJTEVXUkFQUEVSX0JVU1lfRElBTE9HX1RJVExFXCIpLFxuXHRcdFx0XHRcdHNob3dDYW5jZWxCdXR0b246IGZhbHNlXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdGlmICh0aGF0Ll9idXN5KSB7XG5cdFx0XHRcdFx0dGhhdC5idXN5RGlhbG9nPy5vcGVuKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sIDEwMDApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmJ1c3lEaWFsb2c/LmNsb3NlKGZhbHNlKTtcblx0XHR9XG5cdH1cblxuXHRnZXRVSUJ1c3koKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuX2J1c3k7XG5cdH1cblxuXHRzdGF0aWMgcmVuZGVyKHJlbmRlck1hbmFnZXI6IFJlbmRlck1hbmFnZXIsIGZpbGVXcmFwcGVyOiBGaWxlV3JhcHBlcik6IHZvaWQge1xuXHRcdGxldCBpbm5lckRpdk1heFdpZHRoLCBpbm5lckRpdk1pbldpZHRoO1xuXHRcdGlmIChmaWxlV3JhcHBlci5hdmF0YXIpIHtcblx0XHRcdC8vIFRoZSBhdmF0YXIgaGFzIGEgZml4ZWQgd2lkdGggKDNyZW0pIHRoZXJlZm9yZSB0aGUgaW5uZXIgZGl2IGNhbiBoYXZlIGEgbG93ZXIgbWluIHdpZHRoIHRoYW4gaWNvbiBhbmQgbGlua1xuXHRcdFx0aW5uZXJEaXZNYXhXaWR0aCA9IFwiMTAwJVwiO1xuXHRcdFx0aW5uZXJEaXZNaW5XaWR0aCA9IFwiM3JlbVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBEZXBlbmRpbmcgb24gZGlzcGxheSBvciBlZGl0IG1vZGUgd2UgaGF2ZSB0byByZXNlcnZlIHNvbWUgc3BhY2UgZm9yIHRoZSBmaWxlIHVwbG9hZCBhbmQgZGVsZXRlIGJ1dHRvbiAoMnJlbSBlYWNoICsgMXJlbSBtYXJnaW4pXG5cdFx0XHRpbm5lckRpdk1heFdpZHRoID0gQ29tbW9uVXRpbHMuZ2V0SXNFZGl0YWJsZShmaWxlV3JhcHBlciBhcyB1bmtub3duIGFzIE1hbmFnZWRPYmplY3QpID8gXCJjYWxjKDEwMCUgLSA1cmVtKVwiIDogXCIxMDAlXCI7XG5cdFx0XHRpbm5lckRpdk1pbldpZHRoID0gXCI0LjVyZW1cIjtcblx0XHR9XG5cblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiLCBmaWxlV3JhcHBlcik7IC8vIEZpbGVXcmFwcGVyIGNvbnRyb2wgZGl2XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcIndpZHRoXCIsIGZpbGVXcmFwcGVyLndpZHRoKTtcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5FbmQoKTtcblxuXHRcdC8vIE91dGVyIEJveFxuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIpOyAvLyBkaXYgZm9yIGFsbCBjb250cm9sc1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJkaXNwbGF5XCIsIFwiZmxleFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYm94LXNpemluZ1wiLCBcImJvcmRlci1ib3hcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImp1c3RpZnktY29udGVudFwiLCBcInNwYWNlLWJldHdlZW5cIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWl0ZW1zXCIsIFwiY2VudGVyXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJmbGV4LXdyYXBcIiwgXCJ3cmFwXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1jb250ZW50XCIsIFwic3RyZXRjaFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwid2lkdGhcIiwgXCIxMDAlXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXG5cdFx0Ly8gRGlzcGxheSBNb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSBtb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImRpc3BsYXlcIiwgXCJmbGV4XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1pdGVtc1wiLCBcImNlbnRlclwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwibWF4LXdpZHRoXCIsIGlubmVyRGl2TWF4V2lkdGgpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJtaW4td2lkdGhcIiwgaW5uZXJEaXZNaW5XaWR0aCk7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cblx0XHRpZiAoZmlsZVdyYXBwZXIuYXZhdGFyKSB7XG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuYXZhdGFyKTsgLy8gcmVuZGVyIHRoZSBBdmF0YXIgQ29udHJvbFxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuaWNvbik7IC8vIHJlbmRlciB0aGUgSWNvbiBDb250cm9sXG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIubGluayk7IC8vIHJlbmRlciB0aGUgTGluayBDb250cm9sXG5cdFx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIudGV4dCk7IC8vIHJlbmRlciB0aGUgVGV4dCBDb250cm9sIGZvciBlbXB0eSBmaWxlIGluZGljYXRpb25cblx0XHR9XG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5IG1vZGVcblxuXHRcdC8vIEFkZGl0aW9uYWwgY29udGVudCBmb3IgRWRpdCBNb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSArIEVkaXQgbW9kZVxuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJkaXNwbGF5XCIsIFwiZmxleFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24taXRlbXNcIiwgXCJjZW50ZXJcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cdFx0cmVuZGVyTWFuYWdlci5yZW5kZXJDb250cm9sKGZpbGVXcmFwcGVyLmZpbGVVcGxvYWRlcik7IC8vIHJlbmRlciB0aGUgRmlsZVVwbG9hZGVyIENvbnRyb2xcblx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuZGVsZXRlQnV0dG9uKTsgLy8gcmVuZGVyIHRoZSBEZWxldGUgQnV0dG9uIENvbnRyb2xcblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgKyBFZGl0IG1vZGVcblxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGRpdiBmb3IgYWxsIGNvbnRyb2xzXG5cblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBlbmQgb2YgdGhlIGNvbXBsZXRlIENvbnRyb2xcblx0fVxuXG5cdGRlc3Ryb3koYlN1cHByZXNzSW52YWxpZGF0ZTogYm9vbGVhbik6IHZvaWQge1xuXHRcdGNvbnN0IG9TaWRlRWZmZWN0cyA9IHRoaXMuX2dldFNpZGVFZmZlY3RDb250cm9sbGVyKCk7XG5cdFx0aWYgKG9TaWRlRWZmZWN0cykge1xuXHRcdFx0b1NpZGVFZmZlY3RzLnJlbW92ZUNvbnRyb2xTaWRlRWZmZWN0cyh0aGlzKTtcblx0XHR9XG5cdFx0ZGVsZXRlIHRoaXMuYnVzeURpYWxvZztcblx0XHRGaWVsZFdyYXBwZXIucHJvdG90eXBlLmRlc3Ryb3kuYXBwbHkodGhpcywgW2JTdXBwcmVzc0ludmFsaWRhdGVdKTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBGaWxlV3JhcHBlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7TUE0Qk1BLFdBQVcsSUFBQUMsSUFBQSxHQURoQkMsY0FBYyxDQUFDLG9DQUFvQyxDQUFDLEVBQUFDLEtBQUEsR0FFbkRDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBa0IsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHckNGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQUc1QkgsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBRzVCSixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFJLEtBQUEsR0FHNUJDLFdBQVcsQ0FBQztJQUFFTCxJ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QUFBaEksWUFBQSxHQUFBNEgseUJBQUEsQ0FBQXBJLE9BQUEsQ0FBQXFCLFNBQUEsbUJBQUFqQyxLQUFBO0lBQUFpSixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQS9ILFlBQUEsR0FBQTJILHlCQUFBLENBQUFwSSxPQUFBLENBQUFxQixTQUFBLGVBQUFoQyxLQUFBO0lBQUFnSixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTlILFlBQUEsR0FBQTBILHlCQUFBLENBQUFwSSxPQUFBLENBQUFxQixTQUFBLGdCQUFBL0IsS0FBQTtJQUFBK0ksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE3SCxZQUFBLEdBQUF5SCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxhQUFBOUIsS0FBQTtJQUFBOEksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE1SCxZQUFBLEdBQUF3SCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxXQUFBM0IsS0FBQTtJQUFBMkksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUEzSCxZQUFBLEdBQUF1SCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxXQUFBMUIsS0FBQTtJQUFBMEksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUExSCxZQUFBLEdBQUFzSCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxXQUFBekIsS0FBQTtJQUFBeUksWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUF6SCxZQUFBLEdBQUFxSCx5QkFBQSxDQUFBcEksT0FBQSxDQUFBcUIsU0FBQSxtQkFBQXhCLE1BQUE7SUFBQXdJLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBeEgsYUFBQSxHQUFBb0gseUJBQUEsQ0FBQXBJLE9BQUEsQ0FBQXFCLFNBQUEsbUJBQUF2QixNQUFBO0lBQUF1SSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQXhJLE9BQUEsTUFBQUQsTUFBQTtFQUFBLE9Bb1F2QmpCLFdBQVc7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
318
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWxlV3JhcHBlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJhZ2dyZWdhdGlvbiIsIm11bHRpcGxlIiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9GaWVsZFdyYXBwZXIiLCJpZCIsInNldHRpbmdzIiwiX3RoaXMiLCJjYWxsIiwiX2luaXRpYWxpemVyRGVmaW5lUHJvcGVydHkiLCJfZGVzY3JpcHRvciIsIl9kZXNjcmlwdG9yMiIsIl9kZXNjcmlwdG9yMyIsIl9kZXNjcmlwdG9yNCIsIl9kZXNjcmlwdG9yNSIsIl9kZXNjcmlwdG9yNiIsIl9kZXNjcmlwdG9yNyIsIl9kZXNjcmlwdG9yOCIsIl9kZXNjcmlwdG9yOSIsIl9kZXNjcmlwdG9yMTAiLCJfYnVzeSIsImF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlIiwib0VsZW1lbnQiLCJtQXJpYVByb3BzIiwib25CZWZvcmVSZW5kZXJpbmciLCJfc2V0QXJpYUxhYmVsbGVkQnkiLCJfc2V0QXJpYVJlcXVpcmVkIiwiX2FkZFNpZGVFZmZlY3RzIiwiX3JlZnJlc2hBdmF0YXIiLCJsaW5rIiwib1BhcmVudCIsImdldFBhcmVudCIsImxhYmVsbGVkYnkiLCJ1bmRlZmluZWQiLCJhZGRBcmlhTGFiZWxsZWRCeSIsImdldElkRm9yTGFiZWwiLCJvQ29udGVudCIsInRleHQiLCJhdmF0YXIiLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiY29sbGFib3JhdGl2ZURyYWZ0IiwiZ2V0Q29udHJvbGxlciIsImlzQ29sbGFib3JhdGlvbkVuYWJsZWQiLCJhdmF0YXJCaW5kaW5nIiwiZ2V0QmluZGluZ0luZm8iLCJiaW5kaW5nIiwiYXR0YWNoRXZlbnQiLCJyZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nIiwidmlld0RhdGFGdWxsQ29udGV4dFBhdGgiLCJnZXRWaWV3RGF0YSIsImZ1bGxDb250ZXh0UGF0aCIsIm1ldGFNb2RlbCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibWV0YUNvbnRleHQiLCJnZXRDb250ZXh0IiwibWV0YVBhdGhDb250ZXh0IiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJwcm9wZXJ0eVBhdGgiLCJkYXRhVmlld01vZGVsUGF0aCIsIk1ldGFNb2RlbENvbnZlcnRlciIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsInN0cmVhbVByb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwicmVxdWlyZWRFeHByZXNzaW9uIiwiVUlGb3JtYXR0ZXJzIiwiZ2V0UmVxdWlyZWRFeHByZXNzaW9uIiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJtZXRhTW9kZWxQYXRoIiwiZ2V0TWV0YVBhdGgiLCJ2aWV3Q29udGV4dCIsInNvdXJjZVBhdGgiLCJkYXRhIiwiZmllbGRQYXRoIiwicmVwbGFjZSIsInBhdGgiLCJwdXNoIiwiJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGgiLCJmaWxlbmFtZSIsIm1lZGlhVHlwZSIsIl9nZXRTaWRlRWZmZWN0Q29udHJvbGxlciIsImFkZENvbnRyb2xTaWRlRWZmZWN0cyIsInRhcmdldEVudGl0eVR5cGUiLCJmdWxseVF1YWxpZmllZE5hbWUiLCJzb3VyY2VQcm9wZXJ0aWVzIiwidGFyZ2V0RW50aXRpZXMiLCJzb3VyY2VDb250cm9sSWQiLCJnZXRJZCIsImNvbnRyb2xsZXIiLCJfZ2V0Vmlld0NvbnRyb2xsZXIiLCJfc2lkZUVmZmVjdHMiLCJnZXRVcGxvYWRVcmwiLCJjb250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJ1cGxvYWRVcmwiLCJnZXRPYmplY3QiLCJnZXRQYXRoIiwiZ2V0Q2Fub25pY2FsUGF0aCIsInNldFVJQnVzeSIsImJ1c3kiLCJ0aGF0IiwiYnVzeURpYWxvZyIsIkJ1c3lEaWFsb2ciLCJnZXRSZXNvdXJjZU1vZGVsIiwiZ2V0VGV4dCIsInNob3dDYW5jZWxCdXR0b24iLCJzZXRUaW1lb3V0Iiwib3BlbiIsImNsb3NlIiwiZ2V0VUlCdXN5IiwicmVuZGVyIiwicmVuZGVyTWFuYWdlciIsImZpbGVXcmFwcGVyIiwiaW5uZXJEaXZNYXhXaWR0aCIsImlubmVyRGl2TWluV2lkdGgiLCJnZXRJc0VkaXRhYmxlIiwib3BlblN0YXJ0Iiwic3R5bGUiLCJ3aWR0aCIsIm9wZW5FbmQiLCJyZW5kZXJDb250cm9sIiwiaWNvbiIsImZpbGVVcGxvYWRlciIsImRlbGV0ZUJ1dHRvbiIsImRlc3Ryb3kiLCJiU3VwcHJlc3NJbnZhbGlkYXRlIiwib1NpZGVFZmZlY3RzIiwicmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzIiwiRmllbGRXcmFwcGVyIiwiYXBwbHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpbGVXcmFwcGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9TaWRlRWZmZWN0c1wiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgU2lkZUVmZmVjdHNFbnRpdHlUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3NlcnZpY2VzL1NpZGVFZmZlY3RzU2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCAqIGFzIFVJRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcbmltcG9ydCB0eXBlIEF2YXRhciBmcm9tIFwic2FwL20vQXZhdGFyXCI7XG5pbXBvcnQgQnVzeURpYWxvZyBmcm9tIFwic2FwL20vQnVzeURpYWxvZ1wiO1xuaW1wb3J0IHR5cGUgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIExpbmsgZnJvbSBcInNhcC9tL0xpbmtcIjtcbmltcG9ydCB0eXBlIFRleHQgZnJvbSBcInNhcC9tL1RleHRcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBJY29uIGZyb20gXCJzYXAvdWkvY29yZS9JY29uXCI7XG5pbXBvcnQgdHlwZSBSZW5kZXJNYW5hZ2VyIGZyb20gXCJzYXAvdWkvY29yZS9SZW5kZXJNYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7IFVSSSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgRmlsZVVwbG9hZGVyIGZyb20gXCJzYXAvdWkvdW5pZmllZC9GaWxlVXBsb2FkZXJcIjtcbmltcG9ydCBGaWVsZFdyYXBwZXIgZnJvbSBcIi4vRmllbGRXcmFwcGVyXCI7XG50eXBlIENvbnRyb2xXaXRoQWNjZXNzaWJpbGl0eSA9IENvbnRyb2wgJiB7IGFkZEFyaWFMYWJlbGxlZEJ5PzogKGlkOiBzdHJpbmcpID0+IHZvaWQgfTtcblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5GaWxlV3JhcHBlclwiKVxuY2xhc3MgRmlsZVdyYXBwZXIgZXh0ZW5kcyBGaWVsZFdyYXBwZXIge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInNhcC51aS5jb3JlLlVSSVwiIH0pXG5cdHVwbG9hZFVybCE6IFVSSTtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHByb3BlcnR5UGF0aCE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpbGVuYW1lITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVkaWFUeXBlITogc3RyaW5nO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQXZhdGFyXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRhdmF0YXI6IEF2YXRhciB8IHVuZGVmaW5lZDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkljb25cIiwgbXVsdGlwbGU6IGZhbHNlIH0pXG5cdGljb24hOiBJY29uO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uTGlua1wiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0bGluayE6IExpbms7XG5cblx0QGFnZ3JlZ2F0aW9uKHsgdHlwZTogXCJzYXAubS5UZXh0XCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHR0ZXh0ITogVGV4dDtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS51bmlmaWVkLkZpbGVVcGxvYWRlclwiLCBtdWx0aXBsZTogZmFsc2UgfSlcblx0ZmlsZVVwbG9hZGVyITogRmlsZVVwbG9hZGVyO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uQnV0dG9uXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRkZWxldGVCdXR0b24hOiBCdXR0b247XG5cblx0cHJpdmF0ZSByZXF1aXJlZEV4cHJlc3Npb24/OiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBfZmlsZVVwbG9hZGVyTWFuZGF0b3J5PzogQ29udHJvbDtcblxuXHRwcml2YXRlIF9idXN5ID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBhdmF0YXJDYWNoZUJ1c3RpbmdJbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgYnVzeURpYWxvZz86IEJ1c3lEaWFsb2c7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0aWQ/OiBzdHJpbmcgfCB1bmRlZmluZWQgfCAoUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3MpLFxuXHRcdHNldHRpbmdzPzogUHJvcGVydGllc09mPEZpbGVXcmFwcGVyPiAmICRDb250cm9sU2V0dGluZ3Ncblx0KSB7XG5cdFx0c3VwZXIoaWQgYXMgc3RyaW5nLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKG9FbGVtZW50OiBvYmplY3QsIG1BcmlhUHJvcHM6IG9iamVjdCk6IG9iamVjdCB7XG5cdFx0Ly8gV2UgZG8gbm90IHdhbnQgdG8gcGFzcyBhcmlhLWxhYmVsbGVkYnkgdG8gYWxsIGNoaWxkIGNvbnRyb2xzLCBvbmx5IHVzZSBpdCBvbmNlIGFzIGEgbGFiZWwgb24gdGhlIHdyYXBwZXIgd2l0aCByb2xlIGdyb3VwLlxuXHRcdHJldHVybiBtQXJpYVByb3BzO1xuXHR9XG5cblx0b25CZWZvcmVSZW5kZXJpbmcoKTogdm9pZCB7XG5cdFx0dGhpcy5fc2V0QXJpYUxhYmVsbGVkQnkoKTtcblx0XHR0aGlzLl9zZXRBcmlhUmVxdWlyZWQoKTtcblx0XHR0aGlzLl9hZGRTaWRlRWZmZWN0cygpO1xuXHRcdHRoaXMuX3JlZnJlc2hBdmF0YXIoKTtcblx0fVxuXG5cdF9zZXRBcmlhTGFiZWxsZWRCeSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5saW5rKSB7XG5cdFx0XHRjb25zdCBvUGFyZW50ID0gdGhpcy5nZXRQYXJlbnQoKTtcblx0XHRcdGNvbnN0IG1BcmlhUHJvcHM6IHsgbGFiZWxsZWRieTogdW5kZWZpbmVkIHwgc3RyaW5nIH0gPSB7IGxhYmVsbGVkYnk6IHVuZGVmaW5lZCB9O1xuXG5cdFx0XHRpZiAob1BhcmVudCAmJiAob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlPzogRnVuY3Rpb24gfSkuZW5oYW5jZUFjY2Vzc2liaWxpdHlTdGF0ZSkge1xuXHRcdFx0XHQob1BhcmVudCBhcyBNYW5hZ2VkT2JqZWN0ICYgeyBlbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlOiBGdW5jdGlvbiB9KS5lbmhhbmNlQWNjZXNzaWJpbGl0eVN0YXRlKHRoaXMubGluaywgbUFyaWFQcm9wcyk7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChtQXJpYVByb3BzLmxhYmVsbGVkYnkpIHtcblx0XHRcdFx0KHRoaXMgYXMgQ29udHJvbFdpdGhBY2Nlc3NpYmlsaXR5KS5hZGRBcmlhTGFiZWxsZWRCeSEobUFyaWFQcm9wcy5sYWJlbGxlZGJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgRE9NTm9kZSBJRCB0byBiZSB1c2VkIGZvciB0aGUgXCJsYWJlbEZvclwiIGF0dHJpYnV0ZS5cblx0ICpcblx0ICogV2UgZm9yd2FyZCB0aGUgY2FsbCBvZiB0aGlzIG1ldGhvZCB0byB0aGUgY29udGVudCBjb250cm9sLlxuXHQgKiBAcmV0dXJucyBJRCB0byBiZSB1c2VkIGZvciB0aGUgPGNvZGU+bGFiZWxGb3I8L2NvZGU+XG5cdCAqL1xuXHRnZXRJZEZvckxhYmVsKCk6IHN0cmluZyB7XG5cdFx0Ly8gV2UgZWl0aGVyIGhhdmUgYSBsaW5rIHRvIGRvd25sb2FkIHRoZSBmaWxlLCBhIHRleHQgaW5kaWNhdGluZyBhbiBlbXB0eSBmaWxlLCBvciBhbiBhdmF0YXIgYW5kIG5vIGxpbmsgb3IgdGV4dFxuXHRcdGNvbnN0IG9Db250ZW50ID0gdGhpcy5saW5rIHx8IHRoaXMudGV4dCB8fCB0aGlzLmF2YXRhcjtcblx0XHRyZXR1cm4gKG9Db250ZW50IGFzIENvbnRyb2wpLmdldElkRm9yTGFiZWwoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJZiBpbiB0aGUgY29sbGFib3JhdGl2ZSBkcmFmdCwgc2VuZCBhIHJlcXVlc3QgdG8gcmVsb2FkIHRoZSBmaWxlLlxuXHQgKi9cblx0X3JlZnJlc2hBdmF0YXIoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyBhcyBDb250cm9sKTtcblx0XHRjb25zdCBjb2xsYWJvcmF0aXZlRHJhZnQgPSB2aWV3LmdldENvbnRyb2xsZXIoKS5jb2xsYWJvcmF0aXZlRHJhZnQ7XG5cdFx0aWYgKGNvbGxhYm9yYXRpdmVEcmFmdC5pc0NvbGxhYm9yYXRpb25FbmFibGVkKCkpIHtcblx0XHRcdGNvbnN0IGF2YXRhckJpbmRpbmcgPSB0aGlzLmF2YXRhcj8uZ2V0QmluZGluZ0luZm8oXCJzcmNcIikuYmluZGluZztcblx0XHRcdGlmIChhdmF0YXJCaW5kaW5nICYmICF0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkKSB7XG5cdFx0XHRcdGF2YXRhckJpbmRpbmcuYXR0YWNoRXZlbnQoXCJjaGFuZ2VcIiwgKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuYXZhdGFyPy5yZWZyZXNoQXZhdGFyQ2FjaGVCdXN0aW5nKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLmF2YXRhckNhY2hlQnVzdGluZ0luaXRpYWxpemVkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRfc2V0QXJpYVJlcXVpcmVkKCk6IHZvaWQge1xuXHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMgYXMgQ29udHJvbCksXG5cdFx0XHR2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCA9IHZpZXcuZ2V0Vmlld0RhdGEoKS5mdWxsQ29udGV4dFBhdGgsXG5cdFx0XHRtZXRhTW9kZWwgPSB2aWV3LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCksXG5cdFx0XHRtZXRhQ29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdG1ldGFQYXRoQ29udGV4dCA9IG1ldGFNb2RlbC5jcmVhdGVCaW5kaW5nQ29udGV4dCh0aGlzLnByb3BlcnR5UGF0aCwgbWV0YUNvbnRleHQpLFxuXHRcdFx0ZGF0YVZpZXdNb2RlbFBhdGggPSBNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKG1ldGFQYXRoQ29udGV4dCwgbWV0YUNvbnRleHQpO1xuXG5cdFx0Y29uc3Qgc3RyZWFtUHJvcGVydHkgPSBkYXRhVmlld01vZGVsUGF0aC50YXJnZXRPYmplY3QgYXMgUHJvcGVydHk7XG5cdFx0dGhpcy5yZXF1aXJlZEV4cHJlc3Npb24gPSBVSUZvcm1hdHRlcnMuZ2V0UmVxdWlyZWRFeHByZXNzaW9uKFxuXHRcdFx0c3RyZWFtUHJvcGVydHksXG5cdFx0XHR1bmRlZmluZWQsXG5cdFx0XHRmYWxzZSxcblx0XHRcdGZhbHNlLFxuXHRcdFx0e30sXG5cdFx0XHRkYXRhVmlld01vZGVsUGF0aFxuXHRcdCkgYXMgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb247XG5cdH1cblxuXHRfYWRkU2lkZUVmZmVjdHMoKTogdm9pZCB7XG5cdFx0Ly8gYWRkIGNvbnRyb2wgU2lkZUVmZmVjdHMgZm9yIHN0cmVhbSBjb250ZW50LCBmaWxlbmFtZSBhbmQgbWVkaWF0eXBlXG5cdFx0Y29uc3QgbmF2aWdhdGlvblByb3BlcnRpZXM6IFNpZGVFZmZlY3RzRW50aXR5VHlwZVtdID0gW10sXG5cdFx0XHR2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpLFxuXHRcdFx0dmlld0RhdGFGdWxsQ29udGV4dFBhdGggPSB2aWV3LmdldFZpZXdEYXRhKCkuZnVsbENvbnRleHRQYXRoLFxuXHRcdFx0bWV0YU1vZGVsID0gdmlldy5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpLFxuXHRcdFx0bWV0YU1vZGVsUGF0aCA9IG1ldGFNb2RlbC5nZXRNZXRhUGF0aCh2aWV3RGF0YUZ1bGxDb250ZXh0UGF0aCksXG5cdFx0XHR2aWV3Q29udGV4dCA9IG1ldGFNb2RlbC5nZXRDb250ZXh0KHZpZXdEYXRhRnVsbENvbnRleHRQYXRoKSxcblx0XHRcdGRhdGFWaWV3TW9kZWxQYXRoID0gTWV0YU1vZGVsQ29udmVydGVyLmdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyh2aWV3Q29udGV4dCksXG5cdFx0XHRzb3VyY2VQYXRoID0gdGhpcy5kYXRhKFwic291cmNlUGF0aFwiKSBhcyBzdHJpbmcsXG5cdFx0XHRmaWVsZFBhdGggPSBzb3VyY2VQYXRoLnJlcGxhY2UoYCR7bWV0YU1vZGVsUGF0aH1gLCBcIlwiKSxcblx0XHRcdHBhdGggPSBmaWVsZFBhdGgucmVwbGFjZSh0aGlzLnByb3BlcnR5UGF0aCwgXCJcIik7XG5cblx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IGZpZWxkUGF0aCB9KTtcblx0XHRpZiAodGhpcy5maWxlbmFtZSkge1xuXHRcdFx0bmF2aWdhdGlvblByb3BlcnRpZXMucHVzaCh7ICROYXZpZ2F0aW9uUHJvcGVydHlQYXRoOiBwYXRoICsgdGhpcy5maWxlbmFtZSB9KTtcblx0XHR9XG5cdFx0aWYgKHRoaXMubWVkaWFUeXBlKSB7XG5cdFx0XHRuYXZpZ2F0aW9uUHJvcGVydGllcy5wdXNoKHsgJE5hdmlnYXRpb25Qcm9wZXJ0eVBhdGg6IHBhdGggKyB0aGlzLm1lZGlhVHlwZSB9KTtcblx0XHR9XG5cdFx0dGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKT8uYWRkQ29udHJvbFNpZGVFZmZlY3RzKGRhdGFWaWV3TW9kZWxQYXRoLnRhcmdldEVudGl0eVR5cGUuZnVsbHlRdWFsaWZpZWROYW1lLCB7XG5cdFx0XHRzb3VyY2VQcm9wZXJ0aWVzOiBbZmllbGRQYXRoXSxcblx0XHRcdHRhcmdldEVudGl0aWVzOiBuYXZpZ2F0aW9uUHJvcGVydGllcyxcblx0XHRcdHNvdXJjZUNvbnRyb2xJZDogdGhpcy5nZXRJZCgpXG5cdFx0fSk7XG5cdH1cblxuXHRfZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKTogU2lkZUVmZmVjdHNDb250cm9sbGVyRXh0ZW5zaW9uIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBjb250cm9sbGVyID0gdGhpcy5fZ2V0Vmlld0NvbnRyb2xsZXIoKSBhcyBQYWdlQ29udHJvbGxlciB8IHVuZGVmaW5lZDtcblx0XHRyZXR1cm4gY29udHJvbGxlciA/IGNvbnRyb2xsZXIuX3NpZGVFZmZlY3RzIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFZpZXdDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHtcblx0XHRjb25zdCB2aWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzIGFzIENvbnRyb2wpO1xuXHRcdHJldHVybiB2aWV3ICYmIHZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHR9XG5cblx0Z2V0VXBsb2FkVXJsKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29udGV4dCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKSBhcyBDb250ZXh0O1xuXHRcdGlmIChjb250ZXh0ICYmIHRoaXMudXBsb2FkVXJsKSB7XG5cdFx0XHQvLyBJZiB0aGUgYmFja2VuZCBkaWQgbm90IGV4cGxpY2l0bHkgc2V0IEFkZHJlc3NWaWFOYXZpZ2F0aW9uUGF0aCwgd2UgbmVlZCB0byB1c2UgdGhlIGNhbm9uaWNhbCBwYXRoIGZvciB1cGxvYWRcblx0XHRcdGlmIChjb250ZXh0LmdldE1vZGVsKCkuZ2V0TWV0YU1vZGVsKCkuZ2V0T2JqZWN0KFwiL0Bjb20uc2FwLnZvY2FidWxhcmllcy5Db21tb24udjEuQWRkcmVzc1ZpYU5hdmlnYXRpb25QYXRoXCIpID09PSB0cnVlKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnVwbG9hZFVybDtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnVwbG9hZFVybC5yZXBsYWNlKGNvbnRleHQuZ2V0UGF0aCgpLCBjb250ZXh0LmdldENhbm9uaWNhbFBhdGgoKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBcIlwiO1xuXHR9XG5cblx0c2V0VUlCdXN5KGJ1c3k6IGJvb2xlYW4pOiB2b2lkIHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcblx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHR0aGlzLl9idXN5ID0gYnVzeTtcblx0XHRpZiAoYnVzeSkge1xuXHRcdFx0aWYgKCF0aGlzLmJ1c3lEaWFsb2cpIHtcblx0XHRcdFx0dGhpcy5idXN5RGlhbG9nID0gbmV3IEJ1c3lEaWFsb2coe1xuXHRcdFx0XHRcdHRleHQ6IGdldFJlc291cmNlTW9kZWwodGhpcykuZ2V0VGV4dChcIk1fRklMRVdSQVBQRVJfQlVTWV9ESUFMT0dfVElUTEVcIiksXG5cdFx0XHRcdFx0c2hvd0NhbmNlbEJ1dHRvbjogZmFsc2Vcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0aWYgKHRoYXQuX2J1c3kpIHtcblx0XHRcdFx0XHR0aGF0LmJ1c3lEaWFsb2c/Lm9wZW4oKTtcblx0XHRcdFx0fVxuXHRcdFx0fSwgMTAwMCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuYnVzeURpYWxvZz8uY2xvc2UoZmFsc2UpO1xuXHRcdH1cblx0fVxuXG5cdGdldFVJQnVzeSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5fYnVzeTtcblx0fVxuXG5cdHN0YXRpYyByZW5kZXIocmVuZGVyTWFuYWdlcjogUmVuZGVyTWFuYWdlciwgZmlsZVdyYXBwZXI6IEZpbGVXcmFwcGVyKTogdm9pZCB7XG5cdFx0bGV0IGlubmVyRGl2TWF4V2lkdGgsIGlubmVyRGl2TWluV2lkdGg7XG5cdFx0aWYgKGZpbGVXcmFwcGVyLmF2YXRhcikge1xuXHRcdFx0Ly8gVGhlIGF2YXRhciBoYXMgYSBmaXhlZCB3aWR0aCAoM3JlbSkgdGhlcmVmb3JlIHRoZSBpbm5lciBkaXYgY2FuIGhhdmUgYSBsb3dlciBtaW4gd2lkdGggdGhhbiBpY29uIGFuZCBsaW5rXG5cdFx0XHRpbm5lckRpdk1heFdpZHRoID0gXCIxMDAlXCI7XG5cdFx0XHRpbm5lckRpdk1pbldpZHRoID0gXCIzcmVtXCI7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIERlcGVuZGluZyBvbiBkaXNwbGF5IG9yIGVkaXQgbW9kZSB3ZSBoYXZlIHRvIHJlc2VydmUgc29tZSBzcGFjZSBmb3IgdGhlIGZpbGUgdXBsb2FkIGFuZCBkZWxldGUgYnV0dG9uICgycmVtIGVhY2ggKyAxcmVtIG1hcmdpbilcblx0XHRcdGlubmVyRGl2TWF4V2lkdGggPSBDb21tb25VdGlscy5nZXRJc0VkaXRhYmxlKGZpbGVXcmFwcGVyIGFzIHVua25vd24gYXMgTWFuYWdlZE9iamVjdCkgPyBcImNhbGMoMTAwJSAtIDZyZW0pXCIgOiBcIjEwMCVcIjtcblx0XHRcdGlubmVyRGl2TWluV2lkdGggPSBcIjQuNXJlbVwiO1xuXHRcdH1cblxuXHRcdHJlbmRlck1hbmFnZXIub3BlblN0YXJ0KFwiZGl2XCIsIGZpbGVXcmFwcGVyKTsgLy8gRmlsZVdyYXBwZXIgY29udHJvbCBkaXZcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwid2lkdGhcIiwgZmlsZVdyYXBwZXIud2lkdGgpO1xuXHRcdHJlbmRlck1hbmFnZXIub3BlbkVuZCgpO1xuXG5cdFx0Ly8gT3V0ZXIgQm94XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuU3RhcnQoXCJkaXZcIik7IC8vIGRpdiBmb3IgYWxsIGNvbnRyb2xzXG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImRpc3BsYXlcIiwgXCJmbGV4XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJib3gtc2l6aW5nXCIsIFwiYm9yZGVyLWJveFwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwianVzdGlmeS1jb250ZW50XCIsIFwic3BhY2UtYmV0d2VlblwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiYWxpZ24taXRlbXNcIiwgXCJjZW50ZXJcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImZsZXgtd3JhcFwiLCBcIndyYXBcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWNvbnRlbnRcIiwgXCJzdHJldGNoXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJ3aWR0aFwiLCBcIjEwMCVcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5vcGVuRW5kKCk7XG5cblx0XHQvLyBEaXNwbGF5IE1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5IG1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLnN0eWxlKFwiZGlzcGxheVwiLCBcImZsZXhcIik7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImFsaWduLWl0ZW1zXCIsIFwiY2VudGVyXCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJtYXgtd2lkdGhcIiwgaW5uZXJEaXZNYXhXaWR0aCk7XG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcIm1pbi13aWR0aFwiLCBpbm5lckRpdk1pbldpZHRoKTtcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5FbmQoKTtcblxuXHRcdGlmIChmaWxlV3JhcHBlci5hdmF0YXIpIHtcblx0XHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5hdmF0YXIpOyAvLyByZW5kZXIgdGhlIEF2YXRhciBDb250cm9sXG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5pY29uKTsgLy8gcmVuZGVyIHRoZSBJY29uIENvbnRyb2xcblx0XHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5saW5rKTsgLy8gcmVuZGVyIHRoZSBMaW5rIENvbnRyb2xcblx0XHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci50ZXh0KTsgLy8gcmVuZGVyIHRoZSBUZXh0IENvbnRyb2wgZm9yIGVtcHR5IGZpbGUgaW5kaWNhdGlvblxuXHRcdH1cblx0XHRyZW5kZXJNYW5hZ2VyLmNsb3NlKFwiZGl2XCIpOyAvLyBkaXYgZm9yIGNvbnRyb2xzIHNob3duIGluIERpc3BsYXkgbW9kZVxuXG5cdFx0Ly8gQWRkaXRpb25hbCBjb250ZW50IGZvciBFZGl0IE1vZGVcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5TdGFydChcImRpdlwiKTsgLy8gZGl2IGZvciBjb250cm9scyBzaG93biBpbiBEaXNwbGF5ICsgRWRpdCBtb2RlXG5cdFx0cmVuZGVyTWFuYWdlci5zdHlsZShcImRpc3BsYXlcIiwgXCJmbGV4XCIpO1xuXHRcdHJlbmRlck1hbmFnZXIuc3R5bGUoXCJhbGlnbi1pdGVtc1wiLCBcImNlbnRlclwiKTtcblx0XHRyZW5kZXJNYW5hZ2VyLm9wZW5FbmQoKTtcblx0XHRyZW5kZXJNYW5hZ2VyLnJlbmRlckNvbnRyb2woZmlsZVdyYXBwZXIuZmlsZVVwbG9hZGVyKTsgLy8gcmVuZGVyIHRoZSBGaWxlVXBsb2FkZXIgQ29udHJvbFxuXHRcdHJlbmRlck1hbmFnZXIucmVuZGVyQ29udHJvbChmaWxlV3JhcHBlci5kZWxldGVCdXR0b24pOyAvLyByZW5kZXIgdGhlIERlbGV0ZSBCdXR0b24gQ29udHJvbFxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGRpdiBmb3IgY29udHJvbHMgc2hvd24gaW4gRGlzcGxheSArIEVkaXQgbW9kZVxuXG5cdFx0cmVuZGVyTWFuYWdlci5jbG9zZShcImRpdlwiKTsgLy8gZGl2IGZvciBhbGwgY29udHJvbHNcblxuXHRcdHJlbmRlck1hbmFnZXIuY2xvc2UoXCJkaXZcIik7IC8vIGVuZCBvZiB0aGUgY29tcGxldGUgQ29udHJvbFxuXHR9XG5cblx0ZGVzdHJveShiU3VwcHJlc3NJbnZhbGlkYXRlOiBib29sZWFuKTogdm9pZCB7XG5cdFx0Y29uc3Qgb1NpZGVFZmZlY3RzID0gdGhpcy5fZ2V0U2lkZUVmZmVjdENvbnRyb2xsZXIoKTtcblx0XHRpZiAob1NpZGVFZmZlY3RzKSB7XG5cdFx0XHRvU2lkZUVmZmVjdHMucmVtb3ZlQ29udHJvbFNpZGVFZmZlY3RzKHRoaXMpO1xuXHRcdH1cblx0XHRkZWxldGUgdGhpcy5idXN5RGlhbG9nO1xuXHRcdEZpZWxkV3JhcHBlci5wcm90b3R5cGUuZGVzdHJveS5hcHBseSh0aGlzLCBbYlN1cHByZXNzSW52YWxpZGF0ZV0pO1xuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZpbGVXcmFwcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztNQTRCTUEsV0FBVyxJQUFBQyxJQUFBLEdBRGhCQyxjQUFjLENBQUMsb0NBQW9DLENBQUMsRUFBQUMsS0FBQSxHQUVuREMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFrQixDQUFDLENBQUMsRUFBQUMsS0FBQSxHQUdyQ0YsUUFBUSxDQUFD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
|