@sapui5/sap.fe.macros 1.138.0 → 1.139.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 +269 -0
- package/src/sap/fe/macros/Breadcrumbs.tsx +243 -0
- package/src/sap/fe/macros/CommonHelper.js +2 -2
- package/src/sap/fe/macros/CommonHelper.ts +1 -1
- package/src/sap/fe/macros/Field.js +21 -4
- package/src/sap/fe/macros/Field.ts +21 -3
- package/src/sap/fe/macros/FooterContent.js +40 -10
- package/src/sap/fe/macros/FooterContent.tsx +44 -8
- package/src/sap/fe/macros/FormElement.js +2 -2
- package/src/sap/fe/macros/FormElement.ts +1 -2
- package/src/sap/fe/macros/MultiValueField.js +17 -4
- package/src/sap/fe/macros/MultiValueField.tsx +7 -2
- package/src/sap/fe/macros/RichTextEditor.js +30 -5
- package/src/sap/fe/macros/RichTextEditor.tsx +34 -6
- package/src/sap/fe/macros/Share.js +73 -40
- package/src/sap/fe/macros/Share.tsx +29 -1
- package/src/sap/fe/macros/ValueHelp.js +3 -4
- package/src/sap/fe/macros/ValueHelp.tsx +2 -3
- package/src/sap/fe/macros/ai/EasyFillButton.js +10 -4
- package/src/sap/fe/macros/ai/EasyFillButton.tsx +8 -1
- package/src/sap/fe/macros/ai/EasyFillDialog.js +25 -10
- package/src/sap/fe/macros/ai/EasyFillDialog.tsx +32 -23
- package/src/sap/fe/macros/ai/EasyFilterBar.js +30 -30
- package/src/sap/fe/macros/ai/EasyFilterBar.tsx +40 -43
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +11 -5
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +14 -5
- package/src/sap/fe/macros/chart/ChartDelegate.js +4 -4
- package/src/sap/fe/macros/chart/ChartDelegate.ts +3 -3
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +19 -3
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +15 -4
- package/src/sap/fe/macros/controls/FieldWrapper.js +9 -3
- package/src/sap/fe/macros/controls/FieldWrapper.ts +11 -2
- package/src/sap/fe/macros/controls/FilterBar.js +49 -2
- package/src/sap/fe/macros/controls/FilterBar.ts +55 -1
- package/src/sap/fe/macros/controls/RequiredFlexBox.js +62 -0
- package/src/sap/fe/macros/controls/RequiredFlexBox.tsx +20 -0
- package/src/sap/fe/macros/controls/filterbar/VisualFilter.js +21 -11
- package/src/sap/fe/macros/controls/filterbar/VisualFilter.ts +25 -11
- package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.js +11 -2
- package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.ts +12 -1
- package/src/sap/fe/macros/controls/filterbar/utils/VisualFilterUtils.js +18 -1
- package/src/sap/fe/macros/controls/filterbar/utils/VisualFilterUtils.ts +20 -0
- 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/designtime/Designtime.helper.js +12 -2
- package/src/sap/fe/macros/designtime/Designtime.helper.ts +12 -0
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +15 -4
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +5 -0
- package/src/sap/fe/macros/field/FieldBaseDelegate.js +9 -3
- package/src/sap/fe/macros/field/FieldBaseDelegate.ts +22 -1
- package/src/sap/fe/macros/field/FieldFormatOptions.js +73 -44
- package/src/sap/fe/macros/field/FieldFormatOptions.ts +20 -2
- package/src/sap/fe/macros/filterBar/FilterBar.block.js +8 -2
- package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +2 -5
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +8 -8
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +8 -8
- package/src/sap/fe/macros/filterBar/designtime/FilterBar.designtime.js +3 -1
- package/src/sap/fe/macros/filterBar/designtime/FilterBar.designtime.ts +2 -0
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +1 -1
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +1 -1
- package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -2
- package/src/sap/fe/macros/form/FormContainer.fragment.xml +40 -0
- package/src/sap/fe/macros/form/FormContainerAPI.js +14 -16
- package/src/sap/fe/macros/form/FormContainerAPI.ts +13 -15
- package/src/sap/fe/macros/formatters/TableFormatter.js +10 -1
- package/src/sap/fe/macros/formatters/TableFormatter.ts +14 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.js +15 -3
- package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +14 -2
- package/src/sap/fe/macros/internal/DataPoint.js +2 -1
- package/src/sap/fe/macros/internal/DataPoint.tsx +1 -0
- package/src/sap/fe/macros/internal/DataPointFormatOptions.js +11 -2
- package/src/sap/fe/macros/internal/DataPointFormatOptions.ts +3 -0
- package/src/sap/fe/macros/internal/FilterField.block.js +4 -2
- package/src/sap/fe/macros/internal/FilterField.block.ts +3 -1
- package/src/sap/fe/macros/internal/field/CheckBoxGroup.fragment.xml +25 -0
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +49 -11
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +51 -4
- package/src/sap/fe/macros/internal/field/EditStyle.js +5 -1
- package/src/sap/fe/macros/internal/field/EditStyle.tsx +4 -0
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +9 -2
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +10 -0
- package/src/sap/fe/macros/internal/field/FieldStyles.js +1 -1
- package/src/sap/fe/macros/internal/field/FieldStyles.tsx +2 -1
- package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +1 -0
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +7 -3
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +8 -7
- package/src/sap/fe/macros/internal/valuehelp/ValueListTable.fragment.xml +1 -0
- package/src/sap/fe/macros/library.js +1 -1
- package/src/sap/fe/macros/mdc/adapter/StateHelper.js +7 -2
- package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +7 -3
- package/src/sap/fe/macros/messagebundle.properties +37 -29
- package/src/sap/fe/macros/messagebundle_ar.properties +5 -3
- package/src/sap/fe/macros/messagebundle_bg.properties +6 -4
- package/src/sap/fe/macros/messagebundle_ca.properties +8 -6
- package/src/sap/fe/macros/messagebundle_cnr.properties +5 -3
- package/src/sap/fe/macros/messagebundle_cs.properties +4 -2
- package/src/sap/fe/macros/messagebundle_cy.properties +7 -5
- package/src/sap/fe/macros/messagebundle_da.properties +6 -4
- package/src/sap/fe/macros/messagebundle_de.properties +11 -9
- package/src/sap/fe/macros/messagebundle_el.properties +7 -5
- package/src/sap/fe/macros/messagebundle_en.properties +8 -6
- package/src/sap/fe/macros/messagebundle_en_GB.properties +8 -6
- package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +8 -6
- package/src/sap/fe/macros/messagebundle_es.properties +6 -4
- package/src/sap/fe/macros/messagebundle_es_MX.properties +6 -4
- package/src/sap/fe/macros/messagebundle_et.properties +5 -3
- package/src/sap/fe/macros/messagebundle_fi.properties +8 -6
- package/src/sap/fe/macros/messagebundle_fr.properties +6 -4
- package/src/sap/fe/macros/messagebundle_fr_CA.properties +8 -6
- package/src/sap/fe/macros/messagebundle_hi.properties +6 -4
- package/src/sap/fe/macros/messagebundle_hr.properties +6 -4
- package/src/sap/fe/macros/messagebundle_hu.properties +4 -2
- package/src/sap/fe/macros/messagebundle_id.properties +8 -6
- package/src/sap/fe/macros/messagebundle_it.properties +4 -2
- package/src/sap/fe/macros/messagebundle_iw.properties +5 -3
- package/src/sap/fe/macros/messagebundle_ja.properties +5 -3
- package/src/sap/fe/macros/messagebundle_kk.properties +5 -3
- package/src/sap/fe/macros/messagebundle_ko.properties +4 -2
- package/src/sap/fe/macros/messagebundle_lt.properties +6 -4
- package/src/sap/fe/macros/messagebundle_lv.properties +5 -3
- package/src/sap/fe/macros/messagebundle_mk.properties +5 -3
- package/src/sap/fe/macros/messagebundle_ms.properties +8 -6
- package/src/sap/fe/macros/messagebundle_nl.properties +7 -5
- package/src/sap/fe/macros/messagebundle_no.properties +6 -4
- package/src/sap/fe/macros/messagebundle_pl.properties +6 -4
- package/src/sap/fe/macros/messagebundle_pt.properties +7 -5
- package/src/sap/fe/macros/messagebundle_pt_PT.properties +6 -4
- package/src/sap/fe/macros/messagebundle_ro.properties +7 -5
- package/src/sap/fe/macros/messagebundle_ru.properties +4 -2
- package/src/sap/fe/macros/messagebundle_sh.properties +5 -3
- package/src/sap/fe/macros/messagebundle_sk.properties +5 -3
- package/src/sap/fe/macros/messagebundle_sl.properties +6 -4
- package/src/sap/fe/macros/messagebundle_sr.properties +5 -3
- package/src/sap/fe/macros/messagebundle_sv.properties +5 -3
- package/src/sap/fe/macros/messagebundle_th.properties +4 -2
- package/src/sap/fe/macros/messagebundle_tr.properties +4 -2
- package/src/sap/fe/macros/messagebundle_uk.properties +10 -8
- package/src/sap/fe/macros/messagebundle_vi.properties +6 -4
- package/src/sap/fe/macros/messagebundle_zh_CN.properties +5 -3
- package/src/sap/fe/macros/messagebundle_zh_TW.properties +5 -3
- package/src/sap/fe/macros/messages/MessageButton.js +17 -19
- package/src/sap/fe/macros/messages/MessageButton.ts +24 -22
- package/src/sap/fe/macros/table/Action.js +24 -2
- package/src/sap/fe/macros/table/Action.ts +13 -0
- package/src/sap/fe/macros/table/ActionGroup.js +24 -2
- package/src/sap/fe/macros/table/ActionGroup.ts +13 -0
- package/src/sap/fe/macros/table/ActionGroupOverride.js +24 -2
- package/src/sap/fe/macros/table/ActionGroupOverride.ts +13 -0
- package/src/sap/fe/macros/table/ActionOverride.js +24 -2
- package/src/sap/fe/macros/table/ActionOverride.ts +13 -0
- package/src/sap/fe/macros/table/ActionsTemplating.js +73 -12
- package/src/sap/fe/macros/table/ActionsTemplating.tsx +69 -13
- package/src/sap/fe/macros/table/Column.js +3 -3
- package/src/sap/fe/macros/table/Column.ts +2 -2
- package/src/sap/fe/macros/table/MdcTableTemplate.js +18 -8
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +30 -5
- package/src/sap/fe/macros/table/QuickFilterSelector.js +35 -14
- package/src/sap/fe/macros/table/QuickFilterSelector.tsx +22 -3
- package/src/sap/fe/macros/table/Table.block.js +137 -108
- package/src/sap/fe/macros/table/Table.block.tsx +29 -2
- package/src/sap/fe/macros/table/TableAPI.js +143 -133
- package/src/sap/fe/macros/table/TableAPI.ts +5 -1
- package/src/sap/fe/macros/table/TableDefinition.js +4 -2
- package/src/sap/fe/macros/table/TableDefinition.ts +3 -1
- package/src/sap/fe/macros/table/TableRuntime.js +3 -3
- package/src/sap/fe/macros/table/TableRuntime.ts +2 -2
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +25 -19
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +25 -23
- package/src/sap/fe/macros/table/designtime/Table.designtime.js +3 -1
- package/src/sap/fe/macros/table/designtime/Table.designtime.ts +2 -0
- package/src/sap/fe/macros/table/massEdit/designtime/MassEdit.designtime.js +3 -1
- package/src/sap/fe/macros/table/massEdit/designtime/MassEdit.designtime.ts +2 -1
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -1
- package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +1 -0
- package/src/sap/fe/macros/table/mixin/TableHierarchy.js +4 -1
- package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +3 -0
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +11 -6
- package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +19 -14
- package/src/sap/fe/macros/visualfilters/VisualFilter.js +95 -6
- package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +93 -2
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +15 -3
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +17 -2
|
@@ -936,10 +936,7 @@ const ValueListHelper = {
|
|
|
936
936
|
): void {
|
|
937
937
|
if (
|
|
938
938
|
!path.key &&
|
|
939
|
-
ValueListHelper._parameterIsA(parameter, [
|
|
940
|
-
CommonAnnotationTypes.ValueListParameterOut,
|
|
941
|
-
CommonAnnotationTypes.ValueListParameterInOut
|
|
942
|
-
]) &&
|
|
939
|
+
ValueListHelper._parameterIsA(parameter, [CommonAnnotationTypes.ValueListParameterInOut]) &&
|
|
943
940
|
localDataPropertyPath === propertyName
|
|
944
941
|
) {
|
|
945
942
|
/* EXTERNALID */
|
|
@@ -1009,6 +1006,7 @@ const ValueListHelper = {
|
|
|
1009
1006
|
if ("$Key" in entityType && entityType.$Key) {
|
|
1010
1007
|
vhKeys = [...(entityType.$Key as string[])];
|
|
1011
1008
|
}
|
|
1009
|
+
const firstKey = vhKeys[0];
|
|
1012
1010
|
|
|
1013
1011
|
for (const parameter of annotationValueListType.Parameters) {
|
|
1014
1012
|
//All String fields are allowed for filter
|
|
@@ -1049,12 +1047,13 @@ const ValueListHelper = {
|
|
|
1049
1047
|
|
|
1050
1048
|
//In and InOut and Out
|
|
1051
1049
|
if (
|
|
1052
|
-
ValueListHelper._parameterIsA(parameter, [
|
|
1050
|
+
(ValueListHelper._parameterIsA(parameter, [
|
|
1053
1051
|
CommonAnnotationTypes.ValueListParameterIn,
|
|
1054
1052
|
CommonAnnotationTypes.ValueListParameterOut,
|
|
1055
1053
|
CommonAnnotationTypes.ValueListParameterInOut
|
|
1056
1054
|
]) &&
|
|
1057
|
-
|
|
1055
|
+
localDataPropertyPath !== propertyName) ||
|
|
1056
|
+
ValueListHelper._parameterIsA(parameter, [CommonAnnotationTypes.ValueListParameterOut])
|
|
1058
1057
|
) {
|
|
1059
1058
|
const vhParameter = ValueListHelper._getVhParameter(
|
|
1060
1059
|
conditionModel,
|
|
@@ -1087,6 +1086,9 @@ const ValueListHelper = {
|
|
|
1087
1086
|
// Enrich keys with out-parameters
|
|
1088
1087
|
ValueListHelper._enrichKeys(vhKeys, parameter);
|
|
1089
1088
|
}
|
|
1089
|
+
if (!path.key) {
|
|
1090
|
+
path.key = firstKey;
|
|
1091
|
+
}
|
|
1090
1092
|
|
|
1091
1093
|
/* Ensure that vhKeys are part of the columnDefs, otherwise it is not considered in $select (BCP 2270141154) */
|
|
1092
1094
|
for (const vhKey of vhKeys) {
|
|
@@ -1154,7 +1156,6 @@ const ValueListHelper = {
|
|
|
1154
1156
|
const metaModelVH = annotationValueListType.$model.getMetaModel(),
|
|
1155
1157
|
entitySetPath = `/${annotationValueListType.CollectionPath}`;
|
|
1156
1158
|
const entityType = await ValueListHelper._getEntityType(metaModelVH, entitySetPath);
|
|
1157
|
-
|
|
1158
1159
|
const valueListInfo = ValueListHelper._processParameters(
|
|
1159
1160
|
annotationValueListType,
|
|
1160
1161
|
propertyName,
|
|
@@ -24,7 +24,7 @@ sap.ui.define(["sap/base/Log", "sap/f/library", "sap/fe/controls/library", "sap/
|
|
|
24
24
|
controls: [],
|
|
25
25
|
elements: [],
|
|
26
26
|
// eslint-disable-next-line no-template-curly-in-string
|
|
27
|
-
version: "1.
|
|
27
|
+
version: "1.139.0",
|
|
28
28
|
noLibraryCSS: true,
|
|
29
29
|
extensions: {
|
|
30
30
|
flChangeHandlers: {
|
|
@@ -225,7 +225,12 @@ sap.ui.define(["sap/base/Log", "sap/base/util/deepClone", "sap/fe/core/templatin
|
|
|
225
225
|
if (controlInstance?.isA("sap.ui.mdc.Chart")) {
|
|
226
226
|
this.convertConditionsForChart(stateToApply);
|
|
227
227
|
}
|
|
228
|
-
|
|
228
|
+
const diffState = await StateUtil.diffState(controlInstance, state, stateToApply);
|
|
229
|
+
const applyStateResult = await StateUtil.applyExternalState(controlInstance, stateToApply);
|
|
230
|
+
return {
|
|
231
|
+
diffState,
|
|
232
|
+
applyStateResult
|
|
233
|
+
};
|
|
229
234
|
} catch (err) {
|
|
230
235
|
const id = controlInstance?.getId();
|
|
231
236
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -252,4 +257,4 @@ sap.ui.define(["sap/base/Log", "sap/base/util/deepClone", "sap/fe/core/templatin
|
|
|
252
257
|
};
|
|
253
258
|
return StateHelper;
|
|
254
259
|
}, false);
|
|
255
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGF0ZUhlbHBlciIsImdldFNlbGVjdGlvblZhcmlhbnQiLCJjb250cm9sIiwiY29udHJvbFN0YXRlIiwiU3RhdGVVdGlsIiwicmV0cmlldmVFeHRlcm5hbFN0YXRlIiwiY29udHJvbE9iamVjdCIsImZpbHRlciIsInBhcmFtZXRlcnMiLCJnZXRQYXJlbnQiLCJpc0EiLCJnZXRQYXJhbWV0ZXJzIiwidW5kZWZpbmVkIiwic2VsZWN0aW9uVmFyaWFudCIsIlN0YXRlRmlsdGVyc1RvU2VsZWN0aW9uVmFyaWFudCIsImdldFNlbGVjdGlvblZhcmlhbnRGcm9tQ29uZGl0aW9ucyIsImdldFByb3BlcnR5SGVscGVyIiwiZXh0ZXJuYWxTViIsIlNlbGVjdGlvblZhcmlhbnQiLCJzZWxlY3RPcHRpb25zIiwiX2dldFNlbGVjdE9wdGlvbnMiLCJwcm9wZXJ0eSIsIm1hc3NBZGRTZWxlY3RPcHRpb24iLCJzcGxpdCIsImVycm9yIiwiaWQiLCJnZXRJZCIsIm1lc3NhZ2UiLCJFcnJvciIsIlN0cmluZyIsIkxvZyIsImNvbnZlcnRTZWxlY3Rpb25WYXJpYW50VG9TdGF0ZUZpbHRlcnMiLCJwcmVmaWxsRGVzY3JpcHRpb25zIiwibW9kZWwiLCJwcm9wZXJ0eUluZm9zIiwiX2dldFN1cHBvcnRlZEZpbHRlckZpZWxkcyIsImxlbmd0aCIsImZpbHRlckJhckluZm9Gb3JDb252ZXJzaW9uIiwiX2dldENvbnRyb2xJbmZvRm9yQ29udmVyc2lvbiIsIm1ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsImNvcHlvZlByb3BlcnR5SW5mb3MiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJ1cGRhdGVkUHJvcGVydHlJbmZvcyIsIl91cGRhdGVQcm9wZXJ0eUluZm9Ub1N1cHBvcnRTViIsImNvbmRpdGlvbnMiLCJzdlRvU3RhdGVGaWx0ZXJzIiwiZ2V0U3RhdGVGaWx0ZXJzRnJvbVNWIiwiZ2V0TW9kZWwiLCJjb250ZXh0UGF0aCIsImRhdGEiLCJ1c2VTZW1hbnRpY0RhdGVSYW5nZSIsInZpZXdEYXRhSW5zdGFuY2UiLCJ2aWV3RGF0YSIsImdldERhdGEiLCJjb25maWciLCJjb250cm9sQ29uZmlndXJhdGlvbiIsInNlbGVjdGlvbkZpZWxkc0NvbmZpZ3MiLCJmaWx0ZXJGaWVsZHNDb25maWciLCJmaWx0ZXJGaWVsZHMiLCJ3YWl0Rm9ySW5pdGlhbGl6YXRpb24iLCJnZXRDb250cm9sRGVsZWdhdGUiLCJmZXRjaEZpbHRlclByb3BlcnRpZXMiLCJhd2FpdENvbnRyb2xEZWxlZ2F0ZSIsImZldGNoUHJvcGVydGllcyIsImNsZWFyRmlsdGVyVmFsdWVzIiwiY29udHJvbEluc3RhbmNlIiwiX2NsZWFyRmlsdGVyVmFsdWVzV2l0aE9wdGlvbnMiLCJjb250ZW50IiwiZmlyZUV2ZW50Iiwib3B0aW9ucyIsInN0YXRlIiwiZWRpdFN0YXRlUGF0aCIsImN1cnJlbnRFZGl0U3RhdGVDb25kaXRpb24iLCJlZGl0U3RhdGVEZWZhdWx0VmFsdWUiLCJjdXJyZW50RWRpdFN0YXRlSXNEZWZhdWx0Iiwic2hvdWxkQ2xlYXJFZGl0RmlsdGVyIiwiRHJhZnRFZGl0U3RhdGUiLCJBTEwiLCJkZWVwQ2xvbmUiLCJ2YWx1ZXMiLCJPYmplY3QiLCJrZXlzIiwiY2xlYXJFZGl0RmlsdGVyIiwiY29uZGl0aW9uUGF0aCIsImNvbmRpdGlvbiIsImZpbHRlcmVkIiwiYXBwbHlFeHRlcm5hbFN0YXRlIiwiY2xlYW5VcEFsbEZpbHRlckZpZWxkc0luRXJyb3JTdGF0ZSIsImZvckVhY2giLCJwcm9wZXJ0eUluZm8iLCJuYW1lIiwibWV0YWRhdGFQYXRoIiwiUHJvcGVydHlIZWxwZXIiLCJoYXNWYWx1ZUhlbHAiLCJnZXRQcm9wZXJ0eSIsInR5cGVDb25maWciLCJjbGFzc05hbWUiLCJwYXRoIiwiZ2V0UHJvcGVydHlEYXRhTW9kZWwiLCJ0YXJnZXRPYmplY3QiLCJkYXRhVHlwZSIsInNldFNlbGVjdGlvblZhcmlhbnRUb01kY0NvbnRyb2wiLCJhcmd1bWVudHMiLCJzdGF0ZVRvQXBwbHkiLCJnZXRTdGF0ZVRvQXBwbHkiLCJjb252ZXJ0Q29uZGl0aW9uc0ZvckNoYXJ0IiwiZXJyIiwiYXNzaWduIiwiaXRlbXMiLCJwcm9wZXJ0eU9iaiJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiU3RhdGVIZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgZGVlcENsb25lIGZyb20gXCJzYXAvYmFzZS91dGlsL2RlZXBDbG9uZVwiO1xuaW1wb3J0IHR5cGUgeyBWaWV3RGF0YSB9IGZyb20gXCJzYXAvZmUvY29yZS9zZXJ2aWNlcy9UZW1wbGF0ZWRWaWV3U2VydmljZUZhY3RvcnlcIjtcbmltcG9ydCAqIGFzIFByb3BlcnR5SGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5SGVscGVyXCI7XG5pbXBvcnQgRHJhZnRFZGl0U3RhdGUgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyQmFyL0RyYWZ0RWRpdFN0YXRlXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXJCYXJBUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyQmFyL0ZpbHRlckJhckFQSVwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eUluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC9Qcm9wZXJ0eUluZm9cIjtcbmltcG9ydCB0eXBlIHsgQ29udmVyc2lvbkluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9tZGMvYWRhcHRlci9TZWxlY3Rpb25WYXJpYW50VG9TdGF0ZUZpbHRlcnNcIjtcbmltcG9ydCBzdlRvU3RhdGVGaWx0ZXJzIGZyb20gXCJzYXAvZmUvbWFjcm9zL21kYy9hZGFwdGVyL1NlbGVjdGlvblZhcmlhbnRUb1N0YXRlRmlsdGVyc1wiO1xuaW1wb3J0IFN0YXRlRmlsdGVyc1RvU2VsZWN0aW9uVmFyaWFudCBmcm9tIFwic2FwL2ZlL21hY3Jvcy9tZGMvYWRhcHRlci9TdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudFwiO1xuaW1wb3J0IHR5cGUgeyBFeHRlcm5hbFN0YXRlVHlwZSB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL3ZhbHVlaGVscC9WYWx1ZUhlbHBEZWxlZ2F0ZVwiO1xuaW1wb3J0IFNlbGVjdGlvblZhcmlhbnQgZnJvbSBcInNhcC9mZS9uYXZpZ2F0aW9uL1NlbGVjdGlvblZhcmlhbnRcIjtcbmltcG9ydCB0eXBlIENvcmVDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBDaGFydCBmcm9tIFwic2FwL3VpL21kYy9DaGFydFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL21kYy9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXJCYXIgZnJvbSBcInNhcC91aS9tZGMvRmlsdGVyQmFyXCI7XG5pbXBvcnQgdHlwZSBUYWJsZSBmcm9tIFwic2FwL3VpL21kYy9UYWJsZVwiO1xuaW1wb3J0IHR5cGUgeyBTdGF0ZVRvQXBwbHksIEZpbHRlciBhcyBTdGF0ZVV0aWxGaWx0ZXIgfSBmcm9tIFwic2FwL3VpL21kYy9wMTNuL1N0YXRlVXRpbFwiO1xuaW1wb3J0IFN0YXRlVXRpbCBmcm9tIFwic2FwL3VpL21kYy9wMTNuL1N0YXRlVXRpbFwiO1xuaW1wb3J0IHR5cGUgTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9Nb2RlbFwiO1xuaW1wb3J0IHR5cGUgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE9EYXRhTWV0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNZXRhTW9kZWxcIjtcbmltcG9ydCB0eXBlIENoYXJ0VHlwZSBmcm9tIFwiLi4vLi4vQ2hhcnRcIjtcbmltcG9ydCB0eXBlIE1hY3JvQVBJIGZyb20gXCIuLi8uLi9NYWNyb0FQSVwiO1xuXG4vKipcbiAqIFRoaXMgaXMgdG8gZXh0ZW5kIE1EQyBjb250cm9sIEFQSXMgZm9yIGZpbHRlciwgdGFibGUsIGNoYXJ0IGJ1aWxkaW5nIGJsb2Nrcy5cbiAqIEBwdWJsaWNcbiAqL1xuXG5jb25zdCBTdGF0ZUhlbHBlciA9IHtcblx0LyoqXG5cdCAqIEdldHMgc2VsZWN0aW9uIHZhcmlhbnQgZnJvbSB0aGUgbWRjIGNvbnRyb2wuXG5cdCAqIEBwYXJhbSBjb250cm9sIFRoZSBjb250cm9sIGZvciB3aGljaCBTZWxlY3Rpb24gVmFyaWFudCBpcyB0byBiZSBmZXRjaGVkXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aGljaCByZXNvbHZlcyB3aXRoIGEge0BsaW5rIHNhcC5mZS5uYXZpZ2F0aW9uLlNlbGVjdGlvblZhcmlhbnR9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFzeW5jIGdldFNlbGVjdGlvblZhcmlhbnQoY29udHJvbDogQ29yZUNvbnRyb2wgfCB1bmRlZmluZWQpOiBQcm9taXNlPFNlbGVjdGlvblZhcmlhbnQ+IHtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgY29udHJvbFN0YXRlID0gYXdhaXQgU3RhdGVVdGlsLnJldHJpZXZlRXh0ZXJuYWxTdGF0ZShjb250cm9sIGFzIENvbnRyb2wpO1xuXHRcdFx0Y29uc3QgY29udHJvbE9iamVjdCA9IGNvbnRyb2xTdGF0ZS5maWx0ZXIgYXMgU3RhdGVVdGlsRmlsdGVyO1xuXHRcdFx0bGV0IHBhcmFtZXRlcnM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkID0gW107XG5cdFx0XHRpZiAoXG5cdFx0XHRcdGNvbnRyb2w/LmdldFBhcmVudCgpPy5pc0EoXCJzYXAuZmUubWFjcm9zLmZpbHRlckJhci5GaWx0ZXJCYXJBUElcIikgJiZcblx0XHRcdFx0KGNvbnRyb2wuZ2V0UGFyZW50KCkgYXMgRmlsdGVyQmFyQVBJKS5nZXRQYXJhbWV0ZXJzICE9PSB1bmRlZmluZWRcblx0XHRcdCkge1xuXHRcdFx0XHRwYXJhbWV0ZXJzID0gKGNvbnRyb2wuZ2V0UGFyZW50KCkgYXMgRmlsdGVyQmFyQVBJKS5nZXRQYXJhbWV0ZXJzKCk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBzZWxlY3Rpb25WYXJpYW50ID0gU3RhdGVGaWx0ZXJzVG9TZWxlY3Rpb25WYXJpYW50LmdldFNlbGVjdGlvblZhcmlhbnRGcm9tQ29uZGl0aW9ucyhcblx0XHRcdFx0Y29udHJvbE9iamVjdCxcblx0XHRcdFx0KGNvbnRyb2wgYXMgQ29udHJvbCkuZ2V0UHJvcGVydHlIZWxwZXIoKSxcblx0XHRcdFx0cGFyYW1ldGVyc1xuXHRcdFx0KTtcblx0XHRcdGlmIChjb250cm9sPy5pc0EoXCJzYXAudWkubWRjLkNoYXJ0XCIpKSB7XG5cdFx0XHRcdGNvbnN0IGV4dGVybmFsU1YgPSBuZXcgU2VsZWN0aW9uVmFyaWFudCgpO1xuXHRcdFx0XHRjb25zdCBzZWxlY3RPcHRpb25zID0gc2VsZWN0aW9uVmFyaWFudC5fZ2V0U2VsZWN0T3B0aW9ucygpO1xuXHRcdFx0XHRmb3IgKGNvbnN0IHByb3BlcnR5IGluIHNlbGVjdE9wdGlvbnMpIHtcblx0XHRcdFx0XHRleHRlcm5hbFNWLm1hc3NBZGRTZWxlY3RPcHRpb24ocHJvcGVydHkuc3BsaXQoXCJfZmVfZ3JvdXBhYmxlX1wiKVsxXSwgc2VsZWN0T3B0aW9uc1twcm9wZXJ0eV0pO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBleHRlcm5hbFNWO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIHNlbGVjdGlvblZhcmlhbnQ7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcblx0XHRcdGNvbnN0IGlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjb250cm9sPy5nZXRJZCgpO1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKTtcblx0XHRcdExvZy5lcnJvcihgQnVpbGRpbmcgQmxvY2sgKCR7aWR9KSAtIGdldCBzZWxlY3Rpb24gdmFyaWFudCBmYWlsZWQgOiAke21lc3NhZ2V9YCk7XG5cdFx0XHR0aHJvdyBFcnJvcihtZXNzYWdlKTtcblx0XHR9XG5cdH0sXG5cblx0LyoqXG5cdCAqIENvbnZlcnQgc2VsZWN0aW9uIHZhcmlhbnQgdG8gY29uZGl0aW9ucy5cblx0ICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBjYW4gYmUgYSB0YWJsZSwgY2hhcnQgb3IgZmlsdGVyIGJhclxuXHQgKiBAcGFyYW0gc2VsZWN0aW9uVmFyaWFudCBUaGUgc2VsZWN0aW9uIHZhcmlhbnQgdG8gYXBwbHkgdG8gdGhlIHRhYmxlIG9yIGNoYXJ0IG9yIGZpbHRlciBiYXIuXG5cdCAqIEBwYXJhbSBwcmVmaWxsRGVzY3JpcHRpb25zIElmIHRydWUsIHdlIHRyeSB0byBmaW5kIHRoZSBhc3NvY2lhdGVkIFRleHQgdmFsdWUgZm9yIGVhY2ggcHJvcGVydHkgaW4gdGhlIHNlbGVjdGlvblZhcmlhbnQgKHRvIGF2b2lkIGZldGNoaW5nIGl0IGZyb20gdGhlIHNlcnZlcilcblx0ICogQHBhcmFtIG1vZGVsIFRoZSBjb250cm9sIG1vZGVsXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZpbmcgdG8gY29uZGl0aW9uc1xuXHQgKi9cblx0YXN5bmMgY29udmVydFNlbGVjdGlvblZhcmlhbnRUb1N0YXRlRmlsdGVycyhcblx0XHRjb250cm9sOiBDb250cm9sLFxuXHRcdHNlbGVjdGlvblZhcmlhbnQ6IFNlbGVjdGlvblZhcmlhbnQsXG5cdFx0cHJlZmlsbERlc2NyaXB0aW9uczogYm9vbGVhbixcblx0XHRtb2RlbD86IE1vZGVsXG5cdCk6IFByb21pc2U8U3RhdGVVdGlsRmlsdGVyPiB7XG5cdFx0Ly8gTm90ZTogVGhpcyBtZXRob2QgaXMgcHJpdmF0ZSBhbmQgcmVzdHJpY3RlZCB0byB1c2FnZSBieSBzYXAuZmUoVmlld1N0YXRlIGNvbnRyb2xsZXIgZXh0ZW5zaW9uKSBmb3IgZmlsdGVyIGJhci8gY2hhcnQgLyB0YWJsZSBzdGF0ZSBzY2VuYXJpb3MuXG5cdFx0Y29uc3QgcHJvcGVydHlJbmZvcyA9IGF3YWl0IHRoaXMuX2dldFN1cHBvcnRlZEZpbHRlckZpZWxkcyhjb250cm9sKTtcblxuXHRcdGlmICghcHJvcGVydHlJbmZvcy5sZW5ndGgpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIk5vIHZhbGlkIG1ldGFkYXRhIHByb3BlcnRpZXMgcHJlc2VudCBmb3IgZmlsdGVyIGJhclwiKTtcblx0XHR9XG5cblx0XHRjb25zdCBmaWx0ZXJCYXJJbmZvRm9yQ29udmVyc2lvbiA9IHRoaXMuX2dldENvbnRyb2xJbmZvRm9yQ29udmVyc2lvbihjb250cm9sKTtcblx0XHRjb25zdCBtZXRhTW9kZWwgPSBtb2RlbD8uZ2V0TWV0YU1vZGVsKCkgYXMgT0RhdGFNZXRhTW9kZWw7XG5cdFx0Y29uc3QgY29weW9mUHJvcGVydHlJbmZvcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocHJvcGVydHlJbmZvcykpO1xuXHRcdGNvbnN0IHVwZGF0ZWRQcm9wZXJ0eUluZm9zID0gdGhpcy5fdXBkYXRlUHJvcGVydHlJbmZvVG9TdXBwb3J0U1YoY29udHJvbCwgY29weW9mUHJvcGVydHlJbmZvcyk7XG5cdFx0Y29uc3QgY29uZGl0aW9uczogU3RhdGVVdGlsRmlsdGVyID0gc3ZUb1N0YXRlRmlsdGVycy5nZXRTdGF0ZUZpbHRlcnNGcm9tU1YoXG5cdFx0XHRzZWxlY3Rpb25WYXJpYW50LFxuXHRcdFx0ZmlsdGVyQmFySW5mb0ZvckNvbnZlcnNpb24sXG5cdFx0XHR1cGRhdGVkUHJvcGVydHlJbmZvcyA/PyBjb3B5b2ZQcm9wZXJ0eUluZm9zLFxuXHRcdFx0cHJlZmlsbERlc2NyaXB0aW9ucyxcblx0XHRcdG1ldGFNb2RlbFxuXHRcdCk7XG5cblx0XHRyZXR1cm4gY29uZGl0aW9ucztcblx0fSxcblxuXHQvKipcblx0ICogR2V0IHRoZSBmaWx0ZXIgaW5mb3JtYXRpb24gbmVlZGVkIGZvciB0aGUgY29udmVyc2lvbiBvZiBzZWxlY3Rpb24gdmFyaWFudCB0byBjb25kaXRpb25zLlxuXHQgKiBAcGFyYW0gY29udHJvbCBUaGlzIGNhbiBiZSBhIHRhYmxlLCBjaGFydCwgb3IgZmlsdGVyYmFyXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sIGluZm9ybWF0aW9uIChtZXRhTW9kZWwsIGNvbnRleHRQYXRoLCB1c2Ugb2Ygc2VtYW50aWMgZGF0ZSByYW5nZSwgYWxsIGZpbHRlciBmaWVsZHMgY29uZmlnKVxuXHQgKi9cblx0X2dldENvbnRyb2xJbmZvRm9yQ29udmVyc2lvbihjb250cm9sOiBDb250cm9sKTogQ29udmVyc2lvbkluZm8ge1xuXHRcdGNvbnN0IG1ldGFNb2RlbCA9IGNvbnRyb2wuZ2V0TW9kZWwoKT8uZ2V0TWV0YU1vZGVsKCkgYXMgT0RhdGFNZXRhTW9kZWwsXG5cdFx0XHRjb250ZXh0UGF0aCA9IGNvbnRyb2wuZGF0YShcImVudGl0eVR5cGVcIikgYXMgc3RyaW5nO1xuXHRcdGlmIChjb250cm9sLmlzQShcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuRmlsdGVyQmFyXCIpKSB7XG5cdFx0XHRjb25zdCB1c2VTZW1hbnRpY0RhdGVSYW5nZTogYm9vbGVhbiA9XG5cdFx0XHRcdFx0Y29udHJvbC5kYXRhKFwidXNlU2VtYW50aWNEYXRlUmFuZ2VcIikgPT09IFwidHJ1ZVwiIHx8IGNvbnRyb2wuZGF0YShcInVzZVNlbWFudGljRGF0ZVJhbmdlXCIpID09PSB0cnVlLFxuXHRcdFx0XHR2aWV3RGF0YUluc3RhbmNlID0gY29udHJvbC5nZXRNb2RlbChcInZpZXdEYXRhXCIpIGFzIEpTT05Nb2RlbCxcblx0XHRcdFx0dmlld0RhdGEgPSB2aWV3RGF0YUluc3RhbmNlLmdldERhdGEoKSBhcyBWaWV3RGF0YSxcblx0XHRcdFx0Y29uZmlnID0gdmlld0RhdGE/LmNvbnRyb2xDb25maWd1cmF0aW9uLFxuXHRcdFx0XHRzZWxlY3Rpb25GaWVsZHNDb25maWdzID0gY29uZmlnPy5bXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuU2VsZWN0aW9uRmllbGRzXCJdLFxuXHRcdFx0XHRmaWx0ZXJGaWVsZHNDb25maWcgPSBzZWxlY3Rpb25GaWVsZHNDb25maWdzPy5maWx0ZXJGaWVsZHM7XG5cdFx0XHRyZXR1cm4geyBtZXRhTW9kZWwsIGNvbnRleHRQYXRoLCB1c2VTZW1hbnRpY0RhdGVSYW5nZSwgZmlsdGVyRmllbGRzQ29uZmlnLCBzZWxlY3Rpb25GaWVsZHNDb25maWdzIH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB7IG1ldGFNb2RlbCwgY29udGV4dFBhdGggfTtcblx0XHR9XG5cdH0sXG5cblx0LyoqXG5cdCAqIEdldCBzdXBwb3J0ZWQgZmlsdGVyIGZpZWxkIHByb3BlcnRpZXMgZnJvbSB0aGUgdGFibGUsIGNoYXJ0LCBvciBmaWx0ZXIgYmFyLlxuXHQgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIGNhbiBiZSBhIHRhYmxlLCBjaGFydCwgb3IgZmlsdGVyIGJhclxuXHQgKiBAcmV0dXJucyBTdXBwb3J0ZWQgZmlsdGVyIGZpZWxkcy5cblx0ICovXG5cdGFzeW5jIF9nZXRTdXBwb3J0ZWRGaWx0ZXJGaWVsZHMoY29udHJvbDogQ29udHJvbCk6IFByb21pc2U8Q29udHJvbFByb3BlcnR5SW5mb1tdPiB7XG5cdFx0aWYgKGNvbnRyb2wuaXNBKFwic2FwLnVpLm1kYy5GaWx0ZXJiYXJcIikpIHtcblx0XHRcdGF3YWl0IChjb250cm9sIGFzIEZpbHRlckJhcikud2FpdEZvckluaXRpYWxpemF0aW9uKCk7XG5cdFx0XHRyZXR1cm4gKGNvbnRyb2wgYXMgRmlsdGVyQmFyKS5nZXRDb250cm9sRGVsZWdhdGUoKS5mZXRjaEZpbHRlclByb3BlcnRpZXMoY29udHJvbCk7XG5cdFx0fSBlbHNlIGlmICgoY29udHJvbCBhcyBGaWx0ZXJCYXIpLmlzQShcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuRmlsdGVyQmFyXCIpKSB7XG5cdFx0XHRyZXR1cm4gKGNvbnRyb2wgYXMgRmlsdGVyQmFyKS5nZXRDb250cm9sRGVsZWdhdGUoKS5mZXRjaEZpbHRlclByb3BlcnRpZXMoY29udHJvbCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGF3YWl0IChjb250cm9sIGFzIFRhYmxlIHwgQ2hhcnQpLmF3YWl0Q29udHJvbERlbGVnYXRlKCk7XG5cdFx0fVxuXHRcdHJldHVybiAoY29udHJvbCBhcyBUYWJsZSB8IENoYXJ0IHwgRmlsdGVyQmFyKS5nZXRDb250cm9sRGVsZWdhdGUoKS5mZXRjaFByb3BlcnRpZXMoY29udHJvbCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENsZWFycyBhbGwgaW5wdXQgdmFsdWVzIG9mIHZpc2libGUgZmlsdGVyIGZpZWxkcyBpbiB0aGUgdGFibGUsIGNoYXJ0LCBvciBmaWx0ZXIgYmFyLi5cblx0ICogQHBhcmFtIGNvbnRyb2xJbnN0YW5jZSBUaGlzIGNhbiBiZSBhIGZpbHRlciBiYXIsIGNoYXJ0LCBvciB0YWJsZS5cblx0ICovXG5cdGFzeW5jIGNsZWFyRmlsdGVyVmFsdWVzKGNvbnRyb2xJbnN0YW5jZTogTWFjcm9BUEkpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRhd2FpdCB0aGlzLl9jbGVhckZpbHRlclZhbHVlc1dpdGhPcHRpb25zKGNvbnRyb2xJbnN0YW5jZS5jb250ZW50IGFzIENvbnRyb2wpO1xuXHRcdC8vIEFsbG93IGFwcCBkZXZlbG9wZXJzIHRvIHVwZGF0ZSBmaWx0ZXJzIGFmdGVyIGNsZWFyaW5nXG5cdFx0Y29udHJvbEluc3RhbmNlLmZpcmVFdmVudChcImFmdGVyQ2xlYXJcIik7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENsZWFycyBhbGwgaW5wdXQgdmFsdWVzIG9mIHZpc2libGUgZmlsdGVyIGZpZWxkcyBpbiB0aGUgdGFibGUsIGNoYXJ0LCBvciBmaWx0ZXIgYmFyLlxuXHQgKiBAcGFyYW0gY29udHJvbCBUaGlzIGNhbiBiZSBhIHRhYmxlLCBjaGFydCwgb3IgZmlsdGVyIGJhclxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBmaWx0ZXJpbmcgdGhlIGZpbHRlciBiYXJcblx0ICogQHBhcmFtIG9wdGlvbnMuY2xlYXJFZGl0RmlsdGVyIFdoZXRoZXIgdG8gY2xlYXIgdGhlIGVkaXQgZmlsdGVyIG9yIHJldGFpbiB0aGUgZGVmYXVsdCB2YWx1ZSAnQWxsJ1xuXHQgKi9cblx0YXN5bmMgX2NsZWFyRmlsdGVyVmFsdWVzV2l0aE9wdGlvbnMoY29udHJvbDogQ29udHJvbCwgb3B0aW9ucz86IHsgY2xlYXJFZGl0RmlsdGVyOiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAoIWNvbnRyb2wpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y29uc3Qgc3RhdGU6IEV4dGVybmFsU3RhdGVUeXBlID0gYXdhaXQgU3RhdGVVdGlsLnJldHJpZXZlRXh0ZXJuYWxTdGF0ZShjb250cm9sKTtcblx0XHRsZXQgZWRpdFN0YXRlUGF0aCA9IFwiXCIsXG5cdFx0XHRjdXJyZW50RWRpdFN0YXRlQ29uZGl0aW9uLFxuXHRcdFx0ZWRpdFN0YXRlRGVmYXVsdFZhbHVlLFxuXHRcdFx0Y3VycmVudEVkaXRTdGF0ZUlzRGVmYXVsdDogYm9vbGVhbiB8IHVuZGVmaW5lZCxcblx0XHRcdHNob3VsZENsZWFyRWRpdEZpbHRlcjogdW5kZWZpbmVkIHwgYm9vbGVhbjtcblx0XHRpZiAoY29udHJvbC5pc0E8RmlsdGVyQmFyPihcInNhcC51aS5tZGMuRmlsdGVyQmFyXCIpKSB7XG5cdFx0XHRlZGl0U3RhdGVQYXRoID0gXCIkZWRpdFN0YXRlXCI7XG5cdFx0XHRlZGl0U3RhdGVEZWZhdWx0VmFsdWUgPSBEcmFmdEVkaXRTdGF0ZS5BTEwuaWQ7XG5cdFx0XHRjdXJyZW50RWRpdFN0YXRlQ29uZGl0aW9uID0gZGVlcENsb25lKHN0YXRlLmZpbHRlcltlZGl0U3RhdGVQYXRoXT8uWzBdKTtcblx0XHRcdGN1cnJlbnRFZGl0U3RhdGVJc0RlZmF1bHQgPSBjdXJyZW50RWRpdFN0YXRlQ29uZGl0aW9uPy52YWx1ZXNbMF0gPT09IGVkaXRTdGF0ZURlZmF1bHRWYWx1ZTtcblx0XHRcdHNob3VsZENsZWFyRWRpdEZpbHRlciA9IG9wdGlvbnMgJiYgT2JqZWN0LmtleXMob3B0aW9ucykubGVuZ3RoID4gMCAmJiBvcHRpb25zLmNsZWFyRWRpdEZpbHRlcjtcblx0XHR9XG5cblx0XHQvLyBDbGVhciBhbGwgY29uZGl0aW9uc1xuXHRcdGZvciAoY29uc3QgY29uZGl0aW9uUGF0aCBvZiBPYmplY3Qua2V5cyhzdGF0ZS5maWx0ZXIpKSB7XG5cdFx0XHRpZiAoIXNob3VsZENsZWFyRWRpdEZpbHRlciAmJiBjb25kaXRpb25QYXRoID09PSBlZGl0U3RhdGVQYXRoICYmIGN1cnJlbnRFZGl0U3RhdGVJc0RlZmF1bHQpIHtcblx0XHRcdFx0Ly8gRG8gbm90IGNsZWFyIGVkaXQgc3RhdGUgY29uZGl0aW9uIGlmIGl0IGlzIGFscmVhZHkgXCJBTExcIlxuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGZvciAoY29uc3QgY29uZGl0aW9uIG9mIHN0YXRlLmZpbHRlcltjb25kaXRpb25QYXRoXSkge1xuXHRcdFx0XHRjb25kaXRpb24uZmlsdGVyZWQgPSBmYWxzZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0YXdhaXQgU3RhdGVVdGlsLmFwcGx5RXh0ZXJuYWxTdGF0ZShjb250cm9sLCB7IGZpbHRlcjogc3RhdGUuZmlsdGVyIH0pO1xuXG5cdFx0aWYgKGNvbnRyb2wuaXNBPEZpbHRlckJhcj4oXCJzYXAudWkubWRjLkZpbHRlckJhclwiKSkge1xuXHRcdFx0Ly8gU2V0IGVkaXQgc3RhdGUgdG8gJ0FMTCcgaWYgaXQgd2Fzbid0IGJlZm9yZVxuXHRcdFx0aWYgKCFzaG91bGRDbGVhckVkaXRGaWx0ZXIgJiYgY3VycmVudEVkaXRTdGF0ZUNvbmRpdGlvbiAmJiAhY3VycmVudEVkaXRTdGF0ZUlzRGVmYXVsdCkge1xuXHRcdFx0XHRjdXJyZW50RWRpdFN0YXRlQ29uZGl0aW9uLnZhbHVlcyA9IFtlZGl0U3RhdGVEZWZhdWx0VmFsdWVdO1xuXHRcdFx0XHRhd2FpdCBTdGF0ZVV0aWwuYXBwbHlFeHRlcm5hbFN0YXRlKGNvbnRyb2wsIHsgZmlsdGVyOiB7IFtlZGl0U3RhdGVQYXRoXTogW2N1cnJlbnRFZGl0U3RhdGVDb25kaXRpb25dIH0gfSk7XG5cdFx0XHR9XG5cblx0XHRcdC8vY2xlYXIgZmlsdGVyIGZpZWxkcyBpbiBlcnJvciBzdGF0ZVxuXHRcdFx0Y29udHJvbC5jbGVhblVwQWxsRmlsdGVyRmllbGRzSW5FcnJvclN0YXRlKCk7XG5cdFx0fVxuXHR9LFxuXG5cdC8qKlxuXHQgKiBNZXRob2QgcmV0dXJucyB0aGUgY29weSBvZiBwcm9wZXJ0eUluZm8gYnkgYWRkaW5nIG5lY2Vzc2FyeSBmaWVsZHMgc28gdGhhdCBzZWxlY3Rpb24gdmFyaWFudCBjYW4gYmUgc2V0IHRvIGEgY29udHJvbCBsaWtlIHRhYmxlIGFuZCBjaGFydC5cblx0ICogQHBhcmFtIGNvbnRyb2wgVGhpcyBjb3VsZCBiZSBhIHRhYmxlLCBjaGFydCwgb3IgZmlsdGVyIGJhclxuXHQgKiBAcGFyYW0gcHJvcGVydHlJbmZvcyBBcnJheSBvZiBQcm9wZXJ0eUluZm8gb2YgdGhlIGNvbnRyb2xcblx0ICogQHJldHVybnMgVGhlIGRlZXAgY2xvbmUgb2YgcHJvcGVydHlJbmZvcyB3aXRoIHNvbWUgYWRkaXRpb25hbCBmaWVsZHNcblx0ICovXG5cdF91cGRhdGVQcm9wZXJ0eUluZm9Ub1N1cHBvcnRTVihjb250cm9sOiBDb250cm9sLCBwcm9wZXJ0eUluZm9zOiBDb250cm9sUHJvcGVydHlJbmZvW10pOiBDb250cm9sUHJvcGVydHlJbmZvW10ge1xuXHRcdGlmIChjb250cm9sLmlzQShcInNhcC51aS5tZGMuRmlsdGVyQmFyXCIpKSB7XG5cdFx0XHRyZXR1cm4gcHJvcGVydHlJbmZvcztcblx0XHR9XG5cdFx0cHJvcGVydHlJbmZvcy5mb3JFYWNoKChwcm9wZXJ0eUluZm86IENvbnRyb2xQcm9wZXJ0eUluZm8pID0+IHtcblx0XHRcdGlmICgoY29udHJvbCBhcyBDb250cm9sKS5pc0EoXCJzYXAudWkubWRjLlRhYmxlXCIpKSB7XG5cdFx0XHRcdHByb3BlcnR5SW5mb1tcImNvbmRpdGlvblBhdGhcIl0gPSBwcm9wZXJ0eUluZm8ubmFtZTtcblx0XHRcdFx0cHJvcGVydHlJbmZvW1wiYW5ub3RhdGlvblBhdGhcIl0gPSBwcm9wZXJ0eUluZm8ubWV0YWRhdGFQYXRoID8gcHJvcGVydHlJbmZvLm1ldGFkYXRhUGF0aCA6IFwiXCI7XG5cdFx0XHRcdHByb3BlcnR5SW5mb1tcImhhc1ZhbHVlSGVscFwiXSA9IFByb3BlcnR5SGVscGVyLmhhc1ZhbHVlSGVscChcblx0XHRcdFx0XHQoY29udHJvbCBhcyBUYWJsZSkuZ2V0UHJvcGVydHlIZWxwZXIoKS5nZXRQcm9wZXJ0eShwcm9wZXJ0eUluZm8ubmFtZSlcblx0XHRcdFx0KTtcblx0XHRcdFx0cHJvcGVydHlJbmZvW1wiZGF0YVR5cGVcIl0gPSBwcm9wZXJ0eUluZm8/LnR5cGVDb25maWc/LmNsYXNzTmFtZSBhcyBzdHJpbmc7XG5cdFx0XHR9IGVsc2UgaWYgKChjb250cm9sIGFzIENvbnRyb2wpLmlzQShcInNhcC51aS5tZGMuQ2hhcnRcIikpIHtcblx0XHRcdFx0aWYgKHByb3BlcnR5SW5mby5wYXRoKSB7XG5cdFx0XHRcdFx0cHJvcGVydHlJbmZvW1wibmFtZVwiXSA9IHByb3BlcnR5SW5mby5wYXRoO1xuXHRcdFx0XHRcdHByb3BlcnR5SW5mb1tcImNvbmRpdGlvblBhdGhcIl0gPSBwcm9wZXJ0eUluZm8ucGF0aDtcblx0XHRcdFx0XHRjb25zdCBwcm9wZXJ0eSA9ICgoY29udHJvbCBhcyBDaGFydCkuZ2V0UGFyZW50KCkgYXMgQ2hhcnRUeXBlKT8uZ2V0UHJvcGVydHlEYXRhTW9kZWwocHJvcGVydHlJbmZvLnBhdGgpPy50YXJnZXRPYmplY3Q7XG5cdFx0XHRcdFx0cHJvcGVydHlJbmZvW1wiaGFzVmFsdWVIZWxwXCJdID0gcHJvcGVydHkgPyBQcm9wZXJ0eUhlbHBlci5oYXNWYWx1ZUhlbHAocHJvcGVydHkpIDogZmFsc2U7XG5cdFx0XHRcdFx0cHJvcGVydHlJbmZvW1wiZGF0YVR5cGVcIl0gPSAocHJvcGVydHlJbmZvPy50eXBlQ29uZmlnPy5jbGFzc05hbWUgYXMgc3RyaW5nKSB8fCBwcm9wZXJ0eUluZm8uZGF0YVR5cGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0XHRyZXR1cm4gcHJvcGVydHlJbmZvcztcblx0fSxcblxuXHQvKipcblx0ICogU2V0cyBzZWxlY3Rpb24gdmFyaWFudCB0byB0aGUgdGFibGUuIE5vdGU6IHNldFNlbGVjdGlvblZhcmlhbnQgd2lsbCBjbGVhciB0aGUgZXhpc3RpbmcgZmlsdGVycyBhbmQgdGhlbiBhcHBseSB0aGUgU2VsZWN0aW9uVmFyaWFudCB2YWx1ZXMuXG5cdCAqIEBwYXJhbSBjb250cm9sSW5zdGFuY2UgVGhpcyBjb3VsZCBiZSBhIHRhYmxlLCBjaGFydCwgb3IgZmlsdGVyIGJhclxuXHQgKiBAcGFyYW0gc2VsZWN0aW9uVmFyaWFudCBUaGUgc2VsZWN0aW9uIHZhcmlhbnQgdG8gYXBwbHkgdG8gdGhlIHJlc3BlY3RpdmUgbWRjIGNvbnRyb2xzXG5cdCAqIEBwYXJhbSBwcmVmaWxsRGVzY3JpcHRpb25zIE9wdGlvbmFsLiBJZiB0cnVlLCB3ZSB3aWxsIHVzZSB0aGUgYXNzb2NpYXRlZCB0ZXh0IHByb3BlcnR5IHZhbHVlcyAoaWYgdGhleSdyZSBhdmFpbGFibGUgaW4gdGhlIHNlbGVjdGlvblZhcmlhbnQpIHRvIGRpc3BsYXkgdGhlIGZpbHRlciB2YWx1ZSBkZXNjcmlwdGlvbnMsIGluc3RlYWQgb2YgbG9hZGluZyB0aGVtIGZyb20gdGhlIGJhY2tlbmRcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGZvciBhc3luY2hyb25vdXMgaGFuZGxpbmdcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YXN5bmMgc2V0U2VsZWN0aW9uVmFyaWFudFRvTWRjQ29udHJvbChcblx0XHRjb250cm9sSW5zdGFuY2U6IENvcmVDb250cm9sIHwgdW5kZWZpbmVkLFxuXHRcdHNlbGVjdGlvblZhcmlhbnQ6IFNlbGVjdGlvblZhcmlhbnQsXG5cdFx0cHJlZmlsbERlc2NyaXB0aW9ucyA9IGZhbHNlXG5cdCk6IFByb21pc2U8dW5rbm93bj4ge1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBzdGF0ZTogRXh0ZXJuYWxTdGF0ZVR5cGUgPSBhd2FpdCBTdGF0ZVV0aWwucmV0cmlldmVFeHRlcm5hbFN0YXRlKGNvbnRyb2xJbnN0YW5jZSBhcyBDb250cm9sKTtcblx0XHRcdGlmICghc3RhdGUuZmlsdGVyKSB7XG5cdFx0XHRcdExvZy5lcnJvcihgRkUgOiBzZXRTZWxlY3Rpb25WYXJpYW50IEFQSSBjYW5ub3QgYmUgYXBwbGllZCBvbiA6ICR7Y29udHJvbEluc3RhbmNlPy5nZXRJZCgpfWApO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBjb25kaXRpb25zOiBTdGF0ZVV0aWxGaWx0ZXIgPSBhd2FpdCB0aGlzLmNvbnZlcnRTZWxlY3Rpb25WYXJpYW50VG9TdGF0ZUZpbHRlcnMoXG5cdFx0XHRcdGNvbnRyb2xJbnN0YW5jZSBhcyBDb250cm9sLFxuXHRcdFx0XHRzZWxlY3Rpb25WYXJpYW50LFxuXHRcdFx0XHRwcmVmaWxsRGVzY3JpcHRpb25zLFxuXHRcdFx0XHRjb250cm9sSW5zdGFuY2U/LmdldE1vZGVsKClcblx0XHRcdCk7XG5cblx0XHRcdC8vIENsZWFyIGZpbHRlciBvZiB0YWJsZSBiZWZvcmUgYXBwbHlpbmcgc2VsZWN0aW9uIHZhcmlhbnRcblx0XHRcdGF3YWl0IHRoaXMuY2xlYXJGaWx0ZXJWYWx1ZXMoY29udHJvbEluc3RhbmNlPy5nZXRQYXJlbnQoKSBhcyBNYWNyb0FQSSk7XG5cblx0XHRcdC8vIFN0YXRlIHRvIGFwcGx5XG5cdFx0XHRjb25zdCBwcm9wZXJ0eUluZm9zID0gYXdhaXQgdGhpcy5fZ2V0U3VwcG9ydGVkRmlsdGVyRmllbGRzKGNvbnRyb2xJbnN0YW5jZSBhcyBDb250cm9sKTtcblx0XHRcdGNvbnN0IHN0YXRlVG9BcHBseSA9IHN2VG9TdGF0ZUZpbHRlcnMuZ2V0U3RhdGVUb0FwcGx5KHByb3BlcnR5SW5mb3MsIGNvbmRpdGlvbnMpO1xuXHRcdFx0aWYgKGNvbnRyb2xJbnN0YW5jZT8uaXNBKFwic2FwLnVpLm1kYy5DaGFydFwiKSkge1xuXHRcdFx0XHR0aGlzLmNvbnZlcnRDb25kaXRpb25zRm9yQ2hhcnQoc3RhdGVUb0FwcGx5KTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBhd2FpdCBTdGF0ZVV0aWwuYXBwbHlFeHRlcm5hbFN0YXRlKGNvbnRyb2xJbnN0YW5jZSBhcyBDb250cm9sLCBzdGF0ZVRvQXBwbHkpO1xuXHRcdH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuXHRcdFx0Y29uc3QgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGNvbnRyb2xJbnN0YW5jZT8uZ2V0SWQoKTtcblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycik7XG5cdFx0XHRMb2cuZXJyb3IoYEZFIDogQnVpbGRpbmdCbG9jayAoJHtpZH0pIC0gc2V0IHNlbGVjdGlvbiB2YXJpYW50IGZhaWxlZCAgOiAke21lc3NhZ2V9YCk7XG5cdFx0XHR0aHJvdyBFcnJvcihtZXNzYWdlKTtcblx0XHR9XG5cdH0sXG5cblx0LyoqXG5cdCAqIENvbnZlcnQgdGhlIGNoYXJ0IHByb3BlcnRpZXMgdG8gaW50ZXJuYWwgcHJvcGVydGllcyBiZWZvcmUgYXBwbHlpbmcgdGhlIGNvbmRpdGlvbnMuXG5cdCAqIEBwYXJhbSBzdGF0ZVRvQXBwbHkgVGhpcyBjb250YWlucyB0aGUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGZpbHRlciBhbmQgY29uZGl0aW9uc1xuXHQgKi9cblx0Y29udmVydENvbmRpdGlvbnNGb3JDaGFydChzdGF0ZVRvQXBwbHk6IFN0YXRlVG9BcHBseSk6IHZvaWQge1xuXHRcdC8vIHJlcGxhY2Uga2V5cyBvZiBmaWx0ZXIgb2JqZWN0IGZyb20gXCJTYWxlc09kZXJcIiB0byBpbnRlcm5hbCBmb3JtYXQgXCJfZmVfZ3JvdXBhYmxlX1NhbGVzT3JkZXJcIlxuXHRcdGZvciAoY29uc3QgcHJvcGVydHkgaW4gc3RhdGVUb0FwcGx5LmZpbHRlcikge1xuXHRcdFx0ZGVsZXRlIE9iamVjdC5hc3NpZ24oc3RhdGVUb0FwcGx5LmZpbHRlciwgeyBbXCJfZmVfZ3JvdXBhYmxlX1wiICsgcHJvcGVydHldOiBzdGF0ZVRvQXBwbHkuZmlsdGVyW3Byb3BlcnR5XSB9KVtwcm9wZXJ0eV07XG5cdFx0fVxuXHRcdC8vIHJlcGxhY2Uga2V5cyBvZiBpdGVtcyBhcnJheSBmcm9tIFwiU2FsZXNPZGVyXCIgdG8gaW50ZXJuYWwgZm9ybWF0IFwiX2ZlX2dyb3VwYWJsZV9TYWxlc09yZGVyXCJcblx0XHRzdGF0ZVRvQXBwbHkuaXRlbXMuZm9yRWFjaCgocHJvcGVydHlPYmo6IHsgbmFtZTogc3RyaW5nIH0pID0+IHtcblx0XHRcdHByb3BlcnR5T2JqLm5hbWUgPSBcIl9mZV9ncm91cGFibGVfXCIgKyBwcm9wZXJ0eU9iai5uYW1lO1xuXHRcdH0pO1xuXHR9XG59O1xuXG5leHBvcnQgdHlwZSBDb250cm9sUHJvcGVydHlJbmZvID0gUHJvcGVydHlJbmZvICYge1xuXHRjb25kaXRpb25QYXRoOiBzdHJpbmc7XG5cdGRhdGFUeXBlOiBzdHJpbmc7XG5cdGFubm90YXRpb25QYXRoPzogc3RyaW5nO1xuXHRtZXRhZGF0YVBhdGg/OiBzdHJpbmc7XG5cdGlzUGFyYW1ldGVyPzogYm9vbGVhbjtcblx0aGlkZGVuRmlsdGVyPzogYm9vbGVhbjtcblx0aGFzVmFsdWVIZWxwPzogYm9vbGVhbjtcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU3RhdGVIZWxwZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7RUF5QkE7QUFDQTtBQUNBO0FBQ0E7O0VBRUEsTUFBTUEsV0FBVyxHQUFHO0lBQ25CO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDLE1BQU1DLG1CQUFtQkEsQ0FBQ0MsT0FBZ0MsRUFBNkI7TUFDdEYsSUFBSTtRQUNILE1BQU1DLFlBQVksR0FBRyxNQUFNQyxTQUFTLENBQUNDLHFCQUFxQixDQUFDSCxPQUFrQixDQUFDO1FBQzlFLE1BQU1JLGFBQWEsR0FBR0gsWUFBWSxDQUFDSSxNQUF5QjtRQUM1RCxJQUFJQyxVQUFnQyxHQUFHLEVBQUU7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
|
|
260
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTdGF0ZUhlbHBlciIsImdldFNlbGVjdGlvblZhcmlhbnQiLCJjb250cm9sIiwiY29udHJvbFN0YXRlIiwiU3RhdGVVdGlsIiwicmV0cmlldmVFeHRlcm5hbFN0YXRlIiwiY29udHJvbE9iamVjdCIsImZpbHRlciIsInBhcmFtZXRlcnMiLCJnZXRQYXJlbnQiLCJpc0EiLCJnZXRQYXJhbWV0ZXJzIiwidW5kZWZpbmVkIiwic2VsZWN0aW9uVmFyaWFudCIsIlN0YXRlRmlsdGVyc1RvU2VsZWN0aW9uVmFyaWFudCIsImdldFNlbGVjdGlvblZhcmlhbnRGcm9tQ29uZGl0aW9ucyIsImdldFByb3BlcnR5SGVscGVyIiwiZXh0ZXJuYWxTViIsIlNlbGVjdGlvblZhcmlhbnQiLCJzZWxlY3RPcHRpb25zIiwiX2dldFNlbGVjdE9wdGlvbnMiLCJwcm9wZXJ0eSIsIm1hc3NBZGRTZWxlY3RPcHRpb24iLCJzcGxpdCIsImVycm9yIiwiaWQiLCJnZXRJZCIsIm1lc3NhZ2UiLCJFcnJvciIsIlN0cmluZyIsIkxvZyIsImNvbnZlcnRTZWxlY3Rpb25WYXJpYW50VG9TdGF0ZUZpbHRlcnMiLCJwcmVmaWxsRGVzY3JpcHRpb25zIiwibW9kZWwiLCJwcm9wZXJ0eUluZm9zIiwiX2dldFN1cHBvcnRlZEZpbHRlckZpZWxkcyIsImxlbmd0aCIsImZpbHRlckJhckluZm9Gb3JDb252ZXJzaW9uIiwiX2dldENvbnRyb2xJbmZvRm9yQ29udmVyc2lvbiIsIm1ldGFNb2RlbCIsImdldE1ldGFNb2RlbCIsImNvcHlvZlByb3BlcnR5SW5mb3MiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJ1cGRhdGVkUHJvcGVydHlJbmZvcyIsIl91cGRhdGVQcm9wZXJ0eUluZm9Ub1N1cHBvcnRTViIsImNvbmRpdGlvbnMiLCJzdlRvU3RhdGVGaWx0ZXJzIiwiZ2V0U3RhdGVGaWx0ZXJzRnJvbVNWIiwiZ2V0TW9kZWwiLCJjb250ZXh0UGF0aCIsImRhdGEiLCJ1c2VTZW1hbnRpY0RhdGVSYW5nZSIsInZpZXdEYXRhSW5zdGFuY2UiLCJ2aWV3RGF0YSIsImdldERhdGEiLCJjb25maWciLCJjb250cm9sQ29uZmlndXJhdGlvbiIsInNlbGVjdGlvbkZpZWxkc0NvbmZpZ3MiLCJmaWx0ZXJGaWVsZHNDb25maWciLCJmaWx0ZXJGaWVsZHMiLCJ3YWl0Rm9ySW5pdGlhbGl6YXRpb24iLCJnZXRDb250cm9sRGVsZWdhdGUiLCJmZXRjaEZpbHRlclByb3BlcnRpZXMiLCJhd2FpdENvbnRyb2xEZWxlZ2F0ZSIsImZldGNoUHJvcGVydGllcyIsImNsZWFyRmlsdGVyVmFsdWVzIiwiY29udHJvbEluc3RhbmNlIiwiX2NsZWFyRmlsdGVyVmFsdWVzV2l0aE9wdGlvbnMiLCJjb250ZW50IiwiZmlyZUV2ZW50Iiwib3B0aW9ucyIsInN0YXRlIiwiZWRpdFN0YXRlUGF0aCIsImN1cnJlbnRFZGl0U3RhdGVDb25kaXRpb24iLCJlZGl0U3RhdGVEZWZhdWx0VmFsdWUiLCJjdXJyZW50RWRpdFN0YXRlSXNEZWZhdWx0Iiwic2hvdWxkQ2xlYXJFZGl0RmlsdGVyIiwiRHJhZnRFZGl0U3RhdGUiLCJBTEwiLCJkZWVwQ2xvbmUiLCJ2YWx1ZXMiLCJPYmplY3QiLCJrZXlzIiwiY2xlYXJFZGl0RmlsdGVyIiwiY29uZGl0aW9uUGF0aCIsImNvbmRpdGlvbiIsImZpbHRlcmVkIiwiYXBwbHlFeHRlcm5hbFN0YXRlIiwiY2xlYW5VcEFsbEZpbHRlckZpZWxkc0luRXJyb3JTdGF0ZSIsImZvckVhY2giLCJwcm9wZXJ0eUluZm8iLCJuYW1lIiwibWV0YWRhdGFQYXRoIiwiUHJvcGVydHlIZWxwZXIiLCJoYXNWYWx1ZUhlbHAiLCJnZXRQcm9wZXJ0eSIsInR5cGVDb25maWciLCJjbGFzc05hbWUiLCJwYXRoIiwiZ2V0UHJvcGVydHlEYXRhTW9kZWwiLCJ0YXJnZXRPYmplY3QiLCJkYXRhVHlwZSIsInNldFNlbGVjdGlvblZhcmlhbnRUb01kY0NvbnRyb2wiLCJhcmd1bWVudHMiLCJzdGF0ZVRvQXBwbHkiLCJnZXRTdGF0ZVRvQXBwbHkiLCJjb252ZXJ0Q29uZGl0aW9uc0ZvckNoYXJ0IiwiZGlmZlN0YXRlIiwiYXBwbHlTdGF0ZVJlc3VsdCIsImVyciIsImFzc2lnbiIsIml0ZW1zIiwicHJvcGVydHlPYmoiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlN0YXRlSGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IGRlZXBDbG9uZSBmcm9tIFwic2FwL2Jhc2UvdXRpbC9kZWVwQ2xvbmVcIjtcbmltcG9ydCB0eXBlIHsgVmlld0RhdGEgfSBmcm9tIFwic2FwL2ZlL2NvcmUvc2VydmljZXMvVGVtcGxhdGVkVmlld1NlcnZpY2VGYWN0b3J5XCI7XG5pbXBvcnQgKiBhcyBQcm9wZXJ0eUhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9Qcm9wZXJ0eUhlbHBlclwiO1xuaW1wb3J0IERyYWZ0RWRpdFN0YXRlIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9EcmFmdEVkaXRTdGF0ZVwiO1xuaW1wb3J0IHR5cGUgRmlsdGVyQmFyQVBJIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9GaWx0ZXJCYXJBUElcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydHlJbmZvIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvUHJvcGVydHlJbmZvXCI7XG5pbXBvcnQgdHlwZSB7IENvbnZlcnNpb25JbmZvIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvbWRjL2FkYXB0ZXIvU2VsZWN0aW9uVmFyaWFudFRvU3RhdGVGaWx0ZXJzXCI7XG5pbXBvcnQgc3ZUb1N0YXRlRmlsdGVycyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9tZGMvYWRhcHRlci9TZWxlY3Rpb25WYXJpYW50VG9TdGF0ZUZpbHRlcnNcIjtcbmltcG9ydCBTdGF0ZUZpbHRlcnNUb1NlbGVjdGlvblZhcmlhbnQgZnJvbSBcInNhcC9mZS9tYWNyb3MvbWRjL2FkYXB0ZXIvU3RhdGVGaWx0ZXJUb1NlbGVjdGlvblZhcmlhbnRcIjtcbmltcG9ydCB0eXBlIHsgRXh0ZXJuYWxTdGF0ZVR5cGUgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy92YWx1ZWhlbHAvVmFsdWVIZWxwRGVsZWdhdGVcIjtcbmltcG9ydCBTZWxlY3Rpb25WYXJpYW50IGZyb20gXCJzYXAvZmUvbmF2aWdhdGlvbi9TZWxlY3Rpb25WYXJpYW50XCI7XG5pbXBvcnQgdHlwZSBDb3JlQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgQ2hhcnQgZnJvbSBcInNhcC91aS9tZGMvQ2hhcnRcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9tZGMvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgRmlsdGVyQmFyIGZyb20gXCJzYXAvdWkvbWRjL0ZpbHRlckJhclwiO1xuaW1wb3J0IHR5cGUgVGFibGUgZnJvbSBcInNhcC91aS9tZGMvVGFibGVcIjtcbmltcG9ydCB0eXBlIHsgU3RhdGVUb0FwcGx5LCBGaWx0ZXIgYXMgU3RhdGVVdGlsRmlsdGVyIH0gZnJvbSBcInNhcC91aS9tZGMvcDEzbi9TdGF0ZVV0aWxcIjtcbmltcG9ydCBTdGF0ZVV0aWwgZnJvbSBcInNhcC91aS9tZGMvcDEzbi9TdGF0ZVV0aWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcbmltcG9ydCB0eXBlIEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSBDaGFydFR5cGUgZnJvbSBcIi4uLy4uL0NoYXJ0XCI7XG5pbXBvcnQgdHlwZSBNYWNyb0FQSSBmcm9tIFwiLi4vLi4vTWFjcm9BUElcIjtcblxuLyoqXG4gKiBUaGlzIGlzIHRvIGV4dGVuZCBNREMgY29udHJvbCBBUElzIGZvciBmaWx0ZXIsIHRhYmxlLCBjaGFydCBidWlsZGluZyBibG9ja3MuXG4gKiBAcHVibGljXG4gKi9cblxuY29uc3QgU3RhdGVIZWxwZXIgPSB7XG5cdC8qKlxuXHQgKiBHZXRzIHNlbGVjdGlvbiB2YXJpYW50IGZyb20gdGhlIG1kYyBjb250cm9sLlxuXHQgKiBAcGFyYW0gY29udHJvbCBUaGUgY29udHJvbCBmb3Igd2hpY2ggU2VsZWN0aW9uIFZhcmlhbnQgaXMgdG8gYmUgZmV0Y2hlZFxuXHQgKiBAcmV0dXJucyBBIHByb21pc2Ugd2hpY2ggcmVzb2x2ZXMgd2l0aCBhIHtAbGluayBzYXAuZmUubmF2aWdhdGlvbi5TZWxlY3Rpb25WYXJpYW50fVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhc3luYyBnZXRTZWxlY3Rpb25WYXJpYW50KGNvbnRyb2w6IENvcmVDb250cm9sIHwgdW5kZWZpbmVkKTogUHJvbWlzZTxTZWxlY3Rpb25WYXJpYW50PiB7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IGNvbnRyb2xTdGF0ZSA9IGF3YWl0IFN0YXRlVXRpbC5yZXRyaWV2ZUV4dGVybmFsU3RhdGUoY29udHJvbCBhcyBDb250cm9sKTtcblx0XHRcdGNvbnN0IGNvbnRyb2xPYmplY3QgPSBjb250cm9sU3RhdGUuZmlsdGVyIGFzIFN0YXRlVXRpbEZpbHRlcjtcblx0XHRcdGxldCBwYXJhbWV0ZXJzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCA9IFtdO1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRjb250cm9sPy5nZXRQYXJlbnQoKT8uaXNBKFwic2FwLmZlLm1hY3Jvcy5maWx0ZXJCYXIuRmlsdGVyQmFyQVBJXCIpICYmXG5cdFx0XHRcdChjb250cm9sLmdldFBhcmVudCgpIGFzIEZpbHRlckJhckFQSSkuZ2V0UGFyYW1ldGVycyAhPT0gdW5kZWZpbmVkXG5cdFx0XHQpIHtcblx0XHRcdFx0cGFyYW1ldGVycyA9IChjb250cm9sLmdldFBhcmVudCgpIGFzIEZpbHRlckJhckFQSSkuZ2V0UGFyYW1ldGVycygpO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3Qgc2VsZWN0aW9uVmFyaWFudCA9IFN0YXRlRmlsdGVyc1RvU2VsZWN0aW9uVmFyaWFudC5nZXRTZWxlY3Rpb25WYXJpYW50RnJvbUNvbmRpdGlvbnMoXG5cdFx0XHRcdGNvbnRyb2xPYmplY3QsXG5cdFx0XHRcdChjb250cm9sIGFzIENvbnRyb2wpLmdldFByb3BlcnR5SGVscGVyKCksXG5cdFx0XHRcdHBhcmFtZXRlcnNcblx0XHRcdCk7XG5cdFx0XHRpZiAoY29udHJvbD8uaXNBKFwic2FwLnVpLm1kYy5DaGFydFwiKSkge1xuXHRcdFx0XHRjb25zdCBleHRlcm5hbFNWID0gbmV3IFNlbGVjdGlvblZhcmlhbnQoKTtcblx0XHRcdFx0Y29uc3Qgc2VsZWN0T3B0aW9ucyA9IHNlbGVjdGlvblZhcmlhbnQuX2dldFNlbGVjdE9wdGlvbnMoKTtcblx0XHRcdFx0Zm9yIChjb25zdCBwcm9wZXJ0eSBpbiBzZWxlY3RPcHRpb25zKSB7XG5cdFx0XHRcdFx0ZXh0ZXJuYWxTVi5tYXNzQWRkU2VsZWN0T3B0aW9uKHByb3BlcnR5LnNwbGl0KFwiX2ZlX2dyb3VwYWJsZV9cIilbMV0sIHNlbGVjdE9wdGlvbnNbcHJvcGVydHldKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZXh0ZXJuYWxTVjtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBzZWxlY3Rpb25WYXJpYW50O1xuXHRcdFx0fVxuXHRcdH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG5cdFx0XHRjb25zdCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gY29udHJvbD8uZ2V0SWQoKTtcblx0XHRcdGNvbnN0IG1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG5cdFx0XHRMb2cuZXJyb3IoYEJ1aWxkaW5nIEJsb2NrICgke2lkfSkgLSBnZXQgc2VsZWN0aW9uIHZhcmlhbnQgZmFpbGVkIDogJHttZXNzYWdlfWApO1xuXHRcdFx0dGhyb3cgRXJyb3IobWVzc2FnZSk7XG5cdFx0fVxuXHR9LFxuXG5cdC8qKlxuXHQgKiBDb252ZXJ0IHNlbGVjdGlvbiB2YXJpYW50IHRvIGNvbmRpdGlvbnMuXG5cdCAqIEBwYXJhbSBjb250cm9sIENvbnRyb2wgY2FuIGJlIGEgdGFibGUsIGNoYXJ0IG9yIGZpbHRlciBiYXJcblx0ICogQHBhcmFtIHNlbGVjdGlvblZhcmlhbnQgVGhlIHNlbGVjdGlvbiB2YXJpYW50IHRvIGFwcGx5IHRvIHRoZSB0YWJsZSBvciBjaGFydCBvciBmaWx0ZXIgYmFyLlxuXHQgKiBAcGFyYW0gcHJlZmlsbERlc2NyaXB0aW9ucyBJZiB0cnVlLCB3ZSB0cnkgdG8gZmluZCB0aGUgYXNzb2NpYXRlZCBUZXh0IHZhbHVlIGZvciBlYWNoIHByb3BlcnR5IGluIHRoZSBzZWxlY3Rpb25WYXJpYW50ICh0byBhdm9pZCBmZXRjaGluZyBpdCBmcm9tIHRoZSBzZXJ2ZXIpXG5cdCAqIEBwYXJhbSBtb2RlbCBUaGUgY29udHJvbCBtb2RlbFxuXHQgKiBAcmV0dXJucyBBIHByb21pc2UgcmVzb2x2aW5nIHRvIGNvbmRpdGlvbnNcblx0ICovXG5cdGFzeW5jIGNvbnZlcnRTZWxlY3Rpb25WYXJpYW50VG9TdGF0ZUZpbHRlcnMoXG5cdFx0Y29udHJvbDogQ29udHJvbCxcblx0XHRzZWxlY3Rpb25WYXJpYW50OiBTZWxlY3Rpb25WYXJpYW50LFxuXHRcdHByZWZpbGxEZXNjcmlwdGlvbnM6IGJvb2xlYW4sXG5cdFx0bW9kZWw/OiBNb2RlbFxuXHQpOiBQcm9taXNlPFN0YXRlVXRpbEZpbHRlcj4ge1xuXHRcdC8vIE5vdGU6IFRoaXMgbWV0aG9kIGlzIHByaXZhdGUgYW5kIHJlc3RyaWN0ZWQgdG8gdXNhZ2UgYnkgc2FwLmZlKFZpZXdTdGF0ZSBjb250cm9sbGVyIGV4dGVuc2lvbikgZm9yIGZpbHRlciBiYXIvIGNoYXJ0IC8gdGFibGUgc3RhdGUgc2NlbmFyaW9zLlxuXHRcdGNvbnN0IHByb3BlcnR5SW5mb3MgPSBhd2FpdCB0aGlzLl9nZXRTdXBwb3J0ZWRGaWx0ZXJGaWVsZHMoY29udHJvbCk7XG5cblx0XHRpZiAoIXByb3BlcnR5SW5mb3MubGVuZ3RoKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJObyB2YWxpZCBtZXRhZGF0YSBwcm9wZXJ0aWVzIHByZXNlbnQgZm9yIGZpbHRlciBiYXJcIik7XG5cdFx0fVxuXG5cdFx0Y29uc3QgZmlsdGVyQmFySW5mb0ZvckNvbnZlcnNpb24gPSB0aGlzLl9nZXRDb250cm9sSW5mb0ZvckNvbnZlcnNpb24oY29udHJvbCk7XG5cdFx0Y29uc3QgbWV0YU1vZGVsID0gbW9kZWw/LmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsO1xuXHRcdGNvbnN0IGNvcHlvZlByb3BlcnR5SW5mb3MgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByb3BlcnR5SW5mb3MpKTtcblx0XHRjb25zdCB1cGRhdGVkUHJvcGVydHlJbmZvcyA9IHRoaXMuX3VwZGF0ZVByb3BlcnR5SW5mb1RvU3VwcG9ydFNWKGNvbnRyb2wsIGNvcHlvZlByb3BlcnR5SW5mb3MpO1xuXHRcdGNvbnN0IGNvbmRpdGlvbnM6IFN0YXRlVXRpbEZpbHRlciA9IHN2VG9TdGF0ZUZpbHRlcnMuZ2V0U3RhdGVGaWx0ZXJzRnJvbVNWKFxuXHRcdFx0c2VsZWN0aW9uVmFyaWFudCxcblx0XHRcdGZpbHRlckJhckluZm9Gb3JDb252ZXJzaW9uLFxuXHRcdFx0dXBkYXRlZFByb3BlcnR5SW5mb3MgPz8gY29weW9mUHJvcGVydHlJbmZvcyxcblx0XHRcdHByZWZpbGxEZXNjcmlwdGlvbnMsXG5cdFx0XHRtZXRhTW9kZWxcblx0XHQpO1xuXG5cdFx0cmV0dXJuIGNvbmRpdGlvbnM7XG5cdH0sXG5cblx0LyoqXG5cdCAqIEdldCB0aGUgZmlsdGVyIGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgdGhlIGNvbnZlcnNpb24gb2Ygc2VsZWN0aW9uIHZhcmlhbnQgdG8gY29uZGl0aW9ucy5cblx0ICogQHBhcmFtIGNvbnRyb2wgVGhpcyBjYW4gYmUgYSB0YWJsZSwgY2hhcnQsIG9yIGZpbHRlcmJhclxuXHQgKiBAcmV0dXJucyBUaGUgY29udHJvbCBpbmZvcm1hdGlvbiAobWV0YU1vZGVsLCBjb250ZXh0UGF0aCwgdXNlIG9mIHNlbWFudGljIGRhdGUgcmFuZ2UsIGFsbCBmaWx0ZXIgZmllbGRzIGNvbmZpZylcblx0ICovXG5cdF9nZXRDb250cm9sSW5mb0ZvckNvbnZlcnNpb24oY29udHJvbDogQ29udHJvbCk6IENvbnZlcnNpb25JbmZvIHtcblx0XHRjb25zdCBtZXRhTW9kZWwgPSBjb250cm9sLmdldE1vZGVsKCk/LmdldE1ldGFNb2RlbCgpIGFzIE9EYXRhTWV0YU1vZGVsLFxuXHRcdFx0Y29udGV4dFBhdGggPSBjb250cm9sLmRhdGEoXCJlbnRpdHlUeXBlXCIpIGFzIHN0cmluZztcblx0XHRpZiAoY29udHJvbC5pc0EoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkZpbHRlckJhclwiKSkge1xuXHRcdFx0Y29uc3QgdXNlU2VtYW50aWNEYXRlUmFuZ2U6IGJvb2xlYW4gPVxuXHRcdFx0XHRcdGNvbnRyb2wuZGF0YShcInVzZVNlbWFudGljRGF0ZVJhbmdlXCIpID09PSBcInRydWVcIiB8fCBjb250cm9sLmRhdGEoXCJ1c2VTZW1hbnRpY0RhdGVSYW5nZVwiKSA9PT0gdHJ1ZSxcblx0XHRcdFx0dmlld0RhdGFJbnN0YW5jZSA9IGNvbnRyb2wuZ2V0TW9kZWwoXCJ2aWV3RGF0YVwiKSBhcyBKU09OTW9kZWwsXG5cdFx0XHRcdHZpZXdEYXRhID0gdmlld0RhdGFJbnN0YW5jZS5nZXREYXRhKCkgYXMgVmlld0RhdGEsXG5cdFx0XHRcdGNvbmZpZyA9IHZpZXdEYXRhPy5jb250cm9sQ29uZmlndXJhdGlvbixcblx0XHRcdFx0c2VsZWN0aW9uRmllbGRzQ29uZmlncyA9IGNvbmZpZz8uW1wiQGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlNlbGVjdGlvbkZpZWxkc1wiXSxcblx0XHRcdFx0ZmlsdGVyRmllbGRzQ29uZmlnID0gc2VsZWN0aW9uRmllbGRzQ29uZmlncz8uZmlsdGVyRmllbGRzO1xuXHRcdFx0cmV0dXJuIHsgbWV0YU1vZGVsLCBjb250ZXh0UGF0aCwgdXNlU2VtYW50aWNEYXRlUmFuZ2UsIGZpbHRlckZpZWxkc0NvbmZpZywgc2VsZWN0aW9uRmllbGRzQ29uZmlncyB9O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4geyBtZXRhTW9kZWwsIGNvbnRleHRQYXRoIH07XG5cdFx0fVxuXHR9LFxuXG5cdC8qKlxuXHQgKiBHZXQgc3VwcG9ydGVkIGZpbHRlciBmaWVsZCBwcm9wZXJ0aWVzIGZyb20gdGhlIHRhYmxlLCBjaGFydCwgb3IgZmlsdGVyIGJhci5cblx0ICogQHBhcmFtIGNvbnRyb2wgQ29udHJvbCBjYW4gYmUgYSB0YWJsZSwgY2hhcnQsIG9yIGZpbHRlciBiYXJcblx0ICogQHJldHVybnMgU3VwcG9ydGVkIGZpbHRlciBmaWVsZHMuXG5cdCAqL1xuXHRhc3luYyBfZ2V0U3VwcG9ydGVkRmlsdGVyRmllbGRzKGNvbnRyb2w6IENvbnRyb2wpOiBQcm9taXNlPENvbnRyb2xQcm9wZXJ0eUluZm9bXT4ge1xuXHRcdGlmIChjb250cm9sLmlzQShcInNhcC51aS5tZGMuRmlsdGVyYmFyXCIpKSB7XG5cdFx0XHRhd2FpdCAoY29udHJvbCBhcyBGaWx0ZXJCYXIpLndhaXRGb3JJbml0aWFsaXphdGlvbigpO1xuXHRcdFx0cmV0dXJuIChjb250cm9sIGFzIEZpbHRlckJhcikuZ2V0Q29udHJvbERlbGVnYXRlKCkuZmV0Y2hGaWx0ZXJQcm9wZXJ0aWVzKGNvbnRyb2wpO1xuXHRcdH0gZWxzZSBpZiAoKGNvbnRyb2wgYXMgRmlsdGVyQmFyKS5pc0EoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLkZpbHRlckJhclwiKSkge1xuXHRcdFx0cmV0dXJuIChjb250cm9sIGFzIEZpbHRlckJhcikuZ2V0Q29udHJvbERlbGVnYXRlKCkuZmV0Y2hGaWx0ZXJQcm9wZXJ0aWVzKGNvbnRyb2wpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRhd2FpdCAoY29udHJvbCBhcyBUYWJsZSB8IENoYXJ0KS5hd2FpdENvbnRyb2xEZWxlZ2F0ZSgpO1xuXHRcdH1cblx0XHRyZXR1cm4gKGNvbnRyb2wgYXMgVGFibGUgfCBDaGFydCB8IEZpbHRlckJhcikuZ2V0Q29udHJvbERlbGVnYXRlKCkuZmV0Y2hQcm9wZXJ0aWVzKGNvbnRyb2wpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDbGVhcnMgYWxsIGlucHV0IHZhbHVlcyBvZiB2aXNpYmxlIGZpbHRlciBmaWVsZHMgaW4gdGhlIHRhYmxlLCBjaGFydCwgb3IgZmlsdGVyIGJhci4uXG5cdCAqIEBwYXJhbSBjb250cm9sSW5zdGFuY2UgVGhpcyBjYW4gYmUgYSBmaWx0ZXIgYmFyLCBjaGFydCwgb3IgdGFibGUuXG5cdCAqL1xuXHRhc3luYyBjbGVhckZpbHRlclZhbHVlcyhjb250cm9sSW5zdGFuY2U6IE1hY3JvQVBJKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0YXdhaXQgdGhpcy5fY2xlYXJGaWx0ZXJWYWx1ZXNXaXRoT3B0aW9ucyhjb250cm9sSW5zdGFuY2UuY29udGVudCBhcyBDb250cm9sKTtcblx0XHQvLyBBbGxvdyBhcHAgZGV2ZWxvcGVycyB0byB1cGRhdGUgZmlsdGVycyBhZnRlciBjbGVhcmluZ1xuXHRcdGNvbnRyb2xJbnN0YW5jZS5maXJlRXZlbnQoXCJhZnRlckNsZWFyXCIpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDbGVhcnMgYWxsIGlucHV0IHZhbHVlcyBvZiB2aXNpYmxlIGZpbHRlciBmaWVsZHMgaW4gdGhlIHRhYmxlLCBjaGFydCwgb3IgZmlsdGVyIGJhci5cblx0ICogQHBhcmFtIGNvbnRyb2wgVGhpcyBjYW4gYmUgYSB0YWJsZSwgY2hhcnQsIG9yIGZpbHRlciBiYXJcblx0ICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZmlsdGVyaW5nIHRoZSBmaWx0ZXIgYmFyXG5cdCAqIEBwYXJhbSBvcHRpb25zLmNsZWFyRWRpdEZpbHRlciBXaGV0aGVyIHRvIGNsZWFyIHRoZSBlZGl0IGZpbHRlciBvciByZXRhaW4gdGhlIGRlZmF1bHQgdmFsdWUgJ0FsbCdcblx0ICovXG5cdGFzeW5jIF9jbGVhckZpbHRlclZhbHVlc1dpdGhPcHRpb25zKGNvbnRyb2w6IENvbnRyb2wsIG9wdGlvbnM/OiB7IGNsZWFyRWRpdEZpbHRlcjogYm9vbGVhbiB9KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKCFjb250cm9sKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IHN0YXRlOiBFeHRlcm5hbFN0YXRlVHlwZSA9IGF3YWl0IFN0YXRlVXRpbC5yZXRyaWV2ZUV4dGVybmFsU3RhdGUoY29udHJvbCk7XG5cdFx0bGV0IGVkaXRTdGF0ZVBhdGggPSBcIlwiLFxuXHRcdFx0Y3VycmVudEVkaXRTdGF0ZUNvbmRpdGlvbixcblx0XHRcdGVkaXRTdGF0ZURlZmF1bHRWYWx1ZSxcblx0XHRcdGN1cnJlbnRFZGl0U3RhdGVJc0RlZmF1bHQ6IGJvb2xlYW4gfCB1bmRlZmluZWQsXG5cdFx0XHRzaG91bGRDbGVhckVkaXRGaWx0ZXI6IHVuZGVmaW5lZCB8IGJvb2xlYW47XG5cdFx0aWYgKGNvbnRyb2wuaXNBPEZpbHRlckJhcj4oXCJzYXAudWkubWRjLkZpbHRlckJhclwiKSkge1xuXHRcdFx0ZWRpdFN0YXRlUGF0aCA9IFwiJGVkaXRTdGF0ZVwiO1xuXHRcdFx0ZWRpdFN0YXRlRGVmYXVsdFZhbHVlID0gRHJhZnRFZGl0U3RhdGUuQUxMLmlkO1xuXHRcdFx0Y3VycmVudEVkaXRTdGF0ZUNvbmRpdGlvbiA9IGRlZXBDbG9uZShzdGF0ZS5maWx0ZXJbZWRpdFN0YXRlUGF0aF0/LlswXSk7XG5cdFx0XHRjdXJyZW50RWRpdFN0YXRlSXNEZWZhdWx0ID0gY3VycmVudEVkaXRTdGF0ZUNvbmRpdGlvbj8udmFsdWVzWzBdID09PSBlZGl0U3RhdGVEZWZhdWx0VmFsdWU7XG5cdFx0XHRzaG91bGRDbGVhckVkaXRGaWx0ZXIgPSBvcHRpb25zICYmIE9iamVjdC5rZXlzKG9wdGlvbnMpLmxlbmd0aCA+IDAgJiYgb3B0aW9ucy5jbGVhckVkaXRGaWx0ZXI7XG5cdFx0fVxuXG5cdFx0Ly8gQ2xlYXIgYWxsIGNvbmRpdGlvbnNcblx0XHRmb3IgKGNvbnN0IGNvbmRpdGlvblBhdGggb2YgT2JqZWN0LmtleXMoc3RhdGUuZmlsdGVyKSkge1xuXHRcdFx0aWYgKCFzaG91bGRDbGVhckVkaXRGaWx0ZXIgJiYgY29uZGl0aW9uUGF0aCA9PT0gZWRpdFN0YXRlUGF0aCAmJiBjdXJyZW50RWRpdFN0YXRlSXNEZWZhdWx0KSB7XG5cdFx0XHRcdC8vIERvIG5vdCBjbGVhciBlZGl0IHN0YXRlIGNvbmRpdGlvbiBpZiBpdCBpcyBhbHJlYWR5IFwiQUxMXCJcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cdFx0XHRmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiBzdGF0ZS5maWx0ZXJbY29uZGl0aW9uUGF0aF0pIHtcblx0XHRcdFx0Y29uZGl0aW9uLmZpbHRlcmVkID0gZmFsc2U7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGF3YWl0IFN0YXRlVXRpbC5hcHBseUV4dGVybmFsU3RhdGUoY29udHJvbCwgeyBmaWx0ZXI6IHN0YXRlLmZpbHRlciB9KTtcblxuXHRcdGlmIChjb250cm9sLmlzQTxGaWx0ZXJCYXI+KFwic2FwLnVpLm1kYy5GaWx0ZXJCYXJcIikpIHtcblx0XHRcdC8vIFNldCBlZGl0IHN0YXRlIHRvICdBTEwnIGlmIGl0IHdhc24ndCBiZWZvcmVcblx0XHRcdGlmICghc2hvdWxkQ2xlYXJFZGl0RmlsdGVyICYmIGN1cnJlbnRFZGl0U3RhdGVDb25kaXRpb24gJiYgIWN1cnJlbnRFZGl0U3RhdGVJc0RlZmF1bHQpIHtcblx0XHRcdFx0Y3VycmVudEVkaXRTdGF0ZUNvbmRpdGlvbi52YWx1ZXMgPSBbZWRpdFN0YXRlRGVmYXVsdFZhbHVlXTtcblx0XHRcdFx0YXdhaXQgU3RhdGVVdGlsLmFwcGx5RXh0ZXJuYWxTdGF0ZShjb250cm9sLCB7IGZpbHRlcjogeyBbZWRpdFN0YXRlUGF0aF06IFtjdXJyZW50RWRpdFN0YXRlQ29uZGl0aW9uXSB9IH0pO1xuXHRcdFx0fVxuXG5cdFx0XHQvL2NsZWFyIGZpbHRlciBmaWVsZHMgaW4gZXJyb3Igc3RhdGVcblx0XHRcdGNvbnRyb2wuY2xlYW5VcEFsbEZpbHRlckZpZWxkc0luRXJyb3JTdGF0ZSgpO1xuXHRcdH1cblx0fSxcblxuXHQvKipcblx0ICogTWV0aG9kIHJldHVybnMgdGhlIGNvcHkgb2YgcHJvcGVydHlJbmZvIGJ5IGFkZGluZyBuZWNlc3NhcnkgZmllbGRzIHNvIHRoYXQgc2VsZWN0aW9uIHZhcmlhbnQgY2FuIGJlIHNldCB0byBhIGNvbnRyb2wgbGlrZSB0YWJsZSBhbmQgY2hhcnQuXG5cdCAqIEBwYXJhbSBjb250cm9sIFRoaXMgY291bGQgYmUgYSB0YWJsZSwgY2hhcnQsIG9yIGZpbHRlciBiYXJcblx0ICogQHBhcmFtIHByb3BlcnR5SW5mb3MgQXJyYXkgb2YgUHJvcGVydHlJbmZvIG9mIHRoZSBjb250cm9sXG5cdCAqIEByZXR1cm5zIFRoZSBkZWVwIGNsb25lIG9mIHByb3BlcnR5SW5mb3Mgd2l0aCBzb21lIGFkZGl0aW9uYWwgZmllbGRzXG5cdCAqL1xuXHRfdXBkYXRlUHJvcGVydHlJbmZvVG9TdXBwb3J0U1YoY29udHJvbDogQ29udHJvbCwgcHJvcGVydHlJbmZvczogQ29udHJvbFByb3BlcnR5SW5mb1tdKTogQ29udHJvbFByb3BlcnR5SW5mb1tdIHtcblx0XHRpZiAoY29udHJvbC5pc0EoXCJzYXAudWkubWRjLkZpbHRlckJhclwiKSkge1xuXHRcdFx0cmV0dXJuIHByb3BlcnR5SW5mb3M7XG5cdFx0fVxuXHRcdHByb3BlcnR5SW5mb3MuZm9yRWFjaCgocHJvcGVydHlJbmZvOiBDb250cm9sUHJvcGVydHlJbmZvKSA9PiB7XG5cdFx0XHRpZiAoKGNvbnRyb2wgYXMgQ29udHJvbCkuaXNBKFwic2FwLnVpLm1kYy5UYWJsZVwiKSkge1xuXHRcdFx0XHRwcm9wZXJ0eUluZm9bXCJjb25kaXRpb25QYXRoXCJdID0gcHJvcGVydHlJbmZvLm5hbWU7XG5cdFx0XHRcdHByb3BlcnR5SW5mb1tcImFubm90YXRpb25QYXRoXCJdID0gcHJvcGVydHlJbmZvLm1ldGFkYXRhUGF0aCA/IHByb3BlcnR5SW5mby5tZXRhZGF0YVBhdGggOiBcIlwiO1xuXHRcdFx0XHRwcm9wZXJ0eUluZm9bXCJoYXNWYWx1ZUhlbHBcIl0gPSBQcm9wZXJ0eUhlbHBlci5oYXNWYWx1ZUhlbHAoXG5cdFx0XHRcdFx0KGNvbnRyb2wgYXMgVGFibGUpLmdldFByb3BlcnR5SGVscGVyKCkuZ2V0UHJvcGVydHkocHJvcGVydHlJbmZvLm5hbWUpXG5cdFx0XHRcdCk7XG5cdFx0XHRcdHByb3BlcnR5SW5mb1tcImRhdGFUeXBlXCJdID0gcHJvcGVydHlJbmZvPy50eXBlQ29uZmlnPy5jbGFzc05hbWUgYXMgc3RyaW5nO1xuXHRcdFx0fSBlbHNlIGlmICgoY29udHJvbCBhcyBDb250cm9sKS5pc0EoXCJzYXAudWkubWRjLkNoYXJ0XCIpKSB7XG5cdFx0XHRcdGlmIChwcm9wZXJ0eUluZm8ucGF0aCkge1xuXHRcdFx0XHRcdHByb3BlcnR5SW5mb1tcIm5hbWVcIl0gPSBwcm9wZXJ0eUluZm8ucGF0aDtcblx0XHRcdFx0XHRwcm9wZXJ0eUluZm9bXCJjb25kaXRpb25QYXRoXCJdID0gcHJvcGVydHlJbmZvLnBhdGg7XG5cdFx0XHRcdFx0Y29uc3QgcHJvcGVydHkgPSAoKGNvbnRyb2wgYXMgQ2hhcnQpLmdldFBhcmVudCgpIGFzIENoYXJ0VHlwZSk/LmdldFByb3BlcnR5RGF0YU1vZGVsKHByb3BlcnR5SW5mby5wYXRoKT8udGFyZ2V0T2JqZWN0O1xuXHRcdFx0XHRcdHByb3BlcnR5SW5mb1tcImhhc1ZhbHVlSGVscFwiXSA9IHByb3BlcnR5ID8gUHJvcGVydHlIZWxwZXIuaGFzVmFsdWVIZWxwKHByb3BlcnR5KSA6IGZhbHNlO1xuXHRcdFx0XHRcdHByb3BlcnR5SW5mb1tcImRhdGFUeXBlXCJdID0gKHByb3BlcnR5SW5mbz8udHlwZUNvbmZpZz8uY2xhc3NOYW1lIGFzIHN0cmluZykgfHwgcHJvcGVydHlJbmZvLmRhdGFUeXBlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHByb3BlcnR5SW5mb3M7XG5cdH0sXG5cblx0LyoqXG5cdCAqIFNldHMgc2VsZWN0aW9uIHZhcmlhbnQgdG8gdGhlIHRhYmxlLiBOb3RlOiBzZXRTZWxlY3Rpb25WYXJpYW50IHdpbGwgY2xlYXIgdGhlIGV4aXN0aW5nIGZpbHRlcnMgYW5kIHRoZW4gYXBwbHkgdGhlIFNlbGVjdGlvblZhcmlhbnQgdmFsdWVzLlxuXHQgKiBAcGFyYW0gY29udHJvbEluc3RhbmNlIFRoaXMgY291bGQgYmUgYSB0YWJsZSwgY2hhcnQsIG9yIGZpbHRlciBiYXJcblx0ICogQHBhcmFtIHNlbGVjdGlvblZhcmlhbnQgVGhlIHNlbGVjdGlvbiB2YXJpYW50IHRvIGFwcGx5IHRvIHRoZSByZXNwZWN0aXZlIG1kYyBjb250cm9sc1xuXHQgKiBAcGFyYW0gcHJlZmlsbERlc2NyaXB0aW9ucyBPcHRpb25hbC4gSWYgdHJ1ZSwgd2Ugd2lsbCB1c2UgdGhlIGFzc29jaWF0ZWQgdGV4dCBwcm9wZXJ0eSB2YWx1ZXMgKGlmIHRoZXkncmUgYXZhaWxhYmxlIGluIHRoZSBzZWxlY3Rpb25WYXJpYW50KSB0byBkaXNwbGF5IHRoZSBmaWx0ZXIgdmFsdWUgZGVzY3JpcHRpb25zLCBpbnN0ZWFkIG9mIGxvYWRpbmcgdGhlbSBmcm9tIHRoZSBiYWNrZW5kXG5cdCAqIEByZXR1cm5zIEEgcHJvbWlzZSBmb3IgYXN5bmNocm9ub3VzIGhhbmRsaW5nXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFzeW5jIHNldFNlbGVjdGlvblZhcmlhbnRUb01kY0NvbnRyb2woXG5cdFx0Y29udHJvbEluc3RhbmNlOiBDb3JlQ29udHJvbCB8IHVuZGVmaW5lZCxcblx0XHRzZWxlY3Rpb25WYXJpYW50OiBTZWxlY3Rpb25WYXJpYW50LFxuXHRcdHByZWZpbGxEZXNjcmlwdGlvbnMgPSBmYWxzZVxuXHQpOiBQcm9taXNlPHsgZGlmZlN0YXRlOiBFeHRlcm5hbFN0YXRlVHlwZTsgYXBwbHlTdGF0ZVJlc3VsdDogdW5rbm93biB9IHwgdW5kZWZpbmVkPiB7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHN0YXRlOiBFeHRlcm5hbFN0YXRlVHlwZSA9IGF3YWl0IFN0YXRlVXRpbC5yZXRyaWV2ZUV4dGVybmFsU3RhdGUoY29udHJvbEluc3RhbmNlIGFzIENvbnRyb2wpO1xuXHRcdFx0aWYgKCFzdGF0ZS5maWx0ZXIpIHtcblx0XHRcdFx0TG9nLmVycm9yKGBGRSA6IHNldFNlbGVjdGlvblZhcmlhbnQgQVBJIGNhbm5vdCBiZSBhcHBsaWVkIG9uIDogJHtjb250cm9sSW5zdGFuY2U/LmdldElkKCl9YCk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGNvbnN0IGNvbmRpdGlvbnM6IFN0YXRlVXRpbEZpbHRlciA9IGF3YWl0IHRoaXMuY29udmVydFNlbGVjdGlvblZhcmlhbnRUb1N0YXRlRmlsdGVycyhcblx0XHRcdFx0Y29udHJvbEluc3RhbmNlIGFzIENvbnRyb2wsXG5cdFx0XHRcdHNlbGVjdGlvblZhcmlhbnQsXG5cdFx0XHRcdHByZWZpbGxEZXNjcmlwdGlvbnMsXG5cdFx0XHRcdGNvbnRyb2xJbnN0YW5jZT8uZ2V0TW9kZWwoKVxuXHRcdFx0KTtcblxuXHRcdFx0Ly8gQ2xlYXIgZmlsdGVyIG9mIHRhYmxlIGJlZm9yZSBhcHBseWluZyBzZWxlY3Rpb24gdmFyaWFudFxuXHRcdFx0YXdhaXQgdGhpcy5jbGVhckZpbHRlclZhbHVlcyhjb250cm9sSW5zdGFuY2U/LmdldFBhcmVudCgpIGFzIE1hY3JvQVBJKTtcblxuXHRcdFx0Ly8gU3RhdGUgdG8gYXBwbHlcblx0XHRcdGNvbnN0IHByb3BlcnR5SW5mb3MgPSBhd2FpdCB0aGlzLl9nZXRTdXBwb3J0ZWRGaWx0ZXJGaWVsZHMoY29udHJvbEluc3RhbmNlIGFzIENvbnRyb2wpO1xuXHRcdFx0Y29uc3Qgc3RhdGVUb0FwcGx5ID0gc3ZUb1N0YXRlRmlsdGVycy5nZXRTdGF0ZVRvQXBwbHkocHJvcGVydHlJbmZvcywgY29uZGl0aW9ucyk7XG5cdFx0XHRpZiAoY29udHJvbEluc3RhbmNlPy5pc0EoXCJzYXAudWkubWRjLkNoYXJ0XCIpKSB7XG5cdFx0XHRcdHRoaXMuY29udmVydENvbmRpdGlvbnNGb3JDaGFydChzdGF0ZVRvQXBwbHkpO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgZGlmZlN0YXRlOiBFeHRlcm5hbFN0YXRlVHlwZSA9IGF3YWl0IFN0YXRlVXRpbC5kaWZmU3RhdGUoY29udHJvbEluc3RhbmNlIGFzIENvbnRyb2wsIHN0YXRlLCBzdGF0ZVRvQXBwbHkpO1xuXHRcdFx0Y29uc3QgYXBwbHlTdGF0ZVJlc3VsdCA9IGF3YWl0IFN0YXRlVXRpbC5hcHBseUV4dGVybmFsU3RhdGUoY29udHJvbEluc3RhbmNlIGFzIENvbnRyb2wsIHN0YXRlVG9BcHBseSk7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRkaWZmU3RhdGUsXG5cdFx0XHRcdGFwcGx5U3RhdGVSZXN1bHRcblx0XHRcdH07XG5cdFx0fSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG5cdFx0XHRjb25zdCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gY29udHJvbEluc3RhbmNlPy5nZXRJZCgpO1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBTdHJpbmcoZXJyKTtcblx0XHRcdExvZy5lcnJvcihgRkUgOiBCdWlsZGluZ0Jsb2NrICgke2lkfSkgLSBzZXQgc2VsZWN0aW9uIHZhcmlhbnQgZmFpbGVkICA6ICR7bWVzc2FnZX1gKTtcblx0XHRcdHRocm93IEVycm9yKG1lc3NhZ2UpO1xuXHRcdH1cblx0fSxcblx0LyoqXG5cdCAqIENvbnZlcnQgdGhlIGNoYXJ0IHByb3BlcnRpZXMgdG8gaW50ZXJuYWwgcHJvcGVydGllcyBiZWZvcmUgYXBwbHlpbmcgdGhlIGNvbmRpdGlvbnMuXG5cdCAqIEBwYXJhbSBzdGF0ZVRvQXBwbHkgVGhpcyBjb250YWlucyB0aGUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGZpbHRlciBhbmQgY29uZGl0aW9uc1xuXHQgKi9cblx0Y29udmVydENvbmRpdGlvbnNGb3JDaGFydChzdGF0ZVRvQXBwbHk6IFN0YXRlVG9BcHBseSk6IHZvaWQge1xuXHRcdC8vIHJlcGxhY2Uga2V5cyBvZiBmaWx0ZXIgb2JqZWN0IGZyb20gXCJTYWxlc09kZXJcIiB0byBpbnRlcm5hbCBmb3JtYXQgXCJfZmVfZ3JvdXBhYmxlX1NhbGVzT3JkZXJcIlxuXHRcdGZvciAoY29uc3QgcHJvcGVydHkgaW4gc3RhdGVUb0FwcGx5LmZpbHRlcikge1xuXHRcdFx0ZGVsZXRlIE9iamVjdC5hc3NpZ24oc3RhdGVUb0FwcGx5LmZpbHRlciwgeyBbXCJfZmVfZ3JvdXBhYmxlX1wiICsgcHJvcGVydHldOiBzdGF0ZVRvQXBwbHkuZmlsdGVyW3Byb3BlcnR5XSB9KVtwcm9wZXJ0eV07XG5cdFx0fVxuXHRcdC8vIHJlcGxhY2Uga2V5cyBvZiBpdGVtcyBhcnJheSBmcm9tIFwiU2FsZXNPZGVyXCIgdG8gaW50ZXJuYWwgZm9ybWF0IFwiX2ZlX2dyb3VwYWJsZV9TYWxlc09yZGVyXCJcblx0XHRzdGF0ZVRvQXBwbHkuaXRlbXMuZm9yRWFjaCgocHJvcGVydHlPYmo6IHsgbmFtZTogc3RyaW5nIH0pID0+IHtcblx0XHRcdHByb3BlcnR5T2JqLm5hbWUgPSBcIl9mZV9ncm91cGFibGVfXCIgKyBwcm9wZXJ0eU9iai5uYW1lO1xuXHRcdH0pO1xuXHR9XG59O1xuXG5leHBvcnQgdHlwZSBDb250cm9sUHJvcGVydHlJbmZvID0gUHJvcGVydHlJbmZvICYge1xuXHRjb25kaXRpb25QYXRoOiBzdHJpbmc7XG5cdGRhdGFUeXBlOiBzdHJpbmc7XG5cdGFubm90YXRpb25QYXRoPzogc3RyaW5nO1xuXHRtZXRhZGF0YVBhdGg/OiBzdHJpbmc7XG5cdGlzUGFyYW1ldGVyPzogYm9vbGVhbjtcblx0aGlkZGVuRmlsdGVyPzogYm9vbGVhbjtcblx0aGFzVmFsdWVIZWxwPzogYm9vbGVhbjtcblx0cmVxdWlyZWQ/OiBib29sZWFuO1xufTtcblxu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
|
|
@@ -245,7 +245,7 @@ const StateHelper = {
|
|
|
245
245
|
controlInstance: CoreControl | undefined,
|
|
246
246
|
selectionVariant: SelectionVariant,
|
|
247
247
|
prefillDescriptions = false
|
|
248
|
-
): Promise<unknown> {
|
|
248
|
+
): Promise<{ diffState: ExternalStateType; applyStateResult: unknown } | undefined> {
|
|
249
249
|
try {
|
|
250
250
|
const state: ExternalStateType = await StateUtil.retrieveExternalState(controlInstance as Control);
|
|
251
251
|
if (!state.filter) {
|
|
@@ -268,7 +268,12 @@ const StateHelper = {
|
|
|
268
268
|
if (controlInstance?.isA("sap.ui.mdc.Chart")) {
|
|
269
269
|
this.convertConditionsForChart(stateToApply);
|
|
270
270
|
}
|
|
271
|
-
|
|
271
|
+
const diffState: ExternalStateType = await StateUtil.diffState(controlInstance as Control, state, stateToApply);
|
|
272
|
+
const applyStateResult = await StateUtil.applyExternalState(controlInstance as Control, stateToApply);
|
|
273
|
+
return {
|
|
274
|
+
diffState,
|
|
275
|
+
applyStateResult
|
|
276
|
+
};
|
|
272
277
|
} catch (err: unknown) {
|
|
273
278
|
const id: string | undefined = controlInstance?.getId();
|
|
274
279
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -276,7 +281,6 @@ const StateHelper = {
|
|
|
276
281
|
throw Error(message);
|
|
277
282
|
}
|
|
278
283
|
},
|
|
279
|
-
|
|
280
284
|
/**
|
|
281
285
|
* Convert the chart properties to internal properties before applying the conditions.
|
|
282
286
|
* @param stateToApply This contains the information regarding filter and conditions
|
|
@@ -16,22 +16,22 @@ M_DRAFT_POPOVER_ADMIN_UNSAVED_OBJECT=Unsaved Changes
|
|
|
16
16
|
M_FIELD_RUNTIME_DRAFT_POPOVER_NO_DATA_TEXT=No detailed information available.
|
|
17
17
|
|
|
18
18
|
# XMSG,70: Date and time when the last change happened ("Last changed on <date and time>")
|
|
19
|
-
M_DRAFT_POPOVER_ADMIN_LAST_CHANGE_TEXT=Last changed on {0}
|
|
19
|
+
M_DRAFT_POPOVER_ADMIN_LAST_CHANGE_TEXT=Last changed on {0}.
|
|
20
20
|
|
|
21
21
|
# XMSG,70: Another user started editing, but did not save the changes
|
|
22
|
-
M_FIELD_RUNTIME_DRAFT_POPOVER_UNSAVED_CHANGES_BY_KNOWN=This object has unsaved changes made by {0}
|
|
22
|
+
M_FIELD_RUNTIME_DRAFT_POPOVER_UNSAVED_CHANGES_BY_KNOWN=This object has unsaved changes made by {0}.
|
|
23
23
|
|
|
24
24
|
# XMSG,70: An unknown started editing, but did not save the changes
|
|
25
|
-
M_FIELD_RUNTIME_DRAFT_POPOVER_UNSAVED_CHANGES_BY_UNKNOWN=This object has unsaved changes made by another user
|
|
25
|
+
M_FIELD_RUNTIME_DRAFT_POPOVER_UNSAVED_CHANGES_BY_UNKNOWN=This object has unsaved changes made by another user.
|
|
26
26
|
|
|
27
27
|
# XMSG,70
|
|
28
|
-
M_DRAFT_POPOVER_ADMIN_GENERIC_LOCKED_OBJECT_POPOVER_TEXT=This object is being edited
|
|
28
|
+
M_DRAFT_POPOVER_ADMIN_GENERIC_LOCKED_OBJECT_POPOVER_TEXT=This object is being edited.
|
|
29
29
|
|
|
30
30
|
# XTIT,50: Draft status column label and tooltip
|
|
31
31
|
C_DRAFT_STATUS_COLUMN_LABEL_TOOLTIP=Editing Status
|
|
32
32
|
|
|
33
33
|
# XMSG,70: Another user is currently editing the object
|
|
34
|
-
M_FIELD_RUNTIME_DRAFT_POPOVER_LOCKED_BY_KNOWN=This object is being edited by {0}
|
|
34
|
+
M_FIELD_RUNTIME_DRAFT_POPOVER_LOCKED_BY_KNOWN=This object is being edited by {0}.
|
|
35
35
|
|
|
36
36
|
# XFLD: Label for Search Field
|
|
37
37
|
M_FILTERBAR_SEARCH=Search
|
|
@@ -40,7 +40,7 @@ M_FILTERBAR_SEARCH=Search
|
|
|
40
40
|
M_BASIC_SEARCH=Basic Search
|
|
41
41
|
|
|
42
42
|
# XFLD: Label for Table Action Toolbar Full Screen Action
|
|
43
|
-
M_FULL_SCREEN=Enable
|
|
43
|
+
M_FULL_SCREEN=Enable Full Screen
|
|
44
44
|
|
|
45
45
|
# XTIT,30
|
|
46
46
|
FILTERBAR_EDITING_STATUS=Editing Status
|
|
@@ -87,19 +87,19 @@ T_TABLE_SHARE_TO_COLLABORATION_MANAGER_TOO_MANY_ITEMS_SELECTED=You can only shar
|
|
|
87
87
|
T_TABLE_SHARE_TO_COLLABORATION_MANAGER_NO_NAVIGATION_POSSIBLE=The creation of a share link for this item is not possible.
|
|
88
88
|
|
|
89
89
|
# XTOL: Tooltip for Table Segmented Button Item
|
|
90
|
-
M_COMMON_TABLE_SEGMENTED_BUTTON_ITEM_TOOLTIP=
|
|
90
|
+
M_COMMON_TABLE_SEGMENTED_BUTTON_ITEM_TOOLTIP=Table
|
|
91
91
|
|
|
92
92
|
# XTOL: Tooltip for Chart Segmented Button Item
|
|
93
|
-
M_COMMON_CHART_SEGMENTED_BUTTON_ITEM_TOOLTIP=
|
|
93
|
+
M_COMMON_CHART_SEGMENTED_BUTTON_ITEM_TOOLTIP=Chart
|
|
94
94
|
|
|
95
95
|
# XTOL: Tooltip for Hybrid Segmented Button Item
|
|
96
|
-
M_COMMON_HYBRID_SEGMENTED_BUTTON_ITEM_TOOLTIP=
|
|
96
|
+
M_COMMON_HYBRID_SEGMENTED_BUTTON_ITEM_TOOLTIP=Chart and Table
|
|
97
97
|
|
|
98
98
|
# XMSG, 130: Message on accessing header datapoint title link for external-page navigation
|
|
99
|
-
M_MICROCHART_TITLE_FRAGMENT_HEADER_MICROCHART_LINK_ARIA=Click here to navigate to the external
|
|
99
|
+
M_MICROCHART_TITLE_FRAGMENT_HEADER_MICROCHART_LINK_ARIA=Click here to navigate to the external app
|
|
100
100
|
|
|
101
101
|
# XMSG, 130: Message on accessing header datapoint title link for in-page navigation
|
|
102
|
-
T_COMMON_HEADERDP_TITLE_LINK_INPAGE_ARIA=Click here to jump to the
|
|
102
|
+
T_COMMON_HEADERDP_TITLE_LINK_INPAGE_ARIA=Click here to jump to the relevant section on the current page.
|
|
103
103
|
|
|
104
104
|
# XBUT: Button to display details of a form container
|
|
105
105
|
T_COMMON_OBJECT_PAGE_SHOW_FORM_CONTAINER_DETAILS=Show Details
|
|
@@ -111,19 +111,19 @@ T_COMMON_OBJECT_PAGE_HIDE_FORM_CONTAINER_DETAILS=Hide Details
|
|
|
111
111
|
M_FIELD_TEXTAREA_TEXT_TOO_LONG=Your text is too long.
|
|
112
112
|
|
|
113
113
|
# XMSG: Message on QuickFitlers for accessibility
|
|
114
|
-
M_TABLE_QUICKFILTER_ARIA=Select one of the predefined table views
|
|
114
|
+
M_TABLE_QUICKFILTER_ARIA=Select one of the predefined table views.
|
|
115
115
|
|
|
116
116
|
# XMSG: Message's Table MessageStrip, when an error is raised on empty row due to an hidden mandatory field
|
|
117
|
-
M_MESSAGESTRIP_EMPTYROW_MANDATORY_HIDDEN=The table contains errors. {0} is a required property but is not displayed in the table. Please add it
|
|
117
|
+
M_MESSAGESTRIP_EMPTYROW_MANDATORY_HIDDEN=The table contains errors. {0} is a required property but is not displayed in the table. Please add it using the table settings.
|
|
118
118
|
|
|
119
119
|
# XMSG: Message's Table MessageStrip, when several errors are raised on empty row due to hidden mandatory fields
|
|
120
|
-
M_MESSAGESTRIP_EMPTYROW_MANDATORY_HIDDEN_PLURAL=The table contains errors. {0} are required properties but are not displayed in the table. Please add them
|
|
120
|
+
M_MESSAGESTRIP_EMPTYROW_MANDATORY_HIDDEN_PLURAL=The table contains errors. {0} are required properties but are not displayed in the table. Please add them using the table settings.
|
|
121
121
|
|
|
122
122
|
# XMSG: Message on empty row for a mandatory field
|
|
123
123
|
M_TABLE_EMPTYROW_MANDATORY={0} is a required field (*).
|
|
124
124
|
|
|
125
125
|
# XMSG: Message on empty row for an hidden mandatory field
|
|
126
|
-
M_TABLE_EMPTYROW_MANDATORY_HIDDEN={0} is a required field (*) but this field is not displayed in the table. Please add it by clicking the Settings button.
|
|
126
|
+
M_TABLE_EMPTYROW_MANDATORY_HIDDEN={0} is a required field (*), but this field is not displayed in the table. Please add it by clicking the Settings button.
|
|
127
127
|
|
|
128
128
|
# XFLD: Label for fields on the object page header form
|
|
129
129
|
HEADER_FORM_LABEL={0}:
|
|
@@ -134,10 +134,10 @@ HEADER_FORM_LABEL={0}:
|
|
|
134
134
|
C_MASS_EDIT_DIALOG_TITLE=Edit ({0})
|
|
135
135
|
|
|
136
136
|
# XTIT,30: Default Type Name
|
|
137
|
-
C_MASS_EDIT_DIALOG_DEFAULT_TYPENAME=
|
|
137
|
+
C_MASS_EDIT_DIALOG_DEFAULT_TYPENAME=Object
|
|
138
138
|
|
|
139
139
|
# XTIT,30: Default Type Name Plural
|
|
140
|
-
C_MASS_EDIT_DIALOG_DEFAULT_TYPENAME_PLURAL=
|
|
140
|
+
C_MASS_EDIT_DIALOG_DEFAULT_TYPENAME_PLURAL=Objects
|
|
141
141
|
|
|
142
142
|
# XFLD - The Keep Values text for the Select/ComboBox
|
|
143
143
|
C_MASS_EDIT_COMBOBOX_KEEP_VALUES=< Keep Values >
|
|
@@ -168,7 +168,7 @@ C_MASS_EDIT_CONFIRM_MESSAGE_DETAIL_REASON_DRAFT=Somebody is working on the {0} (
|
|
|
168
168
|
C_MASS_EDIT_NO_EDITABLE_FIELDS_DEFAULT=You can only edit values that are displayed in the table, so go to the View Settings to display the columns containing editable fields.
|
|
169
169
|
|
|
170
170
|
# XMSG: Message to confirm non-editable contexts detail header with specific config into the manifest to disply fields
|
|
171
|
-
C_MASS_EDIT_NO_EDITABLE_FIELDS_WITH_MANIFEST=It''s not possible to change the values of any of the editable fields listed below
|
|
171
|
+
C_MASS_EDIT_NO_EDITABLE_FIELDS_WITH_MANIFEST=It''s not possible to change the values of any of the editable fields listed below based on your current {0} selection:
|
|
172
172
|
|
|
173
173
|
|
|
174
174
|
# XMSG: Message to inform key user on adaptation mode
|
|
@@ -181,16 +181,16 @@ C_MASS_EDIT_CONFIRM_MESSAGE_DETAIL_REASON_NON_EDITABLE=Editing isn''t allowed fo
|
|
|
181
181
|
C_MASS_EDIT_CONFIRM_BUTTON_TEXT=Edit
|
|
182
182
|
|
|
183
183
|
# YMSG,100: Used in the Toast message box on the list report
|
|
184
|
-
C_MASS_EDIT_SUCCESS_TOAST=Your changes have been saved
|
|
184
|
+
C_MASS_EDIT_SUCCESS_TOAST=Your changes have been saved.
|
|
185
185
|
|
|
186
186
|
# YMSG,100: Used in the Toast message box on the object page
|
|
187
|
-
C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=Your changes have been
|
|
187
|
+
C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=Your changes have been saved.
|
|
188
188
|
|
|
189
189
|
# YMSG,100: Mass edit changes with errors
|
|
190
190
|
C_MASS_EDIT_CHANGES_WITH_ERROR={0} of {1} objects updated.
|
|
191
191
|
|
|
192
192
|
# YMSG,100: Used in the Toast message box for mass edit with no change
|
|
193
|
-
C_MASS_EDIT_NO_CHANGE=You haven't made any changes
|
|
193
|
+
C_MASS_EDIT_NO_CHANGE=You haven''t made any changes.
|
|
194
194
|
|
|
195
195
|
# XTIT,50: Title of the mass edit design dialog
|
|
196
196
|
C_MASS_EDIT_DESIGN_DIALOG_TITLE=View Settings
|
|
@@ -253,7 +253,7 @@ M_TABLE_SHOW_DETAILS=Show Details
|
|
|
253
253
|
M_TABLE_GROUP_HEADER_TITLE={0}: {1}
|
|
254
254
|
|
|
255
255
|
# XFLD: Default text for a table group header title value when this one is null
|
|
256
|
-
M_TABLE_GROUP_HEADER_TITLE_VALUE=
|
|
256
|
+
M_TABLE_GROUP_HEADER_TITLE_VALUE=Empty Value
|
|
257
257
|
|
|
258
258
|
# XMSG,100: Overlay text shown for the visual filters when an error occurred in the back end
|
|
259
259
|
M_VISUAL_FILTERS_ERROR_DATA_TEXT=Unable to load data due to a technical issue.
|
|
@@ -271,7 +271,7 @@ M_VISUAL_FILTERS_MULTIPLE_CURRENCY=To see this chart, set only one currency for
|
|
|
271
271
|
M_VISUAL_FILTERS_MULTIPLE_UNIT=To see this chart, set only one value for {0}
|
|
272
272
|
|
|
273
273
|
# XFLD,150: Text appearing for visual filters for the Not Supported chartTypes
|
|
274
|
-
M_VISUAL_FILTER_UNSUPPORTED_CHART_TYPE=Chart type is not supported for visual filters. Use a line or bar chart.
|
|
274
|
+
M_VISUAL_FILTER_UNSUPPORTED_CHART_TYPE=Chart type is not supported for visual filters. Use a line chart or a bar chart.
|
|
275
275
|
|
|
276
276
|
# XFLD,100: Text appearing for visual filters for the Hidden Measures
|
|
277
277
|
M_VISUAL_FILTER_HIDDEN_MEASURE=Unable to load visual filter. Measure {0} is marked with UI.Hidden.
|
|
@@ -415,7 +415,7 @@ M_CARD_FAILURE_TABLE_REASON_UNSUPPORTED_COLUMNS=At least one text-based column w
|
|
|
415
415
|
M_CARD_CREATION_FAILURE_CHART_REASON_DATE_RANGE_FILTERS=Card creation isn't possible. Please retry after ensuring no relative date filters (like "Yesterday") are used.
|
|
416
416
|
|
|
417
417
|
# XMSG,300: Error message to indicate to end user that row level navigation would be disabled for apps where external navigation is configured
|
|
418
|
-
M_ROW_LEVEL_NAVIGATION_DISABLED_MSG_REASON_EXTERNAL_NAVIGATION_CONFIGURED=Direct navigation to the object details isn
|
|
418
|
+
M_ROW_LEVEL_NAVIGATION_DISABLED_MSG_REASON_EXTERNAL_NAVIGATION_CONFIGURED=Direct navigation to the object details isn''t possible from this insights card.
|
|
419
419
|
|
|
420
420
|
# ----------------Contact quick view --------------------------------
|
|
421
421
|
|
|
@@ -498,7 +498,7 @@ M_EASY_FILTER_FILTER_MODE_AI=SAP Business AI
|
|
|
498
498
|
M_EASY_FILTER_FILTER_MODE_CLASSIC=Classic
|
|
499
499
|
M_EASY_FILTER_NOTICE=Prompt-based filtering creates completely new filter criteria. Generated content may not always be accurate. Consider verifying it.
|
|
500
500
|
M_EASY_FILTER_GO=Go
|
|
501
|
-
M_EASY_FILTER_PLACEHOLDER=
|
|
501
|
+
M_EASY_FILTER_PLACEHOLDER=To execute a search, enter your query using natural language to filter the list or type in IDs in quotation marks, for example "123456".
|
|
502
502
|
M_EASY_FILTER_SHOW_RESULTS_FOR=Showing results for:
|
|
503
503
|
M_EASY_FILTER_MANDATORY_FILTER_SINGULAR={0} is a mandatory filter.
|
|
504
504
|
M_EASY_FILTER_MANDATORY_FILTER_PLURAL={0} are mandatory filters.
|
|
@@ -540,7 +540,7 @@ RTA_CONFIGURATION_FILTERBAR_USESEMANTICDATERANGE_DESC=Decide whether a Semantic
|
|
|
540
540
|
RTA_CONFIGURATION_FILTERBAR_NAVIGATIONPROPS_NAME=Navigation Properties
|
|
541
541
|
|
|
542
542
|
# XTIT: Label for Configuration dialog setting description
|
|
543
|
-
RTA_CONFIGURATION_FILTERBAR_NAVIGATIONPROPS_DESC=Navigation Properties in the
|
|
543
|
+
RTA_CONFIGURATION_FILTERBAR_NAVIGATIONPROPS_DESC=Navigation Properties in the Filter Bar
|
|
544
544
|
|
|
545
545
|
# XFLD: Label for Configuration dialog setting
|
|
546
546
|
RTA_CONFIGURATION_TABLE_ENABLEEXPORT_NAME=Enable Table Export
|
|
@@ -615,7 +615,7 @@ RTA_CONFIGURATION_TABLE_WIDTHCOLUMNHEADER_DESC=Define whether the width should i
|
|
|
615
615
|
RTA_CONFIGURATION_TABLE_SELECTALL_NAME=Enable Select All
|
|
616
616
|
|
|
617
617
|
# XTIT: Label for Configuration dialog setting description
|
|
618
|
-
RTA_CONFIGURATION_TABLE_SELECTALL_DESC=Define whether the
|
|
618
|
+
RTA_CONFIGURATION_TABLE_SELECTALL_DESC=Define whether the Select All button should be shown
|
|
619
619
|
|
|
620
620
|
# XFLD: Label for Configuration dialog setting
|
|
621
621
|
RTA_CONFIGURATION_TABLE_THRESHOLD_NAME=Threshold
|
|
@@ -663,7 +663,7 @@ RTA_CONFIGURATION_TABLE_TYPE_ENUM_ANLT=Analytical Table
|
|
|
663
663
|
RTA_CONFIGURATION_TABLE_HEADER_TEXT_NAME=Header Text
|
|
664
664
|
|
|
665
665
|
# XTIT: Label for Configuration dialog setting description
|
|
666
|
-
RTA_CONFIGURATION_HEADER_TEXT_DESC=Define the
|
|
666
|
+
RTA_CONFIGURATION_HEADER_TEXT_DESC=Define the Header
|
|
667
667
|
|
|
668
668
|
# XFLD: Label for Configuration dialog setting
|
|
669
669
|
RTA_CONFIGURATION_TABLE_FULL_SCREEN_NAME=Show Full Screen
|
|
@@ -759,7 +759,7 @@ RTA_CONFIGURATION_TABLE_HIERQUALIF_DESC=Define the hierarchy qualifier
|
|
|
759
759
|
RTA_CONFIGURATION_TABLE_BEFOREREBIND_NAME=Event beforeRebindTable
|
|
760
760
|
|
|
761
761
|
# XTIT: Label for Configuration dialog setting description
|
|
762
|
-
RTA_CONFIGURATION_TABLE_BEFOREREBIND_DESC=The event triggered when the table is about to be
|
|
762
|
+
RTA_CONFIGURATION_TABLE_BEFOREREBIND_DESC=The event triggered when the table is about to be rebound
|
|
763
763
|
|
|
764
764
|
# XFLD: Label for Configuration dialog setting
|
|
765
765
|
RTA_CONFIGURATION_TABLE_SELECTIONCHANGE_NAME=Event selectionChange
|
|
@@ -835,3 +835,11 @@ C_EASYEDIT_THUMBS_UP=Thumbs up for the easy fill
|
|
|
835
835
|
C_EASYEDIT_THUMBS_DOWN=Thumbs down for the easy fill
|
|
836
836
|
|
|
837
837
|
C_EASYEDIT_FEEDBACK_SENT=Feedback sent
|
|
838
|
+
|
|
839
|
+
C_EASYEDIT_VH_ERROR=Value "{0}" does not exist.
|
|
840
|
+
|
|
841
|
+
# XTIT: Title of the template breadcrumbs
|
|
842
|
+
T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}: {1}
|
|
843
|
+
|
|
844
|
+
# XTIT: Title for first breadcrumb in the Ariba application
|
|
845
|
+
T_APP_HOME=Home
|
|
@@ -81,7 +81,7 @@ M_MESSAGESTRIP_EMPTYROW_MANDATORY_HIDDEN_PLURAL=\u064A\u062D\u062A\u0648\u064A \
|
|
|
81
81
|
|
|
82
82
|
M_TABLE_EMPTYROW_MANDATORY=\u0627\u0644\u062D\u0642\u0644 {0} \u0645\u0637\u0644\u0648\u0628 (*).
|
|
83
83
|
|
|
84
|
-
M_TABLE_EMPTYROW_MANDATORY_HIDDEN=\u0627\u0644\u062D\u0642\u0644 {0} \u0645\u0637\u0644\u0648\u0628 (*) \u0644\u0643\u0646 \u0644\u0645 \u064A\u062A\u0645 \u0639\u0631\u0636\u0647 \u0641\u064A \u0627\u0644\u062C\u062F\u0648\u0644. \u064A\
|
|
84
|
+
M_TABLE_EMPTYROW_MANDATORY_HIDDEN=\u0627\u0644\u062D\u0642\u0644 {0} \u0645\u0637\u0644\u0648\u0628 (*)\u060C \u0648\u0644\u0643\u0646 \u0644\u0645 \u064A\u062A\u0645 \u0639\u0631\u0636\u0647 \u0641\u064A \u0647\u0630\u0627 \u0627\u0644\u062D\u0642\u0644 \u0641\u064A \u0627\u0644\u062C\u062F\u0648\u0644. \u064A\u0631\u062C\u0649 \u0625\u0636\u0627\u0641\u062A\u0647 \u0628\u0627\u0644\u0646\u0642\u0631 \u0641\u0648\u0642 \u0632\u0631 \u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A.
|
|
85
85
|
|
|
86
86
|
HEADER_FORM_LABEL={0}\:
|
|
87
87
|
|
|
@@ -121,7 +121,7 @@ C_MASS_EDIT_CONFIRM_BUTTON_TEXT=\u062A\u062D\u0631\u064A\u0631
|
|
|
121
121
|
|
|
122
122
|
C_MASS_EDIT_SUCCESS_TOAST=\u062A\u0645 \u062D\u0641\u0638 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0643.
|
|
123
123
|
|
|
124
|
-
C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=\u062A\u0645 \
|
|
124
|
+
C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=\u062A\u0645 \u062D\u0641\u0638 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A \u0627\u0644\u062E\u0627\u0635\u0629 \u0628\u0643.
|
|
125
125
|
|
|
126
126
|
C_MASS_EDIT_CHANGES_WITH_ERROR=\u062A\u0645 \u062A\u062D\u062F\u064A\u062B {0} \u0645\u0646 {1} \u0645\u0646 \u0627\u0644\u0643\u0627\u0626\u0646\u0627\u062A.
|
|
127
127
|
|
|
@@ -338,7 +338,7 @@ M_EASY_FILTER_FILTER_MODE_AI=SAP Business AI
|
|
|
338
338
|
M_EASY_FILTER_FILTER_MODE_CLASSIC=\u062A\u0642\u0644\u064A\u062F\u064A
|
|
339
339
|
M_EASY_FILTER_NOTICE=\u062A\u0642\u0648\u0645 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0639\u0644\u0649 \u0623\u0633\u0627\u0633 \u0627\u0644\u0637\u0644\u0628 \u0627\u0644\u0641\u0648\u0631\u064A \u0628\u0625\u0646\u0634\u0627\u0621 \u0645\u0639\u0627\u064A\u064A\u0631 \u062A\u0635\u0641\u064A\u0629 \u062C\u062F\u064A\u062F\u0629 \u062A\u0645\u0627\u0645\u064B\u0627. \u0642\u062F \u0644\u0627 \u064A\u0643\u0648\u0646 \u0627\u0644\u0645\u062D\u062A\u0648\u0649 \u0627\u0644\u0630\u064A \u062A\u0645 \u0625\u0646\u0634\u0627\u0624\u0647 \u062F\u0642\u064A\u0642\u064B\u0627 \u062F\u0627\u0626\u0645\u064B\u0627. \u0641\u0643\u0631 \u0641\u064A \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0635\u062D\u062A\u0647.
|
|
340
340
|
M_EASY_FILTER_GO=\u0627\u0646\u062A\u0642\u0627\u0644
|
|
341
|
-
M_EASY_FILTER_PLACEHOLDER=\u0644\u062A\u0646\u0641\u064A\u0630 \
|
|
341
|
+
M_EASY_FILTER_PLACEHOLDER=\u0644\u062A\u0646\u0641\u064A\u0630 \u0628\u062D\u062B\u060C \u0623\u062F\u062E\u0644 \u0627\u0633\u062A\u0639\u0644\u0627\u0645\u0643 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0627\u0644\u0644\u063A\u0629 \u0627\u0644\u0637\u0628\u064A\u0639\u064A\u0629 \u0644\u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0623\u0648 \u0627\u0643\u062A\u0628 \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062A \u0628\u064A\u0646 \u0639\u0644\u0627\u0645\u062A\u064A \u0627\u0642\u062A\u0628\u0627\u0633\u060C \u0639\u0644\u0649 \u0633\u0628\u064A\u0644 \u0627\u0644\u0645\u062B\u0627\u0644 "123456".
|
|
342
342
|
M_EASY_FILTER_SHOW_RESULTS_FOR=\u0625\u0638\u0647\u0627\u0631 \u0646\u062A\u0627\u0626\u062C\:
|
|
343
343
|
M_EASY_FILTER_MANDATORY_FILTER_SINGULAR={0} \u0639\u0627\u0645\u0644 \u062A\u0635\u0641\u064A\u0629 \u0625\u0644\u0632\u0627\u0645\u064A.
|
|
344
344
|
M_EASY_FILTER_MANDATORY_FILTER_PLURAL={0} \u0639\u0648\u0627\u0645\u0644 \u062A\u0635\u0641\u064A\u0629 \u0625\u0644\u0632\u0627\u0645\u064A\u0629.
|
|
@@ -565,3 +565,5 @@ C_EASYEDIT_THUMBS_UP=\u0625\u0628\u0647\u0627\u0645 \u0644\u0623\u0639\u0644\u06
|
|
|
565
565
|
C_EASYEDIT_THUMBS_DOWN=\u0625\u0628\u0647\u0627\u0645 \u0644\u0623\u0633\u0641\u0644 \u0644\u0633\u0647\u0648\u0644\u0629 \u0627\u0644\u0645\u0644\u0621
|
|
566
566
|
|
|
567
567
|
C_EASYEDIT_FEEDBACK_SENT=\u062A\u0645 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0645\u0644\u0627\u062D\u0638\u0627\u062A
|
|
568
|
+
|
|
569
|
+
C_EASYEDIT_VH_ERROR=\u0627\u0644\u0642\u064A\u0645\u0629 "{0}" \u063A\u064A\u0631 \u0645\u0648\u062C\u0648\u062F\u0629.
|
|
@@ -81,7 +81,7 @@ M_MESSAGESTRIP_EMPTYROW_MANDATORY_HIDDEN_PLURAL=\u0422\u0430\u0431\u043B\u0438\u
|
|
|
81
81
|
|
|
82
82
|
M_TABLE_EMPTYROW_MANDATORY={0} \u0435 \u0437\u0430\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E \u043F\u043E\u043B\u0435 (*).
|
|
83
83
|
|
|
84
|
-
M_TABLE_EMPTYROW_MANDATORY_HIDDEN
|
|
84
|
+
M_TABLE_EMPTYROW_MANDATORY_HIDDEN=\u041F\u043E\u043B\u0435\u0442\u043E {0} \u0435 \u0437\u0430\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E (*), \u043D\u043E \u043D\u0435 \u0441\u0435 \u043F\u043E\u043A\u0430\u0437\u0432\u0430 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0430\u0442\u0430. \u041C\u043E\u043B\u044F, \u0434\u043E\u0431\u0430\u0432\u0435\u0442\u0435 \u0433\u043E, \u043A\u0430\u0442\u043E \u043A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u0432\u044A\u0440\u0445\u0443 \u0431\u0443\u0442\u043E\u043D\u0430 \u201E\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\u201C.
|
|
85
85
|
|
|
86
86
|
HEADER_FORM_LABEL={0}\:
|
|
87
87
|
|
|
@@ -121,7 +121,7 @@ C_MASS_EDIT_CONFIRM_BUTTON_TEXT=\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440
|
|
|
121
121
|
|
|
122
122
|
C_MASS_EDIT_SUCCESS_TOAST=\u0412\u0430\u0448\u0438\u0442\u0435 \u043F\u0440\u043E\u043C\u0435\u043D\u0438 \u0441\u0430 \u0437\u0430\u043F\u0430\u0437\u0435\u043D\u0438.
|
|
123
123
|
|
|
124
|
-
C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=\u0412\u0430\u0448\u0438\u0442\u0435 \u043F\u0440\u043E\u043C\u0435\u043D\u0438 \u0441\u0430 \
|
|
124
|
+
C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=\u0412\u0430\u0448\u0438\u0442\u0435 \u043F\u0440\u043E\u043C\u0435\u043D\u0438 \u0441\u0430 \u0437\u0430\u043F\u0430\u0437\u0435\u043D\u0438.
|
|
125
125
|
|
|
126
126
|
C_MASS_EDIT_CHANGES_WITH_ERROR={0} \u043E\u0442 {1} \u043E\u0431\u0435\u043A\u0442\u0430 \u0441\u0430 \u0430\u043A\u0442\u0443\u0430\u043B\u0438\u0437\u0438\u0440\u0430\u043D\u0438.
|
|
127
127
|
|
|
@@ -275,7 +275,7 @@ M_CARD_FAILURE_TABLE_REASON_UNSUPPORTED_COLUMNS=\u0412 \u0442\u0430\u0431\u043B\
|
|
|
275
275
|
|
|
276
276
|
M_CARD_CREATION_FAILURE_CHART_REASON_DATE_RANGE_FILTERS=\u0421\u044A\u0437\u0434\u0430\u0432\u0430\u043D\u0435\u0442\u043E \u043D\u0430 \u043A\u0430\u0440\u0442\u0430\u0442\u0430 \u0435 \u043D\u0435\u0432\u044A\u0437\u043C\u043E\u0436\u043D\u043E. \u041C\u043E\u043B\u044F, \u043E\u043F\u0438\u0442\u0430\u0439\u0442\u0435 \u043E\u0442\u043D\u043E\u0432\u043E, \u0441\u043B\u0435\u0434 \u043A\u0430\u0442\u043E \u0441\u0435 \u0443\u0432\u0435\u0440\u0438\u0442\u0435, \u0447\u0435 \u043D\u0435 \u0441\u0435 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442 \u0440\u0435\u043B\u0430\u0442\u0438\u0432\u043D\u0438 \u0444\u0438\u043B\u0442\u0440\u0438 \u0437\u0430 \u0434\u0430\u0442\u0438 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u201E\u0432\u0447\u0435\u0440\u0430\u201C).
|
|
277
277
|
|
|
278
|
-
M_ROW_LEVEL_NAVIGATION_DISABLED_MSG_REASON_EXTERNAL_NAVIGATION_CONFIGURED=\
|
|
278
|
+
M_ROW_LEVEL_NAVIGATION_DISABLED_MSG_REASON_EXTERNAL_NAVIGATION_CONFIGURED=\u041D\u0435 \u0435 \u0432\u044A\u0437\u043C\u043E\u0436\u043D\u0430 \u0434\u0438\u0440\u0435\u043A\u0442\u043D\u0430 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043E\u0442 \u0442\u0430\u0437\u0438 \u043A\u0430\u0440\u0442\u0430 \u0437\u0430 \u0430\u043D\u0430\u043B\u0438\u0437\u0438 \u043A\u044A\u043C \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u0438\u0442\u0435 \u0434\u0430\u043D\u043D\u0438 \u0437\u0430 \u043E\u0431\u0435\u043A\u0442\u0430.
|
|
279
279
|
|
|
280
280
|
|
|
281
281
|
POPOVER_CONTACT_SECTION_JOBTITLE=\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 \u043D\u0430 \u0434\u043B\u044A\u0436\u043D\u043E\u0441\u0442
|
|
@@ -338,7 +338,7 @@ M_EASY_FILTER_FILTER_MODE_AI=SAP Business AI
|
|
|
338
338
|
M_EASY_FILTER_FILTER_MODE_CLASSIC=\u041A\u043B\u0430\u0441\u0438\u0447\u0435\u0441\u043A\u0438
|
|
339
339
|
M_EASY_FILTER_NOTICE=\u0424\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u043D\u0435\u0442\u043E \u043D\u0430 \u0431\u0430\u0437\u0430 \u0437\u0430\u043F\u0438\u0442\u0432\u0430\u043D\u0435 \u0441\u044A\u0437\u0434\u0430\u0432\u0430 \u043D\u0430\u043F\u044A\u043B\u043D\u043E \u043D\u043E\u0432\u0438 \u043A\u0440\u0438\u0442\u0435\u0440\u0438\u0438 \u0437\u0430 \u0444\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u043D\u0435. \u0412\u044A\u0437\u043C\u043E\u0436\u043D\u043E \u0435 \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u0430\u043D\u043E\u0442\u043E \u0441\u044A\u0434\u044A\u0440\u0436\u0430\u043D\u0438\u0435 \u043D\u0435\u0432\u0438\u043D\u0430\u0433\u0438 \u0434\u0430 \u0435 \u0442\u043E\u0447\u043D\u043E. \u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0433\u043E.
|
|
340
340
|
M_EASY_FILTER_GO=\u0421\u0442\u0430\u0440\u0442
|
|
341
|
-
M_EASY_FILTER_PLACEHOLDER=\u0412\u044A\u0432\u0435\u0434\u0435\u0442\u0435 \u0437\u0430\u044F\u0432\u043A\u0430\u0442\u0430 \u0437\u0430 \u0442\u044A\u0440\u0441\u0435\u043D\u0435 \
|
|
341
|
+
M_EASY_FILTER_PLACEHOLDER=\u0412\u044A\u0432\u0435\u0434\u0435\u0442\u0435 \u0437\u0430\u044F\u0432\u043A\u0430\u0442\u0430 \u0437\u0430 \u0442\u044A\u0440\u0441\u0435\u043D\u0435, \u043A\u0430\u0442\u043E \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043D \u0435\u0437\u0438\u043A, \u0437\u0430 \u0434\u0430 \u0444\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u0442\u0435 \u0441\u043F\u0438\u0441\u044A\u043A\u0430, \u0438\u043B\u0438 \u0432\u044A\u0432\u0435\u0434\u0435\u0442\u0435 \u0438\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u0438 \u0432 \u043A\u0430\u0432\u0438\u0447\u043A\u0438, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u201E123456\u201C.
|
|
342
342
|
M_EASY_FILTER_SHOW_RESULTS_FOR=\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435 \u043D\u0430 \u0440\u0435\u0437\u0443\u043B\u0442\u0430\u0442\u0438\u0442\u0435 \u0437\u0430\:
|
|
343
343
|
M_EASY_FILTER_MANDATORY_FILTER_SINGULAR=\u0424\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u043D\u0435\u0442\u043E \u043F\u043E {0} \u0435 \u0437\u0430\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E.
|
|
344
344
|
M_EASY_FILTER_MANDATORY_FILTER_PLURAL=\u0424\u0438\u043B\u0442\u0440\u0438\u0440\u0430\u043D\u0435\u0442\u043E \u043F\u043E {0} \u0435 \u0437\u0430\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E.
|
|
@@ -565,3 +565,5 @@ C_EASYEDIT_THUMBS_UP=\u041F\u0430\u043B\u0435\u0446 \u043D\u0430\u0433\u043E\u04
|
|
|
565
565
|
C_EASYEDIT_THUMBS_DOWN=\u041F\u0430\u043B\u0435\u0446 \u043D\u0430\u0434\u043E\u043B\u0443 \u0437\u0430 \u043B\u0435\u0441\u043D\u043E\u0442\u043E \u043F\u043E\u043F\u044A\u043B\u0432\u0430\u043D\u0435
|
|
566
566
|
|
|
567
567
|
C_EASYEDIT_FEEDBACK_SENT=\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u0442\u0430 \u0432\u0440\u044A\u0437\u043A\u0430 \u0435 \u0438\u0437\u043F\u0440\u0430\u0442\u0435\u043D\u0430
|
|
568
|
+
|
|
569
|
+
C_EASYEDIT_VH_ERROR=\u041D\u0435 \u0441\u044A\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u201E{0}\u201C.
|
|
@@ -61,7 +61,7 @@ M_COMMON_TABLE_SEGMENTED_BUTTON_ITEM_TOOLTIP=Taula
|
|
|
61
61
|
|
|
62
62
|
M_COMMON_CHART_SEGMENTED_BUTTON_ITEM_TOOLTIP=Gr\u00E0fic
|
|
63
63
|
|
|
64
|
-
M_COMMON_HYBRID_SEGMENTED_BUTTON_ITEM_TOOLTIP=
|
|
64
|
+
M_COMMON_HYBRID_SEGMENTED_BUTTON_ITEM_TOOLTIP=Diagrama i taula
|
|
65
65
|
|
|
66
66
|
M_MICROCHART_TITLE_FRAGMENT_HEADER_MICROCHART_LINK_ARIA=Feu clic aqu\u00ED per accedir a l\u2019aplicaci\u00F3 externa
|
|
67
67
|
|
|
@@ -81,7 +81,7 @@ M_MESSAGESTRIP_EMPTYROW_MANDATORY_HIDDEN_PLURAL=La taula cont\u00E9 errors. {0}
|
|
|
81
81
|
|
|
82
82
|
M_TABLE_EMPTYROW_MANDATORY={0} \u00E9s un camp obligatori (*).
|
|
83
83
|
|
|
84
|
-
M_TABLE_EMPTYROW_MANDATORY_HIDDEN={0} \u00E9s un camp obligatori (*) per\u00F2 no es visualitza a la taula. Afegiu-
|
|
84
|
+
M_TABLE_EMPTYROW_MANDATORY_HIDDEN={0} \u00E9s un camp obligatori (*), per\u00F2 no es visualitza a la taula. Afegiu-l''hi fent clic al bot\u00F3 Opcions.
|
|
85
85
|
|
|
86
86
|
HEADER_FORM_LABEL={0}\:
|
|
87
87
|
|
|
@@ -121,11 +121,11 @@ C_MASS_EDIT_CONFIRM_BUTTON_TEXT=Editar
|
|
|
121
121
|
|
|
122
122
|
C_MASS_EDIT_SUCCESS_TOAST=S'han desat les modificacions.
|
|
123
123
|
|
|
124
|
-
C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=S'han
|
|
124
|
+
C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=S'han desat les modificacions.
|
|
125
125
|
|
|
126
126
|
C_MASS_EDIT_CHANGES_WITH_ERROR={0} de {1} objectes actualitzats.
|
|
127
127
|
|
|
128
|
-
C_MASS_EDIT_NO_CHANGE=No
|
|
128
|
+
C_MASS_EDIT_NO_CHANGE=No heu fet modificacions.
|
|
129
129
|
|
|
130
130
|
C_MASS_EDIT_DESIGN_DIALOG_TITLE=Configuraci\u00F3 de vista
|
|
131
131
|
|
|
@@ -275,7 +275,7 @@ M_CARD_FAILURE_TABLE_REASON_UNSUPPORTED_COLUMNS=A la taula es mostra almenys una
|
|
|
275
275
|
|
|
276
276
|
M_CARD_CREATION_FAILURE_CHART_REASON_DATE_RANGE_FILTERS=No es pot crear la targeta. Torneu a provar-ho despr\u00E9s de verificar que no s'utilitzen filtres de data relativa (com ara "Ahir").
|
|
277
277
|
|
|
278
|
-
M_ROW_LEVEL_NAVIGATION_DISABLED_MSG_REASON_EXTERNAL_NAVIGATION_CONFIGURED=No es pot accedir directament als detalls de l'objecte des d'aquesta targeta d'
|
|
278
|
+
M_ROW_LEVEL_NAVIGATION_DISABLED_MSG_REASON_EXTERNAL_NAVIGATION_CONFIGURED=No es pot accedir directament als detalls de l'objecte des d'aquesta targeta d'an\u00E0lisi.
|
|
279
279
|
|
|
280
280
|
|
|
281
281
|
POPOVER_CONTACT_SECTION_JOBTITLE=Nom del lloc de treball
|
|
@@ -338,7 +338,7 @@ M_EASY_FILTER_FILTER_MODE_AI=SAP Business AI
|
|
|
338
338
|
M_EASY_FILTER_FILTER_MODE_CLASSIC=Cl\u00E0ssic
|
|
339
339
|
M_EASY_FILTER_NOTICE=El filtratge basat en preguntes crea uns criteris de filtre nous. Pot ser que el contingut generat no sigui sempre prec\u00EDs. Considereu verificar-lo.
|
|
340
340
|
M_EASY_FILTER_GO=Anar
|
|
341
|
-
M_EASY_FILTER_PLACEHOLDER=Per fer una cerca, introdu\u00EFu la consulta fent servir llenguatge natural per filtrar la llista
|
|
341
|
+
M_EASY_FILTER_PLACEHOLDER=Per fer una cerca, introdu\u00EFu la consulta fent servir llenguatge natural per filtrar la llista o escriviu els ID entre cometes. Per exemple, "123456".
|
|
342
342
|
M_EASY_FILTER_SHOW_RESULTS_FOR=Es mostren els resultats per a\:
|
|
343
343
|
M_EASY_FILTER_MANDATORY_FILTER_SINGULAR={0} \u00E9s un filtre obligatori.
|
|
344
344
|
M_EASY_FILTER_MANDATORY_FILTER_PLURAL={0} s\u00F3n filtres obligatoris.
|
|
@@ -565,3 +565,5 @@ C_EASYEDIT_THUMBS_UP=Polzes amunt per a Easy Fill
|
|
|
565
565
|
C_EASYEDIT_THUMBS_DOWN=Polzes avall per a Easy Fill
|
|
566
566
|
|
|
567
567
|
C_EASYEDIT_FEEDBACK_SENT=Comentaris enviats
|
|
568
|
+
|
|
569
|
+
C_EASYEDIT_VH_ERROR=El valor "{0}" no existeix.
|