@sapui5/sap.fe.macros 1.139.0 → 1.141.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.
Files changed (254) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Chart.js +53 -2
  4. package/src/sap/fe/macros/Chart.tsx +55 -0
  5. package/src/sap/fe/macros/CollaborativeDraftHandler.js +230 -0
  6. package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +218 -0
  7. package/src/sap/fe/macros/CommonHelper.js +59 -15
  8. package/src/sap/fe/macros/CommonHelper.ts +65 -14
  9. package/src/sap/fe/macros/ConditionalSwitch.js +174 -0
  10. package/src/sap/fe/macros/ConditionalSwitch.tsx +141 -0
  11. package/src/sap/fe/macros/ConditionalSwitchProperty.js +78 -0
  12. package/src/sap/fe/macros/ConditionalSwitchProperty.tsx +62 -0
  13. package/src/sap/fe/macros/Field.js +78 -64
  14. package/src/sap/fe/macros/Field.ts +97 -68
  15. package/src/sap/fe/macros/FooterContent.js +5 -2
  16. package/src/sap/fe/macros/FooterContent.tsx +4 -1
  17. package/src/sap/fe/macros/MacroAPI.js +9 -4
  18. package/src/sap/fe/macros/MacroAPI.ts +9 -4
  19. package/src/sap/fe/macros/MessageButton.js +1 -2
  20. package/src/sap/fe/macros/MessageButton.tsx +0 -1
  21. package/src/sap/fe/macros/MultiValueField.js +10 -7
  22. package/src/sap/fe/macros/MultiValueField.tsx +7 -3
  23. package/src/sap/fe/macros/Page.js +5 -7
  24. package/src/sap/fe/macros/Page.tsx +4 -6
  25. package/src/sap/fe/macros/Paginator.js +9 -4
  26. package/src/sap/fe/macros/Paginator.tsx +12 -3
  27. package/src/sap/fe/macros/RichTextEditor.js +3 -2
  28. package/src/sap/fe/macros/RichTextEditor.tsx +2 -1
  29. package/src/sap/fe/macros/Share.js +14 -2
  30. package/src/sap/fe/macros/Share.tsx +13 -0
  31. package/src/sap/fe/macros/Status.js +251 -0
  32. package/src/sap/fe/macros/Status.tsx +212 -0
  33. package/src/sap/fe/macros/ValueHelp.js +4 -28
  34. package/src/sap/fe/macros/ValueHelp.tsx +2 -42
  35. package/src/sap/fe/macros/ai/EasyFillDialog.js +11 -17
  36. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +11 -16
  37. package/src/sap/fe/macros/ai/EasyFilterBar.js +246 -97
  38. package/src/sap/fe/macros/ai/EasyFilterBar.tsx +302 -106
  39. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +76 -33
  40. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +89 -40
  41. package/src/sap/fe/macros/ai/SummarizationButton.js +2 -2
  42. package/src/sap/fe/macros/ai/SummarizationButton.tsx +1 -1
  43. package/src/sap/fe/macros/chart/Chart.js +2 -2
  44. package/src/sap/fe/macros/chart/Chart.tsx +1 -1
  45. package/src/sap/fe/macros/chart/ChartHelper.js +1 -2
  46. package/src/sap/fe/macros/chart/ChartHelper.ts +0 -1
  47. package/src/sap/fe/macros/chart/ChartRuntime.js +1 -2
  48. package/src/sap/fe/macros/chart/ChartRuntime.ts +0 -1
  49. package/src/sap/fe/macros/chart/MdcChartTemplate.js +5 -5
  50. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +5 -5
  51. package/src/sap/fe/macros/contentSwitcher/ContentSwitcher.js +9 -2
  52. package/src/sap/fe/macros/contentSwitcher/ContentSwitcher.tsx +8 -0
  53. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +5 -1
  54. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +4 -0
  55. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.js +4 -2
  56. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.ts +3 -1
  57. package/src/sap/fe/macros/controls/FilterBar.js +14 -5
  58. package/src/sap/fe/macros/controls/FilterBar.ts +3 -0
  59. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.js +2 -2
  60. package/src/sap/fe/macros/controls/NumberWithUnitOrCurrency.tsx +2 -2
  61. package/src/sap/fe/macros/controls/RadioButtons.js +61 -38
  62. package/src/sap/fe/macros/controls/RadioButtons.tsx +39 -18
  63. package/src/sap/fe/macros/controls/Section.js +4 -3
  64. package/src/sap/fe/macros/controls/Section.ts +3 -2
  65. package/src/sap/fe/macros/controls/section/SubSection.js +63 -8
  66. package/src/sap/fe/macros/controls/section/SubSection.ts +67 -1
  67. package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +43 -4
  68. package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +48 -1
  69. package/src/sap/fe/macros/designtime/Designtime.helper.js +28 -1
  70. package/src/sap/fe/macros/designtime/Designtime.helper.ts +27 -0
  71. package/src/sap/fe/macros/field/Field.js +2 -2
  72. package/src/sap/fe/macros/field/Field.tsx +1 -1
  73. package/src/sap/fe/macros/field/FieldBaseDelegate.js +13 -7
  74. package/src/sap/fe/macros/field/FieldBaseDelegate.ts +12 -8
  75. package/src/sap/fe/macros/field/FieldFormatOptions.js +25 -2
  76. package/src/sap/fe/macros/field/FieldFormatOptions.ts +13 -0
  77. package/src/sap/fe/macros/field/FieldHelper.js +2 -2
  78. package/src/sap/fe/macros/field/FieldHelper.ts +1 -4
  79. package/src/sap/fe/macros/field/FieldRuntime.js +1 -2
  80. package/src/sap/fe/macros/field/FieldRuntime.ts +0 -1
  81. package/src/sap/fe/macros/field/FieldTemplating.js +3 -3
  82. package/src/sap/fe/macros/field/FieldTemplating.ts +4 -2
  83. package/src/sap/fe/macros/filter/FilterUtils.js +233 -5
  84. package/src/sap/fe/macros/filter/FilterUtils.ts +291 -7
  85. package/src/sap/fe/macros/filterBar/FilterBar.block.js +5 -3
  86. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +4 -2
  87. package/src/sap/fe/macros/filterBar/FilterBar.js +2 -2
  88. package/src/sap/fe/macros/filterBar/FilterBar.tsx +1 -1
  89. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +63 -27
  90. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +49 -3
  91. package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +5 -3
  92. package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +5 -2
  93. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +7 -2
  94. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +6 -1
  95. package/src/sap/fe/macros/form/Form.block.js +7 -8
  96. package/src/sap/fe/macros/form/Form.block.ts +4 -6
  97. package/src/sap/fe/macros/form/Form.js +1 -4
  98. package/src/sap/fe/macros/form/Form.tsx +0 -3
  99. package/src/sap/fe/macros/form/FormContainer.block.js +555 -5
  100. package/src/sap/fe/macros/form/FormContainer.block.ts +665 -7
  101. package/src/sap/fe/macros/form/FormContainer.fragment.xml +1 -0
  102. package/src/sap/fe/macros/form/FormDelegate.js +24 -8
  103. package/src/sap/fe/macros/form/FormDelegate.ts +29 -7
  104. package/src/sap/fe/macros/form/FormHelper.js +1 -2
  105. package/src/sap/fe/macros/form/FormHelper.ts +0 -1
  106. package/src/sap/fe/macros/fpm/CustomFragment.block.js +1 -2
  107. package/src/sap/fe/macros/fpm/CustomFragment.block.ts +0 -1
  108. package/src/sap/fe/macros/internal/ActionCommand.block.js +1 -2
  109. package/src/sap/fe/macros/internal/ActionCommand.block.ts +0 -1
  110. package/src/sap/fe/macros/internal/DataPoint.js +3 -2
  111. package/src/sap/fe/macros/internal/DataPoint.tsx +10 -1
  112. package/src/sap/fe/macros/internal/FilterField.block.js +19 -5
  113. package/src/sap/fe/macros/internal/FilterField.block.ts +16 -4
  114. package/src/sap/fe/macros/internal/field/DisplayStyle.js +9 -3
  115. package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +10 -2
  116. package/src/sap/fe/macros/internal/field/EditStyle.js +21 -4
  117. package/src/sap/fe/macros/internal/field/EditStyle.tsx +18 -4
  118. package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +3 -2
  119. package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +5 -1
  120. package/src/sap/fe/macros/internal/filterField/FilterFieldTemplate.fragment.xml +1 -0
  121. package/src/sap/fe/macros/internal/helpers/ActionHelper.js +36 -5
  122. package/src/sap/fe/macros/internal/helpers/ActionHelper.ts +34 -4
  123. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +46 -8
  124. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +60 -6
  125. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +38 -2
  126. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +37 -2
  127. package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +1 -1
  128. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +10 -3
  129. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +13 -2
  130. package/src/sap/fe/macros/library.js +1 -1
  131. package/src/sap/fe/macros/mdc/adapter/StateFilterToSelectionVariant.js +2 -1
  132. package/src/sap/fe/macros/mdc/adapter/StateFilterToSelectionVariant.ts +1 -0
  133. package/src/sap/fe/macros/messagebundle.properties +24 -4
  134. package/src/sap/fe/macros/messagebundle_ar.properties +8 -2
  135. package/src/sap/fe/macros/messagebundle_bg.properties +8 -2
  136. package/src/sap/fe/macros/messagebundle_ca.properties +11 -5
  137. package/src/sap/fe/macros/messagebundle_cnr.properties +8 -2
  138. package/src/sap/fe/macros/messagebundle_cs.properties +7 -1
  139. package/src/sap/fe/macros/messagebundle_cy.properties +9 -3
  140. package/src/sap/fe/macros/messagebundle_da.properties +8 -2
  141. package/src/sap/fe/macros/messagebundle_de.properties +13 -7
  142. package/src/sap/fe/macros/messagebundle_el.properties +7 -1
  143. package/src/sap/fe/macros/messagebundle_en.properties +11 -5
  144. package/src/sap/fe/macros/messagebundle_en_GB.properties +9 -3
  145. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +11 -5
  146. package/src/sap/fe/macros/messagebundle_es.properties +10 -4
  147. package/src/sap/fe/macros/messagebundle_es_MX.properties +11 -5
  148. package/src/sap/fe/macros/messagebundle_et.properties +9 -3
  149. package/src/sap/fe/macros/messagebundle_fi.properties +7 -1
  150. package/src/sap/fe/macros/messagebundle_fr.properties +9 -3
  151. package/src/sap/fe/macros/messagebundle_fr_CA.properties +8 -2
  152. package/src/sap/fe/macros/messagebundle_hi.properties +8 -2
  153. package/src/sap/fe/macros/messagebundle_hr.properties +8 -2
  154. package/src/sap/fe/macros/messagebundle_hu.properties +7 -1
  155. package/src/sap/fe/macros/messagebundle_id.properties +15 -9
  156. package/src/sap/fe/macros/messagebundle_it.properties +7 -1
  157. package/src/sap/fe/macros/messagebundle_iw.properties +8 -2
  158. package/src/sap/fe/macros/messagebundle_ja.properties +13 -7
  159. package/src/sap/fe/macros/messagebundle_kk.properties +11 -5
  160. package/src/sap/fe/macros/messagebundle_ko.properties +8 -2
  161. package/src/sap/fe/macros/messagebundle_lt.properties +9 -3
  162. package/src/sap/fe/macros/messagebundle_lv.properties +8 -2
  163. package/src/sap/fe/macros/messagebundle_mk.properties +8 -2
  164. package/src/sap/fe/macros/messagebundle_ms.properties +7 -1
  165. package/src/sap/fe/macros/messagebundle_nl.properties +7 -1
  166. package/src/sap/fe/macros/messagebundle_no.properties +7 -1
  167. package/src/sap/fe/macros/messagebundle_pl.properties +8 -2
  168. package/src/sap/fe/macros/messagebundle_pt.properties +7 -1
  169. package/src/sap/fe/macros/messagebundle_pt_PT.properties +7 -1
  170. package/src/sap/fe/macros/messagebundle_ro.properties +8 -2
  171. package/src/sap/fe/macros/messagebundle_ru.properties +10 -4
  172. package/src/sap/fe/macros/messagebundle_sh.properties +8 -2
  173. package/src/sap/fe/macros/messagebundle_sk.properties +7 -1
  174. package/src/sap/fe/macros/messagebundle_sl.properties +7 -1
  175. package/src/sap/fe/macros/messagebundle_sr.properties +8 -2
  176. package/src/sap/fe/macros/messagebundle_sv.properties +7 -1
  177. package/src/sap/fe/macros/messagebundle_th.properties +8 -2
  178. package/src/sap/fe/macros/messagebundle_tr.properties +7 -1
  179. package/src/sap/fe/macros/messagebundle_uk.properties +10 -4
  180. package/src/sap/fe/macros/messagebundle_vi.properties +10 -4
  181. package/src/sap/fe/macros/messagebundle_zh_CN.properties +7 -1
  182. package/src/sap/fe/macros/messagebundle_zh_TW.properties +8 -2
  183. package/src/sap/fe/macros/messages/MessageButton.js +39 -18
  184. package/src/sap/fe/macros/messages/MessageButton.ts +42 -19
  185. package/src/sap/fe/macros/messages/MessagePopover.js +4 -2
  186. package/src/sap/fe/macros/messages/MessagePopover.ts +6 -4
  187. package/src/sap/fe/macros/microchart/MicroChart.js +2 -2
  188. package/src/sap/fe/macros/microchart/MicroChart.tsx +1 -1
  189. package/src/sap/fe/macros/microchart/MicroChartContainer.js +1 -2
  190. package/src/sap/fe/macros/microchart/MicroChartContainer.ts +1 -2
  191. package/src/sap/fe/macros/microchart/MicroChartHelper.js +2 -3
  192. package/src/sap/fe/macros/microchart/MicroChartHelper.tsx +1 -2
  193. package/src/sap/fe/macros/share/ShareAPI.js +4 -29
  194. package/src/sap/fe/macros/share/ShareAPI.ts +1 -32
  195. package/src/sap/fe/macros/situations/SituationsPopover.js +3 -1
  196. package/src/sap/fe/macros/situations/SituationsPopover.ts +2 -0
  197. package/src/sap/fe/macros/table/ActionsTemplating.js +4 -8
  198. package/src/sap/fe/macros/table/ActionsTemplating.tsx +5 -8
  199. package/src/sap/fe/macros/table/BasicSearch.js +1 -1
  200. package/src/sap/fe/macros/table/BasicSearch.ts +2 -1
  201. package/src/sap/fe/macros/table/Column.js +14 -2
  202. package/src/sap/fe/macros/table/Column.ts +7 -0
  203. package/src/sap/fe/macros/table/ColumnExportSettings.js +83 -15
  204. package/src/sap/fe/macros/table/ColumnExportSettings.ts +44 -0
  205. package/src/sap/fe/macros/table/ColumnOverride.js +14 -2
  206. package/src/sap/fe/macros/table/ColumnOverride.ts +7 -0
  207. package/src/sap/fe/macros/table/MdcTableTemplate.js +7 -5
  208. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +21 -11
  209. package/src/sap/fe/macros/table/QuickFilterSelector.js +12 -3
  210. package/src/sap/fe/macros/table/QuickFilterSelector.tsx +15 -2
  211. package/src/sap/fe/macros/table/Table.block.js +188 -147
  212. package/src/sap/fe/macros/table/Table.block.tsx +41 -11
  213. package/src/sap/fe/macros/table/Table.js +16 -10
  214. package/src/sap/fe/macros/table/Table.tsx +16 -10
  215. package/src/sap/fe/macros/table/TableAPI.js +224 -184
  216. package/src/sap/fe/macros/table/TableAPI.ts +63 -19
  217. package/src/sap/fe/macros/table/TableEventHandlerProvider.js +6 -6
  218. package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +5 -4
  219. package/src/sap/fe/macros/table/TableHelper.js +2 -3
  220. package/src/sap/fe/macros/table/TableHelper.ts +1 -2
  221. package/src/sap/fe/macros/table/TableRuntime.js +24 -5
  222. package/src/sap/fe/macros/table/TableRuntime.ts +31 -3
  223. package/src/sap/fe/macros/table/TreeTable.js +16 -10
  224. package/src/sap/fe/macros/table/TreeTable.tsx +16 -10
  225. package/src/sap/fe/macros/table/Utils.js +8 -3
  226. package/src/sap/fe/macros/table/Utils.ts +12 -3
  227. package/src/sap/fe/macros/table/delegates/ALPTableDelegate.js +1 -2
  228. package/src/sap/fe/macros/table/delegates/ALPTableDelegate.ts +0 -1
  229. package/src/sap/fe/macros/table/delegates/TableDelegate.js +69 -34
  230. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +75 -33
  231. package/src/sap/fe/macros/table/delegates/TreeTableDelegate.js +1 -2
  232. package/src/sap/fe/macros/table/delegates/TreeTableDelegate.ts +0 -1
  233. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +10 -10
  234. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +11 -9
  235. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +14 -12
  236. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +11 -10
  237. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +34 -4
  238. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +45 -2
  239. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +55 -12
  240. package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +71 -9
  241. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +53 -2
  242. package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +55 -0
  243. package/src/sap/fe/macros/table/mixin/TableExport.js +22 -3
  244. package/src/sap/fe/macros/table/mixin/TableExport.ts +25 -4
  245. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +5 -1
  246. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +7 -0
  247. package/src/sap/fe/macros/table/mixin/TableSharing.js +4 -2
  248. package/src/sap/fe/macros/table/mixin/TableSharing.ts +10 -1
  249. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +36 -10
  250. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +44 -9
  251. package/src/sap/fe/macros/visualfilters/VisualFilter.js +5 -4
  252. package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +3 -2
  253. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +2 -3
  254. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +1 -2
@@ -18,6 +18,7 @@ import {
18
18
  getAssociatedUnitProperty
19
19
  } from "sap/fe/core/templating/PropertyHelper";
20
20
  import { getDisplayMode, getTypeConfig } from "sap/fe/core/templating/UIFormatters";
21
+ import CommonHelper from "sap/fe/macros/CommonHelper";
21
22
  import type FilterBarAPI from "sap/fe/macros/filterBar/FilterBarAPI";
22
23
  import type Table from "sap/m/Table";
23
24
  import Util from "sap/m/table/Util";
@@ -383,9 +384,14 @@ const ValueListHelper = {
383
384
  * Gets the sort conditions set on the ValueList's PresentationVariant.
384
385
  * @param valueListInfo The valueList annotation
385
386
  * @param isSuggestion Indicates if the ValueList is used in a suggestion scenario
387
+ * @param asCustomdata Indicates if the sort conditions should be returned as custom data
386
388
  * @returns The sort conditions if any, undefined otherwise
387
389
  */
388
- getSortConditionsFromPresentationVariant: function (valueListInfo: AnnotationValueListType, isSuggestion: boolean): string | undefined {
390
+ getSortConditionsFromPresentationVariant: function (
391
+ valueListInfo: AnnotationValueListType,
392
+ isSuggestion: boolean,
393
+ asCustomdata = false
394
+ ): string | undefined {
389
395
  const presentationVariant = getPresentationVariant(valueListInfo);
390
396
  if (presentationVariant?.SortOrder) {
391
397
  const sortConditions = {
@@ -408,7 +414,8 @@ const ValueListHelper = {
408
414
  }
409
415
  sortConditions.sorters.push(sorter);
410
416
  });
411
- return isSuggestion ? `sorter: ${JSON.stringify(sortConditions.sorters)}` : JSON.stringify(sortConditions);
417
+ const stringConverter = asCustomdata ? CommonHelper.stringifyCustomData : JSON.stringify;
418
+ return isSuggestion ? `sorter: ${stringConverter(sortConditions.sorters)}` : stringConverter(sortConditions);
412
419
  }
413
420
  return;
414
421
  },
@@ -1088,6 +1095,10 @@ const ValueListHelper = {
1088
1095
  }
1089
1096
  if (!path.key) {
1090
1097
  path.key = firstKey;
1098
+ const propertyPath = `/${annotationValueListType.CollectionPath}/${firstKey}`;
1099
+ const propertyAnnotations = (metaModelVH.getObject(`${propertyPath}@`) || {}) as AnnotationsForProperty;
1100
+ // We update path.descriptionPath for the key property
1101
+ path.descriptionPath = propertyAnnotations[AnnotationText]?.$Path || "";
1091
1102
  }
1092
1103
 
1093
1104
  /* Ensure that vhKeys are part of the columnDefs, otherwise it is not considered in $select (BCP 2270141154) */
@@ -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.139.0",
27
+ version: "1.141.0",
28
28
  noLibraryCSS: true,
29
29
  extensions: {
30
30
  flChangeHandlers: {
@@ -211,6 +211,7 @@ sap.ui.define(["sap/base/Log", "sap/base/util/isEmptyObject", "sap/fe/macros/fil
211
211
  case "LE":
212
212
  case "LT":
213
213
  case "GT":
214
+ case "GE":
214
215
  case "EQ":
215
216
  selectOptionState.Option = operator;
216
217
  break;
@@ -303,4 +304,4 @@ sap.ui.define(["sap/base/Log", "sap/base/util/isEmptyObject", "sap/fe/macros/fil
303
304
  };
304
305
  return stateFilterToSelectionVariant;
305
306
  }, false);
306
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudCIsImdldFNlbGVjdGlvblZhcmlhbnRGcm9tQ29uZGl0aW9ucyIsImZpbHRlckNvbmRpdGlvbnMiLCJwcm9wZXJ0eUhlbHBlciIsInBhcmFtcyIsInNlbGVjdGlvblZhcmlhbnQiLCJTZWxlY3Rpb25WYXJpYW50IiwiaXNFbXB0eU9iamVjdCIsImZpbHRlcktleSIsImZpbHRlckZpZWxkQ29uZGl0aW9uIiwibGVuZ3RoIiwic2VsZWN0T3B0aW9ucyIsImdldFNlbGVjdGlvbk9wdGlvbnNGcm9tQ29uZGl0aW9uIiwic2FuaXRpemVkRmlsdGVyS2V5IiwicmVwbGFjZSIsImluY2x1ZGVzIiwibWFzc0FkZFNlbGVjdE9wdGlvbiIsImNvbXBhcmVTZWxlY3RPcHRpb25zIiwib3B0aW9uczEiLCJvcHRpb25zMiIsIk9wdGlvbiIsIlNpZ24iLCJMb3ciLCJIaWdoIiwibWVyZ2VTZWxlY3Rpb25WYXJpYW50cyIsInNlbGVjdGlvblZhcmlhbnQxIiwic2VsZWN0aW9uVmFyaWFudDIiLCJtZXJnZWRTViIsInRvSlNPTlN0cmluZyIsInByb3BlcnR5TmFtZXMiLCJnZXRTZWxlY3RPcHRpb25zUHJvcGVydHlOYW1lcyIsImFkZGVkUHJvcGVydGllcyIsInByb3BOYW1lIiwiY29udHJvbE9wdGlvbnMiLCJnZXRTZWxlY3RPcHRpb24iLCJtZXJnZWRPcHRpb25zIiwicHVzaCIsImNvbnRyb2xPcHRpb24iLCJzb21lIiwibWVyZ2VkT3B0aW9uIiwic3RhdGVGaWx0ZXJzIiwiY29uZGl0aW9uIiwic2VsZWN0T3B0aW9uIiwiZ2V0U2VsZWN0aW9uT3B0aW9uIiwic2VtYW50aWNEYXRlcyIsImZpbHRlck9wdGlvbiIsIm9wZXJhdG9yIiwiRmlsdGVyT3BlcmF0b3JVdGlsIiwiZ2V0T3BlcmF0b3IiLCJ1bmRlZmluZWQiLCJSYW5nZU9wZXJhdG9yIiwiY3JlYXRlU2VtYW50aWNEYXRlc0Zyb21Db25kaXRpb25zIiwiZ2V0T3B0aW9uRm9yUHJvcGVydHlXaXRoUmFuZ2VPcGVyYXRvciIsInNlbWFudGljRGF0ZU9wc0V4dCIsIlNlbWFudGljRGF0ZU9wZXJhdG9ycyIsImdldFNlbWFudGljRGF0ZU9wZXJhdGlvbnMiLCJnZXRTZWxlY3Rpb25Gb3JtYXRGb3JOb25SYW5nZU9wZXJhdG9yIiwiU2VtYW50aWNEYXRlcyIsImxvd1ZhbHVlIiwiaGlnaFZhbHVlIiwidmFsdWVzIiwidG9TdHJpbmciLCJnZXRUeXBlSW5mb0ZvckZpbHRlclByb3BlcnR5IiwicHJvcGVydHlJbmZvIiwiZ2V0UHJvcGVydHkiLCJ0eXBlQ29uZmlnIiwibW9kZWxGaWx0ZXIiLCJnZXRNb2RlbEZpbHRlciIsInR5cGVJbnN0YW5jZSIsImJhc2VUeXBlIiwiZmlsdGVycyIsImdldEZpbHRlcnMiLCJleGNsdWRlIiwiVHlwZU1hcCIsImV4dGVybmFsaXplVmFsdWUiLCJnZXRWYWx1ZTEiLCJnZXRWYWx1ZTIiLCJzZWxlY3RPcHRpb25TdGF0ZSIsIkxvZyIsIndhcm5pbmciLCJoaWdoIiwibG93Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBpc0VtcHR5T2JqZWN0IGZyb20gXCJzYXAvYmFzZS91dGlsL2lzRW1wdHlPYmplY3RcIjtcbmltcG9ydCBTZW1hbnRpY0RhdGVPcGVyYXRvcnMgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyQmFyL1NlbWFudGljRGF0ZU9wZXJhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eUluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC9Qcm9wZXJ0eUluZm9cIjtcbmltcG9ydCB0eXBlIHsgU2VsZWN0T3B0aW9uLCBTZW1hbnRpY0RhdGVDb25maWd1cmF0aW9uIH0gZnJvbSBcInNhcC9mZS9uYXZpZ2F0aW9uL1NlbGVjdGlvblZhcmlhbnRcIjtcbmltcG9ydCBTZWxlY3Rpb25WYXJpYW50IGZyb20gXCJzYXAvZmUvbmF2aWdhdGlvbi9TZWxlY3Rpb25WYXJpYW50XCI7XG5pbXBvcnQgdHlwZSBUeXBlQ29uZmlnIGZyb20gXCJzYXAvdWkvbWRjL1R5cGVDb25maWdcIjtcbmltcG9ydCB0eXBlIHsgQ29uZGl0aW9uT2JqZWN0IH0gZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvblwiO1xuaW1wb3J0IEZpbHRlck9wZXJhdG9yVXRpbCBmcm9tIFwic2FwL3VpL21kYy9jb25kaXRpb24vRmlsdGVyT3BlcmF0b3JVdGlsXCI7XG5pbXBvcnQgdHlwZSBPcGVyYXRvciBmcm9tIFwic2FwL3VpL21kYy9jb25kaXRpb24vT3BlcmF0b3JcIjtcbmltcG9ydCBSYW5nZU9wZXJhdG9yIGZyb20gXCJzYXAvdWkvbWRjL2NvbmRpdGlvbi9SYW5nZU9wZXJhdG9yXCI7XG5pbXBvcnQgVHlwZU1hcCBmcm9tIFwic2FwL3VpL21kYy9vZGF0YS92NC9UeXBlTWFwXCI7XG5pbXBvcnQgdHlwZSBQcm9wZXJ0eUhlbHBlciBmcm9tIFwic2FwL3VpL21kYy91dGlsL1Byb3BlcnR5SGVscGVyXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXIgZnJvbSBcInNhcC91aS9tb2RlbC9GaWx0ZXJcIjtcbmltcG9ydCB0eXBlIFR5cGUgZnJvbSBcInNhcC91aS9tb2RlbC9UeXBlXCI7XG5cbmNvbnN0IHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50ID0ge1xuXHQvKipcblx0ICogR2V0IHNlbGVjdGlvbiB2YXJpYW50IGJhc2VkIG9uIHRoZSBmaWx0ZXIgY29uZGl0aW9ucy5cblx0ICogQHBhcmFtIGZpbHRlckNvbmRpdGlvbnMgQ29uZmlndXJlIHRoZSBmaWx0ZXIgYmFyIGNvbnRyb2xcblx0ICogQHBhcmFtIHByb3BlcnR5SGVscGVyIFByb3BlcnR5SGVscGVyIG9mIHRoZSBmaWx0ZXIgYmFyXG5cdCAqIEBwYXJhbSBwYXJhbXMgUGFyYW1ldGVycyBvZiBwYXJhbWV0cml6ZWQgc2VydmljZXNcblx0ICogQHJldHVybnMgVGhlIGZpbHRlciBjb25kaXRpb25zIGFyZSBjb252ZXJ0ZWQgdG8gdGhlIHNlbGVjdGlvbiB2YXJpYW50IGFuZCByZXR1cm5lZFxuXHQgKi9cblx0Z2V0U2VsZWN0aW9uVmFyaWFudEZyb21Db25kaXRpb25zOiBmdW5jdGlvbiAoXG5cdFx0ZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgQ29uZGl0aW9uT2JqZWN0W10gfCB1bmRlZmluZWQ+LFxuXHRcdHByb3BlcnR5SGVscGVyOiBQcm9wZXJ0eUhlbHBlcixcblx0XHRwYXJhbXM/OiBzdHJpbmdbXVxuXHQpOiBTZWxlY3Rpb25WYXJpYW50IHtcblx0XHRjb25zdCBzZWxlY3Rpb25WYXJpYW50ID0gbmV3IFNlbGVjdGlvblZhcmlhbnQoKTtcblx0XHRpZiAoIWlzRW1wdHlPYmplY3QoZmlsdGVyQ29uZGl0aW9ucykpIHtcblx0XHRcdGZvciAoY29uc3QgZmlsdGVyS2V5IGluIGZpbHRlckNvbmRpdGlvbnMpIHtcblx0XHRcdFx0Y29uc3QgZmlsdGVyRmllbGRDb25kaXRpb24gPSBmaWx0ZXJDb25kaXRpb25zW2ZpbHRlcktleV07XG5cdFx0XHRcdGlmIChmaWx0ZXJGaWVsZENvbmRpdGlvbj8ubGVuZ3RoKSB7XG5cdFx0XHRcdFx0Y29uc3Qgc2VsZWN0T3B0aW9ucyA9IHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50LmdldFNlbGVjdGlvbk9wdGlvbnNGcm9tQ29uZGl0aW9uKFxuXHRcdFx0XHRcdFx0ZmlsdGVyRmllbGRDb25kaXRpb24sXG5cdFx0XHRcdFx0XHRmaWx0ZXJLZXksXG5cdFx0XHRcdFx0XHRwcm9wZXJ0eUhlbHBlclxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0aWYgKHNlbGVjdE9wdGlvbnMubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBzYW5pdGl6ZWRGaWx0ZXJLZXkgPSBmaWx0ZXJLZXkucmVwbGFjZSgvXFwqXFwvL2csIFwiLlwiKTtcblx0XHRcdFx0XHRcdC8vIGdldCBwYXJhbWV0ZXJzIGZyb20gZmlsdGVyIGJhclxuXHRcdFx0XHRcdFx0aWYgKHBhcmFtcz8uaW5jbHVkZXMoZmlsdGVyS2V5KSkge1xuXHRcdFx0XHRcdFx0XHQvLyB0cnlpbmcgdG8gZ2VuZXJhdGUgcHJvcGVydGllcyBsaWtlICRQYXJhbWV0ZXIuQ29tcGFueUNvZGUgaWYgQ29tcGFueUNvZGUgaXMgYSBwYXJhbWV0ZXJcblx0XHRcdFx0XHRcdFx0c2VsZWN0aW9uVmFyaWFudC5tYXNzQWRkU2VsZWN0T3B0aW9uKGAkUGFyYW1ldGVyLiR7c2FuaXRpemVkRmlsdGVyS2V5fWAsIHNlbGVjdE9wdGlvbnMpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0c2VsZWN0aW9uVmFyaWFudC5tYXNzQWRkU2VsZWN0T3B0aW9uKHNhbml0aXplZEZpbHRlcktleSwgc2VsZWN0T3B0aW9ucyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzZWxlY3Rpb25WYXJpYW50O1xuXHR9LFxuXHQvKipcblx0ICogQ29tcGFyZSB0d28gU2VsZWN0T3B0aW9uIG9iamVjdHMgYW5kIGNoZWNrIGlmIHRoZXkgYXJlIGVxdWFsLlxuXHQgKiBAcGFyYW0gb3B0aW9uczEgVGhlIGZpcnN0IFNlbGVjdE9wdGlvbiBvYmplY3Rcblx0ICogQHBhcmFtIG9wdGlvbnMyIFRoZSBzZWNvbmQgU2VsZWN0T3B0aW9uIG9iamVjdFxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvYmplY3RzIGFyZSBlcXVhbCwgZmFsc2Ugb3RoZXJ3aXNlXG5cdCAqL1xuXHRjb21wYXJlU2VsZWN0T3B0aW9uczogZnVuY3Rpb24gKG9wdGlvbnMxOiBTZWxlY3RPcHRpb24sIG9wdGlvbnMyOiBTZWxlY3RPcHRpb24pOiBib29sZWFuIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0b3B0aW9uczEuT3B0aW9uID09PSBvcHRpb25zMi5PcHRpb24gJiZcblx0XHRcdG9wdGlvbnMxLlNpZ24gPT09IG9wdGlvbnMyLlNpZ24gJiZcblx0XHRcdG9wdGlvbnMxLkxvdyA9PT0gb3B0aW9uczIuTG93ICYmXG5cdFx0XHRvcHRpb25zMS5IaWdoID09PSBvcHRpb25zMi5IaWdoXG5cdFx0KTtcblx0fSxcblxuXHQvKipcblx0ICogTWVyZ2UgdHdvIHNlbGVjdGlvbiB2YXJpYW50cy5cblx0ICogQHBhcmFtIHNlbGVjdGlvblZhcmlhbnQxIFRoZSBmaXJzdCBzZWxlY3Rpb25WYXJpYW50MSBvYmplY3Rcblx0ICogQHBhcmFtIHNlbGVjdGlvblZhcmlhbnQyIFRoZSBzZWNvbmQgc2VsZWN0aW9uVmFyaWFudCBvYmplY3Rcblx0ICogQHJldHVybnMgVGhlIG1lcmdlZCBzZWxlY3Rpb25WYXJpYW50XG5cdCAqL1xuXHRtZXJnZVNlbGVjdGlvblZhcmlhbnRzOiBmdW5jdGlvbiAoc2VsZWN0aW9uVmFyaWFudDE6IFNlbGVjdGlvblZhcmlhbnQsIHNlbGVjdGlvblZhcmlhbnQyOiBTZWxlY3Rpb25WYXJpYW50KTogU2VsZWN0aW9uVmFyaWFudCB7XG5cdFx0Ly8gQ3JlYXRlIGEgbmV3IFNlbGVjdGlvblZhcmlhbnQgZm9yIHRoZSBtZXJnZWQgcmVzdWx0LCBpbml0aWFsbHkgYSBjbG9uZSBvZiBTZWxlY3Rpb25WYXJpYW50MVxuXHRcdGNvbnN0IG1lcmdlZFNWID0gbmV3IFNlbGVjdGlvblZhcmlhbnQoc2VsZWN0aW9uVmFyaWFudDEudG9KU09OU3RyaW5nKCkpO1xuXG5cdFx0Ly8gR2V0IHRoZSBwcm9wZXJ0eSBuYW1lcyBmcm9tIFNlbGVjdGlvblZhcmlhbnQyXG5cdFx0Y29uc3QgcHJvcGVydHlOYW1lcyA9IHNlbGVjdGlvblZhcmlhbnQyLmdldFNlbGVjdE9wdGlvbnNQcm9wZXJ0eU5hbWVzKCk7XG5cblx0XHQvLyBLZWVwIHRyYWNrIG9mIGFkZGVkIHByb3BlcnRpZXNcblx0XHRjb25zdCBhZGRlZFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW107XG5cblx0XHQvLyBMb29wIHRocm91Z2ggZWFjaCBwcm9wZXJ0eSBpbiBTZWxlY3Rpb25WYXJpYW50MlxuXHRcdGZvciAoY29uc3QgcHJvcE5hbWUgb2YgcHJvcGVydHlOYW1lcykge1xuXHRcdFx0Y29uc3QgY29udHJvbE9wdGlvbnMgPSBzZWxlY3Rpb25WYXJpYW50Mi5nZXRTZWxlY3RPcHRpb24ocHJvcE5hbWUpIHx8IFtdO1xuXHRcdFx0Y29uc3QgbWVyZ2VkT3B0aW9ucyA9IG1lcmdlZFNWLmdldFNlbGVjdE9wdGlvbihwcm9wTmFtZSkgfHwgW107XG5cblx0XHRcdC8vIENoZWNrIGlmIHRoZSBwcm9wZXJ0eSBhbHJlYWR5IGV4aXN0cyBpbiBTZWxlY3Rpb25WYXJpYW50MVxuXHRcdFx0aWYgKCFhZGRlZFByb3BlcnRpZXMuaW5jbHVkZXMocHJvcE5hbWUpKSB7XG5cdFx0XHRcdC8vIElmIG5vdCwgYWRkIHRoZSBlbnRpcmUgcHJvcGVydHkgZnJvbSBTZWxlY3Rpb25WYXJpYW50MlxuXHRcdFx0XHRtZXJnZWRTVi5tYXNzQWRkU2VsZWN0T3B0aW9uKHByb3BOYW1lLCBjb250cm9sT3B0aW9ucyk7XG5cdFx0XHRcdGFkZGVkUHJvcGVydGllcy5wdXNoKHByb3BOYW1lKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIElmIGl0IGV4aXN0cyBpbiBTZWxlY3Rpb25WYXJpYW50MSwgb25seSBhZGQgdGhlIG9wdGlvbnMgdGhhdCBhcmUgbm90IGFscmVhZHkgcHJlc2VudFxuXHRcdFx0XHRmb3IgKGNvbnN0IGNvbnRyb2xPcHRpb24gb2YgY29udHJvbE9wdGlvbnMpIHtcblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHQhbWVyZ2VkT3B0aW9ucy5zb21lKChtZXJnZWRPcHRpb24pID0+XG5cdFx0XHRcdFx0XHRcdHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50LmNvbXBhcmVTZWxlY3RPcHRpb25zKG1lcmdlZE9wdGlvbiwgY29udHJvbE9wdGlvbilcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpIHtcblx0XHRcdFx0XHRcdG1lcmdlZE9wdGlvbnMucHVzaChjb250cm9sT3B0aW9uKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0bWVyZ2VkU1YubWFzc0FkZFNlbGVjdE9wdGlvbihwcm9wTmFtZSwgbWVyZ2VkT3B0aW9ucyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG1lcmdlZFNWO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBNZXRob2QgdG8gYWRkIHRoZSBmaWx0ZXIgY29uZGl0aW9ucyB0byBzZWxlY3Rpb24gdmFyaWFudC5cblx0ICogQHBhcmFtIHN0YXRlRmlsdGVycyBSZXRyaWV2ZWQgZmlsdGVyIGNvbmRpdGlvbiBmb3IgYSBmaWx0ZXIgZmllbGQgZnJvbSBTdGF0ZVV0aWxzXG5cdCAqIEBwYXJhbSBmaWx0ZXJLZXkgTmFtZSBvZiB0aGUgZmlsdGVyIGtleVxuXHQgKiBAcGFyYW0gcHJvcGVydHlIZWxwZXIgUHJvcGVydHlIZWxwZXIgb2YgdGhlIGZpbHRlciBiYXJcblx0ICogQHJldHVybnMgVGhlIHNlbGVjdGlvbiBvcHRpb24gYXJyYXkgZm9yIGEgcGFydGljdWxhciBmaWx0ZXIga2V5XG5cdCAqL1xuXHRnZXRTZWxlY3Rpb25PcHRpb25zRnJvbUNvbmRpdGlvbjogZnVuY3Rpb24gKFxuXHRcdHN0YXRlRmlsdGVyczogQ29uZGl0aW9uT2JqZWN0W10sXG5cdFx0ZmlsdGVyS2V5OiBzdHJpbmcsXG5cdFx0cHJvcGVydHlIZWxwZXI6IFByb3BlcnR5SGVscGVyXG5cdCk6IFNlbGVjdE9wdGlvbltdIHtcblx0XHRjb25zdCBzZWxlY3RPcHRpb25zOiBTZWxlY3RPcHRpb25bXSA9IFtdO1xuXHRcdGZvciAoY29uc3QgY29uZGl0aW9uIG9mIHN0YXRlRmlsdGVycykge1xuXHRcdFx0Y29uc3Qgc2VsZWN0T3B0aW9uID0gc3RhdGVGaWx0ZXJUb1NlbGVjdGlvblZhcmlhbnQuZ2V0U2VsZWN0aW9uT3B0aW9uKGNvbmRpdGlvbiwgZmlsdGVyS2V5LCBwcm9wZXJ0eUhlbHBlcik7XG5cdFx0XHRpZiAoc2VsZWN0T3B0aW9uKSB7XG5cdFx0XHRcdHNlbGVjdE9wdGlvbnMucHVzaChzZWxlY3RPcHRpb24pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc2VsZWN0T3B0aW9ucztcblx0fSxcblx0LyoqXG5cdCAqIENhbGN1bGF0ZSB0aGUgZmlsdGVyIG9wdGlvbiBmb3IgZWFjaCB2YWx1ZS5cblx0ICogQHBhcmFtIGNvbmRpdGlvblxuXHQgKiBAcGFyYW0gZmlsdGVyS2V5IE5hbWUgb2YgdGhlIGZpbHRlciBrZXlcblx0ICogQHBhcmFtIHByb3BlcnR5SGVscGVyIFByb3BlcnR5SGVscGVyIG9mIHRoZSBmaWx0ZXIgYmFyXG5cdCAqIEByZXR1cm5zIFRoZSBwcm9taXNlIG9mIHRoZSBTZWxlY3Qgb3B0aW9uXG5cdCAqL1xuXHRnZXRTZWxlY3Rpb25PcHRpb246IGZ1bmN0aW9uIChjb25kaXRpb246IENvbmRpdGlvbk9iamVjdCwgZmlsdGVyS2V5OiBzdHJpbmcsIHByb3BlcnR5SGVscGVyOiBQcm9wZXJ0eUhlbHBlcik6IFNlbGVjdE9wdGlvbiB8IHVuZGVmaW5lZCB7XG5cdFx0bGV0IHNlbWFudGljRGF0ZXM6IFNlbWFudGljRGF0ZUNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQ7XG5cdFx0bGV0IGZpbHRlck9wdGlvbjogU2VsZWN0T3B0aW9uIHwgdW5kZWZpbmVkO1xuXHRcdGNvbnN0IG9wZXJhdG9yID0gY29uZGl0aW9uLm9wZXJhdG9yICYmIGNvbmRpdGlvbi5vcGVyYXRvciAhPT0gXCJcIiA/IEZpbHRlck9wZXJhdG9yVXRpbC5nZXRPcGVyYXRvcihjb25kaXRpb24ub3BlcmF0b3IpIDogdW5kZWZpbmVkO1xuXHRcdGlmIChvcGVyYXRvciBpbnN0YW5jZW9mIFJhbmdlT3BlcmF0b3IpIHtcblx0XHRcdHNlbWFudGljRGF0ZXMgPSBzdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudC5jcmVhdGVTZW1hbnRpY0RhdGVzRnJvbUNvbmRpdGlvbnMoY29uZGl0aW9uKTtcblx0XHRcdGZpbHRlck9wdGlvbiA9IHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50LmdldE9wdGlvbkZvclByb3BlcnR5V2l0aFJhbmdlT3BlcmF0b3IoXG5cdFx0XHRcdG9wZXJhdG9yLFxuXHRcdFx0XHRjb25kaXRpb24sXG5cdFx0XHRcdGZpbHRlcktleSxcblx0XHRcdFx0cHJvcGVydHlIZWxwZXJcblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IHNlbWFudGljRGF0ZU9wc0V4dCA9IFNlbWFudGljRGF0ZU9wZXJhdG9ycy5nZXRTZW1hbnRpY0RhdGVPcGVyYXRpb25zKCk7XG5cdFx0XHRpZiAoc2VtYW50aWNEYXRlT3BzRXh0LmluY2x1ZGVzKGNvbmRpdGlvbi5vcGVyYXRvcikpIHtcblx0XHRcdFx0c2VtYW50aWNEYXRlcyA9IHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50LmNyZWF0ZVNlbWFudGljRGF0ZXNGcm9tQ29uZGl0aW9ucyhjb25kaXRpb24pO1xuXHRcdFx0fVxuXHRcdFx0ZmlsdGVyT3B0aW9uID0gc3RhdGVGaWx0ZXJUb1NlbGVjdGlvblZhcmlhbnQuZ2V0U2VsZWN0aW9uRm9ybWF0Rm9yTm9uUmFuZ2VPcGVyYXRvcihjb25kaXRpb24sIGZpbHRlcktleSk7XG5cdFx0fVxuXHRcdGlmIChmaWx0ZXJPcHRpb24/Lk9wdGlvbikge1xuXHRcdFx0ZmlsdGVyT3B0aW9uLlNlbWFudGljRGF0ZXMgPSBzZW1hbnRpY0RhdGVzID8gc2VtYW50aWNEYXRlcyA6IHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0cmV0dXJuIGZpbHRlck9wdGlvbjtcblx0fSxcblx0LyoqXG5cdCAqIENhbGN1bGF0ZSB0aGUgZmlsdGVyIGNvbmRpdGlvbnMgZm9yIHRoZSBTZWxlY3Qgb3B0aW9uLlxuXHQgKiBAcGFyYW0gY29uZGl0aW9uIENvbmRpdGlvbiBvYmplY3Rcblx0ICogQHBhcmFtIGZpbHRlcktleSBOYW1lIG9mIHRoZSBmaWx0ZXIga2V5XG5cdCAqIEByZXR1cm5zIFRoZSBTZWxlY3QgT3B0aW9uIG9iamVjdCBvciB1bmRlZmluZWRcblx0ICovXG5cdGdldFNlbGVjdGlvbkZvcm1hdEZvck5vblJhbmdlT3BlcmF0b3I6IGZ1bmN0aW9uIChjb25kaXRpb246IENvbmRpdGlvbk9iamVjdCwgZmlsdGVyS2V5OiBzdHJpbmcpOiBTZWxlY3RPcHRpb24gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IFtsb3dWYWx1ZSwgaGlnaFZhbHVlXSA9IGNvbmRpdGlvbi52YWx1ZXMgYXMgKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkKVtdO1xuXHRcdHJldHVybiBzdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudC5nZXRTZWxlY3RPcHRpb24oXG5cdFx0XHRjb25kaXRpb24ub3BlcmF0b3IsXG5cdFx0XHRsb3dWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIGxvd1ZhbHVlICE9PSBudWxsID8gbG93VmFsdWUudG9TdHJpbmcoKSA6IFwiXCIsXG5cdFx0XHRoaWdoVmFsdWUgIT09IHVuZGVmaW5lZCAmJiBoaWdoVmFsdWUgIT09IG51bGwgPyBoaWdoVmFsdWUudG9TdHJpbmcoKSA6IG51bGwsXG5cdFx0XHRmaWx0ZXJLZXlcblx0XHQpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIHR5cGUtc3BlY2lmaWMgaW5mb3JtYXRpb24gZm9yIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqIEBwYXJhbSBmaWx0ZXJLZXkgTmFtZSBvZiB0aGUgZmlsdGVyIGtleVxuXHQgKiBAcGFyYW0gcHJvcGVydHlIZWxwZXIgUHJvcGVydHlIZWxwZXIgYW5kIGZpbHRlciBkZWxlZ2F0ZSBjb250cm9sbGVyIG9mIGZpbHRlciBiYXJcblx0ICogQHJldHVybnMgVGhlIG9iamVjdCB3aXRoIHR5cGVDb25maWcgdmFsdWVcblx0ICovXG5cdGdldFR5cGVJbmZvRm9yRmlsdGVyUHJvcGVydHk6IGZ1bmN0aW9uIChmaWx0ZXJLZXk6IHN0cmluZywgcHJvcGVydHlIZWxwZXI6IFByb3BlcnR5SGVscGVyKTogVHlwZUNvbmZpZyB8IHVuZGVmaW5lZCB7XG5cdFx0Ly8gZm9yIGZldyBmaWx0ZXIgZmllbGRzIGtleXMgd2lsbCBub3QgYmUgcHJlc2VudCBoZW5jZSBza2lwIHRob3NlIHByb3BlcnRpZXNcblx0XHRjb25zdCBwcm9wZXJ0eUluZm8gPSBwcm9wZXJ0eUhlbHBlci5nZXRQcm9wZXJ0eShmaWx0ZXJLZXkpIGFzIHVua25vd24gYXMgUHJvcGVydHlJbmZvO1xuXHRcdC8vIFRoaXMgbmVlZHMgdG8gYmUgcmV2aWV3ZWQgYmVjYXVzZSB0aGUgZ2V0UHJvcGVydHkgZnVuY3Rpb24gZnJvbSB0aGUgUHJvcGVydHlIZWxwZXIgZG9lcyBub3QgcmV0dXJuIGEgdHlwZUNvbmZpZ1xuXHRcdGxldCB0eXBlQ29uZmlnOiBUeXBlQ29uZmlnIHwgdW5kZWZpbmVkO1xuXHRcdGlmIChwcm9wZXJ0eUluZm8pIHtcblx0XHRcdHR5cGVDb25maWcgPSBwcm9wZXJ0eUluZm8udHlwZUNvbmZpZztcblx0XHR9XG5cdFx0cmV0dXJuIHR5cGVDb25maWc7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENhbGN1bGF0ZSB0aGUgb3B0aW9ucyBmb3IgZGF0ZSByYW5nZSB2YWx1ZXMuXG5cdCAqIEBwYXJhbSBvcGVyYXRvciBPYmplY3QgZm9yIHRoZSBnaXZlbiBvcGVyYXRvciBuYW1lXG5cdCAqIEBwYXJhbSBjb25kaXRpb24gVGhlIFZhbHVlIG9iamVjdCB0aGF0IGlzIHByZXNlbnQgaW4gdGhlIHZhbHVlcyBvZiB0aGUgZmlsdGVyIGNvbmRpdGlvblxuXHQgKiBAcGFyYW0gZmlsdGVyS2V5IE5hbWUgb2YgdGhlIGZpbHRlciBrZXlcblx0ICogQHBhcmFtIHByb3BlcnR5SGVscGVyIFByb3BlcnR5SGVscGVyIG9mIGZpbHRlciBiYXJcblx0ICogQHJldHVybnMgVGhlIHNlbGVjdGlvbk9wdGlvbiBmb3IgZmlsdGVyIGZpZWxkXG5cdCAqL1xuXHRnZXRPcHRpb25Gb3JQcm9wZXJ0eVdpdGhSYW5nZU9wZXJhdG9yOiBmdW5jdGlvbiAoXG5cdFx0b3BlcmF0b3I6IE9wZXJhdG9yLFxuXHRcdGNvbmRpdGlvbjogQ29uZGl0aW9uT2JqZWN0LFxuXHRcdGZpbHRlcktleTogc3RyaW5nLFxuXHRcdHByb3BlcnR5SGVscGVyOiBQcm9wZXJ0eUhlbHBlclxuXHQpOiBTZWxlY3RPcHRpb24gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGZpbHRlck9wdGlvbjogU2VsZWN0T3B0aW9uID0ge1xuXHRcdFx0U2lnbjogXCJJXCIsXG5cdFx0XHRPcHRpb246IFwiXCIsXG5cdFx0XHRMb3c6IFwiXCIsXG5cdFx0XHRIaWdoOiBcIlwiXG5cdFx0fTtcblx0XHRjb25zdCB0eXBlQ29uZmlnID0gc3RhdGVGaWx0ZXJUb1NlbGVjdGlvblZhcmlhbnQuZ2V0VHlwZUluZm9Gb3JGaWx0ZXJQcm9wZXJ0eShmaWx0ZXJLZXksIHByb3BlcnR5SGVscGVyKTtcblxuXHRcdC8vIGhhbmRsaW5nIG9mIERhdGUgUmFuZ2VPcGVyYXRvcnNcblx0XHRjb25zdCBtb2RlbEZpbHRlciA9IG9wZXJhdG9yLmdldE1vZGVsRmlsdGVyKFxuXHRcdFx0Y29uZGl0aW9uLFxuXHRcdFx0ZmlsdGVyS2V5LFxuXHRcdFx0KHR5cGVDb25maWcgPyB0eXBlQ29uZmlnLnR5cGVJbnN0YW5jZSA6IHVuZGVmaW5lZCkgYXMgdW5rbm93biBhcyBUeXBlLFxuXHRcdFx0ZmFsc2UsXG5cdFx0XHR0eXBlQ29uZmlnID8gdHlwZUNvbmZpZy5iYXNlVHlwZSA6IHVuZGVmaW5lZFxuXHRcdCk7XG5cdFx0Y29uc3QgZmlsdGVyczogRmlsdGVyW10gfCB1bmRlZmluZWQgPSBtb2RlbEZpbHRlci5nZXRGaWx0ZXJzKCk7XG5cdFx0aWYgKGZpbHRlcnMgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0ZmlsdGVyT3B0aW9uLlNpZ24gPSBvcGVyYXRvci5leGNsdWRlID8gXCJFXCIgOiBcIklcIjtcblx0XHRcdC8vIEZJWE1FIFRob3NlIGFyZSBwcml2YXRlIG1ldGhvZHMgZnJvbSBNRENcblx0XHRcdGZpbHRlck9wdGlvbi5Mb3cgPSBUeXBlTWFwLmV4dGVybmFsaXplVmFsdWUobW9kZWxGaWx0ZXIuZ2V0VmFsdWUxKCksIHR5cGVDb25maWcgPyB0eXBlQ29uZmlnLnR5cGVJbnN0YW5jZSA6IFwic3RyaW5nXCIpO1xuXHRcdFx0ZmlsdGVyT3B0aW9uLkhpZ2ggPSBUeXBlTWFwLmV4dGVybmFsaXplVmFsdWUobW9kZWxGaWx0ZXIuZ2V0VmFsdWUyKCksIHR5cGVDb25maWcgPyB0eXBlQ29uZmlnLnR5cGVJbnN0YW5jZSA6IFwic3RyaW5nXCIpO1xuXHRcdFx0ZmlsdGVyT3B0aW9uLk9wdGlvbiA9IG1vZGVsRmlsdGVyLmdldE9wZXJhdG9yKCkgPz8gXCJcIjtcblx0XHR9XG5cdFx0cmV0dXJuIGZpbHRlck9wdGlvbi5PcHRpb24gIT0gXCJcIiA/IGZpbHRlck9wdGlvbiA6IHVuZGVmaW5lZDtcblx0fSxcblxuXHQvKipcblx0ICogR2V0IHNpZ24gYW5kIG9wdGlvbiBvZiBzZWxlY3Rpb24gb3B0aW9uLlxuXHQgKiBAcGFyYW0gb3BlcmF0b3IgVGhlIG9wdGlvbiBvZiBzZWxlY3Rpb24gdmFyaWFudFxuXHQgKiBAcGFyYW0gbG93VmFsdWUgVGhlIHNpbmdsZSB2YWx1ZSBvciB0aGUgbG93ZXIgYm91bmRhcnkgb2YgdGhlIGludGVydmFsOyB0aGUgPGNvZGU+bnVsbDwvY29kZT4gdmFsdWUgaXMgbm90IGFsbG93ZWRcblx0ICogQHBhcmFtIGhpZ2hWYWx1ZSBUaGUgSGlnaCB2YWx1ZSBvZiB0aGUgcmFuZ2U7IGlmIHRoaXMgdmFsdWUgaXMgbm90IG5lY2Vzc2FyeSwgPGNvZGU+bnVsbDwvY29kZT4gaXMgdXNlZDwvbGk+XG5cdCAqIEBwYXJhbSBmaWx0ZXJLZXkgVGhlIG5hbWUgb2YgdGhlIGZpbHRlciBmaWVsZFxuXHQgKiBAcmV0dXJucyBUaGUgc2VsZWN0aW9uIHN0YXRlXG5cdCAqL1xuXHRnZXRTZWxlY3RPcHRpb246IGZ1bmN0aW9uIChvcGVyYXRvcjogc3RyaW5nLCBsb3dWYWx1ZTogc3RyaW5nLCBoaWdoVmFsdWU6IHN0cmluZyB8IG51bGwsIGZpbHRlcktleTogc3RyaW5nKTogU2VsZWN0T3B0aW9uIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBzZWxlY3RPcHRpb25TdGF0ZSA9IHtcblx0XHRcdE9wdGlvbjogXCJcIixcblx0XHRcdFNpZ246IFwiSVwiLFxuXHRcdFx0TG93OiBsb3dWYWx1ZSxcblx0XHRcdEhpZ2g6IGhpZ2hWYWx1ZVxuXHRcdH07XG5cdFx0c3dpdGNoIChvcGVyYXRvcikge1xuXHRcdFx0Y2FzZSBcIkNvbnRhaW5zXCI6XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiA9IFwiQ1BcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuTG93ID0gYCoke3NlbGVjdE9wdGlvblN0YXRlLkxvd30qYDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiU3RhcnRzV2l0aFwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkNQXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLkxvdyArPSBcIipcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiRW5kc1dpdGhcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJDUFwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5Mb3cgPSBgKiR7c2VsZWN0T3B0aW9uU3RhdGUuTG93fWA7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkJUXCI6XG5cdFx0XHRjYXNlIFwiTEVcIjpcblx0XHRcdGNhc2UgXCJMVFwiOlxuXHRcdFx0Y2FzZSBcIkdUXCI6XG5cdFx0XHRjYXNlIFwiRVFcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gb3BlcmF0b3I7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkRBVEVcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJFUVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJEQVRFUkFOR0VcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJCVFwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJGUk9NXCI6XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiA9IFwiR0VcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiVE9cIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJMRVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJFRVFcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJFUVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJFbXB0eVwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkVRXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLkxvdyA9IFwiXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIk5FXCI6XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLlNpZ24gPSBcIkVcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJFUVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJOb3RDb250YWluc1wiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkNQXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLlNpZ24gPSBcIkVcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuTG93ID0gYCoke3NlbGVjdE9wdGlvblN0YXRlLkxvd30qYDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiTk9UQlRcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJCVFwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5TaWduID0gXCJFXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIk5vdFN0YXJ0c1dpdGhcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJDUFwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5Mb3cgKz0gXCIqXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLlNpZ24gPSBcIkVcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiTm90RW5kc1dpdGhcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJDUFwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5Mb3cgPSBgKiR7c2VsZWN0T3B0aW9uU3RhdGUuTG93fWA7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLlNpZ24gPSBcIkVcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiTm90RW1wdHlcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJFUVwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5Mb3cgPSBcIlwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5TaWduID0gXCJFXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIk5PVExFXCI6XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiA9IFwiTEVcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuU2lnbiA9IFwiRVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJOT1RHRVwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkdFXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLlNpZ24gPSBcIkVcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiTk9UTFRcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJMVFwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5TaWduID0gXCJFXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIk5PVEdUXCI6XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiA9IFwiR1RcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuU2lnbiA9IFwiRVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdExvZy53YXJuaW5nKGAke29wZXJhdG9yfSBpcyBub3Qgc3VwcG9ydGVkLiAke2ZpbHRlcktleX0gY291bGQgbm90IGJlIGFkZGVkIHRvIHRoZSBTZWxlY3Rpb24gdmFyaWFudGApO1xuXHRcdH1cblxuXHRcdGlmIChzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gIT09IFwiQlRcIikge1xuXHRcdFx0Ly8gQ2xlYW51cCB0byBhdm9pZCBleGNlcHRpb25zXG5cdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5IaWdoID0gbnVsbDtcblx0XHR9XG5cdFx0cmV0dXJuIHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiAhPT0gXCJcIiA/IHNlbGVjdE9wdGlvblN0YXRlIDogdW5kZWZpbmVkO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBDcmVhdGUgdGhlIHNlbWFudGljIGRhdGVzIGZyb20gZmlsdGVyIGNvbmRpdGlvbnMuXG5cdCAqIEBwYXJhbSBjb25kaXRpb24gRmlsdGVyIGZpZWxkIGNvbmRpdGlvblxuXHQgKiBAcmV0dXJucyBUaGUgU2VtYW50aWMgZGF0ZSBjb25kaXRpb25zXG5cdCAqL1xuXHRjcmVhdGVTZW1hbnRpY0RhdGVzRnJvbUNvbmRpdGlvbnM6IGZ1bmN0aW9uIChjb25kaXRpb246IENvbmRpdGlvbk9iamVjdCk6IFNlbWFudGljRGF0ZUNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQge1xuXHRcdGlmICghaXNFbXB0eU9iamVjdChjb25kaXRpb24pKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRoaWdoOiBjb25kaXRpb24udmFsdWVzWzBdICE9PSB1bmRlZmluZWQgJiYgY29uZGl0aW9uLnZhbHVlc1swXSAhPT0gbnVsbCA/IChjb25kaXRpb24udmFsdWVzWzBdIGFzIHN0cmluZykgOiBudWxsLFxuXHRcdFx0XHRsb3c6IGNvbmRpdGlvbi52YWx1ZXNbMV0gIT09IHVuZGVmaW5lZCAmJiBjb25kaXRpb24udmFsdWVzWzFdICE9PSBudWxsID8gKGNvbmRpdGlvbi52YWx1ZXNbMV0gYXMgc3RyaW5nKSA6IG51bGwsXG5cdFx0XHRcdG9wZXJhdG9yOiBjb25kaXRpb24ub3BlcmF0b3Jcblx0XHRcdH07XG5cdFx0fVxuXHR9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBzdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztFQWdCQSxNQUFNQSw2QkFBNkIsR0FBRztJQUNyQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNDQyxpQ0FBaUMsRUFBRSxTQUFBQSxDQUNsQ0MsZ0JBQStELEVBQy9EQyxjQUE4QixFQUM5QkMsTUFBaUIsRUFDRTtNQUNuQixNQUFNQyxnQkFBZ0IsR0FBRyxJQUFJQyxnQkFBZ0IsQ0FBQyxDQUFDO01BQy9DLElBQUksQ0FBQ0MsYUFBYSxDQUFDTCxnQkFBZ0IsQ0FBQyxFQUFFO1FBQ3JDLEtBQUssTUFBTU0sU0FBUyxJQUFJTixnQkFBZ0IsRUFBRTtVQUN6QyxNQUFNTyxvQkFBb0IsR0FBR1AsZ0JBQWdCLENBQUNNLFNBQVMsQ0FBQztVQUN4RCxJQUFJQyxvQkFBb0IsRUFBRUMsTUFBTSxFQUFFO1lBQ2pDLE1BQU1DLGFBQWEsR0FBR1gsNkJBQTZCLENBQUNZLGdDQUFnQyxDQUNuRkgsb0JBQW9CLEVBQ3BCRCxTQUFTLEVBQ1RMLGNBQ0QsQ0FBQztZQUNELElBQUlRLGFBQWEsQ0FBQ0QsTUFBTSxFQUFFO2NBQ3pCLE1BQU1HLGtCQUFrQixHQUFHTCxTQUFTLENBQUNNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO2NBQzFEO2NBQ0EsSUFBSVYsTUFBTSxFQUFFVyxRQUFRLENBQUNQLFNBQVMsQ0FBQyxFQUFFO2dCQUNoQztnQkFDQUgsZ0JBQWdCLENBQUNXLG1CQUFtQixDQUFDLGNBQWNILGtCQUFrQixFQUFFLEVB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
307
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudCIsImdldFNlbGVjdGlvblZhcmlhbnRGcm9tQ29uZGl0aW9ucyIsImZpbHRlckNvbmRpdGlvbnMiLCJwcm9wZXJ0eUhlbHBlciIsInBhcmFtcyIsInNlbGVjdGlvblZhcmlhbnQiLCJTZWxlY3Rpb25WYXJpYW50IiwiaXNFbXB0eU9iamVjdCIsImZpbHRlcktleSIsImZpbHRlckZpZWxkQ29uZGl0aW9uIiwibGVuZ3RoIiwic2VsZWN0T3B0aW9ucyIsImdldFNlbGVjdGlvbk9wdGlvbnNGcm9tQ29uZGl0aW9uIiwic2FuaXRpemVkRmlsdGVyS2V5IiwicmVwbGFjZSIsImluY2x1ZGVzIiwibWFzc0FkZFNlbGVjdE9wdGlvbiIsImNvbXBhcmVTZWxlY3RPcHRpb25zIiwib3B0aW9uczEiLCJvcHRpb25zMiIsIk9wdGlvbiIsIlNpZ24iLCJMb3ciLCJIaWdoIiwibWVyZ2VTZWxlY3Rpb25WYXJpYW50cyIsInNlbGVjdGlvblZhcmlhbnQxIiwic2VsZWN0aW9uVmFyaWFudDIiLCJtZXJnZWRTViIsInRvSlNPTlN0cmluZyIsInByb3BlcnR5TmFtZXMiLCJnZXRTZWxlY3RPcHRpb25zUHJvcGVydHlOYW1lcyIsImFkZGVkUHJvcGVydGllcyIsInByb3BOYW1lIiwiY29udHJvbE9wdGlvbnMiLCJnZXRTZWxlY3RPcHRpb24iLCJtZXJnZWRPcHRpb25zIiwicHVzaCIsImNvbnRyb2xPcHRpb24iLCJzb21lIiwibWVyZ2VkT3B0aW9uIiwic3RhdGVGaWx0ZXJzIiwiY29uZGl0aW9uIiwic2VsZWN0T3B0aW9uIiwiZ2V0U2VsZWN0aW9uT3B0aW9uIiwic2VtYW50aWNEYXRlcyIsImZpbHRlck9wdGlvbiIsIm9wZXJhdG9yIiwiRmlsdGVyT3BlcmF0b3JVdGlsIiwiZ2V0T3BlcmF0b3IiLCJ1bmRlZmluZWQiLCJSYW5nZU9wZXJhdG9yIiwiY3JlYXRlU2VtYW50aWNEYXRlc0Zyb21Db25kaXRpb25zIiwiZ2V0T3B0aW9uRm9yUHJvcGVydHlXaXRoUmFuZ2VPcGVyYXRvciIsInNlbWFudGljRGF0ZU9wc0V4dCIsIlNlbWFudGljRGF0ZU9wZXJhdG9ycyIsImdldFNlbWFudGljRGF0ZU9wZXJhdGlvbnMiLCJnZXRTZWxlY3Rpb25Gb3JtYXRGb3JOb25SYW5nZU9wZXJhdG9yIiwiU2VtYW50aWNEYXRlcyIsImxvd1ZhbHVlIiwiaGlnaFZhbHVlIiwidmFsdWVzIiwidG9TdHJpbmciLCJnZXRUeXBlSW5mb0ZvckZpbHRlclByb3BlcnR5IiwicHJvcGVydHlJbmZvIiwiZ2V0UHJvcGVydHkiLCJ0eXBlQ29uZmlnIiwibW9kZWxGaWx0ZXIiLCJnZXRNb2RlbEZpbHRlciIsInR5cGVJbnN0YW5jZSIsImJhc2VUeXBlIiwiZmlsdGVycyIsImdldEZpbHRlcnMiLCJleGNsdWRlIiwiVHlwZU1hcCIsImV4dGVybmFsaXplVmFsdWUiLCJnZXRWYWx1ZTEiLCJnZXRWYWx1ZTIiLCJzZWxlY3RPcHRpb25TdGF0ZSIsIkxvZyIsIndhcm5pbmciLCJoaWdoIiwibG93Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJTdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBpc0VtcHR5T2JqZWN0IGZyb20gXCJzYXAvYmFzZS91dGlsL2lzRW1wdHlPYmplY3RcIjtcbmltcG9ydCBTZW1hbnRpY0RhdGVPcGVyYXRvcnMgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyQmFyL1NlbWFudGljRGF0ZU9wZXJhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eUluZm8gfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC9Qcm9wZXJ0eUluZm9cIjtcbmltcG9ydCB0eXBlIHsgU2VsZWN0T3B0aW9uLCBTZW1hbnRpY0RhdGVDb25maWd1cmF0aW9uIH0gZnJvbSBcInNhcC9mZS9uYXZpZ2F0aW9uL1NlbGVjdGlvblZhcmlhbnRcIjtcbmltcG9ydCBTZWxlY3Rpb25WYXJpYW50IGZyb20gXCJzYXAvZmUvbmF2aWdhdGlvbi9TZWxlY3Rpb25WYXJpYW50XCI7XG5pbXBvcnQgdHlwZSBUeXBlQ29uZmlnIGZyb20gXCJzYXAvdWkvbWRjL1R5cGVDb25maWdcIjtcbmltcG9ydCB0eXBlIHsgQ29uZGl0aW9uT2JqZWN0IH0gZnJvbSBcInNhcC91aS9tZGMvY29uZGl0aW9uL0NvbmRpdGlvblwiO1xuaW1wb3J0IEZpbHRlck9wZXJhdG9yVXRpbCBmcm9tIFwic2FwL3VpL21kYy9jb25kaXRpb24vRmlsdGVyT3BlcmF0b3JVdGlsXCI7XG5pbXBvcnQgdHlwZSBPcGVyYXRvciBmcm9tIFwic2FwL3VpL21kYy9jb25kaXRpb24vT3BlcmF0b3JcIjtcbmltcG9ydCBSYW5nZU9wZXJhdG9yIGZyb20gXCJzYXAvdWkvbWRjL2NvbmRpdGlvbi9SYW5nZU9wZXJhdG9yXCI7XG5pbXBvcnQgVHlwZU1hcCBmcm9tIFwic2FwL3VpL21kYy9vZGF0YS92NC9UeXBlTWFwXCI7XG5pbXBvcnQgdHlwZSBQcm9wZXJ0eUhlbHBlciBmcm9tIFwic2FwL3VpL21kYy91dGlsL1Byb3BlcnR5SGVscGVyXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXIgZnJvbSBcInNhcC91aS9tb2RlbC9GaWx0ZXJcIjtcbmltcG9ydCB0eXBlIFR5cGUgZnJvbSBcInNhcC91aS9tb2RlbC9UeXBlXCI7XG5cbmNvbnN0IHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50ID0ge1xuXHQvKipcblx0ICogR2V0IHNlbGVjdGlvbiB2YXJpYW50IGJhc2VkIG9uIHRoZSBmaWx0ZXIgY29uZGl0aW9ucy5cblx0ICogQHBhcmFtIGZpbHRlckNvbmRpdGlvbnMgQ29uZmlndXJlIHRoZSBmaWx0ZXIgYmFyIGNvbnRyb2xcblx0ICogQHBhcmFtIHByb3BlcnR5SGVscGVyIFByb3BlcnR5SGVscGVyIG9mIHRoZSBmaWx0ZXIgYmFyXG5cdCAqIEBwYXJhbSBwYXJhbXMgUGFyYW1ldGVycyBvZiBwYXJhbWV0cml6ZWQgc2VydmljZXNcblx0ICogQHJldHVybnMgVGhlIGZpbHRlciBjb25kaXRpb25zIGFyZSBjb252ZXJ0ZWQgdG8gdGhlIHNlbGVjdGlvbiB2YXJpYW50IGFuZCByZXR1cm5lZFxuXHQgKi9cblx0Z2V0U2VsZWN0aW9uVmFyaWFudEZyb21Db25kaXRpb25zOiBmdW5jdGlvbiAoXG5cdFx0ZmlsdGVyQ29uZGl0aW9uczogUmVjb3JkPHN0cmluZywgQ29uZGl0aW9uT2JqZWN0W10gfCB1bmRlZmluZWQ+LFxuXHRcdHByb3BlcnR5SGVscGVyOiBQcm9wZXJ0eUhlbHBlcixcblx0XHRwYXJhbXM/OiBzdHJpbmdbXVxuXHQpOiBTZWxlY3Rpb25WYXJpYW50IHtcblx0XHRjb25zdCBzZWxlY3Rpb25WYXJpYW50ID0gbmV3IFNlbGVjdGlvblZhcmlhbnQoKTtcblx0XHRpZiAoIWlzRW1wdHlPYmplY3QoZmlsdGVyQ29uZGl0aW9ucykpIHtcblx0XHRcdGZvciAoY29uc3QgZmlsdGVyS2V5IGluIGZpbHRlckNvbmRpdGlvbnMpIHtcblx0XHRcdFx0Y29uc3QgZmlsdGVyRmllbGRDb25kaXRpb24gPSBmaWx0ZXJDb25kaXRpb25zW2ZpbHRlcktleV07XG5cdFx0XHRcdGlmIChmaWx0ZXJGaWVsZENvbmRpdGlvbj8ubGVuZ3RoKSB7XG5cdFx0XHRcdFx0Y29uc3Qgc2VsZWN0T3B0aW9ucyA9IHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50LmdldFNlbGVjdGlvbk9wdGlvbnNGcm9tQ29uZGl0aW9uKFxuXHRcdFx0XHRcdFx0ZmlsdGVyRmllbGRDb25kaXRpb24sXG5cdFx0XHRcdFx0XHRmaWx0ZXJLZXksXG5cdFx0XHRcdFx0XHRwcm9wZXJ0eUhlbHBlclxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0aWYgKHNlbGVjdE9wdGlvbnMubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBzYW5pdGl6ZWRGaWx0ZXJLZXkgPSBmaWx0ZXJLZXkucmVwbGFjZSgvXFwqXFwvL2csIFwiLlwiKTtcblx0XHRcdFx0XHRcdC8vIGdldCBwYXJhbWV0ZXJzIGZyb20gZmlsdGVyIGJhclxuXHRcdFx0XHRcdFx0aWYgKHBhcmFtcz8uaW5jbHVkZXMoZmlsdGVyS2V5KSkge1xuXHRcdFx0XHRcdFx0XHQvLyB0cnlpbmcgdG8gZ2VuZXJhdGUgcHJvcGVydGllcyBsaWtlICRQYXJhbWV0ZXIuQ29tcGFueUNvZGUgaWYgQ29tcGFueUNvZGUgaXMgYSBwYXJhbWV0ZXJcblx0XHRcdFx0XHRcdFx0c2VsZWN0aW9uVmFyaWFudC5tYXNzQWRkU2VsZWN0T3B0aW9uKGAkUGFyYW1ldGVyLiR7c2FuaXRpemVkRmlsdGVyS2V5fWAsIHNlbGVjdE9wdGlvbnMpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0c2VsZWN0aW9uVmFyaWFudC5tYXNzQWRkU2VsZWN0T3B0aW9uKHNhbml0aXplZEZpbHRlcktleSwgc2VsZWN0T3B0aW9ucyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBzZWxlY3Rpb25WYXJpYW50O1xuXHR9LFxuXHQvKipcblx0ICogQ29tcGFyZSB0d28gU2VsZWN0T3B0aW9uIG9iamVjdHMgYW5kIGNoZWNrIGlmIHRoZXkgYXJlIGVxdWFsLlxuXHQgKiBAcGFyYW0gb3B0aW9uczEgVGhlIGZpcnN0IFNlbGVjdE9wdGlvbiBvYmplY3Rcblx0ICogQHBhcmFtIG9wdGlvbnMyIFRoZSBzZWNvbmQgU2VsZWN0T3B0aW9uIG9iamVjdFxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBvYmplY3RzIGFyZSBlcXVhbCwgZmFsc2Ugb3RoZXJ3aXNlXG5cdCAqL1xuXHRjb21wYXJlU2VsZWN0T3B0aW9uczogZnVuY3Rpb24gKG9wdGlvbnMxOiBTZWxlY3RPcHRpb24sIG9wdGlvbnMyOiBTZWxlY3RPcHRpb24pOiBib29sZWFuIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0b3B0aW9uczEuT3B0aW9uID09PSBvcHRpb25zMi5PcHRpb24gJiZcblx0XHRcdG9wdGlvbnMxLlNpZ24gPT09IG9wdGlvbnMyLlNpZ24gJiZcblx0XHRcdG9wdGlvbnMxLkxvdyA9PT0gb3B0aW9uczIuTG93ICYmXG5cdFx0XHRvcHRpb25zMS5IaWdoID09PSBvcHRpb25zMi5IaWdoXG5cdFx0KTtcblx0fSxcblxuXHQvKipcblx0ICogTWVyZ2UgdHdvIHNlbGVjdGlvbiB2YXJpYW50cy5cblx0ICogQHBhcmFtIHNlbGVjdGlvblZhcmlhbnQxIFRoZSBmaXJzdCBzZWxlY3Rpb25WYXJpYW50MSBvYmplY3Rcblx0ICogQHBhcmFtIHNlbGVjdGlvblZhcmlhbnQyIFRoZSBzZWNvbmQgc2VsZWN0aW9uVmFyaWFudCBvYmplY3Rcblx0ICogQHJldHVybnMgVGhlIG1lcmdlZCBzZWxlY3Rpb25WYXJpYW50XG5cdCAqL1xuXHRtZXJnZVNlbGVjdGlvblZhcmlhbnRzOiBmdW5jdGlvbiAoc2VsZWN0aW9uVmFyaWFudDE6IFNlbGVjdGlvblZhcmlhbnQsIHNlbGVjdGlvblZhcmlhbnQyOiBTZWxlY3Rpb25WYXJpYW50KTogU2VsZWN0aW9uVmFyaWFudCB7XG5cdFx0Ly8gQ3JlYXRlIGEgbmV3IFNlbGVjdGlvblZhcmlhbnQgZm9yIHRoZSBtZXJnZWQgcmVzdWx0LCBpbml0aWFsbHkgYSBjbG9uZSBvZiBTZWxlY3Rpb25WYXJpYW50MVxuXHRcdGNvbnN0IG1lcmdlZFNWID0gbmV3IFNlbGVjdGlvblZhcmlhbnQoc2VsZWN0aW9uVmFyaWFudDEudG9KU09OU3RyaW5nKCkpO1xuXG5cdFx0Ly8gR2V0IHRoZSBwcm9wZXJ0eSBuYW1lcyBmcm9tIFNlbGVjdGlvblZhcmlhbnQyXG5cdFx0Y29uc3QgcHJvcGVydHlOYW1lcyA9IHNlbGVjdGlvblZhcmlhbnQyLmdldFNlbGVjdE9wdGlvbnNQcm9wZXJ0eU5hbWVzKCk7XG5cblx0XHQvLyBLZWVwIHRyYWNrIG9mIGFkZGVkIHByb3BlcnRpZXNcblx0XHRjb25zdCBhZGRlZFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW107XG5cblx0XHQvLyBMb29wIHRocm91Z2ggZWFjaCBwcm9wZXJ0eSBpbiBTZWxlY3Rpb25WYXJpYW50MlxuXHRcdGZvciAoY29uc3QgcHJvcE5hbWUgb2YgcHJvcGVydHlOYW1lcykge1xuXHRcdFx0Y29uc3QgY29udHJvbE9wdGlvbnMgPSBzZWxlY3Rpb25WYXJpYW50Mi5nZXRTZWxlY3RPcHRpb24ocHJvcE5hbWUpIHx8IFtdO1xuXHRcdFx0Y29uc3QgbWVyZ2VkT3B0aW9ucyA9IG1lcmdlZFNWLmdldFNlbGVjdE9wdGlvbihwcm9wTmFtZSkgfHwgW107XG5cblx0XHRcdC8vIENoZWNrIGlmIHRoZSBwcm9wZXJ0eSBhbHJlYWR5IGV4aXN0cyBpbiBTZWxlY3Rpb25WYXJpYW50MVxuXHRcdFx0aWYgKCFhZGRlZFByb3BlcnRpZXMuaW5jbHVkZXMocHJvcE5hbWUpKSB7XG5cdFx0XHRcdC8vIElmIG5vdCwgYWRkIHRoZSBlbnRpcmUgcHJvcGVydHkgZnJvbSBTZWxlY3Rpb25WYXJpYW50MlxuXHRcdFx0XHRtZXJnZWRTVi5tYXNzQWRkU2VsZWN0T3B0aW9uKHByb3BOYW1lLCBjb250cm9sT3B0aW9ucyk7XG5cdFx0XHRcdGFkZGVkUHJvcGVydGllcy5wdXNoKHByb3BOYW1lKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIElmIGl0IGV4aXN0cyBpbiBTZWxlY3Rpb25WYXJpYW50MSwgb25seSBhZGQgdGhlIG9wdGlvbnMgdGhhdCBhcmUgbm90IGFscmVhZHkgcHJlc2VudFxuXHRcdFx0XHRmb3IgKGNvbnN0IGNvbnRyb2xPcHRpb24gb2YgY29udHJvbE9wdGlvbnMpIHtcblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHQhbWVyZ2VkT3B0aW9ucy5zb21lKChtZXJnZWRPcHRpb24pID0+XG5cdFx0XHRcdFx0XHRcdHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50LmNvbXBhcmVTZWxlY3RPcHRpb25zKG1lcmdlZE9wdGlvbiwgY29udHJvbE9wdGlvbilcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpIHtcblx0XHRcdFx0XHRcdG1lcmdlZE9wdGlvbnMucHVzaChjb250cm9sT3B0aW9uKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0bWVyZ2VkU1YubWFzc0FkZFNlbGVjdE9wdGlvbihwcm9wTmFtZSwgbWVyZ2VkT3B0aW9ucyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIG1lcmdlZFNWO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBNZXRob2QgdG8gYWRkIHRoZSBmaWx0ZXIgY29uZGl0aW9ucyB0byBzZWxlY3Rpb24gdmFyaWFudC5cblx0ICogQHBhcmFtIHN0YXRlRmlsdGVycyBSZXRyaWV2ZWQgZmlsdGVyIGNvbmRpdGlvbiBmb3IgYSBmaWx0ZXIgZmllbGQgZnJvbSBTdGF0ZVV0aWxzXG5cdCAqIEBwYXJhbSBmaWx0ZXJLZXkgTmFtZSBvZiB0aGUgZmlsdGVyIGtleVxuXHQgKiBAcGFyYW0gcHJvcGVydHlIZWxwZXIgUHJvcGVydHlIZWxwZXIgb2YgdGhlIGZpbHRlciBiYXJcblx0ICogQHJldHVybnMgVGhlIHNlbGVjdGlvbiBvcHRpb24gYXJyYXkgZm9yIGEgcGFydGljdWxhciBmaWx0ZXIga2V5XG5cdCAqL1xuXHRnZXRTZWxlY3Rpb25PcHRpb25zRnJvbUNvbmRpdGlvbjogZnVuY3Rpb24gKFxuXHRcdHN0YXRlRmlsdGVyczogQ29uZGl0aW9uT2JqZWN0W10sXG5cdFx0ZmlsdGVyS2V5OiBzdHJpbmcsXG5cdFx0cHJvcGVydHlIZWxwZXI6IFByb3BlcnR5SGVscGVyXG5cdCk6IFNlbGVjdE9wdGlvbltdIHtcblx0XHRjb25zdCBzZWxlY3RPcHRpb25zOiBTZWxlY3RPcHRpb25bXSA9IFtdO1xuXHRcdGZvciAoY29uc3QgY29uZGl0aW9uIG9mIHN0YXRlRmlsdGVycykge1xuXHRcdFx0Y29uc3Qgc2VsZWN0T3B0aW9uID0gc3RhdGVGaWx0ZXJUb1NlbGVjdGlvblZhcmlhbnQuZ2V0U2VsZWN0aW9uT3B0aW9uKGNvbmRpdGlvbiwgZmlsdGVyS2V5LCBwcm9wZXJ0eUhlbHBlcik7XG5cdFx0XHRpZiAoc2VsZWN0T3B0aW9uKSB7XG5cdFx0XHRcdHNlbGVjdE9wdGlvbnMucHVzaChzZWxlY3RPcHRpb24pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gc2VsZWN0T3B0aW9ucztcblx0fSxcblx0LyoqXG5cdCAqIENhbGN1bGF0ZSB0aGUgZmlsdGVyIG9wdGlvbiBmb3IgZWFjaCB2YWx1ZS5cblx0ICogQHBhcmFtIGNvbmRpdGlvblxuXHQgKiBAcGFyYW0gZmlsdGVyS2V5IE5hbWUgb2YgdGhlIGZpbHRlciBrZXlcblx0ICogQHBhcmFtIHByb3BlcnR5SGVscGVyIFByb3BlcnR5SGVscGVyIG9mIHRoZSBmaWx0ZXIgYmFyXG5cdCAqIEByZXR1cm5zIFRoZSBwcm9taXNlIG9mIHRoZSBTZWxlY3Qgb3B0aW9uXG5cdCAqL1xuXHRnZXRTZWxlY3Rpb25PcHRpb246IGZ1bmN0aW9uIChjb25kaXRpb246IENvbmRpdGlvbk9iamVjdCwgZmlsdGVyS2V5OiBzdHJpbmcsIHByb3BlcnR5SGVscGVyOiBQcm9wZXJ0eUhlbHBlcik6IFNlbGVjdE9wdGlvbiB8IHVuZGVmaW5lZCB7XG5cdFx0bGV0IHNlbWFudGljRGF0ZXM6IFNlbWFudGljRGF0ZUNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQ7XG5cdFx0bGV0IGZpbHRlck9wdGlvbjogU2VsZWN0T3B0aW9uIHwgdW5kZWZpbmVkO1xuXHRcdGNvbnN0IG9wZXJhdG9yID0gY29uZGl0aW9uLm9wZXJhdG9yICYmIGNvbmRpdGlvbi5vcGVyYXRvciAhPT0gXCJcIiA/IEZpbHRlck9wZXJhdG9yVXRpbC5nZXRPcGVyYXRvcihjb25kaXRpb24ub3BlcmF0b3IpIDogdW5kZWZpbmVkO1xuXHRcdGlmIChvcGVyYXRvciBpbnN0YW5jZW9mIFJhbmdlT3BlcmF0b3IpIHtcblx0XHRcdHNlbWFudGljRGF0ZXMgPSBzdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudC5jcmVhdGVTZW1hbnRpY0RhdGVzRnJvbUNvbmRpdGlvbnMoY29uZGl0aW9uKTtcblx0XHRcdGZpbHRlck9wdGlvbiA9IHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50LmdldE9wdGlvbkZvclByb3BlcnR5V2l0aFJhbmdlT3BlcmF0b3IoXG5cdFx0XHRcdG9wZXJhdG9yLFxuXHRcdFx0XHRjb25kaXRpb24sXG5cdFx0XHRcdGZpbHRlcktleSxcblx0XHRcdFx0cHJvcGVydHlIZWxwZXJcblx0XHRcdCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IHNlbWFudGljRGF0ZU9wc0V4dCA9IFNlbWFudGljRGF0ZU9wZXJhdG9ycy5nZXRTZW1hbnRpY0RhdGVPcGVyYXRpb25zKCk7XG5cdFx0XHRpZiAoc2VtYW50aWNEYXRlT3BzRXh0LmluY2x1ZGVzKGNvbmRpdGlvbi5vcGVyYXRvcikpIHtcblx0XHRcdFx0c2VtYW50aWNEYXRlcyA9IHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50LmNyZWF0ZVNlbWFudGljRGF0ZXNGcm9tQ29uZGl0aW9ucyhjb25kaXRpb24pO1xuXHRcdFx0fVxuXHRcdFx0ZmlsdGVyT3B0aW9uID0gc3RhdGVGaWx0ZXJUb1NlbGVjdGlvblZhcmlhbnQuZ2V0U2VsZWN0aW9uRm9ybWF0Rm9yTm9uUmFuZ2VPcGVyYXRvcihjb25kaXRpb24sIGZpbHRlcktleSk7XG5cdFx0fVxuXHRcdGlmIChmaWx0ZXJPcHRpb24/Lk9wdGlvbikge1xuXHRcdFx0ZmlsdGVyT3B0aW9uLlNlbWFudGljRGF0ZXMgPSBzZW1hbnRpY0RhdGVzID8gc2VtYW50aWNEYXRlcyA6IHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0cmV0dXJuIGZpbHRlck9wdGlvbjtcblx0fSxcblx0LyoqXG5cdCAqIENhbGN1bGF0ZSB0aGUgZmlsdGVyIGNvbmRpdGlvbnMgZm9yIHRoZSBTZWxlY3Qgb3B0aW9uLlxuXHQgKiBAcGFyYW0gY29uZGl0aW9uIENvbmRpdGlvbiBvYmplY3Rcblx0ICogQHBhcmFtIGZpbHRlcktleSBOYW1lIG9mIHRoZSBmaWx0ZXIga2V5XG5cdCAqIEByZXR1cm5zIFRoZSBTZWxlY3QgT3B0aW9uIG9iamVjdCBvciB1bmRlZmluZWRcblx0ICovXG5cdGdldFNlbGVjdGlvbkZvcm1hdEZvck5vblJhbmdlT3BlcmF0b3I6IGZ1bmN0aW9uIChjb25kaXRpb246IENvbmRpdGlvbk9iamVjdCwgZmlsdGVyS2V5OiBzdHJpbmcpOiBTZWxlY3RPcHRpb24gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IFtsb3dWYWx1ZSwgaGlnaFZhbHVlXSA9IGNvbmRpdGlvbi52YWx1ZXMgYXMgKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkKVtdO1xuXHRcdHJldHVybiBzdGF0ZUZpbHRlclRvU2VsZWN0aW9uVmFyaWFudC5nZXRTZWxlY3RPcHRpb24oXG5cdFx0XHRjb25kaXRpb24ub3BlcmF0b3IsXG5cdFx0XHRsb3dWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIGxvd1ZhbHVlICE9PSBudWxsID8gbG93VmFsdWUudG9TdHJpbmcoKSA6IFwiXCIsXG5cdFx0XHRoaWdoVmFsdWUgIT09IHVuZGVmaW5lZCAmJiBoaWdoVmFsdWUgIT09IG51bGwgPyBoaWdoVmFsdWUudG9TdHJpbmcoKSA6IG51bGwsXG5cdFx0XHRmaWx0ZXJLZXlcblx0XHQpO1xuXHR9LFxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIHR5cGUtc3BlY2lmaWMgaW5mb3JtYXRpb24gZm9yIHRoZSBmaWx0ZXIgZmllbGQuXG5cdCAqIEBwYXJhbSBmaWx0ZXJLZXkgTmFtZSBvZiB0aGUgZmlsdGVyIGtleVxuXHQgKiBAcGFyYW0gcHJvcGVydHlIZWxwZXIgUHJvcGVydHlIZWxwZXIgYW5kIGZpbHRlciBkZWxlZ2F0ZSBjb250cm9sbGVyIG9mIGZpbHRlciBiYXJcblx0ICogQHJldHVybnMgVGhlIG9iamVjdCB3aXRoIHR5cGVDb25maWcgdmFsdWVcblx0ICovXG5cdGdldFR5cGVJbmZvRm9yRmlsdGVyUHJvcGVydHk6IGZ1bmN0aW9uIChmaWx0ZXJLZXk6IHN0cmluZywgcHJvcGVydHlIZWxwZXI6IFByb3BlcnR5SGVscGVyKTogVHlwZUNvbmZpZyB8IHVuZGVmaW5lZCB7XG5cdFx0Ly8gZm9yIGZldyBmaWx0ZXIgZmllbGRzIGtleXMgd2lsbCBub3QgYmUgcHJlc2VudCBoZW5jZSBza2lwIHRob3NlIHByb3BlcnRpZXNcblx0XHRjb25zdCBwcm9wZXJ0eUluZm8gPSBwcm9wZXJ0eUhlbHBlci5nZXRQcm9wZXJ0eShmaWx0ZXJLZXkpIGFzIHVua25vd24gYXMgUHJvcGVydHlJbmZvO1xuXHRcdC8vIFRoaXMgbmVlZHMgdG8gYmUgcmV2aWV3ZWQgYmVjYXVzZSB0aGUgZ2V0UHJvcGVydHkgZnVuY3Rpb24gZnJvbSB0aGUgUHJvcGVydHlIZWxwZXIgZG9lcyBub3QgcmV0dXJuIGEgdHlwZUNvbmZpZ1xuXHRcdGxldCB0eXBlQ29uZmlnOiBUeXBlQ29uZmlnIHwgdW5kZWZpbmVkO1xuXHRcdGlmIChwcm9wZXJ0eUluZm8pIHtcblx0XHRcdHR5cGVDb25maWcgPSBwcm9wZXJ0eUluZm8udHlwZUNvbmZpZztcblx0XHR9XG5cdFx0cmV0dXJuIHR5cGVDb25maWc7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENhbGN1bGF0ZSB0aGUgb3B0aW9ucyBmb3IgZGF0ZSByYW5nZSB2YWx1ZXMuXG5cdCAqIEBwYXJhbSBvcGVyYXRvciBPYmplY3QgZm9yIHRoZSBnaXZlbiBvcGVyYXRvciBuYW1lXG5cdCAqIEBwYXJhbSBjb25kaXRpb24gVGhlIFZhbHVlIG9iamVjdCB0aGF0IGlzIHByZXNlbnQgaW4gdGhlIHZhbHVlcyBvZiB0aGUgZmlsdGVyIGNvbmRpdGlvblxuXHQgKiBAcGFyYW0gZmlsdGVyS2V5IE5hbWUgb2YgdGhlIGZpbHRlciBrZXlcblx0ICogQHBhcmFtIHByb3BlcnR5SGVscGVyIFByb3BlcnR5SGVscGVyIG9mIGZpbHRlciBiYXJcblx0ICogQHJldHVybnMgVGhlIHNlbGVjdGlvbk9wdGlvbiBmb3IgZmlsdGVyIGZpZWxkXG5cdCAqL1xuXHRnZXRPcHRpb25Gb3JQcm9wZXJ0eVdpdGhSYW5nZU9wZXJhdG9yOiBmdW5jdGlvbiAoXG5cdFx0b3BlcmF0b3I6IE9wZXJhdG9yLFxuXHRcdGNvbmRpdGlvbjogQ29uZGl0aW9uT2JqZWN0LFxuXHRcdGZpbHRlcktleTogc3RyaW5nLFxuXHRcdHByb3BlcnR5SGVscGVyOiBQcm9wZXJ0eUhlbHBlclxuXHQpOiBTZWxlY3RPcHRpb24gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IGZpbHRlck9wdGlvbjogU2VsZWN0T3B0aW9uID0ge1xuXHRcdFx0U2lnbjogXCJJXCIsXG5cdFx0XHRPcHRpb246IFwiXCIsXG5cdFx0XHRMb3c6IFwiXCIsXG5cdFx0XHRIaWdoOiBcIlwiXG5cdFx0fTtcblx0XHRjb25zdCB0eXBlQ29uZmlnID0gc3RhdGVGaWx0ZXJUb1NlbGVjdGlvblZhcmlhbnQuZ2V0VHlwZUluZm9Gb3JGaWx0ZXJQcm9wZXJ0eShmaWx0ZXJLZXksIHByb3BlcnR5SGVscGVyKTtcblxuXHRcdC8vIGhhbmRsaW5nIG9mIERhdGUgUmFuZ2VPcGVyYXRvcnNcblx0XHRjb25zdCBtb2RlbEZpbHRlciA9IG9wZXJhdG9yLmdldE1vZGVsRmlsdGVyKFxuXHRcdFx0Y29uZGl0aW9uLFxuXHRcdFx0ZmlsdGVyS2V5LFxuXHRcdFx0KHR5cGVDb25maWcgPyB0eXBlQ29uZmlnLnR5cGVJbnN0YW5jZSA6IHVuZGVmaW5lZCkgYXMgdW5rbm93biBhcyBUeXBlLFxuXHRcdFx0ZmFsc2UsXG5cdFx0XHR0eXBlQ29uZmlnID8gdHlwZUNvbmZpZy5iYXNlVHlwZSA6IHVuZGVmaW5lZFxuXHRcdCk7XG5cdFx0Y29uc3QgZmlsdGVyczogRmlsdGVyW10gfCB1bmRlZmluZWQgPSBtb2RlbEZpbHRlci5nZXRGaWx0ZXJzKCk7XG5cdFx0aWYgKGZpbHRlcnMgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0ZmlsdGVyT3B0aW9uLlNpZ24gPSBvcGVyYXRvci5leGNsdWRlID8gXCJFXCIgOiBcIklcIjtcblx0XHRcdC8vIEZJWE1FIFRob3NlIGFyZSBwcml2YXRlIG1ldGhvZHMgZnJvbSBNRENcblx0XHRcdGZpbHRlck9wdGlvbi5Mb3cgPSBUeXBlTWFwLmV4dGVybmFsaXplVmFsdWUobW9kZWxGaWx0ZXIuZ2V0VmFsdWUxKCksIHR5cGVDb25maWcgPyB0eXBlQ29uZmlnLnR5cGVJbnN0YW5jZSA6IFwic3RyaW5nXCIpO1xuXHRcdFx0ZmlsdGVyT3B0aW9uLkhpZ2ggPSBUeXBlTWFwLmV4dGVybmFsaXplVmFsdWUobW9kZWxGaWx0ZXIuZ2V0VmFsdWUyKCksIHR5cGVDb25maWcgPyB0eXBlQ29uZmlnLnR5cGVJbnN0YW5jZSA6IFwic3RyaW5nXCIpO1xuXHRcdFx0ZmlsdGVyT3B0aW9uLk9wdGlvbiA9IG1vZGVsRmlsdGVyLmdldE9wZXJhdG9yKCkgPz8gXCJcIjtcblx0XHR9XG5cdFx0cmV0dXJuIGZpbHRlck9wdGlvbi5PcHRpb24gIT0gXCJcIiA/IGZpbHRlck9wdGlvbiA6IHVuZGVmaW5lZDtcblx0fSxcblxuXHQvKipcblx0ICogR2V0IHNpZ24gYW5kIG9wdGlvbiBvZiBzZWxlY3Rpb24gb3B0aW9uLlxuXHQgKiBAcGFyYW0gb3BlcmF0b3IgVGhlIG9wdGlvbiBvZiBzZWxlY3Rpb24gdmFyaWFudFxuXHQgKiBAcGFyYW0gbG93VmFsdWUgVGhlIHNpbmdsZSB2YWx1ZSBvciB0aGUgbG93ZXIgYm91bmRhcnkgb2YgdGhlIGludGVydmFsOyB0aGUgPGNvZGU+bnVsbDwvY29kZT4gdmFsdWUgaXMgbm90IGFsbG93ZWRcblx0ICogQHBhcmFtIGhpZ2hWYWx1ZSBUaGUgSGlnaCB2YWx1ZSBvZiB0aGUgcmFuZ2U7IGlmIHRoaXMgdmFsdWUgaXMgbm90IG5lY2Vzc2FyeSwgPGNvZGU+bnVsbDwvY29kZT4gaXMgdXNlZDwvbGk+XG5cdCAqIEBwYXJhbSBmaWx0ZXJLZXkgVGhlIG5hbWUgb2YgdGhlIGZpbHRlciBmaWVsZFxuXHQgKiBAcmV0dXJucyBUaGUgc2VsZWN0aW9uIHN0YXRlXG5cdCAqL1xuXHRnZXRTZWxlY3RPcHRpb246IGZ1bmN0aW9uIChvcGVyYXRvcjogc3RyaW5nLCBsb3dWYWx1ZTogc3RyaW5nLCBoaWdoVmFsdWU6IHN0cmluZyB8IG51bGwsIGZpbHRlcktleTogc3RyaW5nKTogU2VsZWN0T3B0aW9uIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBzZWxlY3RPcHRpb25TdGF0ZSA9IHtcblx0XHRcdE9wdGlvbjogXCJcIixcblx0XHRcdFNpZ246IFwiSVwiLFxuXHRcdFx0TG93OiBsb3dWYWx1ZSxcblx0XHRcdEhpZ2g6IGhpZ2hWYWx1ZVxuXHRcdH07XG5cdFx0c3dpdGNoIChvcGVyYXRvcikge1xuXHRcdFx0Y2FzZSBcIkNvbnRhaW5zXCI6XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiA9IFwiQ1BcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuTG93ID0gYCoke3NlbGVjdE9wdGlvblN0YXRlLkxvd30qYDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiU3RhcnRzV2l0aFwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkNQXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLkxvdyArPSBcIipcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiRW5kc1dpdGhcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJDUFwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5Mb3cgPSBgKiR7c2VsZWN0T3B0aW9uU3RhdGUuTG93fWA7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkJUXCI6XG5cdFx0XHRjYXNlIFwiTEVcIjpcblx0XHRcdGNhc2UgXCJMVFwiOlxuXHRcdFx0Y2FzZSBcIkdUXCI6XG5cdFx0XHRjYXNlIFwiR0VcIjpcblx0XHRcdGNhc2UgXCJFUVwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBvcGVyYXRvcjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiREFURVwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkVRXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkRBVEVSQU5HRVwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkJUXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkZST01cIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJHRVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJUT1wiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkxFXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkVFUVwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkVRXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkVtcHR5XCI6XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiA9IFwiRVFcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuTG93ID0gXCJcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiTkVcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuU2lnbiA9IFwiRVwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkVRXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIk5vdENvbnRhaW5zXCI6XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiA9IFwiQ1BcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuU2lnbiA9IFwiRVwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5Mb3cgPSBgKiR7c2VsZWN0T3B0aW9uU3RhdGUuTG93fSpgO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJOT1RCVFwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkJUXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLlNpZ24gPSBcIkVcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiTm90U3RhcnRzV2l0aFwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkNQXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLkxvdyArPSBcIipcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuU2lnbiA9IFwiRVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJOb3RFbmRzV2l0aFwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkNQXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLkxvdyA9IGAqJHtzZWxlY3RPcHRpb25TdGF0ZS5Mb3d9YDtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuU2lnbiA9IFwiRVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJOb3RFbXB0eVwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkVRXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLkxvdyA9IFwiXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLlNpZ24gPSBcIkVcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiTk9UTEVcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJMRVwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5TaWduID0gXCJFXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIk5PVEdFXCI6XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiA9IFwiR0VcIjtcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuU2lnbiA9IFwiRVwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJOT1RMVFwiOlxuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5PcHRpb24gPSBcIkxUXCI7XG5cdFx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLlNpZ24gPSBcIkVcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiTk9UR1RcIjpcblx0XHRcdFx0c2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uID0gXCJHVFwiO1xuXHRcdFx0XHRzZWxlY3RPcHRpb25TdGF0ZS5TaWduID0gXCJFXCI7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0TG9nLndhcm5pbmcoYCR7b3BlcmF0b3J9IGlzIG5vdCBzdXBwb3J0ZWQuICR7ZmlsdGVyS2V5fSBjb3VsZCBub3QgYmUgYWRkZWQgdG8gdGhlIFNlbGVjdGlvbiB2YXJpYW50YCk7XG5cdFx0fVxuXG5cdFx0aWYgKHNlbGVjdE9wdGlvblN0YXRlLk9wdGlvbiAhPT0gXCJCVFwiKSB7XG5cdFx0XHQvLyBDbGVhbnVwIHRvIGF2b2lkIGV4Y2VwdGlvbnNcblx0XHRcdHNlbGVjdE9wdGlvblN0YXRlLkhpZ2ggPSBudWxsO1xuXHRcdH1cblx0XHRyZXR1cm4gc2VsZWN0T3B0aW9uU3RhdGUuT3B0aW9uICE9PSBcIlwiID8gc2VsZWN0T3B0aW9uU3RhdGUgOiB1bmRlZmluZWQ7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENyZWF0ZSB0aGUgc2VtYW50aWMgZGF0ZXMgZnJvbSBmaWx0ZXIgY29uZGl0aW9ucy5cblx0ICogQHBhcmFtIGNvbmRpdGlvbiBGaWx0ZXIgZmllbGQgY29uZGl0aW9uXG5cdCAqIEByZXR1cm5zIFRoZSBTZW1hbnRpYyBkYXRlIGNvbmRpdGlvbnNcblx0ICovXG5cdGNyZWF0ZVNlbWFudGljRGF0ZXNGcm9tQ29uZGl0aW9uczogZnVuY3Rpb24gKGNvbmRpdGlvbjogQ29uZGl0aW9uT2JqZWN0KTogU2VtYW50aWNEYXRlQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKCFpc0VtcHR5T2JqZWN0KGNvbmRpdGlvbikpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGhpZ2g6IGNvbmRpdGlvbi52YWx1ZXNbMF0gIT09IHVuZGVmaW5lZCAmJiBjb25kaXRpb24udmFsdWVzWzBdICE9PSBudWxsID8gKGNvbmRpdGlvbi52YWx1ZXNbMF0gYXMgc3RyaW5nKSA6IG51bGwsXG5cdFx0XHRcdGxvdzogY29uZGl0aW9uLnZhbHVlc1sxXSAhPT0gdW5kZWZpbmVkICYmIGNvbmRpdGlvbi52YWx1ZXNbMV0gIT09IG51bGwgPyAoY29uZGl0aW9uLnZhbHVlc1sxXSBhcyBzdHJpbmcpIDogbnVsbCxcblx0XHRcdFx0b3BlcmF0b3I6IGNvbmRpdGlvbi5vcGVyYXRvclxuXHRcdFx0fTtcblx0XHR9XG5cdH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IHN0YXRlRmlsdGVyVG9TZWxlY3Rpb25WYXJpYW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0VBZ0JBLE1BQU1BLDZCQUE2QixHQUFHO0lBQ3JDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0NDLGlDQUFpQyxFQUFFLFNBQUFBLENBQ2xDQyxnQkFBK0QsRUFDL0RDLGNBQThCLEVBQzlCQyxNQUFpQixFQUNFO01BQ25CLE1BQU1DLGdCQUFnQixHQUFHLElBQUlDLGdCQUFnQixDQUFDLENBQUM7TUFDL0MsSUFBSSxDQUFDQyxhQUFhLENBQUNMLGdCQUFnQixDQUFDLEVBQUU7UUFDckMsS0FBSyxNQUFNTSxTQUFTLElBQUlOLGdCQUFnQixFQUFFO1VBQ3pDLE1BQU1PLG9CQUFvQixHQUFHUCxnQkFBZ0IsQ0FBQ00sU0FBUyxDQUFDO1VBQ3hELElBQUlDLG9CQUFvQixFQUFFQyxNQUFNLEVBQUU7WUFDakMsTUFBTUMsYUFBYSxHQUFHWCw2QkFBNkIsQ0FBQ1ksZ0NBQWdDLENBQ25GSCxvQkFBb0IsRUFDcEJELFNBQVMsRUFDVEwsY0FDRCxDQUFDO1lBQ0QsSUFBSVEsYUFBYSxDQUFDRCxNQUFNLEVBQUU7Y0FDekIsTUFBTUcsa0JBQWtCLEdBQUdMLFNBQVMsQ0FBQ00sT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7Y0FDMUQ7Y0FDQSxJQUFJVixNQUFNLEVBQUVXLFFBQVEsQ0FBQ1AsU0FBUyxDQUFDLEVBQUU7Z0JBQ2hDO2dCQUNBSCxnQkFBZ0IsQ0FBQ1csbUJBQW1CLENBQUMs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
@@ -268,6 +268,7 @@ const stateFilterToSelectionVariant = {
268
268
  case "LE":
269
269
  case "LT":
270
270
  case "GT":
271
+ case "GE":
271
272
  case "EQ":
272
273
  selectOptionState.Option = operator;
273
274
  break;
@@ -75,7 +75,20 @@ M_COMMON_TABLE_FULLSCREEN_CLOSE=Close
75
75
  M_COMMON_TABLE_CONTEXT_MENU_OPEN_IN_NEW_TAB=Open in New Tab or Window
76
76
 
77
77
  # XMSG,150
78
- T_TABLE_NAVIGATION_TOO_MANY_ITEMS_SELECTED=You can only open up to {0} items at the same time.
78
+ T_TABLE_NAVIGATION_TOO_MANY_ITEMS_SELECTED=You''ve exceeded the number of objects that can be opened at the same time (maximum: {0}).
79
+
80
+ # XMSG,200: Confirmation dialog when multiple items are selected for navigation and some of them are not navigable
81
+ T_TABLE_NAVIGATION_NOT_ALL_ITEMS_NAVIGABLE_SINGULAR=You can''t navigate to all the selected objects.\n\
82
+ Selected: {0}.\n\
83
+ Available: {1} (limit: {2}).\n\
84
+ Do you still want to open the available object?
85
+
86
+ # XMSG,200: Confirmation dialog when multiple items are selected for navigation and some of them are not navigable
87
+ T_TABLE_NAVIGATION_NOT_ALL_ITEMS_NAVIGABLE_PLURAL=You can''t navigate to all the selected objects.\n\
88
+ Selected: {0}.\n\
89
+ Available: {1} (limit: {2}).\n\
90
+ Do you still want to open the available objects?
91
+
79
92
 
80
93
  # XBUT, 100: Context menu item for sharing table lineitem in SAP Collaboration Manager
81
94
  M_COMMON_TABLE_CONTEXT_MENU_SHARE_TO_COLLABORATION_MANAGER=Share to SAP Collaboration Manager
@@ -440,7 +453,7 @@ SUMMARIZE=Summarize
440
453
 
441
454
  # ------------------------ Error explanation --------------------
442
455
  # XBUT: Link for triggering the error explanation
443
- C_GENERATE_EXPLANATION=Generate Explanation
456
+ C_GENERATE_EXPLANATION=Explain
444
457
 
445
458
  # ------------------------ COLLABORATION MANAGER --------------------
446
459
  # XBUT,30: Text for send button to collaboration manager
@@ -816,13 +829,13 @@ C_EASYEDIT_REMAINING_CHARACTERS={0} characters remaining
816
829
  C_EASYEDIT_DIALOG_NO_ENTRIES_TITLE=No fields filled in
817
830
 
818
831
  # XMSG: Description shown under the illustrated message when everything is working correctly, but no fields were identified based on the prompt, so no fields could be filled in
819
- C_EASYEDIT_DIALOG_NO_ENTRIES_DESCRIPTION=We couldn''t match your query to any of the existing fields.
832
+ C_EASYEDIT_DIALOG_NO_ENTRIES_DESCRIPTION=We couldn\u2019t match your query to any of the existing fields.
820
833
 
821
834
  # XMSG: Title shown under the illustrated message when the system isn't working correctly
822
835
  C_EASYEDIT_DIALOG_ERROR_TITLE=Unable to fill in the fields
823
836
 
824
837
  # XMSG: Description shown under the illustrated message when the system isn't working correctly
825
- C_EASYEDIT_DIALOG_ERROR_DESCRIPTION=It looks like an error occurred. Try again and if that doesn''t help, check with your administrator.
838
+ C_EASYEDIT_DIALOG_ERROR_DESCRIPTION=It looks like an error occurred. Try again and if that doesn\u2019t help, check with your administrator.
826
839
 
827
840
  # XMSG: Warning message that is shown when some fields were filled in correctly, but further fields were found that couldn't be filled in for the reasons given in the message itself
828
841
  C_EASYEDIT_DIALOG_WARNING_MSG=The fields couldn't be filled in. This could be because they are read-only fields or because you're not authorized to change them.
@@ -843,3 +856,10 @@ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}: {1}
843
856
 
844
857
  # XTIT: Title for first breadcrumb in the Ariba application
845
858
  T_APP_HOME=Home
859
+
860
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=The content isn't available for pasting anymore. Check if the original placement is expanded and visible.
861
+
862
+ # XFLD: Text for the Yes option in the RadioButtonGroup when editing a boolean field
863
+ T_RADIOBUTTONS_BOOLEAN_YES=Yes
864
+ # XFLD: Text for the No option in the RadioButtonGroup when editing a boolean field
865
+ T_RADIOBUTTONS_BOOLEAN_NO=No
@@ -125,7 +125,7 @@ C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=\u062A\u0645 \u062D\u0641\u0638 \u0627\u06
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
 
128
- C_MASS_EDIT_NO_CHANGE=\u0644\u0645 \u062A\u062D\u062F\u062B \u0623\u064A \u062A\u063A\u064A\u064A\u0631\u0627\u062A.
128
+ C_MASS_EDIT_NO_CHANGE=\u0644\u0645 \u062A\u0642\u0645 \u0628\u0625\u062C\u0631\u0627\u0621 \u0623\u064A \u062A\u063A\u064A\u064A\u0631\u0627\u062A.
129
129
 
130
130
  C_MASS_EDIT_DESIGN_DIALOG_TITLE=\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0627\u0644\u0639\u0631\u0636
131
131
 
@@ -288,7 +288,7 @@ POPOVER_CONTACT_SECTION_ADR=\u0627\u0644\u0639\u0646\u0648\u0627\u0646
288
288
 
289
289
  SUMMARIZE=\u062A\u0644\u062E\u064A\u0635
290
290
 
291
- C_GENERATE_EXPLANATION=\u0625\u0646\u0634\u0627\u0621 \u062A\u0648\u0636\u064A\u062D
291
+ C_GENERATE_EXPLANATION=\u0634\u0631\u062D
292
292
 
293
293
  C_SEND_TO_COLLABORATION_MANAGER=\u0625\u0631\u0633\u0627\u0644
294
294
 
@@ -567,3 +567,9 @@ C_EASYEDIT_THUMBS_DOWN=\u0625\u0628\u0647\u0627\u0645 \u0644\u0623\u0633\u0641\u
567
567
  C_EASYEDIT_FEEDBACK_SENT=\u062A\u0645 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0645\u0644\u0627\u062D\u0638\u0627\u062A
568
568
 
569
569
  C_EASYEDIT_VH_ERROR=\u0627\u0644\u0642\u064A\u0645\u0629 "{0}" \u063A\u064A\u0631 \u0645\u0648\u062C\u0648\u062F\u0629.
570
+
571
+ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}\: {1}
572
+
573
+ T_APP_HOME=\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629
574
+
575
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=\u0627\u0644\u0645\u062D\u062A\u0648\u0649 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631 \u0644\u0644\u0635\u0642 \u0628\u0639\u062F. \u062A\u062D\u0642\u0642 \u0645\u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u0648\u0636\u0639 \u0627\u0644\u0623\u0635\u0644\u064A \u0645\u0648\u0633\u0639\u064B\u0627 \u0648\u0645\u0631\u0626\u064A\u064B\u0627.
@@ -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=\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.
278
+ M_ROW_LEVEL_NAVIGATION_DISABLED_MSG_REASON_EXTERNAL_NAVIGATION_CONFIGURED=\u0414\u0438\u0440\u0435\u043A\u0442\u043D\u0430\u0442\u0430 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043A\u044A\u043C \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u0438\u0442\u0435 \u0434\u0430\u043D\u043D\u0438 \u043D\u0430 \u043E\u0431\u0435\u043A\u0442\u0430 \u043D\u0435 \u0435 \u0432\u044A\u0437\u043C\u043E\u0436\u043D\u0430 \u043E\u0442 \u0442\u0430\u0437\u0438 \u043A\u0430\u0440\u0442\u0430 \u043D\u0430 \u0430\u043D\u0430\u043B\u0438\u0437\u0438.
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
@@ -288,7 +288,7 @@ POPOVER_CONTACT_SECTION_ADR=\u0410\u0434\u0440\u0435\u0441
288
288
 
289
289
  SUMMARIZE=\u041E\u0431\u043E\u0431\u0449\u0435\u043D\u0438\u0435
290
290
 
291
- C_GENERATE_EXPLANATION=\u0413\u0435\u043D\u0435\u0440\u0438\u0440\u0430\u043D\u0435 \u043D\u0430 \u043E\u0431\u044F\u0441\u043D\u0435\u043D\u0438\u0435
291
+ C_GENERATE_EXPLANATION=\u041E\u0431\u044F\u0441\u043D\u0435\u043D\u0438\u0435
292
292
 
293
293
  C_SEND_TO_COLLABORATION_MANAGER=\u0418\u0437\u043F\u0440\u0430\u0449\u0430\u043D\u0435
294
294
 
@@ -567,3 +567,9 @@ C_EASYEDIT_THUMBS_DOWN=\u041F\u0430\u043B\u0435\u0446 \u043D\u0430\u0434\u043E\u
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
568
 
569
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.
570
+
571
+ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}\: {1}
572
+
573
+ T_APP_HOME=Home
574
+
575
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=\u0421\u044A\u0434\u044A\u0440\u0436\u0430\u043D\u0438\u0435\u0442\u043E \u0432\u0435\u0447\u0435 \u043D\u0435 \u0435 \u043D\u0430\u043B\u0438\u0447\u043D\u043E \u0437\u0430 \u0432\u043C\u044A\u043A\u0432\u0430\u043D\u0435. \u041F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u043B\u0438 \u043E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u043D\u043E\u0442\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u044F\u043D\u0435 \u0435 \u0440\u0430\u0437\u0433\u044A\u0440\u043D\u0430\u0442\u043E \u0438 \u0432\u0438\u0434\u0438\u043C\u043E.
@@ -125,7 +125,7 @@ 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 heu fet modificacions.
128
+ C_MASS_EDIT_NO_CHANGE=No heu fet cap modificaci\u00F3.
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'an\u00E0lisi.
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'informaci\u00F3.
279
279
 
280
280
 
281
281
  POPOVER_CONTACT_SECTION_JOBTITLE=Nom del lloc de treball
@@ -288,7 +288,7 @@ POPOVER_CONTACT_SECTION_ADR=Adre\u00E7a
288
288
 
289
289
  SUMMARIZE=Resumir
290
290
 
291
- C_GENERATE_EXPLANATION=Generar explicaci\u00F3
291
+ C_GENERATE_EXPLANATION=Explicar
292
292
 
293
293
  C_SEND_TO_COLLABORATION_MANAGER=Enviar
294
294
 
@@ -550,11 +550,11 @@ C_EASYEDIT_REMAINING_CHARACTERS={0} car\u00E0cters restants
550
550
 
551
551
  C_EASYEDIT_DIALOG_NO_ENTRIES_TITLE=Cap camp omplert a
552
552
 
553
- C_EASYEDIT_DIALOG_NO_ENTRIES_DESCRIPTION=No hem pogut fer coincidir la vostra consulta amb cap dels camps existents.
553
+ C_EASYEDIT_DIALOG_NO_ENTRIES_DESCRIPTION=No hem pogut fer cap coincid\u00E8ncia de la vostra consulta amb cap dels camps existents.
554
554
 
555
555
  C_EASYEDIT_DIALOG_ERROR_TITLE=No es poden omplir els camps
556
556
 
557
- C_EASYEDIT_DIALOG_ERROR_DESCRIPTION=Sembla que s'ha produ\u00EFt un error. Intenteu-ho de nou si no es soluciona i verifiqueu-ho amb el vostre administrador.
557
+ C_EASYEDIT_DIALOG_ERROR_DESCRIPTION=Sembla que s'ha produ\u00EFt un error. Intenteu-ho de nou i, si no se soluciona, poseu-vos en contacte amb l'administrador.
558
558
 
559
559
  C_EASYEDIT_DIALOG_WARNING_MSG=No s'han pogut emplenar els camps. Aix\u00F2 pot ser degut a que s\u00F3n de nom\u00E9s lectura o perqu\u00E8 no esteu autoritzats per a modificar-los.
560
560
 
@@ -567,3 +567,9 @@ C_EASYEDIT_THUMBS_DOWN=Polzes avall per a Easy Fill
567
567
  C_EASYEDIT_FEEDBACK_SENT=Comentaris enviats
568
568
 
569
569
  C_EASYEDIT_VH_ERROR=El valor "{0}" no existeix.
570
+
571
+ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}\: {1}
572
+
573
+ T_APP_HOME=P\u00E0gina d'inici
574
+
575
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=El contingut ja no est\u00E0 disponible per a la c\u00F2pia. Comproveu si s'ha expandit la ubicaci\u00F3 original i si \u00E9s visible.
@@ -288,7 +288,7 @@ POPOVER_CONTACT_SECTION_ADR=Adresa
288
288
 
289
289
  SUMMARIZE=Sa\u017Emi
290
290
 
291
- C_GENERATE_EXPLANATION=Generi\u0161i obja\u0161njenje
291
+ C_GENERATE_EXPLANATION=Objasni
292
292
 
293
293
  C_SEND_TO_COLLABORATION_MANAGER=Po\u0161alji
294
294
 
@@ -554,7 +554,7 @@ C_EASYEDIT_DIALOG_NO_ENTRIES_DESCRIPTION=Nijesmo mogli da pove\u017Eemo va\u0161
554
554
 
555
555
  C_EASYEDIT_DIALOG_ERROR_TITLE=Popunjavanje polja nije mogu\u0107e
556
556
 
557
- C_EASYEDIT_DIALOG_ERROR_DESCRIPTION=Izgleda da je do\u0161lo do gre\u0161ke. Poku\u0161ajte ponovo i ako to ne pomogne, obratite se administratoru.
557
+ C_EASYEDIT_DIALOG_ERROR_DESCRIPTION=Izgleda da je do\u0161lo do gre\u0161ke. Poku\u0161ajte ponovo, a ako to ne pomogne, obratite se administratoru.
558
558
 
559
559
  C_EASYEDIT_DIALOG_WARNING_MSG=Polja se ne mogu popuniti. To mo\u017Ee biti zato \u0161to su ona polja samo za \u010Ditanje ili zato \u0161to nemate ovla\u0161\u0107enje da ih promijenite.
560
560
 
@@ -567,3 +567,9 @@ C_EASYEDIT_THUMBS_DOWN=Negativna ocjena za lako popunjavanje
567
567
  C_EASYEDIT_FEEDBACK_SENT=Povratne informacije su poslate
568
568
 
569
569
  C_EASYEDIT_VH_ERROR=Vrijednost \u201E{0}\u201C ne postoji.
570
+
571
+ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}\: {1}
572
+
573
+ T_APP_HOME=Home
574
+
575
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=Sadr\u017Eaj vi\u0161e nije dostupan za lijepljenje. Provjerite da li je originalni polo\u017Eaj pro\u0161iren i vidljiv.
@@ -288,7 +288,7 @@ POPOVER_CONTACT_SECTION_ADR=Adresa
288
288
 
289
289
  SUMMARIZE=Shrnout
290
290
 
291
- C_GENERATE_EXPLANATION=Generovat vysv\u011Btlen\u00ED
291
+ C_GENERATE_EXPLANATION=Vysv\u011Btlit
292
292
 
293
293
  C_SEND_TO_COLLABORATION_MANAGER=Odeslat
294
294
 
@@ -567,3 +567,9 @@ C_EASYEDIT_THUMBS_DOWN=Palce dol\u016F pro snadn\u00E9 vypln\u011Bn\u00ED
567
567
  C_EASYEDIT_FEEDBACK_SENT=Zp\u011Btn\u00E1 vazba byla odesl\u00E1na
568
568
 
569
569
  C_EASYEDIT_VH_ERROR=Hodnota "{0}" neexistuje.
570
+
571
+ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}\: {1}
572
+
573
+ T_APP_HOME=Dom\u016F
574
+
575
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=Obsah ji\u017E nen\u00ED pro vkl\u00E1d\u00E1n\u00ED dostupn\u00FD. Zkontrolujte, zda je p\u016Fvodn\u00ED um\u00EDst\u011Bn\u00ED rozbaleno a viditeln\u00E9.
@@ -125,7 +125,7 @@ C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=Mae eich newidiadau wedi'u cadw.
125
125
 
126
126
  C_MASS_EDIT_CHANGES_WITH_ERROR=Wedi diweddaru {0} o {1} gwrthrych.
127
127
 
128
- C_MASS_EDIT_NO_CHANGE=Dydych chi ddim wedi gwneud unrhyw newidiadau.
128
+ C_MASS_EDIT_NO_CHANGE=Dydych chi ddim wedi newid dim.
129
129
 
130
130
  C_MASS_EDIT_DESIGN_DIALOG_TITLE=Gweld Gosodiadau
131
131
 
@@ -288,7 +288,7 @@ POPOVER_CONTACT_SECTION_ADR=Cyfeiriad
288
288
 
289
289
  SUMMARIZE=Crynhoi
290
290
 
291
- C_GENERATE_EXPLANATION=Creu Esboniad
291
+ C_GENERATE_EXPLANATION=Egluro
292
292
 
293
293
  C_SEND_TO_COLLABORATION_MANAGER=Anfon
294
294
 
@@ -566,4 +566,10 @@ C_EASYEDIT_THUMBS_DOWN=Bawd i lawr er mwyn llenwi'n rhwydd
566
566
 
567
567
  C_EASYEDIT_FEEDBACK_SENT=Wedi anfon adborth
568
568
 
569
- C_EASYEDIT_VH_ERROR=Dydy gwerth "{0}" ddim yn bodoli.
569
+ C_EASYEDIT_VH_ERROR=Dydy''r gwerth "{0}" ddim yn bodoli.
570
+
571
+ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}\: {1}
572
+
573
+ T_APP_HOME=Hafan
574
+
575
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=Nid yw'r cynnwys ar gael i'w ludo mwyach. Gwiriwch a yw'r lleoliad gwreiddiol wedi'i ehangu a'i fod yn weladwy.
@@ -125,7 +125,7 @@ C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=Dine \u00E6ndringer blev gemt.
125
125
 
126
126
  C_MASS_EDIT_CHANGES_WITH_ERROR={0} af {1} objekter opdateret.
127
127
 
128
- C_MASS_EDIT_NO_CHANGE=Du har ikke foretaget nogen \u00E6ndringer.
128
+ C_MASS_EDIT_NO_CHANGE=Ingen \u00E6ndringer foretaget.
129
129
 
130
130
  C_MASS_EDIT_DESIGN_DIALOG_TITLE=Vis indstillinger
131
131
 
@@ -288,7 +288,7 @@ POPOVER_CONTACT_SECTION_ADR=Adresse
288
288
 
289
289
  SUMMARIZE=Lav sammendrag
290
290
 
291
- C_GENERATE_EXPLANATION=Generer forklaring
291
+ C_GENERATE_EXPLANATION=Forklar
292
292
 
293
293
  C_SEND_TO_COLLABORATION_MANAGER=Send
294
294
 
@@ -567,3 +567,9 @@ C_EASYEDIT_THUMBS_DOWN=Tommelfinger ned til den nemme udfyldning
567
567
  C_EASYEDIT_FEEDBACK_SENT=Feedback sendt
568
568
 
569
569
  C_EASYEDIT_VH_ERROR=V\u00E6rdien "{0}" findes ikke.
570
+
571
+ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}\: {1}
572
+
573
+ T_APP_HOME=Hjem
574
+
575
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=Indholdet er ikke l\u00E6ngere tilg\u00E6ngeligt til inds\u00E6tning. Kontroller, om den oprindelige placering er udvidet og synlig.
@@ -81,7 +81,7 @@ M_MESSAGESTRIP_EMPTYROW_MANDATORY_HIDDEN_PLURAL=Die Tabelle enth\u00E4lt Fehler.
81
81
 
82
82
  M_TABLE_EMPTYROW_MANDATORY={0} ist ein Mussfeld (*).
83
83
 
84
- 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.
84
+ M_TABLE_EMPTYROW_MANDATORY_HIDDEN={0} ist ein Mussfeld (*), aber dieses Feld wird nicht in der Tabelle angezeigt. Bitte f\u00FCgen Sie es \u00FCber den Button "Einstellungen" hinzu.
85
85
 
86
86
  HEADER_FORM_LABEL={0}\:
87
87
 
@@ -125,7 +125,7 @@ C_OBJECT_PAGE_MASS_EDIT_SUCCESS_TOAST=Ihre \u00C4nderungen wurden gesichert.
125
125
 
126
126
  C_MASS_EDIT_CHANGES_WITH_ERROR={0} von {1} Objekten aktualisiert.
127
127
 
128
- C_MASS_EDIT_NO_CHANGE=You haven''t made any changes.
128
+ C_MASS_EDIT_NO_CHANGE=Sie haben keine \u00C4nderungen vorgenommen.
129
129
 
130
130
  C_MASS_EDIT_DESIGN_DIALOG_TITLE=Ansichtseinstellungen
131
131
 
@@ -133,7 +133,7 @@ C_MASS_EDIT_DESIGN_CONFIGURATION=Konfiguration
133
133
 
134
134
 
135
135
 
136
- M_KEYBOARD_SHORTCUT_CREATE_WIN=STRG+Enter
136
+ M_KEYBOARD_SHORTCUT_CREATE_WIN=Strg+Enter
137
137
 
138
138
  M_KEYBOARD_SHORTCUT_CREATE_MAC=CMD+Enter
139
139
 
@@ -275,7 +275,7 @@ M_CARD_FAILURE_TABLE_REASON_UNSUPPORTED_COLUMNS=Es wird mindestens eine textbasi
275
275
 
276
276
  M_CARD_CREATION_FAILURE_CHART_REASON_DATE_RANGE_FILTERS=Die Karte kann nicht angelegt werden. Bitte versuchen Sie es erneut, nachdem Sie sichergestellt haben, dass keine relativen Datumsfilter (wie "Gestern") verwendet werden.
277
277
 
278
- M_ROW_LEVEL_NAVIGATION_DISABLED_MSG_REASON_EXTERNAL_NAVIGATION_CONFIGURED=Direct navigation to the object details isn''t possible from this insights card.
278
+ M_ROW_LEVEL_NAVIGATION_DISABLED_MSG_REASON_EXTERNAL_NAVIGATION_CONFIGURED=Von dieser Karte f\u00FCr Analysen aus ist keine direkte Navigation zu den Objektdetails m\u00F6glich.
279
279
 
280
280
 
281
281
  POPOVER_CONTACT_SECTION_JOBTITLE=Position
@@ -288,7 +288,7 @@ POPOVER_CONTACT_SECTION_ADR=Adresse
288
288
 
289
289
  SUMMARIZE=Zusammenfassen
290
290
 
291
- C_GENERATE_EXPLANATION=Erkl\u00E4rung generieren
291
+ C_GENERATE_EXPLANATION=Erkl\u00E4ren
292
292
 
293
293
  C_SEND_TO_COLLABORATION_MANAGER=Senden
294
294
 
@@ -338,7 +338,7 @@ M_EASY_FILTER_FILTER_MODE_AI=SAP Business AI
338
338
  M_EASY_FILTER_FILTER_MODE_CLASSIC=Klassisch
339
339
  M_EASY_FILTER_NOTICE=Durch promptbasiertes Filtern werden v\u00F6llig neue Filterkriterien angelegt. Der generierte Inhalt ist m\u00F6glicherweise nicht immer korrekt. \u00DCberpr\u00FCfen Sie ihn daher.
340
340
  M_EASY_FILTER_GO=Start
341
- 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".
341
+ M_EASY_FILTER_PLACEHOLDER=Geben Sie zur Suche entweder Ihre Anfrage in nat\u00FCrlicher Sprache ein, um die Liste zu filtern, oder geben Sie IDs in Anf\u00FChrungszeichen ein, z.B. "123456".
342
342
  M_EASY_FILTER_SHOW_RESULTS_FOR=Ergebnisse werden angezeigt f\u00FCr\:
343
343
  M_EASY_FILTER_MANDATORY_FILTER_SINGULAR={0} ist ein obligatorischer Filter.
344
344
  M_EASY_FILTER_MANDATORY_FILTER_PLURAL={0} sind obligatorische Filter.
@@ -554,7 +554,7 @@ C_EASYEDIT_DIALOG_NO_ENTRIES_DESCRIPTION=Ihre Anfrage konnte keinem der vorhande
554
554
 
555
555
  C_EASYEDIT_DIALOG_ERROR_TITLE=Felder konnten nicht ausgef\u00FCllt werden
556
556
 
557
- C_EASYEDIT_DIALOG_ERROR_DESCRIPTION=Es scheint als w\u00E4re ein Fehler aufgetreten. Versuchen Sie es bitte erneut. Wenn das nicht hilft, fragen Sie Ihren Administrator.
557
+ C_EASYEDIT_DIALOG_ERROR_DESCRIPTION=Leider ist ein Fehler aufgetreten. Versuchen Sie es bitte erneut. Wenn das nicht hilft, fragen Sie Ihren Administrator.
558
558
 
559
559
  C_EASYEDIT_DIALOG_WARNING_MSG=Die Felder konnten nicht ausgef\u00FCllt werden. Das kann daran liegen, dass die Felder schreibgesch\u00FCtzt sind, oder daran, dass Sie keine Berechtigung zum \u00C4ndern der Felder haben.
560
560
 
@@ -567,3 +567,9 @@ C_EASYEDIT_THUMBS_DOWN=Daumen runter f\u00FCr Einfaches Ausf\u00FCllen
567
567
  C_EASYEDIT_FEEDBACK_SENT=Feedback wurde gesendet
568
568
 
569
569
  C_EASYEDIT_VH_ERROR=Der Wert "{0}" ist nicht vorhanden.
570
+
571
+ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}\: {1}
572
+
573
+ T_APP_HOME=Startseite
574
+
575
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=Der Inhalt ist nicht mehr zum Einf\u00FCgen verf\u00FCgbar. Pr\u00FCfen Sie, ob er am ursp\u00FCnglichen Ort expandiert und sichtbar ist.
@@ -288,7 +288,7 @@ POPOVER_CONTACT_SECTION_ADR=\u0394\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03
288
288
 
289
289
  SUMMARIZE=\u03A3\u03CD\u03BD\u03BF\u03C8\u03B7
290
290
 
291
- C_GENERATE_EXPLANATION=\u0394\u03B7\u03BC\u03B9\u03BF\u03C5\u03C1\u03B3\u03AF\u03B1 \u0395\u03C0\u03B5\u03BE\u03AE\u03B3\u03B7\u03C3\u03B7\u03C2
291
+ C_GENERATE_EXPLANATION=\u0395\u03C0\u03B5\u03BE\u03AE\u03B3\u03B7\u03C3\u03B7
292
292
 
293
293
  C_SEND_TO_COLLABORATION_MANAGER=\u0391\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE
294
294
 
@@ -567,3 +567,9 @@ C_EASYEDIT_THUMBS_DOWN=\u0394\u03B5\u03BD \u03BC\u03BF\u03C5 \u03B1\u03C1\u03AD\
567
567
  C_EASYEDIT_FEEDBACK_SENT=\u03A3\u03C7\u03CC\u03BB\u03B9\u03BF \u03B5\u03C3\u03C4\u03AC\u03BB\u03B7
568
568
 
569
569
  C_EASYEDIT_VH_ERROR=\u03A4\u03B9\u03BC\u03AE "{0}" \u03B4\u03B5\u03BD \u03C5\u03C0\u03AC\u03C1\u03C7\u03B5\u03B9.
570
+
571
+ T_BREADCRUMBS_TITLE_LONG_TEMPLATE={0}\: {1}
572
+
573
+ T_APP_HOME=\u0391\u03C1\u03C7\u03B9\u03BA\u03AE \u03A3\u03B5\u03BB\u03AF\u03B4\u03B1
574
+
575
+ M_PASTABLE_CONTEXTS_NOT_AVAILABLE=\u03A4\u03BF \u03C0\u03B5\u03C1\u03B9\u03B5\u03C7\u03CC\u03BC\u03B5\u03BD\u03BF \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BB\u03AD\u03BF\u03BD \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03BF \u03B3\u03B9\u03B1 \u03B1\u03BD\u03AC\u03BB\u03C5\u03C3\u03B7. \u0395\u03BB\u03AD\u03B3\u03BE\u03C4\u03B5 \u03B1\u03BD \u03B7 \u03B1\u03C1\u03C7\u03B9\u03BA\u03AE \u03C4\u03BF\u03C0\u03BF\u03B8\u03AD\u03C4\u03B7\u03C3\u03B7 \u03B5\u03C0\u03B5\u03BA\u03C4\u03AC\u03B8\u03B7\u03BA\u03B5 \u03BA\u03B1\u03B9 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BF\u03C1\u03B1\u03C4\u03AE.