@sapui5/sap.fe.macros 1.141.0 → 1.142.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 +48 -31
- package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +51 -26
- 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/Field.js +30 -13
- package/src/sap/fe/macros/Field.ts +60 -30
- package/src/sap/fe/macros/FooterContent.js +5 -2
- package/src/sap/fe/macros/FooterContent.tsx +6 -3
- package/src/sap/fe/macros/KPITag.js +1 -1
- package/src/sap/fe/macros/KPITag.tsx +3 -1
- package/src/sap/fe/macros/MacroAPI.js +3 -2
- package/src/sap/fe/macros/MacroAPI.ts +2 -2
- package/src/sap/fe/macros/MessageButton.js +3 -2
- package/src/sap/fe/macros/MessageButton.tsx +5 -2
- package/src/sap/fe/macros/MicroChart.js +10 -6
- package/src/sap/fe/macros/MicroChart.tsx +8 -2
- 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/Status.js +35 -8
- package/src/sap/fe/macros/Status.tsx +23 -2
- package/src/sap/fe/macros/ValueHelp.js +5 -2
- package/src/sap/fe/macros/ValueHelp.tsx +5 -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/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 +8 -8
- package/src/sap/fe/macros/chart/ChartDelegate.ts +17 -12
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +54 -11
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +70 -11
- 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/FilterBar.js +39 -3
- package/src/sap/fe/macros/controls/FilterBar.ts +42 -1
- 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 +2 -2
- package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +37 -9
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +45 -6
- 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 +3 -3
- package/src/sap/fe/macros/field/FieldFormatOptions.ts +1 -1
- 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 +38 -8
- package/src/sap/fe/macros/field/FieldRuntime.ts +65 -7
- 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 +100 -36
- package/src/sap/fe/macros/filter/FilterUtils.ts +127 -39
- 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 +10 -7
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +31 -16
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +4 -3
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +5 -2
- 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 +96 -65
- package/src/sap/fe/macros/form/FormContainer.block.ts +104 -65
- 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/library.js +3 -3
- package/src/sap/fe/macros/library.ts +2 -0
- 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 +7 -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 +12 -3
- 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/richtexteditor/ButtonGroup.js +2 -2
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +2 -2
- package/src/sap/fe/macros/table/Action.js +15 -2
- package/src/sap/fe/macros/table/Action.ts +11 -1
- 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/MdcTableTemplate.js +91 -10
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +131 -10
- 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 +70 -29
- package/src/sap/fe/macros/table/Table.block.tsx +65 -12
- package/src/sap/fe/macros/table/TableAPI.js +169 -131
- package/src/sap/fe/macros/table/TableAPI.ts +58 -28
- package/src/sap/fe/macros/table/TableDefinition.js +19 -2
- package/src/sap/fe/macros/table/TableDefinition.ts +17 -1
- package/src/sap/fe/macros/table/TableEventHandlerProvider.js +4 -3
- package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +8 -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 +2 -2
- package/src/sap/fe/macros/table/TableRuntime.ts +4 -6
- 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/delegates/TableDelegate.js +67 -26
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +108 -118
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +2 -2
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +1 -1
- 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/EmptyRowsHandler.js +6 -5
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +10 -4
- 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/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
|
@@ -6,10 +6,12 @@ import type ChartChart from "sap/chart/Chart";
|
|
|
6
6
|
import type { PropertiesOf } from "sap/fe/base/ClassSupport";
|
|
7
7
|
import { aggregation, association, defineUI5Class, event, implementInterface, property, xmlEventHandler } from "sap/fe/base/ClassSupport";
|
|
8
8
|
import { controllerExtensionHandler } from "sap/fe/base/HookSupport";
|
|
9
|
+
import type { StartupParameters } from "sap/fe/core/AppComponent";
|
|
9
10
|
import CommonUtils from "sap/fe/core/CommonUtils";
|
|
10
11
|
import type TemplateComponent from "sap/fe/core/TemplateComponent";
|
|
11
12
|
import type { NavigationParameter } from "sap/fe/core/controllerextensions/ViewState";
|
|
12
13
|
import type IViewStateContributor from "sap/fe/core/controllerextensions/viewState/IViewStateContributor";
|
|
14
|
+
import type { OverflowGroupsConfiguration } from "sap/fe/core/converters/ManifestSettings";
|
|
13
15
|
import { getInvolvedDataModelObjects } from "sap/fe/core/converters/MetaModelConverter";
|
|
14
16
|
import type { BaseAction } from "sap/fe/core/converters/controls/Common/Action";
|
|
15
17
|
import type { ChartVisualization } from "sap/fe/core/converters/controls/Common/Chart";
|
|
@@ -23,6 +25,7 @@ import Action from "sap/fe/macros/chart/Action";
|
|
|
23
25
|
import type ActionGroup from "sap/fe/macros/chart/ActionGroup";
|
|
24
26
|
import ChartRuntime from "sap/fe/macros/chart/ChartRuntime";
|
|
25
27
|
import ChartUtils from "sap/fe/macros/chart/ChartUtils";
|
|
28
|
+
import type FilterBar from "sap/fe/macros/controls/FilterBar";
|
|
26
29
|
import type ISingleSectionContributor from "sap/fe/macros/controls/section/ISingleSectionContributor";
|
|
27
30
|
import type { ConsumerData } from "sap/fe/macros/controls/section/ISingleSectionContributor";
|
|
28
31
|
import FilterUtils from "sap/fe/macros/filter/FilterUtils";
|
|
@@ -40,7 +43,6 @@ import type LayoutData from "sap/ui/core/LayoutData";
|
|
|
40
43
|
import { TitleLevel } from "sap/ui/core/library";
|
|
41
44
|
import type MDCChart from "sap/ui/mdc/Chart";
|
|
42
45
|
import type ChartDelegate from "sap/ui/mdc/ChartDelegate";
|
|
43
|
-
import type FilterBar from "sap/ui/mdc/FilterBar";
|
|
44
46
|
import type ActionToolbarAction from "sap/ui/mdc/actiontoolbar/ActionToolbarAction";
|
|
45
47
|
import type { AppState, Items, Sorters } from "sap/ui/mdc/p13n/StateUtil";
|
|
46
48
|
import StateUtil from "sap/ui/mdc/p13n/StateUtil";
|
|
@@ -49,10 +51,12 @@ import Filter from "sap/ui/model/Filter";
|
|
|
49
51
|
import type Context from "sap/ui/model/odata/v4/Context";
|
|
50
52
|
import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
|
|
51
53
|
import type ODataModel from "sap/ui/model/odata/v4/ODataModel";
|
|
54
|
+
import type { EventHandler } from "types/extension_types";
|
|
52
55
|
import type { PropertyInfo } from "./DelegateUtil";
|
|
53
56
|
import MacroAPI from "./MacroAPI";
|
|
54
57
|
import type { ActionOrActionGroup, ChartContextObjectPath, ChartCustomData, CommandAction } from "./chart/MdcChartTemplate";
|
|
55
58
|
import { getMdcChartTemplate } from "./chart/MdcChartTemplate";
|
|
59
|
+
import type OverflowGroup from "./chart/OverflowGroup";
|
|
56
60
|
import PresentationVariantToStateUtilsPV from "./chart/adapter/ChartPvToStateUtils";
|
|
57
61
|
import { createChartCardParams } from "./insights/AnalyticalInsightsHelper";
|
|
58
62
|
import type { ControlState } from "./insights/CommonInsightsHelper";
|
|
@@ -262,6 +266,8 @@ export default class Chart extends MacroAPI implements ISingleSectionContributor
|
|
|
262
266
|
|
|
263
267
|
chartActions?: BaseAction[] = [];
|
|
264
268
|
|
|
269
|
+
overflowGroups?: OverflowGroupsConfiguration;
|
|
270
|
+
|
|
265
271
|
filter?: string;
|
|
266
272
|
|
|
267
273
|
visible?: string;
|
|
@@ -322,6 +328,16 @@ export default class Chart extends MacroAPI implements ISingleSectionContributor
|
|
|
322
328
|
})
|
|
323
329
|
actions!: Action[] | ActionGroup[];
|
|
324
330
|
|
|
331
|
+
/**
|
|
332
|
+
* Aggregate overflowGroups of the chart.
|
|
333
|
+
* @public
|
|
334
|
+
*/
|
|
335
|
+
@aggregation({
|
|
336
|
+
type: "sap.fe.macros.chart.OverflowGroup",
|
|
337
|
+
multiple: true
|
|
338
|
+
})
|
|
339
|
+
actionOverflowGroups?: OverflowGroup[];
|
|
340
|
+
|
|
325
341
|
/**
|
|
326
342
|
* Gets contexts from the chart that have been selected by the user.
|
|
327
343
|
* @returns Contexts of the rows selected by the user
|
|
@@ -336,7 +352,7 @@ export default class Chart extends MacroAPI implements ISingleSectionContributor
|
|
|
336
352
|
* @public
|
|
337
353
|
*/
|
|
338
354
|
@event()
|
|
339
|
-
selectionChange!:
|
|
355
|
+
selectionChange!: EventHandler<UI5Event<{ data: unknown[]; selected: boolean }, Chart>>;
|
|
340
356
|
|
|
341
357
|
/**
|
|
342
358
|
* An event triggered when the chart requests data.
|
|
@@ -847,13 +863,13 @@ export default class Chart extends MacroAPI implements ISingleSectionContributor
|
|
|
847
863
|
* @returns A promise that resolves when the variant has been applied.
|
|
848
864
|
*/
|
|
849
865
|
async handleVariantIdPassedViaURLParams(): Promise<unknown> {
|
|
850
|
-
const urlParams = this.getStartupParameters();
|
|
851
|
-
const chartVariantId = urlParams
|
|
866
|
+
const urlParams = await this.getStartupParameters();
|
|
867
|
+
const chartVariantId = urlParams["sap-ui-fe-chart-variant-id"]?.[0];
|
|
852
868
|
const view = CommonUtils.getTargetView(this);
|
|
853
869
|
const viewData = view.getViewData();
|
|
854
870
|
const vmType = viewData.variantManagement;
|
|
855
871
|
const vm = (this.getContent() as MDCChart)?.getVariant();
|
|
856
|
-
if (vm && chartVariantId && vmType === "Control") {
|
|
872
|
+
if (vm && chartVariantId && typeof chartVariantId === "string" && vmType === "Control") {
|
|
857
873
|
const variantToApply = vm.getVariants().find((variant) => variant.getKey() === chartVariantId);
|
|
858
874
|
const ControlVariantApplyAPI = (await import("sap/ui/fl/apply/api/ControlVariantApplyAPI")).default;
|
|
859
875
|
return ControlVariantApplyAPI.activateVariant({
|
|
@@ -866,14 +882,12 @@ export default class Chart extends MacroAPI implements ISingleSectionContributor
|
|
|
866
882
|
/**
|
|
867
883
|
* Retrieves the startup parameters from the application component data.
|
|
868
884
|
* These parameters contain URL query parameters that were passed when the application was started.
|
|
869
|
-
* @returns The startup parameters
|
|
870
|
-
* or undefined if no parameters are available or if the component chain is not accessible.
|
|
885
|
+
* @returns The startup parameters.
|
|
871
886
|
*/
|
|
872
|
-
getStartupParameters():
|
|
887
|
+
async getStartupParameters(): Promise<StartupParameters> {
|
|
873
888
|
const controller = this.getPageController();
|
|
874
|
-
const appComponent = controller
|
|
875
|
-
|
|
876
|
-
return componentData?.startupParameters as unknown as Record<string, string[]>;
|
|
889
|
+
const appComponent = controller.getAppComponent();
|
|
890
|
+
return appComponent.getStartupParameters();
|
|
877
891
|
}
|
|
878
892
|
|
|
879
893
|
/**
|
|
@@ -2,11 +2,12 @@
|
|
|
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/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe/base/EventDelegateHook", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/formatters/CollaborationFormatter", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/ResourceModelHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/UIFormatters", "sap/m/Avatar", "sap/m/Label", "sap/m/ResponsivePopover", "sap/ui/core/Element", "sap/fe/base/jsx-runtime/jsx"], function (BindingToolkit, ClassSupport, EventDelegateHook, BuildingBlock, CollaborationFormatters, ModelHelper, ResourceModelHelper, TypeGuards, UIFormatters, Avatar, Label, ResponsivePopover, UI5Element, _jsx) {
|
|
5
|
+
sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe/base/EventDelegateHook", "sap/fe/core/buildingBlocks/BuildingBlock", "sap/fe/core/formatters/CollaborationFormatter", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/ResourceModelHelper", "sap/fe/core/helpers/TypeGuards", "sap/fe/core/templating/DataModelPathHelper", "sap/fe/core/templating/UIFormatters", "sap/m/Avatar", "sap/m/Label", "sap/m/ResponsivePopover", "sap/ui/core/Element", "sap/fe/base/jsx-runtime/jsx"], function (BindingToolkit, ClassSupport, EventDelegateHook, BuildingBlock, CollaborationFormatters, ModelHelper, ResourceModelHelper, TypeGuards, DataModelPathHelper, UIFormatters, Avatar, Label, ResponsivePopover, UI5Element, _jsx) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5;
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6;
|
|
9
9
|
var _exports = {};
|
|
10
|
+
var getTargetObjectPath = DataModelPathHelper.getTargetObjectPath;
|
|
10
11
|
var isProperty = TypeGuards.isProperty;
|
|
11
12
|
var property = ClassSupport.property;
|
|
12
13
|
var event = ClassSupport.event;
|
|
@@ -27,10 +28,10 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
27
28
|
type: "string"
|
|
28
29
|
}), _dec3 = property({
|
|
29
30
|
type: "string"
|
|
30
|
-
}), _dec4 = event(), _dec5 = property({
|
|
31
|
+
}), _dec4 = event(), _dec5 = event(), _dec6 = property({
|
|
31
32
|
type: "boolean",
|
|
32
33
|
defaultValue: false
|
|
33
|
-
}),
|
|
34
|
+
}), _dec7 = property({
|
|
34
35
|
type: "object"
|
|
35
36
|
}), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlock) {
|
|
36
37
|
function CollaborativeDraftHandler(idOrSettings, settings) {
|
|
@@ -55,16 +56,29 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
55
56
|
* Event fired when the lock status changes.
|
|
56
57
|
*
|
|
57
58
|
* Parameters:<BR>
|
|
58
|
-
* - isLocked :
|
|
59
|
-
* - lockingUserID:
|
|
60
|
-
* - lockingUserName:
|
|
61
|
-
* - lockingUserInitials:
|
|
62
|
-
* - lockingUserColor:
|
|
59
|
+
* - isLocked : True if the property is locked, false otherwise<BR>
|
|
60
|
+
* - lockingUserID: The ID of the user locking the property (undefined if not locked)<BR>
|
|
61
|
+
* - lockingUserName: The name of the user locking the property (undefined if not locked)<BR>
|
|
62
|
+
* - lockingUserInitials: The initials of the user locking the property (undefined if not locked)<BR>
|
|
63
|
+
* - lockingUserColor: The color associated to the user locking the property (undefined if not locked)<BR>
|
|
63
64
|
* @public
|
|
64
65
|
* @ui5-experimental-since 1.141.0
|
|
65
66
|
* @since 1.141.0
|
|
66
67
|
*/
|
|
67
68
|
_initializerDefineProperty(_this, "lockChange", _descriptor3, _this);
|
|
69
|
+
/**
|
|
70
|
+
* Event fired when the user clicks on the avatar.
|
|
71
|
+
*
|
|
72
|
+
* Parameters:<BR>
|
|
73
|
+
* - lockingUserID: The ID of the user locking the property<BR>
|
|
74
|
+
* - lockingUserName: The name of the user locking the property<BR>
|
|
75
|
+
* - lockingUserInitials: The initials of the user locking the property<BR>
|
|
76
|
+
* - lockingUserColor: The color associated to the user locking the property<BR>
|
|
77
|
+
* @public
|
|
78
|
+
* @ui5-experimental-since 1.142.0
|
|
79
|
+
* @since 1.142.0
|
|
80
|
+
*/
|
|
81
|
+
_initializerDefineProperty(_this, "avatarPress", _descriptor4, _this);
|
|
68
82
|
/**
|
|
69
83
|
* If set to true, the standard Avatar control is displayed to indicate the lock status.
|
|
70
84
|
* If set to false, nothing is displayed.
|
|
@@ -72,25 +86,16 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
72
86
|
* @ui5-experimental-since 1.141.0
|
|
73
87
|
* @since 1.141.0
|
|
74
88
|
*/
|
|
75
|
-
_initializerDefineProperty(_this, "showAvatar",
|
|
89
|
+
_initializerDefineProperty(_this, "showAvatar", _descriptor5, _this);
|
|
76
90
|
/**
|
|
77
91
|
* Internal property to receive the lock data
|
|
78
92
|
*/
|
|
79
|
-
_initializerDefineProperty(_this, "lockInfo",
|
|
93
|
+
_initializerDefineProperty(_this, "lockInfo", _descriptor6, _this);
|
|
80
94
|
return _this;
|
|
81
95
|
}
|
|
82
96
|
_exports = CollaborativeDraftHandler;
|
|
83
97
|
_inheritsLoose(CollaborativeDraftHandler, _BuildingBlock);
|
|
84
98
|
var _proto = CollaborativeDraftHandler.prototype;
|
|
85
|
-
_proto.getFullMetaPath = function getFullMetaPath() {
|
|
86
|
-
if (this.metaPath.startsWith("/")) {
|
|
87
|
-
return this.metaPath;
|
|
88
|
-
} else if (this.contextPath.endsWith("/")) {
|
|
89
|
-
return `${this.contextPath}${this.metaPath}`;
|
|
90
|
-
} else {
|
|
91
|
-
return `${this.contextPath}/${this.metaPath}`;
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
99
|
_proto.onMetadataAvailable = function onMetadataAvailable() {
|
|
95
100
|
const owner = this._getOwner();
|
|
96
101
|
if (!owner) {
|
|
@@ -99,15 +104,13 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
99
104
|
if (!ModelHelper.isCollaborationDraftSupported(owner.getAppComponent().getModel().getMetaModel())) {
|
|
100
105
|
return;
|
|
101
106
|
}
|
|
102
|
-
this.
|
|
103
|
-
const fullMetaPath = this.getFullMetaPath();
|
|
104
|
-
const objectPath = this.getDataModelObjectPath(fullMetaPath);
|
|
107
|
+
const objectPath = this.getDataModelObjectForMetaPath(this.metaPath, this.contextPath);
|
|
105
108
|
if (!objectPath || !isProperty(objectPath.targetObject)) {
|
|
106
|
-
throw new Error(`CollaborativeDraftHandler: the provided metaPath '${
|
|
109
|
+
throw new Error(`CollaborativeDraftHandler: the provided metaPath '${this.metaPath}' does not point to a valid property`);
|
|
107
110
|
}
|
|
108
111
|
|
|
109
112
|
// Bind the lockInfo property to the corresponding lockInfo in the internal model
|
|
110
|
-
const keysBindingParts = objectPath.targetEntityType.keys.map(key => {
|
|
113
|
+
const keysBindingParts = objectPath.contextLocation?.targetEntityType.keys.map(key => {
|
|
111
114
|
return {
|
|
112
115
|
path: key.name,
|
|
113
116
|
targetType: "any"
|
|
@@ -115,7 +118,7 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
115
118
|
});
|
|
116
119
|
const bindingInfo = {
|
|
117
120
|
parts: [{
|
|
118
|
-
path: `internal>/collaboration/activities${
|
|
121
|
+
path: `internal>/collaboration/activities${getTargetObjectPath(objectPath)}`,
|
|
119
122
|
targetType: "any"
|
|
120
123
|
}, ...keysBindingParts],
|
|
121
124
|
formatter: CollaborationFormatters.getCollaborationInfo
|
|
@@ -149,8 +152,7 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
149
152
|
* @returns The Avatar control
|
|
150
153
|
*/;
|
|
151
154
|
_proto.createCollaborationAvatar = function createCollaborationAvatar(objectPath) {
|
|
152
|
-
const
|
|
153
|
-
const collaborationHasActivityExpression = compileExpression(collaborationExpression);
|
|
155
|
+
const collaborationHasActivityExpression = compileExpression(UIFormatters.getCollaborationExpression(objectPath, CollaborationFormatters.hasCollaborationActivity));
|
|
154
156
|
const collaborationInitialsExpression = compileExpression(UIFormatters.getCollaborationExpression(objectPath, CollaborationFormatters.getCollaborationActivityInitials));
|
|
155
157
|
const collaborationColorExpression = compileExpression(UIFormatters.getCollaborationExpression(objectPath, CollaborationFormatters.getCollaborationActivityColor));
|
|
156
158
|
return _jsx(Avatar, {
|
|
@@ -178,6 +180,16 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
178
180
|
_proto.onAvatarPress = function onAvatarPress(evt) {
|
|
179
181
|
const avatar = evt.getSource();
|
|
180
182
|
const block = avatar.getParent();
|
|
183
|
+
if (block.hasListeners("avatarPress")) {
|
|
184
|
+
// If the event is handled by the application, do not open the popover
|
|
185
|
+
block.fireEvent("avatarPress", {
|
|
186
|
+
lockingUserID: block.lockInfo?.id,
|
|
187
|
+
lockingUserName: block.lockInfo?.name,
|
|
188
|
+
lockingUserInitials: block.lockInfo?.initials,
|
|
189
|
+
lockingUserColor: block.lockInfo?.color
|
|
190
|
+
});
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
181
193
|
const view = this.getPageController().getView();
|
|
182
194
|
const resourceModel = ResourceModelHelper.getResourceModel(view);
|
|
183
195
|
let popover = UI5Element.getElementById(`manageCollaborationDraft--editUser`);
|
|
@@ -211,14 +223,19 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
211
223
|
enumerable: true,
|
|
212
224
|
writable: true,
|
|
213
225
|
initializer: null
|
|
214
|
-
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "
|
|
226
|
+
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "avatarPress", [_dec5], {
|
|
227
|
+
configurable: true,
|
|
228
|
+
enumerable: true,
|
|
229
|
+
writable: true,
|
|
230
|
+
initializer: null
|
|
231
|
+
}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, "showAvatar", [_dec6], {
|
|
215
232
|
configurable: true,
|
|
216
233
|
enumerable: true,
|
|
217
234
|
writable: true,
|
|
218
235
|
initializer: function () {
|
|
219
236
|
return false;
|
|
220
237
|
}
|
|
221
|
-
}),
|
|
238
|
+
}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "lockInfo", [_dec7], {
|
|
222
239
|
configurable: true,
|
|
223
240
|
enumerable: true,
|
|
224
241
|
writable: true,
|
|
@@ -227,4 +244,4 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
227
244
|
_exports = CollaborativeDraftHandler;
|
|
228
245
|
return _exports;
|
|
229
246
|
}, false);
|
|
230
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsYWJvcmF0aXZlRHJhZnRIYW5kbGVyIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjMyIsIl9kZWM0IiwiZXZlbnQiLCJfZGVjNSIsImRlZmF1bHRWYWx1ZSIsIl9kZWM2IiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrIiwiaWRPclNldHRpbmdzIiwic2V0dGluZ3MiLCJfdGhpcyIsImNhbGwiLCJfaW5pdGlhbGl6ZXJEZWZpbmVQcm9wZXJ0eSIsIl9kZXNjcmlwdG9yIiwiX2Rlc2NyaXB0b3IyIiwiX2Rlc2NyaXB0b3IzIiwiX2Rlc2NyaXB0b3I0IiwiX2Rlc2NyaXB0b3I1IiwiX2V4cG9ydHMiLCJfaW5oZXJpdHNMb29zZSIsIl9wcm90byIsInByb3RvdHlwZSIsImdldEZ1bGxNZXRhUGF0aCIsIm1ldGFQYXRoIiwic3RhcnRzV2l0aCIsImNvbnRleHRQYXRoIiwiZW5kc1dpdGgiLCJvbk1ldGFkYXRhQXZhaWxhYmxlIiwib3duZXIiLCJfZ2V0T3duZXIiLCJNb2RlbEhlbHBlciIsImlzQ29sbGFib3JhdGlvbkRyYWZ0U3VwcG9ydGVkIiwiZ2V0QXBwQ29tcG9uZW50IiwiZ2V0TW9kZWwiLCJnZXRNZXRhTW9kZWwiLCJnZXRPd25lckNvbnRleHRQYXRoIiwiZnVsbE1ldGFQYXRoIiwib2JqZWN0UGF0aCIsImdldERhdGFNb2RlbE9iamVjdFBhdGgiLCJpc1Byb3BlcnR5IiwidGFyZ2V0T2JqZWN0IiwiRXJyb3IiLCJrZXlzQmluZGluZ1BhcnRzIiwidGFyZ2V0RW50aXR5VHlwZSIsImtleXMiLCJtYXAiLCJrZXkiLCJwYXRoIiwibmFtZSIsInRhcmdldFR5cGUiLCJiaW5kaW5nSW5mbyIsInBhcnRzIiwiZm9ybWF0dGVyIiwiQ29sbGFib3JhdGlvbkZvcm1hdHRlcnMiLCJnZXRDb2xsYWJvcmF0aW9uSW5mbyIsImJpbmRQcm9wZXJ0eSIsImNvbnRlbnQiLCJzaG93QXZhdGFyIiwiY3JlYXRlQ29sbGFib3JhdGlvbkF2YXRhciIsInNldExvY2tJbmZvIiwibG9ja0luZm8iLCJmaXJlRXZlbnQiLCJpc0xvY2tlZCIsInVuZGVmaW5lZCIsImxvY2tpbmdVc2VySUQiLCJpZCIsImxvY2tpbmdVc2VyTmFtZSIsImxvY2tpbmdVc2VySW5pdGlhbHMiLCJpbml0aWFscyIsImxvY2tpbmdVc2VyQ29sb3IiLCJjb2xvciIsImNvbGxhYm9yYXRpb25FeHByZXNzaW9uIiwiVUlGb3JtYXR0ZXJzIiwiZ2V0Q29sbGFib3JhdGlvbkV4cHJlc3Npb24iLCJoYXNDb2xsYWJvcmF0aW9uQWN0aXZpdHkiLCJjb2xsYWJvcmF0aW9uSGFzQWN0aXZpdHlFeHByZXNzaW9uIiwiY29tcGlsZUV4cHJlc3Npb24iLCJjb2xsYWJvcmF0aW9uSW5pdGlhbHNFeHByZXNzaW9uIiwiZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5SW5pdGlhbHMiLCJjb2xsYWJvcmF0aW9uQ29sb3JFeHByZXNzaW9uIiwiZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5Q29sb3IiLCJfanN4IiwiQXZhdGFyIiwidmlzaWJsZSIsImRpc3BsYXlTaXplIiwiY3VzdG9tRGlzcGxheVNpemUiLCJjdXN0b21Gb250U2l6ZSIsImJhY2tncm91bmRDb2xvciIsInByZXNzIiwiZXZ0Iiwib25BdmF0YXJQcmVzcyIsImNoaWxkcmVuIiwiZGVwZW5kZW50cyIsIkV2ZW50RGVsZWdhdGVIb29rIiwic3RvcFRhcFByb3BhZ2F0aW9uIiwiYXZhdGFyIiwiZ2V0U291cmNlIiwiYmxvY2siLCJnZXRQYXJlbnQiLCJ2aWV3IiwiZ2V0UGFnZUNvbnRyb2xsZXIiLCJnZXRWaWV3IiwicmVzb3VyY2VNb2RlbCIsIlJlc291cmNlTW9kZWxIZWxwZXIiLCJnZXRSZXNvdXJjZU1vZGVsIiwicG9wb3ZlciIsIlVJNUVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIlJlc3BvbnNpdmVQb3BvdmVyIiwic2hvd0hlYWRlciIsInBsYWNlbWVudCIsImFkZFN0eWxlQ2xhc3MiLCJhZGREZXBlbmRlbnQiLCJkZXN0cm95Q29udGVudCIsImFkZENvbnRlbnQiLCJMYWJlbCIsInRleHQiLCJnZXRUZXh0Iiwib3BlbkJ5IiwiQnVpbGRpbmdCbG9jayIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiQ29sbGFib3JhdGl2ZURyYWZ0SGFuZGxlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IHsgY29tcGlsZUV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBldmVudCwgcHJvcGVydHksIHR5cGUgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IEV2ZW50RGVsZWdhdGVIb29rIGZyb20gXCJzYXAvZmUvYmFzZS9FdmVudERlbGVnYXRlSG9va1wiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL0J1aWxkaW5nQmxvY2tcIjtcbmltcG9ydCB7IHR5cGUgVXNlckFjdGl2aXR5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL2NvbGxhYm9yYXRpb24vQ29sbGFib3JhdGlvbkNvbW1vblwiO1xuaW1wb3J0ICogYXMgQ29sbGFib3JhdGlvbkZvcm1hdHRlcnMgZnJvbSBcInNhcC9mZS9jb3JlL2Zvcm1hdHRlcnMvQ29sbGFib3JhdGlvbkZvcm1hdHRlclwiO1xuaW1wb3J0IE1vZGVsSGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5pbXBvcnQgUmVzb3VyY2VNb2RlbEhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9SZXNvdXJjZU1vZGVsSGVscGVyXCI7XG5pbXBvcnQgeyBpc1Byb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHsgdHlwZSBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0ICogYXMgVUlGb3JtYXR0ZXJzIGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IEF2YXRhciwgeyB0eXBlIEF2YXRhciRQcmVzc0V2ZW50IH0gZnJvbSBcInNhcC9tL0F2YXRhclwiO1xuaW1wb3J0IExhYmVsIGZyb20gXCJzYXAvbS9MYWJlbFwiO1xuaW1wb3J0IFJlc3BvbnNpdmVQb3BvdmVyIGZyb20gXCJzYXAvbS9SZXNwb25zaXZlUG9wb3ZlclwiO1xuaW1wb3J0IHR5cGUgVUk1RXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgVUk1RWxlbWVudCBmcm9tIFwic2FwL3VpL2NvcmUvRWxlbWVudFwiO1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXIgfSBmcm9tIFwidHlwZXMvZXh0ZW5zaW9uX3R5cGVzXCI7XG5cbi8qKlxuICogQSBCdWlsZGluZ0Jsb2NrIHRvIHdhdGNoIHRoZSBsb2NrIHN0YXR1cyBvZiBhIHByb3BlcnR5IGFuZCB0byByZWFjdCBvbiBjaGFuZ2VzLlxuICogQHB1YmxpY1xuICogQHVpNS1leHBlcmltZW50YWwtc2luY2UgMS4xNDEuMFxuICogQHNpbmNlIDEuMTQxLjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5Db2xsYWJvcmF0aXZlRHJhZnRIYW5kbGVyXCIpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xsYWJvcmF0aXZlRHJhZnRIYW5kbGVyIGV4dGVuZHMgQnVpbGRpbmdCbG9jazxBdmF0YXI+IHtcblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIHBhdGggb2YgdGhlIGNvbnRleHQgdXNlZCBpbiB0aGUgY3VycmVudCBwYWdlIG9yIGJsb2NrLlxuXHQgKiBUaGlzIHNldHRpbmcgaXMgZGVmaW5lZCBieSB0aGUgZnJhbWV3b3JrLCBhbmQgY2FuIGJlIG92ZXJ3cml0dGVuLlxuXHQgKiBAcHVibGljXG5cdCAqIEB1aTUtZXhwZXJpbWVudGFsLXNpbmNlIDEuMTQxLjBcblx0ICogQHNpbmNlIDEuMTQxLjBcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Y29udGV4dFBhdGghOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIHJlbGF0aXZlIHBhdGggb2YgdGhlIHByb3BlcnR5IGluIHRoZSBtZXRhbW9kZWwsIGJhc2VkIG9uIHRoZSBjdXJyZW50IGNvbnRleHRQYXRoLlxuXHQgKiBAcHVibGljXG5cdCAqIEB1aTUtZXhwZXJpbWVudGFsLXNpbmNlIDEuMTQxLjBcblx0ICogQHNpbmNlIDEuMTQxLjBcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWV0YVBhdGghOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEV2ZW50IGZpcmVkIHdoZW4gdGhlIGxvY2sgc3RhdHVzIGNoYW5nZXMuXG5cdCAqXG5cdCAqIFBhcmFtZXRlcnM6PEJSPlxuXHQgKiAtIGlzTG9ja2VkIDogdHJ1ZSBpZiB0aGUgcHJvcGVydHkgaXMgbG9ja2VkLCBmYWxzZSBvdGhlcndpc2U8QlI+XG5cdCAqIC0gbG9ja2luZ1VzZXJJRDogdGhlIElEIG9mIHRoZSB1c2VyIGxvY2tpbmcgdGhlIHByb3BlcnR5ICh1bmRlZmluZWQgaWYgbm90IGxvY2tlZCk8QlI+XG5cdCAqIC0gbG9ja2luZ1VzZXJOYW1lOiB0aGUgbmFtZSBvZiB0aGUgdXNlciBsb2NraW5nIHRoZSBwcm9wZXJ0eSAodW5kZWZpbmVkIGlmIG5vdCBsb2NrZWQpPEJSPlxuXHQgKiAtIGxvY2tpbmdVc2VySW5pdGlhbHM6IHRoZSBpbml0aWFscyBvZiB0aGUgdXNlciBsb2NraW5nIHRoZSBwcm9wZXJ0eSAodW5kZWZpbmVkIGlmIG5vdCBsb2NrZWQpPEJSPlxuXHQgKiAtIGxvY2tpbmdVc2VyQ29sb3I6IHRoZSBjb2xvciBhc3NvY2lhdGVkIHRvIHRoZSB1c2VyIGxvY2tpbmcgdGhlIHByb3BlcnR5ICh1bmRlZmluZWQgaWYgbm90IGxvY2tlZCk8QlI+XG5cdCAqIEBwdWJsaWNcblx0ICogQHVpNS1leHBlcmltZW50YWwtc2luY2UgMS4xNDEuMFxuXHQgKiBAc2luY2UgMS4xNDEuMFxuXHQgKi9cblx0QGV2ZW50KClcblx0bG9ja0NoYW5nZT86IEV2ZW50SGFuZGxlcjxcblx0XHRVSTVFdmVudDxcblx0XHRcdHtcblx0XHRcdFx0aXNMb2NrZWQ6IGJvb2xlYW47XG5cdFx0XHRcdGxvY2tpbmdVc2VySUQ/OiBzdHJpbmc7XG5cdFx0XHRcdGxvY2tpbmdVc2VyTmFtZT86IHN0cmluZztcblx0XHRcdFx0bG9ja2luZ1VzZXJJbml0aWFscz86IHN0cmluZztcblx0XHRcdFx0bG9ja2luZ1VzZXJDb2xvcj86IHN0cmluZztcblx0XHRcdH0sXG5cdFx0XHRDb2xsYWJvcmF0aXZlRHJhZnRIYW5kbGVyXG5cdFx0PlxuXHQ+O1xuXG5cdC8qKlxuXHQgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHN0YW5kYXJkIEF2YXRhciBjb250cm9sIGlzIGRpc3BsYXllZCB0byBpbmRpY2F0ZSB0aGUgbG9jayBzdGF0dXMuXG5cdCAqIElmIHNldCB0byBmYWxzZSwgbm90aGluZyBpcyBkaXNwbGF5ZWQuXG5cdCAqIEBwdWJsaWNcblx0ICogQHVpNS1leHBlcmltZW50YWwtc2luY2UgMS4xNDEuMFxuXHQgKiBAc2luY2UgMS4xNDEuMFxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0c2hvd0F2YXRhciA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBJbnRlcm5hbCBwcm9wZXJ0eSB0byByZWNlaXZlIHRoZSBsb2NrIGRhdGFcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0bG9ja0luZm8/OiBVc2VyQWN0aXZpdHk7XG5cblx0Y29uc3RydWN0b3IoaWRPclNldHRpbmdzOiBzdHJpbmcgfCBQcm9wZXJ0aWVzT2Y8Q29sbGFib3JhdGl2ZURyYWZ0SGFuZGxlcj4sIHNldHRpbmdzPzogUHJvcGVydGllc09mPENvbGxhYm9yYXRpdmVEcmFmdEhhbmRsZXI+KSB7XG5cdFx0c3VwZXIoaWRPclNldHRpbmdzLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRwcml2YXRlIGdldEZ1bGxNZXRhUGF0aCgpOiBzdHJpbmcge1xuXHRcdGlmICh0aGlzLm1ldGFQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5tZXRhUGF0aDtcblx0XHR9IGVsc2UgaWYgKHRoaXMuY29udGV4dFBhdGguZW5kc1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRyZXR1cm4gYCR7dGhpcy5jb250ZXh0UGF0aH0ke3RoaXMubWV0YVBhdGh9YDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIGAke3RoaXMuY29udGV4dFBhdGh9LyR7dGhpcy5tZXRhUGF0aH1gO1xuXHRcdH1cblx0fVxuXG5cdG9uTWV0YWRhdGFBdmFpbGFibGUoKTogdm9pZCB7XG5cdFx0Y29uc3Qgb3duZXIgPSB0aGlzLl9nZXRPd25lcigpO1xuXHRcdGlmICghb3duZXIpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKCFNb2RlbEhlbHBlci5pc0NvbGxhYm9yYXRpb25EcmFmdFN1cHBvcnRlZChvd25lci5nZXRBcHBDb21wb25lbnQoKS5nZXRNb2RlbCgpLmdldE1ldGFNb2RlbCgpKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMuY29udGV4dFBhdGggPz89IHRoaXMuZ2V0T3duZXJDb250ZXh0UGF0aCgpIGFzIHN0cmluZztcblx0XHRjb25zdCBmdWxsTWV0YVBhdGggPSB0aGlzLmdldEZ1bGxNZXRhUGF0aCgpO1xuXHRcdGNvbnN0IG9iamVjdFBhdGggPSB0aGlzLmdldERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+KGZ1bGxNZXRhUGF0aCk7XG5cdFx0aWYgKCFvYmplY3RQYXRoIHx8ICFpc1Byb3BlcnR5KG9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBDb2xsYWJvcmF0aXZlRHJhZnRIYW5kbGVyOiB0aGUgcHJvdmlkZWQgbWV0YVBhdGggJyR7ZnVsbE1ldGFQYXRofScgZG9lcyBub3QgcG9pbnQgdG8gYSB2YWxpZCBwcm9wZXJ0eWApO1xuXHRcdH1cblxuXHRcdC8vIEJpbmQgdGhlIGxvY2tJbmZvIHByb3BlcnR5IHRvIHRoZSBjb3JyZXNwb25kaW5nIGxvY2tJbmZvIGluIHRoZSBpbnRlcm5hbCBtb2RlbFxuXHRcdGNvbnN0IGtleXNCaW5kaW5nUGFydHMgPSBvYmplY3RQYXRoLnRhcmdldEVudGl0eVR5cGUua2V5cy5tYXAoKGtleSkgPT4ge1xuXHRcdFx0cmV0dXJuIHsgcGF0aDoga2V5Lm5hbWUsIHRhcmdldFR5cGU6IFwiYW55XCIgfTtcblx0XHR9KTtcblx0XHRjb25zdCBiaW5kaW5nSW5mbyA9IHtcblx0XHRcdHBhcnRzOiBbeyBwYXRoOiBgaW50ZXJuYWw+L2NvbGxhYm9yYXRpb24vYWN0aXZpdGllcyR7ZnVsbE1ldGFQYXRofWAsIHRhcmdldFR5cGU6IFwiYW55XCIgfSwgLi4ua2V5c0JpbmRpbmdQYXJ0c10sXG5cdFx0XHRmb3JtYXR0ZXI6IENvbGxhYm9yYXRpb25Gb3JtYXR0ZXJzLmdldENvbGxhYm9yYXRpb25JbmZvXG5cdFx0fTtcblxuXHRcdHRoaXMuYmluZFByb3BlcnR5KFwibG9ja0luZm9cIiwgYmluZGluZ0luZm8pO1xuXG5cdFx0aWYgKCF0aGlzLmNvbnRlbnQgJiYgdGhpcy5zaG93QXZhdGFyKSB7XG5cdFx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbGxhYm9yYXRpb25BdmF0YXIob2JqZWN0UGF0aCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZSB0aGUgbG9ja0luZm8gcHJvcGVydHkgYW5kIGZpcmUgdGhlIGxvY2tDaGFuZ2UgZXZlbnQgaWYgdGhlcmUgaXMgYSBjaGFuZ2UuXG5cdCAqIEBwYXJhbSBsb2NrSW5mb1xuXHQgKi9cblx0c2V0TG9ja0luZm8obG9ja0luZm86IG9iamVjdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmxvY2tJbmZvICE9PSBsb2NrSW5mbykge1xuXHRcdFx0dGhpcy5sb2NrSW5mbyA9IGxvY2tJbmZvIGFzIFVzZXJBY3Rpdml0eSB8IHVuZGVmaW5lZDtcblx0XHRcdHRoaXMuZmlyZUV2ZW50KFwibG9ja0NoYW5nZVwiLCB7XG5cdFx0XHRcdGlzTG9ja2VkOiB0aGlzLmxvY2tJbmZvICE9PSB1bmRlZmluZWQsXG5cdFx0XHRcdGxvY2tpbmdVc2VySUQ6IHRoaXMubG9ja0luZm8/LmlkLFxuXHRcdFx0XHRsb2NraW5nVXNlck5hbWU6IHRoaXMubG9ja0luZm8/Lm5hbWUsXG5cdFx0XHRcdGxvY2tpbmdVc2VySW5pdGlhbHM6IHRoaXMubG9ja0luZm8/LmluaXRpYWxzLFxuXHRcdFx0XHRsb2NraW5nVXNlckNvbG9yOiB0aGlzLmxvY2tJbmZvPy5jb2xvclxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGNvbnRlbnQgb2YgdGhlIGJsb2NrIChBdmF0YXIpLlxuXHQgKiBAcGFyYW0gb2JqZWN0UGF0aFxuXHQgKiBAcmV0dXJucyBUaGUgQXZhdGFyIGNvbnRyb2xcblx0ICovXG5cdGNyZWF0ZUNvbGxhYm9yYXRpb25BdmF0YXIob2JqZWN0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT4pOiBBdmF0YXIge1xuXHRcdGNvbnN0IGNvbGxhYm9yYXRpb25FeHByZXNzaW9uID0gVUlGb3JtYXR0ZXJzLmdldENvbGxhYm9yYXRpb25FeHByZXNzaW9uKFxuXHRcdFx0b2JqZWN0UGF0aCxcblx0XHRcdENvbGxhYm9yYXRpb25Gb3JtYXR0ZXJzLmhhc0NvbGxhYm9yYXRpb25BY3Rpdml0eVxuXHRcdCk7XG5cdFx0Y29uc3QgY29sbGFib3JhdGlvbkhhc0FjdGl2aXR5RXhwcmVzc2lvbiA9IGNvbXBpbGVFeHByZXNzaW9uKGNvbGxhYm9yYXRpb25FeHByZXNzaW9uKTtcblx0XHRjb25zdCBjb2xsYWJvcmF0aW9uSW5pdGlhbHNFeHByZXNzaW9uID0gY29tcGlsZUV4cHJlc3Npb24oXG5cdFx0XHRVSUZvcm1hdHRlcnMuZ2V0Q29sbGFib3JhdGlvbkV4cHJlc3Npb24ob2JqZWN0UGF0aCwgQ29sbGFib3JhdGlvbkZvcm1hdHRlcnMuZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5SW5pdGlhbHMpXG5cdFx0KTtcblx0XHRjb25zdCBjb2xsYWJvcmF0aW9uQ29sb3JFeHByZXNzaW9uID0gY29tcGlsZUV4cHJlc3Npb24oXG5cdFx0XHRVSUZvcm1hdHRlcnMuZ2V0Q29sbGFib3JhdGlvbkV4cHJlc3Npb24ob2JqZWN0UGF0aCwgQ29sbGFib3JhdGlvbkZvcm1hdHRlcnMuZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5Q29sb3IpXG5cdFx0KTtcblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8QXZhdGFyXG5cdFx0XHRcdHZpc2libGU9e2NvbGxhYm9yYXRpb25IYXNBY3Rpdml0eUV4cHJlc3Npb259XG5cdFx0XHRcdGluaXRpYWxzPXtjb2xsYWJvcmF0aW9uSW5pdGlhbHNFeHByZXNzaW9ufVxuXHRcdFx0XHRkaXNwbGF5U2l6ZT1cIkN1c3RvbVwiXG5cdFx0XHRcdGN1c3RvbURpc3BsYXlTaXplPVwiMS41cmVtXCJcblx0XHRcdFx0Y3VzdG9tRm9udFNpemU9XCIwLjhyZW1cIlxuXHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3I9e2NvbGxhYm9yYXRpb25Db2xvckV4cHJlc3Npb259XG5cdFx0XHRcdHByZXNzPXsoZXZ0OiBBdmF0YXIkUHJlc3NFdmVudCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdHRoaXMub25BdmF0YXJQcmVzcyhldnQpO1xuXHRcdFx0XHR9fVxuXHRcdFx0PlxuXHRcdFx0XHR7e1xuXHRcdFx0XHRcdGRlcGVuZGVudHM6IDxFdmVudERlbGVnYXRlSG9vayBzdG9wVGFwUHJvcGFnYXRpb249e3RydWV9IC8+XG5cdFx0XHRcdH19XG5cdFx0XHQ8L0F2YXRhcj5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV2ZW50IGhhbmRsZXIgZm9yIHRoZSBwcmVzcyBldmVudCBvZiB0aGUgQXZhdGFyLlxuXHQgKiBAcGFyYW0gZXZ0XG5cdCAqL1xuXHRvbkF2YXRhclByZXNzKGV2dDogQXZhdGFyJFByZXNzRXZlbnQpOiB2b2lkIHtcblx0XHRjb25zdCBhdmF0YXIgPSBldnQuZ2V0U291cmNlKCk7XG5cdFx0Y29uc3QgYmxvY2sgPSBhdmF0YXIuZ2V0UGFyZW50KCkgYXMgQ29sbGFib3JhdGl2ZURyYWZ0SGFuZGxlcjtcblx0XHRjb25zdCB2aWV3ID0gdGhpcy5nZXRQYWdlQ29udHJvbGxlcigpLmdldFZpZXcoKTtcblx0XHRjb25zdCByZXNvdXJjZU1vZGVsID0gUmVzb3VyY2VNb2RlbEhlbHBlci5nZXRSZXNvdXJjZU1vZGVsKHZpZXcpO1xuXHRcdGxldCBwb3BvdmVyID0gVUk1RWxlbWVudC5nZXRFbGVtZW50QnlJZChgbWFuYWdlQ29sbGFib3JhdGlvbkRyYWZ0LS1lZGl0VXNlcmApIGFzIFJlc3BvbnNpdmVQb3BvdmVyIHwgdW5kZWZpbmVkO1xuXG5cdFx0aWYgKCFwb3BvdmVyKSB7XG5cdFx0XHRwb3BvdmVyID0gbmV3IFJlc3BvbnNpdmVQb3BvdmVyKFwibWFuYWdlQ29sbGFib3JhdGlvbkRyYWZ0LS1lZGl0VXNlclwiLCB7XG5cdFx0XHRcdHNob3dIZWFkZXI6IGZhbHNlLFxuXHRcdFx0XHRwbGFjZW1lbnQ6IFwiQm90dG9tXCJcblx0XHRcdH0pO1xuXHRcdFx0cG9wb3Zlci5hZGRTdHlsZUNsYXNzKFwic2FwVWlDb250ZW50UGFkZGluZ1wiKTtcblx0XHRcdHZpZXcuYWRkRGVwZW5kZW50KHBvcG92ZXIpO1xuXHRcdH1cblxuXHRcdHBvcG92ZXIuZGVzdHJveUNvbnRlbnQoKTtcblx0XHRwb3BvdmVyLmFkZENvbnRlbnQoXG5cdFx0XHRuZXcgTGFiZWwoe1xuXHRcdFx0XHR0ZXh0OiByZXNvdXJjZU1vZGVsLmdldFRleHQoXCJDX0NPTExBQk9SQVRJT05BVkFUQVJfVVNFUl9FRElUX0ZJRUxEXCIsIFtgJHtibG9jay5sb2NrSW5mbz8ubmFtZX1gXSlcblx0XHRcdH0pXG5cdFx0KTtcblx0XHRwb3BvdmVyLm9wZW5CeShhdmF0YXIpO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEEsSUFPcUJBLHlCQUF5QixJQUFBQyxJQUFBLEdBRDdDQyxjQUFjLENBQUMseUNBQXlDLENBQUMsRUFBQUMsS0FBQSxHQVN4REMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBUzVCRixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFFLEtBQUEsR0FnQjVCQyxLQUFLLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBcUJQTCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFLFNBQVM7SUFBRUssWUFBWSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FNbERQLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUosSUFBQSxDQUFBVyxNQUFBLElBQUFDLE9BQUEsMEJBQUFDLGNBQUE7SUFHN0IsU0FBQWQsMEJBQVllLFlBQThELEVBQUVDLFFBQWtELEVBQUU7TUFBQSxJQUFBQyxLQUFBO01BQy9IQSxLQUFBLEdBQUFILGNBQUEsQ0FBQUksSUFBQSxPQUFNSCxZQUFZLEVBQUVDLFFBQVEsQ0FBQztNQS9EOUI7QUFDRDtBQUNBO0FBQ0E7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QWlCLENBQUMsb0NBQW9DLEVBQUU7VUFDckVDLFVBQVUsRUFBRSxLQUFLO1VBQ2pCQyxTQUFTLEVBQUU7UUFDWixDQUFDLENBQUM7UUFDRkwsT0FBTyxDQUFDTSxhQUFhLENBQUMscUJBQXFCLENBQUM7UUFDNUNaLElBQUksQ0FBQ2EsWUFBWSxDQUFDUCxPQUFPLENBQUM7TUFDM0I7TUFFQUEsT0FBTyxDQUFDUSxjQUFjLENBQUMsQ0FBQztNQUN4QlIsT0FBTyxDQUFDUyxVQUFVLENBQ2pCLElBQUlDLEtBQUssQ0FBQztRQUNUQyxJQUFJLEVBQUVkLGFBQWEsQ0FBQ2UsT0FBTyxDQUFDLHVDQUF1QyxFQUFFLENBQUMsR0FBR3BCLEtBQUssQ0FBQ3JDLFFBQVEsRUFBRVosSUFBSSxFQUFFLENBQUM7TUFDakcsQ0FBQyxDQUNGLENBQUM7TUFDRHlELE9BQU8sQ0FBQ2EsTUFBTSxDQUFDdkIsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFBQSxPQUFBdEcseUJBQUE7RUFBQSxFQTlMcUQ4SCxhQUFhLEdBQUExRyxXQUFBLEdBQUEyRyx5QkFBQSxDQUFBbEgsT0FBQSxDQUFBZSxTQUFBLGtCQUFBekIsS0FBQTtJQUFBNkgsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE5RyxZQUFBLEdBQUEwRyx5QkFBQSxDQUFBbEgsT0FBQSxDQUFBZSxTQUFBLGVBQUF0QixLQUFBO0lBQUEwSCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTdHLFlBQUEsR0FBQXlHLHlCQUFBLENBQUFsSCxPQUFBLENBQUFlLFNBQUEsaUJBQUFyQixLQUFBO0lBQUF5SCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTVHLFlBQUEsR0FBQXdHLHlCQUFBLENBQUFsSCxPQUFBLENBQUFlLFNBQUEsaUJBQUFuQixLQUFBO0lBQUF1SCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBLFdBQUFBLENBQUE7TUFBQSxPQXVEdEQsS0FBSztJQUFBO0VBQUEsSUFBQTNHLFlBQUEsR0FBQXVHLHlCQUFBLENBQUFsSCxPQUFBLENBQUFlLFNBQUEsZUFBQWpCLEtBQUE7SUFBQXFILFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBdEgsT0FBQSxNQUFBRCxNQUFBO0VBQUFhLFFBQUEsR0FBQXpCLHlCQUFBO0VBQUEsT0FBQXlCLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
247
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsYWJvcmF0aXZlRHJhZnRIYW5kbGVyIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiX2RlYzIiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjMyIsIl9kZWM0IiwiZXZlbnQiLCJfZGVjNSIsIl9kZWM2IiwiZGVmYXVsdFZhbHVlIiwiX2RlYzciLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2siLCJpZE9yU2V0dGluZ3MiLCJzZXR0aW5ncyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwib25NZXRhZGF0YUF2YWlsYWJsZSIsIm93bmVyIiwiX2dldE93bmVyIiwiTW9kZWxIZWxwZXIiLCJpc0NvbGxhYm9yYXRpb25EcmFmdFN1cHBvcnRlZCIsImdldEFwcENvbXBvbmVudCIsImdldE1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwib2JqZWN0UGF0aCIsImdldERhdGFNb2RlbE9iamVjdEZvck1ldGFQYXRoIiwibWV0YVBhdGgiLCJjb250ZXh0UGF0aCIsImlzUHJvcGVydHkiLCJ0YXJnZXRPYmplY3QiLCJFcnJvciIsImtleXNCaW5kaW5nUGFydHMiLCJjb250ZXh0TG9jYXRpb24iLCJ0YXJnZXRFbnRpdHlUeXBlIiwia2V5cyIsIm1hcCIsImtleSIsInBhdGgiLCJuYW1lIiwidGFyZ2V0VHlwZSIsImJpbmRpbmdJbmZvIiwicGFydHMiLCJnZXRUYXJnZXRPYmplY3RQYXRoIiwiZm9ybWF0dGVyIiwiQ29sbGFib3JhdGlvbkZvcm1hdHRlcnMiLCJnZXRDb2xsYWJvcmF0aW9uSW5mbyIsImJpbmRQcm9wZXJ0eSIsImNvbnRlbnQiLCJzaG93QXZhdGFyIiwiY3JlYXRlQ29sbGFib3JhdGlvbkF2YXRhciIsInNldExvY2tJbmZvIiwibG9ja0luZm8iLCJmaXJlRXZlbnQiLCJpc0xvY2tlZCIsInVuZGVmaW5lZCIsImxvY2tpbmdVc2VySUQiLCJpZCIsImxvY2tpbmdVc2VyTmFtZSIsImxvY2tpbmdVc2VySW5pdGlhbHMiLCJpbml0aWFscyIsImxvY2tpbmdVc2VyQ29sb3IiLCJjb2xvciIsImNvbGxhYm9yYXRpb25IYXNBY3Rpdml0eUV4cHJlc3Npb24iLCJjb21waWxlRXhwcmVzc2lvbiIsIlVJRm9ybWF0dGVycyIsImdldENvbGxhYm9yYXRpb25FeHByZXNzaW9uIiwiaGFzQ29sbGFib3JhdGlvbkFjdGl2aXR5IiwiY29sbGFib3JhdGlvbkluaXRpYWxzRXhwcmVzc2lvbiIsImdldENvbGxhYm9yYXRpb25BY3Rpdml0eUluaXRpYWxzIiwiY29sbGFib3JhdGlvbkNvbG9yRXhwcmVzc2lvbiIsImdldENvbGxhYm9yYXRpb25BY3Rpdml0eUNvbG9yIiwiX2pzeCIsIkF2YXRhciIsInZpc2libGUiLCJkaXNwbGF5U2l6ZSIsImN1c3RvbURpc3BsYXlTaXplIiwiY3VzdG9tRm9udFNpemUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJwcmVzcyIsImV2dCIsIm9uQXZhdGFyUHJlc3MiLCJjaGlsZHJlbiIsImRlcGVuZGVudHMiLCJFdmVudERlbGVnYXRlSG9vayIsInN0b3BUYXBQcm9wYWdhdGlvbiIsImF2YXRhciIsImdldFNvdXJjZSIsImJsb2NrIiwiZ2V0UGFyZW50IiwiaGFzTGlzdGVuZXJzIiwidmlldyIsImdldFBhZ2VDb250cm9sbGVyIiwiZ2V0VmlldyIsInJlc291cmNlTW9kZWwiLCJSZXNvdXJjZU1vZGVsSGVscGVyIiwiZ2V0UmVzb3VyY2VNb2RlbCIsInBvcG92ZXIiLCJVSTVFbGVtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJSZXNwb25zaXZlUG9wb3ZlciIsInNob3dIZWFkZXIiLCJwbGFjZW1lbnQiLCJhZGRTdHlsZUNsYXNzIiwiYWRkRGVwZW5kZW50IiwiZGVzdHJveUNvbnRlbnQiLCJhZGRDb250ZW50IiwiTGFiZWwiLCJ0ZXh0IiwiZ2V0VGV4dCIsIm9wZW5CeSIsIkJ1aWxkaW5nQmxvY2siLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpdmVEcmFmdEhhbmRsZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgUHJvcGVydHkgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIHByb3BlcnR5LCB0eXBlIFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBFdmVudERlbGVnYXRlSG9vayBmcm9tIFwic2FwL2ZlL2Jhc2UvRXZlbnREZWxlZ2F0ZUhvb2tcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrXCI7XG5pbXBvcnQgeyB0eXBlIFVzZXJBY3Rpdml0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9jb2xsYWJvcmF0aW9uL0NvbGxhYm9yYXRpb25Db21tb25cIjtcbmltcG9ydCAqIGFzIENvbGxhYm9yYXRpb25Gb3JtYXR0ZXJzIGZyb20gXCJzYXAvZmUvY29yZS9mb3JtYXR0ZXJzL0NvbGxhYm9yYXRpb25Gb3JtYXR0ZXJcIjtcbmltcG9ydCBNb2RlbEhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IFJlc291cmNlTW9kZWxIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvUmVzb3VyY2VNb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgaXNQcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1R5cGVHdWFyZHNcIjtcbmltcG9ydCB7IGdldFRhcmdldE9iamVjdFBhdGgsIHR5cGUgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCAqIGFzIFVJRm9ybWF0dGVycyBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9VSUZvcm1hdHRlcnNcIjtcbmltcG9ydCBBdmF0YXIsIHsgdHlwZSBBdmF0YXIkUHJlc3NFdmVudCB9IGZyb20gXCJzYXAvbS9BdmF0YXJcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwic2FwL20vTGFiZWxcIjtcbmltcG9ydCBSZXNwb25zaXZlUG9wb3ZlciBmcm9tIFwic2FwL20vUmVzcG9uc2l2ZVBvcG92ZXJcIjtcbmltcG9ydCB0eXBlIFVJNUV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IFVJNUVsZW1lbnQgZnJvbSBcInNhcC91aS9jb3JlL0VsZW1lbnRcIjtcbmltcG9ydCB0eXBlIHsgRXZlbnRIYW5kbGVyIH0gZnJvbSBcInR5cGVzL2V4dGVuc2lvbl90eXBlc1wiO1xuXG4vKipcbiAqIEEgQnVpbGRpbmdCbG9jayB0byB3YXRjaCB0aGUgbG9jayBzdGF0dXMgb2YgYSBwcm9wZXJ0eSBhbmQgdG8gcmVhY3Qgb24gY2hhbmdlcy5cbiAqIEBwdWJsaWNcbiAqIEB1aTUtZXhwZXJpbWVudGFsLXNpbmNlIDEuMTQxLjBcbiAqIEBzaW5jZSAxLjE0MS4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuQ29sbGFib3JhdGl2ZURyYWZ0SGFuZGxlclwiKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sbGFib3JhdGl2ZURyYWZ0SGFuZGxlciBleHRlbmRzIEJ1aWxkaW5nQmxvY2s8QXZhdGFyPiB7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBwYXRoIG9mIHRoZSBjb250ZXh0IHVzZWQgaW4gdGhlIGN1cnJlbnQgcGFnZSBvciBibG9jay5cblx0ICogVGhpcyBzZXR0aW5nIGlzIGRlZmluZWQgYnkgdGhlIGZyYW1ld29yaywgYW5kIGNhbiBiZSBvdmVyd3JpdHRlbi5cblx0ICogQHB1YmxpY1xuXHQgKiBAdWk1LWV4cGVyaW1lbnRhbC1zaW5jZSAxLjE0MS4wXG5cdCAqIEBzaW5jZSAxLjE0MS4wXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGNvbnRleHRQYXRoITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSByZWxhdGl2ZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgbWV0YW1vZGVsLCBiYXNlZCBvbiB0aGUgY3VycmVudCBjb250ZXh0UGF0aC5cblx0ICogQHB1YmxpY1xuXHQgKiBAdWk1LWV4cGVyaW1lbnRhbC1zaW5jZSAxLjE0MS4wXG5cdCAqIEBzaW5jZSAxLjE0MS4wXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdG1ldGFQYXRoITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBmaXJlZCB3aGVuIHRoZSBsb2NrIHN0YXR1cyBjaGFuZ2VzLlxuXHQgKlxuXHQgKiBQYXJhbWV0ZXJzOjxCUj5cblx0ICogLSBpc0xvY2tlZCA6IFRydWUgaWYgdGhlIHByb3BlcnR5IGlzIGxvY2tlZCwgZmFsc2Ugb3RoZXJ3aXNlPEJSPlxuXHQgKiAtIGxvY2tpbmdVc2VySUQ6IFRoZSBJRCBvZiB0aGUgdXNlciBsb2NraW5nIHRoZSBwcm9wZXJ0eSAodW5kZWZpbmVkIGlmIG5vdCBsb2NrZWQpPEJSPlxuXHQgKiAtIGxvY2tpbmdVc2VyTmFtZTogVGhlIG5hbWUgb2YgdGhlIHVzZXIgbG9ja2luZyB0aGUgcHJvcGVydHkgKHVuZGVmaW5lZCBpZiBub3QgbG9ja2VkKTxCUj5cblx0ICogLSBsb2NraW5nVXNlckluaXRpYWxzOiBUaGUgaW5pdGlhbHMgb2YgdGhlIHVzZXIgbG9ja2luZyB0aGUgcHJvcGVydHkgKHVuZGVmaW5lZCBpZiBub3QgbG9ja2VkKTxCUj5cblx0ICogLSBsb2NraW5nVXNlckNvbG9yOiBUaGUgY29sb3IgYXNzb2NpYXRlZCB0byB0aGUgdXNlciBsb2NraW5nIHRoZSBwcm9wZXJ0eSAodW5kZWZpbmVkIGlmIG5vdCBsb2NrZWQpPEJSPlxuXHQgKiBAcHVibGljXG5cdCAqIEB1aTUtZXhwZXJpbWVudGFsLXNpbmNlIDEuMTQxLjBcblx0ICogQHNpbmNlIDEuMTQxLjBcblx0ICovXG5cdEBldmVudCgpXG5cdGxvY2tDaGFuZ2U/OiBFdmVudEhhbmRsZXI8XG5cdFx0VUk1RXZlbnQ8XG5cdFx0XHR7XG5cdFx0XHRcdGlzTG9ja2VkOiBib29sZWFuO1xuXHRcdFx0XHRsb2NraW5nVXNlcklEPzogc3RyaW5nO1xuXHRcdFx0XHRsb2NraW5nVXNlck5hbWU/OiBzdHJpbmc7XG5cdFx0XHRcdGxvY2tpbmdVc2VySW5pdGlhbHM/OiBzdHJpbmc7XG5cdFx0XHRcdGxvY2tpbmdVc2VyQ29sb3I/OiBzdHJpbmc7XG5cdFx0XHR9LFxuXHRcdFx0Q29sbGFib3JhdGl2ZURyYWZ0SGFuZGxlclxuXHRcdD5cblx0PjtcblxuXHQvKipcblx0ICogRXZlbnQgZmlyZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gdGhlIGF2YXRhci5cblx0ICpcblx0ICogUGFyYW1ldGVyczo8QlI+XG5cdCAqIC0gbG9ja2luZ1VzZXJJRDogVGhlIElEIG9mIHRoZSB1c2VyIGxvY2tpbmcgdGhlIHByb3BlcnR5PEJSPlxuXHQgKiAtIGxvY2tpbmdVc2VyTmFtZTogVGhlIG5hbWUgb2YgdGhlIHVzZXIgbG9ja2luZyB0aGUgcHJvcGVydHk8QlI+XG5cdCAqIC0gbG9ja2luZ1VzZXJJbml0aWFsczogVGhlIGluaXRpYWxzIG9mIHRoZSB1c2VyIGxvY2tpbmcgdGhlIHByb3BlcnR5PEJSPlxuXHQgKiAtIGxvY2tpbmdVc2VyQ29sb3I6IFRoZSBjb2xvciBhc3NvY2lhdGVkIHRvIHRoZSB1c2VyIGxvY2tpbmcgdGhlIHByb3BlcnR5PEJSPlxuXHQgKiBAcHVibGljXG5cdCAqIEB1aTUtZXhwZXJpbWVudGFsLXNpbmNlIDEuMTQyLjBcblx0ICogQHNpbmNlIDEuMTQyLjBcblx0ICovXG5cdEBldmVudCgpXG5cdGF2YXRhclByZXNzPzogRXZlbnRIYW5kbGVyPFxuXHRcdFVJNUV2ZW50PFxuXHRcdFx0e1xuXHRcdFx0XHRsb2NraW5nVXNlcklEOiBzdHJpbmc7XG5cdFx0XHRcdGxvY2tpbmdVc2VyTmFtZTogc3RyaW5nO1xuXHRcdFx0XHRsb2NraW5nVXNlckluaXRpYWxzOiBzdHJpbmc7XG5cdFx0XHRcdGxvY2tpbmdVc2VyQ29sb3I6IHN0cmluZztcblx0XHRcdH0sXG5cdFx0XHRDb2xsYWJvcmF0aXZlRHJhZnRIYW5kbGVyXG5cdFx0PlxuXHQ+O1xuXG5cdC8qKlxuXHQgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHN0YW5kYXJkIEF2YXRhciBjb250cm9sIGlzIGRpc3BsYXllZCB0byBpbmRpY2F0ZSB0aGUgbG9jayBzdGF0dXMuXG5cdCAqIElmIHNldCB0byBmYWxzZSwgbm90aGluZyBpcyBkaXNwbGF5ZWQuXG5cdCAqIEBwdWJsaWNcblx0ICogQHVpNS1leHBlcmltZW50YWwtc2luY2UgMS4xNDEuMFxuXHQgKiBAc2luY2UgMS4xNDEuMFxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0c2hvd0F2YXRhciA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBJbnRlcm5hbCBwcm9wZXJ0eSB0byByZWNlaXZlIHRoZSBsb2NrIGRhdGFcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwib2JqZWN0XCIgfSlcblx0bG9ja0luZm8/OiBVc2VyQWN0aXZpdHk7XG5cblx0Y29uc3RydWN0b3IoaWRPclNldHRpbmdzOiBzdHJpbmcgfCBQcm9wZXJ0aWVzT2Y8Q29sbGFib3JhdGl2ZURyYWZ0SGFuZGxlcj4sIHNldHRpbmdzPzogUHJvcGVydGllc09mPENvbGxhYm9yYXRpdmVEcmFmdEhhbmRsZXI+KSB7XG5cdFx0c3VwZXIoaWRPclNldHRpbmdzLCBzZXR0aW5ncyk7XG5cdH1cblxuXHRvbk1ldGFkYXRhQXZhaWxhYmxlKCk6IHZvaWQge1xuXHRcdGNvbnN0IG93bmVyID0gdGhpcy5fZ2V0T3duZXIoKTtcblx0XHRpZiAoIW93bmVyKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmICghTW9kZWxIZWxwZXIuaXNDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWQob3duZXIuZ2V0QXBwQ29tcG9uZW50KCkuZ2V0TW9kZWwoKS5nZXRNZXRhTW9kZWwoKSkpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBvYmplY3RQYXRoID0gdGhpcy5nZXREYXRhTW9kZWxPYmplY3RGb3JNZXRhUGF0aDxQcm9wZXJ0eT4odGhpcy5tZXRhUGF0aCwgdGhpcy5jb250ZXh0UGF0aCk7XG5cdFx0aWYgKCFvYmplY3RQYXRoIHx8ICFpc1Byb3BlcnR5KG9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBDb2xsYWJvcmF0aXZlRHJhZnRIYW5kbGVyOiB0aGUgcHJvdmlkZWQgbWV0YVBhdGggJyR7dGhpcy5tZXRhUGF0aH0nIGRvZXMgbm90IHBvaW50IHRvIGEgdmFsaWQgcHJvcGVydHlgKTtcblx0XHR9XG5cblx0XHQvLyBCaW5kIHRoZSBsb2NrSW5mbyBwcm9wZXJ0eSB0byB0aGUgY29ycmVzcG9uZGluZyBsb2NrSW5mbyBpbiB0aGUgaW50ZXJuYWwgbW9kZWxcblx0XHRjb25zdCBrZXlzQmluZGluZ1BhcnRzID0gb2JqZWN0UGF0aC5jb250ZXh0TG9jYXRpb24/LnRhcmdldEVudGl0eVR5cGUua2V5cy5tYXAoKGtleSkgPT4ge1xuXHRcdFx0cmV0dXJuIHsgcGF0aDoga2V5Lm5hbWUsIHRhcmdldFR5cGU6IFwiYW55XCIgfTtcblx0XHR9KTtcblx0XHRjb25zdCBiaW5kaW5nSW5mbyA9IHtcblx0XHRcdHBhcnRzOiBbXG5cdFx0XHRcdHsgcGF0aDogYGludGVybmFsPi9jb2xsYWJvcmF0aW9uL2FjdGl2aXRpZXMke2dldFRhcmdldE9iamVjdFBhdGgob2JqZWN0UGF0aCl9YCwgdGFyZ2V0VHlwZTogXCJhbnlcIiB9LFxuXHRcdFx0XHQuLi5rZXlzQmluZGluZ1BhcnRzIVxuXHRcdFx0XSxcblx0XHRcdGZvcm1hdHRlcjogQ29sbGFib3JhdGlvbkZvcm1hdHRlcnMuZ2V0Q29sbGFib3JhdGlvbkluZm9cblx0XHR9O1xuXG5cdFx0dGhpcy5iaW5kUHJvcGVydHkoXCJsb2NrSW5mb1wiLCBiaW5kaW5nSW5mbyk7XG5cblx0XHRpZiAoIXRoaXMuY29udGVudCAmJiB0aGlzLnNob3dBdmF0YXIpIHtcblx0XHRcdHRoaXMuY29udGVudCA9IHRoaXMuY3JlYXRlQ29sbGFib3JhdGlvbkF2YXRhcihvYmplY3RQYXRoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlIHRoZSBsb2NrSW5mbyBwcm9wZXJ0eSBhbmQgZmlyZSB0aGUgbG9ja0NoYW5nZSBldmVudCBpZiB0aGVyZSBpcyBhIGNoYW5nZS5cblx0ICogQHBhcmFtIGxvY2tJbmZvXG5cdCAqL1xuXHRzZXRMb2NrSW5mbyhsb2NrSW5mbzogb2JqZWN0IHwgdW5kZWZpbmVkKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMubG9ja0luZm8gIT09IGxvY2tJbmZvKSB7XG5cdFx0XHR0aGlzLmxvY2tJbmZvID0gbG9ja0luZm8gYXMgVXNlckFjdGl2aXR5IHwgdW5kZWZpbmVkO1xuXHRcdFx0dGhpcy5maXJlRXZlbnQoXCJsb2NrQ2hhbmdlXCIsIHtcblx0XHRcdFx0aXNMb2NrZWQ6IHRoaXMubG9ja0luZm8gIT09IHVuZGVmaW5lZCxcblx0XHRcdFx0bG9ja2luZ1VzZXJJRDogdGhpcy5sb2NrSW5mbz8uaWQsXG5cdFx0XHRcdGxvY2tpbmdVc2VyTmFtZTogdGhpcy5sb2NrSW5mbz8ubmFtZSxcblx0XHRcdFx0bG9ja2luZ1VzZXJJbml0aWFsczogdGhpcy5sb2NrSW5mbz8uaW5pdGlhbHMsXG5cdFx0XHRcdGxvY2tpbmdVc2VyQ29sb3I6IHRoaXMubG9ja0luZm8/LmNvbG9yXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgY29udGVudCBvZiB0aGUgYmxvY2sgKEF2YXRhcikuXG5cdCAqIEBwYXJhbSBvYmplY3RQYXRoXG5cdCAqIEByZXR1cm5zIFRoZSBBdmF0YXIgY29udHJvbFxuXHQgKi9cblx0Y3JlYXRlQ29sbGFib3JhdGlvbkF2YXRhcihvYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pik6IEF2YXRhciB7XG5cdFx0Y29uc3QgY29sbGFib3JhdGlvbkhhc0FjdGl2aXR5RXhwcmVzc2lvbiA9IGNvbXBpbGVFeHByZXNzaW9uKFxuXHRcdFx0VUlGb3JtYXR0ZXJzLmdldENvbGxhYm9yYXRpb25FeHByZXNzaW9uKG9iamVjdFBhdGgsIENvbGxhYm9yYXRpb25Gb3JtYXR0ZXJzLmhhc0NvbGxhYm9yYXRpb25BY3Rpdml0eSlcblx0XHQpO1xuXHRcdGNvbnN0IGNvbGxhYm9yYXRpb25Jbml0aWFsc0V4cHJlc3Npb24gPSBjb21waWxlRXhwcmVzc2lvbihcblx0XHRcdFVJRm9ybWF0dGVycy5nZXRDb2xsYWJvcmF0aW9uRXhwcmVzc2lvbihvYmplY3RQYXRoLCBDb2xsYWJvcmF0aW9uRm9ybWF0dGVycy5nZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlJbml0aWFscylcblx0XHQpO1xuXHRcdGNvbnN0IGNvbGxhYm9yYXRpb25Db2xvckV4cHJlc3Npb24gPSBjb21waWxlRXhwcmVzc2lvbihcblx0XHRcdFVJRm9ybWF0dGVycy5nZXRDb2xsYWJvcmF0aW9uRXhwcmVzc2lvbihvYmplY3RQYXRoLCBDb2xsYWJvcmF0aW9uRm9ybWF0dGVycy5nZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlDb2xvcilcblx0XHQpO1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDxBdmF0YXJcblx0XHRcdFx0dmlzaWJsZT17Y29sbGFib3JhdGlvbkhhc0FjdGl2aXR5RXhwcmVzc2lvbn1cblx0XHRcdFx0aW5pdGlhbHM9e2NvbGxhYm9yYXRpb25Jbml0aWFsc0V4cHJlc3Npb259XG5cdFx0XHRcdGRpc3BsYXlTaXplPVwiQ3VzdG9tXCJcblx0XHRcdFx0Y3VzdG9tRGlzcGxheVNpemU9XCIxLjVyZW1cIlxuXHRcdFx0XHRjdXN0b21Gb250U2l6ZT1cIjAuOHJlbVwiXG5cdFx0XHRcdGJhY2tncm91bmRDb2xvcj17Y29sbGFib3JhdGlvbkNvbG9yRXhwcmVzc2lvbn1cblx0XHRcdFx0cHJlc3M9eyhldnQ6IEF2YXRhciRQcmVzc0V2ZW50KTogdm9pZCA9PiB7XG5cdFx0XHRcdFx0dGhpcy5vbkF2YXRhclByZXNzKGV2dCk7XG5cdFx0XHRcdH19XG5cdFx0XHQ+XG5cdFx0XHRcdHt7XG5cdFx0XHRcdFx0ZGVwZW5kZW50czogPEV2ZW50RGVsZWdhdGVIb29rIHN0b3BUYXBQcm9wYWdhdGlvbj17dHJ1ZX0gLz5cblx0XHRcdFx0fX1cblx0XHRcdDwvQXZhdGFyPlxuXHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogRXZlbnQgaGFuZGxlciBmb3IgdGhlIHByZXNzIGV2ZW50IG9mIHRoZSBBdmF0YXIuXG5cdCAqIEBwYXJhbSBldnRcblx0ICovXG5cdG9uQXZhdGFyUHJlc3MoZXZ0OiBBdmF0YXIkUHJlc3NFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IGF2YXRhciA9IGV2dC5nZXRTb3VyY2UoKTtcblx0XHRjb25zdCBibG9jayA9IGF2YXRhci5nZXRQYXJlbnQoKSBhcyBDb2xsYWJvcmF0aXZlRHJhZnRIYW5kbGVyO1xuXG5cdFx0aWYgKGJsb2NrLmhhc0xpc3RlbmVycyhcImF2YXRhclByZXNzXCIpKSB7XG5cdFx0XHQvLyBJZiB0aGUgZXZlbnQgaXMgaGFuZGxlZCBieSB0aGUgYXBwbGljYXRpb24sIGRvIG5vdCBvcGVuIHRoZSBwb3BvdmVyXG5cdFx0XHRibG9jay5maXJlRXZlbnQoXCJhdmF0YXJQcmVzc1wiLCB7XG5cdFx0XHRcdGxvY2tpbmdVc2VySUQ6IGJsb2NrLmxvY2tJbmZvPy5pZCBhcyBzdHJpbmcsXG5cdFx0XHRcdGxvY2tpbmdVc2VyTmFtZTogYmxvY2subG9ja0luZm8/Lm5hbWUgYXMgc3RyaW5nLFxuXHRcdFx0XHRsb2NraW5nVXNlckluaXRpYWxzOiBibG9jay5sb2NrSW5mbz8uaW5pdGlhbHMgYXMgc3RyaW5nLFxuXHRcdFx0XHRsb2NraW5nVXNlckNvbG9yOiBibG9jay5sb2NrSW5mbz8uY29sb3IgYXMgc3RyaW5nXG5cdFx0XHR9KTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y29uc3QgdmlldyA9IHRoaXMuZ2V0UGFnZUNvbnRyb2xsZXIoKS5nZXRWaWV3KCk7XG5cdFx0Y29uc3QgcmVzb3VyY2VNb2RlbCA9IFJlc291cmNlTW9kZWxIZWxwZXIuZ2V0UmVzb3VyY2VNb2RlbCh2aWV3KTtcblx0XHRsZXQgcG9wb3ZlciA9IFVJNUVsZW1lbnQuZ2V0RWxlbWVudEJ5SWQoYG1hbmFnZUNvbGxhYm9yYXRpb25EcmFmdC0tZWRpdFVzZXJgKSBhcyBSZXNwb25zaXZlUG9wb3ZlciB8IHVuZGVmaW5lZDtcblxuXHRcdGlmICghcG9wb3Zlcikge1xuXHRcdFx0cG9wb3ZlciA9IG5ldyBSZXNwb25zaXZlUG9wb3ZlcihcIm1hbmFnZUNvbGxhYm9yYXRpb25EcmFmdC0tZWRpdFVzZXJcIiwge1xuXHRcdFx0XHRzaG93SGVhZGVyOiBmYWxzZSxcblx0XHRcdFx0cGxhY2VtZW50OiBcIkJvdHRvbVwiXG5cdFx0XHR9KTtcblx0XHRcdHBvcG92ZXIuYWRkU3R5bGVDbGFzcyhcInNhcFVpQ29udGVudFBhZGRpbmdcIik7XG5cdFx0XHR2aWV3LmFkZERlcGVuZGVudChwb3BvdmVyKTtcblx0XHR9XG5cblx0XHRwb3BvdmVyLmRlc3Ryb3lDb250ZW50KCk7XG5cdFx0cG9wb3Zlci5hZGRDb250ZW50KFxuXHRcdFx0bmV3IExhYmVsKHtcblx0XHRcdFx0dGV4dDogcmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiQ19DT0xMQUJPUkFUSU9OQVZBVEFSX1VTRVJfRURJVF9GSUVMRFwiLCBbYCR7YmxvY2subG9ja0luZm8/Lm5hbWV9YF0pXG5cdFx0XHR9KVxuXHRcdCk7XG5cdFx0cG9wb3Zlci5vcGVuQnkoYXZhdGFyKTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQSxJQU9xQkEseUJBQXlCLElBQUFDLElBQUEsR0FEN0NDLGNBQWMsQ0FBQyx5Q0FBeUMsQ0FBQyxFQUFBQyxLQUFBLEdBU3hEQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FTNUJGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQWdCNUJDLEtBQUssQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0EwQlBELEtBQUssQ0FBQyxDQUFDLEVBQUFFLEtBQUEsR0FvQlBOLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsU0FBUztJQUFFTSxZQUFZLEVBQUU7RUFBTSxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQU1sRFIsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBSixJQUFBLENBQUFZLE1BQUEsSUFBQUMsT0FBQSwwQkFBQUMsY0FBQTtJQUc3QixTQUFBZiwwQkFBWWdCLFlBQThELEVBQUVDLFFBQWtELEVBQUU7TUFBQSxJQUFBQyxLQUFBO01BQy9IQSxLQUFBLEdBQUFILGNBQUEsQ0FBQUksSUFBQSxPQUFNSCxZQUFZLEVBQUVDLFFBQVEsQ0FBQztNQXhGOUI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7TUFOQ0csMEJBQUEsQ0FBQUYsS0FBQSxpQkFBQUcsV0FBQSxFQUFBSCxLQUFBO01BVUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BTENFLDBCQUFBLENBQUFGLEtBQUEsY0FBQUksWUFBQSxFQUFBSixLQUFBO01BU0E7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7TUFaQ0UsMEJBQUEsQ0FBQUYsS0FBQSxnQkFBQUssWUFBQSxFQUFBTCxLQUFBO01BMkJBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQVhDRSwwQkFBQSxDQUFBRixLQUFBLGlCQUFBTSxZQUFBLEVBQUFOLEtBQUE7TUF5QkE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7TUFOQ0UsMEJBQUEsQ0FBQUYsS0FBQSxnQkFBQU8sWUFBQSxFQUFBUCxLQUFBO01BVUE7QUFDRDtBQUNBO01BRkNFLDBCQUFBLENBQUFGLEtBQUEsY0FBQVEsWUFBQSxFQUFBUixLQUFBO01BQUEsT0FBQUEsS0FBQTtJQVFBO0lBQUNTLFFBQUEsR0FBQTNCLHlCQUFBO0lBQUE0QixjQUFBLENBQUE1Qix5QkFBQSxFQUFBZSxjQUFBO0lBQUEsSUFBQWMsTUFBQSxHQUFBN0IseUJBQUEsQ0FBQThCLFNBQUE7SUFBQUQsTUFBQSxDQUVERSxtQkFBbUIsR0FBbkIsU0FBQUEsbUJBQW1CQSxDQUFBLEVBQVM7TUFDM0IsTUFBTUMsS0FBSyxHQUFHLElBQUksQ0FBQ0MsU0FBUyxDQUFDLENBQUM7TUFDOUIsSUFBSSxDQUFDRCxLQUFLLEVBQUU7UUFDWDtNQUNEO01BQ0EsSUFBSSxDQUFDRSxXQUFXLENBQUNDLDZCQUE2QixDQUFDSCxLQUFLLENBQUNJLGVBQWUsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxDQUFDLENBQUNDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNsRztNQUNEO01BRUEsTUFBTUMsVUFBVSxHQUFHLElBQUksQ0FBQ0MsNkJBQTZCLENBQVcsSUFBSSxDQUFDQyxRQUFRLEVBQUUsSUFBSSxDQUFDQyxXQUFXLENBQUM7TUFDaEcsSUFBSSxDQUFDSCxVQUFVLElBQUksQ0FBQ0ksVUFBVSxDQUFDSixVQUFVLENBQUNLLFlBQVksQ0FBQyxFQUFFO1FBQ3hELE1BQU0sSUFBSUMsS0FBSyxDQUFDLHFEQUFxRCxJQUFJLENBQUNKLFFBQVEsc0NBQXNDLENBQUM7TUFDMUg7O01BRUE7TUFDQSxNQUFNSyxnQkFBZ0IsR0FBR1AsVUFBVSxDQUFDUSxlQUFlLEVBQUVDLGdCQUFnQixDQUFDQyxJQUFJLENBQUNDLEdBQUcsQ0FBRUMsR0FBRyxJQUFLO1FBQ3ZGLE9BQU87VUFBRUMsSUFBSSxFQUFFRCxHQUFHLENBQUNFLElBQUk7VUFBRUMsVUFBVSxFQUFFO1FBQU0sQ0FBQztNQUM3QyxDQUFDLENBQUM7TUFDRixNQUFNQyxXQUFXLEdBQUc7UUFDbkJDLEtBQUssRUFBRSxDQUNOO1VBQUVKLElBQUksRUFBRSxxQ0FBcUNLLG1CQUFtQixDQUFDbEIsVUFBVSxDQUFDLEVBQUU7VUFBRWUsVUFBVSxFQUFFO1FBQU0sQ0FBQyxFQUNuRyxHQUFHUixnQkFBaUIsQ0FDcEI7UUFDRFksU0FBUyxFQUFFQyx1QkFBdUIsQ0FBQ0M7TUFDcEMsQ0FBQztNQUVELElBQUksQ0FBQ0MsWUFBWSxDQUFDLFVBQVUsRUFBRU4sV0FBVyxDQUFDO01BRTFDLElBQUksQ0FBQyxJQUFJLENBQUNPLE9BQU8sSUFBSSxJQUFJLENBQUNDLFVBQVUsRUFBRTtRQUNyQyxJQUFJLENBQUNELE9BQU8sR0FBRyxJQUFJLENBQUNFLHlCQUF5QixDQUFDekIsVUFBVSxDQUFDO01BQzFEO0lBQ0Q7O0lBRUE7QUFDRDtBQUNBO0FBQ0EsT0FIQztJQUFBVixNQUFBLENBSUFvQyxXQUFXLEdBQVgsU0FBQUEsV0FBV0EsQ0FBQ0MsUUFBNEIsRUFBUTtNQUMvQyxJQUFJLElBQUksQ0FBQ0EsUUFBUSxLQUFLQSxRQUFRLEVBQUU7UUFDL0IsSUFBSSxDQUFDQSxRQUFRLEdBQUdBLFFBQW9DO1FBQ3BELElBQUksQ0FBQ0MsU0FBUyxDQUFDLFlBQVksRUFBRTtVQUM1QkMsUUFBUSxFQUFFLElBQUksQ0FBQ0YsUUFBUSxLQUFLRyxTQUFTO1VBQ3JDQyxhQUFhLEVBQUUsSUFBSSxDQUFDSixRQUFRLEVBQUVLLEVBQUU7VUFDaENDLGVBQWUsRUFBRSxJQUFJLENBQUNOLFFBQVEsRUFBRWIsSUFBSTtVQUNwQ29CLG1CQUFtQixFQUFFLElBQUksQ0FBQ1AsUUFBUSxFQUFFUSxRQUFRO1VBQzVDQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUNULFFBQVEsRUFBRVU7UUFDbEMsQ0FBQyxDQUFDO01BQ0g7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBLE9BSkM7SUFBQS9DLE1BQUEsQ0FLQW1DLHlCQUF5QixHQUF6QixTQUFBQSx5QkFBeUJBLENBQUN6QixVQUF5QyxFQUFVO01BQzVFLE1BQU1zQyxrQ0FBa0MsR0FBR0MsaUJBQWlCLENBQzNEQyxZQUFZLENBQUNDLDBCQUEwQixDQUFDekMsVUFBVSxFQUFFb0IsdUJBQXVCLENBQUNzQix3QkFBd0IsQ0FDckcsQ0FBQztNQUNELE1BQU1DLCtCQUErQixHQUFHSixpQkFBaUIsQ0FDeERDLFlBQVksQ0FBQ0MsMEJBQTBCLENBQUN6QyxVQUFVLEVBQUVvQix1QkFBdUIsQ0FBQ3dCLGdDQUFnQyxDQUM3RyxDQUFDO01BQ0QsTUFBTUMsNEJBQTRCLEdBQUdOLGlCQUFpQixDQUNyREMsWUFBWSxDQUFDQywwQkFBMEIsQ0FBQ3pDLFVBQVUsRUFBRW9CLHVCQUF1QixDQUFDMEIsNkJBQTZCLENBQzFHLENBQUM7TUFFRCxPQUNDQyxJQUFBLENBQUNDLE1BQU07UUFDTkMsT0FBTyxFQUFFWCxrQ0FBbUM7UUFDNUNILFFBQVEsRUFBRVEsK0JBQWdDO1FBQzFDTyxXQUFXLEVBQUMsUUFBUTtRQUNwQkMsaUJBQWlCLEVBQUMsUUFBUTtRQUMxQkMsY0FBYyxFQUFDLFFBQVE7UUFDdkJDLGVBQWUsRUFBRVIsNEJBQTZCO1FBQzlDUyxLQUFLLEVBQUdDLEdBQXNCLElBQVc7VUFDeEMsSUFBSSxDQUFDQyxhQUFhLENBQUNELEdBQUcsQ0FBQztRQUN4QixDQUFFO1FBQUFFLFFBQUEsRUFFRDtVQUNBQyxVQUFVLEVBQUVYLElBQUEsQ0FBQ1ksaUJBQWlCO1lBQUNDLGtCQUFrQixFQUFFO1VBQUssQ0FBRTtRQUMzRDtNQUFDLENBQ00sQ0FBQztJQUVYOztJQUVBO0FBQ0Q7QUFDQTtBQUNBLE9BSEM7SUFBQXRFLE1BQUEsQ0FJQWtFLGFBQWEsR0FBYixTQUFBQSxhQUFhQSxDQUFDRCxHQUFzQixFQUFRO01BQzNDLE1BQU1NLE1BQU0sR0FBR04sR0FBRyxDQUFDTyxTQUFTLENBQUMsQ0FBQztNQUM5QixNQUFNQyxLQUFLLEdBQUdGLE1BQU0sQ0FBQ0csU0FBUyxDQUFDLENBQThCO01BRTdELElBQUlELEtBQUssQ0FBQ0UsWUFBWSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQ3RDO1FBQ0FGLEtBQUssQ0FBQ25DLFNBQVMsQ0FBQyxhQUFhLEVBQUU7VUFDOUJHLGFBQWEsRUFBRWdDLEtBQUssQ0FBQ3BDLFFBQVEsRUFBRUssRUFBWTtVQUMzQ0MsZUFBZSxFQUFFOEIsS0FBSyxDQUFDcEMsUUFBUSxFQUFFYixJQUFjO1VBQy9Db0IsbUJBQW1CLEVBQUU2QixLQUFLLENBQUNwQyxRQUFRLEVBQUVRLFFBQWtCO1VBQ3ZEQyxnQkFBZ0IsRUFBRTJCLEtBQUssQ0FBQ3BDLFFBQVEsRUFBRVU7UUFDbkMsQ0FBQyxDQUFDO1FBQ0Y7TUFDRDtNQUNBLE1BQU02QixJQUFJLEdBQUcsSUFBSSxDQUFDQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQy9DLE1BQU1DLGFBQWEsR0FBR0MsbUJBQW1CLENBQUNDLGdCQUFnQixDQUFDTCxJQUFJLENBQUM7TUFDaEUsSUFBSU0sT0FBTyxHQUFHQyxVQUFVLENBQUNDLGNBQWMsQ0FBQyxvQ0FBb0MsQ0FBa0M7TUFFOUcsSUFBSSxDQUFDRixPQUFPLEVBQUU7UUFDYkEsT0FBTyxHQUFHLElBQUlHLGlCQUFpQixDQUFDLG9DQUFvQyxFQUFFO1VBQ3JFQyxVQUFVLEVBQUUsS0FBSztVQUNqQkMsU0FBUyxFQUFFO1FBQ1osQ0FBQyxDQUFDO1FBQ0ZMLE9BQU8sQ0FBQ00sYUFBYSxDQUFDLHFCQUFxQixDQUFDO1FBQzVDWixJQUFJLENBQUNhLFlBQVksQ0FBQ1AsT0FBTyxDQUFDO01BQzNCO01BRUFBLE9BQU8sQ0FBQ1EsY0FBYyxDQUFDLENBQUM7TUFDeEJSLE9BQU8sQ0FBQ1MsVUFBVSxDQUNqQixJQUFJQyxLQUFLLENBQUM7UUFDVEMsSUFBSSxFQUFFZCxhQUFhLENBQUNlLE9BQU8sQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDLEdBQUdyQixLQUFLLENBQUNwQyxRQUFRLEVBQUViLElBQUksRUFBRSxDQUFDO01BQ2pHLENBQUMsQ0FDRixDQUFDO01BQ0QwRCxPQUFPLENBQUNhLE1BQU0sQ0FBQ3hCLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQUEsT0FBQXBHLHlCQUFBO0VBQUEsRUF2TnFENkgsYUFBYSxHQUFBeEcsV0FBQSxHQUFBeUcseUJBQUEsQ0FBQWhILE9BQUEsQ0FBQWdCLFNBQUEsa0JBQUEzQixLQUFBO0lBQUE0SCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTVHLFlBQUEsR0FBQXdHLHlCQUFBLENBQUFoSCxPQUFBLENBQUFnQixTQUFBLGVBQUF4QixLQUFBO0lBQUF5SCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTNHLFlBQUEsR0FBQXVHLHlCQUFBLENBQUFoSCxPQUFBLENBQUFnQixTQUFBLGlCQUFBdkIsS0FBQTtJQUFBd0gsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUExRyxZQUFBLEdBQUFzRyx5QkFBQSxDQUFBaEgsT0FBQSxDQUFBZ0IsU0FBQSxrQkFBQXJCLEtBQUE7SUFBQXNILFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBekcsWUFBQSxHQUFBcUcseUJBQUEsQ0FBQWhILE9BQUEsQ0FBQWdCLFNBQUEsaUJBQUFwQixLQUFBO0lBQUFxSCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBLFdBQUFBLENBQUE7TUFBQSxPQWdGdEQsS0FBSztJQUFBO0VBQUEsSUFBQXhHLFlBQUEsR0FBQW9HLHlCQUFBLENBQUFoSCxPQUFBLENBQUFnQixTQUFBLGVBQUFsQixLQUFBO0lBQUFtSCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQXBILE9BQUEsTUFBQUQsTUFBQTtFQUFBYyxRQUFBLEdBQUEzQix5QkFBQTtFQUFBLE9BQUEyQixRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -8,7 +8,7 @@ import * as CollaborationFormatters from "sap/fe/core/formatters/CollaborationFo
|
|
|
8
8
|
import ModelHelper from "sap/fe/core/helpers/ModelHelper";
|
|
9
9
|
import ResourceModelHelper from "sap/fe/core/helpers/ResourceModelHelper";
|
|
10
10
|
import { isProperty } from "sap/fe/core/helpers/TypeGuards";
|
|
11
|
-
import { type DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
11
|
+
import { getTargetObjectPath, type DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
12
12
|
import * as UIFormatters from "sap/fe/core/templating/UIFormatters";
|
|
13
13
|
import Avatar, { type Avatar$PressEvent } from "sap/m/Avatar";
|
|
14
14
|
import Label from "sap/m/Label";
|
|
@@ -48,11 +48,11 @@ export default class CollaborativeDraftHandler extends BuildingBlock<Avatar> {
|
|
|
48
48
|
* Event fired when the lock status changes.
|
|
49
49
|
*
|
|
50
50
|
* Parameters:<BR>
|
|
51
|
-
* - isLocked :
|
|
52
|
-
* - lockingUserID:
|
|
53
|
-
* - lockingUserName:
|
|
54
|
-
* - lockingUserInitials:
|
|
55
|
-
* - lockingUserColor:
|
|
51
|
+
* - isLocked : True if the property is locked, false otherwise<BR>
|
|
52
|
+
* - lockingUserID: The ID of the user locking the property (undefined if not locked)<BR>
|
|
53
|
+
* - lockingUserName: The name of the user locking the property (undefined if not locked)<BR>
|
|
54
|
+
* - lockingUserInitials: The initials of the user locking the property (undefined if not locked)<BR>
|
|
55
|
+
* - lockingUserColor: The color associated to the user locking the property (undefined if not locked)<BR>
|
|
56
56
|
* @public
|
|
57
57
|
* @ui5-experimental-since 1.141.0
|
|
58
58
|
* @since 1.141.0
|
|
@@ -71,6 +71,31 @@ export default class CollaborativeDraftHandler extends BuildingBlock<Avatar> {
|
|
|
71
71
|
>
|
|
72
72
|
>;
|
|
73
73
|
|
|
74
|
+
/**
|
|
75
|
+
* Event fired when the user clicks on the avatar.
|
|
76
|
+
*
|
|
77
|
+
* Parameters:<BR>
|
|
78
|
+
* - lockingUserID: The ID of the user locking the property<BR>
|
|
79
|
+
* - lockingUserName: The name of the user locking the property<BR>
|
|
80
|
+
* - lockingUserInitials: The initials of the user locking the property<BR>
|
|
81
|
+
* - lockingUserColor: The color associated to the user locking the property<BR>
|
|
82
|
+
* @public
|
|
83
|
+
* @ui5-experimental-since 1.142.0
|
|
84
|
+
* @since 1.142.0
|
|
85
|
+
*/
|
|
86
|
+
@event()
|
|
87
|
+
avatarPress?: EventHandler<
|
|
88
|
+
UI5Event<
|
|
89
|
+
{
|
|
90
|
+
lockingUserID: string;
|
|
91
|
+
lockingUserName: string;
|
|
92
|
+
lockingUserInitials: string;
|
|
93
|
+
lockingUserColor: string;
|
|
94
|
+
},
|
|
95
|
+
CollaborativeDraftHandler
|
|
96
|
+
>
|
|
97
|
+
>;
|
|
98
|
+
|
|
74
99
|
/**
|
|
75
100
|
* If set to true, the standard Avatar control is displayed to indicate the lock status.
|
|
76
101
|
* If set to false, nothing is displayed.
|
|
@@ -91,16 +116,6 @@ export default class CollaborativeDraftHandler extends BuildingBlock<Avatar> {
|
|
|
91
116
|
super(idOrSettings, settings);
|
|
92
117
|
}
|
|
93
118
|
|
|
94
|
-
private getFullMetaPath(): string {
|
|
95
|
-
if (this.metaPath.startsWith("/")) {
|
|
96
|
-
return this.metaPath;
|
|
97
|
-
} else if (this.contextPath.endsWith("/")) {
|
|
98
|
-
return `${this.contextPath}${this.metaPath}`;
|
|
99
|
-
} else {
|
|
100
|
-
return `${this.contextPath}/${this.metaPath}`;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
119
|
onMetadataAvailable(): void {
|
|
105
120
|
const owner = this._getOwner();
|
|
106
121
|
if (!owner) {
|
|
@@ -110,19 +125,20 @@ export default class CollaborativeDraftHandler extends BuildingBlock<Avatar> {
|
|
|
110
125
|
return;
|
|
111
126
|
}
|
|
112
127
|
|
|
113
|
-
this.
|
|
114
|
-
const fullMetaPath = this.getFullMetaPath();
|
|
115
|
-
const objectPath = this.getDataModelObjectPath<Property>(fullMetaPath);
|
|
128
|
+
const objectPath = this.getDataModelObjectForMetaPath<Property>(this.metaPath, this.contextPath);
|
|
116
129
|
if (!objectPath || !isProperty(objectPath.targetObject)) {
|
|
117
|
-
throw new Error(`CollaborativeDraftHandler: the provided metaPath '${
|
|
130
|
+
throw new Error(`CollaborativeDraftHandler: the provided metaPath '${this.metaPath}' does not point to a valid property`);
|
|
118
131
|
}
|
|
119
132
|
|
|
120
133
|
// Bind the lockInfo property to the corresponding lockInfo in the internal model
|
|
121
|
-
const keysBindingParts = objectPath.targetEntityType.keys.map((key) => {
|
|
134
|
+
const keysBindingParts = objectPath.contextLocation?.targetEntityType.keys.map((key) => {
|
|
122
135
|
return { path: key.name, targetType: "any" };
|
|
123
136
|
});
|
|
124
137
|
const bindingInfo = {
|
|
125
|
-
parts: [
|
|
138
|
+
parts: [
|
|
139
|
+
{ path: `internal>/collaboration/activities${getTargetObjectPath(objectPath)}`, targetType: "any" },
|
|
140
|
+
...keysBindingParts!
|
|
141
|
+
],
|
|
126
142
|
formatter: CollaborationFormatters.getCollaborationInfo
|
|
127
143
|
};
|
|
128
144
|
|
|
@@ -156,11 +172,9 @@ export default class CollaborativeDraftHandler extends BuildingBlock<Avatar> {
|
|
|
156
172
|
* @returns The Avatar control
|
|
157
173
|
*/
|
|
158
174
|
createCollaborationAvatar(objectPath: DataModelObjectPath<Property>): Avatar {
|
|
159
|
-
const
|
|
160
|
-
objectPath,
|
|
161
|
-
CollaborationFormatters.hasCollaborationActivity
|
|
175
|
+
const collaborationHasActivityExpression = compileExpression(
|
|
176
|
+
UIFormatters.getCollaborationExpression(objectPath, CollaborationFormatters.hasCollaborationActivity)
|
|
162
177
|
);
|
|
163
|
-
const collaborationHasActivityExpression = compileExpression(collaborationExpression);
|
|
164
178
|
const collaborationInitialsExpression = compileExpression(
|
|
165
179
|
UIFormatters.getCollaborationExpression(objectPath, CollaborationFormatters.getCollaborationActivityInitials)
|
|
166
180
|
);
|
|
@@ -194,6 +208,17 @@ export default class CollaborativeDraftHandler extends BuildingBlock<Avatar> {
|
|
|
194
208
|
onAvatarPress(evt: Avatar$PressEvent): void {
|
|
195
209
|
const avatar = evt.getSource();
|
|
196
210
|
const block = avatar.getParent() as CollaborativeDraftHandler;
|
|
211
|
+
|
|
212
|
+
if (block.hasListeners("avatarPress")) {
|
|
213
|
+
// If the event is handled by the application, do not open the popover
|
|
214
|
+
block.fireEvent("avatarPress", {
|
|
215
|
+
lockingUserID: block.lockInfo?.id as string,
|
|
216
|
+
lockingUserName: block.lockInfo?.name as string,
|
|
217
|
+
lockingUserInitials: block.lockInfo?.initials as string,
|
|
218
|
+
lockingUserColor: block.lockInfo?.color as string
|
|
219
|
+
});
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
197
222
|
const view = this.getPageController().getView();
|
|
198
223
|
const resourceModel = ResourceModelHelper.getResourceModel(view);
|
|
199
224
|
let popover = UI5Element.getElementById(`manageCollaborationDraft--editUser`) as ResponsivePopover | undefined;
|
|
@@ -6,6 +6,12 @@ sap.ui.define(["sap/base/util/deepClone", "sap/ui/model/Filter"], function (deep
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
var _exports = {};
|
|
9
|
+
/**
|
|
10
|
+
* Type definition for the CollectionBindingInfo used in the Table and Chart controls.
|
|
11
|
+
* This type is based on the sap.ui.model.odata.v4.ODataListBinding and adds additional parameters used in SAP Fiori elements.
|
|
12
|
+
* @public
|
|
13
|
+
* @typedef
|
|
14
|
+
*/
|
|
9
15
|
/**
|
|
10
16
|
* API to add parameters to the collection binding info.
|
|
11
17
|
* @hideconstructor
|
|
@@ -104,7 +110,7 @@ sap.ui.define(["sap/base/util/deepClone", "sap/ui/model/Filter"], function (deep
|
|
|
104
110
|
}
|
|
105
111
|
|
|
106
112
|
/**
|
|
107
|
-
* Retrieve the 'serialized' binding info
|
|
113
|
+
* Retrieve the 'serialized' binding info which is useful if you want to create your own binding
|
|
108
114
|
* @returns {CollectionBindingInfo} The {@link sap.fe.macros.CollectionBindingInfo "CollectionBindingInfo"}
|
|
109
115
|
* @public
|
|
110
116
|
*/;
|
|
@@ -169,4 +175,4 @@ sap.ui.define(["sap/base/util/deepClone", "sap/ui/model/Filter"], function (deep
|
|
|
169
175
|
_exports = CollectionBindingInfoAPI;
|
|
170
176
|
return _exports;
|
|
171
177
|
}, false);
|
|
172
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsZWN0aW9uQmluZGluZ0luZm9BUEkiLCJiaW5kaW5nSW5mbyIsImF0dGFjaGVkRXZlbnRzIiwiY29sbGVjdGlvbkJpbmRpbmdJbmZvIiwiX2V4cG9ydHMiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJjbG9uZUZpbHRlcnNDb250ZW50IiwiY2xvbmluZyIsImZpbHRlckluZm8iLCJwYXRoIiwiZ2V0UGF0aCIsIm9wZXJhdG9yIiwiZ2V0T3BlcmF0b3IiLCJ2YWx1ZTEiLCJnZXRWYWx1ZTEiLCJ2YWx1ZTIiLCJnZXRWYWx1ZTIiLCJ2YXJpYWJsZSIsImdldFZhcmlhYmxlIiwiY29uZGl0aW9uIiwiZ2V0Q29uZGl0aW9uIiwiYW5kIiwiaXNBbmQiLCJjYXNlU2Vuc2l0aXZlIiwiaXNDYXNlU2Vuc2l0aXZlIiwidGVzdEZuIiwiZ2V0VGVzdCIsInVuZGVmaW5lZCIsInRlc3QiLCJjb21wYXJhdG9yRm4iLCJnZXRDb21wYXJhdG9yIiwiY29tcGFyYXRvciIsImZpbHRlcnMiLCJnZXRGaWx0ZXJzIiwiYXJyYXlGaWx0ZXIiLCJtYXAiLCJzaW5nbGVGaWx0ZXIiLCJGaWx0ZXIiLCJhZGRGaWx0ZXIiLCJjdXN0b21GaWx0ZXIiLCJwdXNoIiwiZ2V0U29ydGVycyIsInNvcnRlciIsImFkZFNlbGVjdCIsInBhcmFtZXRlcnMiLCJwYXJhbWV0ZXJTdHJpbmciLCJ0b1N0cmluZyIsIiRzZWxlY3QiLCJnZXRCaW5kaW5nSW5mbyIsImNsb25lZEJpbmRpbmdJbmZvIiwiZXZlbnRzIiwiZGVlcENsb25lIiwiYWRkU29ydGVyIiwiYXR0YWNoRXZlbnQiLCJldmVudElkIiwiY2FsbGJhY2siLCJsaXN0ZW5lciIsImRhdGEiLCJoYW5kbGVyIiwiZ2V0QXR0YWNoZWRFdmVudHMiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxlY3Rpb25CaW5kaW5nSW5mby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVlcENsb25lIGZyb20gXCJzYXAvYmFzZS91dGlsL2RlZXBDbG9uZVwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IHR5cGUgRmlsdGVyT3BlcmF0b3IgZnJvbSBcInNhcC91aS9tb2RlbC9GaWx0ZXJPcGVyYXRvclwiO1xuaW1wb3J0IHR5cGUgU29ydGVyIGZyb20gXCJzYXAvdWkvbW9kZWwvU29ydGVyXCI7XG5cbmV4cG9ydCB0eXBlIEZpbHRlckluZm8gPSB7XG5cdHBhdGg/OiBzdHJpbmc7XG5cdHRlc3Q/OiAocDE6IHVua25vd24pID0+IGJvb2xlYW47XG5cdGNvbXBhcmF0b3I/OiAocDE6IHVua25vd24sIHAyOiB1bmtub3duKSA9PiBudW1iZXI7XG5cdG9wZXJhdG9yPzpcblx0XHR8IEZpbHRlck9wZXJhdG9yXG5cdFx0fCBcIkFsbFwiXG5cdFx0fCBcIkFueVwiXG5cdFx0fCBcIkJUXCJcblx0XHR8IFwiQ29udGFpbnNcIlxuXHRcdHwgXCJFbmRzV2l0aFwiXG5cdFx0fCBcIkVRXCJcblx0XHR8IFwiR0VcIlxuXHRcdHwgXCJHVFwiXG5cdFx0fCBcIkxFXCJcblx0XHR8IFwiTFRcIlxuXHRcdHwgXCJOQlwiXG5cdFx0fCBcIk5FXCJcblx0XHR8IFwiTm90Q29udGFpbnNcIlxuXHRcdHwgXCJOb3RFbmRzV2l0aFwiXG5cdFx0fCBcIk5vdFN0YXJ0c1dpdGhcIlxuXHRcdHwgXCJTdGFydHNXaXRoXCJcblx0XHR8IHVuZGVmaW5lZDtcblx0dmFsdWUxPzogdW5rbm93bjtcblx0dmFsdWUyPzogdW5rbm93bjtcblx0dmFyaWFibGU/OiBzdHJpbmc7XG5cdGNvbmRpdGlvbj86IEZpbHRlcjtcblx0ZmlsdGVycz86IEZpbHRlcltdO1xuXHRhbmQ/OiBib29sZWFuO1xuXHRjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25CaW5kaW5nSW5mbyA9IHtcblx0ZXZlbnRzPzogUmVjb3JkPHN0cmluZywgRnVuY3Rpb24+O1xuXHRzdXNwZW5kZWQ/OiBib29sZWFuO1xuXHRwYXRoPzogc3RyaW5nO1xuXHRmaWx0ZXJzPzogRmlsdGVyO1xuXHRzZWFyY2g/OiBzdHJpbmc7XG5cdHBhcmFtZXRlcnM/OiB7XG5cdFx0JHNlYXJjaD86IHN0cmluZztcblx0XHQkc2VsZWN0Pzogc3RyaW5nO1xuXHRcdCQkYWdncmVnYXRpb24/OiBBZ2dyZWdhdGlvbjtcblx0XHQkJHNoYXJlZFJlcXVlc3Q/OiBib29sZWFuO1xuXHRcdCRjb3VudD86IGJvb2xlYW47XG5cdFx0JCRjbGVhclNlbGVjdGlvbk9uRmlsdGVyPzogYm9vbGVhbjtcblx0XHQkJGdldEtlZXBBbGl2ZUNvbnRleHQ/OiBib29sZWFuO1xuXHRcdCQkZ3JvdXBJZD86IHN0cmluZztcblx0XHQkJHVwZGF0ZUdyb3VwSWQ/OiBzdHJpbmc7XG5cdFx0JCRvd25SZXF1ZXN0PzogYm9vbGVhbjtcblx0XHQkJHBhdGNoV2l0aG91dFNpZGVFZmZlY3RzPzogYm9vbGVhbjtcblx0fTtcblx0c29ydGVyPzogU29ydGVyW107XG59O1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvbiA9IHtcblx0c2VhcmNoPzogc3RyaW5nO1xuXHRleHBhbmRUbz86IG51bWJlcjtcblx0aGllcmFyY2h5UXVhbGlmaWVyPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRXZlbnRIYW5kbGVyID0ge1xuXHRldmVudElkOiBzdHJpbmc7XG5cdGNhbGxiYWNrOiBGdW5jdGlvbjtcblx0bGlzdGVuZXI/OiBvYmplY3Q7XG5cdGRhdGE/OiBvYmplY3Q7XG59O1xuXG4vKipcbiAqIEFQSSB0byBhZGQgcGFyYW1ldGVycyB0byB0aGUgY29sbGVjdGlvbiBiaW5kaW5nIGluZm8uXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAYWxpYXMgc2FwLmZlLm1hY3Jvcy5Db2xsZWN0aW9uQmluZGluZ0luZm9cbiAqIEBwdWJsaWNcbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xsZWN0aW9uQmluZGluZ0luZm9BUEkge1xuXHRwcml2YXRlIGNvbGxlY3Rpb25CaW5kaW5nSW5mbzogQ29sbGVjdGlvbkJpbmRpbmdJbmZvO1xuXG5cdHByaXZhdGUgYXR0YWNoZWRFdmVudHM6IEV2ZW50SGFuZGxlcltdID0gW107XG5cblx0Y29uc3RydWN0b3IoYmluZGluZ0luZm86IENvbGxlY3Rpb25CaW5kaW5nSW5mbykge1xuXHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvID0gYmluZGluZ0luZm87XG5cdH1cblxuXHQvKipcblx0ICogUmVjdXJzaXZlIGNsb25pbmcgb2YgdGhlIEZpbHRlci5cblx0ICogRmlsdGVycyBoYXZlIGEgcGFyYW1ldGVyIGFGaWx0ZXJzIHdoaWNoIGNvbnRhaW5zIG1vcmUgZmlsdGVycywgc28gd2UgdXNlIHRoaXMgbWV0aG9kIHRvIHJlY3Vyc2l2ZWx5IGNsb25lIGl0LlxuXHQgKiBjbG9uZUZpbHRlcnMgc2hvdWxkIGJlIGNhbGxlZCBmaXJzdCwgdG8gaGF2ZSB0aGUgRmlsdGVyIG91dHNpZGUgYW4gYXJyYXkgYW5kIGF2b2lkIGFuIGVtcHR5IGZpbHRlci5cblx0ICogQHBhcmFtIGNsb25pbmcgVGhlIGZpbHRlciB0byBiZSBjbG9uZWRcblx0ICogQHJldHVybnMgVGhlIGNsb25lZCBGaWx0ZXJcblx0ICovXG5cdGNsb25lRmlsdGVyc0NvbnRlbnQoY2xvbmluZzogRmlsdGVyKTogRmlsdGVyIHtcblx0XHRjb25zdCBmaWx0ZXJJbmZvOiBGaWx0ZXJJbmZvID0ge1xuXHRcdFx0cGF0aDogY2xvbmluZy5nZXRQYXRoKCksXG5cdFx0XHRvcGVyYXRvcjogY2xvbmluZy5nZXRPcGVyYXRvcigpLFxuXHRcdFx0dmFsdWUxOiBjbG9uaW5nLmdldFZhbHVlMSgpLFxuXHRcdFx0dmFsdWUyOiBjbG9uaW5nLmdldFZhbHVlMigpLFxuXHRcdFx0dmFyaWFibGU6IGNsb25pbmcuZ2V0VmFyaWFibGUoKSxcblx0XHRcdGNvbmRpdGlvbjogY2xvbmluZy5nZXRDb25kaXRpb24oKSxcblx0XHRcdGFuZDogY2xvbmluZy5pc0FuZCgpLFxuXHRcdFx0Y2FzZVNlbnNpdGl2ZTogY2xvbmluZy5pc0Nhc2VTZW5zaXRpdmUoKVxuXHRcdH07XG5cblx0XHRjb25zdCB0ZXN0Rm4gPSBjbG9uaW5nLmdldFRlc3QoKTtcblx0XHRpZiAodGVzdEZuICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGZpbHRlckluZm8udGVzdCA9IHRlc3RGbjtcblx0XHR9XG5cblx0XHRjb25zdCBjb21wYXJhdG9yRm4gPSBjbG9uaW5nLmdldENvbXBhcmF0b3IoKTtcblx0XHRpZiAoY29tcGFyYXRvckZuICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGZpbHRlckluZm8uY29tcGFyYXRvciA9IGNvbXBhcmF0b3JGbjtcblx0XHR9XG5cblx0XHRjb25zdCBmaWx0ZXJzID0gY2xvbmluZy5nZXRGaWx0ZXJzKCk7XG5cdFx0Y29uc3QgYXJyYXlGaWx0ZXIgPSBmaWx0ZXJzPy5tYXAoKHNpbmdsZUZpbHRlcjogRmlsdGVyKSA9PiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5jbG9uZUZpbHRlcnNDb250ZW50KHNpbmdsZUZpbHRlcik7XG5cdFx0fSk7XG5cdFx0aWYgKGFycmF5RmlsdGVyKSB7XG5cdFx0XHRmaWx0ZXJJbmZvLmZpbHRlcnMgPSBhcnJheUZpbHRlcjtcblx0XHR9XG5cdFx0cmV0dXJuIG5ldyBGaWx0ZXIoZmlsdGVySW5mbyk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY3VycmVudCBmaWx0ZXJzIGFwcGxpZWQgdG8gdGhlIFRhYmxlLlxuXHQgKiBAcHVibGljXG5cdCAqIEByZXR1cm5zIFRoZSB7QGxpbmsgc2FwLnVpLm1vZGVsLkZpbHRlciBcImZpbHRlcnNcIn0gb24gdGhlIHRhYmxlXG5cdCAqL1xuXHRnZXRGaWx0ZXJzKCk6IEZpbHRlciB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmZpbHRlcnMpIHtcblx0XHRcdHJldHVybiB0aGlzLmNsb25lRmlsdGVyc0NvbnRlbnQodGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uZmlsdGVycyk7XG5cdFx0fVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogQWRkcyBhIGZpbHRlciB0byB0aGUgZmlsdGVycyBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIGJpbmRpbmcgaW5mby5cblx0ICogQHBhcmFtIGN1c3RvbUZpbHRlciBUaGUge0BsaW5rIHNhcC51aS5tb2RlbC5GaWx0ZXIgXCJmaWx0ZXJcIn0gdG8gYWRkXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFkZEZpbHRlcihjdXN0b21GaWx0ZXI6IEZpbHRlcik6IHZvaWQge1xuXHRcdGNvbnN0IGZpbHRlcnMgPSB0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5maWx0ZXJzID8gW3RoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmZpbHRlcnNdIDogW107XG5cdFx0ZmlsdGVycy5wdXNoKGN1c3RvbUZpbHRlcik7XG5cdFx0dGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uZmlsdGVycyA9IG5ldyBGaWx0ZXIoZmlsdGVycywgdHJ1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY3VycmVudCBzb3J0ZXJzIG9mIHRoZSBUYWJsZS5cblx0ICogQHJldHVybnMgVGhlIHtAbGluayBzYXAudWkubW9kZWwuU29ydGVyIFwic29ydGVyc1wifSBvbiB0aGUgdGFibGVcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0U29ydGVycygpOiBTb3J0ZXJbXSB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnNvcnRlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGRzIHBhcmFtZXRlcnMgdG8gdGhlIHNlbGVjdCBxdWVyeS5cblx0ICogQHBhcmFtIHBhcmFtZXRlcnMgVGhlIGxpc3Qgb3IgcHJvcGVydGllcyB0byBhZGQgdG8gdGhlIHF1ZXJ5XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFkZFNlbGVjdChwYXJhbWV0ZXJzOiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdGNvbnN0IHBhcmFtZXRlclN0cmluZzogc3RyaW5nID0gcGFyYW1ldGVycy50b1N0cmluZygpO1xuXHRcdGlmICh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzPy4kc2VsZWN0KSB7XG5cdFx0XHR0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzLiRzZWxlY3QgPSB0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzLiRzZWxlY3QgKyBcIixcIiArIHBhcmFtZXRlclN0cmluZztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8ucGFyYW1ldGVycyA/Pz0ge307XG5cdFx0XHR0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzLiRzZWxlY3QgPSBwYXJhbWV0ZXJTdHJpbmc7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlIHRoZSAnc2VyaWFsaXplZCcgYmluZGluZyBpbmZvLCB1c2VmdWwgaWYgeW91IHdhbnQgdG8gY3JlYXRlIHlvdXIgb3duIGJpbmRpbmdcblx0ICogQHJldHVybnMge0NvbGxlY3Rpb25CaW5kaW5nSW5mb30gVGhlIHtAbGluayBzYXAuZmUubWFjcm9zLkNvbGxlY3Rpb25CaW5kaW5nSW5mbyBcIkNvbGxlY3Rpb25CaW5kaW5nSW5mb1wifVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXG5cdGdldEJpbmRpbmdJbmZvKCk6IENvbGxlY3Rpb25CaW5kaW5nSW5mbyB7XG5cdFx0Y29uc3QgY2xvbmVkQmluZGluZ0luZm8gPSB7IC4uLnRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvIH07XG5cblx0XHQvLyBNYWtpbmcgZGVlcENsb25lcyBvZiBvYmplY3RzIChleGNlcHQgU29ydGVycyBiZWNhdXNlIHdlIGNhbid0KVxuXHRcdGlmICh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5ldmVudHMpIHtcblx0XHRcdGNsb25lZEJpbmRpbmdJbmZvLmV2ZW50cyA9IGRlZXBDbG9uZSh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5ldmVudHMpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uZmlsdGVycykge1xuXHRcdFx0Y2xvbmVkQmluZGluZ0luZm8uZmlsdGVycyA9IHRoaXMuY2xvbmVGaWx0ZXJzQ29udGVudCh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5maWx0ZXJzKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnBhcmFtZXRlcnMpIHtcblx0XHRcdGRlZXBDbG9uZSh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzKTtcblx0XHR9XG5cdFx0cmV0dXJuIGNsb25lZEJpbmRpbmdJbmZvO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMgYSBzb3J0ZXIgdG8gdGhlIHNvcnRlcihzKSBhbHJlYWR5IHByZXNlbnQsIG9yIGNyZWF0ZSBvbmUgaWYgbm9uZSBleGlzdHMuXG5cdCAqIEBwYXJhbSBzb3J0ZXIgVGhlIHtAbGluayBzYXAudWkubW9kZWwuU29ydGVyIFwic29ydGVyXCJ9IHRvIGFkZCB0byB0aGUgcXVlcnlcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YWRkU29ydGVyKHNvcnRlcjogU29ydGVyKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5zb3J0ZXIpIHtcblx0XHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnNvcnRlciA9IFtzb3J0ZXJdO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5zb3J0ZXIucHVzaChzb3J0ZXIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBBdHRhY2ggdGhlIGV2ZW50cyB0byB0aGUgdGFibGUgYmluZGluZy5cblx0ICogQHBhcmFtIGV2ZW50SWQgVGhlIGV2ZW50IElEIHRvIGF0dGFjaCB0aGUgY2FsbGJhY2sgdG9cblx0ICogQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWRcblx0ICogQHBhcmFtIGxpc3RlbmVyIFRoZSBsaXN0ZW5lciBvYmplY3QgdGhhdCB3aWxsIGJlIHVzZWQgYXMgdGhlIGNvbnRleHQgZm9yIHRoZSBjYWxsYmFjayBmdW5jdGlvblxuXHQgKiBAcGFyYW0gZGF0YSBEYXRhIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gdGhlIGV2ZW50IGlzIHRyaWdnZXJlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhdHRhY2hFdmVudChldmVudElkOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbGlzdGVuZXI/OiBvYmplY3QsIGRhdGE/OiBvYmplY3QpOiB2b2lkIHtcblx0XHRjb25zdCBoYW5kbGVyOiBFdmVudEhhbmRsZXIgPSB7IGV2ZW50SWQsIGNhbGxiYWNrLCBsaXN0ZW5lciwgZGF0YSB9O1xuXHRcdHRoaXMuYXR0YWNoZWRFdmVudHMucHVzaChoYW5kbGVyKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBhdHRhY2hlZCBldmVudCBoYW5kbGVycy5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgYXR0YWNoZWQgZXZlbnQgaGFuZGxlcnMuXG5cdCAqL1xuXHRnZXRBdHRhY2hlZEV2ZW50cygpOiBFdmVudEhhbmRsZXJbXSB7XG5cdFx0cmV0dXJuIHRoaXMuYXR0YWNoZWRFdmVudHM7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7RUF3RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEEsSUFPcUJBLHdCQUF3QjtJQUs1QyxTQUFBQSx5QkFBWUMsV0FBa0MsRUFBRTtNQUFBLEtBRnhDQyxjQUFjLEdBQW1CLEVBQUU7TUFHMUMsSUFBSSxDQUFDQyxxQkFBcUIsR0FBR0YsV0FBVztJQUN6Qzs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQU5DRyxRQUFBLEdBQUFKLHdCQUFBO0lBQUEsSUFBQUssTUFBQSxHQUFBTCx3QkFBQSxDQUFBTSxTQUFBO0lBQUFELE1BQUEsQ0FPQUUsbUJBQW1CLEdBQW5CLFNBQUFBLG1CQUFtQkEsQ0FBQ0MsT0FBZSxFQUFVO01BQzVDLE1BQU1DLFVBQXNCLEdBQUc7UUFDOUJDLElBQUksRUFBRUYsT0FBTyxDQUFDRyxPQUFPLENBQUMsQ0FBQztRQUN2QkMsUUFBUSxFQUFFSixPQUFPLENBQUNLLFdBQVcsQ0FBQyxDQUFDO1FBQy9CQyxNQUFNLEVBQUVOLE9BQU8sQ0FBQ08sU0FBUyxDQUFDLENBQUM7UUFDM0JDLE1BQU0sRUFBRVIsT0FBTyxDQUFDUyxTQUFTLENBQUMsQ0FBQztRQUMzQkMsUUFBUSxFQUFFVixPQUFPLENBQUNXLFdBQVcsQ0FBQyxDQUFDO1FBQy9CQyxTQUFTLEVBQUVaLE9BQU8sQ0FBQ2EsWUFBWSxDQUFDLENBQUM7UUFDakNDLEdBQUcsRUFBRWQsT0FBTyxDQUFDZSxLQUFLLENBQUMsQ0FBQztRQUNwQkMsYUFBYSxFQUFFaEIsT0FBTyxDQUFDaUIsZUFBZSxDQUFDO01BQ3hDLENBQUM7TUFFRCxNQUFNQyxNQUFNLEdBQUdsQixPQUFPLENBQUNtQixPQUFPLENBQUMsQ0FBQztNQUNoQyxJQUFJRCxNQUFNLEtBQUtFLFNBQVMsRUFBRTtRQUN6Qm5CLFVBQVUsQ0FBQ29CLElBQUksR0FBR0gsTUFBTTtNQUN6QjtNQUVBLE1BQU1JLFlBQVksR0FBR3RCLE9BQU8sQ0FBQ3VCLGFBQWEsQ0FBQyxDQUFDO01BQzVDLElBQUlELFlBQVksS0FBS0YsU0FBUyxFQUFFO1FBQy9CbkIsVUFBVSxDQUFDdUIsVUFBVSxHQUFHRixZQUFZO01BQ3JDO01BRUEsTUFBTUcsT0FBTyxHQUFHekIsT0FBTyxDQUFDMEIsVUFBVSxDQUFDLENBQUM7TUFDcEMsTUFBTUMsV0FBVyxHQUFHRixPQUFPLEVBQUVHLEdBQUcsQ0FBRUMsWUFBb0IsSUFBSztRQUMxRCxPQUFPLElBQUksQ0FBQzlCLG1CQUFtQixDQUFDOEIsWUFBWSxDQUFDO01BQzlDLENBQUMsQ0FBQztNQUNGLElBQUlGLFdBQVcsRUFBRTtRQUNoQjFCLFVBQVUsQ0FBQ3dCLE9BQU8sR0FBR0UsV0FBVztNQUNqQztNQUNBLE9BQU8sSUFBSUcsTUFBTSxDQUFDN0IsVUFBVSxDQUFDO0lBQzlCOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsT0FKQztJQUFBSixNQUFBLENBS0E2QixVQUFVLEdBQVYsU0FBQUEsVUFBVUEsQ0FBQSxFQUF1QjtNQUNoQyxJQUFJLElBQUksQ0FBQy9CLHFCQUFxQixDQUFDOEIsT0FBTyxFQUFFO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDMUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDSixxQkFBcUIsQ0FBQzhCLE9BQU8sQ0FBQztNQUNwRTtNQUNBLE9BQU9MLFNBQVM7SUFDakI7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQSxPQUpDO0lBQUF2QixNQUFBLENBS0FrQyxTQUFTLEdBQVQsU0FBQUEsU0FBU0EsQ0FBQ0MsWUFBb0IsRUFBUTtNQUNyQyxNQUFNUCxPQUFPLEdBQUcsSUFBSSxDQUFDOUIscUJBQXFCLENBQUM4QixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM5QixxQkFBcUIsQ0FBQzhCLE9BQU8sQ0FBQyxHQUFHLEVBQUU7TUFDOUZBLE9BQU8sQ0FBQ1EsSUFBSSxDQUFDRCxZQUFZLENBQUM7TUFDMUIsSUFBSSxDQUFDckMscUJBQXFCLENBQUM4QixPQUFPLEdBQUcsSUFBSUssTUFBTSxDQUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQy9EOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsT0FKQztJQUFBNUIsTUFBQSxDQUtBcUMsVUFBVSxHQUFWLFNBQUFBLFVBQVVBLENBQUEsRUFBeUI7TUFDbEMsT0FBTyxJQUFJLENBQUN2QyxxQkFBcUIsQ0FBQ3dDLE1BQU07SUFDekM7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQSxPQUpDO0lBQUF0QyxNQUFBLENBS0F1QyxTQUFTLEdBQVQsU0FBQUEsU0FBU0EsQ0FBQ0MsVUFBb0IsRUFBUTtNQUNyQyxNQUFNQyxlQUF1QixHQUFHRCxVQUFVLENBQUNFLFFBQVEsQ0FBQyxDQUFDO01BQ3JELElBQUksSUFBSSxDQUFDNUMscUJBQXFCLENBQUMwQyxVQUFVLEVBQUVHLE9BQU8sRUFBRTtRQUNuRCxJQUFJLENBQUM3QyxxQkFBcUIsQ0FBQzBDLFVBQVUsQ0FBQ0csT0FBTyxHQUFHLElBQUksQ0FBQzdDLHFCQUFxQixDQUFDMEMsVUFBVSxDQUFDRyxPQUFPLEdBQUcsR0FBRyxHQUFHRixlQUFlO01BQ3RILENBQUMsTUFBTTtRQUNOLElBQUksQ0FBQzNDLHFCQUFxQixDQUFDMEMsVUFBVSxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMxQyxxQkFBcUIsQ0FBQzBDLFVBQVUsQ0FBQ0csT0FBTyxHQUFHRixlQUFlO01BQ2hFO0lBQ0Q7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQSxPQUpDO0lBQUF6QyxNQUFBLENBTUE0QyxjQUFjLEdBQWQsU0FBQUEsY0FBY0EsQ0FBQSxFQUEwQjtNQUN2QyxNQUFNQyxpQkFBaUIsR0FBRztRQUFFLEdBQUcsSUFBSSxDQUFDL0M7TUFBc0IsQ0FBQzs7TUFFM0Q7TUFDQSxJQUFJLElBQUksQ0FBQ0EscUJBQXFCLENBQUNnRCxNQUFNLEVBQUU7UUFDdENELGlCQUFpQixDQUFDQyxNQUFNLEdBQUdDLFNBQVMsQ0FBQyxJQUFJLENBQUNqRCxxQkFBcUIsQ0FBQ2dELE1BQU0sQ0FBQztNQUN4RTtNQUNBLElBQUksSUFBSSxDQUFDaEQscUJBQXFCLENBQUM4QixPQUFPLEVBQUU7UUFDdkNpQixpQkFBaUIsQ0FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMxQixtQkFBbUIsQ0FBQyxJQUFJLENBQUNKLHFCQUFxQixDQUFDOEIsT0FBTyxDQUFDO01BQ3pGO01BQ0EsSUFBSSxJQUFJLENBQUM5QixxQkFBcUIsQ0FBQzBDLFVBQVUsRUFBRTtRQUMxQ08sU0FBUyxDQUFDLElBQUksQ0FBQ2pELHFCQUFxQixDQUFDMEMsVUFBVSxDQUFDO01BQ2pEO01BQ0EsT0FBT0ssaUJBQWlCO0lBQ3pCOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsT0FKQztJQUFBN0MsTUFBQSxDQUtBZ0QsU0FBUyxHQUFULFNBQUFBLFNBQVNBLENBQUNWLE1BQWMsRUFBUTtNQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDeEMscUJBQXFCLENBQUN3QyxNQUFNLEVBQUU7UUFDdkMsSUFBSSxDQUFDeEMscUJBQXFCLENBQUN3QyxNQUFNLEdBQUcsQ0FBQ0EsTUFBTSxDQUFDO01BQzdDLENBQUMsTUFBTTtRQUNOLElBQUksQ0FBQ3hDLHFCQUFxQixDQUFDd0MsTUFBTSxDQUFDRixJQUFJLENBQUNFLE1BQU0sQ0FBQztNQUMvQztJQUNEOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FQQztJQUFBdEMsTUFBQSxDQVFBaUQsV0FBVyxHQUFYLFNBQUFBLFdBQVdBLENBQUNDLE9BQWUsRUFBRUMsUUFBa0IsRUFBRUMsUUFBaUIsRUFBRUMsSUFBYSxFQUFRO01BQ3hGLE1BQU1DLE9BQXFCLEdBQUc7UUFBRUosT0FBTztRQUFFQyxRQUFRO1FBQUVDLFFBQVE7UUFBRUM7TUFBSyxDQUFDO01BQ25FLElBQUksQ0FBQ3hELGNBQWMsQ0FBQ3VDLElBQUksQ0FBQ2tCLE9BQU8sQ0FBQztJQUNsQzs7SUFFQTtBQUNEO0FBQ0E7QUFDQSxPQUhDO0lBQUF0RCxNQUFBLENBSUF1RCxpQkFBaUIsR0FBakIsU0FBQUEsaUJBQWlCQSxDQUFBLEVBQW1CO01BQ25DLE9BQU8sSUFBSSxDQUFDMUQsY0FBYztJQUMzQixDQUFDO0lBQUEsT0FBQUYsd0JBQUE7RUFBQTtFQUFBSSxRQUFBLEdBQUFKLHdCQUFBO0VBQUEsT0FBQUksUUFBQTtBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsZWN0aW9uQmluZGluZ0luZm9BUEkiLCJiaW5kaW5nSW5mbyIsImF0dGFjaGVkRXZlbnRzIiwiY29sbGVjdGlvbkJpbmRpbmdJbmZvIiwiX2V4cG9ydHMiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJjbG9uZUZpbHRlcnNDb250ZW50IiwiY2xvbmluZyIsImZpbHRlckluZm8iLCJwYXRoIiwiZ2V0UGF0aCIsIm9wZXJhdG9yIiwiZ2V0T3BlcmF0b3IiLCJ2YWx1ZTEiLCJnZXRWYWx1ZTEiLCJ2YWx1ZTIiLCJnZXRWYWx1ZTIiLCJ2YXJpYWJsZSIsImdldFZhcmlhYmxlIiwiY29uZGl0aW9uIiwiZ2V0Q29uZGl0aW9uIiwiYW5kIiwiaXNBbmQiLCJjYXNlU2Vuc2l0aXZlIiwiaXNDYXNlU2Vuc2l0aXZlIiwidGVzdEZuIiwiZ2V0VGVzdCIsInVuZGVmaW5lZCIsInRlc3QiLCJjb21wYXJhdG9yRm4iLCJnZXRDb21wYXJhdG9yIiwiY29tcGFyYXRvciIsImZpbHRlcnMiLCJnZXRGaWx0ZXJzIiwiYXJyYXlGaWx0ZXIiLCJtYXAiLCJzaW5nbGVGaWx0ZXIiLCJGaWx0ZXIiLCJhZGRGaWx0ZXIiLCJjdXN0b21GaWx0ZXIiLCJwdXNoIiwiZ2V0U29ydGVycyIsInNvcnRlciIsImFkZFNlbGVjdCIsInBhcmFtZXRlcnMiLCJwYXJhbWV0ZXJTdHJpbmciLCJ0b1N0cmluZyIsIiRzZWxlY3QiLCJnZXRCaW5kaW5nSW5mbyIsImNsb25lZEJpbmRpbmdJbmZvIiwiZXZlbnRzIiwiZGVlcENsb25lIiwiYWRkU29ydGVyIiwiYXR0YWNoRXZlbnQiLCJldmVudElkIiwiY2FsbGJhY2siLCJsaXN0ZW5lciIsImRhdGEiLCJoYW5kbGVyIiwiZ2V0QXR0YWNoZWRFdmVudHMiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxlY3Rpb25CaW5kaW5nSW5mby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVlcENsb25lIGZyb20gXCJzYXAvYmFzZS91dGlsL2RlZXBDbG9uZVwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IHR5cGUgRmlsdGVyT3BlcmF0b3IgZnJvbSBcInNhcC91aS9tb2RlbC9GaWx0ZXJPcGVyYXRvclwiO1xuaW1wb3J0IHR5cGUgU29ydGVyIGZyb20gXCJzYXAvdWkvbW9kZWwvU29ydGVyXCI7XG5cbmV4cG9ydCB0eXBlIEZpbHRlckluZm8gPSB7XG5cdHBhdGg/OiBzdHJpbmc7XG5cdHRlc3Q/OiAocDE6IHVua25vd24pID0+IGJvb2xlYW47XG5cdGNvbXBhcmF0b3I/OiAocDE6IHVua25vd24sIHAyOiB1bmtub3duKSA9PiBudW1iZXI7XG5cdG9wZXJhdG9yPzpcblx0XHR8IEZpbHRlck9wZXJhdG9yXG5cdFx0fCBcIkFsbFwiXG5cdFx0fCBcIkFueVwiXG5cdFx0fCBcIkJUXCJcblx0XHR8IFwiQ29udGFpbnNcIlxuXHRcdHwgXCJFbmRzV2l0aFwiXG5cdFx0fCBcIkVRXCJcblx0XHR8IFwiR0VcIlxuXHRcdHwgXCJHVFwiXG5cdFx0fCBcIkxFXCJcblx0XHR8IFwiTFRcIlxuXHRcdHwgXCJOQlwiXG5cdFx0fCBcIk5FXCJcblx0XHR8IFwiTm90Q29udGFpbnNcIlxuXHRcdHwgXCJOb3RFbmRzV2l0aFwiXG5cdFx0fCBcIk5vdFN0YXJ0c1dpdGhcIlxuXHRcdHwgXCJTdGFydHNXaXRoXCJcblx0XHR8IHVuZGVmaW5lZDtcblx0dmFsdWUxPzogdW5rbm93bjtcblx0dmFsdWUyPzogdW5rbm93bjtcblx0dmFyaWFibGU/OiBzdHJpbmc7XG5cdGNvbmRpdGlvbj86IEZpbHRlcjtcblx0ZmlsdGVycz86IEZpbHRlcltdO1xuXHRhbmQ/OiBib29sZWFuO1xuXHRjYXNlU2Vuc2l0aXZlPzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogVHlwZSBkZWZpbml0aW9uIGZvciB0aGUgQ29sbGVjdGlvbkJpbmRpbmdJbmZvIHVzZWQgaW4gdGhlIFRhYmxlIGFuZCBDaGFydCBjb250cm9scy5cbiAqIFRoaXMgdHlwZSBpcyBiYXNlZCBvbiB0aGUgc2FwLnVpLm1vZGVsLm9kYXRhLnY0Lk9EYXRhTGlzdEJpbmRpbmcgYW5kIGFkZHMgYWRkaXRpb25hbCBwYXJhbWV0ZXJzIHVzZWQgaW4gU0FQIEZpb3JpIGVsZW1lbnRzLlxuICogQHB1YmxpY1xuICogQHR5cGVkZWZcbiAqL1xuZXhwb3J0IHR5cGUgU2VyaWFsaXplZENvbGxlY3Rpb25CaW5kaW5nSW5mbyA9IHtcblx0ZXZlbnRzPzogUmVjb3JkPHN0cmluZywgRnVuY3Rpb24+O1xuXHRzdXNwZW5kZWQ/OiBib29sZWFuO1xuXHRwYXRoPzogc3RyaW5nO1xuXHRmaWx0ZXJzPzogRmlsdGVyO1xuXHRzZWFyY2g/OiBzdHJpbmc7XG5cdHBhcmFtZXRlcnM/OiB7XG5cdFx0JHNlYXJjaD86IHN0cmluZztcblx0XHQkc2VsZWN0Pzogc3RyaW5nO1xuXHRcdCQkYWdncmVnYXRpb24/OiBBZ2dyZWdhdGlvbjtcblx0XHQkJHNoYXJlZFJlcXVlc3Q/OiBib29sZWFuO1xuXHRcdCRjb3VudD86IGJvb2xlYW47XG5cdFx0JCRjbGVhclNlbGVjdGlvbk9uRmlsdGVyPzogYm9vbGVhbjtcblx0XHQkJGdldEtlZXBBbGl2ZUNvbnRleHQ/OiBib29sZWFuO1xuXHRcdCQkZ3JvdXBJZD86IHN0cmluZztcblx0XHQkJHVwZGF0ZUdyb3VwSWQ/OiBzdHJpbmc7XG5cdFx0JCRvd25SZXF1ZXN0PzogYm9vbGVhbjtcblx0XHQkJHBhdGNoV2l0aG91dFNpZGVFZmZlY3RzPzogYm9vbGVhbjtcblx0fTtcblx0c29ydGVyPzogU29ydGVyW107XG59O1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvbiA9IHtcblx0c2VhcmNoPzogc3RyaW5nO1xuXHRleHBhbmRUbz86IG51bWJlcjtcblx0aGllcmFyY2h5UXVhbGlmaWVyPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRXZlbnRIYW5kbGVyID0ge1xuXHRldmVudElkOiBzdHJpbmc7XG5cdGNhbGxiYWNrOiBGdW5jdGlvbjtcblx0bGlzdGVuZXI/OiBvYmplY3Q7XG5cdGRhdGE/OiBvYmplY3Q7XG59O1xuXG4vKipcbiAqIEFQSSB0byBhZGQgcGFyYW1ldGVycyB0byB0aGUgY29sbGVjdGlvbiBiaW5kaW5nIGluZm8uXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAYWxpYXMgc2FwLmZlLm1hY3Jvcy5Db2xsZWN0aW9uQmluZGluZ0luZm9cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sbGVjdGlvbkJpbmRpbmdJbmZvQVBJIHtcblx0cHJpdmF0ZSBjb2xsZWN0aW9uQmluZGluZ0luZm86IFNlcmlhbGl6ZWRDb2xsZWN0aW9uQmluZGluZ0luZm87XG5cblx0cHJpdmF0ZSBhdHRhY2hlZEV2ZW50czogRXZlbnRIYW5kbGVyW10gPSBbXTtcblxuXHRjb25zdHJ1Y3RvcihiaW5kaW5nSW5mbzogU2VyaWFsaXplZENvbGxlY3Rpb25CaW5kaW5nSW5mbykge1xuXHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvID0gYmluZGluZ0luZm87XG5cdH1cblxuXHQvKipcblx0ICogUmVjdXJzaXZlIGNsb25pbmcgb2YgdGhlIEZpbHRlci5cblx0ICogRmlsdGVycyBoYXZlIGEgcGFyYW1ldGVyIGFGaWx0ZXJzIHdoaWNoIGNvbnRhaW5zIG1vcmUgZmlsdGVycywgc28gd2UgdXNlIHRoaXMgbWV0aG9kIHRvIHJlY3Vyc2l2ZWx5IGNsb25lIGl0LlxuXHQgKiBjbG9uZUZpbHRlcnMgc2hvdWxkIGJlIGNhbGxlZCBmaXJzdCwgdG8gaGF2ZSB0aGUgRmlsdGVyIG91dHNpZGUgYW4gYXJyYXkgYW5kIGF2b2lkIGFuIGVtcHR5IGZpbHRlci5cblx0ICogQHBhcmFtIGNsb25pbmcgVGhlIGZpbHRlciB0byBiZSBjbG9uZWRcblx0ICogQHJldHVybnMgVGhlIGNsb25lZCBGaWx0ZXJcblx0ICovXG5cdGNsb25lRmlsdGVyc0NvbnRlbnQoY2xvbmluZzogRmlsdGVyKTogRmlsdGVyIHtcblx0XHRjb25zdCBmaWx0ZXJJbmZvOiBGaWx0ZXJJbmZvID0ge1xuXHRcdFx0cGF0aDogY2xvbmluZy5nZXRQYXRoKCksXG5cdFx0XHRvcGVyYXRvcjogY2xvbmluZy5nZXRPcGVyYXRvcigpLFxuXHRcdFx0dmFsdWUxOiBjbG9uaW5nLmdldFZhbHVlMSgpLFxuXHRcdFx0dmFsdWUyOiBjbG9uaW5nLmdldFZhbHVlMigpLFxuXHRcdFx0dmFyaWFibGU6IGNsb25pbmcuZ2V0VmFyaWFibGUoKSxcblx0XHRcdGNvbmRpdGlvbjogY2xvbmluZy5nZXRDb25kaXRpb24oKSxcblx0XHRcdGFuZDogY2xvbmluZy5pc0FuZCgpLFxuXHRcdFx0Y2FzZVNlbnNpdGl2ZTogY2xvbmluZy5pc0Nhc2VTZW5zaXRpdmUoKVxuXHRcdH07XG5cblx0XHRjb25zdCB0ZXN0Rm4gPSBjbG9uaW5nLmdldFRlc3QoKTtcblx0XHRpZiAodGVzdEZuICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGZpbHRlckluZm8udGVzdCA9IHRlc3RGbjtcblx0XHR9XG5cblx0XHRjb25zdCBjb21wYXJhdG9yRm4gPSBjbG9uaW5nLmdldENvbXBhcmF0b3IoKTtcblx0XHRpZiAoY29tcGFyYXRvckZuICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdGZpbHRlckluZm8uY29tcGFyYXRvciA9IGNvbXBhcmF0b3JGbjtcblx0XHR9XG5cblx0XHRjb25zdCBmaWx0ZXJzID0gY2xvbmluZy5nZXRGaWx0ZXJzKCk7XG5cdFx0Y29uc3QgYXJyYXlGaWx0ZXIgPSBmaWx0ZXJzPy5tYXAoKHNpbmdsZUZpbHRlcjogRmlsdGVyKSA9PiB7XG5cdFx0XHRyZXR1cm4gdGhpcy5jbG9uZUZpbHRlcnNDb250ZW50KHNpbmdsZUZpbHRlcik7XG5cdFx0fSk7XG5cdFx0aWYgKGFycmF5RmlsdGVyKSB7XG5cdFx0XHRmaWx0ZXJJbmZvLmZpbHRlcnMgPSBhcnJheUZpbHRlcjtcblx0XHR9XG5cdFx0cmV0dXJuIG5ldyBGaWx0ZXIoZmlsdGVySW5mbyk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY3VycmVudCBmaWx0ZXJzIGFwcGxpZWQgdG8gdGhlIFRhYmxlLlxuXHQgKiBAcHVibGljXG5cdCAqIEByZXR1cm5zIFRoZSB7QGxpbmsgc2FwLnVpLm1vZGVsLkZpbHRlciBcImZpbHRlcnNcIn0gb24gdGhlIHRhYmxlXG5cdCAqL1xuXHRnZXRGaWx0ZXJzKCk6IEZpbHRlciB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmZpbHRlcnMpIHtcblx0XHRcdHJldHVybiB0aGlzLmNsb25lRmlsdGVyc0NvbnRlbnQodGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uZmlsdGVycyk7XG5cdFx0fVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKipcblx0ICogQWRkcyBhIGZpbHRlciB0byB0aGUgZmlsdGVycyBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIGJpbmRpbmcgaW5mby5cblx0ICogQHBhcmFtIGN1c3RvbUZpbHRlciBUaGUge0BsaW5rIHNhcC51aS5tb2RlbC5GaWx0ZXIgXCJmaWx0ZXJcIn0gdG8gYWRkXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFkZEZpbHRlcihjdXN0b21GaWx0ZXI6IEZpbHRlcik6IHZvaWQge1xuXHRcdGNvbnN0IGZpbHRlcnMgPSB0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5maWx0ZXJzID8gW3RoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmZpbHRlcnNdIDogW107XG5cdFx0ZmlsdGVycy5wdXNoKGN1c3RvbUZpbHRlcik7XG5cdFx0dGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uZmlsdGVycyA9IG5ldyBGaWx0ZXIoZmlsdGVycywgdHJ1ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY3VycmVudCBzb3J0ZXJzIG9mIHRoZSBUYWJsZS5cblx0ICogQHJldHVybnMgVGhlIHtAbGluayBzYXAudWkubW9kZWwuU29ydGVyIFwic29ydGVyc1wifSBvbiB0aGUgdGFibGVcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0U29ydGVycygpOiBTb3J0ZXJbXSB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnNvcnRlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGRzIHBhcmFtZXRlcnMgdG8gdGhlIHNlbGVjdCBxdWVyeS5cblx0ICogQHBhcmFtIHBhcmFtZXRlcnMgVGhlIGxpc3Qgb3IgcHJvcGVydGllcyB0byBhZGQgdG8gdGhlIHF1ZXJ5XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFkZFNlbGVjdChwYXJhbWV0ZXJzOiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdGNvbnN0IHBhcmFtZXRlclN0cmluZzogc3RyaW5nID0gcGFyYW1ldGVycy50b1N0cmluZygpO1xuXHRcdGlmICh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzPy4kc2VsZWN0KSB7XG5cdFx0XHR0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzLiRzZWxlY3QgPSB0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzLiRzZWxlY3QgKyBcIixcIiArIHBhcmFtZXRlclN0cmluZztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8ucGFyYW1ldGVycyA/Pz0ge307XG5cdFx0XHR0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzLiRzZWxlY3QgPSBwYXJhbWV0ZXJTdHJpbmc7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlIHRoZSAnc2VyaWFsaXplZCcgYmluZGluZyBpbmZvIHdoaWNoIGlzIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgeW91ciBvd24gYmluZGluZ1xuXHQgKiBAcmV0dXJucyB7Q29sbGVjdGlvbkJpbmRpbmdJbmZvfSBUaGUge0BsaW5rIHNhcC5mZS5tYWNyb3MuQ29sbGVjdGlvbkJpbmRpbmdJbmZvIFwiQ29sbGVjdGlvbkJpbmRpbmdJbmZvXCJ9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cblx0Z2V0QmluZGluZ0luZm8oKTogU2VyaWFsaXplZENvbGxlY3Rpb25CaW5kaW5nSW5mbyB7XG5cdFx0Y29uc3QgY2xvbmVkQmluZGluZ0luZm8gPSB7IC4uLnRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvIH07XG5cblx0XHQvLyBNYWtpbmcgZGVlcENsb25lcyBvZiBvYmplY3RzIChleGNlcHQgU29ydGVycyBiZWNhdXNlIHdlIGNhbid0KVxuXHRcdGlmICh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5ldmVudHMpIHtcblx0XHRcdGNsb25lZEJpbmRpbmdJbmZvLmV2ZW50cyA9IGRlZXBDbG9uZSh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5ldmVudHMpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uZmlsdGVycykge1xuXHRcdFx0Y2xvbmVkQmluZGluZ0luZm8uZmlsdGVycyA9IHRoaXMuY2xvbmVGaWx0ZXJzQ29udGVudCh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5maWx0ZXJzKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnBhcmFtZXRlcnMpIHtcblx0XHRcdGRlZXBDbG9uZSh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzKTtcblx0XHR9XG5cdFx0cmV0dXJuIGNsb25lZEJpbmRpbmdJbmZvO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMgYSBzb3J0ZXIgdG8gdGhlIHNvcnRlcihzKSBhbHJlYWR5IHByZXNlbnQsIG9yIGNyZWF0ZSBvbmUgaWYgbm9uZSBleGlzdHMuXG5cdCAqIEBwYXJhbSBzb3J0ZXIgVGhlIHtAbGluayBzYXAudWkubW9kZWwuU29ydGVyIFwic29ydGVyXCJ9IHRvIGFkZCB0byB0aGUgcXVlcnlcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YWRkU29ydGVyKHNvcnRlcjogU29ydGVyKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5zb3J0ZXIpIHtcblx0XHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnNvcnRlciA9IFtzb3J0ZXJdO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5zb3J0ZXIucHVzaChzb3J0ZXIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBBdHRhY2ggdGhlIGV2ZW50cyB0byB0aGUgdGFibGUgYmluZGluZy5cblx0ICogQHBhcmFtIGV2ZW50SWQgVGhlIGV2ZW50IElEIHRvIGF0dGFjaCB0aGUgY2FsbGJhY2sgdG9cblx0ICogQHBhcmFtIGNhbGxiYWNrIFRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWRcblx0ICogQHBhcmFtIGxpc3RlbmVyIFRoZSBsaXN0ZW5lciBvYmplY3QgdGhhdCB3aWxsIGJlIHVzZWQgYXMgdGhlIGNvbnRleHQgZm9yIHRoZSBjYWxsYmFjayBmdW5jdGlvblxuXHQgKiBAcGFyYW0gZGF0YSBEYXRhIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gdGhlIGV2ZW50IGlzIHRyaWdnZXJlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhdHRhY2hFdmVudChldmVudElkOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbGlzdGVuZXI/OiBvYmplY3QsIGRhdGE/OiBvYmplY3QpOiB2b2lkIHtcblx0XHRjb25zdCBoYW5kbGVyOiBFdmVudEhhbmRsZXIgPSB7IGV2ZW50SWQsIGNhbGxiYWNrLCBsaXN0ZW5lciwgZGF0YSB9O1xuXHRcdHRoaXMuYXR0YWNoZWRFdmVudHMucHVzaChoYW5kbGVyKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBhdHRhY2hlZCBldmVudCBoYW5kbGVycy5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgYXR0YWNoZWQgZXZlbnQgaGFuZGxlcnMuXG5cdCAqL1xuXHRnZXRBdHRhY2hlZEV2ZW50cygpOiBFdmVudEhhbmRsZXJbXSB7XG5cdFx0cmV0dXJuIHRoaXMuYXR0YWNoZWRFdmVudHM7XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7RUFxQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBb0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUxBLElBTXFCQSx3QkFBd0I7SUFLNUMsU0FBQUEseUJBQVlDLFdBQTRDLEVBQUU7TUFBQSxLQUZsREMsY0FBYyxHQUFtQixFQUFFO01BRzFDLElBQUksQ0FBQ0MscUJBQXFCLEdBQUdGLFdBQVc7SUFDekM7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFOQ0csUUFBQSxHQUFBSix3QkFBQTtJQUFBLElBQUFLLE1BQUEsR0FBQUwsd0JBQUEsQ0FBQU0sU0FBQTtJQUFBRCxNQUFBLENBT0FFLG1CQUFtQixHQUFuQixTQUFBQSxtQkFBbUJBLENBQUNDLE9BQWUsRUFBVTtNQUM1QyxNQUFNQyxVQUFzQixHQUFHO1FBQzlCQyxJQUFJLEVBQUVGLE9BQU8sQ0FBQ0csT0FBTyxDQUFDLENBQUM7UUFDdkJDLFFBQVEsRUFBRUosT0FBTyxDQUFDSyxXQUFXLENBQUMsQ0FBQztRQUMvQkMsTUFBTSxFQUFFTixPQUFPLENBQUNPLFNBQVMsQ0FBQyxDQUFDO1FBQzNCQyxNQUFNLEVBQUVSLE9BQU8sQ0FBQ1MsU0FBUyxDQUFDLENBQUM7UUFDM0JDLFFBQVEsRUFBRVYsT0FBTyxDQUFDVyxXQUFXLENBQUMsQ0FBQztRQUMvQkMsU0FBUyxFQUFFWixPQUFPLENBQUNhLFlBQVksQ0FBQyxDQUFDO1FBQ2pDQyxHQUFHLEVBQUVkLE9BQU8sQ0FBQ2UsS0FBSyxDQUFDLENBQUM7UUFDcEJDLGFBQWEsRUFBRWhCLE9BQU8sQ0FBQ2lCLGVBQWUsQ0FBQztNQUN4QyxDQUFDO01BRUQsTUFBTUMsTUFBTSxHQUFHbEIsT0FBTyxDQUFDbUIsT0FBTyxDQUFDLENBQUM7TUFDaEMsSUFBSUQs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Q0FBQ0MsTUFBTSxHQUFHQyxTQUFTLENBQUMsSUFBSSxDQUFDakQscUJBQXFCLENBQUNnRCxNQUFNLENBQUM7TUFDeEU7TUFDQSxJQUFJLElBQUksQ0FBQ2hELHFCQUFxQixDQUFDOEIsT0FBTyxFQUFFO1FBQ3ZDaUIsaUJBQWlCLENBQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDMUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDSixxQkFBcUIsQ0FBQzhCLE9BQU8sQ0FBQztNQUN6RjtNQUNBLElBQUksSUFBSSxDQUFDOUIscUJBQXFCLENBQUMwQyxVQUFVLEVBQUU7UUFDMUNPLFNBQVMsQ0FBQyxJQUFJLENBQUNqRCxxQkFBcUIsQ0FBQzBDLFVBQVUsQ0FBQztNQUNqRDtNQUNBLE9BQU9LLGlCQUFpQjtJQUN6Qjs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBLE9BSkM7SUFBQTdDLE1BQUEsQ0FLQWdELFNBQVMsR0FBVCxTQUFBQSxTQUFTQSxDQUFDVixNQUFjLEVBQVE7TUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQ3hDLHFCQUFxQixDQUFDd0MsTUFBTSxFQUFFO1FBQ3ZDLElBQUksQ0FBQ3hDLHFCQUFxQixDQUFDd0MsTUFBTSxHQUFHLENBQUNBLE1BQU0sQ0FBQztNQUM3QyxDQUFDLE1BQU07UUFDTixJQUFJLENBQUN4QyxxQkFBcUIsQ0FBQ3dDLE1BQU0sQ0FBQ0YsSUFBSSxDQUFDRSxNQUFNLENBQUM7TUFDL0M7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BUEM7SUFBQXRDLE1BQUEsQ0FRQWlELFdBQVcsR0FBWCxTQUFBQSxXQUFXQSxDQUFDQyxPQUFlLEVBQUVDLFFBQWtCLEVBQUVDLFFBQWlCLEVBQUVDLElBQWEsRUFBUTtNQUN4RixNQUFNQyxPQUFxQixHQUFHO1FBQUVKLE9BQU87UUFBRUMsUUFBUTtRQUFFQyxRQUFRO1FBQUVDO01BQUssQ0FBQztNQUNuRSxJQUFJLENBQUN4RCxjQUFjLENBQUN1QyxJQUFJLENBQUNrQixPQUFPLENBQUM7SUFDbEM7O0lBRUE7QUFDRDtBQUNBO0FBQ0EsT0FIQztJQUFBdEQsTUFBQSxDQUlBdUQsaUJBQWlCLEdBQWpCLFNBQUFBLGlCQUFpQkEsQ0FBQSxFQUFtQjtNQUNuQyxPQUFPLElBQUksQ0FBQzFELGNBQWM7SUFDM0IsQ0FBQztJQUFBLE9BQUFGLHdCQUFBO0VBQUE7RUFBQUksUUFBQSxHQUFBSix3QkFBQTtFQUFBLE9BQUFJLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|